@pingux/astro 2.4.0 → 2.4.1-alpha.1
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/DatePicker/DateField.js +11 -3
- package/lib/cjs/components/DatePicker/DatePicker.test.js +11 -0
- package/lib/cjs/components/DatePicker/DateSegment.js +5 -3
- package/lib/components/DatePicker/DateField.js +12 -4
- package/lib/components/DatePicker/DatePicker.test.js +11 -0
- package/lib/components/DatePicker/DateSegment.js +5 -3
- package/package.json +1 -1
- package/NOTICE.html +0 -12821
@@ -39,7 +39,7 @@ var _index = require("../../index");
|
|
39
39
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
40
40
|
var _DateSegment = _interopRequireDefault(require("./DateSegment"));
|
41
41
|
var _react2 = require("@emotion/react");
|
42
|
-
var _excluded = ["buttonProps", "fieldProps", "groupProps", "groupRef", "hasFormatHelpText", "helperText", "isDisabled", "isOpen", "isReadOnly", "isRequired", "status", "datePickerState", "minValue", "maxValue", "unavailableRanges"],
|
42
|
+
var _excluded = ["buttonProps", "className", "fieldProps", "groupProps", "groupRef", "hasFormatHelpText", "helperText", "isDisabled", "isOpen", "isReadOnly", "isRequired", "status", "datePickerState", "minValue", "maxValue", "unavailableRanges"],
|
43
43
|
_excluded2 = ["defaultValue"];
|
44
44
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
45
45
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
@@ -57,6 +57,7 @@ var ARIA_LABELS_CALENDAR_BUTTON_EXPANSION = {
|
|
57
57
|
var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
58
58
|
var _labelRef$current, _context3;
|
59
59
|
var buttonProps = props.buttonProps,
|
60
|
+
className = props.className,
|
60
61
|
fieldProps = props.fieldProps,
|
61
62
|
groupProps = props.groupProps,
|
62
63
|
groupRef = props.groupRef,
|
@@ -90,6 +91,11 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
90
91
|
locale: locale,
|
91
92
|
createCalendar: _date.createCalendar
|
92
93
|
}));
|
94
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, (0, _defineProperty2["default"])({
|
95
|
+
isDisabled: isDisabled,
|
96
|
+
isReadOnly: isReadOnly
|
97
|
+
}, "is-".concat(status), true)),
|
98
|
+
classNames = _useStatusClasses.classNames;
|
93
99
|
var segments = state.segments;
|
94
100
|
var setValue = datePickerState.setValue;
|
95
101
|
var _useDateField = (0, _datepicker.useDateField)(_objectSpread({}, fieldProps), state, fieldRef),
|
@@ -214,7 +220,8 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
214
220
|
isRow: true,
|
215
221
|
variant: "forms.datePicker.inSlotContainer"
|
216
222
|
}, groupProps, {
|
217
|
-
ref: groupRef
|
223
|
+
ref: groupRef,
|
224
|
+
className: classNames
|
218
225
|
}), (0, _react2.jsx)(_index.Box, fieldControlWrapperProps, (0, _react2.jsx)(_visuallyHidden.VisuallyHidden, null, (0, _react2.jsx)(_index.Input, (0, _extends2["default"])({
|
219
226
|
ref: inputRef,
|
220
227
|
tabIndex: -1,
|
@@ -226,7 +233,8 @@ var DateField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
226
233
|
isRow: true,
|
227
234
|
variant: "forms.datePicker.inputField"
|
228
235
|
}, dateFieldProps, {
|
229
|
-
ref: fieldRef
|
236
|
+
ref: fieldRef,
|
237
|
+
className: classNames
|
230
238
|
}), (0, _react2.jsx)(_reactAria.FocusScope, null, (0, _map["default"])(_context3 = locale === 'en-US' ? enUSSegments : segments).call(_context3, function (segment, index) {
|
231
239
|
return (0, _react2.jsx)(_DateSegment["default"], (0, _extends2["default"])({
|
232
240
|
key: getKey(segment, index),
|
@@ -548,6 +548,17 @@ test('dateField should handle autofocus when deleting segments ', function () {
|
|
548
548
|
}
|
549
549
|
expect(hiddenInput).toHaveValue('');
|
550
550
|
});
|
551
|
+
test('should add the correct number of padded 0 to year, month and day', function () {
|
552
|
+
getComponent({
|
553
|
+
defaultValue: '0009-08-02'
|
554
|
+
});
|
555
|
+
expect(_testWrapper.screen.queryByTestId('date-field')).toHaveValue('0009-08-02');
|
556
|
+
_userEvent["default"].click(_testWrapper.screen.queryByRole('button'));
|
557
|
+
var dateButtons = _testWrapper.screen.queryAllByRole('button');
|
558
|
+
expect(dateButtons[5]).toHaveAttribute('aria-label', 'Saturday, August 1, 9');
|
559
|
+
_userEvent["default"].click(dateButtons[5]);
|
560
|
+
expect(_testWrapper.screen.queryByTestId('date-field')).toHaveValue('0009-08-01');
|
561
|
+
});
|
551
562
|
test('should have no accessibility violations', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
552
563
|
var _getComponent, container, results;
|
553
564
|
return _regeneratorRuntime().wrap(function _callee3$(_context10) {
|
@@ -10,6 +10,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
});
|
11
11
|
exports["default"] = void 0;
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
13
|
+
var _padStart = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/pad-start"));
|
13
14
|
var _react = _interopRequireWildcard(require("react"));
|
14
15
|
var _reactAria = require("react-aria");
|
15
16
|
var _datepicker = require("@react-aria/datepicker");
|
@@ -36,7 +37,7 @@ var DateSegment = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
36
37
|
segmentProps = _useDateSegment.segmentProps;
|
37
38
|
|
38
39
|
/**
|
39
|
-
* Handler to autofocus segments when using
|
40
|
+
* Handler to autofocus segments when using delete key
|
40
41
|
*/
|
41
42
|
var focusManager = (0, _reactAria.useFocusManager)();
|
42
43
|
var handleKeyEvents = (0, _react.useCallback)(function (e) {
|
@@ -49,7 +50,7 @@ var DateSegment = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
49
50
|
variant: "forms.datePicker.segment",
|
50
51
|
onKeyUp: handleKeyEvents,
|
51
52
|
onPaste: handlePaste
|
52
|
-
}), text === '/' ? '-' : text);
|
53
|
+
}), text === '/' ? '-' : (0, _padStart["default"])(text).call(text, segment.type === 'year' ? 4 : 2, 0));
|
53
54
|
});
|
54
55
|
DateSegment.propTypes = {
|
55
56
|
/** slot for input that indicates each date segment */
|
@@ -57,7 +58,8 @@ DateSegment.propTypes = {
|
|
57
58
|
isPlaceholder: _propTypes["default"].bool,
|
58
59
|
text: _propTypes["default"].string,
|
59
60
|
placeholder: _propTypes["default"].string,
|
60
|
-
value: _propTypes["default"].number
|
61
|
+
value: _propTypes["default"].number,
|
62
|
+
type: _propTypes["default"].string
|
61
63
|
}),
|
62
64
|
/** state returned by useDateField */
|
63
65
|
state: _propTypes["default"].shape({}),
|
@@ -9,7 +9,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
|
9
9
|
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
10
10
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
|
11
11
|
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
|
12
|
-
var _excluded = ["buttonProps", "fieldProps", "groupProps", "groupRef", "hasFormatHelpText", "helperText", "isDisabled", "isOpen", "isReadOnly", "isRequired", "status", "datePickerState", "minValue", "maxValue", "unavailableRanges"],
|
12
|
+
var _excluded = ["buttonProps", "className", "fieldProps", "groupProps", "groupRef", "hasFormatHelpText", "helperText", "isDisabled", "isOpen", "isReadOnly", "isRequired", "status", "datePickerState", "minValue", "maxValue", "unavailableRanges"],
|
13
13
|
_excluded2 = ["defaultValue"];
|
14
14
|
import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
|
15
15
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
@@ -28,7 +28,7 @@ import { VisuallyHidden } from '@react-aria/visually-hidden';
|
|
28
28
|
import { useDateFieldState } from '@react-stately/datepicker';
|
29
29
|
import CalendarIcon from 'mdi-react/CalendarIcon';
|
30
30
|
import PropTypes from 'prop-types';
|
31
|
-
import { useField } from '../../hooks';
|
31
|
+
import { useField, useStatusClasses } from '../../hooks';
|
32
32
|
import { Box, FieldHelperText, Icon, IconButton, Input, Label, Messages } from '../../index';
|
33
33
|
import statuses from '../../utils/devUtils/constants/statuses';
|
34
34
|
import DateSegment from './DateSegment';
|
@@ -45,6 +45,7 @@ var ARIA_LABELS_CALENDAR_BUTTON_EXPANSION = {
|
|
45
45
|
var DateField = /*#__PURE__*/forwardRef(function (props, ref) {
|
46
46
|
var _labelRef$current, _context3;
|
47
47
|
var buttonProps = props.buttonProps,
|
48
|
+
className = props.className,
|
48
49
|
fieldProps = props.fieldProps,
|
49
50
|
groupProps = props.groupProps,
|
50
51
|
groupRef = props.groupRef,
|
@@ -78,6 +79,11 @@ var DateField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
78
79
|
locale: locale,
|
79
80
|
createCalendar: createCalendar
|
80
81
|
}));
|
82
|
+
var _useStatusClasses = useStatusClasses(className, _defineProperty({
|
83
|
+
isDisabled: isDisabled,
|
84
|
+
isReadOnly: isReadOnly
|
85
|
+
}, "is-".concat(status), true)),
|
86
|
+
classNames = _useStatusClasses.classNames;
|
81
87
|
var segments = state.segments;
|
82
88
|
var setValue = datePickerState.setValue;
|
83
89
|
var _useDateField = useDateField(_objectSpread({}, fieldProps), state, fieldRef),
|
@@ -202,7 +208,8 @@ var DateField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
202
208
|
isRow: true,
|
203
209
|
variant: "forms.datePicker.inSlotContainer"
|
204
210
|
}, groupProps, {
|
205
|
-
ref: groupRef
|
211
|
+
ref: groupRef,
|
212
|
+
className: classNames
|
206
213
|
}), ___EmotionJSX(Box, fieldControlWrapperProps, ___EmotionJSX(VisuallyHidden, null, ___EmotionJSX(Input, _extends({
|
207
214
|
ref: inputRef,
|
208
215
|
tabIndex: -1,
|
@@ -214,7 +221,8 @@ var DateField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
214
221
|
isRow: true,
|
215
222
|
variant: "forms.datePicker.inputField"
|
216
223
|
}, dateFieldProps, {
|
217
|
-
ref: fieldRef
|
224
|
+
ref: fieldRef,
|
225
|
+
className: classNames
|
218
226
|
}), ___EmotionJSX(FocusScope, null, _mapInstanceProperty(_context3 = locale === 'en-US' ? enUSSegments : segments).call(_context3, function (segment, index) {
|
219
227
|
return ___EmotionJSX(DateSegment, _extends({
|
220
228
|
key: getKey(segment, index),
|
@@ -541,6 +541,17 @@ test('dateField should handle autofocus when deleting segments ', function () {
|
|
541
541
|
}
|
542
542
|
expect(hiddenInput).toHaveValue('');
|
543
543
|
});
|
544
|
+
test('should add the correct number of padded 0 to year, month and day', function () {
|
545
|
+
getComponent({
|
546
|
+
defaultValue: '0009-08-02'
|
547
|
+
});
|
548
|
+
expect(screen.queryByTestId('date-field')).toHaveValue('0009-08-02');
|
549
|
+
userEvent.click(screen.queryByRole('button'));
|
550
|
+
var dateButtons = screen.queryAllByRole('button');
|
551
|
+
expect(dateButtons[5]).toHaveAttribute('aria-label', 'Saturday, August 1, 9');
|
552
|
+
userEvent.click(dateButtons[5]);
|
553
|
+
expect(screen.queryByTestId('date-field')).toHaveValue('0009-08-01');
|
554
|
+
});
|
544
555
|
test('should have no accessibility violations', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
545
556
|
var _getComponent, container, results;
|
546
557
|
return _regeneratorRuntime().wrap(function _callee3$(_context10) {
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
2
|
+
import _padStartInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/pad-start";
|
2
3
|
import React, { forwardRef, useCallback, useImperativeHandle, useRef } from 'react';
|
3
4
|
import { useFocusManager } from 'react-aria';
|
4
5
|
import { useDateSegment } from '@react-aria/datepicker';
|
@@ -24,7 +25,7 @@ var DateSegment = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
24
25
|
segmentProps = _useDateSegment.segmentProps;
|
25
26
|
|
26
27
|
/**
|
27
|
-
* Handler to autofocus segments when using
|
28
|
+
* Handler to autofocus segments when using delete key
|
28
29
|
*/
|
29
30
|
var focusManager = useFocusManager();
|
30
31
|
var handleKeyEvents = useCallback(function (e) {
|
@@ -37,7 +38,7 @@ var DateSegment = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
37
38
|
variant: "forms.datePicker.segment",
|
38
39
|
onKeyUp: handleKeyEvents,
|
39
40
|
onPaste: handlePaste
|
40
|
-
}), text === '/' ? '-' : text);
|
41
|
+
}), text === '/' ? '-' : _padStartInstanceProperty(text).call(text, segment.type === 'year' ? 4 : 2, 0));
|
41
42
|
});
|
42
43
|
DateSegment.propTypes = {
|
43
44
|
/** slot for input that indicates each date segment */
|
@@ -45,7 +46,8 @@ DateSegment.propTypes = {
|
|
45
46
|
isPlaceholder: PropTypes.bool,
|
46
47
|
text: PropTypes.string,
|
47
48
|
placeholder: PropTypes.string,
|
48
|
-
value: PropTypes.number
|
49
|
+
value: PropTypes.number,
|
50
|
+
type: PropTypes.string
|
49
51
|
}),
|
50
52
|
/** state returned by useDateField */
|
51
53
|
state: PropTypes.shape({}),
|