@pingux/astro 2.70.0 → 2.71.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/SelectFieldBase/SelectFieldBase.js +3 -1
- package/lib/cjs/components/TimeField/TimeField.d.ts +7 -0
- package/lib/cjs/components/TimeField/TimeField.js +105 -0
- package/lib/cjs/components/TimeField/TimeField.mdx +35 -0
- package/lib/cjs/components/TimeField/TimeField.stories.d.ts +27 -0
- package/lib/cjs/components/TimeField/TimeField.stories.js +96 -0
- package/lib/cjs/components/TimeField/TimeField.styles.d.ts +865 -0
- package/lib/cjs/components/TimeField/TimeField.styles.js +47 -0
- package/lib/cjs/components/TimeField/TimeField.test.d.ts +1 -0
- package/lib/cjs/components/TimeField/TimeField.test.js +194 -0
- package/lib/cjs/components/TimeField/TimeSegment.d.ts +4 -0
- package/lib/cjs/components/TimeField/TimeSegment.js +64 -0
- package/lib/cjs/components/TimeField/index.d.ts +2 -0
- package/lib/cjs/components/TimeField/index.js +33 -0
- package/lib/cjs/index.d.ts +2 -0
- package/lib/cjs/index.js +23 -4
- package/lib/cjs/recipes/DateTimeRangePicker.stories.js +182 -0
- package/lib/cjs/styles/forms/index.js +2 -0
- package/lib/cjs/styles/variants/variants.js +2 -0
- package/lib/cjs/types/index.d.ts +1 -0
- package/lib/cjs/types/index.js +13 -2
- package/lib/cjs/types/timefield.d.ts +69 -0
- package/lib/cjs/types/timefield.js +6 -0
- package/lib/cjs/utils/designUtils/figmaLinks.d.ts +3 -0
- package/lib/cjs/utils/designUtils/figmaLinks.js +3 -0
- package/lib/components/SelectFieldBase/SelectFieldBase.js +3 -1
- package/lib/components/TimeField/TimeField.js +92 -0
- package/lib/components/TimeField/TimeField.mdx +35 -0
- package/lib/components/TimeField/TimeField.stories.js +75 -0
- package/lib/components/TimeField/TimeField.styles.js +39 -0
- package/lib/components/TimeField/TimeField.test.js +191 -0
- package/lib/components/TimeField/TimeSegment.js +50 -0
- package/lib/components/TimeField/index.js +2 -0
- package/lib/index.js +2 -0
- package/lib/recipes/DateTimeRangePicker.stories.js +167 -0
- package/lib/styles/forms/index.js +2 -0
- package/lib/styles/variants/variants.js +2 -0
- package/lib/types/index.js +1 -0
- package/lib/types/timefield.js +1 -0
- package/lib/utils/designUtils/figmaLinks.js +3 -0
- package/package.json +4 -4
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
5
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
10
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
11
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
12
|
+
_Object$defineProperty(exports, "__esModule", {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
exports["default"] = void 0;
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
17
|
+
var _Input = require("../Input/Input.styles");
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
20
|
+
var inputField = _objectSpread(_objectSpread({}, _Input.input), {}, {
|
21
|
+
minWidth: '100px',
|
22
|
+
width: 'auto',
|
23
|
+
position: 'relative',
|
24
|
+
'&:focus-within:not(.is-read-only)': _objectSpread({}, _Input.defaultFocus),
|
25
|
+
':hover': {
|
26
|
+
cursor: 'text'
|
27
|
+
},
|
28
|
+
'&.is-read-only': {
|
29
|
+
backgroundColor: 'accent.95',
|
30
|
+
border: 'none'
|
31
|
+
},
|
32
|
+
'&.is-24-hour': {
|
33
|
+
minWidth: '0px'
|
34
|
+
}
|
35
|
+
});
|
36
|
+
var segment = {
|
37
|
+
'&:focus-visible': {
|
38
|
+
outline: '1px solid',
|
39
|
+
outlineColor: 'active',
|
40
|
+
borderRadius: 4
|
41
|
+
}
|
42
|
+
};
|
43
|
+
var _default = {
|
44
|
+
inputField: inputField,
|
45
|
+
segment: segment
|
46
|
+
};
|
47
|
+
exports["default"] = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,194 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
5
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
7
|
+
var _date = require("@internationalized/date");
|
8
|
+
var _index = require("../../index");
|
9
|
+
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
10
|
+
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
11
|
+
var _react2 = require("@emotion/react");
|
12
|
+
var getComponent = function getComponent() {
|
13
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
14
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_index.TimeField, (0, _extends2["default"])({}, props, {
|
15
|
+
"aria-label": "TimeField"
|
16
|
+
})));
|
17
|
+
};
|
18
|
+
|
19
|
+
// Needs to be added to each components test file.
|
20
|
+
(0, _universalComponentTest.universalComponentTests)({
|
21
|
+
renderComponent: function renderComponent(props) {
|
22
|
+
return (0, _react2.jsx)(_index.TimeField, (0, _extends2["default"])({}, props, {
|
23
|
+
"aria-label": "TimeField"
|
24
|
+
}));
|
25
|
+
}
|
26
|
+
});
|
27
|
+
test('renders TimeField component', function () {
|
28
|
+
getComponent();
|
29
|
+
expect(_testWrapper.screen.getByRole('group')).toBeInTheDocument();
|
30
|
+
});
|
31
|
+
test('renders the correct number of time segments', function () {
|
32
|
+
getComponent();
|
33
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
34
|
+
expect(timeSegments.length).toBe(3);
|
35
|
+
});
|
36
|
+
test('renders the correct number of time segments when granularity is set to seconds', function () {
|
37
|
+
getComponent({
|
38
|
+
granularity: 'second'
|
39
|
+
});
|
40
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
41
|
+
expect(timeSegments.length).toBe(4);
|
42
|
+
});
|
43
|
+
test('renders the correct number of time segments when hourCycle is set to 24', function () {
|
44
|
+
getComponent({
|
45
|
+
hourCycle: 24
|
46
|
+
});
|
47
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
48
|
+
expect(timeSegments.length).toBe(2);
|
49
|
+
});
|
50
|
+
test('renders the correct number of time segments when hourCycle is set to 24 and granularity is set to seconds', function () {
|
51
|
+
getComponent({
|
52
|
+
hourCycle: 24,
|
53
|
+
granularity: 'second'
|
54
|
+
});
|
55
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
56
|
+
expect(timeSegments.length).toBe(3);
|
57
|
+
});
|
58
|
+
test('renders the correct time with defaultValue', function () {
|
59
|
+
var defaultValue = new _date.Time(3);
|
60
|
+
getComponent({
|
61
|
+
defaultValue: defaultValue
|
62
|
+
});
|
63
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
64
|
+
expect(timeSegments[0]).toHaveTextContent('3');
|
65
|
+
expect(timeSegments[1]).toHaveTextContent('00');
|
66
|
+
expect(timeSegments[2]).toHaveTextContent('AM');
|
67
|
+
});
|
68
|
+
test('renders the correct time with controlled value', function () {
|
69
|
+
var value = new _date.Time(3);
|
70
|
+
getComponent({
|
71
|
+
value: value
|
72
|
+
});
|
73
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
74
|
+
expect(timeSegments[0]).toHaveTextContent('3');
|
75
|
+
expect(timeSegments[1]).toHaveTextContent('00');
|
76
|
+
expect(timeSegments[2]).toHaveTextContent('AM');
|
77
|
+
});
|
78
|
+
test('renders TimeField component with isDisabled', function () {
|
79
|
+
getComponent({
|
80
|
+
isDisabled: true
|
81
|
+
});
|
82
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
83
|
+
(0, _forEach["default"])(timeSegments).call(timeSegments, function (segment) {
|
84
|
+
expect(segment).toHaveAttribute('aria-disabled', 'true');
|
85
|
+
});
|
86
|
+
});
|
87
|
+
test('renders TimeField component with isReadOnly', function () {
|
88
|
+
getComponent({
|
89
|
+
isReadOnly: true
|
90
|
+
});
|
91
|
+
var timeSegments = _testWrapper.screen.getAllByRole('spinbutton');
|
92
|
+
(0, _forEach["default"])(timeSegments).call(timeSegments, function (segment) {
|
93
|
+
expect(segment).toHaveAttribute('aria-readonly', 'true');
|
94
|
+
});
|
95
|
+
});
|
96
|
+
test('should handle autofocus when deleting segments from left to right', function () {
|
97
|
+
var defaultValue = new _date.Time(12, 30);
|
98
|
+
getComponent({
|
99
|
+
defaultValue: defaultValue
|
100
|
+
});
|
101
|
+
var timeSegments = _testWrapper.screen.queryAllByRole('spinbutton');
|
102
|
+
var hour = timeSegments[0];
|
103
|
+
var minute = timeSegments[1];
|
104
|
+
var period = timeSegments[2];
|
105
|
+
expect(hour).toHaveTextContent('12');
|
106
|
+
expect(minute).toHaveTextContent('30');
|
107
|
+
expect(period).toHaveTextContent('PM');
|
108
|
+
(0, _testWrapper.act)(function () {
|
109
|
+
hour.focus();
|
110
|
+
});
|
111
|
+
for (var i = 0; i < 2; i += 1) {
|
112
|
+
_testWrapper.fireEvent.keyDown(hour, {
|
113
|
+
key: 'Backspace'
|
114
|
+
});
|
115
|
+
_testWrapper.fireEvent.keyUp(hour, {
|
116
|
+
key: 'Backspace'
|
117
|
+
});
|
118
|
+
}
|
119
|
+
expect(minute).toHaveFocus();
|
120
|
+
});
|
121
|
+
test('should handle autofocus when deleting segments from right to left', function () {
|
122
|
+
var defaultValue = new _date.Time(12, 30);
|
123
|
+
getComponent({
|
124
|
+
defaultValue: defaultValue
|
125
|
+
});
|
126
|
+
var timeSegments = _testWrapper.screen.queryAllByRole('spinbutton');
|
127
|
+
var hour = timeSegments[0];
|
128
|
+
var minute = timeSegments[1];
|
129
|
+
var period = timeSegments[2];
|
130
|
+
expect(hour).toHaveTextContent('12');
|
131
|
+
expect(minute).toHaveTextContent('30');
|
132
|
+
expect(period).toHaveTextContent('PM');
|
133
|
+
(0, _testWrapper.act)(function () {
|
134
|
+
minute.focus();
|
135
|
+
});
|
136
|
+
for (var i = 0; i < 2; i += 1) {
|
137
|
+
_testWrapper.fireEvent.keyDown(minute, {
|
138
|
+
key: 'Backspace'
|
139
|
+
});
|
140
|
+
_testWrapper.fireEvent.keyUp(minute, {
|
141
|
+
key: 'Backspace'
|
142
|
+
});
|
143
|
+
}
|
144
|
+
expect(hour).toHaveFocus();
|
145
|
+
});
|
146
|
+
describe('parseTimeIfString', function () {
|
147
|
+
it('should parse a time with only hours', function () {
|
148
|
+
var time = (0, _index.parseTimeIfString)('14');
|
149
|
+
var expected = new _date.Time(14);
|
150
|
+
expect(time).toEqual(expected);
|
151
|
+
});
|
152
|
+
it('should parse a padded time with only hours', function () {
|
153
|
+
var time = (0, _index.parseTimeIfString)('04');
|
154
|
+
var expected = new _date.Time(4);
|
155
|
+
expect(time).toEqual(expected);
|
156
|
+
});
|
157
|
+
it('should parse a time with hours and minutes', function () {
|
158
|
+
var time = (0, _index.parseTimeIfString)('14:05');
|
159
|
+
var expected = new _date.Time(14, 5);
|
160
|
+
expect(time).toEqual(expected);
|
161
|
+
});
|
162
|
+
it('should parse a time with hours, minutes, and seconds', function () {
|
163
|
+
var time = (0, _index.parseTimeIfString)('14:05:25');
|
164
|
+
var expected = new _date.Time(14, 5, 25);
|
165
|
+
expect(time).toEqual(expected);
|
166
|
+
});
|
167
|
+
it('should parse a time with hours, minutes, seconds, and milliseconds', function () {
|
168
|
+
var time = (0, _index.parseTimeIfString)('14:05:25.1');
|
169
|
+
var expected = new _date.Time(14, 5, 25, 100);
|
170
|
+
expect(time).toEqual(expected);
|
171
|
+
time = (0, _index.parseTimeIfString)('14:05:25.12');
|
172
|
+
expected = new _date.Time(14, 5, 25, 120);
|
173
|
+
expect(time).toEqual(expected);
|
174
|
+
});
|
175
|
+
it('should error if time is not padded', function () {
|
176
|
+
expect(function () {
|
177
|
+
return (0, _index.parseTimeIfString)('1');
|
178
|
+
}).toThrow();
|
179
|
+
expect(function () {
|
180
|
+
return (0, _index.parseTimeIfString)('01:4');
|
181
|
+
}).toThrow();
|
182
|
+
});
|
183
|
+
it('should error if components are out of range', function () {
|
184
|
+
expect(function () {
|
185
|
+
return (0, _index.parseTimeIfString)('45:23');
|
186
|
+
}).toThrow();
|
187
|
+
expect(function () {
|
188
|
+
return (0, _index.parseTimeIfString)('12:99');
|
189
|
+
}).toThrow();
|
190
|
+
expect(function () {
|
191
|
+
return (0, _index.parseTimeIfString)('12:45:99');
|
192
|
+
}).toThrow();
|
193
|
+
});
|
194
|
+
});
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
8
|
+
_Object$defineProperty(exports, "__esModule", {
|
9
|
+
value: true
|
10
|
+
});
|
11
|
+
exports["default"] = void 0;
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
14
|
+
var _reactAria = require("react-aria");
|
15
|
+
var _datepicker = require("@react-aria/datepicker");
|
16
|
+
var _index = require("../../index");
|
17
|
+
var _react2 = require("@emotion/react");
|
18
|
+
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); }
|
19
|
+
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; }
|
20
|
+
var TimeSegment = function TimeSegment(props) {
|
21
|
+
var state = props.state,
|
22
|
+
segment = props.segment,
|
23
|
+
segments = props.segments,
|
24
|
+
segmentIndex = props.segmentIndex;
|
25
|
+
var text = segment.text,
|
26
|
+
isPlaceholder = segment.isPlaceholder;
|
27
|
+
var ref = (0, _react.useRef)(null);
|
28
|
+
var _useDateSegment = (0, _datepicker.useDateSegment)(segment, state, ref),
|
29
|
+
segmentProps = _useDateSegment.segmentProps;
|
30
|
+
delete segmentProps.role;
|
31
|
+
var focusManager = (0, _reactAria.useFocusManager)();
|
32
|
+
var handleKeyEvents = (0, _react.useCallback)(function (e) {
|
33
|
+
var getSegmentValue = function getSegmentValue(seg) {
|
34
|
+
if (!seg) return false;
|
35
|
+
var isNumber = /^\d+$/.test(seg.text);
|
36
|
+
return isNumber;
|
37
|
+
};
|
38
|
+
if (e.key === 'Backspace' && isPlaceholder) {
|
39
|
+
var nextSegmentIndex = segmentIndex + 1;
|
40
|
+
while (segments[nextSegmentIndex] && segments[nextSegmentIndex].type === 'literal') {
|
41
|
+
nextSegmentIndex += 1;
|
42
|
+
}
|
43
|
+
var nextSegment = segments[nextSegmentIndex];
|
44
|
+
var previousSegmentIndex = segmentIndex - 1;
|
45
|
+
while (segments[previousSegmentIndex] && segments[previousSegmentIndex].type === 'literal') {
|
46
|
+
previousSegmentIndex -= 1;
|
47
|
+
}
|
48
|
+
var previousSegment = segments[previousSegmentIndex];
|
49
|
+
if (getSegmentValue(nextSegment)) return focusManager.focusNext();
|
50
|
+
if (!getSegmentValue(nextSegment) && getSegmentValue(previousSegment)) {
|
51
|
+
return focusManager.focusPrevious();
|
52
|
+
}
|
53
|
+
}
|
54
|
+
return null;
|
55
|
+
}, [focusManager, isPlaceholder, segments, segmentIndex]);
|
56
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, segmentProps, {
|
57
|
+
ref: ref,
|
58
|
+
variant: "forms.timeField.segment",
|
59
|
+
onKeyUp: handleKeyEvents,
|
60
|
+
role: "spinbutton"
|
61
|
+
}), text);
|
62
|
+
};
|
63
|
+
var _default = TimeSegment;
|
64
|
+
exports["default"] = _default;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _context;
|
4
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
5
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
6
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
9
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
10
|
+
_Object$defineProperty(exports, "__esModule", {
|
11
|
+
value: true
|
12
|
+
});
|
13
|
+
var _exportNames = {};
|
14
|
+
_Object$defineProperty(exports, "default", {
|
15
|
+
enumerable: true,
|
16
|
+
get: function get() {
|
17
|
+
return _TimeField["default"];
|
18
|
+
}
|
19
|
+
});
|
20
|
+
var _TimeField = _interopRequireWildcard(require("./TimeField"));
|
21
|
+
_forEachInstanceProperty(_context = _Object$keys(_TimeField)).call(_context, function (key) {
|
22
|
+
if (key === "default" || key === "__esModule") return;
|
23
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
24
|
+
if (key in exports && exports[key] === _TimeField[key]) return;
|
25
|
+
_Object$defineProperty(exports, key, {
|
26
|
+
enumerable: true,
|
27
|
+
get: function get() {
|
28
|
+
return _TimeField[key];
|
29
|
+
}
|
30
|
+
});
|
31
|
+
});
|
32
|
+
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); }
|
33
|
+
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; }
|
package/lib/cjs/index.d.ts
CHANGED
@@ -176,6 +176,8 @@ export { default as TextAreaField } from './components/TextAreaField';
|
|
176
176
|
export * from './components/TextAreaField';
|
177
177
|
export { default as TextField } from './components/TextField';
|
178
178
|
export * from './components/TextField';
|
179
|
+
export { default as TimeField } from './components/TimeField';
|
180
|
+
export * from './components/TimeField';
|
179
181
|
export { default as TimeZonePicker } from './components/TimeZonePicker';
|
180
182
|
export { default as TooltipTrigger } from './components/TooltipTrigger';
|
181
183
|
export * from './components/TooltipTrigger';
|
package/lib/cjs/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _context50, _context51, _context52, _context53, _context54, _context55, _context56, _context57, _context58, _context59, _context60, _context61, _context62, _context63, _context64, _context65, _context66, _context67, _context68, _context69, _context70, _context71, _context72, _context73, _context74, _context75;
|
3
|
+
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _context50, _context51, _context52, _context53, _context54, _context55, _context56, _context57, _context58, _context59, _context60, _context61, _context62, _context63, _context64, _context65, _context66, _context67, _context68, _context69, _context70, _context71, _context72, _context73, _context74, _context75, _context76;
|
4
4
|
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
5
5
|
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
6
6
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
@@ -119,6 +119,7 @@ var _exportNames = {
|
|
119
119
|
TextArea: true,
|
120
120
|
TextAreaField: true,
|
121
121
|
TextField: true,
|
122
|
+
TimeField: true,
|
122
123
|
TimeZonePicker: true,
|
123
124
|
TooltipTrigger: true,
|
124
125
|
TreeView: true,
|
@@ -819,6 +820,12 @@ _Object$defineProperty(exports, "TextField", {
|
|
819
820
|
return _TextField["default"];
|
820
821
|
}
|
821
822
|
});
|
823
|
+
_Object$defineProperty(exports, "TimeField", {
|
824
|
+
enumerable: true,
|
825
|
+
get: function get() {
|
826
|
+
return _TimeField["default"];
|
827
|
+
}
|
828
|
+
});
|
822
829
|
_Object$defineProperty(exports, "TimeZonePicker", {
|
823
830
|
enumerable: true,
|
824
831
|
get: function get() {
|
@@ -1763,9 +1770,21 @@ _forEachInstanceProperty(_context72 = _Object$keys(_TextField)).call(_context72,
|
|
1763
1770
|
}
|
1764
1771
|
});
|
1765
1772
|
});
|
1773
|
+
var _TimeField = _interopRequireWildcard(require("./components/TimeField"));
|
1774
|
+
_forEachInstanceProperty(_context73 = _Object$keys(_TimeField)).call(_context73, function (key) {
|
1775
|
+
if (key === "default" || key === "__esModule") return;
|
1776
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
1777
|
+
if (key in exports && exports[key] === _TimeField[key]) return;
|
1778
|
+
_Object$defineProperty(exports, key, {
|
1779
|
+
enumerable: true,
|
1780
|
+
get: function get() {
|
1781
|
+
return _TimeField[key];
|
1782
|
+
}
|
1783
|
+
});
|
1784
|
+
});
|
1766
1785
|
var _TimeZonePicker = _interopRequireDefault(require("./components/TimeZonePicker"));
|
1767
1786
|
var _TooltipTrigger = _interopRequireWildcard(require("./components/TooltipTrigger"));
|
1768
|
-
_forEachInstanceProperty(
|
1787
|
+
_forEachInstanceProperty(_context74 = _Object$keys(_TooltipTrigger)).call(_context74, function (key) {
|
1769
1788
|
if (key === "default" || key === "__esModule") return;
|
1770
1789
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
1771
1790
|
if (key in exports && exports[key] === _TooltipTrigger[key]) return;
|
@@ -1777,7 +1796,7 @@ _forEachInstanceProperty(_context73 = _Object$keys(_TooltipTrigger)).call(_conte
|
|
1777
1796
|
});
|
1778
1797
|
});
|
1779
1798
|
var _TreeView = _interopRequireWildcard(require("./components/TreeView"));
|
1780
|
-
_forEachInstanceProperty(
|
1799
|
+
_forEachInstanceProperty(_context75 = _Object$keys(_TreeView)).call(_context75, function (key) {
|
1781
1800
|
if (key === "default" || key === "__esModule") return;
|
1782
1801
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
1783
1802
|
if (key in exports && exports[key] === _TreeView[key]) return;
|
@@ -1789,7 +1808,7 @@ _forEachInstanceProperty(_context74 = _Object$keys(_TreeView)).call(_context74,
|
|
1789
1808
|
});
|
1790
1809
|
});
|
1791
1810
|
var _types = require("./types");
|
1792
|
-
_forEachInstanceProperty(
|
1811
|
+
_forEachInstanceProperty(_context76 = _Object$keys(_types)).call(_context76, function (key) {
|
1793
1812
|
if (key === "default" || key === "__esModule") return;
|
1794
1813
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
1795
1814
|
if (key in exports && exports[key] === _types[key]) return;
|
@@ -0,0 +1,182 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
8
|
+
_Object$defineProperty(exports, "__esModule", {
|
9
|
+
value: true
|
10
|
+
});
|
11
|
+
exports["default"] = exports.Default = void 0;
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
13
|
+
var _padStart = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/pad-start"));
|
14
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
16
|
+
var _date = require("@internationalized/date");
|
17
|
+
var _CalendarIcon = _interopRequireDefault(require("@pingux/mdi-react/CalendarIcon"));
|
18
|
+
var _storybookAddonDesigns = require("storybook-addon-designs");
|
19
|
+
var _hooks = require("../hooks");
|
20
|
+
var _index = require("../index");
|
21
|
+
var _figmaLinks = require("../utils/designUtils/figmaLinks");
|
22
|
+
var _react2 = require("@emotion/react");
|
23
|
+
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); }
|
24
|
+
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; }
|
25
|
+
var _default = {
|
26
|
+
title: 'Recipes/DateTimeRangePicker',
|
27
|
+
decorators: [_storybookAddonDesigns.withDesign]
|
28
|
+
};
|
29
|
+
exports["default"] = _default;
|
30
|
+
var dropdownItems = [{
|
31
|
+
key: 'Today',
|
32
|
+
name: 'Today'
|
33
|
+
}, {
|
34
|
+
key: 'From Yesterday',
|
35
|
+
name: 'From Yesterday'
|
36
|
+
}, {
|
37
|
+
key: 'Last 7 Days',
|
38
|
+
name: 'Last 7 Days'
|
39
|
+
}, {
|
40
|
+
key: 'Last 30 Days',
|
41
|
+
name: 'Last 30 Days'
|
42
|
+
}, {
|
43
|
+
key: 'This Month',
|
44
|
+
name: 'This Month'
|
45
|
+
}, {
|
46
|
+
key: 'Last Month',
|
47
|
+
name: 'Last Month'
|
48
|
+
}, {
|
49
|
+
key: 'Custom Range',
|
50
|
+
name: 'Custom Range'
|
51
|
+
}];
|
52
|
+
function convertDateTimeValueToString(timeValue, DateValue) {
|
53
|
+
var _context, _context2, _context3, _context4;
|
54
|
+
// eslint-disable-next-line prefer-const
|
55
|
+
var hour = timeValue.hour,
|
56
|
+
minute = timeValue.minute;
|
57
|
+
var ampm = hour >= 12 ? 'PM' : 'AM';
|
58
|
+
hour %= 12;
|
59
|
+
hour = hour || 12;
|
60
|
+
var hourString = String(hour);
|
61
|
+
var minuteString = (0, _padStart["default"])(_context = String(minute)).call(_context, 2, '0');
|
62
|
+
return (0, _concat["default"])(_context2 = (0, _concat["default"])(_context3 = (0, _concat["default"])(_context4 = "".concat(DateValue.toString(), " ")).call(_context4, hourString, ":")).call(_context3, minuteString, " ")).call(_context2, ampm);
|
63
|
+
}
|
64
|
+
var Default = function Default() {
|
65
|
+
var modalState = (0, _hooks.useModalState)();
|
66
|
+
var _useState = (0, _react.useState)({
|
67
|
+
start: '2030-01-12',
|
68
|
+
end: '2030-01-15'
|
69
|
+
}),
|
70
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
71
|
+
range = _useState2[0],
|
72
|
+
setRange = _useState2[1];
|
73
|
+
var _useState3 = (0, _react.useState)(new _date.Time(1)),
|
74
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
75
|
+
startTime = _useState4[0],
|
76
|
+
setStartTime = _useState4[1];
|
77
|
+
var _useState5 = (0, _react.useState)(new _date.Time(12, 59)),
|
78
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
79
|
+
endTime = _useState6[0],
|
80
|
+
setEndTime = _useState6[1];
|
81
|
+
var _useState7 = (0, _react.useState)('Today'),
|
82
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
83
|
+
selectedKey = _useState8[0],
|
84
|
+
setSelectedKey = _useState8[1];
|
85
|
+
var handleSelectionChange = function handleSelectionChange(key) {
|
86
|
+
if (key === 'Custom Range') {
|
87
|
+
modalState.open();
|
88
|
+
}
|
89
|
+
setSelectedKey(key);
|
90
|
+
};
|
91
|
+
return (0, _react2.jsx)(_index.Box, {
|
92
|
+
gap: "lg"
|
93
|
+
}, (0, _react2.jsx)(_index.Text, null, "Click on the \u2018Custom Range\u2019 option to view the modal"), (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.SelectField, {
|
94
|
+
width: "200px",
|
95
|
+
items: dropdownItems,
|
96
|
+
selectedKey: selectedKey,
|
97
|
+
onSelectionChange: handleSelectionChange,
|
98
|
+
label: "Date Range",
|
99
|
+
slots: {
|
100
|
+
leftOfData: (0, _react2.jsx)(_index.Icon, {
|
101
|
+
icon: _CalendarIcon["default"],
|
102
|
+
color: "accent.40",
|
103
|
+
mr: "xs",
|
104
|
+
title: {
|
105
|
+
name: 'Calendar Icon'
|
106
|
+
}
|
107
|
+
})
|
108
|
+
}
|
109
|
+
}, function (item) {
|
110
|
+
return (0, _react2.jsx)(_index.Item, {
|
111
|
+
key: item.key
|
112
|
+
}, item.name);
|
113
|
+
}), modalState.isOpen && (0, _react2.jsx)(_index.Modal, {
|
114
|
+
isOpen: modalState.isOpen,
|
115
|
+
onClose: modalState.close,
|
116
|
+
hasCloseButton: true,
|
117
|
+
title: "Custom Date and Time Range",
|
118
|
+
contentProps: {
|
119
|
+
maxWidth: '636px',
|
120
|
+
width: '100%'
|
121
|
+
}
|
122
|
+
}, (0, _react2.jsx)(_index.Box, {
|
123
|
+
gap: "lg",
|
124
|
+
mt: "lg"
|
125
|
+
}, (0, _react2.jsx)(_index.Box, {
|
126
|
+
minHeight: "358px"
|
127
|
+
}, (0, _react2.jsx)(_index.Text, {
|
128
|
+
as: "h2",
|
129
|
+
variant: "H2",
|
130
|
+
mb: "xs"
|
131
|
+
}, "Date Range"), (0, _react2.jsx)(_index.RangeCalendar, {
|
132
|
+
value: range,
|
133
|
+
onChange: setRange
|
134
|
+
})), (0, _react2.jsx)(_index.Separator, {
|
135
|
+
margin: 0
|
136
|
+
}), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
137
|
+
as: "h2",
|
138
|
+
variant: "H2"
|
139
|
+
}, "Time Range"), (0, _react2.jsx)(_index.Box, {
|
140
|
+
isRow: true,
|
141
|
+
gap: "lg",
|
142
|
+
alignItems: "center",
|
143
|
+
mt: "xs"
|
144
|
+
}, (0, _react2.jsx)(_index.TimeField, {
|
145
|
+
label: "Start Time",
|
146
|
+
value: startTime,
|
147
|
+
onChange: setStartTime
|
148
|
+
}), (0, _react2.jsx)(_index.Box, {
|
149
|
+
height: "59.95px"
|
150
|
+
}, (0, _react2.jsx)(_index.Box, {
|
151
|
+
height: "19.95px"
|
152
|
+
}), (0, _react2.jsx)(_index.Box, {
|
153
|
+
height: "40px",
|
154
|
+
justifyContent: "center"
|
155
|
+
}, (0, _react2.jsx)(_index.Text, {
|
156
|
+
as: "h2",
|
157
|
+
variant: "H2"
|
158
|
+
}, "-"))), (0, _react2.jsx)(_index.TimeField, {
|
159
|
+
label: "End Time",
|
160
|
+
value: endTime,
|
161
|
+
onChange: setEndTime
|
162
|
+
}))), (0, _react2.jsx)(_index.Separator, {
|
163
|
+
margin: 0
|
164
|
+
}), (0, _react2.jsx)(_index.Text, null, convertDateTimeValueToString(startTime, range.start), ' ', "-", ' ', convertDateTimeValueToString(endTime, range.end)), (0, _react2.jsx)(_index.ButtonBar, {
|
165
|
+
sx: {
|
166
|
+
padding: 0
|
167
|
+
}
|
168
|
+
}, (0, _react2.jsx)(_index.Button, {
|
169
|
+
variant: "primary",
|
170
|
+
"data-id": "apply-button"
|
171
|
+
}, "Apply"), (0, _react2.jsx)(_index.Button, {
|
172
|
+
variant: "link",
|
173
|
+
"data-id": "cancel-button"
|
174
|
+
}, "Cancel"))))));
|
175
|
+
};
|
176
|
+
exports.Default = Default;
|
177
|
+
Default.parameters = {
|
178
|
+
design: {
|
179
|
+
type: 'figma',
|
180
|
+
url: _figmaLinks.FIGMA_LINKS.dateTimeRangePicker["default"]
|
181
|
+
}
|
182
|
+
};
|
@@ -29,6 +29,7 @@ var _Search = _interopRequireDefault(require("../../components/SearchField/Searc
|
|
29
29
|
var select = _interopRequireWildcard(require("../../components/SelectField/Select.styles"));
|
30
30
|
var switchable = _interopRequireWildcard(require("../../components/Switch/Switch.styles"));
|
31
31
|
var _TextArea = _interopRequireDefault(require("../../components/TextArea/TextArea.styles"));
|
32
|
+
var _TimeField = _interopRequireDefault(require("../../components/TimeField/TimeField.styles"));
|
32
33
|
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); }
|
33
34
|
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; }
|
34
35
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
@@ -45,6 +46,7 @@ var _default = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSp
|
|
45
46
|
radio: _Radio["default"]
|
46
47
|
}, select), {}, {
|
47
48
|
textarea: _TextArea["default"],
|
49
|
+
timeField: _TimeField["default"],
|
48
50
|
"switch": _objectSpread({}, switchable),
|
49
51
|
search: _Search["default"]
|
50
52
|
});
|
@@ -53,6 +53,7 @@ var _Separator = _interopRequireDefault(require("../../components/Separator/Sepa
|
|
53
53
|
var _Stepper = _interopRequireDefault(require("../../components/Stepper/Stepper.styles"));
|
54
54
|
var _Table = _interopRequireDefault(require("../../components/Table/Table.styles"));
|
55
55
|
var tab = _interopRequireWildcard(require("../../components/Tabs/Tabs.style"));
|
56
|
+
var _TimeField = _interopRequireDefault(require("../../components/TimeField/TimeField.styles"));
|
56
57
|
var _TimeZone = _interopRequireDefault(require("../../components/TimeZonePicker/TimeZone.styles"));
|
57
58
|
var _Tooltip = _interopRequireDefault(require("../../components/TooltipTrigger/Tooltip.styles"));
|
58
59
|
var _TreeView = _interopRequireDefault(require("../../components/TreeView/TreeView.styles"));
|
@@ -97,6 +98,7 @@ var _default = _objectSpread({
|
|
97
98
|
separator: _Separator["default"],
|
98
99
|
stepper: _Stepper["default"],
|
99
100
|
table: _Table["default"],
|
101
|
+
timefield: _TimeField["default"],
|
100
102
|
timeZone: _TimeZone["default"],
|
101
103
|
tooltip: _Tooltip["default"],
|
102
104
|
treeView: _TreeView["default"]
|