@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.
Files changed (41) hide show
  1. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +3 -1
  2. package/lib/cjs/components/TimeField/TimeField.d.ts +7 -0
  3. package/lib/cjs/components/TimeField/TimeField.js +105 -0
  4. package/lib/cjs/components/TimeField/TimeField.mdx +35 -0
  5. package/lib/cjs/components/TimeField/TimeField.stories.d.ts +27 -0
  6. package/lib/cjs/components/TimeField/TimeField.stories.js +96 -0
  7. package/lib/cjs/components/TimeField/TimeField.styles.d.ts +865 -0
  8. package/lib/cjs/components/TimeField/TimeField.styles.js +47 -0
  9. package/lib/cjs/components/TimeField/TimeField.test.d.ts +1 -0
  10. package/lib/cjs/components/TimeField/TimeField.test.js +194 -0
  11. package/lib/cjs/components/TimeField/TimeSegment.d.ts +4 -0
  12. package/lib/cjs/components/TimeField/TimeSegment.js +64 -0
  13. package/lib/cjs/components/TimeField/index.d.ts +2 -0
  14. package/lib/cjs/components/TimeField/index.js +33 -0
  15. package/lib/cjs/index.d.ts +2 -0
  16. package/lib/cjs/index.js +23 -4
  17. package/lib/cjs/recipes/DateTimeRangePicker.stories.js +182 -0
  18. package/lib/cjs/styles/forms/index.js +2 -0
  19. package/lib/cjs/styles/variants/variants.js +2 -0
  20. package/lib/cjs/types/index.d.ts +1 -0
  21. package/lib/cjs/types/index.js +13 -2
  22. package/lib/cjs/types/timefield.d.ts +69 -0
  23. package/lib/cjs/types/timefield.js +6 -0
  24. package/lib/cjs/utils/designUtils/figmaLinks.d.ts +3 -0
  25. package/lib/cjs/utils/designUtils/figmaLinks.js +3 -0
  26. package/lib/components/SelectFieldBase/SelectFieldBase.js +3 -1
  27. package/lib/components/TimeField/TimeField.js +92 -0
  28. package/lib/components/TimeField/TimeField.mdx +35 -0
  29. package/lib/components/TimeField/TimeField.stories.js +75 -0
  30. package/lib/components/TimeField/TimeField.styles.js +39 -0
  31. package/lib/components/TimeField/TimeField.test.js +191 -0
  32. package/lib/components/TimeField/TimeSegment.js +50 -0
  33. package/lib/components/TimeField/index.js +2 -0
  34. package/lib/index.js +2 -0
  35. package/lib/recipes/DateTimeRangePicker.stories.js +167 -0
  36. package/lib/styles/forms/index.js +2 -0
  37. package/lib/styles/variants/variants.js +2 -0
  38. package/lib/types/index.js +1 -0
  39. package/lib/types/timefield.js +1 -0
  40. package/lib/utils/designUtils/figmaLinks.js +3 -0
  41. 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,4 @@
1
+ import React from 'react';
2
+ import { TimeSegmentProps } from '../../types';
3
+ declare const TimeSegment: React.FC<TimeSegmentProps>;
4
+ export default TimeSegment;
@@ -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,2 @@
1
+ export { default } from './TimeField';
2
+ export * from './TimeField';
@@ -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; }
@@ -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(_context73 = _Object$keys(_TooltipTrigger)).call(_context73, function (key) {
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(_context74 = _Object$keys(_TreeView)).call(_context74, function (key) {
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(_context75 = _Object$keys(_types)).call(_context75, function (key) {
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"]
@@ -44,4 +44,5 @@ export * from './tab';
44
44
  export * from './table';
45
45
  export * from './tabs';
46
46
  export * from './text';
47
+ export * from './timefield';
47
48
  export * from './tooltipTrigger';