@dxc-technology/halstack-react 0.0.0-506547 → 0.0.0-5145b03
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.
- package/README.md +1 -1
- package/dist/BackgroundColorContext.js +46 -0
- package/dist/ThemeContext.js +211 -141
- package/dist/V3Textarea/V3Textarea.js +264 -0
- package/dist/accordion/Accordion.js +131 -46
- package/dist/accordion-group/AccordionGroup.js +36 -9
- package/dist/alert/Alert.js +180 -80
- package/dist/alert/index.d.ts +51 -0
- package/dist/badge/Badge.js +28 -7
- package/dist/box/Box.js +29 -18
- package/dist/button/Button.js +60 -21
- package/dist/card/Card.js +72 -35
- package/dist/checkbox/Checkbox.js +97 -26
- package/dist/chip/Chip.js +93 -31
- package/dist/common/utils.js +2 -22
- package/dist/common/variables.js +1406 -203
- package/dist/date/Date.js +74 -52
- package/dist/date-input/DateInput.js +400 -0
- package/dist/date-input/index.d.ts +95 -0
- package/dist/dialog/Dialog.js +54 -31
- package/dist/dropdown/Dropdown.js +173 -75
- package/dist/file-input/FileInput.js +644 -0
- package/dist/file-input/FileItem.js +280 -0
- package/dist/file-input/index.d.ts +81 -0
- package/dist/footer/Footer.js +73 -44
- package/dist/footer/dxc_logo.svg +15 -0
- package/dist/header/Header.js +91 -56
- package/dist/header/dxc_logo_black.svg +8 -0
- package/dist/heading/Heading.js +81 -16
- package/dist/input-text/InputText.js +250 -113
- package/dist/layout/ApplicationLayout.js +11 -12
- package/dist/link/Link.js +84 -34
- package/dist/main.d.ts +8 -0
- package/dist/main.js +71 -7
- package/dist/new-select/NewSelect.js +836 -0
- package/dist/new-select/index.d.ts +53 -0
- package/dist/new-textarea/NewTextarea.js +369 -0
- package/dist/new-textarea/index.d.ts +117 -0
- package/dist/number-input/NumberInput.js +136 -0
- package/dist/number-input/NumberInputContext.js +16 -0
- package/dist/number-input/index.d.ts +113 -0
- package/dist/paginator/Paginator.js +64 -29
- package/dist/password-input/PasswordInput.js +198 -0
- package/dist/password-input/index.d.ts +94 -0
- package/dist/progress-bar/ProgressBar.js +91 -33
- package/dist/radio/Radio.js +30 -11
- package/dist/resultsetTable/ResultsetTable.js +79 -48
- package/dist/select/Select.js +225 -144
- package/dist/sidenav/Sidenav.js +65 -11
- package/dist/slider/Slider.js +198 -61
- package/dist/spinner/Spinner.js +246 -57
- package/dist/switch/Switch.js +51 -19
- package/dist/table/Table.js +49 -21
- package/dist/tabs/Tabs.js +58 -17
- package/dist/tag/Tag.js +68 -35
- package/dist/text-input/TextInput.js +971 -0
- package/dist/text-input/index.d.ts +135 -0
- package/dist/toggle/Toggle.js +16 -19
- package/dist/toggle-group/ToggleGroup.js +141 -37
- package/dist/upload/Upload.js +16 -11
- package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
- package/dist/upload/file-upload/FileToUpload.js +50 -24
- package/dist/upload/files-upload/FilesToUpload.js +16 -16
- package/dist/upload/readme.md +2 -2
- package/dist/upload/transaction/Transaction.js +44 -24
- package/dist/upload/transactions/Transactions.js +38 -20
- package/dist/wizard/Wizard.js +125 -42
- package/dist/wizard/invalid_icon.svg +4 -5
- package/dist/wizard/valid_icon.svg +4 -5
- package/package.json +6 -4
- package/test/AccordionGroup.test.js +16 -0
- package/test/Date.test.js +49 -45
- package/test/DateInput.test.js +242 -0
- package/test/Dropdown.test.js +15 -0
- package/test/FileInput.test.js +201 -0
- package/test/InputText.test.js +25 -17
- package/test/Link.test.js +3 -2
- package/test/NewTextarea.test.js +195 -0
- package/test/NumberInput.test.js +259 -0
- package/test/Paginator.test.js +1 -1
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +1 -2
- package/test/Select.test.js +44 -24
- package/test/Spinner.test.js +5 -0
- package/test/TextInput.test.js +732 -0
- package/test/ToggleGroup.test.js +5 -1
- package/test/Upload.test.js +5 -5
- package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/accordion-group/AccordionGroup.stories.js +0 -207
- package/dist/accordion-group/readme.md +0 -70
- package/dist/alert/Alert.stories.js +0 -158
- package/dist/alert/close.svg +0 -4
- package/dist/alert/error.svg +0 -4
- package/dist/alert/info.svg +0 -4
- package/dist/alert/readme.md +0 -43
- package/dist/alert/success.svg +0 -4
- package/dist/alert/warning.svg +0 -4
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/common/services/example-service.js +0 -10
- package/dist/common/services/example-service.test.js +0 -12
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.stories.js +0 -249
- package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
- package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
- package/dist/dropdown/readme.md +0 -69
- package/dist/footer/Footer.stories.js +0 -94
- package/dist/footer/dxc_logo_wht.png +0 -0
- package/dist/header/dxc_logo_black.png +0 -0
- package/dist/header/dxc_logo_blk_rgb.svg +0 -6
- package/dist/header/dxc_logo_white.png +0 -0
- package/dist/input-text/InputText.stories.js +0 -209
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/textarea/Textarea.js +0 -224
- package/dist/toggle-group/readme.md +0 -82
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
|
|
45
|
-
|
|
46
|
-
var _calendar = _interopRequireDefault(require("./calendar.svg"));
|
|
42
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
47
43
|
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
var _DxcDate$propTypes;
|
|
44
|
+
var _V3DxcDate$propTypes;
|
|
51
45
|
|
|
52
46
|
function _templateObject() {
|
|
53
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["
|
|
47
|
+
var data = (0, _taggedTemplateLiteral2["default"])([""]);
|
|
54
48
|
|
|
55
49
|
_templateObject = function _templateObject() {
|
|
56
50
|
return data;
|
|
@@ -59,7 +53,7 @@ function _templateObject() {
|
|
|
59
53
|
return data;
|
|
60
54
|
}
|
|
61
55
|
|
|
62
|
-
var
|
|
56
|
+
var V3DxcDate = function V3DxcDate(_ref) {
|
|
63
57
|
var value = _ref.value,
|
|
64
58
|
_ref$format = _ref.format,
|
|
65
59
|
format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
|
|
@@ -81,7 +75,9 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
81
75
|
onBlur = _ref$onBlur === void 0 ? "" : _ref$onBlur,
|
|
82
76
|
margin = _ref.margin,
|
|
83
77
|
_ref$size = _ref.size,
|
|
84
|
-
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;
|
|
85
81
|
|
|
86
82
|
var _useState = (0, _react.useState)(""),
|
|
87
83
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -98,25 +94,16 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
98
94
|
anchorEl = _useState6[0],
|
|
99
95
|
setAnchorEl = _useState6[1];
|
|
100
96
|
|
|
101
|
-
var
|
|
102
|
-
var colorsTheme = (0, _react.useMemo)(function () {
|
|
103
|
-
return (0, _utils.getCustomTheme)(_variables.componentTokens, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
|
|
104
|
-
}, [customTheme]);
|
|
97
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
105
98
|
|
|
106
|
-
function handleMenuItemClick(date) {
|
|
99
|
+
var handleMenuItemClick = function handleMenuItemClick(date) {
|
|
107
100
|
var stringValue = (0, _moment["default"])(date).format(format.toUpperCase());
|
|
108
|
-
|
|
109
|
-
if (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
onChange({
|
|
115
|
-
stringValue: stringValue,
|
|
116
|
-
dateValue: date && date.toJSON() ? date : null
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
101
|
+
if (value == null) setInnerValue(stringValue);
|
|
102
|
+
if (typeof onChange === "function") onChange({
|
|
103
|
+
stringValue: stringValue,
|
|
104
|
+
dateValue: date && date.toJSON() ? date : null
|
|
105
|
+
});
|
|
106
|
+
};
|
|
120
107
|
|
|
121
108
|
var onChangeInput = function onChangeInput(string) {
|
|
122
109
|
var momentDate = (0, _moment["default"])(string, format.toUpperCase(), true);
|
|
@@ -135,10 +122,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
135
122
|
|
|
136
123
|
var handlerInputBlur = function handlerInputBlur(inputString) {
|
|
137
124
|
setInnerValue(inputString);
|
|
138
|
-
|
|
139
|
-
if (onBlur) {
|
|
140
|
-
onBlur(inputString);
|
|
141
|
-
}
|
|
125
|
+
if (onBlur) onBlur(inputString);
|
|
142
126
|
};
|
|
143
127
|
|
|
144
128
|
var getValueForPicker = function getValueForPicker() {
|
|
@@ -157,19 +141,41 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
157
141
|
handlerInputBlur(value == null ? innerValue : value);
|
|
158
142
|
};
|
|
159
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
160
|
var dateTheme = (0, _core.createMuiTheme)({
|
|
161
161
|
overrides: {
|
|
162
|
+
MuiTypography: {
|
|
163
|
+
root: {
|
|
164
|
+
fontFamily: "".concat(colorsTheme.date.fontFamily, " !important")
|
|
165
|
+
}
|
|
166
|
+
},
|
|
162
167
|
MuiPickersYearSelection: {
|
|
163
168
|
container: {
|
|
169
|
+
color: colorsTheme.date.pickerYearColor,
|
|
164
170
|
"&::-webkit-scrollbar": {
|
|
165
171
|
width: "3px"
|
|
166
172
|
},
|
|
167
173
|
"&::-webkit-scrollbar-track": {
|
|
168
|
-
backgroundColor:
|
|
174
|
+
backgroundColor: "#D9D9D9",
|
|
169
175
|
borderRadius: "3px"
|
|
170
176
|
},
|
|
171
177
|
"&::-webkit-scrollbar-thumb": {
|
|
172
|
-
backgroundColor:
|
|
178
|
+
backgroundColor: "#666666",
|
|
173
179
|
borderRadius: "3px"
|
|
174
180
|
}
|
|
175
181
|
}
|
|
@@ -195,7 +201,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
195
201
|
MuiButtonBase: {
|
|
196
202
|
root: {
|
|
197
203
|
"&:focus": {
|
|
198
|
-
outline: colorsTheme.date.focusColor + " 2px
|
|
204
|
+
outline: colorsTheme.date.focusColor + " solid 2px"
|
|
199
205
|
}
|
|
200
206
|
}
|
|
201
207
|
},
|
|
@@ -205,21 +211,39 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
205
211
|
maxWidth: "unset",
|
|
206
212
|
minHeight: "unset",
|
|
207
213
|
padding: "0px 10px",
|
|
208
|
-
height:
|
|
214
|
+
height: colorsTheme.date.pickerHeight,
|
|
215
|
+
width: colorsTheme.date.pickerWidth,
|
|
216
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColor,
|
|
217
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
209
218
|
}
|
|
210
219
|
},
|
|
211
220
|
MuiPickersToolbarText: {
|
|
212
221
|
toolbarTxt: {
|
|
213
|
-
color: colorsTheme.date.
|
|
222
|
+
color: colorsTheme.date.pickerActualDateColor,
|
|
223
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
224
|
+
fontSize: "2rem"
|
|
214
225
|
},
|
|
215
226
|
toolbarBtnSelected: {
|
|
216
|
-
color: colorsTheme.date.
|
|
227
|
+
color: colorsTheme.date.pickerActualDateColor
|
|
217
228
|
}
|
|
218
229
|
},
|
|
219
230
|
MuiPickersCalendarHeader: {
|
|
231
|
+
transitionContainer: {
|
|
232
|
+
color: colorsTheme.date.pickerMonthColor
|
|
233
|
+
},
|
|
234
|
+
dayLabel: {
|
|
235
|
+
color: colorsTheme.date.pickerWeekLabelColor,
|
|
236
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
237
|
+
},
|
|
220
238
|
switchHeader: {
|
|
221
239
|
backgroundColor: colorsTheme.white,
|
|
222
240
|
color: colorsTheme.date.pickerFontColor
|
|
241
|
+
},
|
|
242
|
+
iconButton: {
|
|
243
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows,
|
|
244
|
+
"&:hover": {
|
|
245
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows
|
|
246
|
+
}
|
|
223
247
|
}
|
|
224
248
|
},
|
|
225
249
|
MuiPickersCalendar: {
|
|
@@ -229,13 +253,14 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
229
253
|
},
|
|
230
254
|
MuiPickersDay: {
|
|
231
255
|
current: {
|
|
232
|
-
border: colorsTheme.date.
|
|
256
|
+
border: colorsTheme.date.pickerActualDateColor + " 2px solid",
|
|
233
257
|
color: colorsTheme.date.pickerFontColor
|
|
234
258
|
},
|
|
235
259
|
day: {
|
|
260
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
236
261
|
color: colorsTheme.date.pickerFontColor,
|
|
237
262
|
"&:hover": {
|
|
238
|
-
backgroundColor: colorsTheme.date.
|
|
263
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor,
|
|
239
264
|
color: colorsTheme.date.pickerHoverDateFontColor
|
|
240
265
|
}
|
|
241
266
|
},
|
|
@@ -254,13 +279,12 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
254
279
|
color: colorsTheme.date.pickerSelectedDateColor,
|
|
255
280
|
backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
|
|
256
281
|
margin: "0px 100px",
|
|
257
|
-
borderRadius: "20px"
|
|
258
|
-
fontSize: "16px"
|
|
282
|
+
borderRadius: "20px"
|
|
259
283
|
},
|
|
260
284
|
root: {
|
|
261
285
|
"&:focus": {
|
|
262
286
|
color: colorsTheme.date.pickerHoverDateFontColor,
|
|
263
|
-
backgroundColor: colorsTheme.date.
|
|
287
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor
|
|
264
288
|
}
|
|
265
289
|
}
|
|
266
290
|
},
|
|
@@ -269,9 +293,6 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
269
293
|
color: "pink"
|
|
270
294
|
}
|
|
271
295
|
}
|
|
272
|
-
},
|
|
273
|
-
typography: {
|
|
274
|
-
fontFamily: '"Open Sans", sans-serif'
|
|
275
296
|
}
|
|
276
297
|
});
|
|
277
298
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
@@ -285,7 +306,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
285
306
|
}, _react["default"].createElement(_InputText["default"], {
|
|
286
307
|
label: label,
|
|
287
308
|
name: name,
|
|
288
|
-
|
|
309
|
+
suffixIcon: calendarSVG,
|
|
289
310
|
required: required,
|
|
290
311
|
invalid: invalid,
|
|
291
312
|
disabled: disabled,
|
|
@@ -296,7 +317,8 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
296
317
|
value: value == null ? innerValue : value,
|
|
297
318
|
onClickSuffix: openCalendar,
|
|
298
319
|
onChange: onChangeInput,
|
|
299
|
-
onBlur: onBlur && handlerInputBlur || null
|
|
320
|
+
onBlur: onBlur && handlerInputBlur || null,
|
|
321
|
+
tabIndex: tabIndex
|
|
300
322
|
}), _react["default"].createElement(_Popover["default"], {
|
|
301
323
|
open: isOpen,
|
|
302
324
|
anchorEl: anchorEl,
|
|
@@ -334,7 +356,7 @@ var sizes = {
|
|
|
334
356
|
|
|
335
357
|
var StyledDPicker = _styledComponents["default"].div(_templateObject());
|
|
336
358
|
|
|
337
|
-
|
|
359
|
+
V3DxcDate.propTypes = (_V3DxcDate$propTypes = {
|
|
338
360
|
value: _propTypes["default"].string,
|
|
339
361
|
format: _propTypes["default"].string,
|
|
340
362
|
label: _propTypes["default"].string,
|
|
@@ -347,11 +369,11 @@ DxcDate.propTypes = (_DxcDate$propTypes = {
|
|
|
347
369
|
invalid: _propTypes["default"].bool,
|
|
348
370
|
onChange: _propTypes["default"].func,
|
|
349
371
|
onBlur: _propTypes["default"].func
|
|
350
|
-
}, (0, _defineProperty2["default"])(
|
|
372
|
+
}, (0, _defineProperty2["default"])(_V3DxcDate$propTypes, "onChange", _propTypes["default"].func), (0, _defineProperty2["default"])(_V3DxcDate$propTypes, "size", _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes)))), (0, _defineProperty2["default"])(_V3DxcDate$propTypes, "margin", _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
351
373
|
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
352
374
|
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
353
375
|
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
354
376
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
355
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])),
|
|
356
|
-
var _default =
|
|
377
|
+
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])), (0, _defineProperty2["default"])(_V3DxcDate$propTypes, "tabIndex", _propTypes["default"].number), _V3DxcDate$propTypes);
|
|
378
|
+
var _default = V3DxcDate;
|
|
357
379
|
exports["default"] = _default;
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _pickers = require("@material-ui/pickers");
|
|
21
|
+
|
|
22
|
+
var _core = require("@material-ui/core");
|
|
23
|
+
|
|
24
|
+
var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener"));
|
|
25
|
+
|
|
26
|
+
var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
|
|
27
|
+
|
|
28
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
29
|
+
|
|
30
|
+
var _dateFns = _interopRequireDefault(require("@date-io/date-fns"));
|
|
31
|
+
|
|
32
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
33
|
+
|
|
34
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
35
|
+
|
|
36
|
+
var _variables = require("../common/variables.js");
|
|
37
|
+
|
|
38
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
39
|
+
|
|
40
|
+
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
41
|
+
|
|
42
|
+
function _templateObject() {
|
|
43
|
+
var data = (0, _taggedTemplateLiteral2["default"])([""]);
|
|
44
|
+
|
|
45
|
+
_templateObject = function _templateObject() {
|
|
46
|
+
return data;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
|
|
53
|
+
var _ref$label = _ref.label,
|
|
54
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
55
|
+
_ref$name = _ref.name,
|
|
56
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
57
|
+
value = _ref.value,
|
|
58
|
+
_ref$format = _ref.format,
|
|
59
|
+
format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
|
|
60
|
+
_ref$helperText = _ref.helperText,
|
|
61
|
+
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
62
|
+
_ref$placeholder = _ref.placeholder,
|
|
63
|
+
placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
|
|
64
|
+
_ref$clearable = _ref.clearable,
|
|
65
|
+
clearable = _ref$clearable === void 0 ? false : _ref$clearable,
|
|
66
|
+
_ref$disabled = _ref.disabled,
|
|
67
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
68
|
+
_ref$optional = _ref.optional,
|
|
69
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
70
|
+
onChange = _ref.onChange,
|
|
71
|
+
onBlur = _ref.onBlur,
|
|
72
|
+
_ref$error = _ref.error,
|
|
73
|
+
error = _ref$error === void 0 ? "" : _ref$error,
|
|
74
|
+
_ref$autocomplete = _ref.autocomplete,
|
|
75
|
+
autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
|
|
76
|
+
margin = _ref.margin,
|
|
77
|
+
_ref$size = _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;
|
|
81
|
+
|
|
82
|
+
var _useState = (0, _react.useState)(""),
|
|
83
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
84
|
+
innerValue = _useState2[0],
|
|
85
|
+
setInnerValue = _useState2[1];
|
|
86
|
+
|
|
87
|
+
var _useState3 = (0, _react.useState)(false),
|
|
88
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
89
|
+
isOpen = _useState4[0],
|
|
90
|
+
setIsOpen = _useState4[1];
|
|
91
|
+
|
|
92
|
+
var _useState5 = (0, _react.useState)(null),
|
|
93
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
94
|
+
anchorEl = _useState6[0],
|
|
95
|
+
setAnchorEl = _useState6[1];
|
|
96
|
+
|
|
97
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
98
|
+
|
|
99
|
+
var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
|
|
100
|
+
switch (event.keyCode) {
|
|
101
|
+
case 27:
|
|
102
|
+
// Esc
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
setIsOpen(false);
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
|
|
110
|
+
var newValue = (0, _moment["default"])(newDate).format(format.toUpperCase());
|
|
111
|
+
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
112
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
113
|
+
value: newValue,
|
|
114
|
+
error: null,
|
|
115
|
+
date: newDate && newDate.toJSON() ? newDate : null
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
var handleIOnChange = function handleIOnChange(_ref2) {
|
|
120
|
+
var newValue = _ref2.value,
|
|
121
|
+
inputError = _ref2.error;
|
|
122
|
+
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
123
|
+
var momentDate = (0, _moment["default"])(newValue, format.toUpperCase(), true);
|
|
124
|
+
var invalidDateMessage = newValue !== "" && !momentDate.isValid() ? "Invalid date." : null;
|
|
125
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
126
|
+
value: newValue,
|
|
127
|
+
error: inputError || invalidDateMessage,
|
|
128
|
+
date: momentDate.isValid() ? momentDate._d : null
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
var handleIOnBlur = function handleIOnBlur(_ref3) {
|
|
133
|
+
var value = _ref3.value,
|
|
134
|
+
inputError = _ref3.error;
|
|
135
|
+
var momentDate = (0, _moment["default"])(value, format.toUpperCase(), true);
|
|
136
|
+
var invalidDateMessage = value !== "" && !momentDate.isValid() ? "Invalid date." : null;
|
|
137
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
138
|
+
value: value,
|
|
139
|
+
error: inputError || invalidDateMessage,
|
|
140
|
+
date: momentDate.isValid() ? momentDate._d : null
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
var getValueForPicker = function getValueForPicker() {
|
|
145
|
+
return (0, _moment["default"])(value !== null && value !== void 0 ? value : innerValue, format.toUpperCase(), true).format();
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
var openCalendar = function openCalendar(event) {
|
|
149
|
+
if (event) {
|
|
150
|
+
setIsOpen(!isOpen);
|
|
151
|
+
setAnchorEl(event.currentTarget);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
var closeCalendar = function closeCalendar() {
|
|
156
|
+
setIsOpen(false);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
var calendarAction = {
|
|
160
|
+
onClick: openCalendar,
|
|
161
|
+
icon: _react["default"].createElement("svg", {
|
|
162
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
163
|
+
height: "24",
|
|
164
|
+
viewBox: "0 0 24 24",
|
|
165
|
+
width: "24",
|
|
166
|
+
fill: "currentColor"
|
|
167
|
+
}, _react["default"].createElement("path", {
|
|
168
|
+
d: "M0 0h24v24H0z",
|
|
169
|
+
fill: "none"
|
|
170
|
+
}), _react["default"].createElement("path", {
|
|
171
|
+
d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
|
|
172
|
+
}))
|
|
173
|
+
};
|
|
174
|
+
var dateTheme = (0, _core.createMuiTheme)({
|
|
175
|
+
overrides: {
|
|
176
|
+
MuiTypography: {
|
|
177
|
+
root: {
|
|
178
|
+
fontFamily: "".concat(colorsTheme.dateInput.pickerFontFamily, " !important")
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
MuiPickersYearSelection: {
|
|
182
|
+
container: {
|
|
183
|
+
color: colorsTheme.dateInput.pickerYearFontColor,
|
|
184
|
+
"&::-webkit-scrollbar": {
|
|
185
|
+
width: "3px"
|
|
186
|
+
},
|
|
187
|
+
"&::-webkit-scrollbar-track": {
|
|
188
|
+
backgroundColor: "#D9D9D9",
|
|
189
|
+
borderRadius: "3px"
|
|
190
|
+
},
|
|
191
|
+
"&::-webkit-scrollbar-thumb": {
|
|
192
|
+
backgroundColor: "#666666",
|
|
193
|
+
borderRadius: "3px"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
MuiPickersToolbar: {
|
|
198
|
+
toolbar: {
|
|
199
|
+
backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
|
|
200
|
+
color: colorsTheme.dateInput.pickerDayFontColor
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
MuiIconButton: {
|
|
204
|
+
root: {
|
|
205
|
+
height: "36px",
|
|
206
|
+
width: "36px",
|
|
207
|
+
padding: "0px"
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
MuiTouchRipple: {
|
|
211
|
+
child: {
|
|
212
|
+
opacity: "0"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
MuiButtonBase: {
|
|
216
|
+
root: {
|
|
217
|
+
"&:focus": {
|
|
218
|
+
outline: colorsTheme.dateInput.pickerFocusColor + " solid 2px"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
MuiPickersBasePicker: {
|
|
223
|
+
pickerView: {
|
|
224
|
+
minWidth: "unset",
|
|
225
|
+
maxWidth: "unset",
|
|
226
|
+
minHeight: "unset",
|
|
227
|
+
padding: "0px 10px",
|
|
228
|
+
height: colorsTheme.dateInput.pickerHeight,
|
|
229
|
+
width: colorsTheme.dateInput.pickerWidth,
|
|
230
|
+
backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
|
|
231
|
+
fontFamily: colorsTheme.dateInput.pickerFontFamily
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
MuiPickersToolbarText: {
|
|
235
|
+
toolbarTxt: {
|
|
236
|
+
color: colorsTheme.dateInput.pickerActualDateFontColor,
|
|
237
|
+
fontFamily: colorsTheme.dateInput.pickerFontFamily,
|
|
238
|
+
fontSize: "2rem"
|
|
239
|
+
},
|
|
240
|
+
toolbarBtnSelected: {
|
|
241
|
+
color: colorsTheme.dateInput.pickerActualDateFontColor
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
MuiPickersCalendarHeader: {
|
|
245
|
+
transitionContainer: {
|
|
246
|
+
color: colorsTheme.dateInput.pickerMonthFontColor
|
|
247
|
+
},
|
|
248
|
+
dayLabel: {
|
|
249
|
+
color: colorsTheme.dateInput.pickerWeekFontColor,
|
|
250
|
+
fontFamily: colorsTheme.dateInput.pickerFontFamily
|
|
251
|
+
},
|
|
252
|
+
switchHeader: {
|
|
253
|
+
backgroundColor: "#ffffff",
|
|
254
|
+
color: colorsTheme.dateInput.pickerDayFontColor
|
|
255
|
+
},
|
|
256
|
+
iconButton: {
|
|
257
|
+
backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor,
|
|
258
|
+
"&:hover": {
|
|
259
|
+
backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
MuiPickersCalendar: {
|
|
264
|
+
week: {
|
|
265
|
+
marginBottom: "2px"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
MuiPickersDay: {
|
|
269
|
+
current: {
|
|
270
|
+
color: colorsTheme.dateInput.pickerDayFontColor
|
|
271
|
+
},
|
|
272
|
+
day: {
|
|
273
|
+
fontFamily: colorsTheme.dateInput.pickerFontFamily,
|
|
274
|
+
color: colorsTheme.dateInput.pickerDayFontColor,
|
|
275
|
+
"&:hover": {
|
|
276
|
+
backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor,
|
|
277
|
+
color: colorsTheme.dateInput.pickerHoverDateFontColor
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
daySelected: {
|
|
281
|
+
backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
|
|
282
|
+
color: colorsTheme.dateInput.pickerSelectedDateColor,
|
|
283
|
+
"&:hover": {
|
|
284
|
+
backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
|
|
285
|
+
color: colorsTheme.dateInput.pickerSelectedDateColor,
|
|
286
|
+
opacity: "1"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
MuiPickersYear: {
|
|
291
|
+
yearSelected: {
|
|
292
|
+
color: colorsTheme.dateInput.pickerSelectedDateColor,
|
|
293
|
+
backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
|
|
294
|
+
margin: "0px 100px",
|
|
295
|
+
borderRadius: "20px"
|
|
296
|
+
},
|
|
297
|
+
root: {
|
|
298
|
+
"&:focus": {
|
|
299
|
+
color: colorsTheme.dateInput.pickerHoverDateFontColor,
|
|
300
|
+
backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
MuiPickersModal: {
|
|
305
|
+
dialogAction: {
|
|
306
|
+
color: "pink"
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
312
|
+
theme: colorsTheme
|
|
313
|
+
}, _react["default"].createElement(_core.MuiThemeProvider, {
|
|
314
|
+
theme: dateTheme
|
|
315
|
+
}, _react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
|
|
316
|
+
utils: _dateFns["default"]
|
|
317
|
+
}, _react["default"].createElement(StyledDPicker, null, _react["default"].createElement(_TextInput["default"], {
|
|
318
|
+
label: label,
|
|
319
|
+
name: name,
|
|
320
|
+
value: value !== null && value !== void 0 ? value : innerValue,
|
|
321
|
+
helperText: helperText,
|
|
322
|
+
placeholder: placeholder ? format.toUpperCase() : null,
|
|
323
|
+
action: calendarAction,
|
|
324
|
+
clearable: clearable,
|
|
325
|
+
disabled: disabled,
|
|
326
|
+
optional: optional,
|
|
327
|
+
onChange: handleIOnChange,
|
|
328
|
+
onBlur: handleIOnBlur,
|
|
329
|
+
error: error,
|
|
330
|
+
autocomplete: autocomplete,
|
|
331
|
+
margin: margin,
|
|
332
|
+
size: size,
|
|
333
|
+
tabIndex: tabIndex,
|
|
334
|
+
ref: ref
|
|
335
|
+
}), _react["default"].createElement(_Popover["default"], {
|
|
336
|
+
onKeyDown: handleCalendarOnKeyDown,
|
|
337
|
+
open: isOpen,
|
|
338
|
+
anchorEl: anchorEl,
|
|
339
|
+
anchorOrigin: {
|
|
340
|
+
vertical: "bottom",
|
|
341
|
+
horizontal: "left"
|
|
342
|
+
},
|
|
343
|
+
transformOrigin: {
|
|
344
|
+
vertical: "top",
|
|
345
|
+
horizontal: "center"
|
|
346
|
+
},
|
|
347
|
+
PaperProps: {
|
|
348
|
+
style: {
|
|
349
|
+
marginTop: "10px"
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}, _react["default"].createElement(_ClickAwayListener["default"], {
|
|
353
|
+
onClickAway: closeCalendar
|
|
354
|
+
}, _react["default"].createElement(_core.Paper, {
|
|
355
|
+
role: "dialog",
|
|
356
|
+
"aria-modal": "true"
|
|
357
|
+
}, _react["default"].createElement(_pickers.DatePicker, {
|
|
358
|
+
variant: "static",
|
|
359
|
+
value: getValueForPicker(),
|
|
360
|
+
onChange: function onChange(date) {
|
|
361
|
+
return handleCalendarOnClick(date);
|
|
362
|
+
},
|
|
363
|
+
format: format,
|
|
364
|
+
disabled: disabled
|
|
365
|
+
}))))))));
|
|
366
|
+
});
|
|
367
|
+
|
|
368
|
+
var sizes = {
|
|
369
|
+
medium: "360px",
|
|
370
|
+
large: "480px",
|
|
371
|
+
fillParent: "100%"
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
var StyledDPicker = _styledComponents["default"].div(_templateObject());
|
|
375
|
+
|
|
376
|
+
DxcDateInput.propTypes = {
|
|
377
|
+
label: _propTypes["default"].string,
|
|
378
|
+
name: _propTypes["default"].string,
|
|
379
|
+
value: _propTypes["default"].string,
|
|
380
|
+
format: _propTypes["default"].string,
|
|
381
|
+
helperText: _propTypes["default"].string,
|
|
382
|
+
placeholder: _propTypes["default"].bool,
|
|
383
|
+
clearable: _propTypes["default"].bool,
|
|
384
|
+
disabled: _propTypes["default"].bool,
|
|
385
|
+
optional: _propTypes["default"].bool,
|
|
386
|
+
onChange: _propTypes["default"].func,
|
|
387
|
+
onBlur: _propTypes["default"].func,
|
|
388
|
+
error: _propTypes["default"].string,
|
|
389
|
+
autocomplete: _propTypes["default"].string,
|
|
390
|
+
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
391
|
+
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
392
|
+
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
393
|
+
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
394
|
+
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
395
|
+
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
396
|
+
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
397
|
+
tabIndex: _propTypes["default"].number
|
|
398
|
+
};
|
|
399
|
+
var _default = DxcDateInput;
|
|
400
|
+
exports["default"] = _default;
|