@dxc-technology/halstack-react 0.0.0-afd5470 → 0.0.0-b1729d7
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 +168 -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 +1439 -308
- package/dist/date/Date.js +80 -57
- 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 +199 -71
- 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 +171 -97
- package/dist/header/Icons.js +59 -0
- package/dist/heading/Heading.js +81 -16
- package/dist/input-text/Icons.js +22 -0
- package/dist/input-text/InputText.js +292 -106
- package/dist/layout/ApplicationLayout.js +52 -45
- package/dist/layout/Icons.js +55 -0
- package/dist/link/Link.js +136 -35
- package/dist/main.d.ts +8 -0
- package/dist/main.js +95 -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/Icons.js +66 -0
- package/dist/paginator/Paginator.js +150 -63
- 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 +86 -129
- package/dist/slider/Slider.js +219 -73
- package/dist/spinner/Spinner.js +247 -59
- package/dist/switch/Switch.js +50 -27
- package/dist/table/Table.js +52 -13
- package/dist/tabs/Tabs.js +206 -35
- package/dist/tabs-for-sections/TabsForSections.js +1 -16
- package/dist/tag/Tag.js +85 -37
- 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 +159 -46
- 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 +13 -5
- 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 +24 -15
- 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 +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/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_blk_rgb.svg +0 -6
- 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/input-text/error.svg +0 -1
- package/dist/input-text/readme.md +0 -91
- package/dist/layout/SideNav.js +0 -67
- package/dist/layout/facebook.svg +0 -45
- package/dist/layout/linkedin.svg +0 -50
- package/dist/layout/twitter.svg +0 -53
- package/dist/paginator/images/next.svg +0 -3
- package/dist/paginator/images/nextPage.svg +0 -3
- package/dist/paginator/images/previous.svg +0 -3
- package/dist/paginator/images/previousPage.svg +0 -3
- package/dist/paginator/readme.md +0 -50
- package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
- package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
- package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
- 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/dist/toggle-group/readme.md +0 -82
- 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"));
|
|
49
|
-
|
|
50
|
-
var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
|
|
42
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
51
43
|
|
|
52
|
-
var
|
|
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,25 +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
|
-
if (
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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,19 +136,46 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
154
136
|
}
|
|
155
137
|
};
|
|
156
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
|
+
|
|
157
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:
|
|
174
|
+
backgroundColor: "#D9D9D9",
|
|
166
175
|
borderRadius: "3px"
|
|
167
176
|
},
|
|
168
177
|
"&::-webkit-scrollbar-thumb": {
|
|
169
|
-
backgroundColor:
|
|
178
|
+
backgroundColor: "#666666",
|
|
170
179
|
borderRadius: "3px"
|
|
171
180
|
}
|
|
172
181
|
}
|
|
@@ -192,7 +201,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
192
201
|
MuiButtonBase: {
|
|
193
202
|
root: {
|
|
194
203
|
"&:focus": {
|
|
195
|
-
outline: colorsTheme.date.focusColor + " 2px
|
|
204
|
+
outline: colorsTheme.date.focusColor + " solid 2px"
|
|
196
205
|
}
|
|
197
206
|
}
|
|
198
207
|
},
|
|
@@ -202,21 +211,39 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
202
211
|
maxWidth: "unset",
|
|
203
212
|
minHeight: "unset",
|
|
204
213
|
padding: "0px 10px",
|
|
205
|
-
height:
|
|
214
|
+
height: colorsTheme.date.pickerHeight,
|
|
215
|
+
width: colorsTheme.date.pickerWidth,
|
|
216
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColor,
|
|
217
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
206
218
|
}
|
|
207
219
|
},
|
|
208
220
|
MuiPickersToolbarText: {
|
|
209
221
|
toolbarTxt: {
|
|
210
|
-
color: colorsTheme.date.
|
|
222
|
+
color: colorsTheme.date.pickerActualDateColor,
|
|
223
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
224
|
+
fontSize: "2rem"
|
|
211
225
|
},
|
|
212
226
|
toolbarBtnSelected: {
|
|
213
|
-
color: colorsTheme.date.
|
|
227
|
+
color: colorsTheme.date.pickerActualDateColor
|
|
214
228
|
}
|
|
215
229
|
},
|
|
216
230
|
MuiPickersCalendarHeader: {
|
|
231
|
+
transitionContainer: {
|
|
232
|
+
color: colorsTheme.date.pickerMonthColor
|
|
233
|
+
},
|
|
234
|
+
dayLabel: {
|
|
235
|
+
color: colorsTheme.date.pickerWeekLabelColor,
|
|
236
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
237
|
+
},
|
|
217
238
|
switchHeader: {
|
|
218
239
|
backgroundColor: colorsTheme.white,
|
|
219
240
|
color: colorsTheme.date.pickerFontColor
|
|
241
|
+
},
|
|
242
|
+
iconButton: {
|
|
243
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows,
|
|
244
|
+
"&:hover": {
|
|
245
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows
|
|
246
|
+
}
|
|
220
247
|
}
|
|
221
248
|
},
|
|
222
249
|
MuiPickersCalendar: {
|
|
@@ -226,13 +253,14 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
226
253
|
},
|
|
227
254
|
MuiPickersDay: {
|
|
228
255
|
current: {
|
|
229
|
-
border: colorsTheme.date.
|
|
256
|
+
border: colorsTheme.date.pickerActualDateColor + " 2px solid",
|
|
230
257
|
color: colorsTheme.date.pickerFontColor
|
|
231
258
|
},
|
|
232
259
|
day: {
|
|
260
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
233
261
|
color: colorsTheme.date.pickerFontColor,
|
|
234
262
|
"&:hover": {
|
|
235
|
-
backgroundColor: colorsTheme.date.
|
|
263
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor,
|
|
236
264
|
color: colorsTheme.date.pickerHoverDateFontColor
|
|
237
265
|
}
|
|
238
266
|
},
|
|
@@ -251,13 +279,12 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
251
279
|
color: colorsTheme.date.pickerSelectedDateColor,
|
|
252
280
|
backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
|
|
253
281
|
margin: "0px 100px",
|
|
254
|
-
borderRadius: "20px"
|
|
255
|
-
fontSize: "16px"
|
|
282
|
+
borderRadius: "20px"
|
|
256
283
|
},
|
|
257
284
|
root: {
|
|
258
285
|
"&:focus": {
|
|
259
286
|
color: colorsTheme.date.pickerHoverDateFontColor,
|
|
260
|
-
backgroundColor: colorsTheme.date.
|
|
287
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor
|
|
261
288
|
}
|
|
262
289
|
}
|
|
263
290
|
},
|
|
@@ -266,9 +293,6 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
266
293
|
color: "pink"
|
|
267
294
|
}
|
|
268
295
|
}
|
|
269
|
-
},
|
|
270
|
-
typography: {
|
|
271
|
-
fontFamily: '"Open Sans", sans-serif'
|
|
272
296
|
}
|
|
273
297
|
});
|
|
274
298
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
@@ -282,7 +306,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
282
306
|
}, _react["default"].createElement(_InputText["default"], {
|
|
283
307
|
label: label,
|
|
284
308
|
name: name,
|
|
285
|
-
|
|
309
|
+
suffixIcon: calendarSVG,
|
|
286
310
|
required: required,
|
|
287
311
|
invalid: invalid,
|
|
288
312
|
disabled: disabled,
|
|
@@ -293,7 +317,8 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
293
317
|
value: value == null ? innerValue : value,
|
|
294
318
|
onClickSuffix: openCalendar,
|
|
295
319
|
onChange: onChangeInput,
|
|
296
|
-
onBlur: onBlur && handlerInputBlur || null
|
|
320
|
+
onBlur: onBlur && handlerInputBlur || null,
|
|
321
|
+
tabIndex: tabIndex
|
|
297
322
|
}), _react["default"].createElement(_Popover["default"], {
|
|
298
323
|
open: isOpen,
|
|
299
324
|
anchorEl: anchorEl,
|
|
@@ -311,9 +336,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
311
336
|
}
|
|
312
337
|
}
|
|
313
338
|
}, _react["default"].createElement(_ClickAwayListener["default"], {
|
|
314
|
-
onClickAway:
|
|
315
|
-
return setIsOpen(false);
|
|
316
|
-
}
|
|
339
|
+
onClickAway: handlerPickerClose
|
|
317
340
|
}, _react["default"].createElement(_core.Paper, null, _react["default"].createElement(_pickers.DatePicker, {
|
|
318
341
|
variant: "static",
|
|
319
342
|
value: getValueForPicker(),
|
|
@@ -333,7 +356,7 @@ var sizes = {
|
|
|
333
356
|
|
|
334
357
|
var StyledDPicker = _styledComponents["default"].div(_templateObject());
|
|
335
358
|
|
|
336
|
-
|
|
359
|
+
V3DxcDate.propTypes = (_V3DxcDate$propTypes = {
|
|
337
360
|
value: _propTypes["default"].string,
|
|
338
361
|
format: _propTypes["default"].string,
|
|
339
362
|
label: _propTypes["default"].string,
|
|
@@ -346,11 +369,11 @@ DxcDate.propTypes = (_DxcDate$propTypes = {
|
|
|
346
369
|
invalid: _propTypes["default"].bool,
|
|
347
370
|
onChange: _propTypes["default"].func,
|
|
348
371
|
onBlur: _propTypes["default"].func
|
|
349
|
-
}, (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({
|
|
350
373
|
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
351
374
|
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
352
375
|
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
353
376
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
354
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])),
|
|
355
|
-
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;
|
|
356
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;
|