@dxc-technology/halstack-react 0.0.0-3a8852f → 0.0.0-3e57f0d

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 (126) hide show
  1. package/{dist/README.md → README.md} +1 -1
  2. package/babel.config.js +6 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +235 -2
  5. package/dist/accordion/Accordion.js +170 -81
  6. package/dist/accordion-group/AccordionGroup.js +186 -0
  7. package/dist/alert/Alert.js +181 -80
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +63 -0
  10. package/dist/box/Box.js +39 -19
  11. package/dist/button/Button.js +91 -40
  12. package/dist/card/Card.js +64 -56
  13. package/dist/checkbox/Checkbox.js +118 -39
  14. package/dist/chip/Chip.js +135 -40
  15. package/dist/common/RequiredComponent.js +5 -15
  16. package/dist/common/variables.js +1377 -10
  17. package/dist/date/Date.js +110 -73
  18. package/dist/dialog/Dialog.js +87 -33
  19. package/dist/dropdown/Dropdown.js +226 -94
  20. package/dist/file-input/FileInput.js +644 -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 +90 -36
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/footer/readme.md +1 -1
  26. package/dist/header/Header.js +132 -72
  27. package/dist/header/dxc_logo_black.svg +8 -0
  28. package/dist/header/readme.md +1 -1
  29. package/dist/heading/Heading.js +81 -22
  30. package/dist/input-text/InputText.js +298 -101
  31. package/dist/layout/ApplicationLayout.js +331 -0
  32. package/dist/layout/facebook.svg +45 -0
  33. package/dist/layout/linkedin.svg +50 -0
  34. package/dist/layout/twitter.svg +53 -0
  35. package/dist/link/Link.js +142 -34
  36. package/dist/main.d.ts +7 -0
  37. package/dist/main.js +97 -1
  38. package/dist/new-date/NewDate.js +400 -0
  39. package/dist/new-date/index.d.ts +95 -0
  40. package/dist/new-input-text/NewInputText.js +967 -0
  41. package/dist/new-input-text/index.d.ts +135 -0
  42. package/dist/new-textarea/NewTextarea.js +365 -0
  43. package/dist/new-textarea/index.d.ts +117 -0
  44. package/dist/number/Number.js +136 -0
  45. package/dist/number/NumberContext.js +16 -0
  46. package/dist/number/index.d.ts +113 -0
  47. package/dist/paginator/Paginator.js +160 -49
  48. package/dist/password/Password.js +200 -0
  49. package/dist/password/index.d.ts +94 -0
  50. package/dist/password/styles.css +3 -0
  51. package/dist/progress-bar/ProgressBar.js +97 -44
  52. package/dist/radio/Radio.js +39 -34
  53. package/dist/resultsetTable/ResultsetTable.js +94 -70
  54. package/dist/select/Select.js +253 -129
  55. package/dist/sidenav/Sidenav.js +87 -125
  56. package/dist/slider/Slider.js +125 -74
  57. package/dist/spinner/Spinner.js +249 -64
  58. package/dist/switch/Switch.js +54 -51
  59. package/dist/table/Table.js +63 -15
  60. package/dist/tabs/Tabs.js +210 -50
  61. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  62. package/dist/tag/Tag.js +100 -35
  63. package/dist/textarea/Textarea.js +81 -43
  64. package/dist/toggle/Toggle.js +16 -19
  65. package/dist/toggle-group/ToggleGroup.js +223 -0
  66. package/dist/upload/Upload.js +13 -8
  67. package/dist/upload/buttons-upload/ButtonsUpload.js +34 -20
  68. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -31
  69. package/dist/upload/file-upload/FileToUpload.js +50 -24
  70. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  71. package/dist/upload/transaction/Transaction.js +44 -24
  72. package/dist/upload/transactions/Transactions.js +38 -20
  73. package/dist/useTheme.js +22 -0
  74. package/dist/wizard/Wizard.js +156 -55
  75. package/dist/wizard/invalid_icon.svg +4 -5
  76. package/dist/wizard/valid_icon.svg +4 -5
  77. package/package.json +17 -6
  78. package/test/AccordionGroup.test.js +125 -0
  79. package/test/Date.test.js +13 -13
  80. package/test/Dropdown.test.js +19 -4
  81. package/test/FileInput.test.js +201 -0
  82. package/test/InputText.test.js +30 -26
  83. package/test/Link.test.js +25 -7
  84. package/test/NewDate.test.js +232 -0
  85. package/test/NewInputText.test.js +734 -0
  86. package/test/NewTextarea.test.js +195 -0
  87. package/test/Number.test.js +257 -0
  88. package/test/Paginator.test.js +72 -60
  89. package/test/Password.test.js +83 -0
  90. package/test/ResultsetTable.test.js +66 -19
  91. package/test/Select.test.js +55 -34
  92. package/test/Sidenav.test.js +22 -64
  93. package/test/Slider.test.js +17 -0
  94. package/test/Spinner.test.js +5 -0
  95. package/test/Tabs.test.js +21 -0
  96. package/test/ToggleGroup.test.js +81 -0
  97. package/dist/accordion/Accordion.stories.js +0 -207
  98. package/dist/accordion/readme.md +0 -96
  99. package/dist/alert/Alert.stories.js +0 -158
  100. package/dist/alert/close.svg +0 -4
  101. package/dist/alert/error.svg +0 -4
  102. package/dist/alert/info.svg +0 -4
  103. package/dist/alert/readme.md +0 -43
  104. package/dist/alert/success.svg +0 -4
  105. package/dist/alert/warning.svg +0 -4
  106. package/dist/button/Button.stories.js +0 -224
  107. package/dist/button/readme.md +0 -93
  108. package/dist/common/services/example-service.js +0 -10
  109. package/dist/common/services/example-service.test.js +0 -12
  110. package/dist/date/calendar.svg +0 -1
  111. package/dist/date/calendar_dark.svg +0 -1
  112. package/dist/dialog/Dialog.stories.js +0 -217
  113. package/dist/dialog/readme.md +0 -32
  114. package/dist/dropdown/Dropdown.stories.js +0 -249
  115. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  116. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  117. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  118. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  119. package/dist/dropdown/readme.md +0 -69
  120. package/dist/footer/dxc_logo_wht.png +0 -0
  121. package/dist/header/dxc_logo_black.png +0 -0
  122. package/dist/header/dxc_logo_white.png +0 -0
  123. package/dist/select/Select.stories.js +0 -235
  124. package/dist/select/readme.md +0 -72
  125. package/dist/sidenav/arrow_icon.svg +0 -3
  126. package/test/Toggle.test.js +0 -43
package/dist/date/Date.js CHANGED
@@ -37,20 +37,14 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
37
37
 
38
38
  var _InputText = _interopRequireDefault(require("../input-text/InputText"));
39
39
 
40
- require("../common/OpenSans.css");
41
-
42
40
  var _variables = require("../common/variables.js");
43
41
 
44
- var _calendar = _interopRequireDefault(require("./calendar.svg"));
45
-
46
- var _calendar_dark = _interopRequireDefault(require("./calendar_dark.svg"));
47
-
48
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
42
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
49
43
 
50
44
  var _DxcDate$propTypes;
51
45
 
52
46
  function _templateObject() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n width: 100%;\n .MuiPaper-root {\n margin-top: 6px;\n\n border-color: ", ";\n\n background-color: ", ";\n\n color: ", ";\n\n margin-top: ", ";\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n }\n"]);
47
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
54
48
 
55
49
  _templateObject = function _templateObject() {
56
50
  return data;
@@ -65,8 +59,6 @@ var DxcDate = function DxcDate(_ref) {
65
59
  format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
66
60
  _ref$label = _ref.label,
67
61
  label = _ref$label === void 0 ? "" : _ref$label,
68
- _ref$theme = _ref.theme,
69
- theme = _ref$theme === void 0 ? "light" : _ref$theme,
70
62
  name = _ref.name,
71
63
  _ref$disabled = _ref.disabled,
72
64
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
@@ -76,8 +68,6 @@ var DxcDate = function DxcDate(_ref) {
76
68
  assistiveText = _ref$assistiveText === void 0 ? "" : _ref$assistiveText,
77
69
  _ref$invalid = _ref.invalid,
78
70
  invalid = _ref$invalid === void 0 ? false : _ref$invalid,
79
- _ref$disableRipple = _ref.disableRipple,
80
- disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
81
71
  onChange = _ref.onChange,
82
72
  _ref$placeholder = _ref.placeholder,
83
73
  placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
@@ -85,7 +75,9 @@ var DxcDate = function DxcDate(_ref) {
85
75
  onBlur = _ref$onBlur === void 0 ? "" : _ref$onBlur,
86
76
  margin = _ref.margin,
87
77
  _ref$size = _ref.size,
88
- size = _ref$size === void 0 ? "medium" : _ref$size;
78
+ size = _ref$size === void 0 ? "medium" : _ref$size,
79
+ _ref$tabIndex = _ref.tabIndex,
80
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
89
81
 
90
82
  var _useState = (0, _react.useState)(""),
91
83
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -102,23 +94,16 @@ var DxcDate = function DxcDate(_ref) {
102
94
  anchorEl = _useState6[0],
103
95
  setAnchorEl = _useState6[1];
104
96
 
105
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
97
+ var colorsTheme = (0, _useTheme["default"])();
106
98
 
107
- function handleMenuItemClick(date) {
99
+ var handleMenuItemClick = function handleMenuItemClick(date) {
108
100
  var stringValue = (0, _moment["default"])(date).format(format.toUpperCase());
109
- setIsOpen(false);
110
-
111
- if (value == null) {
112
- setInnerValue(stringValue);
113
- }
114
-
115
- if (typeof onChange === "function") {
116
- onChange({
117
- stringValue: stringValue,
118
- dateValue: date && date.toJSON() ? date : null
119
- });
120
- }
121
- }
101
+ if (value == null) setInnerValue(stringValue);
102
+ if (typeof onChange === "function") onChange({
103
+ stringValue: stringValue,
104
+ dateValue: date && date.toJSON() ? date : null
105
+ });
106
+ };
122
107
 
123
108
  var onChangeInput = function onChangeInput(string) {
124
109
  var momentDate = (0, _moment["default"])(string, format.toUpperCase(), true);
@@ -137,10 +122,7 @@ var DxcDate = function DxcDate(_ref) {
137
122
 
138
123
  var handlerInputBlur = function handlerInputBlur(inputString) {
139
124
  setInnerValue(inputString);
140
-
141
- if (onBlur) {
142
- onBlur(inputString);
143
- }
125
+ if (onBlur) onBlur(inputString);
144
126
  };
145
127
 
146
128
  var getValueForPicker = function getValueForPicker() {
@@ -154,27 +136,54 @@ var DxcDate = function DxcDate(_ref) {
154
136
  }
155
137
  };
156
138
 
157
- var lightTheme = (0, _core.createMuiTheme)({
139
+ var handlerPickerClose = function handlerPickerClose() {
140
+ setIsOpen(false);
141
+ handlerInputBlur(value == null ? innerValue : value);
142
+ };
143
+
144
+ var calendarSVG = function calendarSVG() {
145
+ return _react["default"].createElement("svg", {
146
+ xmlns: "http://www.w3.org/2000/svg",
147
+ height: "24",
148
+ viewBox: "0 0 24 24",
149
+ width: "24",
150
+ fill: "currentColor"
151
+ }, _react["default"].createElement("path", {
152
+ "data-testid": "calendarIcon",
153
+ d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
154
+ }), _react["default"].createElement("path", {
155
+ d: "M0 0h24v24H0z",
156
+ fill: "none"
157
+ }));
158
+ };
159
+
160
+ var dateTheme = (0, _core.createMuiTheme)({
158
161
  overrides: {
162
+ MuiTypography: {
163
+ root: {
164
+ fontFamily: "".concat(colorsTheme.date.fontFamily, " !important")
165
+ }
166
+ },
159
167
  MuiPickersYearSelection: {
160
168
  container: {
169
+ color: colorsTheme.date.pickerYearColor,
161
170
  "&::-webkit-scrollbar": {
162
171
  width: "3px"
163
172
  },
164
173
  "&::-webkit-scrollbar-track": {
165
- backgroundColor: colorsTheme.lightGrey,
174
+ backgroundColor: "#D9D9D9",
166
175
  borderRadius: "3px"
167
176
  },
168
177
  "&::-webkit-scrollbar-thumb": {
169
- backgroundColor: colorsTheme.darkGrey,
178
+ backgroundColor: "#666666",
170
179
  borderRadius: "3px"
171
180
  }
172
181
  }
173
182
  },
174
183
  MuiPickersToolbar: {
175
184
  toolbar: {
176
- backgroundColor: colorsTheme.white,
177
- color: colorsTheme.black
185
+ backgroundColor: colorsTheme.date.pickerBackgroundColor,
186
+ color: colorsTheme.date.pickerFontColor
178
187
  }
179
188
  },
180
189
  MuiIconButton: {
@@ -184,27 +193,57 @@ var DxcDate = function DxcDate(_ref) {
184
193
  padding: "0px"
185
194
  }
186
195
  },
196
+ MuiTouchRipple: {
197
+ child: {
198
+ opacity: "0"
199
+ }
200
+ },
201
+ MuiButtonBase: {
202
+ root: {
203
+ "&:focus": {
204
+ outline: colorsTheme.date.focusColor + " solid 2px"
205
+ }
206
+ }
207
+ },
187
208
  MuiPickersBasePicker: {
188
209
  pickerView: {
189
210
  minWidth: "unset",
190
211
  maxWidth: "unset",
191
212
  minHeight: "unset",
192
213
  padding: "0px 10px",
193
- height: "316px"
214
+ height: colorsTheme.date.pickerHeight,
215
+ width: colorsTheme.date.pickerWidth,
216
+ backgroundColor: colorsTheme.date.pickerBackgroundColor,
217
+ fontFamily: colorsTheme.date.fontFamily
194
218
  }
195
219
  },
196
220
  MuiPickersToolbarText: {
197
221
  toolbarTxt: {
198
- color: colorsTheme.black
222
+ color: colorsTheme.date.pickerActualDateColor,
223
+ fontFamily: colorsTheme.date.fontFamily,
224
+ fontSize: "2rem"
199
225
  },
200
226
  toolbarBtnSelected: {
201
- color: colorsTheme.black
227
+ color: colorsTheme.date.pickerActualDateColor
202
228
  }
203
229
  },
204
230
  MuiPickersCalendarHeader: {
231
+ transitionContainer: {
232
+ color: colorsTheme.date.pickerMonthColor
233
+ },
234
+ dayLabel: {
235
+ color: colorsTheme.date.pickerWeekLabelColor,
236
+ fontFamily: colorsTheme.date.fontFamily
237
+ },
205
238
  switchHeader: {
206
239
  backgroundColor: colorsTheme.white,
207
- color: colorsTheme.black
240
+ color: colorsTheme.date.pickerFontColor
241
+ },
242
+ iconButton: {
243
+ backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows,
244
+ "&:hover": {
245
+ backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows
246
+ }
208
247
  }
209
248
  },
210
249
  MuiPickersCalendar: {
@@ -214,42 +253,52 @@ var DxcDate = function DxcDate(_ref) {
214
253
  },
215
254
  MuiPickersDay: {
216
255
  current: {
217
- color: colorsTheme.black
256
+ border: colorsTheme.date.pickerActualDateColor + " 2px solid",
257
+ color: colorsTheme.date.pickerFontColor
218
258
  },
219
259
  day: {
220
- color: colorsTheme.black
260
+ fontFamily: colorsTheme.date.fontFamily,
261
+ color: colorsTheme.date.pickerFontColor,
262
+ "&:hover": {
263
+ backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor,
264
+ color: colorsTheme.date.pickerHoverDateFontColor
265
+ }
221
266
  },
222
267
  daySelected: {
223
- backgroundColor: colorsTheme.black,
224
- color: colorsTheme.yellow,
268
+ backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
269
+ color: colorsTheme.date.pickerSelectedDateColor,
225
270
  "&:hover": {
226
- backgroundColor: colorsTheme.black
271
+ backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
272
+ color: colorsTheme.date.pickerSelectedDateColor,
273
+ opacity: "1"
227
274
  }
228
275
  }
229
276
  },
230
277
  MuiPickersYear: {
231
278
  yearSelected: {
232
- color: colorsTheme.yellow,
233
- backgroundColor: colorsTheme.black,
279
+ color: colorsTheme.date.pickerSelectedDateColor,
280
+ backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
234
281
  margin: "0px 100px",
235
- borderRadius: "20px",
236
- fontSize: "16px"
282
+ borderRadius: "20px"
283
+ },
284
+ root: {
285
+ "&:focus": {
286
+ color: colorsTheme.date.pickerHoverDateFontColor,
287
+ backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor
288
+ }
237
289
  }
238
290
  },
239
291
  MuiPickersModal: {
240
292
  dialogAction: {
241
- color: colorsTheme.yellow
293
+ color: "pink"
242
294
  }
243
295
  }
244
- },
245
- typography: {
246
- fontFamily: '"Open Sans", sans-serif'
247
296
  }
248
297
  });
249
298
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
250
299
  theme: colorsTheme
251
300
  }, _react["default"].createElement(_core.MuiThemeProvider, {
252
- theme: lightTheme
301
+ theme: dateTheme
253
302
  }, _react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
254
303
  utils: _dateFns["default"]
255
304
  }, _react["default"].createElement(StyledDPicker, {
@@ -257,9 +306,7 @@ var DxcDate = function DxcDate(_ref) {
257
306
  }, _react["default"].createElement(_InputText["default"], {
258
307
  label: label,
259
308
  name: name,
260
- suffixIconSrc: theme === "dark" ? _calendar_dark["default"] : _calendar["default"],
261
- theme: theme,
262
- disableRipple: disableRipple,
309
+ suffixIcon: calendarSVG,
263
310
  required: required,
264
311
  invalid: invalid,
265
312
  disabled: disabled,
@@ -270,7 +317,8 @@ var DxcDate = function DxcDate(_ref) {
270
317
  value: value == null ? innerValue : value,
271
318
  onClickSuffix: openCalendar,
272
319
  onChange: onChangeInput,
273
- onBlur: onBlur && handlerInputBlur || null
320
+ onBlur: onBlur && handlerInputBlur || null,
321
+ tabIndex: tabIndex
274
322
  }), _react["default"].createElement(_Popover["default"], {
275
323
  open: isOpen,
276
324
  anchorEl: anchorEl,
@@ -288,9 +336,7 @@ var DxcDate = function DxcDate(_ref) {
288
336
  }
289
337
  }
290
338
  }, _react["default"].createElement(_ClickAwayListener["default"], {
291
- onClickAway: function onClickAway() {
292
- return setIsOpen(false);
293
- }
339
+ onClickAway: handlerPickerClose
294
340
  }, _react["default"].createElement(_core.Paper, null, _react["default"].createElement(_pickers.DatePicker, {
295
341
  variant: "static",
296
342
  value: getValueForPicker(),
@@ -308,15 +354,7 @@ var sizes = {
308
354
  fillParent: "100%"
309
355
  };
310
356
 
311
- var StyledDPicker = _styledComponents["default"].div(_templateObject(), function (props) {
312
- return props.brightness === "light" && props.mode === "outlined" ? props.theme.black : props.brightness === "light" && props.mode === "basic" ? props.theme.white : props.brightness === "dark" && props.mode === "outlined" ? props.theme.white : props.brightness === "dark" && props.mode === "basic" ? props.theme.black : props.theme.black;
313
- }, function (props) {
314
- return props.brightness === "light" && props.mode === "outlined" ? props.theme.white : props.brightness === "light" && props.mode === "basic" ? props.theme.black : props.brightness === "dark" && props.mode === "outlined" ? props.theme.black : props.brightness === "dark" && props.mode === "basic" ? props.theme.white : props.theme.white;
315
- }, function (props) {
316
- return props.brightness === "light" && props.mode === "outlined" ? props.theme.black : props.brightness === "light" && props.mode === "basic" ? props.theme.white : props.brightness === "dark" && props.mode === "outlined" ? props.theme.white : props.brightness === "dark" && props.mode === "basic" ? props.theme.black : props.theme.black;
317
- }, function (props) {
318
- return props.mode === "outlined" ? "-2px" : "2px";
319
- });
357
+ var StyledDPicker = _styledComponents["default"].div(_templateObject());
320
358
 
321
359
  DxcDate.propTypes = (_DxcDate$propTypes = {
322
360
  value: _propTypes["default"].string,
@@ -329,7 +367,6 @@ DxcDate.propTypes = (_DxcDate$propTypes = {
329
367
  placeholder: _propTypes["default"].bool,
330
368
  assistiveText: _propTypes["default"].string,
331
369
  invalid: _propTypes["default"].bool,
332
- disableRipple: _propTypes["default"].bool,
333
370
  onChange: _propTypes["default"].func,
334
371
  onBlur: _propTypes["default"].func
335
372
  }, (0, _defineProperty2["default"])(_DxcDate$propTypes, "onChange", _propTypes["default"].func), (0, _defineProperty2["default"])(_DxcDate$propTypes, "size", _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes)))), (0, _defineProperty2["default"])(_DxcDate$propTypes, "margin", _propTypes["default"].oneOfType([_propTypes["default"].shape({
@@ -337,6 +374,6 @@ DxcDate.propTypes = (_DxcDate$propTypes = {
337
374
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
338
375
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
339
376
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
340
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])), _DxcDate$propTypes);
377
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])), (0, _defineProperty2["default"])(_DxcDate$propTypes, "tabIndex", _propTypes["default"].number), _DxcDate$propTypes);
341
378
  var _default = DxcDate;
342
379
  exports["default"] = _default;
@@ -15,6 +15,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
15
 
16
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
17
 
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
18
20
  var _react = _interopRequireWildcard(require("react"));
19
21
 
20
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
@@ -25,10 +27,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
25
27
 
26
28
  var _variables = require("../common/variables.js");
27
29
 
28
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
29
33
 
30
34
  function _templateObject4() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 34px;\n height: 34px;\n"]);
35
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n"]);
32
36
 
33
37
  _templateObject4 = function _templateObject4() {
34
38
  return data;
@@ -38,7 +42,7 @@ function _templateObject4() {
38
42
  }
39
43
 
40
44
  function _templateObject3() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: 20px;\n right: 20px;\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n width: 34px;\n height: 34px;\n"]);
45
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: ", ";\n right: ", ";\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n color: ", ";\n width: ", ";\n height: ", ";\n border: none;\n"]);
42
46
 
43
47
  _templateObject3 = function _templateObject3() {
44
48
  return data;
@@ -48,7 +52,7 @@ function _templateObject3() {
48
52
  }
49
53
 
50
54
  function _templateObject2() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n & * {\n ::-webkit-scrollbar {\n width: 3px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n }\n"]);
55
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
52
56
 
53
57
  _templateObject2 = function _templateObject2() {
54
58
  return data;
@@ -58,7 +62,7 @@ function _templateObject2() {
58
62
  }
59
63
 
60
64
  function _templateObject() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n\n .MuiBackdrop-root {\n background-color: ", ";\n }\n .MuiDialog-paperWidthSm {\n max-width: 80%;\n min-width: 64%;\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: 0px 1px 3px ", ";\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"]);
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n max-width: ", ";\n min-width: ", ";\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"]);
62
66
 
63
67
  _templateObject = function _templateObject() {
64
68
  return data;
@@ -75,53 +79,86 @@ var DxcDialog = function DxcDialog(_ref) {
75
79
  _ref$overlay = _ref.overlay,
76
80
  overlay = _ref$overlay === void 0 ? true : _ref$overlay,
77
81
  onBackgroundClick = _ref.onBackgroundClick,
78
- padding = _ref.padding;
82
+ padding = _ref.padding,
83
+ _ref$tabIndex = _ref.tabIndex,
84
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
85
+
86
+ var _useState = (0, _react.useState)(),
87
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
88
+ isResponsive = _useState2[0],
89
+ setIsResponsive = _useState2[1];
79
90
 
80
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
91
+ var colorsTheme = (0, _useTheme["default"])();
81
92
 
82
93
  var handleClose = function handleClose() {
83
- if (typeof onCloseClick === "function") {
84
- onCloseClick();
85
- }
94
+ typeof onCloseClick === "function" && onCloseClick();
86
95
  };
87
96
 
88
97
  var handleOverlayClick = function handleOverlayClick() {
89
- if (typeof onBackgroundClick === "function") {
90
- onBackgroundClick();
91
- }
98
+ typeof onBackgroundClick === "function" && onBackgroundClick();
99
+ };
100
+
101
+ var handleResize = function handleResize(width) {
102
+ width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
103
+ };
104
+
105
+ var handleEventListener = function handleEventListener() {
106
+ handleResize(window.innerWidth);
92
107
  };
93
108
 
109
+ (0, _react.useEffect)(function () {
110
+ window.addEventListener("resize", handleEventListener);
111
+ handleResize(window.innerWidth);
112
+ return function () {
113
+ window.removeEventListener("resize", handleEventListener);
114
+ };
115
+ }, []);
94
116
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
95
- theme: colorsTheme
117
+ theme: colorsTheme.dialog
96
118
  }, _react["default"].createElement(DialogContainer, {
97
119
  open: true,
98
120
  isCloseVisible: isCloseVisible,
99
121
  onClose: handleOverlayClick,
100
122
  overlay: overlay,
101
- padding: padding
123
+ padding: padding,
124
+ isResponsive: isResponsive
102
125
  }, isCloseVisible && _react["default"].createElement(CloseIconContainer, {
103
- onClick: handleClose
126
+ onClick: handleClose,
127
+ tabIndex: tabIndex
104
128
  }, _react["default"].createElement(CloseIcon, {
105
129
  xmlns: "http://www.w3.org/2000/svg",
106
130
  width: "24",
107
131
  height: "24",
108
- viewBox: "0 0 24 24"
132
+ viewBox: "0 0 24 24",
133
+ fill: "currentColor"
109
134
  }, _react["default"].createElement("path", {
110
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
111
- }), _react["default"].createElement("path", {
112
- d: "M0 0h24v24H0z",
135
+ d: "M0 0h24v24H0V0z",
113
136
  fill: "none"
114
- }))), _react["default"].createElement(Children, null, children)));
137
+ }), _react["default"].createElement("path", {
138
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
139
+ }))), _react["default"].createElement(Children, null, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
140
+ color: colorsTheme.dialog.backgroundColor
141
+ }, children))));
115
142
  };
116
143
 
117
144
  var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject(), function (props) {
118
- return props.overlay === true ? props.theme.mediumBlack : "transparent";
145
+ return props.theme.fontFamily;
146
+ }, function (props) {
147
+ return props.overlay === true ? props.theme.overlayColor : "transparent";
148
+ }, function (props) {
149
+ return props.overlay === true && props.theme.overlayOpacity;
150
+ }, function (props) {
151
+ return props.theme.backgroundColor;
152
+ }, function (props) {
153
+ return props.isResponsive ? "92%" : "80%";
154
+ }, function (props) {
155
+ return props.isResponsive ? "92%" : "800px";
119
156
  }, function (props) {
120
157
  return props.isCloseVisible ? "72px" : "";
121
158
  }, function (props) {
122
- return props.theme.mediumGrey;
159
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
123
160
  }, function (props) {
124
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
161
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
125
162
  }, function (props) {
126
163
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
127
164
  }, function (props) {
@@ -132,19 +169,35 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
132
169
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
133
170
  });
134
171
 
135
- var Children = _styledComponents["default"].div(_templateObject2(), function (props) {
136
- return props.theme.lightGrey;
172
+ var Children = _styledComponents["default"].div(_templateObject2());
173
+
174
+ var CloseIconContainer = _styledComponents["default"].button(_templateObject3(), function (props) {
175
+ return props.theme.closeIconTopPosition;
137
176
  }, function (props) {
138
- return props.theme.darkGrey;
177
+ return props.theme.closeIconRightPosition;
139
178
  }, function (props) {
140
- return props.theme.lightGrey;
179
+ return props.theme.closeIconColor;
141
180
  }, function (props) {
142
- return props.theme.darkGrey;
181
+ return props.theme.closeIconWidth;
182
+ }, function (props) {
183
+ return props.theme.closeIconHeight;
143
184
  });
144
185
 
145
- var CloseIconContainer = _styledComponents["default"].button(_templateObject3());
146
-
147
- var CloseIcon = _styledComponents["default"].svg(_templateObject4());
186
+ var CloseIcon = _styledComponents["default"].svg(_templateObject4(), function (props) {
187
+ return props.theme.closeIconBackgroundColor;
188
+ }, function (props) {
189
+ return props.theme.closeIconWidth;
190
+ }, function (props) {
191
+ return props.theme.closeIconHeight;
192
+ }, function (props) {
193
+ return props.theme.closeIconBorderRadius;
194
+ }, function (props) {
195
+ return props.theme.closeIconBorderThickness;
196
+ }, function (props) {
197
+ return props.theme.closeIconBorderStyle;
198
+ }, function (props) {
199
+ return props.theme.closeIconBorderColor;
200
+ });
148
201
 
149
202
  DxcDialog.propTypes = {
150
203
  padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
@@ -158,7 +211,8 @@ DxcDialog.propTypes = {
158
211
  onClose: _propTypes["default"].func,
159
212
  onCloseClick: _propTypes["default"].func,
160
213
  onBackgroundClick: _propTypes["default"].func,
161
- overlay: _propTypes["default"].bool
214
+ overlay: _propTypes["default"].bool,
215
+ tabIndex: _propTypes["default"].number
162
216
  };
163
217
  var _default = DxcDialog;
164
218
  exports["default"] = _default;