carbon-react 103.2.0 → 104.2.0
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/lib/__internal__/popover/popover.component.js +2 -6
- package/lib/__internal__/tooltip-provider/index.d.ts +1 -0
- package/lib/__internal__/tooltip-provider/index.js +6 -3
- package/lib/components/button/button.component.d.ts +21 -1
- package/lib/components/button/button.component.js +63 -52
- package/lib/components/date/__internal__/date-formats/index.d.ts +8 -0
- package/lib/components/date/__internal__/date-formats/index.js +47 -0
- package/lib/components/date/__internal__/date-picker/date-picker.component.d.ts +3 -0
- package/lib/components/date/__internal__/date-picker/date-picker.component.js +154 -0
- package/lib/components/date/__internal__/date-picker/date-picker.d.ts +25 -0
- package/lib/components/date/{day-picker.style.d.ts → __internal__/date-picker/day-picker.style.d.ts} +0 -0
- package/lib/components/date/{day-picker.style.js → __internal__/date-picker/day-picker.style.js} +5 -1
- package/lib/components/date/__internal__/date-picker/index.d.ts +1 -0
- package/lib/{__internal__/date → components/date/__internal__/date-picker}/index.js +2 -2
- package/lib/components/date/{navbar → __internal__/navbar}/button.style.d.ts +0 -0
- package/lib/components/date/{navbar → __internal__/navbar}/button.style.js +1 -1
- package/lib/components/date/{navbar → __internal__/navbar}/index.d.ts +0 -0
- package/lib/components/date/{navbar → __internal__/navbar}/index.js +0 -0
- package/lib/components/date/{navbar → __internal__/navbar}/navbar.component.d.ts +0 -0
- package/lib/components/date/{navbar → __internal__/navbar}/navbar.component.js +10 -12
- package/lib/components/date/__internal__/navbar/navbar.d.ts +8 -0
- package/lib/components/date/{navbar → __internal__/navbar}/navbar.style.d.ts +0 -0
- package/lib/components/date/{navbar → __internal__/navbar}/navbar.style.js +1 -1
- package/lib/components/date/__internal__/utils.d.ts +19 -0
- package/lib/components/date/__internal__/utils.js +182 -0
- package/lib/components/date/{weekday → __internal__/weekday}/abbr.style.d.ts +0 -0
- package/lib/components/date/{weekday → __internal__/weekday}/abbr.style.js +0 -0
- package/lib/components/date/{weekday → __internal__/weekday}/index.d.ts +0 -0
- package/lib/components/date/{weekday → __internal__/weekday}/index.js +0 -0
- package/lib/components/date/{weekday → __internal__/weekday}/weekday.component.d.ts +0 -0
- package/lib/components/date/{weekday → __internal__/weekday}/weekday.component.js +0 -0
- package/lib/components/date/__internal__/weekday/weekday.d.ts +13 -0
- package/lib/components/date/{weekday → __internal__/weekday}/weekday.style.d.ts +0 -0
- package/lib/components/date/{weekday → __internal__/weekday}/weekday.style.js +1 -1
- package/lib/components/date/date.component.d.ts +27 -55
- package/lib/components/date/date.component.js +291 -661
- package/lib/components/date/date.d.ts +28 -20
- package/lib/components/date/date.style.js +3 -2
- package/lib/components/date/index.js +2 -10
- package/lib/components/date-range/date-range-context.d.ts +17 -0
- package/lib/components/date-range/date-range.component.d.ts +3 -5
- package/lib/components/date-range/date-range.component.js +123 -119
- package/lib/components/date-range/date-range.context.d.ts +3 -0
- package/lib/components/date-range/date-range.context.js +14 -0
- package/lib/components/date-range/date-range.d.ts +5 -7
- package/lib/components/date-range/date-range.style.js +1 -0
- package/lib/components/date-range/index.d.ts +1 -0
- package/lib/components/i18n-provider/i18n-provider.component.d.ts +1 -4
- package/lib/components/i18n-provider/i18n-provider.component.js +1 -4
- package/lib/components/icon/icon.component.js +4 -2
- package/lib/components/icon-button/icon-button.component.js +11 -19
- package/lib/components/portal/portal.js +3 -6
- package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.js +13 -23
- package/lib/components/tooltip/tooltip.component.js +7 -7
- package/lib/components/tooltip/tooltip.d.ts +1 -0
- package/lib/locales/date-fns-locales/index.d.ts +1 -0
- package/lib/locales/date-fns-locales/index.js +18 -0
- package/lib/locales/en-gb.js +3 -4
- package/lib/locales/locale.d.ts +3 -4
- package/lib/locales/pl-pl.d.ts +1 -1
- package/lib/locales/pl-pl.js +5 -0
- package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.d.ts +7 -5
- package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +11 -36
- package/lib/style/themes/aegean/aegean-theme.config.d.ts +1 -0
- package/lib/style/themes/aegean/aegean-theme.config.js +2 -1
- package/lib/style/themes/base/base-theme.config.d.ts +162 -93
- package/lib/style/themes/mint/mint-theme.config.d.ts +1 -0
- package/lib/style/themes/mint/mint-theme.config.js +2 -1
- package/lib/style/themes/sage/index.d.ts +162 -93
- package/package.json +6 -5
- package/lib/__internal__/date/date.d.ts +0 -34
- package/lib/__internal__/date/date.js +0 -216
- package/lib/__internal__/date/index.d.ts +0 -1
- package/lib/__spec_helper__/mock-date-helper.d.ts +0 -1
- package/lib/__spec_helper__/mock-date-helper.js +0 -37
- package/lib/components/date/date-picker.component.d.ts +0 -22
- package/lib/components/date/date-picker.component.js +0 -218
|
@@ -13,11 +13,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
|
|
14
14
|
var _core = require("@popperjs/core");
|
|
15
15
|
|
|
16
|
-
var _styledComponents = require("styled-components");
|
|
17
|
-
|
|
18
16
|
var _useResizeObserver = _interopRequireDefault(require("../../hooks/__internal__/useResizeObserver"));
|
|
19
17
|
|
|
20
|
-
var _carbonScopedTokensProvider = require("../../style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component");
|
|
18
|
+
var _carbonScopedTokensProvider = _interopRequireDefault(require("../../style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component"));
|
|
21
19
|
|
|
22
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
21
|
|
|
@@ -34,11 +32,9 @@ const Popover = ({
|
|
|
34
32
|
modifiers
|
|
35
33
|
}) => {
|
|
36
34
|
const elementDOM = (0, _react.useRef)();
|
|
37
|
-
const theme = (0, _react.useContext)(_styledComponents.ThemeContext);
|
|
38
35
|
|
|
39
36
|
if (!elementDOM.current && !disablePortal) {
|
|
40
37
|
elementDOM.current = document.createElement("div");
|
|
41
|
-
elementDOM.current.classList.add((0, _carbonScopedTokensProvider.tokensClassName)(theme === null || theme === void 0 ? void 0 : theme.name));
|
|
42
38
|
document.body.appendChild(elementDOM.current);
|
|
43
39
|
}
|
|
44
40
|
|
|
@@ -98,7 +94,7 @@ const Popover = ({
|
|
|
98
94
|
return content;
|
|
99
95
|
}
|
|
100
96
|
|
|
101
|
-
return /*#__PURE__*/_reactDom.default.createPortal(content, elementDOM.current);
|
|
97
|
+
return /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(_carbonScopedTokensProvider.default, null, content), elementDOM.current);
|
|
102
98
|
};
|
|
103
99
|
|
|
104
100
|
Popover.propTypes = {
|
|
@@ -21,14 +21,16 @@ const TooltipProvider = ({
|
|
|
21
21
|
helpAriaLabel,
|
|
22
22
|
focusable = true,
|
|
23
23
|
tooltipVisible,
|
|
24
|
-
disabled = false
|
|
24
|
+
disabled = false,
|
|
25
|
+
target
|
|
25
26
|
}) => /*#__PURE__*/_react.default.createElement(TooltipContext.Provider, {
|
|
26
27
|
value: {
|
|
27
28
|
tooltipPosition,
|
|
28
29
|
helpAriaLabel,
|
|
29
30
|
focusable,
|
|
30
31
|
tooltipVisible,
|
|
31
|
-
disabled
|
|
32
|
+
disabled,
|
|
33
|
+
target
|
|
32
34
|
}
|
|
33
35
|
}, children);
|
|
34
36
|
|
|
@@ -39,5 +41,6 @@ TooltipProvider.propTypes = {
|
|
|
39
41
|
helpAriaLabel: _propTypes.default.string,
|
|
40
42
|
focusable: _propTypes.default.bool,
|
|
41
43
|
tooltipVisible: _propTypes.default.bool,
|
|
42
|
-
disabled: _propTypes.default.bool
|
|
44
|
+
disabled: _propTypes.default.bool,
|
|
45
|
+
target: _propTypes.default.instanceOf(Element)
|
|
43
46
|
};
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
export default Button;
|
|
2
2
|
export const ButtonWithForwardRef: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
|
|
3
|
-
declare function Button(
|
|
3
|
+
declare function Button({ size, subtext, as, children, forwardRef, "aria-label": ariaLabel, disabled, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, ...rest }: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
size: any;
|
|
6
|
+
subtext: any;
|
|
7
|
+
as: any;
|
|
8
|
+
children: any;
|
|
9
|
+
forwardRef: any;
|
|
10
|
+
"aria-label": any;
|
|
11
|
+
disabled: any;
|
|
12
|
+
buttonType: any;
|
|
13
|
+
iconType: any;
|
|
14
|
+
iconPosition: any;
|
|
15
|
+
href: any;
|
|
16
|
+
m?: number | undefined;
|
|
17
|
+
px: any;
|
|
18
|
+
noWrap: any;
|
|
19
|
+
target: any;
|
|
20
|
+
rel: any;
|
|
21
|
+
iconTooltipMessage: any;
|
|
22
|
+
iconTooltipPosition: any;
|
|
23
|
+
}): JSX.Element;
|
|
4
24
|
declare namespace Button {
|
|
5
25
|
const propTypes: any;
|
|
6
26
|
namespace defaultProps {
|
|
@@ -17,6 +17,8 @@ var _button = _interopRequireWildcard(require("./button.style"));
|
|
|
17
17
|
|
|
18
18
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
|
|
19
19
|
|
|
20
|
+
var _tooltipProvider = require("../../__internal__/tooltip-provider");
|
|
21
|
+
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
23
|
|
|
22
24
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -35,7 +37,8 @@ function renderChildren({
|
|
|
35
37
|
disabled,
|
|
36
38
|
buttonType,
|
|
37
39
|
iconTooltipMessage,
|
|
38
|
-
iconTooltipPosition
|
|
40
|
+
iconTooltipPosition,
|
|
41
|
+
tooltipTarget
|
|
39
42
|
/* eslint-enable */
|
|
40
43
|
|
|
41
44
|
}) {
|
|
@@ -57,43 +60,54 @@ function renderChildren({
|
|
|
57
60
|
"data-element": "main-text"
|
|
58
61
|
}, children), size === "large" && /*#__PURE__*/_react.default.createElement(_button.StyledButtonSubtext, {
|
|
59
62
|
"data-element": "subtext"
|
|
60
|
-
}, subtext)), iconType && !children && /*#__PURE__*/_react.default.createElement(
|
|
63
|
+
}, subtext)), iconType && !children && /*#__PURE__*/_react.default.createElement(_tooltipProvider.TooltipProvider, {
|
|
64
|
+
disabled: disabled,
|
|
65
|
+
focusable: false,
|
|
66
|
+
target: tooltipTarget
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement(_icon.default, _extends({}, iconProps, {
|
|
61
68
|
tooltipMessage: iconTooltipMessage,
|
|
62
69
|
tooltipPosition: iconTooltipPosition
|
|
63
|
-
})), iconType && iconPosition === "after" && children && /*#__PURE__*/_react.default.createElement(_icon.default, iconProps));
|
|
70
|
+
}))), iconType && iconPosition === "after" && children && /*#__PURE__*/_react.default.createElement(_icon.default, iconProps));
|
|
64
71
|
}
|
|
65
72
|
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
const Button = ({
|
|
74
|
+
size,
|
|
75
|
+
subtext,
|
|
76
|
+
as,
|
|
77
|
+
children,
|
|
78
|
+
forwardRef,
|
|
79
|
+
"aria-label": ariaLabel,
|
|
80
|
+
disabled,
|
|
81
|
+
buttonType: buttonTypeProp,
|
|
82
|
+
iconType,
|
|
83
|
+
iconPosition,
|
|
84
|
+
href,
|
|
85
|
+
m = 0,
|
|
86
|
+
px,
|
|
87
|
+
noWrap,
|
|
88
|
+
target,
|
|
89
|
+
rel,
|
|
90
|
+
iconTooltipMessage,
|
|
91
|
+
iconTooltipPosition,
|
|
92
|
+
...rest
|
|
93
|
+
}) => {
|
|
94
|
+
const [internalRef, setInternalRef] = (0, _react.useState)(null);
|
|
95
|
+
const buttonType = buttonTypeProp || as;
|
|
96
|
+
|
|
97
|
+
if (subtext.length > 0 && size !== "large") {
|
|
98
|
+
throw new Error("subtext prop has no effect unless the button is large");
|
|
99
|
+
}
|
|
100
|
+
|
|
83
101
|
let paddingX;
|
|
84
102
|
|
|
85
103
|
const handleLinkKeyDown = event => {
|
|
86
104
|
// If space key click link
|
|
87
105
|
if (event.key === " ") {
|
|
88
106
|
event.preventDefault();
|
|
89
|
-
|
|
107
|
+
internalRef.click();
|
|
90
108
|
}
|
|
91
109
|
};
|
|
92
110
|
|
|
93
|
-
if (href) {
|
|
94
|
-
rest.href = href;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
111
|
switch (size) {
|
|
98
112
|
case "small":
|
|
99
113
|
paddingX = 2;
|
|
@@ -108,7 +122,7 @@ const renderStyledButton = buttonProps => {
|
|
|
108
122
|
}
|
|
109
123
|
|
|
110
124
|
return /*#__PURE__*/_react.default.createElement(_button.default, _extends({
|
|
111
|
-
"aria-label": !
|
|
125
|
+
"aria-label": !children && iconType ? ariaLabel || iconType : undefined,
|
|
112
126
|
as: !disabled && href ? "a" : "button",
|
|
113
127
|
onKeyDown: href && handleLinkKeyDown,
|
|
114
128
|
draggable: false,
|
|
@@ -121,36 +135,33 @@ const renderStyledButton = buttonProps => {
|
|
|
121
135
|
px: px ?? paddingX,
|
|
122
136
|
m: m,
|
|
123
137
|
noWrap: noWrap,
|
|
124
|
-
iconOnly: !
|
|
138
|
+
iconOnly: !children && iconType,
|
|
139
|
+
iconPosition: iconPosition,
|
|
125
140
|
target: target,
|
|
126
141
|
rel: rel
|
|
127
|
-
}, (0, _tags.default)("button",
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
142
|
+
}, (0, _tags.default)("button", rest), rest, href && {
|
|
143
|
+
href
|
|
144
|
+
}, {
|
|
145
|
+
ref: reference => {
|
|
146
|
+
if (reference) {
|
|
147
|
+
setInternalRef(reference);
|
|
148
|
+
if (!forwardRef) return;
|
|
149
|
+
if (typeof forwardRef === "object") forwardRef.current = reference;
|
|
150
|
+
if (typeof forwardRef === "function") forwardRef(reference);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}), renderChildren({
|
|
154
|
+
iconType,
|
|
155
|
+
iconPosition,
|
|
134
156
|
size,
|
|
135
|
-
subtext
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const {
|
|
139
|
-
as,
|
|
157
|
+
subtext,
|
|
158
|
+
children,
|
|
159
|
+
disabled,
|
|
140
160
|
buttonType,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
buttonType: buttonType || as,
|
|
146
|
-
ref: forwardRef || linkRef
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
if (subtext.length > 0 && size !== "large") {
|
|
150
|
-
throw new Error("subtext prop has no effect unless the button is large");
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return renderStyledButton(propsWithoutAs);
|
|
161
|
+
iconTooltipMessage,
|
|
162
|
+
iconTooltipPosition,
|
|
163
|
+
tooltipTarget: internalRef
|
|
164
|
+
}));
|
|
154
165
|
};
|
|
155
166
|
|
|
156
167
|
Button.propTypes = {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
// The order of this array is important
|
|
8
|
+
const EU_FORMATS = ["d M yyyy", "dd M yyyy", "d MM yyyy", "dd MM yyyy", "d M yy", "dd M yy", "d MM yy", "dd MM yy", "d", "d M", "dd", "d MM", "dd M", "dd MM"]; // The order of this array is important
|
|
9
|
+
|
|
10
|
+
const NA_FORMATS = ["M", "M d", "MM", "M dd", "MM d", "MM dd", "M d yy", "MM d yy", "M dd yy", "MM dd yy", "M d yyyy", "MM d yyyy", "M dd yyyy", "MM dd yyyy"];
|
|
11
|
+
const SEPARATORS = ["", ".", ",", "-", "/", ":"];
|
|
12
|
+
|
|
13
|
+
const generateFormats = formatArray => formatArray.reduce((arr, formatString) => {
|
|
14
|
+
const array = [...arr, formatString];
|
|
15
|
+
|
|
16
|
+
if (formatString.includes(" ")) {
|
|
17
|
+
SEPARATORS.forEach(char => array.push(formatString.replace(/ /g, char)));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return array;
|
|
21
|
+
}, []);
|
|
22
|
+
|
|
23
|
+
const getFormatData = ({
|
|
24
|
+
code
|
|
25
|
+
}) => {
|
|
26
|
+
if (["en-CA", "en-US"].includes(code)) {
|
|
27
|
+
return {
|
|
28
|
+
format: "MM/dd/yyyy",
|
|
29
|
+
formats: generateFormats(NA_FORMATS)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (code === "de") {
|
|
34
|
+
return {
|
|
35
|
+
format: "dd.MM.yyyy",
|
|
36
|
+
formats: generateFormats(EU_FORMATS)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return {
|
|
41
|
+
format: "dd/MM/yyyy",
|
|
42
|
+
formats: generateFormats(EU_FORMATS)
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var _default = getFormatData;
|
|
47
|
+
exports.default = _default;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _reactDayPicker = _interopRequireDefault(require("react-day-picker"));
|
|
13
|
+
|
|
14
|
+
var _utils = require("../utils");
|
|
15
|
+
|
|
16
|
+
var _popover = _interopRequireDefault(require("../../../../__internal__/popover"));
|
|
17
|
+
|
|
18
|
+
var _useLocale = _interopRequireDefault(require("../../../../hooks/__internal__/useLocale"));
|
|
19
|
+
|
|
20
|
+
var _navbar = _interopRequireDefault(require("../navbar"));
|
|
21
|
+
|
|
22
|
+
var _weekday = _interopRequireDefault(require("../weekday"));
|
|
23
|
+
|
|
24
|
+
var _dayPicker = _interopRequireDefault(require("./day-picker.style"));
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
32
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
33
|
+
|
|
34
|
+
const DatePicker = /*#__PURE__*/_react.default.forwardRef(({
|
|
35
|
+
inputElement,
|
|
36
|
+
minDate,
|
|
37
|
+
maxDate,
|
|
38
|
+
selectedDays,
|
|
39
|
+
disablePortal,
|
|
40
|
+
onDayClick,
|
|
41
|
+
pickerMouseDown,
|
|
42
|
+
pickerProps
|
|
43
|
+
}, ref) => {
|
|
44
|
+
const l = (0, _useLocale.default)();
|
|
45
|
+
const {
|
|
46
|
+
localize,
|
|
47
|
+
options
|
|
48
|
+
} = l.date.dateFnsLocale();
|
|
49
|
+
const {
|
|
50
|
+
weekStartsOn
|
|
51
|
+
} = options;
|
|
52
|
+
const monthsLong = Array.from({
|
|
53
|
+
length: 12
|
|
54
|
+
}).map((_, i) => localize.month(i));
|
|
55
|
+
const monthsShort = Array.from({
|
|
56
|
+
length: 12
|
|
57
|
+
}).map((_, i) => localize.month(i, {
|
|
58
|
+
width: "abbreviated"
|
|
59
|
+
}).substring(0, 3));
|
|
60
|
+
const weekdaysLong = Array.from({
|
|
61
|
+
length: 7
|
|
62
|
+
}).map((_, i) => localize.day(i));
|
|
63
|
+
const weekdaysShort = Array.from({
|
|
64
|
+
length: 7
|
|
65
|
+
}).map((_, i) => localize.day(i, l.locale() === "de" ? {} : {
|
|
66
|
+
width: "abbreviated"
|
|
67
|
+
}).substring(0, 3));
|
|
68
|
+
const popoverModifiers = (0, _react.useMemo)(() => [{
|
|
69
|
+
name: "offset",
|
|
70
|
+
options: {
|
|
71
|
+
offset: [0, 3]
|
|
72
|
+
}
|
|
73
|
+
}, {
|
|
74
|
+
name: "preventOverflow",
|
|
75
|
+
options: {
|
|
76
|
+
mainAxis: false
|
|
77
|
+
}
|
|
78
|
+
}], []);
|
|
79
|
+
|
|
80
|
+
const handleDayClick = (date, {
|
|
81
|
+
disabled
|
|
82
|
+
}, ev) => {
|
|
83
|
+
if (!disabled) {
|
|
84
|
+
onDayClick(date, ev);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const formatDay = date => `${weekdaysShort[date.getDay()]} ${date.getDate()} ${monthsShort[date.getMonth()]} ${date.getFullYear()}`;
|
|
89
|
+
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(_popover.default, {
|
|
91
|
+
placement: "bottom-start",
|
|
92
|
+
reference: inputElement,
|
|
93
|
+
modifiers: popoverModifiers,
|
|
94
|
+
disablePortal: disablePortal
|
|
95
|
+
}, /*#__PURE__*/_react.default.createElement(_dayPicker.default, {
|
|
96
|
+
ref: ref,
|
|
97
|
+
onMouseDown: pickerMouseDown
|
|
98
|
+
}, /*#__PURE__*/_react.default.createElement(_reactDayPicker.default, _extends({
|
|
99
|
+
month: selectedDays,
|
|
100
|
+
months: monthsLong,
|
|
101
|
+
firstDayOfWeek: weekStartsOn,
|
|
102
|
+
onDayClick: handleDayClick,
|
|
103
|
+
selectedDays: selectedDays,
|
|
104
|
+
date: selectedDays,
|
|
105
|
+
weekdayElement: weekdayElementProps => {
|
|
106
|
+
const {
|
|
107
|
+
className,
|
|
108
|
+
weekday
|
|
109
|
+
} = weekdayElementProps;
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(_weekday.default, {
|
|
111
|
+
className: className,
|
|
112
|
+
title: weekdaysLong[weekday]
|
|
113
|
+
}, weekdaysShort[weekday]);
|
|
114
|
+
},
|
|
115
|
+
navbarElement: /*#__PURE__*/_react.default.createElement(_navbar.default, null),
|
|
116
|
+
enableOutsideDays: true,
|
|
117
|
+
fixedWeeks: true,
|
|
118
|
+
initialMonth: selectedDays || undefined,
|
|
119
|
+
disabledDays: (0, _utils.getDisabledDays)(minDate, maxDate),
|
|
120
|
+
inline: true,
|
|
121
|
+
locale: l.locale(),
|
|
122
|
+
localeUtils: {
|
|
123
|
+
formatDay
|
|
124
|
+
}
|
|
125
|
+
}, pickerProps))));
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
DatePicker.propTypes = {
|
|
129
|
+
/** Minimum possible date */
|
|
130
|
+
minDate: _propTypes.default.string,
|
|
131
|
+
|
|
132
|
+
/** Maximum possible date */
|
|
133
|
+
maxDate: _propTypes.default.string,
|
|
134
|
+
|
|
135
|
+
/** Boolean to toggle where DatePicker is rendered in relation to the Date Input */
|
|
136
|
+
disablePortal: _propTypes.default.bool,
|
|
137
|
+
|
|
138
|
+
/** Element that the DatePicker will be displayed under */
|
|
139
|
+
inputElement: _propTypes.default.object.isRequired,
|
|
140
|
+
|
|
141
|
+
/** Currently selected date */
|
|
142
|
+
selectedDays: _propTypes.default.instanceOf(Date),
|
|
143
|
+
|
|
144
|
+
/** Callback to set selected date */
|
|
145
|
+
onDayClick: _propTypes.default.func,
|
|
146
|
+
|
|
147
|
+
/** Pass any props that match the DayPickerProps interface to override default behaviors */
|
|
148
|
+
pickerProps: _propTypes.default.object,
|
|
149
|
+
|
|
150
|
+
/** Callback to handle mousedown event on picker */
|
|
151
|
+
pickerMouseDown: _propTypes.default.func
|
|
152
|
+
};
|
|
153
|
+
var _default = DatePicker;
|
|
154
|
+
exports.default = _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { DayPickerProps } from "react-day-picker";
|
|
3
|
+
|
|
4
|
+
export interface DatePickerProps extends Pick<DayPickerProps, "onDayClick"> {
|
|
5
|
+
/** Boolean to toggle where DatePicker is rendered in relation to the Date Input */
|
|
6
|
+
disablePortal?: boolean;
|
|
7
|
+
/** Minimum possible date YYYY-MM-DD */
|
|
8
|
+
minDate?: string;
|
|
9
|
+
/** Maximum possible date YYYY-MM-DD */
|
|
10
|
+
maxDate?: string;
|
|
11
|
+
/** Pass any props that match the DayPickerProps interface to override default behaviors */
|
|
12
|
+
pickerProps?: DayPickerProps;
|
|
13
|
+
/** Element that the DatePicker will be displayed under */
|
|
14
|
+
inputElement: React.RefObject<HTMLElement>;
|
|
15
|
+
/** Currently selected date */
|
|
16
|
+
selectedDays?: Date;
|
|
17
|
+
/** Callback to handle mousedown event on picker container */
|
|
18
|
+
pickerMouseDown?: () => void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare function DatePicker(
|
|
22
|
+
props: DatePickerProps & React.RefAttributes<HTMLElement>
|
|
23
|
+
): JSX.Element;
|
|
24
|
+
|
|
25
|
+
export default DatePicker;
|
package/lib/components/date/{day-picker.style.d.ts → __internal__/date-picker/day-picker.style.d.ts}
RENAMED
|
File without changes
|
package/lib/components/date/{day-picker.style.js → __internal__/date-picker/day-picker.style.js}
RENAMED
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
|
|
10
|
-
var _base = _interopRequireDefault(require("
|
|
10
|
+
var _base = _interopRequireDefault(require("../../../../style/themes/base"));
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
@@ -81,6 +81,10 @@ const addReactDayPickerStyles = () => `
|
|
|
81
81
|
|
|
82
82
|
.DayPicker-Weekday {
|
|
83
83
|
display: table-cell;
|
|
84
|
+
|
|
85
|
+
abbr {
|
|
86
|
+
text-decoration: none;
|
|
87
|
+
}
|
|
84
88
|
}
|
|
85
89
|
|
|
86
90
|
.DayPicker-Body {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./date-picker.component";
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "default", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return
|
|
9
|
+
return _datePicker.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _datePicker = _interopRequireDefault(require("./date-picker.component"));
|
|
14
14
|
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
|
|
10
|
-
var _base = _interopRequireDefault(require("
|
|
10
|
+
var _base = _interopRequireDefault(require("../../../../style/themes/base"));
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -13,7 +13,7 @@ var _button = _interopRequireDefault(require("./button.style"));
|
|
|
13
13
|
|
|
14
14
|
var _navbar = _interopRequireDefault(require("./navbar.style"));
|
|
15
15
|
|
|
16
|
-
var _icon = _interopRequireDefault(require("
|
|
16
|
+
var _icon = _interopRequireDefault(require("../../../icon"));
|
|
17
17
|
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
@@ -21,17 +21,15 @@ const Navbar = ({
|
|
|
21
21
|
onPreviousClick,
|
|
22
22
|
onNextClick,
|
|
23
23
|
...props
|
|
24
|
-
}) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
})));
|
|
34
|
-
};
|
|
24
|
+
}) => /*#__PURE__*/_react.default.createElement(_navbar.default, props, /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
25
|
+
onClick: () => onPreviousClick()
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
27
|
+
type: "chevron_left"
|
|
28
|
+
})), /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
29
|
+
onClick: () => onNextClick()
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
31
|
+
type: "chevron_right"
|
|
32
|
+
})));
|
|
35
33
|
|
|
36
34
|
Navbar.propTypes = {
|
|
37
35
|
onPreviousClick: _propTypes.default.func,
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
|
|
10
|
-
var _base = _interopRequireDefault(require("
|
|
10
|
+
var _base = _interopRequireDefault(require("../../../../style/themes/base"));
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function parseDate(formatString: any, valueString: any): "" | Date;
|
|
2
|
+
export function formatToISO(formatString: any, valueString: any): string | null;
|
|
3
|
+
export function formattedValue(formatString: any, value: any): string;
|
|
4
|
+
export function isDateValid(date: any): any;
|
|
5
|
+
export function additionalYears(formatString: any, value: any): any[];
|
|
6
|
+
export function findMatchedFormatAndValue(valueString: any, formats: any): any;
|
|
7
|
+
export function parseISODate(value: any): Date;
|
|
8
|
+
/**
|
|
9
|
+
* Returns the disabled array of days specified by props maxDate and minDate
|
|
10
|
+
*/
|
|
11
|
+
export function getDisabledDays(minDate: any, maxDate: any): ({
|
|
12
|
+
before: Date;
|
|
13
|
+
after?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
after: Date;
|
|
16
|
+
before?: undefined;
|
|
17
|
+
})[] | null;
|
|
18
|
+
export function checkISOFormatAndLength(value: any): boolean;
|
|
19
|
+
export function getSeparator(value: any): string;
|