@pingux/astro 2.134.1-alpha.0 → 2.135.0-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/Input/Input.styles.js +5 -0
- package/lib/cjs/components/TimeField/TimeField.js +9 -7
- package/lib/cjs/components/TimeField/TimeField.stories.d.ts +1 -0
- package/lib/cjs/components/TimeField/TimeField.stories.js +18 -2
- package/lib/cjs/components/TimeField/TimeField.styles.d.ts +3 -0
- package/lib/cjs/components/TimeField/TimeField.styles.js +3 -0
- package/lib/cjs/components/TimeField/TimeField.test.js +9 -0
- package/lib/cjs/components/TooltipTrigger/TooltipTrigger.js +13 -1
- package/lib/components/Input/Input.styles.js +5 -0
- package/lib/components/TimeField/TimeField.js +9 -7
- package/lib/components/TimeField/TimeField.stories.js +15 -0
- package/lib/components/TimeField/TimeField.styles.js +3 -0
- package/lib/components/TimeField/TimeField.test.js +9 -0
- package/lib/components/TooltipTrigger/TooltipTrigger.js +13 -1
- package/package.json +1 -1
@@ -59,19 +59,21 @@ var TimeField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
59
59
|
var state = (0, _datepicker2.useTimeFieldState)(_objectSpread(_objectSpread(_objectSpread({}, props), parsedTimes), {}, {
|
60
60
|
locale: locale
|
61
61
|
}));
|
62
|
-
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
63
|
-
isDisabled: isDisabled,
|
64
|
-
isReadOnly: isReadOnly,
|
65
|
-
is24Hour: props.hourCycle === 24
|
66
|
-
}),
|
67
|
-
classNames = _useStatusClasses.classNames;
|
68
62
|
var _useTimeField = (0, _datepicker.useTimeField)(_objectSpread(_objectSpread({}, props), parsedTimes), state, fieldRef),
|
69
|
-
fieldProps = _useTimeField.fieldProps
|
63
|
+
fieldProps = _useTimeField.fieldProps,
|
64
|
+
isInvalid = _useTimeField.isInvalid;
|
70
65
|
var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, others), {}, {
|
71
66
|
value: (state === null || state === void 0 || (_state$value = state.value) === null || _state$value === void 0 ? void 0 : _state$value.toString()) || ''
|
72
67
|
})),
|
73
68
|
fieldContainerProps = _useField.fieldContainerProps,
|
74
69
|
fieldLabelProps = _useField.fieldLabelProps;
|
70
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
71
|
+
isDisabled: isDisabled,
|
72
|
+
isReadOnly: isReadOnly,
|
73
|
+
isInvalid: isInvalid,
|
74
|
+
is24Hour: props.hourCycle === 24
|
75
|
+
}),
|
76
|
+
classNames = _useStatusClasses.classNames;
|
75
77
|
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
76
78
|
variant: "forms.input.fieldContainer"
|
77
79
|
}, fieldContainerProps, {
|
@@ -9,3 +9,4 @@ export declare const Disabled: StoryFn<TimeFieldProps>;
|
|
9
9
|
export declare const ReadOnly: StoryFn<TimeFieldProps>;
|
10
10
|
export declare const Required: StoryFn<TimeFieldProps>;
|
11
11
|
export declare const WithLabel: StoryFn<TimeFieldProps>;
|
12
|
+
export declare const Invalid: StoryFn<TimeFieldProps>;
|
@@ -8,7 +8,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
8
8
|
_Object$defineProperty(exports, "__esModule", {
|
9
9
|
value: true
|
10
10
|
});
|
11
|
-
exports["default"] = exports.WithLabel = exports.Required = exports.ReadOnly = exports.Disabled = exports.DefaultValue = exports.Default = exports.Controlled = void 0;
|
11
|
+
exports["default"] = exports.WithLabel = exports.Required = exports.ReadOnly = exports.Invalid = exports.Disabled = exports.DefaultValue = exports.Default = exports.Controlled = void 0;
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
13
13
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
@@ -98,4 +98,20 @@ var WithLabel = function WithLabel(args) {
|
|
98
98
|
"aria-label": "timefield-default"
|
99
99
|
}));
|
100
100
|
};
|
101
|
-
exports.WithLabel = WithLabel;
|
101
|
+
exports.WithLabel = WithLabel;
|
102
|
+
var Invalid = function Invalid() {
|
103
|
+
var _useState3 = (0, _react.useState)('02:30'),
|
104
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
105
|
+
time = _useState4[0],
|
106
|
+
setTime = _useState4[1];
|
107
|
+
var onChangeHandler = function onChangeHandler(value) {
|
108
|
+
return setTime(value.toString());
|
109
|
+
};
|
110
|
+
return (0, _react2.jsx)(_index.TimeField, {
|
111
|
+
"aria-label": "timefield-default",
|
112
|
+
value: time,
|
113
|
+
onChange: onChangeHandler,
|
114
|
+
isInvalid: true
|
115
|
+
});
|
116
|
+
};
|
117
|
+
exports.Invalid = Invalid;
|
@@ -19,6 +19,9 @@ declare const _default: {
|
|
19
19
|
'&.is-24-hour': {
|
20
20
|
minWidth: string;
|
21
21
|
};
|
22
|
+
'&.is-invalid': {
|
23
|
+
borderColor: string;
|
24
|
+
};
|
22
25
|
grid?: import("theme-ui").StylePropertyValue<import("csstype").Property.Grid | undefined>;
|
23
26
|
accentColor?: import("theme-ui").StylePropertyValue<import("csstype").Property.AccentColor | undefined>;
|
24
27
|
alignContent?: import("theme-ui").StylePropertyValue<import("csstype").Property.AlignContent | undefined>;
|
@@ -93,6 +93,15 @@ test('renders TimeField component with isReadOnly', function () {
|
|
93
93
|
expect(segment).toHaveAttribute('aria-readonly', 'true');
|
94
94
|
});
|
95
95
|
});
|
96
|
+
test('renders TimeField component with isInvalid', function () {
|
97
|
+
getComponent({
|
98
|
+
isInvalid: true
|
99
|
+
});
|
100
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
101
|
+
(0, _forEach["default"])(timeSegments).call(timeSegments, function (segment) {
|
102
|
+
expect(segment).toHaveAttribute('aria-invalid', 'true');
|
103
|
+
});
|
104
|
+
});
|
96
105
|
test('should handle autofocus when deleting segments from left to right', function () {
|
97
106
|
var defaultValue = new _date.Time(12, 30);
|
98
107
|
getComponent({
|
@@ -10,6 +10,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
});
|
11
11
|
exports["default"] = void 0;
|
12
12
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
13
|
+
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
13
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
15
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
@@ -17,6 +18,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
17
18
|
var _reactAria = require("react-aria");
|
18
19
|
var _reactStately = require("react-stately");
|
19
20
|
var _interactions = require("@react-aria/interactions");
|
21
|
+
var _utils = require("@react-aria/utils");
|
20
22
|
var _index = require("../../context/TooltipContext/index");
|
21
23
|
var _hooks = require("../../hooks");
|
22
24
|
var _PopoverContainer = _interopRequireDefault(require("../PopoverContainer"));
|
@@ -76,7 +78,17 @@ var TooltipTrigger = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
76
78
|
}),
|
77
79
|
positionProps = _useOverlayPosition.overlayProps,
|
78
80
|
arrowProps = _useOverlayPosition.arrowProps,
|
79
|
-
placement = _useOverlayPosition.placement
|
81
|
+
placement = _useOverlayPosition.placement,
|
82
|
+
updatePosition = _useOverlayPosition.updatePosition;
|
83
|
+
(0, _utils.useLayoutEffect)(function () {
|
84
|
+
if (isOpen) {
|
85
|
+
requestAnimationFrame(function () {
|
86
|
+
(0, _setTimeout2["default"])(function () {
|
87
|
+
updatePosition();
|
88
|
+
}, 200);
|
89
|
+
});
|
90
|
+
}
|
91
|
+
}, [isOpen, updatePosition]);
|
80
92
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, (_useStatusClasses2 = {}, (0, _defineProperty2["default"])(_useStatusClasses2, "is-".concat(direction), direction), (0, _defineProperty2["default"])(_useStatusClasses2, "isDarkMode", isDarkMode), (0, _defineProperty2["default"])(_useStatusClasses2, "animate", shouldAnimate), (0, _defineProperty2["default"])(_useStatusClasses2, "isTransitioning", isTransitioning), (0, _defineProperty2["default"])(_useStatusClasses2, "isMounted", state.isOpen), _useStatusClasses2)),
|
81
93
|
classNames = _useStatusClasses.classNames;
|
82
94
|
var overlay = (0, _react2.jsx)(_PopoverContainer["default"], (0, _extends2["default"])({
|
@@ -47,19 +47,21 @@ var TimeField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
47
47
|
var state = useTimeFieldState(_objectSpread(_objectSpread(_objectSpread({}, props), parsedTimes), {}, {
|
48
48
|
locale: locale
|
49
49
|
}));
|
50
|
-
var _useStatusClasses = useStatusClasses(className, {
|
51
|
-
isDisabled: isDisabled,
|
52
|
-
isReadOnly: isReadOnly,
|
53
|
-
is24Hour: props.hourCycle === 24
|
54
|
-
}),
|
55
|
-
classNames = _useStatusClasses.classNames;
|
56
50
|
var _useTimeField = useTimeField(_objectSpread(_objectSpread({}, props), parsedTimes), state, fieldRef),
|
57
|
-
fieldProps = _useTimeField.fieldProps
|
51
|
+
fieldProps = _useTimeField.fieldProps,
|
52
|
+
isInvalid = _useTimeField.isInvalid;
|
58
53
|
var _useField = useField(_objectSpread(_objectSpread({}, others), {}, {
|
59
54
|
value: (state === null || state === void 0 || (_state$value = state.value) === null || _state$value === void 0 ? void 0 : _state$value.toString()) || ''
|
60
55
|
})),
|
61
56
|
fieldContainerProps = _useField.fieldContainerProps,
|
62
57
|
fieldLabelProps = _useField.fieldLabelProps;
|
58
|
+
var _useStatusClasses = useStatusClasses(className, {
|
59
|
+
isDisabled: isDisabled,
|
60
|
+
isReadOnly: isReadOnly,
|
61
|
+
isInvalid: isInvalid,
|
62
|
+
is24Hour: props.hourCycle === 24
|
63
|
+
}),
|
64
|
+
classNames = _useStatusClasses.classNames;
|
63
65
|
return ___EmotionJSX(Box, _extends({
|
64
66
|
variant: "forms.input.fieldContainer"
|
65
67
|
}, fieldContainerProps, {
|
@@ -77,4 +77,19 @@ export var WithLabel = function WithLabel(args) {
|
|
77
77
|
label: "Lorem Ipsum",
|
78
78
|
"aria-label": "timefield-default"
|
79
79
|
}));
|
80
|
+
};
|
81
|
+
export var Invalid = function Invalid() {
|
82
|
+
var _useState3 = useState('02:30'),
|
83
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
84
|
+
time = _useState4[0],
|
85
|
+
setTime = _useState4[1];
|
86
|
+
var onChangeHandler = function onChangeHandler(value) {
|
87
|
+
return setTime(value.toString());
|
88
|
+
};
|
89
|
+
return ___EmotionJSX(TimeField, {
|
90
|
+
"aria-label": "timefield-default",
|
91
|
+
value: time,
|
92
|
+
onChange: onChangeHandler,
|
93
|
+
isInvalid: true
|
94
|
+
});
|
80
95
|
};
|
@@ -90,6 +90,15 @@ test('renders TimeField component with isReadOnly', function () {
|
|
90
90
|
expect(segment).toHaveAttribute('aria-readonly', 'true');
|
91
91
|
});
|
92
92
|
});
|
93
|
+
test('renders TimeField component with isInvalid', function () {
|
94
|
+
getComponent({
|
95
|
+
isInvalid: true
|
96
|
+
});
|
97
|
+
var timeSegments = screen.getAllByRole('spinbutton');
|
98
|
+
_forEachInstanceProperty(timeSegments).call(timeSegments, function (segment) {
|
99
|
+
expect(segment).toHaveAttribute('aria-invalid', 'true');
|
100
|
+
});
|
101
|
+
});
|
93
102
|
test('should handle autofocus when deleting segments from left to right', function () {
|
94
103
|
var defaultValue = new Time(12, 30);
|
95
104
|
getComponent({
|
@@ -2,10 +2,12 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
3
3
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
|
4
4
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
5
|
+
import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
|
5
6
|
import React, { forwardRef, useImperativeHandle, useRef } from 'react';
|
6
7
|
import { useOverlayPosition, useTooltipTrigger } from 'react-aria';
|
7
8
|
import { useTooltipTriggerState } from 'react-stately';
|
8
9
|
import { PressResponder } from '@react-aria/interactions';
|
10
|
+
import { useLayoutEffect } from '@react-aria/utils';
|
9
11
|
import { TooltipContext } from '../../context/TooltipContext/index';
|
10
12
|
import { useGetTheme, useMountTransition, usePropWarning, useStatusClasses } from '../../hooks';
|
11
13
|
import PopoverContainer from '../PopoverContainer';
|
@@ -63,7 +65,17 @@ var TooltipTrigger = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
63
65
|
}),
|
64
66
|
positionProps = _useOverlayPosition.overlayProps,
|
65
67
|
arrowProps = _useOverlayPosition.arrowProps,
|
66
|
-
placement = _useOverlayPosition.placement
|
68
|
+
placement = _useOverlayPosition.placement,
|
69
|
+
updatePosition = _useOverlayPosition.updatePosition;
|
70
|
+
useLayoutEffect(function () {
|
71
|
+
if (isOpen) {
|
72
|
+
requestAnimationFrame(function () {
|
73
|
+
_setTimeout(function () {
|
74
|
+
updatePosition();
|
75
|
+
}, 200);
|
76
|
+
});
|
77
|
+
}
|
78
|
+
}, [isOpen, updatePosition]);
|
67
79
|
var _useStatusClasses = useStatusClasses(className, (_useStatusClasses2 = {}, _defineProperty(_useStatusClasses2, "is-".concat(direction), direction), _defineProperty(_useStatusClasses2, "isDarkMode", isDarkMode), _defineProperty(_useStatusClasses2, "animate", shouldAnimate), _defineProperty(_useStatusClasses2, "isTransitioning", isTransitioning), _defineProperty(_useStatusClasses2, "isMounted", state.isOpen), _useStatusClasses2)),
|
68
80
|
classNames = _useStatusClasses.classNames;
|
69
81
|
var overlay = ___EmotionJSX(PopoverContainer, _extends({
|