@react-spectrum/calendar 3.0.0-alpha.1 → 3.0.0-alpha.4

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/dist/module.js CHANGED
@@ -1,300 +1,376 @@
1
- import { useCalendarState, useRangeCalendarState } from "@react-stately/calendar";
2
- import _spectrumIconsUiChevronRightLarge from "@spectrum-icons/ui/ChevronRightLarge";
3
- import _spectrumIconsUiChevronLeftLarge from "@spectrum-icons/ui/ChevronLeftLarge";
4
- import { VisuallyHidden } from "@react-aria/visually-hidden";
5
- import { useProviderProps } from "@react-spectrum/provider";
6
- import { useHover } from "@react-aria/interactions";
7
- import { useFocusRing } from "@react-aria/focus";
8
- import { useDateFormatter, useLocale } from "@react-aria/i18n";
9
- import _react, { useMemo, useRef, useEffect, useState } from "react";
10
- import { mergeProps } from "@react-aria/utils";
11
- import { classNames } from "@react-spectrum/utils";
12
- import { getDayOfWeek, isEqualDay, isSameDay, isSameMonth, isToday, endOfMonth, getWeeksInMonth, startOfWeek, createCalendar } from "@internationalized/date";
13
- import { useCalendarCell, useCalendarGrid, useCalendar as _useCalendar, useRangeCalendar } from "@react-aria/calendar";
14
- import _babelRuntimeHelpersEsmObjectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
15
- import { ActionButton } from "@react-spectrum/button";
16
- import _babelRuntimeHelpersEsmExtends from "@babel/runtime/helpers/esm/extends";
17
1
  import "./main.css";
2
+ import {createCalendar as $40VnT$createCalendar, endOfMonth as $40VnT$endOfMonth, startOfWeek as $40VnT$startOfWeek, getWeeksInMonth as $40VnT$getWeeksInMonth, isSameMonth as $40VnT$isSameMonth, isSameDay as $40VnT$isSameDay, getDayOfWeek as $40VnT$getDayOfWeek, isToday as $40VnT$isToday} from "@internationalized/date";
3
+ import $40VnT$react, {useMemo as $40VnT$useMemo, useRef as $40VnT$useRef, useState as $40VnT$useState, useEffect as $40VnT$useEffect} from "react";
4
+ import {useCalendar as $40VnT$useCalendar, useCalendarGrid as $40VnT$useCalendarGrid, useCalendarCell as $40VnT$useCalendarCell, useRangeCalendar as $40VnT$useRangeCalendar} from "@react-aria/calendar";
5
+ import {useCalendarState as $40VnT$useCalendarState, useRangeCalendarState as $40VnT$useRangeCalendarState} from "@react-stately/calendar";
6
+ import {useLocale as $40VnT$useLocale, useDateFormatter as $40VnT$useDateFormatter} from "@react-aria/i18n";
7
+ import {ActionButton as $40VnT$ActionButton} from "@react-spectrum/button";
8
+ import $40VnT$spectrumiconsuiChevronLeftLarge from "@spectrum-icons/ui/ChevronLeftLarge";
9
+ import $40VnT$spectrumiconsuiChevronRightLarge from "@spectrum-icons/ui/ChevronRightLarge";
10
+ import {classNames as $40VnT$classNames} from "@react-spectrum/utils";
11
+ import {useProviderProps as $40VnT$useProviderProps} from "@react-spectrum/provider";
12
+ import {VisuallyHidden as $40VnT$VisuallyHidden} from "@react-aria/visually-hidden";
13
+ import {mergeProps as $40VnT$mergeProps} from "@react-aria/utils";
14
+ import {useFocusRing as $40VnT$useFocusRing} from "@react-aria/focus";
15
+ import {useHover as $40VnT$useHover} from "@react-aria/interactions";
18
16
 
17
+ function $parcel$export(e, n, v, s) {
18
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
19
+ }
19
20
  function $parcel$interopDefault(a) {
20
21
  return a && a.__esModule ? a.default : a;
21
22
  }
23
+ var $d2b8d4577dd88671$exports = {};
22
24
 
23
- // ASSET: /Users/govett/dev/react-spectrum-v3/node_modules/@adobe/spectrum-css-temp/components/calendar/vars.css
24
- var $be4f0cec50a586942f46dfb826aeabe0$exports = {};
25
- $be4f0cec50a586942f46dfb826aeabe0$exports = {
26
- "spectrum-Calendar": "_spectrum-Calendar_b7235",
27
- "spectrum-Calendar--padded": "_spectrum-Calendar--padded_b7235",
28
- "spectrum-Calendar-header": "_spectrum-Calendar-header_b7235",
29
- "spectrum-Calendar-monthHeader": "_spectrum-Calendar-monthHeader_b7235",
30
- "spectrum-Calendar-title": "_spectrum-Calendar-title_b7235",
31
- "spectrum-Calendar-prevMonth": "_spectrum-Calendar-prevMonth_b7235",
32
- "spectrum-Calendar-nextMonth": "_spectrum-Calendar-nextMonth_b7235",
33
- "spectrum-Calendar-months": "_spectrum-Calendar-months_b7235",
34
- "spectrum-Calendar-dayOfWeek": "_spectrum-Calendar-dayOfWeek_b7235",
35
- "spectrum-Calendar-body": "_spectrum-Calendar-body_b7235",
36
- "spectrum-Calendar-table": "_spectrum-Calendar-table_b7235",
37
- "spectrum-Calendar-tableCell": "_spectrum-Calendar-tableCell_b7235",
38
- "spectrum-Calendar-date": "_spectrum-Calendar-date_b7235",
39
- "spectrum-Calendar-dateText": "_spectrum-Calendar-dateText_b7235",
40
- "is-disabled": "_is-disabled_b7235",
41
- "is-outsideMonth": "_is-outsideMonth_b7235",
42
- "is-focused": "_is-focused_b7235",
43
- "is-range-selection": "_is-range-selection_b7235",
44
- "is-range-start": "_is-range-start_b7235",
45
- "is-selection-start": "_is-selection-start_b7235",
46
- "is-range-end": "_is-range-end_b7235",
47
- "is-selection-end": "_is-selection-end_b7235",
48
- "is-range-selecting": "_is-range-selecting_b7235",
49
- "is-today": "_is-today_b7235",
50
- "is-selected": "_is-selected_b7235",
51
- "is-hovered": "_is-hovered_b7235",
52
- "is-pressed": "_is-pressed_b7235"
53
- };
54
- var $be4f0cec50a586942f46dfb826aeabe0$$interop$default = $parcel$interopDefault($be4f0cec50a586942f46dfb826aeabe0$exports);
55
-
56
- function $e063fdddb71e9ef291bdbb1ac2f23b10$export$CalendarCell(_ref) {
57
- let {
58
- state,
59
- currentMonth
60
- } = _ref,
61
- props = _babelRuntimeHelpersEsmObjectWithoutPropertiesLoose(_ref, ["state", "currentMonth"]);
62
-
63
- let ref = useRef();
64
- let {
65
- cellProps,
66
- buttonProps,
67
- isPressed
68
- } = useCalendarCell(_babelRuntimeHelpersEsmExtends({}, props, {
69
- isDisabled: !isSameMonth(props.date, currentMonth)
70
- }), state, ref);
71
- let {
72
- hoverProps,
73
- isHovered
74
- } = useHover({});
75
- let dateFormatter = useDateFormatter({
76
- day: 'numeric',
77
- timeZone: state.timeZone,
78
- calendar: currentMonth.calendar.identifier
79
- });
80
- let isSelected = state.isSelected(props.date);
81
- let highlightedRange = 'highlightedRange' in state && state.highlightedRange;
82
- let isSelectionStart = highlightedRange && isSameDay(props.date, highlightedRange.start);
83
- let isSelectionEnd = highlightedRange && isSameDay(props.date, highlightedRange.end);
84
- let {
85
- locale
86
- } = useLocale();
87
- let dayOfWeek = getDayOfWeek(props.date, locale);
88
- let isRangeStart = isSelected && (dayOfWeek === 0 || props.date.day === 1);
89
- let isRangeEnd = isSelected && (dayOfWeek === 6 || props.date.day === currentMonth.calendar.getDaysInMonth(currentMonth));
90
- let {
91
- focusProps,
92
- isFocusVisible
93
- } = useFocusRing(); // For performance, reuse the same date object as before if the new date prop is the same.
94
- // This allows subsequent useMemo results to be reused.
95
-
96
- let date = props.date;
97
- let lastDate = useRef(null);
98
-
99
- if (lastDate.current && isEqualDay(date, lastDate.current)) {
100
- date = lastDate.current;
101
- }
102
-
103
- lastDate.current = date;
104
- let nativeDate = useMemo(() => date.toDate(state.timeZone), [date, state.timeZone]);
105
- let formatted = useMemo(() => dateFormatter.format(nativeDate), [dateFormatter, nativeDate]);
106
- return /*#__PURE__*/_react.createElement("td", _babelRuntimeHelpersEsmExtends({}, cellProps, {
107
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-tableCell')
108
- }), /*#__PURE__*/_react.createElement("span", _babelRuntimeHelpersEsmExtends({}, mergeProps(buttonProps, hoverProps, focusProps), {
109
- ref: ref,
110
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-date', {
111
- 'is-today': isToday(props.date, state.timeZone),
112
- 'is-selected': isSelected,
113
- 'is-focused': state.isCellFocused(props.date) && isFocusVisible,
114
- 'is-disabled': state.isCellDisabled(props.date),
115
- 'is-outsideMonth': !isSameMonth(props.date, currentMonth),
116
- 'is-range-start': isRangeStart,
117
- 'is-range-end': isRangeEnd,
118
- 'is-range-selection': isSelected && 'highlightedRange' in state,
119
- 'is-selection-start': isSelectionStart,
120
- 'is-selection-end': isSelectionEnd,
121
- 'is-hovered': isHovered,
122
- 'is-pressed': isPressed
123
- })
124
- }), /*#__PURE__*/_react.createElement("span", {
125
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-dateText')
126
- }, formatted)));
127
- }
25
+ $parcel$export($d2b8d4577dd88671$exports, "Calendar", () => $d2b8d4577dd88671$export$e1aef45b828286de);
128
26
 
129
- function $a61ab4829fcdd02202f30ae2d742ae1$export$CalendarMonth(props) {
130
- props = useProviderProps(props);
131
- let {
132
- state,
133
- startDate
134
- } = props;
135
- let {
136
- gridProps
137
- } = useCalendarGrid(_babelRuntimeHelpersEsmExtends({}, props, {
138
- endDate: endOfMonth(startDate)
139
- }), state);
140
- let dayFormatter = useDateFormatter({
141
- weekday: 'narrow'
142
- });
143
- let dayFormatterLong = useDateFormatter({
144
- weekday: 'long'
145
- });
146
- let {
147
- locale
148
- } = useLocale();
149
- let monthStart = startOfWeek(startDate, locale);
150
- let weeksInMonth = getWeeksInMonth(startDate, locale);
151
- let [isRangeSelecting, setRangeSelecting] = useState(false);
152
- let hasAnchorDate = 'anchorDate' in state && state.anchorDate != null; // Update isRangeSelecting immediately when it becomes true.
153
- // This feels weird but is actually fine...
154
- // https://reactjs.org/docs/hooks-faq.html#how-do-i-implement-getderivedstatefromprops
155
-
156
- if (hasAnchorDate && !isRangeSelecting) {
157
- setRangeSelecting(true);
158
- } // Delay removing the is-range-selecting class for a frame after selection ends.
159
- // This avoids an undesired animation on touch devices.
160
-
161
-
162
- useEffect(() => {
163
- if (!hasAnchorDate && isRangeSelecting) {
164
- let raf = requestAnimationFrame(() => setRangeSelecting(false));
165
- return () => cancelAnimationFrame(raf);
166
- }
167
- }, [hasAnchorDate, isRangeSelecting]);
168
- return /*#__PURE__*/_react.createElement("table", _babelRuntimeHelpersEsmExtends({}, gridProps, {
169
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-body', 'spectrum-Calendar-table', {
170
- 'is-range-selecting': isRangeSelecting
171
- })
172
- }), /*#__PURE__*/_react.createElement("thead", null, /*#__PURE__*/_react.createElement("tr", null, [...new Array(7).keys()].map(index => {
173
- let date = monthStart.add({
174
- days: index
27
+
28
+
29
+
30
+
31
+
32
+ var $52c51313300b3b3e$exports = {};
33
+
34
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar", () => $52c51313300b3b3e$export$2d9837ea36f7a875, (v) => $52c51313300b3b3e$export$2d9837ea36f7a875 = v);
35
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar--padded", () => $52c51313300b3b3e$export$8d90e3a3d21fe428, (v) => $52c51313300b3b3e$export$8d90e3a3d21fe428 = v);
36
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-header", () => $52c51313300b3b3e$export$7efb9b56af6e2d09, (v) => $52c51313300b3b3e$export$7efb9b56af6e2d09 = v);
37
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-monthHeader", () => $52c51313300b3b3e$export$185018e73e57145f, (v) => $52c51313300b3b3e$export$185018e73e57145f = v);
38
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-title", () => $52c51313300b3b3e$export$98ee27555a2b7c01, (v) => $52c51313300b3b3e$export$98ee27555a2b7c01 = v);
39
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-prevMonth", () => $52c51313300b3b3e$export$d4c1c2a202a50db2, (v) => $52c51313300b3b3e$export$d4c1c2a202a50db2 = v);
40
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-nextMonth", () => $52c51313300b3b3e$export$7876229ab722b448, (v) => $52c51313300b3b3e$export$7876229ab722b448 = v);
41
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-months", () => $52c51313300b3b3e$export$5dacd232bfef6687, (v) => $52c51313300b3b3e$export$5dacd232bfef6687 = v);
42
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-dayOfWeek", () => $52c51313300b3b3e$export$7ff21fe81b21fa51, (v) => $52c51313300b3b3e$export$7ff21fe81b21fa51 = v);
43
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-body", () => $52c51313300b3b3e$export$33407a73687c0e62, (v) => $52c51313300b3b3e$export$33407a73687c0e62 = v);
44
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-table", () => $52c51313300b3b3e$export$27f4c38933cceedf, (v) => $52c51313300b3b3e$export$27f4c38933cceedf = v);
45
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-tableCell", () => $52c51313300b3b3e$export$292b81cfd590634d, (v) => $52c51313300b3b3e$export$292b81cfd590634d = v);
46
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-date", () => $52c51313300b3b3e$export$c20fe43d14f8fa36, (v) => $52c51313300b3b3e$export$c20fe43d14f8fa36 = v);
47
+ $parcel$export($52c51313300b3b3e$exports, "spectrum-Calendar-dateText", () => $52c51313300b3b3e$export$cc48a6e73fdb7719, (v) => $52c51313300b3b3e$export$cc48a6e73fdb7719 = v);
48
+ $parcel$export($52c51313300b3b3e$exports, "is-disabled", () => $52c51313300b3b3e$export$d35bc1e505d1ebbf, (v) => $52c51313300b3b3e$export$d35bc1e505d1ebbf = v);
49
+ $parcel$export($52c51313300b3b3e$exports, "is-unavailable", () => $52c51313300b3b3e$export$38b08f1df825800e, (v) => $52c51313300b3b3e$export$38b08f1df825800e = v);
50
+ $parcel$export($52c51313300b3b3e$exports, "is-outsideMonth", () => $52c51313300b3b3e$export$93ff5b06817b3d41, (v) => $52c51313300b3b3e$export$93ff5b06817b3d41 = v);
51
+ $parcel$export($52c51313300b3b3e$exports, "is-focused", () => $52c51313300b3b3e$export$e7dc768d35940237, (v) => $52c51313300b3b3e$export$e7dc768d35940237 = v);
52
+ $parcel$export($52c51313300b3b3e$exports, "is-range-selection", () => $52c51313300b3b3e$export$cd2839d8bb0c6407, (v) => $52c51313300b3b3e$export$cd2839d8bb0c6407 = v);
53
+ $parcel$export($52c51313300b3b3e$exports, "is-range-start", () => $52c51313300b3b3e$export$4ce7d3d24e42e411, (v) => $52c51313300b3b3e$export$4ce7d3d24e42e411 = v);
54
+ $parcel$export($52c51313300b3b3e$exports, "is-selection-start", () => $52c51313300b3b3e$export$f0091c9d6b8c19d3, (v) => $52c51313300b3b3e$export$f0091c9d6b8c19d3 = v);
55
+ $parcel$export($52c51313300b3b3e$exports, "is-range-end", () => $52c51313300b3b3e$export$52890a3cb1ab46b, (v) => $52c51313300b3b3e$export$52890a3cb1ab46b = v);
56
+ $parcel$export($52c51313300b3b3e$exports, "is-selection-end", () => $52c51313300b3b3e$export$50722ae5663230f9, (v) => $52c51313300b3b3e$export$50722ae5663230f9 = v);
57
+ $parcel$export($52c51313300b3b3e$exports, "is-range-selecting", () => $52c51313300b3b3e$export$7a763a0407a04336, (v) => $52c51313300b3b3e$export$7a763a0407a04336 = v);
58
+ $parcel$export($52c51313300b3b3e$exports, "is-today", () => $52c51313300b3b3e$export$189f6cc7eaf68d8b, (v) => $52c51313300b3b3e$export$189f6cc7eaf68d8b = v);
59
+ $parcel$export($52c51313300b3b3e$exports, "is-selected", () => $52c51313300b3b3e$export$1e0fb04f31d3c22a, (v) => $52c51313300b3b3e$export$1e0fb04f31d3c22a = v);
60
+ $parcel$export($52c51313300b3b3e$exports, "is-hovered", () => $52c51313300b3b3e$export$b8813cd5d7824ce7, (v) => $52c51313300b3b3e$export$b8813cd5d7824ce7 = v);
61
+ $parcel$export($52c51313300b3b3e$exports, "is-pressed", () => $52c51313300b3b3e$export$15b73a232798b8d3, (v) => $52c51313300b3b3e$export$15b73a232798b8d3 = v);
62
+ var $52c51313300b3b3e$export$2d9837ea36f7a875;
63
+ var $52c51313300b3b3e$export$8d90e3a3d21fe428;
64
+ var $52c51313300b3b3e$export$7efb9b56af6e2d09;
65
+ var $52c51313300b3b3e$export$185018e73e57145f;
66
+ var $52c51313300b3b3e$export$98ee27555a2b7c01;
67
+ var $52c51313300b3b3e$export$d4c1c2a202a50db2;
68
+ var $52c51313300b3b3e$export$7876229ab722b448;
69
+ var $52c51313300b3b3e$export$5dacd232bfef6687;
70
+ var $52c51313300b3b3e$export$7ff21fe81b21fa51;
71
+ var $52c51313300b3b3e$export$33407a73687c0e62;
72
+ var $52c51313300b3b3e$export$27f4c38933cceedf;
73
+ var $52c51313300b3b3e$export$292b81cfd590634d;
74
+ var $52c51313300b3b3e$export$c20fe43d14f8fa36;
75
+ var $52c51313300b3b3e$export$cc48a6e73fdb7719;
76
+ var $52c51313300b3b3e$export$d35bc1e505d1ebbf;
77
+ var $52c51313300b3b3e$export$38b08f1df825800e;
78
+ var $52c51313300b3b3e$export$93ff5b06817b3d41;
79
+ var $52c51313300b3b3e$export$e7dc768d35940237;
80
+ var $52c51313300b3b3e$export$cd2839d8bb0c6407;
81
+ var $52c51313300b3b3e$export$4ce7d3d24e42e411;
82
+ var $52c51313300b3b3e$export$f0091c9d6b8c19d3;
83
+ var $52c51313300b3b3e$export$52890a3cb1ab46b;
84
+ var $52c51313300b3b3e$export$50722ae5663230f9;
85
+ var $52c51313300b3b3e$export$7a763a0407a04336;
86
+ var $52c51313300b3b3e$export$189f6cc7eaf68d8b;
87
+ var $52c51313300b3b3e$export$1e0fb04f31d3c22a;
88
+ var $52c51313300b3b3e$export$b8813cd5d7824ce7;
89
+ var $52c51313300b3b3e$export$15b73a232798b8d3;
90
+ $52c51313300b3b3e$export$2d9837ea36f7a875 = "spectrum-Calendar_6099b6";
91
+ $52c51313300b3b3e$export$8d90e3a3d21fe428 = "spectrum-Calendar--padded_6099b6";
92
+ $52c51313300b3b3e$export$7efb9b56af6e2d09 = "spectrum-Calendar-header_6099b6";
93
+ $52c51313300b3b3e$export$185018e73e57145f = "spectrum-Calendar-monthHeader_6099b6";
94
+ $52c51313300b3b3e$export$98ee27555a2b7c01 = "spectrum-Calendar-title_6099b6";
95
+ $52c51313300b3b3e$export$d4c1c2a202a50db2 = "spectrum-Calendar-prevMonth_6099b6";
96
+ $52c51313300b3b3e$export$7876229ab722b448 = "spectrum-Calendar-nextMonth_6099b6";
97
+ $52c51313300b3b3e$export$5dacd232bfef6687 = "spectrum-Calendar-months_6099b6";
98
+ $52c51313300b3b3e$export$7ff21fe81b21fa51 = "spectrum-Calendar-dayOfWeek_6099b6";
99
+ $52c51313300b3b3e$export$33407a73687c0e62 = "spectrum-Calendar-body_6099b6";
100
+ $52c51313300b3b3e$export$27f4c38933cceedf = "spectrum-Calendar-table_6099b6";
101
+ $52c51313300b3b3e$export$292b81cfd590634d = "spectrum-Calendar-tableCell_6099b6";
102
+ $52c51313300b3b3e$export$c20fe43d14f8fa36 = "spectrum-Calendar-date_6099b6";
103
+ $52c51313300b3b3e$export$cc48a6e73fdb7719 = "spectrum-Calendar-dateText_6099b6";
104
+ $52c51313300b3b3e$export$d35bc1e505d1ebbf = "is-disabled_6099b6";
105
+ $52c51313300b3b3e$export$38b08f1df825800e = "is-unavailable_6099b6";
106
+ $52c51313300b3b3e$export$93ff5b06817b3d41 = "is-outsideMonth_6099b6";
107
+ $52c51313300b3b3e$export$e7dc768d35940237 = "is-focused_6099b6";
108
+ $52c51313300b3b3e$export$cd2839d8bb0c6407 = "is-range-selection_6099b6";
109
+ $52c51313300b3b3e$export$4ce7d3d24e42e411 = "is-range-start_6099b6";
110
+ $52c51313300b3b3e$export$f0091c9d6b8c19d3 = "is-selection-start_6099b6";
111
+ $52c51313300b3b3e$export$52890a3cb1ab46b = "is-range-end_6099b6";
112
+ $52c51313300b3b3e$export$50722ae5663230f9 = "is-selection-end_6099b6";
113
+ $52c51313300b3b3e$export$7a763a0407a04336 = "is-range-selecting_6099b6";
114
+ $52c51313300b3b3e$export$189f6cc7eaf68d8b = "is-today_6099b6";
115
+ $52c51313300b3b3e$export$1e0fb04f31d3c22a = "is-selected_6099b6";
116
+ $52c51313300b3b3e$export$b8813cd5d7824ce7 = "is-hovered_6099b6";
117
+ $52c51313300b3b3e$export$15b73a232798b8d3 = "is-pressed_6099b6";
118
+
119
+
120
+
121
+
122
+
123
+ function $453c556b9066da11$export$5d847498420df57b({ state: state , currentMonth: currentMonth , ...props }) {
124
+ let ref = $40VnT$useRef();
125
+ let { cellProps: cellProps , buttonProps: buttonProps , isPressed: isPressed , isSelected: isSelected , isDisabled: isDisabled , isFocused: isFocused , formattedDate: formattedDate } = $40VnT$useCalendarCell({
126
+ ...props,
127
+ isDisabled: !$40VnT$isSameMonth(props.date, currentMonth)
128
+ }, state, ref);
129
+ let isUnavailable = state.isCellUnavailable(props.date) && !isDisabled;
130
+ let isLastSelectedBeforeDisabled = !isDisabled && state.isCellUnavailable(props.date.add({
131
+ days: 1
132
+ }));
133
+ let isFirstSelectedAfterDisabled = !isDisabled && state.isCellUnavailable(props.date.subtract({
134
+ days: 1
135
+ }));
136
+ let highlightedRange = 'highlightedRange' in state && state.highlightedRange;
137
+ let isSelectionStart = isSelected && highlightedRange && $40VnT$isSameDay(props.date, highlightedRange.start);
138
+ let isSelectionEnd = isSelected && highlightedRange && $40VnT$isSameDay(props.date, highlightedRange.end);
139
+ let { locale: locale } = $40VnT$useLocale();
140
+ let dayOfWeek = $40VnT$getDayOfWeek(props.date, locale);
141
+ let isRangeStart = isSelected && (isFirstSelectedAfterDisabled || dayOfWeek === 0 || props.date.day === 1);
142
+ let isRangeEnd = isSelected && (isLastSelectedBeforeDisabled || dayOfWeek === 6 || props.date.day === currentMonth.calendar.getDaysInMonth(currentMonth));
143
+ let { focusProps: focusProps , isFocusVisible: isFocusVisible } = $40VnT$useFocusRing();
144
+ let { hoverProps: hoverProps , isHovered: isHovered } = $40VnT$useHover({
145
+ isDisabled: isDisabled || isUnavailable || state.isReadOnly
175
146
  });
176
- let dateDay = date.toDate(state.timeZone);
177
- let day = dayFormatter.format(dateDay);
178
- let dayLong = dayFormatterLong.format(dateDay);
179
- return /*#__PURE__*/_react.createElement("th", {
180
- key: index,
181
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-tableCell')
182
- }, /*#__PURE__*/_react.createElement(VisuallyHidden, null, dayLong), /*#__PURE__*/_react.createElement("span", {
183
- "aria-hidden": "true",
184
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-dayOfWeek')
185
- }, day));
186
- }))), /*#__PURE__*/_react.createElement("tbody", null, [...new Array(weeksInMonth).keys()].map(weekIndex => /*#__PURE__*/_react.createElement("tr", {
187
- key: weekIndex
188
- }, [...new Array(7).keys()].map(dayIndex => /*#__PURE__*/_react.createElement($e063fdddb71e9ef291bdbb1ac2f23b10$export$CalendarCell, {
189
- key: dayIndex,
190
- state: state,
191
- date: monthStart.add({
192
- weeks: weekIndex,
193
- days: dayIndex
194
- }),
195
- currentMonth: startDate
196
- }))))));
147
+ return(/*#__PURE__*/ $40VnT$react.createElement("td", {
148
+ ...cellProps,
149
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-tableCell')
150
+ }, /*#__PURE__*/ $40VnT$react.createElement("span", {
151
+ ...$40VnT$mergeProps(buttonProps, hoverProps, focusProps),
152
+ ref: ref,
153
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-date', {
154
+ 'is-today': $40VnT$isToday(props.date, state.timeZone),
155
+ 'is-selected': isSelected,
156
+ 'is-focused': isFocused && isFocusVisible,
157
+ 'is-disabled': isDisabled,
158
+ 'is-unavailable': isUnavailable,
159
+ 'is-outsideMonth': !$40VnT$isSameMonth(props.date, currentMonth),
160
+ 'is-range-start': isRangeStart,
161
+ 'is-range-end': isRangeEnd,
162
+ 'is-range-selection': isSelected && 'highlightedRange' in state,
163
+ 'is-selection-start': isSelectionStart,
164
+ 'is-selection-end': isSelectionEnd,
165
+ 'is-hovered': isHovered,
166
+ 'is-pressed': isPressed && !state.isReadOnly
167
+ })
168
+ }, /*#__PURE__*/ $40VnT$react.createElement("span", {
169
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-dateText')
170
+ }, /*#__PURE__*/ $40VnT$react.createElement("span", null, formattedDate)))));
197
171
  }
198
172
 
199
- function $ff7cb4cae699b79d58b93fa58010e9$export$CalendarBase(props) {
200
- props = useProviderProps(props);
201
- let {
202
- state,
203
- useCalendar,
204
- visibleMonths = 1
205
- } = props;
206
- let {
207
- direction
208
- } = useLocale();
209
- let currentMonth = state.visibleRange.start;
210
- let monthDateFormatter = useDateFormatter({
211
- month: 'long',
212
- year: 'numeric',
213
- era: currentMonth.calendar.identifier !== 'gregory' ? 'long' : undefined,
214
- calendar: currentMonth.calendar.identifier
215
- });
216
- let ref = useRef(null);
217
- let {
218
- calendarProps,
219
- prevButtonProps,
220
- nextButtonProps
221
- } = useCalendar(props, state, ref);
222
- let titles = [];
223
- let calendars = [];
224
-
225
- for (let i = 0; i < visibleMonths; i++) {
226
- titles.push( /*#__PURE__*/_react.createElement("div", {
227
- key: i,
228
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-monthHeader')
229
- }, i === 0 && /*#__PURE__*/_react.createElement(ActionButton, _babelRuntimeHelpersEsmExtends({}, prevButtonProps, {
230
- UNSAFE_className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-prevMonth'),
231
- isQuiet: true
232
- }), direction === 'rtl' ? /*#__PURE__*/_react.createElement(_spectrumIconsUiChevronRightLarge, null) : /*#__PURE__*/_react.createElement(_spectrumIconsUiChevronLeftLarge, null)), /*#__PURE__*/_react.createElement("h2", {
233
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-title')
234
- }, monthDateFormatter.format(currentMonth.add({
235
- months: i
236
- }).toDate(state.timeZone))), i === visibleMonths - 1 && /*#__PURE__*/_react.createElement(ActionButton, _babelRuntimeHelpersEsmExtends({}, nextButtonProps, {
237
- UNSAFE_className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-nextMonth'),
238
- isQuiet: true
239
- }), direction === 'rtl' ? /*#__PURE__*/_react.createElement(_spectrumIconsUiChevronLeftLarge, null) : /*#__PURE__*/_react.createElement(_spectrumIconsUiChevronRightLarge, null))));
240
- let d = currentMonth.add({
241
- months: i
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+ function $faa2f3867773cfe5$export$26e2752316b9a375(props) {
183
+ props = $40VnT$useProviderProps(props);
184
+ let { state: state , startDate: startDate } = props;
185
+ let { gridProps: gridProps , weekDays: weekDays } = $40VnT$useCalendarGrid({
186
+ ...props,
187
+ endDate: $40VnT$endOfMonth(startDate)
188
+ }, state);
189
+ let { locale: locale } = $40VnT$useLocale();
190
+ let monthStart = $40VnT$startOfWeek(startDate, locale);
191
+ let weeksInMonth = $40VnT$getWeeksInMonth(startDate, locale);
192
+ let [isRangeSelecting, setRangeSelecting] = $40VnT$useState(false);
193
+ let hasAnchorDate = 'anchorDate' in state && state.anchorDate != null;
194
+ // Update isRangeSelecting immediately when it becomes true.
195
+ // This feels weird but is actually fine...
196
+ // https://reactjs.org/docs/hooks-faq.html#how-do-i-implement-getderivedstatefromprops
197
+ if (hasAnchorDate && !isRangeSelecting) setRangeSelecting(true);
198
+ // Delay removing the is-range-selecting class for a frame after selection ends.
199
+ // This avoids an undesired animation on touch devices.
200
+ $40VnT$useEffect(()=>{
201
+ if (!hasAnchorDate && isRangeSelecting) {
202
+ let raf = requestAnimationFrame(()=>setRangeSelecting(false)
203
+ );
204
+ return ()=>cancelAnimationFrame(raf)
205
+ ;
206
+ }
207
+ }, [
208
+ hasAnchorDate,
209
+ isRangeSelecting
210
+ ]);
211
+ return(/*#__PURE__*/ $40VnT$react.createElement("table", {
212
+ ...gridProps,
213
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-body', 'spectrum-Calendar-table', {
214
+ 'is-range-selecting': isRangeSelecting
215
+ })
216
+ }, /*#__PURE__*/ $40VnT$react.createElement("thead", null, /*#__PURE__*/ $40VnT$react.createElement("tr", null, weekDays.map((day, index)=>/*#__PURE__*/ $40VnT$react.createElement("th", {
217
+ key: index,
218
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-tableCell')
219
+ }, /*#__PURE__*/ $40VnT$react.createElement($40VnT$VisuallyHidden, null, day.long), /*#__PURE__*/ $40VnT$react.createElement("span", {
220
+ "aria-hidden": "true",
221
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-dayOfWeek')
222
+ }, day.narrow))
223
+ ))), /*#__PURE__*/ $40VnT$react.createElement("tbody", null, [
224
+ ...new Array(weeksInMonth).keys()
225
+ ].map((weekIndex)=>/*#__PURE__*/ $40VnT$react.createElement("tr", {
226
+ key: weekIndex
227
+ }, [
228
+ ...new Array(7).keys()
229
+ ].map((dayIndex)=>/*#__PURE__*/ $40VnT$react.createElement($453c556b9066da11$export$5d847498420df57b, {
230
+ key: dayIndex,
231
+ state: state,
232
+ date: monthStart.add({
233
+ weeks: weekIndex,
234
+ days: dayIndex
235
+ }),
236
+ currentMonth: startDate
237
+ })
238
+ ))
239
+ ))));
240
+ }
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+ function $62cd1e80f0dffb66$export$bfd52a43017368fe(props) {
251
+ props = $40VnT$useProviderProps(props);
252
+ let { state: state , calendarProps: calendarProps , nextButtonProps: nextButtonProps , prevButtonProps: prevButtonProps , calendarRef: ref , visibleMonths: visibleMonths = 1 } = props;
253
+ let { direction: direction } = $40VnT$useLocale();
254
+ let currentMonth = state.visibleRange.start;
255
+ let monthDateFormatter = $40VnT$useDateFormatter({
256
+ month: 'long',
257
+ year: 'numeric',
258
+ era: currentMonth.calendar.identifier !== 'gregory' ? 'long' : undefined,
259
+ calendar: currentMonth.calendar.identifier,
260
+ timeZone: state.timeZone
242
261
  });
243
- calendars.push( /*#__PURE__*/_react.createElement($a61ab4829fcdd02202f30ae2d742ae1$export$CalendarMonth, _babelRuntimeHelpersEsmExtends({}, props, {
244
- key: d.year + "-" + d.month + "-" + d.day,
245
- state: state,
246
- startDate: d
247
- })));
248
- }
249
-
250
- return /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersEsmExtends({}, calendarProps, {
251
- ref: ref,
252
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar')
253
- }), /*#__PURE__*/_react.createElement("div", {
254
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-header')
255
- }, titles), /*#__PURE__*/_react.createElement("div", {
256
- className: classNames($be4f0cec50a586942f46dfb826aeabe0$$interop$default, 'spectrum-Calendar-months')
257
- }, calendars));
262
+ let titles = [];
263
+ let calendars = [];
264
+ for(let i = 0; i < visibleMonths; i++){
265
+ titles.push(/*#__PURE__*/ $40VnT$react.createElement("div", {
266
+ key: i,
267
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-monthHeader')
268
+ }, i === 0 && /*#__PURE__*/ $40VnT$react.createElement($40VnT$ActionButton, {
269
+ ...prevButtonProps,
270
+ UNSAFE_className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-prevMonth'),
271
+ isQuiet: true
272
+ }, direction === 'rtl' ? /*#__PURE__*/ $40VnT$react.createElement($40VnT$spectrumiconsuiChevronRightLarge, null) : /*#__PURE__*/ $40VnT$react.createElement($40VnT$spectrumiconsuiChevronLeftLarge, null)), /*#__PURE__*/ $40VnT$react.createElement("h2", {
273
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-title')
274
+ }, monthDateFormatter.format(currentMonth.add({
275
+ months: i
276
+ }).toDate(state.timeZone))), i === visibleMonths - 1 && /*#__PURE__*/ $40VnT$react.createElement($40VnT$ActionButton, {
277
+ ...nextButtonProps,
278
+ UNSAFE_className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-nextMonth'),
279
+ isQuiet: true
280
+ }, direction === 'rtl' ? /*#__PURE__*/ $40VnT$react.createElement($40VnT$spectrumiconsuiChevronLeftLarge, null) : /*#__PURE__*/ $40VnT$react.createElement($40VnT$spectrumiconsuiChevronRightLarge, null))));
281
+ let d = currentMonth.add({
282
+ months: i
283
+ });
284
+ calendars.push(/*#__PURE__*/ $40VnT$react.createElement($faa2f3867773cfe5$export$26e2752316b9a375, {
285
+ ...props,
286
+ key: `${d.year}-${d.month}-${d.day}`,
287
+ state: state,
288
+ startDate: d
289
+ }));
290
+ }
291
+ return(/*#__PURE__*/ $40VnT$react.createElement("div", {
292
+ ...calendarProps,
293
+ ref: ref,
294
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar')
295
+ }, /*#__PURE__*/ $40VnT$react.createElement("div", {
296
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-header')
297
+ }, titles), /*#__PURE__*/ $40VnT$react.createElement("div", {
298
+ className: $40VnT$classNames((/*@__PURE__*/$parcel$interopDefault($52c51313300b3b3e$exports)), 'spectrum-Calendar-months')
299
+ }, calendars)));
258
300
  }
259
301
 
260
- export function Calendar(props) {
261
- let {
262
- visibleMonths = 1
263
- } = props;
264
- let visibleDuration = useMemo(() => ({
265
- months: visibleMonths
266
- }), [visibleMonths]);
267
- let {
268
- locale
269
- } = useLocale();
270
- let state = useCalendarState(_babelRuntimeHelpersEsmExtends({}, props, {
271
- locale,
272
- visibleDuration,
273
- createCalendar
274
- }));
275
- return /*#__PURE__*/_react.createElement($ff7cb4cae699b79d58b93fa58010e9$export$CalendarBase, _babelRuntimeHelpersEsmExtends({}, props, {
276
- state: state,
277
- useCalendar: _useCalendar
278
- }));
302
+
303
+
304
+
305
+
306
+
307
+
308
+ function $d2b8d4577dd88671$export$e1aef45b828286de(props) {
309
+ let { visibleMonths: visibleMonths = 1 } = props;
310
+ let visibleDuration = $40VnT$useMemo(()=>({
311
+ months: visibleMonths
312
+ })
313
+ , [
314
+ visibleMonths
315
+ ]);
316
+ let { locale: locale } = $40VnT$useLocale();
317
+ let state = $40VnT$useCalendarState({
318
+ ...props,
319
+ locale: locale,
320
+ visibleDuration: visibleDuration,
321
+ createCalendar: $40VnT$createCalendar
322
+ });
323
+ let ref = $40VnT$useRef();
324
+ let { calendarProps: calendarProps , prevButtonProps: prevButtonProps , nextButtonProps: nextButtonProps } = $40VnT$useCalendar(props, state);
325
+ return(/*#__PURE__*/ $40VnT$react.createElement($62cd1e80f0dffb66$export$bfd52a43017368fe, {
326
+ ...props,
327
+ state: state,
328
+ calendarRef: ref,
329
+ calendarProps: calendarProps,
330
+ prevButtonProps: prevButtonProps,
331
+ nextButtonProps: nextButtonProps
332
+ }));
279
333
  }
280
- export function RangeCalendar(props) {
281
- let {
282
- visibleMonths = 1
283
- } = props;
284
- let visibleDuration = useMemo(() => ({
285
- months: visibleMonths
286
- }), [visibleMonths]);
287
- let {
288
- locale
289
- } = useLocale();
290
- let state = useRangeCalendarState(_babelRuntimeHelpersEsmExtends({}, props, {
291
- locale,
292
- visibleDuration,
293
- createCalendar
294
- }));
295
- return /*#__PURE__*/_react.createElement($ff7cb4cae699b79d58b93fa58010e9$export$CalendarBase, _babelRuntimeHelpersEsmExtends({}, props, {
296
- state: state,
297
- useCalendar: useRangeCalendar
298
- }));
334
+
335
+
336
+ var $8b1e8eddbf3b15de$exports = {};
337
+
338
+ $parcel$export($8b1e8eddbf3b15de$exports, "RangeCalendar", () => $8b1e8eddbf3b15de$export$a4f5c8b89d277a8d);
339
+
340
+
341
+
342
+
343
+
344
+
345
+ function $8b1e8eddbf3b15de$export$a4f5c8b89d277a8d(props) {
346
+ let { visibleMonths: visibleMonths = 1 } = props;
347
+ let visibleDuration = $40VnT$useMemo(()=>({
348
+ months: visibleMonths
349
+ })
350
+ , [
351
+ visibleMonths
352
+ ]);
353
+ let { locale: locale } = $40VnT$useLocale();
354
+ let state = $40VnT$useRangeCalendarState({
355
+ ...props,
356
+ locale: locale,
357
+ visibleDuration: visibleDuration,
358
+ createCalendar: $40VnT$createCalendar
359
+ });
360
+ let ref = $40VnT$useRef();
361
+ let { calendarProps: calendarProps , prevButtonProps: prevButtonProps , nextButtonProps: nextButtonProps } = $40VnT$useRangeCalendar(props, state, ref);
362
+ return(/*#__PURE__*/ $40VnT$react.createElement($62cd1e80f0dffb66$export$bfd52a43017368fe, {
363
+ ...props,
364
+ state: state,
365
+ calendarRef: ref,
366
+ calendarProps: calendarProps,
367
+ prevButtonProps: prevButtonProps,
368
+ nextButtonProps: nextButtonProps
369
+ }));
299
370
  }
371
+
372
+
373
+
374
+
375
+ export {$d2b8d4577dd88671$export$e1aef45b828286de as Calendar, $8b1e8eddbf3b15de$export$a4f5c8b89d277a8d as RangeCalendar};
300
376
  //# sourceMappingURL=module.js.map