@dxc-technology/halstack-react 0.0.0-878c09d → 0.0.0-8c3739a
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/babel.config.js +6 -2
- package/dist/BackgroundColorContext.js +46 -0
- package/dist/ThemeContext.js +235 -2
- package/dist/accordion/Accordion.js +152 -67
- package/dist/accordion-group/AccordionGroup.js +37 -10
- package/dist/alert/Alert.js +183 -84
- package/dist/alert/index.d.ts +51 -0
- package/dist/badge/Badge.js +23 -18
- package/dist/box/Box.js +31 -23
- package/dist/button/Button.js +61 -25
- package/dist/card/Card.js +72 -35
- package/dist/checkbox/Checkbox.js +98 -38
- package/dist/chip/Chip.js +97 -40
- package/dist/common/RequiredComponent.js +2 -8
- package/dist/common/utils.js +2 -22
- package/dist/common/variables.js +1439 -303
- package/dist/date/Date.js +69 -49
- 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 +176 -81
- 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 +74 -50
- package/dist/footer/dxc_logo.svg +15 -0
- package/dist/header/Header.js +93 -63
- 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 +14 -18
- package/dist/link/Link.js +86 -41
- package/dist/main.d.ts +8 -0
- package/dist/main.js +74 -2
- 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 +113 -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 +82 -65
- package/dist/select/Select.js +226 -150
- package/dist/sidenav/Sidenav.js +66 -15
- package/dist/slider/Slider.js +197 -69
- package/dist/spinner/Spinner.js +247 -59
- package/dist/switch/Switch.js +50 -27
- package/dist/table/Table.js +51 -24
- package/dist/tabs/Tabs.js +95 -43
- 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/textarea/Textarea.js +77 -40
- package/dist/toggle/Toggle.js +16 -19
- package/dist/toggle-group/ToggleGroup.js +142 -41
- package/dist/upload/Upload.js +13 -8
- 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/transaction/Transaction.js +44 -24
- package/dist/upload/transactions/Transactions.js +38 -20
- package/dist/useTheme.js +22 -0
- package/dist/wizard/Wizard.js +127 -47
- package/dist/wizard/invalid_icon.svg +4 -5
- package/dist/wizard/valid_icon.svg +4 -5
- package/package.json +8 -2
- package/test/AccordionGroup.test.js +16 -0
- package/test/Date.test.js +13 -13
- 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 +40 -57
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +33 -8
- 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/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/toggle-group/readme.md +0 -82
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
44
|
var _DxcDate$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;
|
|
@@ -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() {
|
|
@@ -159,19 +141,41 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
159
141
|
handlerInputBlur(value == null ? innerValue : value);
|
|
160
142
|
};
|
|
161
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
|
+
|
|
162
160
|
var dateTheme = (0, _core.createMuiTheme)({
|
|
163
161
|
overrides: {
|
|
162
|
+
MuiTypography: {
|
|
163
|
+
root: {
|
|
164
|
+
fontFamily: "".concat(colorsTheme.date.fontFamily, " !important")
|
|
165
|
+
}
|
|
166
|
+
},
|
|
164
167
|
MuiPickersYearSelection: {
|
|
165
168
|
container: {
|
|
169
|
+
color: colorsTheme.date.pickerYearColor,
|
|
166
170
|
"&::-webkit-scrollbar": {
|
|
167
171
|
width: "3px"
|
|
168
172
|
},
|
|
169
173
|
"&::-webkit-scrollbar-track": {
|
|
170
|
-
backgroundColor:
|
|
174
|
+
backgroundColor: "#D9D9D9",
|
|
171
175
|
borderRadius: "3px"
|
|
172
176
|
},
|
|
173
177
|
"&::-webkit-scrollbar-thumb": {
|
|
174
|
-
backgroundColor:
|
|
178
|
+
backgroundColor: "#666666",
|
|
175
179
|
borderRadius: "3px"
|
|
176
180
|
}
|
|
177
181
|
}
|
|
@@ -197,7 +201,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
197
201
|
MuiButtonBase: {
|
|
198
202
|
root: {
|
|
199
203
|
"&:focus": {
|
|
200
|
-
outline: colorsTheme.date.focusColor + " 2px
|
|
204
|
+
outline: colorsTheme.date.focusColor + " solid 2px"
|
|
201
205
|
}
|
|
202
206
|
}
|
|
203
207
|
},
|
|
@@ -207,21 +211,39 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
207
211
|
maxWidth: "unset",
|
|
208
212
|
minHeight: "unset",
|
|
209
213
|
padding: "0px 10px",
|
|
210
|
-
height:
|
|
214
|
+
height: colorsTheme.date.pickerHeight,
|
|
215
|
+
width: colorsTheme.date.pickerWidth,
|
|
216
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColor,
|
|
217
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
211
218
|
}
|
|
212
219
|
},
|
|
213
220
|
MuiPickersToolbarText: {
|
|
214
221
|
toolbarTxt: {
|
|
215
|
-
color: colorsTheme.date.
|
|
222
|
+
color: colorsTheme.date.pickerActualDateColor,
|
|
223
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
224
|
+
fontSize: "2rem"
|
|
216
225
|
},
|
|
217
226
|
toolbarBtnSelected: {
|
|
218
|
-
color: colorsTheme.date.
|
|
227
|
+
color: colorsTheme.date.pickerActualDateColor
|
|
219
228
|
}
|
|
220
229
|
},
|
|
221
230
|
MuiPickersCalendarHeader: {
|
|
231
|
+
transitionContainer: {
|
|
232
|
+
color: colorsTheme.date.pickerMonthColor
|
|
233
|
+
},
|
|
234
|
+
dayLabel: {
|
|
235
|
+
color: colorsTheme.date.pickerWeekLabelColor,
|
|
236
|
+
fontFamily: colorsTheme.date.fontFamily
|
|
237
|
+
},
|
|
222
238
|
switchHeader: {
|
|
223
239
|
backgroundColor: colorsTheme.white,
|
|
224
240
|
color: colorsTheme.date.pickerFontColor
|
|
241
|
+
},
|
|
242
|
+
iconButton: {
|
|
243
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows,
|
|
244
|
+
"&:hover": {
|
|
245
|
+
backgroundColor: colorsTheme.date.pickerBackgroundColorMonthArrows
|
|
246
|
+
}
|
|
225
247
|
}
|
|
226
248
|
},
|
|
227
249
|
MuiPickersCalendar: {
|
|
@@ -231,13 +253,14 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
231
253
|
},
|
|
232
254
|
MuiPickersDay: {
|
|
233
255
|
current: {
|
|
234
|
-
border: colorsTheme.date.
|
|
256
|
+
border: colorsTheme.date.pickerActualDateColor + " 2px solid",
|
|
235
257
|
color: colorsTheme.date.pickerFontColor
|
|
236
258
|
},
|
|
237
259
|
day: {
|
|
260
|
+
fontFamily: colorsTheme.date.fontFamily,
|
|
238
261
|
color: colorsTheme.date.pickerFontColor,
|
|
239
262
|
"&:hover": {
|
|
240
|
-
backgroundColor: colorsTheme.date.
|
|
263
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor,
|
|
241
264
|
color: colorsTheme.date.pickerHoverDateFontColor
|
|
242
265
|
}
|
|
243
266
|
},
|
|
@@ -256,13 +279,12 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
256
279
|
color: colorsTheme.date.pickerSelectedDateColor,
|
|
257
280
|
backgroundColor: colorsTheme.date.pickerSelectedDateBackgroundColor,
|
|
258
281
|
margin: "0px 100px",
|
|
259
|
-
borderRadius: "20px"
|
|
260
|
-
fontSize: "16px"
|
|
282
|
+
borderRadius: "20px"
|
|
261
283
|
},
|
|
262
284
|
root: {
|
|
263
285
|
"&:focus": {
|
|
264
286
|
color: colorsTheme.date.pickerHoverDateFontColor,
|
|
265
|
-
backgroundColor: colorsTheme.date.
|
|
287
|
+
backgroundColor: colorsTheme.date.pickerHoverDateBackgroundColor
|
|
266
288
|
}
|
|
267
289
|
}
|
|
268
290
|
},
|
|
@@ -271,9 +293,6 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
271
293
|
color: "pink"
|
|
272
294
|
}
|
|
273
295
|
}
|
|
274
|
-
},
|
|
275
|
-
typography: {
|
|
276
|
-
fontFamily: '"Open Sans", sans-serif'
|
|
277
296
|
}
|
|
278
297
|
});
|
|
279
298
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
@@ -287,7 +306,7 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
287
306
|
}, _react["default"].createElement(_InputText["default"], {
|
|
288
307
|
label: label,
|
|
289
308
|
name: name,
|
|
290
|
-
|
|
309
|
+
suffixIcon: calendarSVG,
|
|
291
310
|
required: required,
|
|
292
311
|
invalid: invalid,
|
|
293
312
|
disabled: disabled,
|
|
@@ -298,7 +317,8 @@ var DxcDate = function DxcDate(_ref) {
|
|
|
298
317
|
value: value == null ? innerValue : value,
|
|
299
318
|
onClickSuffix: openCalendar,
|
|
300
319
|
onChange: onChangeInput,
|
|
301
|
-
onBlur: onBlur && handlerInputBlur || null
|
|
320
|
+
onBlur: onBlur && handlerInputBlur || null,
|
|
321
|
+
tabIndex: tabIndex
|
|
302
322
|
}), _react["default"].createElement(_Popover["default"], {
|
|
303
323
|
open: isOpen,
|
|
304
324
|
anchorEl: anchorEl,
|
|
@@ -354,6 +374,6 @@ DxcDate.propTypes = (_DxcDate$propTypes = {
|
|
|
354
374
|
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
355
375
|
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
356
376
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
357
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])), _DxcDate$propTypes);
|
|
377
|
+
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])), (0, _defineProperty2["default"])(_DxcDate$propTypes, "tabIndex", _propTypes["default"].number), _DxcDate$propTypes);
|
|
358
378
|
var _default = DxcDate;
|
|
359
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;
|