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.
Files changed (77) hide show
  1. package/lib/__internal__/popover/popover.component.js +2 -6
  2. package/lib/__internal__/tooltip-provider/index.d.ts +1 -0
  3. package/lib/__internal__/tooltip-provider/index.js +6 -3
  4. package/lib/components/button/button.component.d.ts +21 -1
  5. package/lib/components/button/button.component.js +63 -52
  6. package/lib/components/date/__internal__/date-formats/index.d.ts +8 -0
  7. package/lib/components/date/__internal__/date-formats/index.js +47 -0
  8. package/lib/components/date/__internal__/date-picker/date-picker.component.d.ts +3 -0
  9. package/lib/components/date/__internal__/date-picker/date-picker.component.js +154 -0
  10. package/lib/components/date/__internal__/date-picker/date-picker.d.ts +25 -0
  11. package/lib/components/date/{day-picker.style.d.ts → __internal__/date-picker/day-picker.style.d.ts} +0 -0
  12. package/lib/components/date/{day-picker.style.js → __internal__/date-picker/day-picker.style.js} +5 -1
  13. package/lib/components/date/__internal__/date-picker/index.d.ts +1 -0
  14. package/lib/{__internal__/date → components/date/__internal__/date-picker}/index.js +2 -2
  15. package/lib/components/date/{navbar → __internal__/navbar}/button.style.d.ts +0 -0
  16. package/lib/components/date/{navbar → __internal__/navbar}/button.style.js +1 -1
  17. package/lib/components/date/{navbar → __internal__/navbar}/index.d.ts +0 -0
  18. package/lib/components/date/{navbar → __internal__/navbar}/index.js +0 -0
  19. package/lib/components/date/{navbar → __internal__/navbar}/navbar.component.d.ts +0 -0
  20. package/lib/components/date/{navbar → __internal__/navbar}/navbar.component.js +10 -12
  21. package/lib/components/date/__internal__/navbar/navbar.d.ts +8 -0
  22. package/lib/components/date/{navbar → __internal__/navbar}/navbar.style.d.ts +0 -0
  23. package/lib/components/date/{navbar → __internal__/navbar}/navbar.style.js +1 -1
  24. package/lib/components/date/__internal__/utils.d.ts +19 -0
  25. package/lib/components/date/__internal__/utils.js +182 -0
  26. package/lib/components/date/{weekday → __internal__/weekday}/abbr.style.d.ts +0 -0
  27. package/lib/components/date/{weekday → __internal__/weekday}/abbr.style.js +0 -0
  28. package/lib/components/date/{weekday → __internal__/weekday}/index.d.ts +0 -0
  29. package/lib/components/date/{weekday → __internal__/weekday}/index.js +0 -0
  30. package/lib/components/date/{weekday → __internal__/weekday}/weekday.component.d.ts +0 -0
  31. package/lib/components/date/{weekday → __internal__/weekday}/weekday.component.js +0 -0
  32. package/lib/components/date/__internal__/weekday/weekday.d.ts +13 -0
  33. package/lib/components/date/{weekday → __internal__/weekday}/weekday.style.d.ts +0 -0
  34. package/lib/components/date/{weekday → __internal__/weekday}/weekday.style.js +1 -1
  35. package/lib/components/date/date.component.d.ts +27 -55
  36. package/lib/components/date/date.component.js +291 -661
  37. package/lib/components/date/date.d.ts +28 -20
  38. package/lib/components/date/date.style.js +3 -2
  39. package/lib/components/date/index.js +2 -10
  40. package/lib/components/date-range/date-range-context.d.ts +17 -0
  41. package/lib/components/date-range/date-range.component.d.ts +3 -5
  42. package/lib/components/date-range/date-range.component.js +123 -119
  43. package/lib/components/date-range/date-range.context.d.ts +3 -0
  44. package/lib/components/date-range/date-range.context.js +14 -0
  45. package/lib/components/date-range/date-range.d.ts +5 -7
  46. package/lib/components/date-range/date-range.style.js +1 -0
  47. package/lib/components/date-range/index.d.ts +1 -0
  48. package/lib/components/i18n-provider/i18n-provider.component.d.ts +1 -4
  49. package/lib/components/i18n-provider/i18n-provider.component.js +1 -4
  50. package/lib/components/icon/icon.component.js +4 -2
  51. package/lib/components/icon-button/icon-button.component.js +11 -19
  52. package/lib/components/portal/portal.js +3 -6
  53. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.js +13 -23
  54. package/lib/components/tooltip/tooltip.component.js +7 -7
  55. package/lib/components/tooltip/tooltip.d.ts +1 -0
  56. package/lib/locales/date-fns-locales/index.d.ts +1 -0
  57. package/lib/locales/date-fns-locales/index.js +18 -0
  58. package/lib/locales/en-gb.js +3 -4
  59. package/lib/locales/locale.d.ts +3 -4
  60. package/lib/locales/pl-pl.d.ts +1 -1
  61. package/lib/locales/pl-pl.js +5 -0
  62. package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.d.ts +7 -5
  63. package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +11 -36
  64. package/lib/style/themes/aegean/aegean-theme.config.d.ts +1 -0
  65. package/lib/style/themes/aegean/aegean-theme.config.js +2 -1
  66. package/lib/style/themes/base/base-theme.config.d.ts +162 -93
  67. package/lib/style/themes/mint/mint-theme.config.d.ts +1 -0
  68. package/lib/style/themes/mint/mint-theme.config.js +2 -1
  69. package/lib/style/themes/sage/index.d.ts +162 -93
  70. package/package.json +6 -5
  71. package/lib/__internal__/date/date.d.ts +0 -34
  72. package/lib/__internal__/date/date.js +0 -216
  73. package/lib/__internal__/date/index.d.ts +0 -1
  74. package/lib/__spec_helper__/mock-date-helper.d.ts +0 -1
  75. package/lib/__spec_helper__/mock-date-helper.js +0 -37
  76. package/lib/components/date/date-picker.component.d.ts +0 -22
  77. 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 = {
@@ -14,6 +14,7 @@ export interface TooltipProviderProps {
14
14
  focusable?: boolean;
15
15
  tooltipVisible?: boolean;
16
16
  disabled?: boolean;
17
+ target?: Element;
17
18
  }
18
19
 
19
20
  declare const ToolbarContext: React.Context<ToolbarContextProps>;
@@ -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(props: any): JSX.Element;
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(_icon.default, _extends({}, iconProps, {
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 renderStyledButton = buttonProps => {
67
- const {
68
- "aria-label": ariaLabel,
69
- disabled,
70
- buttonType,
71
- iconType,
72
- href,
73
- ref,
74
- m = 0,
75
- px,
76
- size,
77
- noWrap,
78
- tooltipMessage,
79
- target,
80
- rel,
81
- ...rest
82
- } = buttonProps;
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
- ref.current.click();
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": !rest.children && iconType ? ariaLabel || iconType : undefined,
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: !rest.children && iconType,
138
+ iconOnly: !children && iconType,
139
+ iconPosition: iconPosition,
125
140
  target: target,
126
141
  rel: rel
127
- }, (0, _tags.default)("button", buttonProps), rest, {
128
- ref: ref
129
- }), renderChildren(buttonProps));
130
- };
131
-
132
- const Button = props => {
133
- const {
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
- } = props;
137
- const linkRef = (0, _react.useRef)(null);
138
- const {
139
- as,
157
+ subtext,
158
+ children,
159
+ disabled,
140
160
  buttonType,
141
- forwardRef,
142
- ...rest
143
- } = props;
144
- const propsWithoutAs = { ...rest,
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,8 @@
1
+ interface LocaleFormats {
2
+ formats: string[];
3
+ format: string;
4
+ }
5
+
6
+ declare function getFormatData({ code: string }): LocaleFormats;
7
+
8
+ export default getFormatData;
@@ -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,3 @@
1
+ export default DatePicker;
2
+ declare const DatePicker: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
+ import React from "react";
@@ -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;
@@ -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("../../style/themes/base"));
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 _date.default;
9
+ return _datePicker.default;
10
10
  }
11
11
  });
12
12
 
13
- var _date = _interopRequireDefault(require("./date"));
13
+ var _datePicker = _interopRequireDefault(require("./date-picker.component"));
14
14
 
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -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("../../../style/themes/base"));
10
+ var _base = _interopRequireDefault(require("../../../../style/themes/base"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -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("../../icon"));
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
- return /*#__PURE__*/_react.default.createElement(_navbar.default, props, /*#__PURE__*/_react.default.createElement(_button.default, {
26
- onClick: () => onPreviousClick()
27
- }, /*#__PURE__*/_react.default.createElement(_icon.default, {
28
- type: "chevron_left"
29
- })), /*#__PURE__*/_react.default.createElement(_button.default, {
30
- onClick: () => onNextClick()
31
- }, /*#__PURE__*/_react.default.createElement(_icon.default, {
32
- type: "chevron_right"
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,
@@ -0,0 +1,8 @@
1
+ export interface NavbarProps {
2
+ onPreviousClick?: () => void;
3
+ onNextClick?: () => void;
4
+ }
5
+
6
+ declare function Navbar(props: NavbarProps): JSX.Element;
7
+
8
+ export default Navbar;
@@ -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("../../../style/themes/base"));
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;