@pingux/astro 2.70.0-alpha.2 → 2.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/cjs/components/AccordionItem/AccordionItem.d.ts +1 -1
  2. package/lib/cjs/components/AccordionItem/AccordionItem.js +1 -1
  3. package/lib/cjs/components/Calendar/Calendar.js +4 -0
  4. package/lib/cjs/components/Calendar/Calendar.mdx +1 -1
  5. package/lib/cjs/components/Calendar/Calendar.test.js +1 -4
  6. package/lib/cjs/components/Calendar/CalendarCell.js +1 -1
  7. package/lib/cjs/components/DatePicker/DatePicker.test.js +62 -6
  8. package/lib/cjs/components/RangeCalendar/RangeCalendar.d.ts +7 -0
  9. package/lib/cjs/components/RangeCalendar/RangeCalendar.js +100 -0
  10. package/lib/cjs/components/RangeCalendar/RangeCalendar.mdx +39 -0
  11. package/lib/cjs/components/RangeCalendar/RangeCalendar.stories.d.ts +103 -0
  12. package/lib/cjs/components/RangeCalendar/RangeCalendar.stories.js +131 -0
  13. package/lib/cjs/components/RangeCalendar/RangeCalendar.styles.d.ts +104 -0
  14. package/lib/cjs/components/RangeCalendar/RangeCalendar.styles.js +118 -0
  15. package/lib/cjs/components/RangeCalendar/RangeCalendar.test.d.ts +1 -0
  16. package/lib/cjs/components/RangeCalendar/RangeCalendar.test.js +217 -0
  17. package/lib/cjs/components/RangeCalendar/RangeCalendarCell.d.ts +4 -0
  18. package/lib/cjs/components/RangeCalendar/RangeCalendarCell.js +96 -0
  19. package/lib/cjs/components/RangeCalendar/RangeCalendarGrid.d.ts +4 -0
  20. package/lib/cjs/components/RangeCalendar/RangeCalendarGrid.js +70 -0
  21. package/lib/cjs/components/RangeCalendar/RangeCalendarHeader.d.ts +4 -0
  22. package/lib/cjs/components/RangeCalendar/RangeCalendarHeader.js +85 -0
  23. package/lib/cjs/components/RangeCalendar/index.d.ts +2 -0
  24. package/lib/cjs/components/RangeCalendar/index.js +33 -0
  25. package/lib/cjs/index.d.ts +2 -0
  26. package/lib/cjs/index.js +45 -26
  27. package/lib/cjs/styles/variants/variants.js +2 -0
  28. package/lib/cjs/types/calendar.d.ts +51 -16
  29. package/lib/components/AccordionItem/AccordionItem.js +0 -3
  30. package/lib/components/Calendar/Calendar.js +4 -0
  31. package/lib/components/Calendar/Calendar.mdx +1 -1
  32. package/lib/components/Calendar/Calendar.test.js +1 -4
  33. package/lib/components/Calendar/CalendarCell.js +1 -1
  34. package/lib/components/DatePicker/DatePicker.test.js +62 -6
  35. package/lib/components/RangeCalendar/RangeCalendar.js +86 -0
  36. package/lib/components/RangeCalendar/RangeCalendar.mdx +39 -0
  37. package/lib/components/RangeCalendar/RangeCalendar.stories.js +112 -0
  38. package/lib/components/RangeCalendar/RangeCalendar.styles.js +110 -0
  39. package/lib/components/RangeCalendar/RangeCalendar.test.js +208 -0
  40. package/lib/components/RangeCalendar/RangeCalendarCell.js +82 -0
  41. package/lib/components/RangeCalendar/RangeCalendarGrid.js +61 -0
  42. package/lib/components/RangeCalendar/RangeCalendarHeader.js +76 -0
  43. package/lib/components/RangeCalendar/index.js +2 -0
  44. package/lib/index.js +2 -0
  45. package/lib/styles/variants/variants.js +2 -0
  46. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Node } from '@react-types/shared';
2
+ import type { Node } from '@react-types/shared';
3
3
  export declare const validHeadingTags: string[];
4
4
  interface AccordionItemProps<T> {
5
5
  item: Node<T>;
@@ -25,7 +25,7 @@ var _hooks = require("../../hooks");
25
25
  var _index = require("../../index");
26
26
  var _Accordion = require("../AccordionGroup/Accordion.styles");
27
27
  var _react2 = require("@emotion/react");
28
- var _excluded = ["containerProps", "buttonProps", "regionProps"]; // eslint-disable-next-line import/no-unresolved
28
+ var _excluded = ["containerProps", "buttonProps", "regionProps"];
29
29
  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); }
30
30
  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; }
31
31
  var validHeadingTags = ['h1', 'h2', 'h3', 'h4'];
@@ -64,6 +64,10 @@ var Calendar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
64
64
  prevButtonProps = _ref.prevButtonProps,
65
65
  nextButtonProps = _ref.nextButtonProps,
66
66
  title = _ref.title;
67
+
68
+ // to remove warning for unknown event handler property `onFocusChange`.
69
+ delete prevButtonProps.onFocusChange;
70
+ delete nextButtonProps.onFocusChange;
67
71
  var _useState = (0, _react.useState)(null),
68
72
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
69
73
  yearChangeDirection = _useState2[0],
@@ -25,7 +25,7 @@ These keys provide additional functionality to the component.
25
25
  | Tab | Components in the calendar are focusable and follow the page tab sequence. |
26
26
  | Shift + Tab | Moves focus to the previous focusable component. |
27
27
  | Pressing Home:(Fn + Right Arrow Key) Or Control or Command + Home | Shifts the focus to the first calendar date. |
28
- | Pressing Home:(Fn + left Arrow Key) Or Control or Command + End | Shifts the focus to the last calendar date. |
28
+ | Pressing End:(Fn + left Arrow Key) Or Control or Command + End | Shifts the focus to the last calendar date. |
29
29
  | Arrow key | Navigates up, down, right, and left across the calendar. |
30
30
  | Page up | Changes the grid of dates to the previous month. |
31
31
  | Page down | Changes the grid of dates to the next month. |
@@ -212,15 +212,12 @@ test('allows users to select and navigate through calendar items', function () {
212
212
  });
213
213
  test('readonly calendar', function () {
214
214
  getComponent({
215
- isReadOnly: true,
216
- defaultValue: '2022-08-10'
215
+ isReadOnly: true
217
216
  });
218
217
  expect(_testWrapper.screen.queryByRole('grid')).toHaveAttribute('aria-readonly', 'true');
219
218
  var dateButtons = _testWrapper.screen.queryAllByRole('button');
220
219
  _userEvent["default"].click(dateButtons[4]);
221
220
  expect(dateButtons[4]).not.toHaveClass('is-selected');
222
- expect(dateButtons[4]).toHaveFocus();
223
- expect(dateButtons[4]).toHaveAttribute('tabindex', '0');
224
221
  });
225
222
  test('disabled calendar date', function () {
226
223
  getComponent({
@@ -62,7 +62,7 @@ var CalendarCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
62
62
  setFocused(false);
63
63
  focusNextPage();
64
64
  }
65
- }, [date, focusNextPage, focusPreviousPage, formattedDate, state, setFocused]);
65
+ }, [focusNextPage, focusPreviousPage, formattedDate, state, setFocused, cellRef]);
66
66
  var _useHover = (0, _interactions.useHover)({}),
67
67
  hoverProps = _useHover.hoverProps,
68
68
  isHovered = _useHover.isHovered;
@@ -626,12 +626,6 @@ test('dateField should handle autofocus when deleting segments from middle', fun
626
626
  key: 'Backspace'
627
627
  });
628
628
  }
629
- _testWrapper.fireEvent.keyDown(year, {
630
- key: 'Backspace'
631
- });
632
- _testWrapper.fireEvent.keyUp(year, {
633
- key: 'Backspace'
634
- });
635
629
  expect(day).toHaveFocus();
636
630
  expect(hiddenInput).toHaveValue('');
637
631
  });
@@ -671,6 +665,68 @@ test('segment focus should move to the year if month is already empty', function
671
665
  }
672
666
  expect(year).toHaveFocus();
673
667
  });
668
+ test('segment focus stay on year if all are empty for year segment', function () {
669
+ getComponent({
670
+ defaultValue: ''
671
+ });
672
+ var hiddenInput = _testWrapper.screen.queryByTestId('date-field');
673
+ var inputButtons = _testWrapper.screen.queryAllByRole('spinbutton');
674
+ var year = inputButtons[0];
675
+ expect(hiddenInput).toHaveValue('');
676
+ (0, _testWrapper.act)(function () {
677
+ year.focus();
678
+ });
679
+ expect(year).toHaveFocus();
680
+ _testWrapper.fireEvent.keyDown(year, {
681
+ key: 'Backspace'
682
+ });
683
+ _testWrapper.fireEvent.keyUp(year, {
684
+ key: 'Backspace'
685
+ });
686
+ expect(year).toHaveFocus();
687
+ });
688
+ test('segment focus should move to previous if all are empty for month segment', function () {
689
+ getComponent({
690
+ defaultValue: ''
691
+ });
692
+ var hiddenInput = _testWrapper.screen.queryByTestId('date-field');
693
+ var inputButtons = _testWrapper.screen.queryAllByRole('spinbutton');
694
+ var month = inputButtons[1];
695
+ var year = inputButtons[0];
696
+ expect(hiddenInput).toHaveValue('');
697
+ (0, _testWrapper.act)(function () {
698
+ month.focus();
699
+ });
700
+ expect(month).toHaveFocus();
701
+ _testWrapper.fireEvent.keyDown(month, {
702
+ key: 'Backspace'
703
+ });
704
+ _testWrapper.fireEvent.keyUp(month, {
705
+ key: 'Backspace'
706
+ });
707
+ expect(year).toHaveFocus();
708
+ });
709
+ test('segment focus should move to previous if all are empty for day segment', function () {
710
+ getComponent({
711
+ defaultValue: ''
712
+ });
713
+ var hiddenInput = _testWrapper.screen.queryByTestId('date-field');
714
+ var inputButtons = _testWrapper.screen.queryAllByRole('spinbutton');
715
+ var day = inputButtons[2];
716
+ var month = inputButtons[1];
717
+ expect(hiddenInput).toHaveValue('');
718
+ (0, _testWrapper.act)(function () {
719
+ day.focus();
720
+ });
721
+ expect(day).toHaveFocus();
722
+ _testWrapper.fireEvent.keyDown(day, {
723
+ key: 'Backspace'
724
+ });
725
+ _testWrapper.fireEvent.keyUp(day, {
726
+ key: 'Backspace'
727
+ });
728
+ expect(month).toHaveFocus();
729
+ });
674
730
  test('should add the correct number of padded 0 to year, month and day', function () {
675
731
  getComponent({
676
732
  defaultValue: '0009-08-02'
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { DateValue } from '@internationalized/date';
3
+ import { RangeCalendarProps, RangeValue, StringOrRangeValue } from '../../types';
4
+ export declare const parseDateIfString: (value: DateValue | string) => DateValue;
5
+ export declare const parseDateRangeIfString: (value: StringOrRangeValue) => RangeValue<DateValue>;
6
+ declare const RangeCalendar: React.ForwardRefExoticComponent<RangeCalendarProps & React.RefAttributes<HTMLDivElement>>;
7
+ export default RangeCalendar;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
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$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports.parseDateRangeIfString = exports.parseDateIfString = exports["default"] = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _date = require("@internationalized/date");
22
+ var _calendar = require("@react-aria/calendar");
23
+ var _i18n = require("@react-aria/i18n");
24
+ var _calendar2 = require("@react-stately/calendar");
25
+ var _hooks = require("../../hooks");
26
+ var _index = require("../../index");
27
+ var _RangeCalendarGrid = _interopRequireDefault(require("./RangeCalendarGrid"));
28
+ var _RangeCalendarHeader = _interopRequireDefault(require("./RangeCalendarHeader"));
29
+ var _react2 = require("@emotion/react");
30
+ 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); }
31
+ 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; }
32
+ 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; }
33
+ 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; }
34
+ var parseDateIfString = function parseDateIfString(value) {
35
+ return typeof value === 'string' ? (0, _date.parseDate)(value) : value;
36
+ };
37
+ exports.parseDateIfString = parseDateIfString;
38
+ var parseDateRangeIfString = function parseDateRangeIfString(value) {
39
+ var start = parseDateIfString(value.start);
40
+ var end = parseDateIfString(value.end);
41
+ return {
42
+ start: start,
43
+ end: end
44
+ };
45
+ };
46
+ exports.parseDateRangeIfString = parseDateRangeIfString;
47
+ var RangeCalendar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
48
+ var defaultFocusedValue = props.defaultFocusedValue,
49
+ defaultValue = props.defaultValue,
50
+ hasAutoFocus = props.hasAutoFocus,
51
+ maxValue = props.maxValue,
52
+ minValue = props.minValue,
53
+ value = props.value;
54
+ var _useLocale = (0, _i18n.useLocale)(),
55
+ locale = _useLocale.locale;
56
+ var calenderRangeRef = (0, _hooks.useLocalOrForwardRef)(ref);
57
+ var parsedDates = {
58
+ value: value && parseDateRangeIfString(value),
59
+ defaultValue: defaultValue && parseDateRangeIfString(defaultValue),
60
+ defaultFocusedValue: defaultFocusedValue && parseDateIfString(defaultFocusedValue),
61
+ maxValue: maxValue && parseDateIfString(maxValue),
62
+ minValue: minValue && parseDateIfString(minValue)
63
+ };
64
+ var state = (0, _calendar2.useRangeCalendarState)(_objectSpread(_objectSpread(_objectSpread({
65
+ autoFocus: hasAutoFocus
66
+ }, props), parsedDates), {}, {
67
+ visibleDuration: {
68
+ months: 2
69
+ },
70
+ pageBehavior: 'single',
71
+ locale: locale,
72
+ createCalendar: _date.createCalendar
73
+ }));
74
+ var _ref = (0, _calendar.useRangeCalendar)(_objectSpread(_objectSpread({}, props), parsedDates), state, calenderRangeRef),
75
+ calendarProps = _ref.calendarProps,
76
+ prevButtonProps = _ref.prevButtonProps,
77
+ nextButtonProps = _ref.nextButtonProps;
78
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, calendarProps, {
79
+ ref: calenderRangeRef,
80
+ variant: "rangeCalendar.calendarContainer",
81
+ role: "group"
82
+ }), (0, _react2.jsx)(_RangeCalendarHeader["default"], {
83
+ state: state,
84
+ calendarProps: calendarProps,
85
+ prevButtonProps: prevButtonProps,
86
+ nextButtonProps: nextButtonProps
87
+ }), (0, _react2.jsx)(_index.Box, {
88
+ isRow: true,
89
+ gap: "26px"
90
+ }, (0, _react2.jsx)(_RangeCalendarGrid["default"], {
91
+ state: state
92
+ }), (0, _react2.jsx)(_RangeCalendarGrid["default"], {
93
+ state: state,
94
+ offset: {
95
+ months: 1
96
+ }
97
+ })));
98
+ });
99
+ var _default = RangeCalendar;
100
+ exports["default"] = _default;
@@ -0,0 +1,39 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Experimental/RangeCalendar/RangeCalendar" />
4
+
5
+ # RangeCalendar
6
+
7
+ The RangeCalendar component displays months in two grid-like views and gives users the ability to quickly to select a contiguous range of dates.
8
+
9
+ This component is built on [useRangeCalendar](https://react-spectrum.adobe.com/react-aria/useRangeCalendar.html), [useCalendarGrid](https://react-spectrum.adobe.com/react-aria/useCalendar.html#usecalendargrid), and
10
+ [useCalendarCell](https://react-spectrum.adobe.com/react-aria/useCalendar.html#usecalendarcell) from React Aria, and [useRangeCalendarState](https://react-spectrum.adobe.com/react-stately/useRangeCalendarState.html) from React Stately.
11
+
12
+ ### Required components
13
+
14
+ This component can be used independently and does not require additional components.
15
+
16
+ ### Accessibility
17
+
18
+ #### Keyboard Navigation
19
+
20
+ These keys provide additional functionality to the component.
21
+
22
+ | Keys | Functions |
23
+ | ---- | --------- |
24
+ | Space or Enter | Selects the start and end dates when a date is focused, and navigates to the calendar pages when the navigational buttons are focused. |
25
+ | Tab | Components in the calendar are focusable and follow the page tab sequence. |
26
+ | Shift + Tab | Moves focus to the previous focusable component. |
27
+ | Pressing Home:(Fn + Right Arrow Key) Or Control or Command + Home | Shifts the focus to the first calendar date of the currently focused month. |
28
+ | Pressing End:(Fn + left Arrow Key) Or Control or Command + End | Shifts the focus to the last calendar date of the currently focused month. |
29
+ | Arrow key | Navigates up, down, right, and left across the calendar. If at the end of the current calendar, the right arrow key navigates to the next calendar. If at the beginning of the current calendar, the left arrow key navigates to the previous calendar. |
30
+ | Page up | Changes focus to the same date in the previous month. |
31
+ | Page down | Changes focus to the same date in the next month. |
32
+ | Shift + page up | Changes the grid of dates to the same months in the previous year. |
33
+ | Shift+ page down | Changes the grid of dates to the same months in the next year. |
34
+
35
+ #### Screen Readers
36
+
37
+ This component uses the following attributes to assist screen readers:
38
+ - The **`aria-label`** attribute is used to provide an accessible name.
39
+ - In each data cell, the **`aria-selected`** attribute is set to “true” for all dates within the selected range, and **`aria-disabled`** is set to “false” by default.
@@ -0,0 +1,103 @@
1
+ import React from 'react';
2
+ import { StoryFn } from '@storybook/react';
3
+ import { RangeCalendarProps } from '../../types';
4
+ declare const _default: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<RangeCalendarProps & React.RefAttributes<HTMLDivElement>>;
7
+ parameters: {
8
+ actions: {
9
+ argTypesRegex: string;
10
+ };
11
+ source: {
12
+ type: string;
13
+ };
14
+ docs: {
15
+ page: () => React.JSX.Element;
16
+ };
17
+ };
18
+ argTypes: {
19
+ 'aria-controls': {
20
+ control: {
21
+ type: string;
22
+ };
23
+ table: {
24
+ type: {
25
+ summary: string;
26
+ };
27
+ category: string;
28
+ };
29
+ description: string;
30
+ };
31
+ 'aria-describedby': {
32
+ control: {
33
+ type: string;
34
+ };
35
+ table: {
36
+ type: {
37
+ summary: string;
38
+ };
39
+ category: string;
40
+ };
41
+ description: string;
42
+ };
43
+ 'aria-details': {
44
+ control: {
45
+ type: string;
46
+ };
47
+ table: {
48
+ type: {
49
+ summary: string;
50
+ };
51
+ category: string;
52
+ };
53
+ description: string;
54
+ };
55
+ 'aria-errormessage': {
56
+ control: {
57
+ type: string;
58
+ };
59
+ table: {
60
+ type: {
61
+ summary: string;
62
+ };
63
+ category: string;
64
+ };
65
+ description: string;
66
+ };
67
+ 'aria-label': {
68
+ control: {
69
+ type: string;
70
+ };
71
+ table: {
72
+ type: {
73
+ summary: string;
74
+ };
75
+ category: string;
76
+ };
77
+ description: string;
78
+ };
79
+ 'aria-labelledby': {
80
+ control: {
81
+ type: string;
82
+ };
83
+ table: {
84
+ type: {
85
+ summary: string;
86
+ };
87
+ category: string;
88
+ };
89
+ description: string;
90
+ };
91
+ };
92
+ args: {
93
+ defaultFocusedValue: string;
94
+ };
95
+ };
96
+ export default _default;
97
+ export declare const Default: StoryFn<RangeCalendarProps>;
98
+ export declare const DefaultValue: StoryFn<RangeCalendarProps>;
99
+ export declare const Disabled: StoryFn<RangeCalendarProps>;
100
+ export declare const UnavailableDates: StoryFn<RangeCalendarProps>;
101
+ export declare const MinimumDate: StoryFn<RangeCalendarProps>;
102
+ export declare const MaximumDate: StoryFn<RangeCalendarProps>;
103
+ export declare const Controlled: StoryFn<RangeCalendarProps>;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
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$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = exports.UnavailableDates = exports.MinimumDate = exports.MaximumDate = exports.Disabled = exports.DefaultValue = exports.Default = exports.Controlled = void 0;
18
+ var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
19
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
22
+ var _react = _interopRequireWildcard(require("react"));
23
+ var _date = require("@internationalized/date");
24
+ var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
25
+ var _index = require("../../index");
26
+ var _ariaAttributes = require("../../utils/docUtils/ariaAttributes");
27
+ var _RangeCalendar = _interopRequireDefault(require("./RangeCalendar.mdx"));
28
+ var _react2 = require("@emotion/react");
29
+ 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); }
30
+ 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; }
31
+ 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; }
32
+ 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; }
33
+ var _default = {
34
+ title: 'Experimental/RangeCalendar',
35
+ component: _index.RangeCalendar,
36
+ parameters: {
37
+ actions: {
38
+ argTypesRegex: '^on.*'
39
+ },
40
+ source: {
41
+ type: 'code'
42
+ },
43
+ docs: {
44
+ page: function page() {
45
+ return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_RangeCalendar["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
46
+ }
47
+ }
48
+ },
49
+ argTypes: _objectSpread({}, _ariaAttributes.ariaAttributeBaseArgTypes),
50
+ args: {
51
+ defaultFocusedValue: '2030-01-15'
52
+ }
53
+ };
54
+ exports["default"] = _default;
55
+ var Default = function Default(args) {
56
+ return (0, _react2.jsx)(_index.RangeCalendar, (0, _extends2["default"])({}, args, {
57
+ "aria-label": "range-calendar"
58
+ }));
59
+ };
60
+ exports.Default = Default;
61
+ var DefaultValue = function DefaultValue() {
62
+ return (0, _react2.jsx)(_index.RangeCalendar, {
63
+ "aria-label": "calendar-with-default-vaue",
64
+ defaultValue: {
65
+ start: '2030-01-15',
66
+ end: '2030-01-22'
67
+ }
68
+ });
69
+ };
70
+ exports.DefaultValue = DefaultValue;
71
+ var Disabled = function Disabled(args) {
72
+ return (0, _react2.jsx)(_index.RangeCalendar, (0, _extends2["default"])({}, args, {
73
+ "aria-label": "calendar--range-component-disabled",
74
+ isDisabled: true
75
+ }));
76
+ };
77
+ exports.Disabled = Disabled;
78
+ var UnavailableDates = function UnavailableDates() {
79
+ var unavailableRanges = [['2030-07-28', '2030-08-03'], ['2030-08-11', '2030-08-17'], ['2030-08-25', '2030-08-31']];
80
+ var isDateUnavailable = function isDateUnavailable(date) {
81
+ return (0, _some["default"])(unavailableRanges).call(unavailableRanges, function (interval) {
82
+ return date.compare((0, _date.parseDate)(interval[0])) >= 0 && date.compare((0, _date.parseDate)(interval[1])) <= 0;
83
+ });
84
+ };
85
+ return (0, _react2.jsx)(_index.RangeCalendar, {
86
+ "aria-label": "Trip dates",
87
+ defaultValue: {
88
+ start: '2030-08-07',
89
+ end: '2030-08-09'
90
+ },
91
+ isDateUnavailable: isDateUnavailable
92
+ });
93
+ };
94
+ exports.UnavailableDates = UnavailableDates;
95
+ var MinimumDate = function MinimumDate() {
96
+ return (0, _react2.jsx)(_index.RangeCalendar, {
97
+ "aria-label": "range-calendar-component-min-date",
98
+ minValue: "2030-01-15",
99
+ defaultValue: {
100
+ start: '2030-01-15',
101
+ end: '2030-01-20'
102
+ }
103
+ });
104
+ };
105
+ exports.MinimumDate = MinimumDate;
106
+ var MaximumDate = function MaximumDate() {
107
+ return (0, _react2.jsx)(_index.RangeCalendar, {
108
+ "aria-label": "range-calendar-component-max-date",
109
+ defaultValue: {
110
+ start: '2030-01-12',
111
+ end: '2030-01-15'
112
+ },
113
+ maxValue: "2030-01-17"
114
+ });
115
+ };
116
+ exports.MaximumDate = MaximumDate;
117
+ var Controlled = function Controlled(args) {
118
+ var _useState = (0, _react.useState)({
119
+ start: '2030-01-12',
120
+ end: '2030-01-15'
121
+ }),
122
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
123
+ range = _useState2[0],
124
+ setRange = _useState2[1];
125
+ return (0, _react2.jsx)(_index.RangeCalendar, (0, _extends2["default"])({}, args, {
126
+ "aria-label": "calendar-component-controlled",
127
+ value: range,
128
+ onChange: setRange
129
+ }));
130
+ };
131
+ exports.Controlled = Controlled;
@@ -0,0 +1,104 @@
1
+ declare const _default: {
2
+ calendarBody: {
3
+ pb: string;
4
+ borderTop: string;
5
+ borderTopColor: string;
6
+ '& > tr:nth-of-type(odd) ': {
7
+ backgroundColor: string;
8
+ };
9
+ };
10
+ calendarButton: {
11
+ justifyContent: string;
12
+ alignItems: string;
13
+ fontSize: string;
14
+ fontWeight: number;
15
+ color: string;
16
+ lineHeight: string;
17
+ width: string;
18
+ height: string;
19
+ outline: string;
20
+ '&.is-hovered': {
21
+ bg: string;
22
+ cursor: string;
23
+ };
24
+ '&.is-selected': {
25
+ bg: string;
26
+ '&.is-hovered': {
27
+ bg: string;
28
+ color: string;
29
+ };
30
+ };
31
+ '&.is-range-ends': {
32
+ bg: string;
33
+ color: string;
34
+ outline: string;
35
+ boxShadow: string;
36
+ };
37
+ '&.is-selection-start': {
38
+ borderRadius: string;
39
+ };
40
+ '&.is-selection-end': {
41
+ borderRadius: string;
42
+ };
43
+ '&.is-start-and-end': {
44
+ borderRadius: string;
45
+ };
46
+ '&.is-focused': {
47
+ outline: string;
48
+ outlineStyle: string;
49
+ outlineColor: string;
50
+ outlineOffset: string;
51
+ };
52
+ '&.is-unavailable': {
53
+ backgroundColor: string;
54
+ };
55
+ '&:not(.is-outside-visible-range)&.is-extreme&:not(.is-completely-disabled)': {
56
+ backgroundColor: string;
57
+ color: string;
58
+ opacity: number;
59
+ };
60
+ '&.is-disabled': {
61
+ '&.is-hovered': {
62
+ backgroundColor: string;
63
+ };
64
+ };
65
+ };
66
+ calendarCell: {
67
+ cursor: string;
68
+ textAlign: string;
69
+ position: string;
70
+ color: string;
71
+ padding: string;
72
+ width: string;
73
+ height: string;
74
+ };
75
+ calendarContainer: {
76
+ width: string;
77
+ textAlign: string;
78
+ };
79
+ calendarHeader: {
80
+ position: string;
81
+ justifyContent: string;
82
+ alignItems: string;
83
+ width: string;
84
+ height: string;
85
+ };
86
+ calendarHeaderContainer: {
87
+ justifyContent: string;
88
+ mt: string;
89
+ alignItems: string;
90
+ width: string;
91
+ height: string;
92
+ };
93
+ columnHeader: {
94
+ display: string;
95
+ justifyContent: string;
96
+ alignItems: string;
97
+ color: string;
98
+ fontSize: string;
99
+ fontWeight: number;
100
+ width: string;
101
+ height: string;
102
+ };
103
+ };
104
+ export default _default;