@dxc-technology/halstack-react 0.0.0-1fafc5b → 0.0.0-20fc09e
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/babel.config.js +6 -2
- package/dist/BackgroundColorContext.js +46 -0
- package/dist/ThemeContext.js +235 -2
- package/dist/V3Textarea/V3Textarea.js +264 -0
- package/dist/accordion/Accordion.js +174 -63
- package/dist/accordion-group/AccordionGroup.js +186 -0
- package/dist/alert/Alert.js +183 -84
- package/dist/alert/index.d.ts +51 -0
- package/dist/badge/Badge.js +63 -0
- package/dist/box/Box.js +31 -23
- package/dist/button/Button.js +83 -26
- package/dist/card/Card.js +72 -35
- package/dist/checkbox/Checkbox.js +98 -38
- package/dist/chip/Chip.js +128 -36
- package/dist/common/RequiredComponent.js +2 -8
- package/dist/common/utils.js +2 -22
- package/dist/common/variables.js +1446 -277
- package/dist/date/Date.js +80 -58
- package/dist/date-input/DateInput.js +400 -0
- package/dist/date-input/index.d.ts +95 -0
- package/dist/dialog/Dialog.js +58 -37
- package/dist/dropdown/Dropdown.js +205 -85
- 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 +121 -46
- package/dist/footer/Icons.js +77 -0
- package/dist/header/Header.js +163 -101
- package/dist/header/Icons.js +59 -0
- package/dist/heading/Heading.js +81 -16
- package/dist/input-text/InputText.js +291 -103
- package/dist/layout/ApplicationLayout.js +331 -0
- package/dist/layout/facebook.svg +45 -0
- package/dist/layout/linkedin.svg +50 -0
- package/dist/layout/twitter.svg +53 -0
- package/dist/link/Link.js +136 -35
- package/dist/main.d.ts +8 -0
- package/dist/main.js +111 -7
- package/dist/new-select/NewSelect.js +836 -0
- package/dist/new-select/index.d.ts +53 -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 +149 -56
- package/dist/password-input/PasswordInput.js +198 -0
- package/dist/password-input/index.d.ts +94 -0
- package/dist/progress-bar/ProgressBar.js +95 -38
- package/dist/radio/Radio.js +31 -17
- package/dist/resultsetTable/ResultsetTable.js +93 -68
- package/dist/select/Select.js +244 -146
- package/dist/sidenav/Sidenav.js +84 -141
- package/dist/slider/Slider.js +206 -70
- package/dist/spinner/Spinner.js +247 -59
- package/dist/switch/Switch.js +50 -27
- package/dist/table/Table.js +58 -13
- package/dist/tabs/Tabs.js +206 -35
- package/dist/tabs-for-sections/TabsForSections.js +1 -16
- package/dist/tag/Tag.js +100 -35
- package/dist/text-input/TextInput.js +971 -0
- package/dist/text-input/index.d.ts +135 -0
- package/dist/textarea/Textarea.js +248 -106
- package/dist/textarea/index.d.ts +117 -0
- package/dist/toggle/Toggle.js +16 -19
- package/dist/toggle-group/ToggleGroup.js +327 -0
- 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/useTheme.js +22 -0
- package/dist/wizard/Wizard.js +139 -55
- package/dist/wizard/invalid_icon.svg +4 -5
- package/dist/wizard/valid_icon.svg +4 -5
- package/package.json +14 -6
- package/test/AccordionGroup.test.js +125 -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/Footer.test.js +2 -7
- package/test/Header.test.js +5 -10
- package/test/InputText.test.js +53 -41
- package/test/Link.test.js +25 -7
- package/test/NumberInput.test.js +259 -0
- package/test/Paginator.test.js +72 -60
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +66 -19
- package/test/Select.test.js +55 -34
- package/test/Sidenav.test.js +22 -64
- package/test/Slider.test.js +17 -0
- package/test/Spinner.test.js +5 -0
- package/test/Tabs.test.js +21 -0
- package/test/TextInput.test.js +732 -0
- package/test/Textarea.test.js +193 -0
- package/test/ToggleGroup.test.js +85 -0
- 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/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/footer/readme.md +0 -41
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.png +0 -0
- package/dist/header/dxc_logo_white.png +0 -0
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- 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/sidenav/arrow_icon.svg +0 -3
- package/dist/slider/Slider.stories.js +0 -241
- package/test/Toggle.test.js +0 -43
package/dist/date/Date.js
CHANGED
|
@@ -37,22 +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"));
|
|
47
|
-
|
|
48
|
-
var _calendar_dark = _interopRequireDefault(require("./calendar_dark.svg"));
|
|
42
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
49
43
|
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
var _DxcDate$propTypes;
|
|
44
|
+
var _V3DxcDate$propTypes;
|
|
53
45
|
|
|
54
46
|
function _templateObject() {
|
|
55
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["
|
|
47
|
+
var data = (0, _taggedTemplateLiteral2["default"])([""]);
|
|
56
48
|
|
|
57
49
|
_templateObject = function _templateObject() {
|
|
58
50
|
return data;
|
|
@@ -61,7 +53,7 @@ function _templateObject() {
|
|
|
61
53
|
return data;
|
|
62
54
|
}
|
|
63
55
|
|
|
64
|
-
var
|
|
56
|
+
var V3DxcDate = function V3DxcDate(_ref) {
|
|
65
57
|
var value = _ref.value,
|
|
66
58
|
_ref$format = _ref.format,
|
|
67
59
|
format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
|
|
@@ -83,7 +75,9 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
83
75
|
onBlur = _ref$onBlur === void 0 ? "" : _ref$onBlur,
|
|
84
76
|
margin = _ref.margin,
|
|
85
77
|
_ref$size = _ref.size,
|
|
86
|
-
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;
|
|
87
81
|
|
|
88
82
|
var _useState = (0, _react.useState)(""),
|
|
89
83
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -100,26 +94,16 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
100
94
|
anchorEl = _useState6[0],
|
|
101
95
|
setAnchorEl = _useState6[1];
|
|
102
96
|
|
|
103
|
-
var
|
|
104
|
-
var colorsTheme = (0, _react.useMemo)(function () {
|
|
105
|
-
return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
|
|
106
|
-
}, [customTheme]);
|
|
97
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
107
98
|
|
|
108
|
-
function handleMenuItemClick(date) {
|
|
99
|
+
var handleMenuItemClick = function handleMenuItemClick(date) {
|
|
109
100
|
var stringValue = (0, _moment["default"])(date).format(format.toUpperCase());
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (typeof onChange === "function") {
|
|
117
|
-
onChange({
|
|
118
|
-
stringValue: stringValue,
|
|
119
|
-
dateValue: date && date.toJSON() ? date : null
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}
|
|
101
|
+
if (value == null) setInnerValue(stringValue);
|
|
102
|
+
if (typeof onChange === "function") onChange({
|
|
103
|
+
stringValue: stringValue,
|
|
104
|
+
dateValue: date && date.toJSON() ? date : null
|
|
105
|
+
});
|
|
106
|
+
};
|
|
123
107
|
|
|
124
108
|
var onChangeInput = function onChangeInput(string) {
|
|
125
109
|
var momentDate = (0, _moment["default"])(string, format.toUpperCase(), true);
|
|
@@ -138,10 +122,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
138
122
|
|
|
139
123
|
var handlerInputBlur = function handlerInputBlur(inputString) {
|
|
140
124
|
setInnerValue(inputString);
|
|
141
|
-
|
|
142
|
-
if (onBlur) {
|
|
143
|
-
onBlur(inputString);
|
|
144
|
-
}
|
|
125
|
+
if (onBlur) onBlur(inputString);
|
|
145
126
|
};
|
|
146
127
|
|
|
147
128
|
var getValueForPicker = function getValueForPicker() {
|
|
@@ -155,19 +136,46 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
155
136
|
}
|
|
156
137
|
};
|
|
157
138
|
|
|
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
|
+
|
|
158
160
|
var dateTheme = (0, _core.createMuiTheme)({
|
|
159
161
|
overrides: {
|
|
162
|
+
MuiTypography: {
|
|
163
|
+
root: {
|
|
164
|
+
fontFamily: "".concat(colorsTheme.date.fontFamily, " !important")
|
|
165
|
+
}
|
|
166
|
+
},
|
|
160
167
|
MuiPickersYearSelection: {
|
|
161
168
|
container: {
|
|
169
|
+
color: colorsTheme.date.pickerYearColor,
|
|
162
170
|
"&::-webkit-scrollbar": {
|
|
163
171
|
width: "3px"
|
|
164
172
|
},
|
|
165
173
|
"&::-webkit-scrollbar-track": {
|
|
166
|
-
backgroundColor:
|
|
174
|
+
backgroundColor: "#D9D9D9",
|
|
167
175
|
borderRadius: "3px"
|
|
168
176
|
},
|
|
169
177
|
"&::-webkit-scrollbar-thumb": {
|
|
170
|
-
backgroundColor:
|
|
178
|
+
backgroundColor: "#666666",
|
|
171
179
|
borderRadius: "3px"
|
|
172
180
|
}
|
|
173
181
|
}
|
|
@@ -193,7 +201,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
193
201
|
MuiButtonBase: {
|
|
194
202
|
root: {
|
|
195
203
|
"&:focus": {
|
|
196
|
-
outline: colorsTheme.date.focusColor + " 2px
|
|
204
|
+
outline: colorsTheme.date.focusColor + " solid 2px"
|
|
197
205
|
}
|
|
198
206
|
}
|
|
199
207
|
},
|
|
@@ -203,21 +211,39 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
203
211
|
maxWidth: "unset",
|
|
204
212
|
minHeight: "unset",
|
|
205
213
|
padding: "0px 10px",
|
|
206
|
-
height:
|
|
214
|
+
height: colorsTheme.date.pickerHeight,
|
|
215
|
+
width: colorsTheme.date.pickerWidth,
|
|
216
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColor,
|
|
217
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
207
218
|
}
|
|
208
219
|
},
|
|
209
220
|
MuiPickersToolbarText: {
|
|
210
221
|
toolbarTxt: {
|
|
211
|
-
color: colorsTheme.date.
|
|
222
|
+
color: colorsTheme.date.pickerActualDateColor,
|
|
223
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
224
|
+
fontSize: "2rem"
|
|
212
225
|
},
|
|
213
226
|
toolbarBtnSelected: {
|
|
214
|
-
color: colorsTheme.date.
|
|
227
|
+
color: colorsTheme.date.pickerActualDateColor
|
|
215
228
|
}
|
|
216
229
|
},
|
|
217
230
|
MuiPickersCalendarHeader: {
|
|
231
|
+
transitionContainer: {
|
|
232
|
+
color: colorsTheme.date.pickerMonthColor
|
|
233
|
+
},
|
|
234
|
+
dayLabel: {
|
|
235
|
+
color: colorsTheme.date.pickerWeekLabelColor,
|
|
236
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
237
|
+
},
|
|
218
238
|
switchHeader: {
|
|
219
239
|
backgroundColor: colorsTheme.white,
|
|
220
240
|
color: colorsTheme.date.pickerFontColor
|
|
241
|
+
},
|
|
242
|
+
iconButton: {
|
|
243
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows,
|
|
244
|
+
"&:hover": {
|
|
245
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows
|
|
246
|
+
}
|
|
221
247
|
}
|
|
222
248
|
},
|
|
223
249
|
MuiPickersCalendar: {
|
|
@@ -227,13 +253,14 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
227
253
|
},
|
|
228
254
|
MuiPickersDay: {
|
|
229
255
|
current: {
|
|
230
|
-
border: colorsTheme.date.
|
|
256
|
+
border: colorsTheme.date.pickerActualDateColor + " 2px solid",
|
|
231
257
|
color: colorsTheme.date.pickerFontColor
|
|
232
258
|
},
|
|
233
259
|
day: {
|
|
260
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
234
261
|
color: colorsTheme.date.pickerFontColor,
|
|
235
262
|
"&:hover": {
|
|
236
|
-
backgroundColor: colorsTheme.date.
|
|
263
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor,
|
|
237
264
|
color: colorsTheme.date.pickerHoverDateFontColor
|
|
238
265
|
}
|
|
239
266
|
},
|
|
@@ -252,13 +279,12 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
252
279
|
color: colorsTheme.date.pickerSelectedDateColor,
|
|
253
280
|
backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
|
|
254
281
|
margin: "0px 100px",
|
|
255
|
-
borderRadius: "20px"
|
|
256
|
-
fontSize: "16px"
|
|
282
|
+
borderRadius: "20px"
|
|
257
283
|
},
|
|
258
284
|
root: {
|
|
259
285
|
"&:focus": {
|
|
260
286
|
color: colorsTheme.date.pickerHoverDateFontColor,
|
|
261
|
-
backgroundColor: colorsTheme.date.
|
|
287
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor
|
|
262
288
|
}
|
|
263
289
|
}
|
|
264
290
|
},
|
|
@@ -267,9 +293,6 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
267
293
|
color: "pink"
|
|
268
294
|
}
|
|
269
295
|
}
|
|
270
|
-
},
|
|
271
|
-
typography: {
|
|
272
|
-
fontFamily: '"Open Sans", sans-serif'
|
|
273
296
|
}
|
|
274
297
|
});
|
|
275
298
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
@@ -283,7 +306,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
283
306
|
}, _react["default"].createElement(_InputText["default"], {
|
|
284
307
|
label: label,
|
|
285
308
|
name: name,
|
|
286
|
-
|
|
309
|
+
suffixIcon: calendarSVG,
|
|
287
310
|
required: required,
|
|
288
311
|
invalid: invalid,
|
|
289
312
|
disabled: disabled,
|
|
@@ -294,7 +317,8 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
294
317
|
value: value == null ? innerValue : value,
|
|
295
318
|
onClickSuffix: openCalendar,
|
|
296
319
|
onChange: onChangeInput,
|
|
297
|
-
onBlur: onBlur && handlerInputBlur || null
|
|
320
|
+
onBlur: onBlur && handlerInputBlur || null,
|
|
321
|
+
tabIndex: tabIndex
|
|
298
322
|
}), _react["default"].createElement(_Popover["default"], {
|
|
299
323
|
open: isOpen,
|
|
300
324
|
anchorEl: anchorEl,
|
|
@@ -312,9 +336,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
312
336
|
}
|
|
313
337
|
}
|
|
314
338
|
}, _react["default"].createElement(_ClickAwayListener["default"], {
|
|
315
|
-
onClickAway:
|
|
316
|
-
return setIsOpen(false);
|
|
317
|
-
}
|
|
339
|
+
onClickAway: handlerPickerClose
|
|
318
340
|
}, _react["default"].createElement(_core.Paper, null, _react["default"].createElement(_pickers.DatePicker, {
|
|
319
341
|
variant: "static",
|
|
320
342
|
value: getValueForPicker(),
|
|
@@ -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;
|