@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.
- package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.d.ts +7 -0
- package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
- package/lib/cjs/components/Breadcrumbs/BreadcrumbItem.js +16 -3
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +24 -7
- package/lib/cjs/components/DatePicker/DateField.d.ts +4 -0
- package/lib/cjs/components/DatePicker/DateField.js +25 -79
- package/lib/cjs/components/DatePicker/DatePicker.d.ts +4 -0
- package/lib/cjs/components/DatePicker/DatePicker.js +28 -79
- package/lib/cjs/components/DatePicker/DatePicker.stories.js +4 -2
- package/lib/cjs/components/DatePicker/DatePicker.styles.d.ts +921 -0
- package/lib/cjs/components/DatePicker/DatePicker.styles.js +3 -1
- package/lib/cjs/components/DatePicker/DatePicker.test.js +4 -4
- package/lib/cjs/components/DatePicker/DateSegment.d.ts +7 -0
- package/lib/cjs/components/DatePicker/DateSegment.js +18 -29
- package/lib/cjs/components/DatePicker/index.d.ts +1 -0
- package/lib/cjs/components/Icon/NoticeIcon.d.ts +16 -1
- package/lib/cjs/components/IconButton/IconButton.styles.d.ts +39 -1
- package/lib/cjs/components/ImageUploadField/ImagePreviewButton.d.ts +18 -0
- package/lib/cjs/components/ImageUploadField/ImagePreviewButton.js +3 -22
- package/lib/cjs/components/ImageUploadField/ImageUploadField.d.ts +4 -0
- package/lib/cjs/components/ImageUploadField/ImageUploadField.js +30 -66
- package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.d.ts +17 -0
- package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
- package/lib/cjs/components/ImageUploadField/imageUpload.d.ts +53 -0
- package/lib/cjs/components/ImageUploadField/index.d.ts +1 -0
- package/lib/cjs/components/PanelHeader/PanelHeader.styles.js +4 -1
- package/lib/cjs/components/SwitchField/switchFieldAttributes.d.ts +7 -2
- package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +138 -119
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +10 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +10 -0
- package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +10 -0
- package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +10 -1
- package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +10 -1
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +10 -1
- package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +10 -1
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +13 -1
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +3 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -0
- package/lib/cjs/types/breadCrumbs.d.ts +6 -0
- package/lib/cjs/types/datePicker.d.ts +112 -0
- package/lib/cjs/types/datePicker.js +6 -0
- package/lib/cjs/types/imageUploadField.d.ts +31 -0
- package/lib/cjs/types/imageUploadField.js +6 -0
- package/lib/cjs/types/index.d.ts +2 -0
- package/lib/cjs/types/index.js +73 -51
- package/lib/cjs/utils/devUtils/constants/statuses.d.ts +17 -0
- package/lib/cjs/utils/devUtils/props/isDateWithinRanges.d.ts +10 -0
- package/lib/cjs/utils/devUtils/props/isDateWithinRanges.js +2 -2
- package/lib/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
- package/lib/components/Breadcrumbs/BreadcrumbItem.js +17 -4
- package/lib/components/Breadcrumbs/Breadcrumbs.js +25 -8
- package/lib/components/DatePicker/DateField.js +25 -79
- package/lib/components/DatePicker/DatePicker.js +30 -79
- package/lib/components/DatePicker/DatePicker.stories.js +4 -2
- package/lib/components/DatePicker/DatePicker.styles.js +3 -1
- package/lib/components/DatePicker/DatePicker.test.js +4 -4
- package/lib/components/DatePicker/DateSegment.js +17 -30
- package/lib/components/ImageUploadField/ImagePreviewButton.js +5 -24
- package/lib/components/ImageUploadField/ImageUploadField.js +31 -67
- package/lib/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
- package/lib/components/PanelHeader/PanelHeader.styles.js +4 -1
- package/lib/styles/themes/next-gen/variants/variants.js +3 -0
- package/lib/types/datePicker.js +1 -0
- package/lib/types/imageUploadField.js +1 -0
- package/lib/types/index.js +2 -0
- package/lib/utils/devUtils/props/isDateWithinRanges.js +2 -3
- 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: '
|
|
43
|
+
flex: '1 2 auto',
|
|
44
|
+
textWrap: 'nowrap',
|
|
45
|
+
textOverflow: 'ellipsis',
|
|
46
|
+
whiteSpace: 'nowrap',
|
|
41
47
|
minWidth: breadcrumbMinWidth,
|
|
42
48
|
'&.is-current': {
|
|
43
|
-
flex: '
|
|
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
|
-
|
|
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
|
-
|
|
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)(
|
|
65
|
-
|
|
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,
|
|
@@ -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
|
-
|
|
68
|
-
|
|
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
|
|
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
|
-
},
|
|
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;
|
|
@@ -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
|
-
|
|
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:
|
|
71
|
-
defaultValue:
|
|
72
|
-
maxValue:
|
|
73
|
-
minValue:
|
|
74
|
-
isDateUnavailable: unavailableRanges
|
|
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
|
-
|
|
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
|
|
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,
|