@pingux/astro 2.219.0 → 2.220.0-alpha.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 (67) hide show
  1. package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.d.ts +7 -0
  2. package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
  3. package/lib/cjs/components/Breadcrumbs/BreadcrumbItem.js +16 -3
  4. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +24 -7
  5. package/lib/cjs/components/DatePicker/DateField.d.ts +4 -0
  6. package/lib/cjs/components/DatePicker/DateField.js +25 -79
  7. package/lib/cjs/components/DatePicker/DatePicker.d.ts +4 -0
  8. package/lib/cjs/components/DatePicker/DatePicker.js +28 -79
  9. package/lib/cjs/components/DatePicker/DatePicker.stories.js +4 -2
  10. package/lib/cjs/components/DatePicker/DatePicker.styles.d.ts +921 -0
  11. package/lib/cjs/components/DatePicker/DatePicker.styles.js +3 -1
  12. package/lib/cjs/components/DatePicker/DatePicker.test.js +4 -4
  13. package/lib/cjs/components/DatePicker/DateSegment.d.ts +7 -0
  14. package/lib/cjs/components/DatePicker/DateSegment.js +18 -29
  15. package/lib/cjs/components/DatePicker/index.d.ts +1 -0
  16. package/lib/cjs/components/Icon/NoticeIcon.d.ts +16 -1
  17. package/lib/cjs/components/IconButton/IconButton.styles.d.ts +39 -1
  18. package/lib/cjs/components/ImageUploadField/ImagePreviewButton.d.ts +18 -0
  19. package/lib/cjs/components/ImageUploadField/ImagePreviewButton.js +3 -22
  20. package/lib/cjs/components/ImageUploadField/ImageUploadField.d.ts +4 -0
  21. package/lib/cjs/components/ImageUploadField/ImageUploadField.js +30 -66
  22. package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.d.ts +17 -0
  23. package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
  24. package/lib/cjs/components/ImageUploadField/imageUpload.d.ts +53 -0
  25. package/lib/cjs/components/ImageUploadField/index.d.ts +1 -0
  26. package/lib/cjs/components/PanelHeader/PanelHeader.styles.js +4 -1
  27. package/lib/cjs/components/SwitchField/switchFieldAttributes.d.ts +7 -2
  28. package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +138 -119
  29. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +10 -0
  30. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +10 -0
  31. package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +10 -0
  32. package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +10 -1
  33. package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +10 -1
  34. package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +10 -1
  35. package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +10 -1
  36. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +13 -1
  37. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +3 -0
  38. package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -0
  39. package/lib/cjs/types/breadCrumbs.d.ts +6 -0
  40. package/lib/cjs/types/datePicker.d.ts +112 -0
  41. package/lib/cjs/types/datePicker.js +6 -0
  42. package/lib/cjs/types/imageUploadField.d.ts +31 -0
  43. package/lib/cjs/types/imageUploadField.js +6 -0
  44. package/lib/cjs/types/index.d.ts +2 -0
  45. package/lib/cjs/types/index.js +73 -51
  46. package/lib/cjs/utils/devUtils/constants/statuses.d.ts +17 -0
  47. package/lib/cjs/utils/devUtils/props/isDateWithinRanges.d.ts +10 -0
  48. package/lib/cjs/utils/devUtils/props/isDateWithinRanges.js +2 -2
  49. package/lib/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
  50. package/lib/components/Breadcrumbs/BreadcrumbItem.js +17 -4
  51. package/lib/components/Breadcrumbs/Breadcrumbs.js +25 -8
  52. package/lib/components/DatePicker/DateField.js +25 -79
  53. package/lib/components/DatePicker/DatePicker.js +30 -79
  54. package/lib/components/DatePicker/DatePicker.stories.js +4 -2
  55. package/lib/components/DatePicker/DatePicker.styles.js +3 -1
  56. package/lib/components/DatePicker/DatePicker.test.js +4 -4
  57. package/lib/components/DatePicker/DateSegment.js +17 -30
  58. package/lib/components/ImageUploadField/ImagePreviewButton.js +5 -24
  59. package/lib/components/ImageUploadField/ImageUploadField.js +31 -67
  60. package/lib/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
  61. package/lib/components/PanelHeader/PanelHeader.styles.js +4 -1
  62. package/lib/styles/themes/next-gen/variants/variants.js +3 -0
  63. package/lib/types/datePicker.js +1 -0
  64. package/lib/types/imageUploadField.js +1 -0
  65. package/lib/types/index.js +2 -0
  66. package/lib/utils/devUtils/props/isDateWithinRanges.js +2 -3
  67. package/package.json +1 -1
@@ -1,15 +1,22 @@
1
1
  declare const _default: {
2
2
  containerLi: {
3
3
  flex: string;
4
+ textWrap: string;
5
+ textOverflow: string;
6
+ whiteSpace: string;
4
7
  minWidth: string;
5
8
  '&.is-current': {
6
9
  flex: string;
10
+ overflow: string;
7
11
  };
8
12
  };
9
13
  containerOl: {
10
14
  alignItems: string;
11
15
  minHeight: number;
16
+ minWidth: number;
17
+ maxWidth: string;
12
18
  paddingInlineStart: string;
19
+ gap: string;
13
20
  'a.is-hovered.is-current ': {
14
21
  textDecoration: string;
15
22
  };
@@ -31,16 +31,23 @@ var link = _objectSpread(_objectSpread(_objectSpread({}, _Text.text.textEllipsis
31
31
  var containerOl = {
32
32
  alignItems: 'center',
33
33
  minHeight: 42,
34
+ minWidth: 0,
35
+ maxWidth: 'fit-content',
34
36
  paddingInlineStart: 'unset',
37
+ gap: 'xs',
35
38
  'a.is-hovered.is-current ': {
36
39
  textDecoration: 'none'
37
40
  }
38
41
  };
39
42
  var containerLi = {
40
- flex: '0 1000000 auto',
43
+ flex: '1 2 auto',
44
+ textWrap: 'nowrap',
45
+ textOverflow: 'ellipsis',
46
+ whiteSpace: 'nowrap',
41
47
  minWidth: breadcrumbMinWidth,
42
48
  '&.is-current': {
43
- flex: '0 1 auto'
49
+ flex: '2 1 auto',
50
+ overflow: 'visible'
44
51
  }
45
52
  };
46
53
  var _default = exports["default"] = {
@@ -17,15 +17,17 @@ _Object$defineProperty(exports, "__esModule", {
17
17
  exports["default"] = exports.ELEMENT_TYPE = void 0;
18
18
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
19
19
  var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/reflect/delete-property"));
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
21
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
22
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
22
23
  var _react = _interopRequireWildcard(require("react"));
23
24
  var _reactAria = require("react-aria");
25
+ var _interactions = require("@react-aria/interactions");
24
26
  var _object = require("lodash/object");
25
27
  var _hooks = require("../../hooks");
26
28
  var _index = require("../../index");
27
29
  var _react2 = require("@emotion/react");
28
- var _excluded = ["children", "elementType", "onAction", "actionKey", "isCurrent"];
30
+ var _excluded = ["children", "elementType", "onAction", "actionKey", "isCurrent", "isTooltipOpen", "onTooltipHoverChange"];
29
31
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
30
32
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
33
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -42,8 +44,14 @@ var BreadcrumbItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
42
44
  onAction = props.onAction,
43
45
  actionKey = props.actionKey,
44
46
  isCurrent = props.isCurrent,
47
+ isTooltipOpen = props.isTooltipOpen,
48
+ onTooltipHoverChange = props.onTooltipHoverChange,
45
49
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
46
50
  var itemRef = (0, _hooks.useLocalOrForwardRef)(ref);
51
+ var _useHover = (0, _interactions.useHover)({
52
+ onHoverChange: onTooltipHoverChange
53
+ }),
54
+ hoverProps = _useHover.hoverProps;
47
55
  (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
48
56
  var _useBreadcrumbItem = (0, _reactAria.useBreadcrumbItem)(_objectSpread({}, props), itemRef),
49
57
  itemProps = _useBreadcrumbItem.itemProps;
@@ -88,11 +96,16 @@ var BreadcrumbItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
88
96
  }, elementProps), {}, {
89
97
  role: isCurrent ? 'text' : 'link'
90
98
  });
91
- return (0, _react2.jsx)(_index.Box, {
99
+ var isFragment = elementType === ELEMENT_TYPE.FRAGMENT;
100
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
92
101
  as: "li",
93
102
  className: isCurrent ? 'is-current' : '',
94
103
  variant: "variants.breadcrumb.containerLi"
95
- }, (0, _react2.jsx)(BreadcrumbItemElementType, elementVariantProps, children));
104
+ }, !isFragment && hoverProps), isFragment ? (0, _react2.jsx)(BreadcrumbItemElementType, elementVariantProps, children) : (0, _react2.jsx)(_index.TooltipTrigger, {
105
+ direction: "top",
106
+ isOpen: isTooltipOpen,
107
+ targetRef: itemRef
108
+ }, (0, _react2.jsx)(_interactions.Pressable, null, (0, _react2.jsx)(BreadcrumbItemElementType, elementVariantProps, children)), (0, _react2.jsx)(_index.Tooltip, null, children)));
96
109
  });
97
110
  BreadcrumbItem.defaultProps = {
98
111
  elementType: 'Link'
@@ -13,6 +13,7 @@ var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-st
13
13
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
14
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
15
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
16
17
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
17
18
  var _react = _interopRequireWildcard(require("react"));
18
19
  var _reactAria = require("react-aria");
@@ -29,8 +30,7 @@ var Breadcrumbs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
29
30
  onAction = props.onAction,
30
31
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
31
32
  var _useGetTheme = (0, _hooks.useGetTheme)(),
32
- breadcrumbIconSize = _useGetTheme.breadcrumbIconSize,
33
- breadcrumbIconMargin = _useGetTheme.breadcrumbIconMargin;
33
+ breadcrumbIconSize = _useGetTheme.breadcrumbIconSize;
34
34
 
35
35
  // the following filters undefined values passed as a child
36
36
  var filteredChildren = (0, _isArray["default"])(children) ? (0, _filter["default"])(children).call(children, function (child) {
@@ -39,19 +39,30 @@ var Breadcrumbs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
39
39
  var _useBreadcrumbs = (0, _reactAria.useBreadcrumbs)(props),
40
40
  wrapperProps = _useBreadcrumbs.navProps;
41
41
  var breadcrumbsRef = (0, _hooks.useLocalOrForwardRef)(ref);
42
+ var _useState = (0, _react.useState)(null),
43
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
44
+ hoveredKey = _useState2[0],
45
+ setHoveredKey = _useState2[1];
42
46
  (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
43
47
  var createBreadcrumb = (0, _react.useCallback)(function (child, idx) {
44
48
  var isCurrentItem = (0, _isArray["default"])(filteredChildren) && filteredChildren.length > 1 ? idx === _react["default"].Children.toArray(children).length - 1 : true;
49
+ var handleTooltipHoverChange = function handleTooltipHoverChange(isHovering) {
50
+ setHoveredKey(function (prevKey) {
51
+ if (isHovering) return child.key;
52
+ return prevKey === child.key ? null : prevKey;
53
+ });
54
+ };
45
55
  return (0, _react2.jsx)(_react["default"].Fragment, {
46
56
  key: "li-".concat(child.key)
47
57
  }, (0, _react2.jsx)(_BreadcrumbItem["default"], (0, _extends2["default"])({
48
58
  actionKey: child.key,
49
59
  "data-id": child['data-id'],
50
60
  isCurrent: isCurrentItem,
51
- onAction: onAction
61
+ isTooltipOpen: hoveredKey === child.key,
62
+ onAction: onAction,
63
+ onTooltipHoverChange: handleTooltipHoverChange
52
64
  }, child.props), child.props.children), icon && !isCurrentItem && (0, _react2.jsx)(_index.Icon, (0, _extends2["default"])({
53
65
  "aria-hidden": "true",
54
- mx: breadcrumbIconMargin,
55
66
  size: breadcrumbIconSize,
56
67
  title: {
57
68
  name: 'Breadcrumb Separator'
@@ -60,9 +71,15 @@ var Breadcrumbs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
60
71
  color: "text.primary",
61
72
  icon: icon
62
73
  })));
63
- }, [(0, _isArray["default"])(children) && children.length, filteredChildren, icon, iconProps, onAction]);
64
- return (0, _react2.jsx)("nav", {
65
- "aria-label": "Breadcrumb"
74
+ }, [(0, _isArray["default"])(children) && children.length, filteredChildren, icon, iconProps, onAction, hoveredKey]);
75
+ return (0, _react2.jsx)(_index.Box, {
76
+ as: "nav",
77
+ "aria-label": "Breadcrumb",
78
+ sx: {
79
+ display: 'flex',
80
+ minWidth: 0,
81
+ width: '100%'
82
+ }
66
83
  }, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
67
84
  as: "ol",
68
85
  isRow: true,
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { DateFieldProps } from '../../types';
3
+ declare const DateField: React.ForwardRefExoticComponent<DateFieldProps & React.RefAttributes<HTMLInputElement>>;
4
+ export default DateField;
@@ -19,7 +19,6 @@ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-j
19
19
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
20
20
  var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
21
21
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
- var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
23
22
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
24
23
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
25
24
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
@@ -33,13 +32,12 @@ var _datepicker = require("@react-aria/datepicker");
33
32
  var _i18n = require("@react-aria/i18n");
34
33
  var _visuallyHidden = require("@react-aria/visually-hidden");
35
34
  var _datepicker2 = require("@react-stately/datepicker");
36
- var _propTypes = _interopRequireDefault(require("prop-types"));
37
35
  var _hooks = require("../../hooks");
38
36
  var _index = require("../../index");
39
37
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
40
38
  var _DateSegment = _interopRequireDefault(require("./DateSegment"));
41
39
  var _react2 = require("@emotion/react");
42
- var _excluded = ["buttonProps", "className", "fieldProps", "groupProps", "groupRef", "hasFormatHelpText", "helperText", "isDisabled", "isOpen", "isReadOnly", "isRequired", "status", "datePickerState", "minValue", "maxValue", "unavailableRanges", "fieldControlProps"],
40
+ var _excluded = ["buttonProps", "className", "fieldProps", "groupProps", "groupRef", "hasFormatHelpText", "helperText", "isDisabled", "isOpen", "isReadOnly", "isRequired", "isQuiet", "status", "datePickerState", "minValue", "maxValue", "unavailableRanges", "fieldControlProps", "hasAutoFocus"],
43
41
  _excluded2 = ["defaultValue"];
44
42
  /**
45
43
  * DateFields allow users to enter and edit date using a keyboard.
@@ -61,24 +59,32 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
61
59
  groupRef = props.groupRef,
62
60
  hasFormatHelpText = props.hasFormatHelpText,
63
61
  helperText = props.helperText,
64
- isDisabled = props.isDisabled,
62
+ _props$isDisabled = props.isDisabled,
63
+ isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,
65
64
  isOpen = props.isOpen,
66
- isReadOnly = props.isReadOnly,
67
- isRequired = props.isRequired,
68
- status = props.status,
65
+ _props$isReadOnly = props.isReadOnly,
66
+ isReadOnly = _props$isReadOnly === void 0 ? false : _props$isReadOnly,
67
+ _props$isRequired = props.isRequired,
68
+ isRequired = _props$isRequired === void 0 ? false : _props$isRequired,
69
+ _props$isQuiet = props.isQuiet,
70
+ isQuiet = _props$isQuiet === void 0 ? false : _props$isQuiet,
71
+ _props$status = props.status,
72
+ status = _props$status === void 0 ? _statuses["default"].DEFAULT : _props$status,
69
73
  datePickerState = props.datePickerState,
70
74
  minValue = props.minValue,
71
75
  maxValue = props.maxValue,
72
76
  unavailableRanges = props.unavailableRanges,
73
77
  fieldControlProps = props.fieldControlProps,
78
+ _props$hasAutoFocus = props.hasAutoFocus,
79
+ hasAutoFocus = _props$hasAutoFocus === void 0 ? false : _props$hasAutoFocus,
74
80
  other = (0, _objectWithoutProperties2["default"])(props, _excluded);
75
81
  var _useState = (0, _react.useState)(''),
76
82
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
77
83
  errorMessage = _useState2[0],
78
84
  setErrorMessage = _useState2[1];
79
- var fieldRef = (0, _react.useRef)();
80
- var inputRef = (0, _react.useRef)();
81
- var labelRef = (0, _react.useRef)();
85
+ var fieldRef = (0, _react.useRef)(null);
86
+ var inputRef = (0, _react.useRef)(null);
87
+ var labelRef = (0, _react.useRef)(null);
82
88
 
83
89
  // istanbul ignore next
84
90
  (0, _react.useImperativeHandle)(ref, function () {
@@ -96,7 +102,8 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
96
102
  }, "is-".concat(status), true)),
97
103
  classNames = _useStatusClasses.classNames;
98
104
  var segments = state.segments;
99
- var setValue = datePickerState.setValue;
105
+ var _ref = datePickerState || {},
106
+ setValue = _ref.setValue;
100
107
  var _useDateField = (0, _datepicker.useDateField)(_objectSpread({}, fieldProps), state, fieldRef),
101
108
  dateFieldProps = _useDateField.fieldProps;
102
109
 
@@ -107,7 +114,7 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
107
114
  var defaultValue = props.defaultValue,
108
115
  others = (0, _objectWithoutProperties2["default"])(props, _excluded2);
109
116
  var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, others), {}, {
110
- value: state.value || ''
117
+ value: state.value ? String(state.value) : ''
111
118
  })),
112
119
  fieldContainerProps = _useField.fieldContainerProps,
113
120
  fieldControlInputProps = _useField.fieldControlInputProps,
@@ -173,7 +180,7 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
173
180
  var copiedValue = e.clipboardData.getData('text');
174
181
  var isNextAvailableDate;
175
182
  var handleSetDateValue = function handleSetDateValue(isDate) {
176
- setValue(isDate);
183
+ if (setValue) setValue(isDate);
177
184
  };
178
185
  if (isLocalEnUS && !isDisabled && !isReadOnly) {
179
186
  try {
@@ -187,10 +194,10 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
187
194
  // pastes the min/max/isNextAvailable date if the pasted value is
188
195
  // min date, beyond max date or is an unavailable date.
189
196
 
190
- if (DateProps.isValidDate <= DateProps.isMinValue) {
197
+ if (DateProps.isMinValue && DateProps.isValidDate <= DateProps.isMinValue) {
191
198
  return handleSetDateValue(DateProps.isMinValue);
192
199
  }
193
- if (DateProps.isValidDate >= DateProps.isMaxValue) {
200
+ if (DateProps.isMaxValue && DateProps.isValidDate >= DateProps.isMaxValue) {
194
201
  return handleSetDateValue(DateProps.isMaxValue);
195
202
  }
196
203
  if (unavailableRanges) {
@@ -226,10 +233,11 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
226
233
  className: classNames
227
234
  }), (0, _react2.jsx)(_index.Box, fieldControlWrapperProps, (0, _react2.jsx)(_visuallyHidden.VisuallyHidden, null, (0, _react2.jsx)(_index.Input, (0, _extends2["default"])({
228
235
  ref: inputRef,
229
- tabIndex: -1,
230
236
  type: "date/text",
231
237
  "data-testid": "date-field"
232
- }, fieldControlInputProps, {
238
+ }, _objectSpread({
239
+ tabIndex: -1
240
+ }, fieldControlInputProps), {
233
241
  "aria-labelledby": labelRef === null || labelRef === void 0 || (_labelRef$current = labelRef.current) === null || _labelRef$current === void 0 ? void 0 : _labelRef$current.id
234
242
  })))), (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
235
243
  isRow: true,
@@ -270,66 +278,4 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
270
278
  status: "error"
271
279
  }, errorMessage)));
272
280
  });
273
- DateField.propTypes = {
274
- /** Prop to provide a custom default date (uncontrolled) */
275
- defaultValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
276
- /** Prop to provide a default date (controlled) */
277
- value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
278
- /** Props object that is spread directly into the calendar button element. */
279
- buttonProps: _propTypes["default"].shape({}),
280
- /** Props object that is spread directly into the root (top-level) element. */
281
- containerProps: _propTypes["default"].shape({}),
282
- /** state management for a date picker component */
283
- datePickerState: _propTypes["default"].shape({
284
- setValue: _propTypes["default"].func
285
- }),
286
- /** @ignore Props object that is spread directly into the segmented date field. */
287
- fieldProps: _propTypes["default"].shape({}),
288
- /** @ignore Props passed to the box surrounding the input, button, and helper text. */
289
- groupProps: _propTypes["default"].shape({}),
290
- /** @ignore Ref which is passed to the role="group" element. */
291
- groupRef: _propTypes["default"].shape({}),
292
- /** Whether the input element is automatically focused when loaded onto the page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefautofocus). */
293
- hasAutoFocus: _propTypes["default"].bool,
294
- /** Text rendered below the input displaying the expected date format for the user's locale. */
295
- hasFormatHelpText: _propTypes["default"].bool,
296
- /** Text rendered below the input. */
297
- helperText: _propTypes["default"].node,
298
- /** Props object that is spread directly into the helphint element. */
299
- helpHintProps: _propTypes["default"].shape({}),
300
- /** Whether the field is disabled. */
301
- isDisabled: _propTypes["default"].bool,
302
- /** Whether the overlay is currently open. */
303
- isOpen: _propTypes["default"].bool,
304
- /** Whether the input can be selected, but not changed by the user. */
305
- isReadOnly: _propTypes["default"].bool,
306
- /** Whether the field is required. */
307
- isRequired: _propTypes["default"].bool,
308
- /** Whether the field is quiet. */
309
- isQuiet: _propTypes["default"].bool,
310
- /** Props object that is spread directly into the label element. */
311
- labelProps: _propTypes["default"].shape({}),
312
- /** The maximum allowed date that a user may select. */
313
- maxValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
314
- /** The minimum allowed date that a user may select. */
315
- minValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
316
- /** Handler that is called when the element's selection state changes. */
317
- onChange: _propTypes["default"].func,
318
- /** Determines the input status indicator and helper text styling. */
319
- status: _propTypes["default"].oneOf((0, _values["default"])(_statuses["default"])),
320
- /** The ranges of unavailable dates passed */
321
- unavailableRanges: _propTypes["default"].arrayOf(_propTypes["default"].arrayOf(_propTypes["default"].string)),
322
- /** Props object that is spread directly into the input wrapper element. */
323
- wrapperProps: _propTypes["default"].shape({}),
324
- /** Props object that spread into date segment wrapper element. */
325
- fieldControlProps: _propTypes["default"].shape({})
326
- };
327
- DateField.defaultProps = {
328
- hasAutoFocus: false,
329
- isDisabled: false,
330
- isQuiet: false,
331
- isReadOnly: false,
332
- isRequired: false,
333
- status: _statuses["default"].DEFAULT
334
- };
335
281
  var _default = exports["default"] = DateField;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { DatePickerProps } from '../../types';
3
+ declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLInputElement>>;
4
+ export default DatePicker;
@@ -15,7 +15,6 @@ _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  exports["default"] = void 0;
18
- var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
19
18
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
20
  var _react = _interopRequireWildcard(require("react"));
@@ -25,12 +24,10 @@ var _focus = require("@react-aria/focus");
25
24
  var _utils = require("@react-aria/utils");
26
25
  var _datepicker2 = require("@react-stately/datepicker");
27
26
  var _object = require("lodash/object");
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
27
  var _index = require("../../index");
30
- var _Popover = _interopRequireDefault(require("../Popover/Popover"));
31
28
  var _pendoID = require("../../utils/devUtils/constants/pendoID");
32
- var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
33
29
  var _isDateWithinRanges = require("../../utils/devUtils/props/isDateWithinRanges");
30
+ var _Popover = _interopRequireDefault(require("../Popover/Popover"));
34
31
  var _DateField = _interopRequireDefault(require("./DateField"));
35
32
  var _react2 = require("@emotion/react");
36
33
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
@@ -38,14 +35,26 @@ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymb
38
35
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /**
39
36
  * Console Warning: The state update warning is a known issue coming from the react-aria library.
40
37
  * The `is-selected` class is added to the button after the component unmounts.
38
+ */ /**
39
+ * Parse a prop that may be a DateValue object or a date string.
40
+ * Strings are parsed with parseDate.
41
41
  */
42
+ var parseDateProp = function parseDateProp(val) {
43
+ if (!val) return undefined;
44
+ return typeof val === 'string' ? (0, _date.parseDate)(val) : val;
45
+ };
42
46
  var DatePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
43
47
  var defaultValue = props.defaultValue,
44
48
  hasAutoFocus = props.hasAutoFocus,
45
49
  helperText = props.helperText,
46
50
  helpHintProps = props.helpHintProps,
47
51
  isDefaultOpen = props.isDefaultOpen,
48
- isReadOnly = props.isReadOnly,
52
+ _props$isDisabled = props.isDisabled,
53
+ isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,
54
+ _props$isReadOnly = props.isReadOnly,
55
+ isReadOnly = _props$isReadOnly === void 0 ? false : _props$isReadOnly,
56
+ _props$isRequired = props.isRequired,
57
+ isRequired = _props$isRequired === void 0 ? false : _props$isRequired,
49
58
  maxValue = props.maxValue,
50
59
  minValue = props.minValue,
51
60
  status = props.status,
@@ -53,8 +62,8 @@ var DatePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
53
62
  unavailableRanges = props.unavailableRanges,
54
63
  fieldControlProps = props.fieldControlProps,
55
64
  calendarWrapperProps = props.calendarWrapperProps;
56
- var groupRef = (0, _react.useRef)();
57
- var popoverRef = (0, _react.useRef)();
65
+ var groupRef = (0, _react.useRef)(null);
66
+ var popoverRef = (0, _react.useRef)(null);
58
67
 
59
68
  /**
60
69
  * This function is run against each date in the calendar
@@ -67,11 +76,11 @@ var DatePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
67
76
  * To accept date value as an object or as a string in format YYYY-MM-DD
68
77
  */
69
78
  var parsedDates = {
70
- value: value || value && (0, _date.parseDate)(value),
71
- defaultValue: defaultValue && (0, _date.parseDate)(defaultValue),
72
- maxValue: maxValue && (0, _date.parseDate)(maxValue),
73
- minValue: minValue && (0, _date.parseDate)(minValue),
74
- isDateUnavailable: unavailableRanges && isDateUnavailable
79
+ value: parseDateProp(value),
80
+ defaultValue: parseDateProp(defaultValue),
81
+ maxValue: parseDateProp(maxValue),
82
+ minValue: parseDateProp(minValue),
83
+ isDateUnavailable: unavailableRanges ? isDateUnavailable : undefined
75
84
  };
76
85
  var state = (0, _datepicker2.useDatePickerState)(_objectSpread({
77
86
  autoFocus: hasAutoFocus,
@@ -95,13 +104,17 @@ var DatePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
95
104
  state: state,
96
105
  offset: 15,
97
106
  crossOffset: 40,
98
- "data-testid": "popover-container",
99
- overflow: "auto"
107
+ "data-testid": "popover-container"
108
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
109
+ ,
110
+ overflow: 'auto'
100
111
  }, (0, _react2.jsx)(_focus.FocusScope, {
101
112
  autoFocus: true,
102
113
  contain: true,
103
114
  restoreFocus: true
104
- }, (0, _react2.jsx)("div", dialogProps, (0, _react2.jsx)(_index.Calendar, (0, _extends2["default"])({}, calendarProps, {
115
+ }, (0, _react2.jsx)("div", dialogProps, (0, _react2.jsx)(_index.Calendar
116
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
117
+ , (0, _extends2["default"])({}, calendarProps, {
105
118
  calendarWrapperProps: calendarWrapperProps
106
119
  })))));
107
120
  return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_DateField["default"], (0, _extends2["default"])({}, (0, _pendoID.getPendoID)('DatePicker'), props, {
@@ -121,68 +134,4 @@ var DatePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
121
134
  status: status
122
135
  }, helperText));
123
136
  });
124
- DatePicker.propTypes = {
125
- /** Prop to provide a custom default date (uncontrolled) */
126
- defaultValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
127
- /** Prop to provide a default date (controlled) */
128
- value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
129
- /** Whether the element should receive focus on render. */
130
- hasAutoFocus: _propTypes["default"].bool,
131
- /** Text rendered below the input displaying the expected date format for the user's locale. */
132
- hasFormatHelpText: _propTypes["default"].bool,
133
- /** Text rendered below the input. */
134
- helperText: _propTypes["default"].string,
135
- /** Props object that is spread directly into the helphint element. */
136
- helpHintProps: _propTypes["default"].shape({}),
137
- /** The element's unique identifier. */
138
- id: _propTypes["default"].string,
139
- /**
140
- * Callback that is called for each date of the calendar.
141
- * If it returns true, then the date is unavailable.
142
- *
143
- * (date: DateValue) => boolean
144
- */
145
- isDateUnavailable: _propTypes["default"].func,
146
- /** Sets the default open state of the overlay (uncontrolled). */
147
- isDefaultOpen: _propTypes["default"].bool,
148
- /** Whether the calendar is disabled. */
149
- isDisabled: _propTypes["default"].bool,
150
- /** Whether the overlay is currently open (controlled). */
151
- isOpen: _propTypes["default"].bool,
152
- /** Whether the calendar dates are only focusable. */
153
- isReadOnly: _propTypes["default"].bool,
154
- /** Whether user input is required on the input before form submission. */
155
- isRequired: _propTypes["default"].bool,
156
- /** The rendered label for the field. */
157
- label: _propTypes["default"].node,
158
- /** The maximum allowed date that a user may select. */
159
- maxValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
160
- /** The minimum allowed date that a user may select. */
161
- minValue: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]),
162
- /** Handler that is called when the element loses focus. */
163
- onBlur: _propTypes["default"].func,
164
- /** Handler that is called when the element's selection state changes. */
165
- onChange: _propTypes["default"].func,
166
- /** Handler that is called when the element receives focus. */
167
- onFocus: _propTypes["default"].func,
168
- /** Handler that is called when the element's focus status changes. */
169
- onFocusChange: _propTypes["default"].func,
170
- /** Handler that is called when a key is pressed. */
171
- onKeyDown: _propTypes["default"].func,
172
- /** Handler that is called when a key is released. */
173
- onKeyUp: _propTypes["default"].func,
174
- /** Determines the textarea status indicator and helper text styling. */
175
- status: _propTypes["default"].oneOf((0, _values["default"])(_statuses["default"])),
176
- /** The ranges of unavailable dates passed */
177
- unavailableRanges: _propTypes["default"].arrayOf(_propTypes["default"].arrayOf(_propTypes["default"].string)),
178
- /** Props object that spread into date segment wrapper element. */
179
- fieldControlProps: _propTypes["default"].shape({}),
180
- /** Props object that spread into calendar element. */
181
- calendarWrapperProps: _propTypes["default"].shape({})
182
- };
183
- _DateField["default"].defaultProps = {
184
- isDisabled: false,
185
- isReadOnly: false,
186
- isRequired: false
187
- };
188
137
  var _default = exports["default"] = DatePicker;
@@ -112,7 +112,9 @@ var _default = exports["default"] = {
112
112
  isReadOnly: false,
113
113
  isRequired: false,
114
114
  label: 'Example Label',
115
- onChange: function onChange() {},
115
+ onChange: function onChange() {
116
+ return undefined;
117
+ },
116
118
  'aria-label': 'Date Picker'
117
119
  }
118
120
  };
@@ -142,7 +144,7 @@ var Controlled = exports.Controlled = function Controlled(args) {
142
144
  date = _useState2[0],
143
145
  setDate = _useState2[1];
144
146
  return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_DatePicker["default"], (0, _extends2["default"])({}, args, {
145
- value: date,
147
+ value: date !== null && date !== void 0 ? date : undefined,
146
148
  onChange: (0, _utils.chain)(setDate, (0, _actions.actions)('onChange'))
147
149
  })), (0, _react2.jsx)(_index.Box, {
148
150
  isRow: true,