@dxc-technology/halstack-react 0.0.0-a678636 → 0.0.0-a9c6846

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 (125) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/accordion/Accordion.js +170 -65
  5. package/dist/accordion-group/AccordionGroup.js +186 -0
  6. package/dist/alert/Alert.js +180 -81
  7. package/dist/alert/index.d.ts +51 -0
  8. package/dist/badge/Badge.js +63 -0
  9. package/dist/box/Box.js +31 -23
  10. package/dist/button/Button.js +83 -26
  11. package/dist/card/Card.js +72 -35
  12. package/dist/checkbox/Checkbox.js +98 -38
  13. package/dist/chip/Chip.js +128 -36
  14. package/dist/common/RequiredComponent.js +2 -8
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1311 -304
  17. package/dist/date/Date.js +75 -52
  18. package/dist/dialog/Dialog.js +58 -37
  19. package/dist/dropdown/Dropdown.js +199 -71
  20. package/dist/file-input/FileInput.js +641 -0
  21. package/dist/file-input/FileItem.js +280 -0
  22. package/dist/file-input/index.d.ts +81 -0
  23. package/dist/footer/Footer.js +85 -36
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/header/Header.js +111 -68
  26. package/dist/header/dxc_logo_black.svg +8 -0
  27. package/dist/heading/Heading.js +81 -16
  28. package/dist/input-text/InputText.js +288 -100
  29. package/dist/layout/ApplicationLayout.js +331 -0
  30. package/dist/layout/facebook.svg +45 -0
  31. package/dist/layout/linkedin.svg +50 -0
  32. package/dist/layout/twitter.svg +53 -0
  33. package/dist/link/Link.js +136 -35
  34. package/dist/main.d.ts +7 -0
  35. package/dist/main.js +89 -1
  36. package/dist/new-date/NewDate.js +400 -0
  37. package/dist/new-date/index.d.ts +95 -0
  38. package/dist/new-input-text/NewInputText.js +982 -0
  39. package/dist/new-input-text/index.d.ts +135 -0
  40. package/dist/new-textarea/NewTextarea.js +362 -0
  41. package/dist/new-textarea/index.d.ts +117 -0
  42. package/dist/number/Number.js +138 -0
  43. package/dist/number/NumberContext.js +16 -0
  44. package/dist/number/index.d.ts +113 -0
  45. package/dist/paginator/Paginator.js +149 -56
  46. package/dist/password/Password.js +200 -0
  47. package/dist/password/index.d.ts +94 -0
  48. package/dist/password/styles.css +3 -0
  49. package/dist/progress-bar/ProgressBar.js +95 -38
  50. package/dist/radio/Radio.js +31 -17
  51. package/dist/resultsetTable/ResultsetTable.js +93 -68
  52. package/dist/select/Select.js +244 -146
  53. package/dist/sidenav/Sidenav.js +86 -129
  54. package/dist/slider/Slider.js +125 -64
  55. package/dist/spinner/Spinner.js +247 -59
  56. package/dist/switch/Switch.js +50 -27
  57. package/dist/table/Table.js +52 -13
  58. package/dist/tabs/Tabs.js +206 -35
  59. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  60. package/dist/tag/Tag.js +100 -35
  61. package/dist/textarea/Textarea.js +77 -40
  62. package/dist/toggle/Toggle.js +16 -19
  63. package/dist/toggle-group/ToggleGroup.js +64 -58
  64. package/dist/upload/Upload.js +13 -8
  65. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  66. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  67. package/dist/upload/file-upload/FileToUpload.js +50 -24
  68. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  69. package/dist/upload/transaction/Transaction.js +44 -24
  70. package/dist/upload/transactions/Transactions.js +38 -20
  71. package/dist/useTheme.js +22 -0
  72. package/dist/wizard/Wizard.js +139 -55
  73. package/dist/wizard/invalid_icon.svg +4 -5
  74. package/dist/wizard/valid_icon.svg +4 -5
  75. package/package.json +13 -5
  76. package/test/AccordionGroup.test.js +125 -0
  77. package/test/Date.test.js +13 -13
  78. package/test/Dropdown.test.js +15 -0
  79. package/test/FileInput.test.js +201 -0
  80. package/test/InputText.test.js +30 -26
  81. package/test/Link.test.js +25 -7
  82. package/test/NewDate.test.js +232 -0
  83. package/test/NewInputText.test.js +734 -0
  84. package/test/NewTextarea.test.js +195 -0
  85. package/test/Number.test.js +257 -0
  86. package/test/Paginator.test.js +72 -60
  87. package/test/Password.test.js +83 -0
  88. package/test/ResultsetTable.test.js +66 -19
  89. package/test/Select.test.js +55 -34
  90. package/test/Sidenav.test.js +22 -64
  91. package/test/Slider.test.js +17 -0
  92. package/test/Spinner.test.js +5 -0
  93. package/test/Tabs.test.js +21 -0
  94. package/dist/accordion/Accordion.stories.js +0 -207
  95. package/dist/accordion/readme.md +0 -96
  96. package/dist/alert/Alert.stories.js +0 -158
  97. package/dist/alert/close.svg +0 -4
  98. package/dist/alert/error.svg +0 -4
  99. package/dist/alert/info.svg +0 -4
  100. package/dist/alert/readme.md +0 -43
  101. package/dist/alert/success.svg +0 -4
  102. package/dist/alert/warning.svg +0 -4
  103. package/dist/button/Button.stories.js +0 -224
  104. package/dist/button/readme.md +0 -93
  105. package/dist/common/services/example-service.js +0 -10
  106. package/dist/common/services/example-service.test.js +0 -12
  107. package/dist/date/calendar.svg +0 -1
  108. package/dist/date/calendar_dark.svg +0 -1
  109. package/dist/dialog/Dialog.stories.js +0 -217
  110. package/dist/dialog/readme.md +0 -32
  111. package/dist/dropdown/Dropdown.stories.js +0 -249
  112. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  113. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  114. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  115. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  116. package/dist/dropdown/readme.md +0 -69
  117. package/dist/footer/dxc_logo_wht.png +0 -0
  118. package/dist/header/dxc_logo_black.png +0 -0
  119. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  120. package/dist/header/dxc_logo_white.png +0 -0
  121. package/dist/select/Select.stories.js +0 -235
  122. package/dist/select/readme.md +0 -72
  123. package/dist/sidenav/arrow_icon.svg +0 -3
  124. package/dist/toggle-group/readme.md +0 -82
  125. package/test/Toggle.test.js +0 -43
@@ -13,9 +13,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
16
+ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
@@ -23,14 +21,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
21
 
24
22
  var _variables = require("../common/variables.js");
25
23
 
26
- require("../common/OpenSans.css");
27
-
28
- var _utils = require("../common/utils.js");
24
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
25
 
30
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
26
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
27
 
32
28
  function _templateObject4() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n flex-grow: 1;\n height: 100%;\n padding: ", ";\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n width: ", ";\n"]);
29
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n margin: ", ";\n cursor: pointer;\n\n :focus-visible {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n"]);
34
30
 
35
31
  _templateObject4 = function _templateObject4() {
36
32
  return data;
@@ -40,7 +36,7 @@ function _templateObject4() {
40
36
  }
41
37
 
42
38
  function _templateObject3() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: ", ";\n top: ", ";\n width: 42px;\n min-height: 42px;\n background-color: ", ";\n border-radius: 50%;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n cursor: pointer;\n & > svg {\n fill: ", ";\n }\n"]);
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n margin-bottom: 4px;\n"]);
44
40
 
45
41
  _templateObject3 = function _templateObject3() {
46
42
  return data;
@@ -50,7 +46,7 @@ function _templateObject3() {
50
46
  }
51
47
 
52
48
  function _templateObject2() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n width: ", ";\n box-sizing: border-box;\n padding: ", ";\n z-index: ", ";\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n"]);
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n margin-bottom: 16px;\n"]);
54
50
 
55
51
  _templateObject2 = function _templateObject2() {
56
52
  return data;
@@ -60,7 +56,7 @@ function _templateObject2() {
60
56
  }
61
57
 
62
58
  function _templateObject() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n"]);
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n max-width: 300px;\n width: ", ";\n padding: ", ";\n\n overflow-y: auto;\n overflow-x: hidden;\n ::-webkit-scrollbar {\n width: 2px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n"]);
64
60
 
65
61
  _templateObject = function _templateObject() {
66
62
  return data;
@@ -70,153 +66,114 @@ function _templateObject() {
70
66
  }
71
67
 
72
68
  var DxcSidenav = function DxcSidenav(_ref) {
73
- var navContent = _ref.navContent,
74
- pageContent = _ref.pageContent,
75
- padding = _ref.padding,
76
- mode = _ref.mode,
77
- arrowDistance = _ref.arrowDistance,
78
- _ref$displayArrow = _ref.displayArrow,
79
- displayArrow = _ref$displayArrow === void 0 ? true : _ref$displayArrow;
80
- var ref = (0, _react.useRef)(null);
81
-
82
- var _useState = (0, _react.useState)(),
83
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
84
- sidenavSize = _useState2[0],
85
- setSidenavSize = _useState2[1];
86
-
87
- var _useState3 = (0, _react.useState)(),
88
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
89
- isShown = _useState4[0],
90
- setIsShown = _useState4[1];
91
-
92
- var _useState5 = (0, _react.useState)(),
93
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
94
- isResponsive = _useState6[0],
95
- setIsResponsive = _useState6[1];
96
-
97
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
98
- var colorsTheme = (0, _react.useMemo)(function () {
99
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
100
- }, [customTheme]);
101
-
102
- var handleVisbility = function handleVisbility(width) {
103
- setIsShown(width <= _variables.responsiveSizes.tablet ? false : true);
104
- };
105
-
106
- var handleResize = function handleResize(width) {
107
- if (width) {
108
- setSidenavSize(width);
109
- if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
110
- }
111
- };
112
-
113
- var handleEventListener = function handleEventListener() {
114
- handleResize(ref.current.offsetWidth);
115
- };
116
-
117
- (0, _react.useEffect)(function () {
118
- if (ref.current) {
119
- window.addEventListener("resize", handleEventListener);
120
- handleResize(ref.current.offsetWidth);
121
- handleVisbility(ref.current.offsetWidth);
122
- }
123
-
124
- return function () {
125
- window.removeEventListener("resize", handleEventListener);
126
- };
127
- }, []);
128
-
129
- var handleSidenav = function handleSidenav() {
130
- setIsShown(!isShown);
131
- };
132
-
133
- var ArrowIcon = function ArrowIcon() {
134
- return _react["default"].createElement("svg", {
135
- xmlns: "http://www.w3.org/2000/svg",
136
- width: "15.995",
137
- height: "10.01",
138
- viewBox: "0 0 15.995 10.01"
139
- }, _react["default"].createElement("path", {
140
- "data-testid": "arrow-to-right",
141
- d: "M17.71,11.29l-4-4a1,1,0,0,0-1.42,1.42L14.59,11H3a1,1,0,0,0,0,2H14.59l-2.3,2.29a1,1,0,1,0,1.42,1.42l4-4a1.034,1.034,0,0,0,0-1.42Z",
142
- transform: "translate(-2 -6.996)"
143
- }));
144
- };
145
-
69
+ var padding = _ref.padding,
70
+ children = _ref.children;
71
+ var colorsTheme = (0, _useTheme["default"])();
146
72
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
147
73
  theme: colorsTheme.sidenav
148
- }, _react["default"].createElement(SidenavComponent, {
149
- ref: ref
150
- }, ref.current && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Sidenav, {
151
- navContent: navContent,
152
- isShown: isShown,
153
- padding: padding,
154
- mode: isResponsive ? "overlay" : mode,
155
- sidenavSize: sidenavSize,
156
- isResponsive: isResponsive
157
- }, navContent, (displayArrow || isResponsive) && _react["default"].createElement(ArrowTrigger, {
158
- onClick: handleSidenav,
159
- isShown: isShown,
160
- sidenavSize: sidenavSize,
161
- arrowDistance: arrowDistance
162
- }, _react["default"].createElement(ArrowIcon, {
163
- isShown: isShown
164
- }))), _react["default"].createElement(PageContent, {
165
- pageContent: pageContent,
166
- padding: padding,
167
- isShown: isShown,
168
- mode: isResponsive ? "overlay" : mode,
169
- sidenavSize: sidenavSize,
170
- isResponsive: isResponsive
171
- }, pageContent))));
74
+ }, _react["default"].createElement(SideNavContainer, {
75
+ padding: padding
76
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
77
+ color: colorsTheme.sidenav.backgroundColor
78
+ }, children)));
172
79
  };
173
80
 
174
- var SidenavComponent = _styledComponents["default"].div(_templateObject());
81
+ var Title = function Title(_ref2) {
82
+ var children = _ref2.children;
83
+ return _react["default"].createElement(SideNavMenuTitle, null, children);
84
+ };
85
+
86
+ var Subtitle = function Subtitle(_ref3) {
87
+ var children = _ref3.children;
88
+ return _react["default"].createElement(SideNavMenuSubTitle, null, children);
89
+ };
90
+
91
+ var Link = function Link(_ref4) {
92
+ var href = _ref4.href,
93
+ onClick = _ref4.onClick,
94
+ children = _ref4.children;
95
+ return _react["default"].createElement(SideNavMenuLink, {
96
+ href: href,
97
+ onClick: onClick
98
+ }, children);
99
+ };
175
100
 
176
- var Sidenav = _styledComponents["default"].div(_templateObject2(), function (props) {
101
+ var SideNavContainer = _styledComponents["default"].div(_templateObject(), function (props) {
177
102
  return props.theme.backgroundColor;
178
103
  }, function (props) {
179
- return props.sidenavSize <= _variables.responsiveSizes.tablet ? "60%" : "300px";
104
+ return props.padding ? "calc(300px - ".concat(_variables.spaces[props.padding], " - ").concat(_variables.spaces[props.padding], ")") : "300px";
180
105
  }, function (props) {
181
106
  return props.padding ? _variables.spaces[props.padding] : "";
182
107
  }, function (props) {
183
- return props.mode === "overlay" ? "400" : "auto";
108
+ return props.theme.scrollBarTrackColor;
184
109
  }, function (props) {
185
- return props.isShown ? "translateX(0)" : !props.isShown ? "translateX(-100%)" : "";
110
+ return props.theme.scrollBarThumbColor;
186
111
  });
187
112
 
188
- var ArrowTrigger = _styledComponents["default"].div(_templateObject3(), function (props) {
189
- return props.sidenavSize <= _variables.responsiveSizes.tablet ? "calc(100% - 21px)" : "279px";
113
+ var SideNavMenuTitle = _styledComponents["default"].div(_templateObject2(), function (props) {
114
+ return props.theme.titleFontFamily;
190
115
  }, function (props) {
191
- return props.arrowDistance ? props.arrowDistance : "calc(50% - 21px)";
116
+ return props.theme.titleFontSize;
192
117
  }, function (props) {
193
- return "".concat(props.theme.arrowContainerColor).concat(props.theme.arrowContainerOpacity);
118
+ return props.theme.titleFontStyle;
194
119
  }, function (props) {
195
- return props.isShown ? "rotate(-180deg)" : "rotate(0deg)";
120
+ return props.theme.titleFontWeight;
196
121
  }, function (props) {
197
- return props.theme.arrowColor;
122
+ return props.theme.titleFontColor;
123
+ }, function (props) {
124
+ return props.theme.titleFontLetterSpacing;
125
+ }, function (props) {
126
+ return props.theme.titleFontTextTransform;
198
127
  });
199
128
 
200
- var PageContent = _styledComponents["default"].div(_templateObject4(), function (props) {
201
- return props.padding ? _variables.spaces[props.padding] : "";
129
+ var SideNavMenuSubTitle = _styledComponents["default"].div(_templateObject3(), function (props) {
130
+ return props.theme.subtitleFontFamily;
131
+ }, function (props) {
132
+ return props.theme.subtitleFontSize;
133
+ }, function (props) {
134
+ return props.theme.subtitleFontStyle;
135
+ }, function (props) {
136
+ return props.theme.subtitleFontWeight;
137
+ }, function (props) {
138
+ return props.theme.subtitleFontColor;
139
+ }, function (props) {
140
+ return props.theme.subtitleFontLetterSpacing;
141
+ }, function (props) {
142
+ return props.theme.subtitleFontTextTransform;
143
+ });
144
+
145
+ var SideNavMenuLink = _styledComponents["default"].a(_templateObject4(), function (props) {
146
+ return props.theme.linkFontFamily;
147
+ }, function (props) {
148
+ return props.theme.linkFontSize;
149
+ }, function (props) {
150
+ return props.theme.linkFontStyle;
151
+ }, function (props) {
152
+ return props.theme.linkFontWeight;
153
+ }, function (props) {
154
+ return props.theme.linkFontColor;
155
+ }, function (props) {
156
+ return props.theme.linkFontLetterSpacing;
157
+ }, function (props) {
158
+ return props.theme.linkFontTextTransform;
159
+ }, function (props) {
160
+ return props.theme.linkTextDecoration;
202
161
  }, function (props) {
203
- return props.isShown && props.mode === "push" && !props.isResponsive ? "" : !props.isResponsive ? "-300px" : "-60%";
162
+ return "".concat(props.theme.linkMarginTop, " ").concat(props.theme.linkMarginRight, " ").concat(props.theme.linkMarginBottom, " ").concat(props.theme.linkMarginLeft);
204
163
  }, function (props) {
205
- return props.isShown && props.mode === "push" ? "calc(100% - 300px)" : "calc(100%)";
164
+ return props.theme.linkFocusColor;
206
165
  });
207
166
 
208
167
  DxcSidenav.propTypes = {
209
- mode: _propTypes["default"].oneOf(["overlay", "push", ""]),
210
168
  padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
211
169
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
212
170
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
213
171
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
214
172
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
215
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
216
- navContent: _propTypes["default"].object,
217
- pageContent: _propTypes["default"].object,
218
- arrowDistance: _propTypes["default"].string,
219
- displayArrow: _propTypes["default"].bool
173
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
220
174
  };
175
+ DxcSidenav.Title = Title;
176
+ DxcSidenav.Subtitle = Subtitle;
177
+ DxcSidenav.Link = Link;
221
178
  var _default = DxcSidenav;
222
179
  exports["default"] = _default;
@@ -9,12 +9,12 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
12
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
15
 
14
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
17
 
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
@@ -25,18 +25,18 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
25
 
26
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
27
 
28
- require("../common/OpenSans.css");
29
-
30
28
  var _InputText = _interopRequireDefault(require("../input-text/InputText"));
31
29
 
32
30
  var _variables = require("../common/variables.js");
33
31
 
34
32
  var _utils = require("../common/utils.js");
35
33
 
36
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
34
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
+
36
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
37
 
38
38
  function _templateObject4() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n color: inherit;\n font-size: 16px;\n margin-left: ", ";\n"]);
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n margin-left: ", ";\n"]);
40
40
 
41
41
  _templateObject4 = function _templateObject4() {
42
42
  return data;
@@ -46,7 +46,7 @@ function _templateObject4() {
46
46
  }
47
47
 
48
48
  function _templateObject3() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n color: inherit;\n font-size: 16px;\n margin-right: 15px;\n"]);
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n margin-right: 16px;\n"]);
50
50
 
51
51
  _templateObject3 = function _templateObject3() {
52
52
  return data;
@@ -56,7 +56,7 @@ function _templateObject3() {
56
56
  }
57
57
 
58
58
  function _templateObject2() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n width: ", ";\n\n .MultiSlider-root {\n display: flex;\n align-items: center;\n }\n .MuiSlider-container {\n padding: 30px 24px;\n }\n\n .MuiSlider-root.Mui-disabled {\n opacity: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n\n .Mui-disabled {\n & .MuiSlider-thumb {\n height: 14px;\n width: 14px;\n background-color: ", ";\n top: 35%;\n }\n & .MuiSlider-track {\n background-color: ", ";\n }\n & > .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", " !important;\n }\n & > .MuiSlider-mark {\n background-color: ", ";\n width: 6px;\n height: 6px;\n border-radius: 18px;\n }\n & .MuiSlider-rail {\n opacity: 1;\n opacity: ", ";\n }\n }\n .MuiSlider-thumb {\n height: 14px;\n width: 14px;\n background-color: ", ";\n top: 45%;\n :hover,\n &.Mui-focusVisible {\n box-shadow: none;\n }\n &.MuiSlider-active {\n box-shadow: none;\n }\n :hover:not(:active) {\n box-shadow: \"0px 0px 0px 18px #66666633\";\n }\n :active {\n box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);\n background-color: ", ";\n top: 45%;\n transform: scale(1.25);\n transform-origin: center;\n }\n &:focus {\n outline: ", " auto 1px;\n }\n }\n .MuiSlider-track {\n background-color: ", ";\n height: 2px;\n top: 50%;\n }\n\n .MuiSlider-track.MuiSlider-trackAfter {\n background-color: ", ";\n }\n .MuiSlider-rail {\n background-color: ", ";\n top: 50%;\n opacity: ", ";\n }\n .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", ";\n }\n .MuiSlider-mark {\n background-color: ", ";\n width: 6px;\n height: 6px;\n border-radius: 18px;\n top: 42%;\n }\n"]);
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n\n .MultiSlider-root {\n display: flex;\n align-items: center;\n }\n .MuiSlider-container {\n padding: 30px 24px;\n }\n .MuiSlider-root.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n .Mui-disabled {\n & .MuiSlider-thumb {\n height: ", ";\n width: ", ";\n background-color: ", ";\n top: ", ";\n }\n & .MuiSlider-track {\n background-color: ", ";\n }\n & .MuiSlider-rail {\n background-color: ", ";\n }\n & > .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", " !important;\n }\n & > .MuiSlider-mark {\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n top: ", ";\n }\n }\n .MuiSlider-thumb {\n height: ", ";\n width: ", ";\n background-color: ", ";\n top: ", ";\n border-radius: 9999px;\n\n :hover,\n &.Mui-focusVisible {\n box-shadow: none;\n }\n &.MuiSlider-active {\n box-shadow: none;\n }\n :focus {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n transform: scale(", ");\n transform-origin: center;\n }\n :active {\n background-color: ", ";\n transform: scale(", ");\n transform-origin: center;\n }\n }\n .MuiSlider-track {\n background-color: ", ";\n height: ", ";\n top: ", ";\n border-radius: 9999px;\n }\n .MuiSlider-track.MuiSlider-trackAfter {\n background-color: ", ";\n }\n .MuiSlider-rail {\n background-color: ", ";\n height: ", ";\n top: ", ";\n }\n .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", ";\n }\n .MuiSlider-mark {\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n top: ", ";\n }\n"]);
60
60
 
61
61
  _templateObject2 = function _templateObject2() {
62
62
  return data;
@@ -66,7 +66,7 @@ function _templateObject2() {
66
66
  }
67
67
 
68
68
  function _templateObject() {
69
- var data = (0, _taggedTemplateLiteral2["default"])(["\n .MuiTextField-root {\n font-size: 16px;\n }\n"]);
69
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 32px;\n\n label + .MuiInput-formControl {\n margin-top: 2px;\n }\n"]);
70
70
 
71
71
  _templateObject = function _templateObject() {
72
72
  return data;
@@ -94,6 +94,7 @@ var DxcSlider = function DxcSlider(_ref) {
94
94
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
95
95
  _ref$marks = _ref.marks,
96
96
  marks = _ref$marks === void 0 ? false : _ref$marks,
97
+ labelFormatCallback = _ref.labelFormatCallback,
97
98
  margin = _ref.margin,
98
99
  _ref$size = _ref.size,
99
100
  size = _ref$size === void 0 ? "fillParent" : _ref$size;
@@ -103,10 +104,14 @@ var DxcSlider = function DxcSlider(_ref) {
103
104
  innerValue = _useState2[0],
104
105
  setInnerValue = _useState2[1];
105
106
 
106
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
107
- var colorsTheme = (0, _react.useMemo)(function () {
108
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
109
- }, [customTheme]);
107
+ var colorsTheme = (0, _useTheme["default"])();
108
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
109
+ var minLabel = (0, _react.useMemo)(function () {
110
+ return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
111
+ }, [labelFormatCallback, minValue]);
112
+ var maxLabel = (0, _react.useMemo)(function () {
113
+ return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
114
+ }, [labelFormatCallback, maxValue]);
110
115
 
111
116
  var handlerSliderChange = function handlerSliderChange(event, newValue) {
112
117
  if (value == null) {
@@ -136,10 +141,12 @@ var DxcSlider = function DxcSlider(_ref) {
136
141
  theme: colorsTheme.slider
137
142
  }, _react["default"].createElement(SliderContainer, {
138
143
  margin: margin,
139
- size: size
144
+ size: size,
145
+ backgroundType: backgroundType
140
146
  }, showLimitsValues && _react["default"].createElement(MinLabelContainer, {
147
+ backgroundType: backgroundType,
141
148
  disabled: disabled
142
- }, minValue), _react["default"].createElement(_Slider["default"], {
149
+ }, minLabel), _react["default"].createElement(_Slider["default"], {
143
150
  value: value != null && value >= 0 && value || innerValue,
144
151
  min: minValue,
145
152
  max: maxValue,
@@ -151,17 +158,15 @@ var DxcSlider = function DxcSlider(_ref) {
151
158
  marks: marks || [],
152
159
  disabled: disabled
153
160
  }), showLimitsValues && _react["default"].createElement(MaxLabelContainer, {
161
+ backgroundType: backgroundType,
154
162
  disabled: disabled,
155
163
  step: step
156
- }, maxValue), showInput && _react["default"].createElement(StyledTextInput, null, _react["default"].createElement(_InputText["default"], {
164
+ }, maxLabel), showInput && _react["default"].createElement(StyledTextInput, null, _react["default"].createElement(_InputText["default"], {
157
165
  name: name,
158
166
  value: value != null && value >= 0 && value || innerValue,
159
167
  disabled: disabled,
160
168
  onChange: handlerInputChange,
161
- size: "small",
162
- margin: {
163
- left: "medium"
164
- }
169
+ size: "small"
165
170
  }))));
166
171
  };
167
172
 
@@ -172,32 +177,7 @@ var sizes = {
172
177
  };
173
178
 
174
179
  var calculateWidth = function calculateWidth(margin, size) {
175
- if (size === "fillParent") {
176
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
177
- }
178
-
179
- return sizes[size];
180
- };
181
-
182
- DxcSlider.propTypes = {
183
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
184
- minValue: _propTypes["default"].number,
185
- maxValue: _propTypes["default"].number,
186
- step: _propTypes["default"].number,
187
- value: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
188
- showLimitsValues: _propTypes["default"].bool,
189
- showInput: _propTypes["default"].bool,
190
- name: _propTypes["default"].string,
191
- onChange: _propTypes["default"].func,
192
- onDragEnd: _propTypes["default"].func,
193
- disabled: _propTypes["default"].bool,
194
- marks: _propTypes["default"].bool,
195
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
196
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
197
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
198
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
199
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
200
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
180
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
201
181
  };
202
182
 
203
183
  var StyledTextInput = _styledComponents["default"].div(_templateObject());
@@ -215,44 +195,125 @@ var SliderContainer = _styledComponents["default"].div(_templateObject2(), funct
215
195
  }, function (props) {
216
196
  return calculateWidth(props.margin, props.size);
217
197
  }, function (props) {
218
- return props.theme.disabledthumbBackgroundColor;
198
+ return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
199
+ }, function (props) {
200
+ return props.theme.thumbHeight;
201
+ }, function (props) {
202
+ return props.theme.thumbWidth;
203
+ }, function (props) {
204
+ return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
205
+ }, function (props) {
206
+ return props.theme.disabledThumbVerticalPosition;
207
+ }, function (props) {
208
+ return props.backgroundType === "dark" ? props.theme.disabledTrackLineColorOnDark : props.theme.disabledTrackLineColor;
209
+ }, function (props) {
210
+ return props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark : props.theme.disabledTotalLineColor;
211
+ }, function (props) {
212
+ return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
213
+ }, function (props) {
214
+ return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
215
+ }, function (props) {
216
+ return props.theme.tickHeight;
217
+ }, function (props) {
218
+ return props.theme.tickWidth;
219
+ }, function (props) {
220
+ return props.theme.disabledTickVerticalPosition;
219
221
  }, function (props) {
220
- return props.theme.color;
222
+ return props.theme.thumbHeight;
221
223
  }, function (props) {
222
- return props.theme.color;
224
+ return props.theme.thumbWidth;
223
225
  }, function (props) {
224
- return props.theme.color;
226
+ return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
225
227
  }, function (props) {
226
- return props.theme.color;
228
+ return props.theme.thumbVerticalPosition;
227
229
  }, function (props) {
228
- return props.theme.color;
230
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
229
231
  }, function (props) {
230
- return props.theme.disabledtotalLine;
232
+ return props.backgroundType === "dark" ? props.theme.focusThumbBackgroundColorOnDark : props.theme.focusThumbBackgroundColor;
231
233
  }, function (props) {
232
- return props.theme.color;
234
+ return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
233
235
  }, function (props) {
234
- return props.theme.color;
236
+ return props.theme.hoverThumbScale;
235
237
  }, function (props) {
236
- return props.theme.focusColor;
238
+ return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
237
239
  }, function (props) {
238
- return props.theme.color;
240
+ return props.theme.activeThumbScale;
239
241
  }, function (props) {
240
- return props.theme.color;
242
+ return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
241
243
  }, function (props) {
242
- return props.theme.color;
244
+ return props.theme.trackLineThickness;
243
245
  }, function (props) {
244
- return props.theme.totalLine;
246
+ return props.theme.trackLineVerticalPosition;
245
247
  }, function (props) {
246
- return props.theme.color;
248
+ return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
247
249
  }, function (props) {
248
- return props.theme.color;
250
+ return props.backgroundType === "dark" ? props.theme.totalLineColorOnDark : props.theme.totalLineColor;
251
+ }, function (props) {
252
+ return props.theme.totalLineThickness;
253
+ }, function (props) {
254
+ return props.theme.totalLineVerticalPosition;
255
+ }, function (props) {
256
+ return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
257
+ }, function (props) {
258
+ return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
259
+ }, function (props) {
260
+ return props.theme.tickHeight;
261
+ }, function (props) {
262
+ return props.theme.tickWidth;
263
+ }, function (props) {
264
+ return props.theme.tickVerticalPosition;
249
265
  });
250
266
 
251
- var MinLabelContainer = _styledComponents["default"].span(_templateObject3());
267
+ var MinLabelContainer = _styledComponents["default"].span(_templateObject3(), function (props) {
268
+ return props.theme.fontFamily;
269
+ }, function (props) {
270
+ return props.theme.fontSize;
271
+ }, function (props) {
272
+ return props.theme.fontStyle;
273
+ }, function (props) {
274
+ return props.theme.fontWeight;
275
+ }, function (props) {
276
+ return props.disabled ? props.theme.disabledFontColor : props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
277
+ }, function (props) {
278
+ return props.theme.fontLetterSpacing;
279
+ });
252
280
 
253
281
  var MaxLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
254
- return props.step === 1 ? "15px" : "20px";
282
+ return props.theme.fontFamily;
283
+ }, function (props) {
284
+ return props.theme.fontSize;
285
+ }, function (props) {
286
+ return props.theme.fontStyle;
287
+ }, function (props) {
288
+ return props.theme.fontWeight;
289
+ }, function (props) {
290
+ return props.disabled ? props.theme.disabledFontColor : props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
291
+ }, function (props) {
292
+ return props.theme.fontLetterSpacing;
293
+ }, function (props) {
294
+ return props.step === 1 ? "16px" : "20px";
255
295
  });
256
296
 
297
+ DxcSlider.propTypes = {
298
+ size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
299
+ minValue: _propTypes["default"].number,
300
+ maxValue: _propTypes["default"].number,
301
+ step: _propTypes["default"].number,
302
+ value: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
303
+ showLimitsValues: _propTypes["default"].bool,
304
+ showInput: _propTypes["default"].bool,
305
+ name: _propTypes["default"].string,
306
+ onChange: _propTypes["default"].func,
307
+ onDragEnd: _propTypes["default"].func,
308
+ disabled: _propTypes["default"].bool,
309
+ marks: _propTypes["default"].bool,
310
+ labelFormatCallback: _propTypes["default"].func,
311
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
312
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
313
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
314
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
315
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
316
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
317
+ };
257
318
  var _default = DxcSlider;
258
319
  exports["default"] = _default;