@dxc-technology/halstack-react 0.0.0-e201636 → 0.0.0-e2a3793

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 (118) hide show
  1. package/accordion/Accordion.stories.tsx +1 -1
  2. package/accordion/types.d.ts +1 -1
  3. package/accordion-group/AccordionGroup.js +1 -0
  4. package/accordion-group/types.d.ts +1 -1
  5. package/bleed/Bleed.js +1 -34
  6. package/bleed/Bleed.stories.tsx +94 -95
  7. package/bleed/types.d.ts +1 -1
  8. package/bulleted-list/BulletedList.d.ts +7 -0
  9. package/bulleted-list/BulletedList.js +123 -0
  10. package/bulleted-list/BulletedList.stories.tsx +200 -0
  11. package/bulleted-list/types.d.ts +11 -0
  12. package/{list → bulleted-list}/types.js +0 -0
  13. package/button/Button.js +43 -61
  14. package/button/Button.stories.tsx +9 -0
  15. package/button/types.d.ts +7 -7
  16. package/card/Card.js +34 -36
  17. package/chip/types.d.ts +1 -1
  18. package/common/variables.js +48 -14
  19. package/date-input/DateInput.js +3 -3
  20. package/dialog/Dialog.js +52 -28
  21. package/dialog/Dialog.stories.tsx +1 -2
  22. package/dialog/Dialog.test.js +34 -4
  23. package/dialog/types.d.ts +2 -2
  24. package/dropdown/Dropdown.d.ts +1 -1
  25. package/dropdown/Dropdown.js +242 -246
  26. package/dropdown/Dropdown.stories.tsx +126 -63
  27. package/dropdown/Dropdown.test.js +510 -108
  28. package/dropdown/DropdownMenu.d.ts +4 -0
  29. package/dropdown/DropdownMenu.js +80 -0
  30. package/dropdown/DropdownMenuItem.d.ts +4 -0
  31. package/dropdown/DropdownMenuItem.js +92 -0
  32. package/dropdown/types.d.ts +25 -5
  33. package/flex/Flex.d.ts +4 -0
  34. package/flex/Flex.js +57 -0
  35. package/flex/Flex.stories.tsx +103 -0
  36. package/flex/types.d.ts +21 -0
  37. package/{row → flex}/types.js +0 -0
  38. package/footer/Icons.js +1 -1
  39. package/footer/types.d.ts +1 -1
  40. package/header/Header.js +74 -72
  41. package/header/Icons.js +2 -2
  42. package/header/types.d.ts +2 -2
  43. package/inset/Inset.js +1 -34
  44. package/inset/Inset.stories.tsx +36 -36
  45. package/inset/types.d.ts +1 -1
  46. package/layout/ApplicationLayout.d.ts +15 -6
  47. package/layout/ApplicationLayout.js +37 -65
  48. package/layout/ApplicationLayout.stories.tsx +79 -44
  49. package/layout/types.d.ts +17 -27
  50. package/link/Link.js +1 -1
  51. package/link/Link.stories.tsx +13 -6
  52. package/link/types.d.ts +1 -1
  53. package/main.d.ts +5 -8
  54. package/main.js +28 -52
  55. package/package.json +8 -7
  56. package/paginator/Paginator.test.js +42 -0
  57. package/paragraph/Paragraph.d.ts +6 -0
  58. package/paragraph/Paragraph.js +38 -0
  59. package/paragraph/Paragraph.stories.tsx +44 -0
  60. package/progress-bar/ProgressBar.d.ts +2 -2
  61. package/progress-bar/ProgressBar.js +56 -50
  62. package/progress-bar/ProgressBar.stories.jsx +3 -1
  63. package/progress-bar/ProgressBar.test.js +67 -22
  64. package/progress-bar/types.d.ts +3 -4
  65. package/quick-nav/QuickNav.js +21 -15
  66. package/quick-nav/QuickNav.stories.tsx +41 -14
  67. package/radio-group/RadioGroup.js +13 -14
  68. package/resultsetTable/ResultsetTable.test.js +42 -0
  69. package/select/Listbox.d.ts +1 -1
  70. package/select/Listbox.js +54 -7
  71. package/select/Select.js +41 -43
  72. package/select/Select.stories.tsx +131 -98
  73. package/select/Select.test.js +105 -50
  74. package/select/types.d.ts +2 -5
  75. package/sidenav/Sidenav.d.ts +6 -5
  76. package/sidenav/Sidenav.js +176 -55
  77. package/sidenav/Sidenav.stories.tsx +154 -156
  78. package/sidenav/Sidenav.test.js +25 -37
  79. package/sidenav/types.d.ts +50 -27
  80. package/slider/Slider.js +3 -3
  81. package/slider/Slider.test.js +37 -0
  82. package/switch/Switch.d.ts +1 -1
  83. package/switch/Switch.js +110 -54
  84. package/switch/Switch.stories.tsx +8 -30
  85. package/switch/Switch.test.js +122 -8
  86. package/switch/types.d.ts +3 -4
  87. package/tabs/types.d.ts +1 -1
  88. package/tabs-nav/NavTabs.js +5 -5
  89. package/tabs-nav/Tab.js +3 -5
  90. package/tabs-nav/types.d.ts +1 -1
  91. package/tag/types.d.ts +1 -1
  92. package/text-input/TextInput.js +12 -21
  93. package/text-input/TextInput.stories.tsx +1 -2
  94. package/text-input/types.d.ts +1 -1
  95. package/toggle-group/types.d.ts +1 -1
  96. package/typography/Typography.d.ts +4 -0
  97. package/typography/Typography.js +131 -0
  98. package/typography/Typography.stories.tsx +198 -0
  99. package/typography/types.d.ts +18 -0
  100. package/{stack → typography}/types.js +0 -0
  101. package/wizard/Wizard.js +9 -16
  102. package/wizard/Wizard.stories.tsx +20 -1
  103. package/wizard/types.d.ts +5 -4
  104. package/list/List.d.ts +0 -4
  105. package/list/List.js +0 -47
  106. package/list/List.stories.tsx +0 -95
  107. package/list/types.d.ts +0 -7
  108. package/row/Row.d.ts +0 -3
  109. package/row/Row.js +0 -127
  110. package/row/Row.stories.tsx +0 -237
  111. package/row/types.d.ts +0 -28
  112. package/stack/Stack.d.ts +0 -3
  113. package/stack/Stack.js +0 -97
  114. package/stack/Stack.stories.tsx +0 -164
  115. package/stack/types.d.ts +0 -24
  116. package/text/Text.d.ts +0 -7
  117. package/text/Text.js +0 -30
  118. package/text/Text.stories.tsx +0 -19
package/main.js CHANGED
@@ -55,6 +55,12 @@ Object.defineProperty(exports, "DxcBox", {
55
55
  return _Box["default"];
56
56
  }
57
57
  });
58
+ Object.defineProperty(exports, "DxcBulletedList", {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _BulletedList["default"];
62
+ }
63
+ });
58
64
  Object.defineProperty(exports, "DxcButton", {
59
65
  enumerable: true,
60
66
  get: function get() {
@@ -103,16 +109,10 @@ Object.defineProperty(exports, "DxcFileInput", {
103
109
  return _FileInput["default"];
104
110
  }
105
111
  });
106
- Object.defineProperty(exports, "DxcFooter", {
107
- enumerable: true,
108
- get: function get() {
109
- return _Footer["default"];
110
- }
111
- });
112
- Object.defineProperty(exports, "DxcHeader", {
112
+ Object.defineProperty(exports, "DxcFlex", {
113
113
  enumerable: true,
114
114
  get: function get() {
115
- return _Header["default"];
115
+ return _Flex["default"];
116
116
  }
117
117
  });
118
118
  Object.defineProperty(exports, "DxcHeading", {
@@ -133,12 +133,6 @@ Object.defineProperty(exports, "DxcLink", {
133
133
  return _Link["default"];
134
134
  }
135
135
  });
136
- Object.defineProperty(exports, "DxcList", {
137
- enumerable: true,
138
- get: function get() {
139
- return _List["default"];
140
- }
141
- });
142
136
  Object.defineProperty(exports, "DxcNavTabs", {
143
137
  enumerable: true,
144
138
  get: function get() {
@@ -157,6 +151,12 @@ Object.defineProperty(exports, "DxcPaginator", {
157
151
  return _Paginator["default"];
158
152
  }
159
153
  });
154
+ Object.defineProperty(exports, "DxcParagraph", {
155
+ enumerable: true,
156
+ get: function get() {
157
+ return _Paragraph["default"];
158
+ }
159
+ });
160
160
  Object.defineProperty(exports, "DxcPasswordInput", {
161
161
  enumerable: true,
162
162
  get: function get() {
@@ -187,24 +187,12 @@ Object.defineProperty(exports, "DxcResultsetTable", {
187
187
  return _ResultsetTable["default"];
188
188
  }
189
189
  });
190
- Object.defineProperty(exports, "DxcRow", {
191
- enumerable: true,
192
- get: function get() {
193
- return _Row["default"];
194
- }
195
- });
196
190
  Object.defineProperty(exports, "DxcSelect", {
197
191
  enumerable: true,
198
192
  get: function get() {
199
193
  return _Select["default"];
200
194
  }
201
195
  });
202
- Object.defineProperty(exports, "DxcSidenav", {
203
- enumerable: true,
204
- get: function get() {
205
- return _Sidenav["default"];
206
- }
207
- });
208
196
  Object.defineProperty(exports, "DxcSlider", {
209
197
  enumerable: true,
210
198
  get: function get() {
@@ -217,12 +205,6 @@ Object.defineProperty(exports, "DxcSpinner", {
217
205
  return _Spinner["default"];
218
206
  }
219
207
  });
220
- Object.defineProperty(exports, "DxcStack", {
221
- enumerable: true,
222
- get: function get() {
223
- return _Stack["default"];
224
- }
225
- });
226
208
  Object.defineProperty(exports, "DxcSwitch", {
227
209
  enumerable: true,
228
210
  get: function get() {
@@ -247,12 +229,6 @@ Object.defineProperty(exports, "DxcTag", {
247
229
  return _Tag["default"];
248
230
  }
249
231
  });
250
- Object.defineProperty(exports, "DxcText", {
251
- enumerable: true,
252
- get: function get() {
253
- return _Text["default"];
254
- }
255
- });
256
232
  Object.defineProperty(exports, "DxcTextInput", {
257
233
  enumerable: true,
258
234
  get: function get() {
@@ -271,6 +247,12 @@ Object.defineProperty(exports, "DxcToggleGroup", {
271
247
  return _ToggleGroup["default"];
272
248
  }
273
249
  });
250
+ Object.defineProperty(exports, "DxcTypography", {
251
+ enumerable: true,
252
+ get: function get() {
253
+ return _Typography["default"];
254
+ }
255
+ });
274
256
  Object.defineProperty(exports, "DxcWizard", {
275
257
  enumerable: true,
276
258
  get: function get() {
@@ -310,10 +292,6 @@ var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
310
292
 
311
293
  var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
312
294
 
313
- var _Footer = _interopRequireDefault(require("./footer/Footer"));
314
-
315
- var _Header = _interopRequireDefault(require("./header/Header"));
316
-
317
295
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
318
296
 
319
297
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
@@ -332,8 +310,6 @@ var _Tag = _interopRequireDefault(require("./tag/Tag"));
332
310
 
333
311
  var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
334
312
 
335
- var _Sidenav = _interopRequireDefault(require("./sidenav/Sidenav"));
336
-
337
313
  var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
338
314
 
339
315
  var _Link = _interopRequireDefault(require("./link/Link"));
@@ -366,14 +342,6 @@ var _Select = _interopRequireDefault(require("./select/Select"));
366
342
 
367
343
  var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
368
344
 
369
- var _Stack = _interopRequireDefault(require("./stack/Stack"));
370
-
371
- var _Row = _interopRequireDefault(require("./row/Row"));
372
-
373
- var _Text = _interopRequireDefault(require("./text/Text"));
374
-
375
- var _List = _interopRequireDefault(require("./list/List"));
376
-
377
345
  var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
378
346
 
379
347
  var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
@@ -384,6 +352,14 @@ var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
384
352
 
385
353
  var _NavTabs = _interopRequireDefault(require("./tabs-nav/NavTabs"));
386
354
 
355
+ var _Flex = _interopRequireDefault(require("./flex/Flex"));
356
+
357
+ var _Typography = _interopRequireDefault(require("./typography/Typography"));
358
+
359
+ var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
360
+
361
+ var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
362
+
387
363
  var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
388
364
 
389
365
  var _BackgroundColorContext = require("./BackgroundColorContext");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "0.0.0-e201636",
3
+ "version": "0.0.0-e2a3793",
4
4
  "description": "DXC Halstack React components library",
5
5
  "repository": "dxc-technology/halstack-react",
6
6
  "homepage": "http://developer.dxc.com/tools/react",
@@ -13,8 +13,8 @@
13
13
  "main": "./main.js",
14
14
  "types": "./main.d.ts",
15
15
  "peerDependencies": {
16
- "react": "^17.0.1",
17
- "react-dom": "^17.0.1",
16
+ "react": "^18.2.0",
17
+ "react-dom": "^18.2.0",
18
18
  "styled-components": "^5.0.1"
19
19
  },
20
20
  "dependencies": {
@@ -24,6 +24,7 @@
24
24
  "@material-ui/lab": "4.0.0-alpha.17",
25
25
  "@material-ui/pickers": "3.2.2",
26
26
  "@material-ui/styles": "4.0.2",
27
+ "@radix-ui/react-popover": "^0.1.6",
27
28
  "@types/styled-components": "^5.1.24",
28
29
  "@types/uuid": "^8.3.4",
29
30
  "color": "^3.1.3",
@@ -55,9 +56,9 @@
55
56
  "@storybook/addon-links": "^6.4.9",
56
57
  "@storybook/react": "^6.4.9",
57
58
  "@storybook/testing-library": "0.0.7",
58
- "@testing-library/react": "^11.2.5",
59
+ "@testing-library/react": "^13.0.0",
59
60
  "@testing-library/user-event": "^12.6.3",
60
- "@types/react": "16.9.5",
61
+ "@types/react": "^18.0.18",
61
62
  "babel-jest": "^24.8.0",
62
63
  "babel-loader": "^8.0.6",
63
64
  "chromatic": "^6.3.3",
@@ -72,8 +73,8 @@
72
73
  "eslint-plugin-storybook": "^0.5.5",
73
74
  "identity-obj-proxy": "^3.0.0",
74
75
  "jest": "^25.5.4",
75
- "react": "^17.0.1",
76
- "react-dom": "^17.0.1",
76
+ "react": "^18.2.0",
77
+ "react-dom": "^18.2.0",
77
78
  "react-test-renderer": "^16.8.6",
78
79
  "storybook-addon-pseudo-states": "^1.0.0",
79
80
  "styled-components": "^5.0.1",
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
5
9
  var _react = _interopRequireDefault(require("react"));
6
10
 
7
11
  var _react2 = require("@testing-library/react");
@@ -10,6 +14,44 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
14
 
11
15
  var _Paginator = _interopRequireDefault(require("./Paginator"));
12
16
 
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+
20
+ global.ResizeObserver = /*#__PURE__*/function () {
21
+ function ResizeObserver(cb) {
22
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
23
+ this.cb = cb;
24
+ }
25
+
26
+ (0, _createClass2["default"])(ResizeObserver, [{
27
+ key: "observe",
28
+ value: function observe() {
29
+ this.cb([{
30
+ borderBoxSize: {
31
+ inlineSize: 0,
32
+ blockSize: 0
33
+ }
34
+ }]);
35
+ }
36
+ }, {
37
+ key: "unobserve",
38
+ value: function unobserve() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+
43
+ global.DOMRect = {
44
+ fromRect: function fromRect() {
45
+ return {
46
+ top: 0,
47
+ left: 0,
48
+ bottom: 0,
49
+ right: 0,
50
+ width: 0,
51
+ height: 0
52
+ };
53
+ }
54
+ };
13
55
  describe("Paginator component tests", function () {
14
56
  test("Paginator renders with default values", function () {
15
57
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], null)),
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ declare type ParagraphPropsType = {
3
+ children: React.ReactNode;
4
+ };
5
+ declare const Paragraph: ({ children }: ParagraphPropsType) => JSX.Element;
6
+ export default Paragraph;
@@ -0,0 +1,38 @@
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 _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _Typography = _interopRequireDefault(require("../typography/Typography"));
15
+
16
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
17
+
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var Paragraph = function Paragraph(_ref) {
25
+ var children = _ref.children;
26
+ var colorsTheme = (0, _useTheme["default"])();
27
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
28
+ return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
29
+ as: "p",
30
+ display: colorsTheme.paragraph.display,
31
+ fontSize: colorsTheme.paragraph.fontSize,
32
+ fontWeight: colorsTheme.paragraph.fontWeight,
33
+ color: backgroundType && backgroundType === "dark" ? colorsTheme.paragraph.fontColorOnDark : colorsTheme.paragraph.fontColor
34
+ }, children);
35
+ };
36
+
37
+ var _default = Paragraph;
38
+ exports["default"] = _default;
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import DxcParagraph from "./Paragraph";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+
8
+ export default {
9
+ title: "Paragraph",
10
+ component: DxcParagraph,
11
+ };
12
+
13
+ export const Chromatic = () => (
14
+ <>
15
+ <ExampleContainer>
16
+ <Title title="Default Paragraph" level={4} />
17
+ <DxcParagraph>
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id tortor sit amet velit auctor cursus id eget
19
+ nisl. Vivamus luctus egestas eros, at mattis libero eleifend ac. Integer vel urna rutrum, pretium arcu
20
+ dignissim, fringilla turpis. Nullam luctus odio quis magna finibus, a pharetra magna euismod. Nullam efficitur
21
+ semper pellentesque. Nulla eget arcu ac diam fringilla vehicula. In imperdiet nisl hendrerit, elementum metus
22
+ eu, ornare risus. Aenean neque nibh, vestibulum vitae elit vel, imperdiet suscipit leo. Curabitur blandit
23
+ iaculis pretium. Fusce id imperdiet dui, ut laoreet justo. Sed maximus sollicitudin ipsum, et varius massa
24
+ condimentum eget. Vivamus id mauris et nisl mattis consequat et id lectus. Quisque mollis lacinia nisl.
25
+ Suspendisse sed quam tincidunt, commodo dolor vel, tincidunt nisl.
26
+ </DxcParagraph>
27
+ </ExampleContainer>
28
+ <BackgroundColorProvider color="#333333">
29
+ <DarkContainer>
30
+ <Title title="Default Paragraph" theme="dark" level={4} />
31
+ <DxcParagraph>
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id tortor sit amet velit auctor cursus id eget
33
+ nisl. Vivamus luctus egestas eros, at mattis libero eleifend ac. Integer vel urna rutrum, pretium arcu
34
+ dignissim, fringilla turpis. Nullam luctus odio quis magna finibus, a pharetra magna euismod. Nullam efficitur
35
+ semper pellentesque. Nulla eget arcu ac diam fringilla vehicula. In imperdiet nisl hendrerit, elementum metus
36
+ eu, ornare risus. Aenean neque nibh, vestibulum vitae elit vel, imperdiet suscipit leo. Curabitur blandit
37
+ iaculis pretium. Fusce id imperdiet dui, ut laoreet justo. Sed maximus sollicitudin ipsum, et varius massa
38
+ condimentum eget. Vivamus id mauris et nisl mattis consequat et id lectus. Quisque mollis lacinia nisl.
39
+ Suspendisse sed quam tincidunt, commodo dolor vel, tincidunt nisl.
40
+ </DxcParagraph>
41
+ </DarkContainer>
42
+ </BackgroundColorProvider>
43
+ </>
44
+ );
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import ProgressBarPropsType from "./types";
3
- declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, }: ProgressBarPropsType) => JSX.Element;
2
+ import { Props } from "./types";
3
+ declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, }: Props) => JSX.Element;
4
4
  export default DxcProgressBar;
@@ -13,19 +13,19 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
16
18
  var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
21
 
20
- var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
21
-
22
22
  var _variables = require("../common/variables.js");
23
23
 
24
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
26
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
27
27
 
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
29
29
 
30
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
31
 
@@ -44,72 +44,56 @@ var DxcProgressBar = function DxcProgressBar(_ref) {
44
44
  margin = _ref.margin;
45
45
  var colorsTheme = (0, _useTheme["default"])();
46
46
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
47
+
48
+ var _useState = (0, _react.useState)(0),
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ valueProgressBar = _useState2[0],
51
+ setValueProgressBar = _useState2[1];
52
+
53
+ (0, _react.useEffect)(function () {
54
+ setValueProgressBar(value === null || value === undefined || value < 0 ? 0 : value >= 0 && value <= 100 ? value : 100);
55
+ }, [value]);
47
56
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
48
57
  theme: colorsTheme.progressBar
49
58
  }, /*#__PURE__*/_react["default"].createElement(BackgroundProgressBar, {
50
59
  overlay: overlay
51
- }, /*#__PURE__*/_react["default"].createElement(DXCProgressBar, {
60
+ }, /*#__PURE__*/_react["default"].createElement(ProgressBarContainer, {
52
61
  overlay: overlay,
53
- margin: margin,
54
- backgroundType: backgroundType
62
+ margin: margin
55
63
  }, /*#__PURE__*/_react["default"].createElement(InfoProgressBar, null, /*#__PURE__*/_react["default"].createElement(ProgressBarLabel, {
56
64
  overlay: overlay,
57
- backgroundType: backgroundType
65
+ backgroundType: backgroundType,
66
+ "aria-label": label || undefined
58
67
  }, label), /*#__PURE__*/_react["default"].createElement(ProgressBarProgress, {
59
68
  overlay: overlay,
60
69
  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, {
70
+ backgroundType: backgroundType,
71
+ value: valueProgressBar
72
+ }, valueProgressBar, " %")), /*#__PURE__*/_react["default"].createElement(LinearProgress, {
73
+ role: "progressbar",
74
+ helperText: helperText,
75
+ "aria-valuenow": showValue ? valueProgressBar : undefined
76
+ }, /*#__PURE__*/_react["default"].createElement(LinearProgressBar, {
77
+ backgroundType: backgroundType,
78
+ variant: value === null || value === undefined ? "indeterminate" : "determinate",
79
+ container: "first",
80
+ value: valueProgressBar
81
+ })), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
66
82
  overlay: overlay,
67
83
  backgroundType: backgroundType
68
84
  }, helperText))));
69
85
  };
70
86
 
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 : "";
87
+ 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) {
88
+ var overlay = _ref2.overlay,
89
+ theme = _ref2.theme;
90
+ return overlay ? "background-color: ".concat(theme.overlayColor, ";\n opacity: 0.8;\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
91
  });
98
92
 
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) {
93
+ 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
94
  return props.overlay === true && "100" || "0";
101
95
  }, function (props) {
102
96
  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
97
  }, function (props) {
114
98
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
115
99
  }, function (props) {
@@ -151,7 +135,7 @@ var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (
151
135
  }, function (props) {
152
136
  return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.valueFontColor;
153
137
  }, function (props) {
154
- return props.value !== "" && props.showValue === true && "block" || "none";
138
+ return props.value !== undefined && props.value !== null && props.showValue === true && "block" || "none";
155
139
  });
156
140
 
157
141
  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) {
@@ -166,5 +150,27 @@ var HelperText = _styledComponents["default"].span(_templateObject6 || (_templat
166
150
  return props.theme.helperTextFontWeight;
167
151
  });
168
152
 
153
+ 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) {
154
+ return props.theme.thickness;
155
+ }, function (props) {
156
+ return props.theme.totalLineColor;
157
+ }, function (props) {
158
+ return props.theme.borderRadius;
159
+ }, function (props) {
160
+ return props.helperText !== "" && "8px";
161
+ });
162
+
163
+ 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) {
164
+ return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
165
+ }, function (props) {
166
+ return "translateX(-".concat(props.variant === "determinate" ? 100 - props.value : 0, "%)");
167
+ }, function (props) {
168
+ return props.variant === "determinate" ? "transform .4s linear" : "transform 0.2s linear";
169
+ }, function (props) {
170
+ return props.variant === "indeterminate" && "width: auto;";
171
+ }, function (props) {
172
+ 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;" : "";
173
+ });
174
+
169
175
  var _default = DxcProgressBar;
170
176
  exports["default"] = _default;
@@ -14,9 +14,11 @@ export const Chromatic = () => (
14
14
  <Title title="Without labels" theme="light" level={4} />
15
15
  <DxcProgressBar value={50} showValue />
16
16
  <Title title="With helperText" theme="light" level={4} />
17
- <DxcProgressBar helperText="Helper text" value={50} showValue />
17
+ <DxcProgressBar helperText="Helper text" value={24} showValue />
18
18
  <Title title="Without default value" theme="light" level={4} />
19
19
  <DxcProgressBar label="Loading..." showValue />
20
+ <Title title="With full value" theme="light" level={4} />
21
+ <DxcProgressBar label="Loading..." value={100} showValue />
20
22
  </ExampleContainer>
21
23
  <Title title="Margins" theme="light" level={2} />
22
24
  <ExampleContainer>