@react-spectrum/calendar 3.4.7 → 3.4.8
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/Calendar.main.js +78 -0
- package/dist/Calendar.main.js.map +1 -0
- package/dist/Calendar.mjs +69 -0
- package/dist/Calendar.module.js +69 -0
- package/dist/Calendar.module.js.map +1 -0
- package/dist/CalendarBase.main.js +116 -0
- package/dist/CalendarBase.main.js.map +1 -0
- package/dist/CalendarBase.mjs +111 -0
- package/dist/CalendarBase.module.js +111 -0
- package/dist/CalendarBase.module.js.map +1 -0
- package/dist/CalendarCell.main.js +95 -0
- package/dist/CalendarCell.main.js.map +1 -0
- package/dist/CalendarCell.mjs +90 -0
- package/dist/CalendarCell.module.js +90 -0
- package/dist/CalendarCell.module.js.map +1 -0
- package/dist/CalendarMonth.main.js +68 -0
- package/dist/CalendarMonth.main.js.map +1 -0
- package/dist/CalendarMonth.mjs +63 -0
- package/dist/CalendarMonth.module.js +63 -0
- package/dist/CalendarMonth.module.js.map +1 -0
- package/dist/RangeCalendar.main.js +78 -0
- package/dist/RangeCalendar.main.js.map +1 -0
- package/dist/RangeCalendar.mjs +69 -0
- package/dist/RangeCalendar.module.js +69 -0
- package/dist/RangeCalendar.module.js.map +1 -0
- package/dist/ar-AE.mjs +1 -1
- package/dist/bg-BG.mjs +1 -1
- package/dist/calendar_vars_css.main.js +116 -0
- package/dist/calendar_vars_css.main.js.map +1 -0
- package/dist/calendar_vars_css.mjs +118 -0
- package/dist/calendar_vars_css.module.js +118 -0
- package/dist/calendar_vars_css.module.js.map +1 -0
- package/dist/cs-CZ.mjs +1 -1
- package/dist/da-DK.mjs +1 -1
- package/dist/de-DE.mjs +1 -1
- package/dist/el-GR.mjs +1 -1
- package/dist/en-US.mjs +1 -1
- package/dist/es-ES.mjs +1 -1
- package/dist/et-EE.mjs +1 -1
- package/dist/fi-FI.mjs +1 -1
- package/dist/fr-FR.mjs +1 -1
- package/dist/he-IL.mjs +1 -1
- package/dist/hr-HR.mjs +1 -1
- package/dist/hu-HU.mjs +1 -1
- package/dist/import.mjs +2 -565
- package/dist/intlStrings.main.js +108 -0
- package/dist/intlStrings.main.js.map +1 -0
- package/dist/intlStrings.mjs +110 -0
- package/dist/intlStrings.module.js +110 -0
- package/dist/intlStrings.module.js.map +1 -0
- package/dist/it-IT.mjs +1 -1
- package/dist/ja-JP.mjs +1 -1
- package/dist/ko-KR.mjs +1 -1
- package/dist/lt-LT.mjs +1 -1
- package/dist/lv-LV.mjs +1 -1
- package/dist/main.js +4 -563
- package/dist/main.js.map +1 -1
- package/dist/module.js +2 -565
- package/dist/module.js.map +1 -1
- package/dist/nb-NO.mjs +1 -1
- package/dist/nl-NL.mjs +1 -1
- package/dist/pl-PL.mjs +1 -1
- package/dist/pt-BR.mjs +1 -1
- package/dist/pt-PT.mjs +1 -1
- package/dist/ro-RO.mjs +1 -1
- package/dist/ru-RU.mjs +1 -1
- package/dist/sk-SK.mjs +1 -1
- package/dist/sl-SI.mjs +1 -1
- package/dist/sr-SP.mjs +1 -1
- package/dist/sv-SE.mjs +1 -1
- package/dist/tr-TR.mjs +1 -1
- package/dist/uk-UA.mjs +1 -1
- package/dist/{main.css → vars.3977de0b.css} +45 -111
- package/dist/vars.3977de0b.css.map +1 -0
- package/dist/zh-CN.mjs +1 -1
- package/dist/zh-TW.mjs +1 -1
- package/package.json +18 -18
- package/dist/main.css.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
var $6d416018158e3a26$exports = require("./CalendarBase.main.js");
|
|
2
|
+
var $jdfnP$internationalizeddate = require("@internationalized/date");
|
|
3
|
+
var $jdfnP$reactspectrumutils = require("@react-spectrum/utils");
|
|
4
|
+
var $jdfnP$react = require("react");
|
|
5
|
+
var $jdfnP$reactariacalendar = require("@react-aria/calendar");
|
|
6
|
+
var $jdfnP$reactstatelycalendar = require("@react-stately/calendar");
|
|
7
|
+
var $jdfnP$reactariai18n = require("@react-aria/i18n");
|
|
8
|
+
var $jdfnP$reactspectrumprovider = require("@react-spectrum/provider");
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
function $parcel$interopDefault(a) {
|
|
12
|
+
return a && a.__esModule ? a.default : a;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function $parcel$export(e, n, v, s) {
|
|
16
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
$parcel$export(module.exports, "Calendar", () => $d9490b77e8681e44$export$e1aef45b828286de);
|
|
20
|
+
/*
|
|
21
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
22
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
23
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
24
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
25
|
+
*
|
|
26
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
27
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
28
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
29
|
+
* governing permissions and limitations under the License.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
function $d9490b77e8681e44$var$Calendar(props, ref) {
|
|
39
|
+
props = (0, $jdfnP$reactspectrumprovider.useProviderProps)(props);
|
|
40
|
+
let { visibleMonths: visibleMonths = 1 } = props;
|
|
41
|
+
visibleMonths = Math.max(visibleMonths, 1);
|
|
42
|
+
let visibleDuration = (0, $jdfnP$react.useMemo)(()=>({
|
|
43
|
+
months: visibleMonths
|
|
44
|
+
}), [
|
|
45
|
+
visibleMonths
|
|
46
|
+
]);
|
|
47
|
+
let { locale: locale } = (0, $jdfnP$reactariai18n.useLocale)();
|
|
48
|
+
let state = (0, $jdfnP$reactstatelycalendar.useCalendarState)({
|
|
49
|
+
...props,
|
|
50
|
+
locale: locale,
|
|
51
|
+
visibleDuration: visibleDuration,
|
|
52
|
+
createCalendar: $jdfnP$internationalizeddate.createCalendar
|
|
53
|
+
});
|
|
54
|
+
let domRef = (0, $jdfnP$react.useRef)();
|
|
55
|
+
(0, $jdfnP$react.useImperativeHandle)(ref, ()=>({
|
|
56
|
+
...(0, $jdfnP$reactspectrumutils.createDOMRef)(domRef),
|
|
57
|
+
focus () {
|
|
58
|
+
state.setFocused(true);
|
|
59
|
+
}
|
|
60
|
+
}));
|
|
61
|
+
let { calendarProps: calendarProps, prevButtonProps: prevButtonProps, nextButtonProps: nextButtonProps, errorMessageProps: errorMessageProps } = (0, $jdfnP$reactariacalendar.useCalendar)(props, state);
|
|
62
|
+
return /*#__PURE__*/ (0, ($parcel$interopDefault($jdfnP$react))).createElement((0, $6d416018158e3a26$exports.CalendarBase), {
|
|
63
|
+
...props,
|
|
64
|
+
visibleMonths: visibleMonths,
|
|
65
|
+
state: state,
|
|
66
|
+
calendarRef: domRef,
|
|
67
|
+
calendarProps: calendarProps,
|
|
68
|
+
prevButtonProps: prevButtonProps,
|
|
69
|
+
nextButtonProps: nextButtonProps,
|
|
70
|
+
errorMessageProps: errorMessageProps
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Calendars display a grid of days in one or more months and allow users to select a single date.
|
|
75
|
+
*/ const $d9490b77e8681e44$export$e1aef45b828286de = /*#__PURE__*/ (0, ($parcel$interopDefault($jdfnP$react))).forwardRef($d9490b77e8681e44$var$Calendar);
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=Calendar.main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAaD,SAAS,+BAA8B,KAA+B,EAAE,GAA8B;IACpG,QAAQ,CAAA,GAAA,6CAAe,EAAE;IACzB,IAAI,iBAAC,gBAAgB,GAAE,GAAG;IAC1B,gBAAgB,KAAK,GAAG,CAAC,eAAe;IACxC,IAAI,kBAAkB,CAAA,GAAA,oBAAM,EAAE,IAAO,CAAA;YAAC,QAAQ;QAAa,CAAA,GAAI;QAAC;KAAc;IAC9E,IAAI,UAAC,MAAM,EAAC,GAAG,CAAA,GAAA,8BAAQ;IACvB,IAAI,QAAQ,CAAA,GAAA,4CAAe,EAAE;QAC3B,GAAG,KAAK;gBACR;yBACA;wBACA;IACF;IAEA,IAAI,SAAS,CAAA,GAAA,mBAAK;IAClB,CAAA,GAAA,gCAAkB,EAAE,KAAK,IAAO,CAAA;YAC9B,GAAG,CAAA,GAAA,sCAAW,EAAE,OAAO;YACvB;gBACE,MAAM,UAAU,CAAC;YACnB;QACF,CAAA;IAEA,IAAI,iBAAC,aAAa,mBAAE,eAAe,mBAAE,eAAe,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,oCAAU,EAAE,OAAO;IAE9F,qBACE,0DAAC,CAAA,GAAA,sCAAW;QACT,GAAG,KAAK;QACT,eAAe;QACf,OAAO;QACP,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;;AAEzB;AAEA;;CAEC,GACD,MAAM,0DAAY,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC","sources":["packages/@react-spectrum/calendar/src/Calendar.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {CalendarBase} from './CalendarBase';\nimport {createCalendar} from '@internationalized/date';\nimport {createDOMRef} from '@react-spectrum/utils';\nimport {DateValue, SpectrumCalendarProps} from '@react-types/calendar';\nimport {FocusableRef} from '@react-types/shared';\nimport React, {ReactElement, useImperativeHandle, useMemo, useRef} from 'react';\nimport {useCalendar} from '@react-aria/calendar';\nimport {useCalendarState} from '@react-stately/calendar';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction Calendar<T extends DateValue>(props: SpectrumCalendarProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {visibleMonths = 1} = props;\n visibleMonths = Math.max(visibleMonths, 1);\n let visibleDuration = useMemo(() => ({months: visibleMonths}), [visibleMonths]);\n let {locale} = useLocale();\n let state = useCalendarState({\n ...props,\n locale,\n visibleDuration,\n createCalendar\n });\n\n let domRef = useRef();\n useImperativeHandle(ref, () => ({\n ...createDOMRef(domRef),\n focus() {\n state.setFocused(true);\n }\n }));\n\n let {calendarProps, prevButtonProps, nextButtonProps, errorMessageProps} = useCalendar(props, state);\n\n return (\n <CalendarBase\n {...props}\n visibleMonths={visibleMonths}\n state={state}\n calendarRef={domRef}\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n errorMessageProps={errorMessageProps} />\n );\n}\n\n/**\n * Calendars display a grid of days in one or more months and allow users to select a single date.\n */\nconst _Calendar = React.forwardRef(Calendar) as <T extends DateValue>(props: SpectrumCalendarProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_Calendar as Calendar};\n"],"names":[],"version":3,"file":"Calendar.main.js.map"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {CalendarBase as $62cd1e80f0dffb66$export$bfd52a43017368fe} from "./CalendarBase.mjs";
|
|
2
|
+
import {createCalendar as $fF0AO$createCalendar} from "@internationalized/date";
|
|
3
|
+
import {createDOMRef as $fF0AO$createDOMRef} from "@react-spectrum/utils";
|
|
4
|
+
import $fF0AO$react, {useMemo as $fF0AO$useMemo, useRef as $fF0AO$useRef, useImperativeHandle as $fF0AO$useImperativeHandle} from "react";
|
|
5
|
+
import {useCalendar as $fF0AO$useCalendar} from "@react-aria/calendar";
|
|
6
|
+
import {useCalendarState as $fF0AO$useCalendarState} from "@react-stately/calendar";
|
|
7
|
+
import {useLocale as $fF0AO$useLocale} from "@react-aria/i18n";
|
|
8
|
+
import {useProviderProps as $fF0AO$useProviderProps} from "@react-spectrum/provider";
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
12
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
14
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
17
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
18
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
19
|
+
* governing permissions and limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
function $d2b8d4577dd88671$var$Calendar(props, ref) {
|
|
29
|
+
props = (0, $fF0AO$useProviderProps)(props);
|
|
30
|
+
let { visibleMonths: visibleMonths = 1 } = props;
|
|
31
|
+
visibleMonths = Math.max(visibleMonths, 1);
|
|
32
|
+
let visibleDuration = (0, $fF0AO$useMemo)(()=>({
|
|
33
|
+
months: visibleMonths
|
|
34
|
+
}), [
|
|
35
|
+
visibleMonths
|
|
36
|
+
]);
|
|
37
|
+
let { locale: locale } = (0, $fF0AO$useLocale)();
|
|
38
|
+
let state = (0, $fF0AO$useCalendarState)({
|
|
39
|
+
...props,
|
|
40
|
+
locale: locale,
|
|
41
|
+
visibleDuration: visibleDuration,
|
|
42
|
+
createCalendar: $fF0AO$createCalendar
|
|
43
|
+
});
|
|
44
|
+
let domRef = (0, $fF0AO$useRef)();
|
|
45
|
+
(0, $fF0AO$useImperativeHandle)(ref, ()=>({
|
|
46
|
+
...(0, $fF0AO$createDOMRef)(domRef),
|
|
47
|
+
focus () {
|
|
48
|
+
state.setFocused(true);
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
let { calendarProps: calendarProps, prevButtonProps: prevButtonProps, nextButtonProps: nextButtonProps, errorMessageProps: errorMessageProps } = (0, $fF0AO$useCalendar)(props, state);
|
|
52
|
+
return /*#__PURE__*/ (0, $fF0AO$react).createElement((0, $62cd1e80f0dffb66$export$bfd52a43017368fe), {
|
|
53
|
+
...props,
|
|
54
|
+
visibleMonths: visibleMonths,
|
|
55
|
+
state: state,
|
|
56
|
+
calendarRef: domRef,
|
|
57
|
+
calendarProps: calendarProps,
|
|
58
|
+
prevButtonProps: prevButtonProps,
|
|
59
|
+
nextButtonProps: nextButtonProps,
|
|
60
|
+
errorMessageProps: errorMessageProps
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Calendars display a grid of days in one or more months and allow users to select a single date.
|
|
65
|
+
*/ const $d2b8d4577dd88671$export$e1aef45b828286de = /*#__PURE__*/ (0, $fF0AO$react).forwardRef($d2b8d4577dd88671$var$Calendar);
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
export {$d2b8d4577dd88671$export$e1aef45b828286de as Calendar};
|
|
69
|
+
//# sourceMappingURL=Calendar.mjs.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {CalendarBase as $62cd1e80f0dffb66$export$bfd52a43017368fe} from "./CalendarBase.module.js";
|
|
2
|
+
import {createCalendar as $fF0AO$createCalendar} from "@internationalized/date";
|
|
3
|
+
import {createDOMRef as $fF0AO$createDOMRef} from "@react-spectrum/utils";
|
|
4
|
+
import $fF0AO$react, {useMemo as $fF0AO$useMemo, useRef as $fF0AO$useRef, useImperativeHandle as $fF0AO$useImperativeHandle} from "react";
|
|
5
|
+
import {useCalendar as $fF0AO$useCalendar} from "@react-aria/calendar";
|
|
6
|
+
import {useCalendarState as $fF0AO$useCalendarState} from "@react-stately/calendar";
|
|
7
|
+
import {useLocale as $fF0AO$useLocale} from "@react-aria/i18n";
|
|
8
|
+
import {useProviderProps as $fF0AO$useProviderProps} from "@react-spectrum/provider";
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
12
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
14
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
17
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
18
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
19
|
+
* governing permissions and limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
function $d2b8d4577dd88671$var$Calendar(props, ref) {
|
|
29
|
+
props = (0, $fF0AO$useProviderProps)(props);
|
|
30
|
+
let { visibleMonths: visibleMonths = 1 } = props;
|
|
31
|
+
visibleMonths = Math.max(visibleMonths, 1);
|
|
32
|
+
let visibleDuration = (0, $fF0AO$useMemo)(()=>({
|
|
33
|
+
months: visibleMonths
|
|
34
|
+
}), [
|
|
35
|
+
visibleMonths
|
|
36
|
+
]);
|
|
37
|
+
let { locale: locale } = (0, $fF0AO$useLocale)();
|
|
38
|
+
let state = (0, $fF0AO$useCalendarState)({
|
|
39
|
+
...props,
|
|
40
|
+
locale: locale,
|
|
41
|
+
visibleDuration: visibleDuration,
|
|
42
|
+
createCalendar: $fF0AO$createCalendar
|
|
43
|
+
});
|
|
44
|
+
let domRef = (0, $fF0AO$useRef)();
|
|
45
|
+
(0, $fF0AO$useImperativeHandle)(ref, ()=>({
|
|
46
|
+
...(0, $fF0AO$createDOMRef)(domRef),
|
|
47
|
+
focus () {
|
|
48
|
+
state.setFocused(true);
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
let { calendarProps: calendarProps, prevButtonProps: prevButtonProps, nextButtonProps: nextButtonProps, errorMessageProps: errorMessageProps } = (0, $fF0AO$useCalendar)(props, state);
|
|
52
|
+
return /*#__PURE__*/ (0, $fF0AO$react).createElement((0, $62cd1e80f0dffb66$export$bfd52a43017368fe), {
|
|
53
|
+
...props,
|
|
54
|
+
visibleMonths: visibleMonths,
|
|
55
|
+
state: state,
|
|
56
|
+
calendarRef: domRef,
|
|
57
|
+
calendarProps: calendarProps,
|
|
58
|
+
prevButtonProps: prevButtonProps,
|
|
59
|
+
nextButtonProps: nextButtonProps,
|
|
60
|
+
errorMessageProps: errorMessageProps
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Calendars display a grid of days in one or more months and allow users to select a single date.
|
|
65
|
+
*/ const $d2b8d4577dd88671$export$e1aef45b828286de = /*#__PURE__*/ (0, $fF0AO$react).forwardRef($d2b8d4577dd88671$var$Calendar);
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
export {$d2b8d4577dd88671$export$e1aef45b828286de as Calendar};
|
|
69
|
+
//# sourceMappingURL=Calendar.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAaD,SAAS,+BAA8B,KAA+B,EAAE,GAA8B;IACpG,QAAQ,CAAA,GAAA,uBAAe,EAAE;IACzB,IAAI,iBAAC,gBAAgB,GAAE,GAAG;IAC1B,gBAAgB,KAAK,GAAG,CAAC,eAAe;IACxC,IAAI,kBAAkB,CAAA,GAAA,cAAM,EAAE,IAAO,CAAA;YAAC,QAAQ;QAAa,CAAA,GAAI;QAAC;KAAc;IAC9E,IAAI,UAAC,MAAM,EAAC,GAAG,CAAA,GAAA,gBAAQ;IACvB,IAAI,QAAQ,CAAA,GAAA,uBAAe,EAAE;QAC3B,GAAG,KAAK;gBACR;yBACA;wBACA;IACF;IAEA,IAAI,SAAS,CAAA,GAAA,aAAK;IAClB,CAAA,GAAA,0BAAkB,EAAE,KAAK,IAAO,CAAA;YAC9B,GAAG,CAAA,GAAA,mBAAW,EAAE,OAAO;YACvB;gBACE,MAAM,UAAU,CAAC;YACnB;QACF,CAAA;IAEA,IAAI,iBAAC,aAAa,mBAAE,eAAe,mBAAE,eAAe,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,kBAAU,EAAE,OAAO;IAE9F,qBACE,gCAAC,CAAA,GAAA,yCAAW;QACT,GAAG,KAAK;QACT,eAAe;QACf,OAAO;QACP,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;;AAEzB;AAEA;;CAEC,GACD,MAAM,0DAAY,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC","sources":["packages/@react-spectrum/calendar/src/Calendar.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {CalendarBase} from './CalendarBase';\nimport {createCalendar} from '@internationalized/date';\nimport {createDOMRef} from '@react-spectrum/utils';\nimport {DateValue, SpectrumCalendarProps} from '@react-types/calendar';\nimport {FocusableRef} from '@react-types/shared';\nimport React, {ReactElement, useImperativeHandle, useMemo, useRef} from 'react';\nimport {useCalendar} from '@react-aria/calendar';\nimport {useCalendarState} from '@react-stately/calendar';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProviderProps} from '@react-spectrum/provider';\n\nfunction Calendar<T extends DateValue>(props: SpectrumCalendarProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n let {visibleMonths = 1} = props;\n visibleMonths = Math.max(visibleMonths, 1);\n let visibleDuration = useMemo(() => ({months: visibleMonths}), [visibleMonths]);\n let {locale} = useLocale();\n let state = useCalendarState({\n ...props,\n locale,\n visibleDuration,\n createCalendar\n });\n\n let domRef = useRef();\n useImperativeHandle(ref, () => ({\n ...createDOMRef(domRef),\n focus() {\n state.setFocused(true);\n }\n }));\n\n let {calendarProps, prevButtonProps, nextButtonProps, errorMessageProps} = useCalendar(props, state);\n\n return (\n <CalendarBase\n {...props}\n visibleMonths={visibleMonths}\n state={state}\n calendarRef={domRef}\n calendarProps={calendarProps}\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n errorMessageProps={errorMessageProps} />\n );\n}\n\n/**\n * Calendars display a grid of days in one or more months and allow users to select a single date.\n */\nconst _Calendar = React.forwardRef(Calendar) as <T extends DateValue>(props: SpectrumCalendarProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\nexport {_Calendar as Calendar};\n"],"names":[],"version":3,"file":"Calendar.module.js.map"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
var $02c19eea15a72a7b$exports = require("./CalendarMonth.main.js");
|
|
2
|
+
var $7e7c3b1f5233ce23$exports = require("./intlStrings.main.js");
|
|
3
|
+
require("./vars.3977de0b.css");
|
|
4
|
+
var $915891ae6206caad$exports = require("./calendar_vars_css.main.js");
|
|
5
|
+
var $6ckm4$reactspectrumbutton = require("@react-spectrum/button");
|
|
6
|
+
var $6ckm4$spectrumiconsuiChevronLeftLarge = require("@spectrum-icons/ui/ChevronLeftLarge");
|
|
7
|
+
var $6ckm4$spectrumiconsuiChevronRightLarge = require("@spectrum-icons/ui/ChevronRightLarge");
|
|
8
|
+
var $6ckm4$reactspectrumutils = require("@react-spectrum/utils");
|
|
9
|
+
var $6ckm4$reactspectrumlabel = require("@react-spectrum/label");
|
|
10
|
+
var $6ckm4$react = require("react");
|
|
11
|
+
var $6ckm4$reactariai18n = require("@react-aria/i18n");
|
|
12
|
+
var $6ckm4$reactariavisuallyhidden = require("@react-aria/visually-hidden");
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
function $parcel$interopDefault(a) {
|
|
16
|
+
return a && a.__esModule ? a.default : a;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function $parcel$export(e, n, v, s) {
|
|
20
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
$parcel$export(module.exports, "CalendarBase", () => $6d416018158e3a26$export$bfd52a43017368fe);
|
|
24
|
+
/*
|
|
25
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
26
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
27
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
28
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
29
|
+
*
|
|
30
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
31
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
32
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
33
|
+
* governing permissions and limitations under the License.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
function $6d416018158e3a26$export$bfd52a43017368fe(props) {
|
|
46
|
+
let { state: state, calendarProps: calendarProps, nextButtonProps: nextButtonProps, prevButtonProps: prevButtonProps, errorMessageProps: errorMessageProps, calendarRef: ref, visibleMonths: visibleMonths = 1 } = props;
|
|
47
|
+
let { styleProps: styleProps } = (0, $6ckm4$reactspectrumutils.useStyleProps)(props);
|
|
48
|
+
let stringFormatter = (0, $6ckm4$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($7e7c3b1f5233ce23$exports))), "@react-spectrum/calendar");
|
|
49
|
+
let { direction: direction } = (0, $6ckm4$reactariai18n.useLocale)();
|
|
50
|
+
let currentMonth = state.visibleRange.start;
|
|
51
|
+
let monthDateFormatter = (0, $6ckm4$reactariai18n.useDateFormatter)({
|
|
52
|
+
month: "long",
|
|
53
|
+
year: "numeric",
|
|
54
|
+
era: currentMonth.calendar.identifier === "gregory" && currentMonth.era === "BC" ? "short" : undefined,
|
|
55
|
+
calendar: currentMonth.calendar.identifier,
|
|
56
|
+
timeZone: state.timeZone
|
|
57
|
+
});
|
|
58
|
+
let titles = [];
|
|
59
|
+
let calendars = [];
|
|
60
|
+
for(let i = 0; i < visibleMonths; i++){
|
|
61
|
+
let d = currentMonth.add({
|
|
62
|
+
months: i
|
|
63
|
+
});
|
|
64
|
+
titles.push(/*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("div", {
|
|
65
|
+
key: i,
|
|
66
|
+
className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar-monthHeader")
|
|
67
|
+
}, i === 0 && /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, $6ckm4$reactspectrumbutton.ActionButton), {
|
|
68
|
+
...prevButtonProps,
|
|
69
|
+
UNSAFE_className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar-prevMonth"),
|
|
70
|
+
isQuiet: true
|
|
71
|
+
}, direction === "rtl" ? /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, ($parcel$interopDefault($6ckm4$spectrumiconsuiChevronRightLarge))), null) : /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, ($parcel$interopDefault($6ckm4$spectrumiconsuiChevronLeftLarge))), null)), /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("h2", {
|
|
72
|
+
// We have a visually hidden heading describing the entire visible range,
|
|
73
|
+
// and the calendar itself describes the individual month
|
|
74
|
+
// so we don't need to repeat that here for screen reader users.
|
|
75
|
+
"aria-hidden": true,
|
|
76
|
+
className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar-title")
|
|
77
|
+
}, monthDateFormatter.format(d.toDate(state.timeZone))), i === visibleMonths - 1 && /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, $6ckm4$reactspectrumbutton.ActionButton), {
|
|
78
|
+
...nextButtonProps,
|
|
79
|
+
UNSAFE_className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar-nextMonth"),
|
|
80
|
+
isQuiet: true
|
|
81
|
+
}, direction === "rtl" ? /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, ($parcel$interopDefault($6ckm4$spectrumiconsuiChevronLeftLarge))), null) : /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, ($parcel$interopDefault($6ckm4$spectrumiconsuiChevronRightLarge))), null))));
|
|
82
|
+
calendars.push(/*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, $02c19eea15a72a7b$exports.CalendarMonth), {
|
|
83
|
+
...props,
|
|
84
|
+
key: i,
|
|
85
|
+
state: state,
|
|
86
|
+
startDate: d
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
return /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("div", {
|
|
90
|
+
...styleProps,
|
|
91
|
+
...calendarProps,
|
|
92
|
+
ref: ref,
|
|
93
|
+
className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar", styleProps.className)
|
|
94
|
+
}, /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, $6ckm4$reactariavisuallyhidden.VisuallyHidden), null, /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("h2", null, calendarProps["aria-label"])), /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("div", {
|
|
95
|
+
className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar-header")
|
|
96
|
+
}, titles), /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("div", {
|
|
97
|
+
className: (0, $6ckm4$reactspectrumutils.classNames)((0, ($parcel$interopDefault($915891ae6206caad$exports))), "spectrum-Calendar-months")
|
|
98
|
+
}, calendars), /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, $6ckm4$reactariavisuallyhidden.VisuallyHidden), null, /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement("button", {
|
|
99
|
+
"aria-label": nextButtonProps["aria-label"],
|
|
100
|
+
disabled: nextButtonProps.isDisabled,
|
|
101
|
+
onClick: ()=>state.focusNextPage(),
|
|
102
|
+
tabIndex: -1
|
|
103
|
+
})), state.isValueInvalid && /*#__PURE__*/ (0, ($parcel$interopDefault($6ckm4$react))).createElement((0, $6ckm4$reactspectrumlabel.HelpText), {
|
|
104
|
+
showErrorIcon: true,
|
|
105
|
+
errorMessage: props.errorMessage || stringFormatter.format("invalidSelection", {
|
|
106
|
+
selectedCount: "highlightedRange" in state ? 2 : 1
|
|
107
|
+
}),
|
|
108
|
+
errorMessageProps: errorMessageProps,
|
|
109
|
+
isInvalid: true,
|
|
110
|
+
// Intentionally a global class name so it can be targeted in DatePicker CSS...
|
|
111
|
+
UNSAFE_className: "spectrum-Calendar-helpText"
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=CalendarBase.main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/calendar/src/CalendarBase.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from '@react-spectrum/button';\nimport {AriaButtonProps} from '@react-types/button';\nimport {CalendarMonth} from './CalendarMonth';\nimport {CalendarPropsBase} from '@react-types/calendar';\nimport {CalendarState, RangeCalendarState} from '@react-stately/calendar';\nimport ChevronLeft from '@spectrum-icons/ui/ChevronLeftLarge';\nimport ChevronRight from '@spectrum-icons/ui/ChevronRightLarge';\nimport {classNames, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, StyleProps} from '@react-types/shared';\nimport {HelpText} from '@react-spectrum/label';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {HTMLAttributes, RefObject} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/calendar/vars.css';\nimport {useDateFormatter, useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {VisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface CalendarBaseProps<T extends CalendarState | RangeCalendarState> extends CalendarPropsBase, DOMProps, StyleProps {\n state: T,\n visibleMonths?: number,\n calendarProps: HTMLAttributes<HTMLElement>,\n nextButtonProps: AriaButtonProps,\n prevButtonProps: AriaButtonProps,\n errorMessageProps: HTMLAttributes<HTMLElement>,\n calendarRef: RefObject<HTMLDivElement>\n}\n\nexport function CalendarBase<T extends CalendarState | RangeCalendarState>(props: CalendarBaseProps<T>) {\n let {\n state,\n calendarProps,\n nextButtonProps,\n prevButtonProps,\n errorMessageProps,\n calendarRef: ref,\n visibleMonths = 1\n } = props;\n let {styleProps} = useStyleProps(props);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/calendar');\n let {direction} = useLocale();\n let currentMonth = state.visibleRange.start;\n let monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n era: currentMonth.calendar.identifier === 'gregory' && currentMonth.era === 'BC' ? 'short' : undefined,\n calendar: currentMonth.calendar.identifier,\n timeZone: state.timeZone\n });\n\n let titles = [];\n let calendars = [];\n for (let i = 0; i < visibleMonths; i++) {\n let d = currentMonth.add({months: i});\n titles.push(\n <div key={i} className={classNames(styles, 'spectrum-Calendar-monthHeader')}>\n {i === 0 &&\n <ActionButton\n {...prevButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Calendar-prevMonth')}\n isQuiet>\n {direction === 'rtl' ? <ChevronRight /> : <ChevronLeft />}\n </ActionButton>\n }\n <h2\n // We have a visually hidden heading describing the entire visible range,\n // and the calendar itself describes the individual month\n // so we don't need to repeat that here for screen reader users.\n aria-hidden\n className={classNames(styles, 'spectrum-Calendar-title')}>\n {monthDateFormatter.format(d.toDate(state.timeZone))}\n </h2>\n {i === visibleMonths - 1 &&\n <ActionButton\n {...nextButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Calendar-nextMonth')}\n isQuiet>\n {direction === 'rtl' ? <ChevronLeft /> : <ChevronRight />}\n </ActionButton>\n }\n </div>\n );\n\n calendars.push(\n <CalendarMonth\n {...props}\n key={i}\n state={state}\n startDate={d} />\n );\n }\n\n return (\n <div\n {...styleProps}\n {...calendarProps}\n ref={ref}\n className={\n classNames(styles,\n 'spectrum-Calendar',\n styleProps.className\n )\n }>\n {/* Add a screen reader only description of the entire visible range rather than\n * a separate heading above each month grid. This is placed first in the DOM order\n * so that it is the first thing a touch screen reader user encounters.\n * In addition, VoiceOver on iOS does not announce the aria-label of the grid\n * elements, so the aria-label of the Calendar is included here as well. */}\n <VisuallyHidden>\n <h2>{calendarProps['aria-label']}</h2>\n </VisuallyHidden>\n <div className={classNames(styles, 'spectrum-Calendar-header')}>\n {titles}\n </div>\n <div className={classNames(styles, 'spectrum-Calendar-months')}>\n {calendars}\n </div>\n {/* For touch screen readers, add a visually hidden next button after the month grid\n * so it's easy to navigate after reaching the end without going all the way\n * back to the start of the month. */}\n <VisuallyHidden>\n <button\n aria-label={nextButtonProps['aria-label']}\n disabled={nextButtonProps.isDisabled}\n onClick={() => state.focusNextPage()}\n tabIndex={-1} />\n </VisuallyHidden>\n {state.isValueInvalid &&\n <HelpText\n showErrorIcon\n errorMessage={props.errorMessage || stringFormatter.format('invalidSelection', {selectedCount: 'highlightedRange' in state ? 2 : 1})}\n errorMessageProps={errorMessageProps}\n isInvalid\n // Intentionally a global class name so it can be targeted in DatePicker CSS...\n UNSAFE_className=\"spectrum-Calendar-helpText\" />\n }\n </div>\n );\n}\n"],"names":[],"version":3,"file":"CalendarBase.main.js.map"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {CalendarMonth as $faa2f3867773cfe5$export$26e2752316b9a375} from "./CalendarMonth.mjs";
|
|
2
|
+
import $bF3AV$intlStringsmodulejs from "./intlStrings.mjs";
|
|
3
|
+
import "./vars.3977de0b.css";
|
|
4
|
+
import $bF3AV$calendar_vars_cssmodulejs from "./calendar_vars_css.mjs";
|
|
5
|
+
import {ActionButton as $bF3AV$ActionButton} from "@react-spectrum/button";
|
|
6
|
+
import $bF3AV$spectrumiconsuiChevronLeftLarge from "@spectrum-icons/ui/ChevronLeftLarge";
|
|
7
|
+
import $bF3AV$spectrumiconsuiChevronRightLarge from "@spectrum-icons/ui/ChevronRightLarge";
|
|
8
|
+
import {useStyleProps as $bF3AV$useStyleProps, classNames as $bF3AV$classNames} from "@react-spectrum/utils";
|
|
9
|
+
import {HelpText as $bF3AV$HelpText} from "@react-spectrum/label";
|
|
10
|
+
import $bF3AV$react from "react";
|
|
11
|
+
import {useLocalizedStringFormatter as $bF3AV$useLocalizedStringFormatter, useLocale as $bF3AV$useLocale, useDateFormatter as $bF3AV$useDateFormatter} from "@react-aria/i18n";
|
|
12
|
+
import {VisuallyHidden as $bF3AV$VisuallyHidden} from "@react-aria/visually-hidden";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
function $parcel$interopDefault(a) {
|
|
16
|
+
return a && a.__esModule ? a.default : a;
|
|
17
|
+
}
|
|
18
|
+
/*
|
|
19
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
20
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
21
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
22
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
23
|
+
*
|
|
24
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
25
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
26
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
27
|
+
* governing permissions and limitations under the License.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
function $62cd1e80f0dffb66$export$bfd52a43017368fe(props) {
|
|
40
|
+
let { state: state, calendarProps: calendarProps, nextButtonProps: nextButtonProps, prevButtonProps: prevButtonProps, errorMessageProps: errorMessageProps, calendarRef: ref, visibleMonths: visibleMonths = 1 } = props;
|
|
41
|
+
let { styleProps: styleProps } = (0, $bF3AV$useStyleProps)(props);
|
|
42
|
+
let stringFormatter = (0, $bF3AV$useLocalizedStringFormatter)((0, ($parcel$interopDefault($bF3AV$intlStringsmodulejs))), "@react-spectrum/calendar");
|
|
43
|
+
let { direction: direction } = (0, $bF3AV$useLocale)();
|
|
44
|
+
let currentMonth = state.visibleRange.start;
|
|
45
|
+
let monthDateFormatter = (0, $bF3AV$useDateFormatter)({
|
|
46
|
+
month: "long",
|
|
47
|
+
year: "numeric",
|
|
48
|
+
era: currentMonth.calendar.identifier === "gregory" && currentMonth.era === "BC" ? "short" : undefined,
|
|
49
|
+
calendar: currentMonth.calendar.identifier,
|
|
50
|
+
timeZone: state.timeZone
|
|
51
|
+
});
|
|
52
|
+
let titles = [];
|
|
53
|
+
let calendars = [];
|
|
54
|
+
for(let i = 0; i < visibleMonths; i++){
|
|
55
|
+
let d = currentMonth.add({
|
|
56
|
+
months: i
|
|
57
|
+
});
|
|
58
|
+
titles.push(/*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
59
|
+
key: i,
|
|
60
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-monthHeader")
|
|
61
|
+
}, i === 0 && /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$ActionButton), {
|
|
62
|
+
...prevButtonProps,
|
|
63
|
+
UNSAFE_className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-prevMonth"),
|
|
64
|
+
isQuiet: true
|
|
65
|
+
}, direction === "rtl" ? /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronRightLarge), null) : /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronLeftLarge), null)), /*#__PURE__*/ (0, $bF3AV$react).createElement("h2", {
|
|
66
|
+
// We have a visually hidden heading describing the entire visible range,
|
|
67
|
+
// and the calendar itself describes the individual month
|
|
68
|
+
// so we don't need to repeat that here for screen reader users.
|
|
69
|
+
"aria-hidden": true,
|
|
70
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-title")
|
|
71
|
+
}, monthDateFormatter.format(d.toDate(state.timeZone))), i === visibleMonths - 1 && /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$ActionButton), {
|
|
72
|
+
...nextButtonProps,
|
|
73
|
+
UNSAFE_className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-nextMonth"),
|
|
74
|
+
isQuiet: true
|
|
75
|
+
}, direction === "rtl" ? /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronLeftLarge), null) : /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronRightLarge), null))));
|
|
76
|
+
calendars.push(/*#__PURE__*/ (0, $bF3AV$react).createElement((0, $faa2f3867773cfe5$export$26e2752316b9a375), {
|
|
77
|
+
...props,
|
|
78
|
+
key: i,
|
|
79
|
+
state: state,
|
|
80
|
+
startDate: d
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
return /*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
84
|
+
...styleProps,
|
|
85
|
+
...calendarProps,
|
|
86
|
+
ref: ref,
|
|
87
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar", styleProps.className)
|
|
88
|
+
}, /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$VisuallyHidden), null, /*#__PURE__*/ (0, $bF3AV$react).createElement("h2", null, calendarProps["aria-label"])), /*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
89
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-header")
|
|
90
|
+
}, titles), /*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
91
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-months")
|
|
92
|
+
}, calendars), /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$VisuallyHidden), null, /*#__PURE__*/ (0, $bF3AV$react).createElement("button", {
|
|
93
|
+
"aria-label": nextButtonProps["aria-label"],
|
|
94
|
+
disabled: nextButtonProps.isDisabled,
|
|
95
|
+
onClick: ()=>state.focusNextPage(),
|
|
96
|
+
tabIndex: -1
|
|
97
|
+
})), state.isValueInvalid && /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$HelpText), {
|
|
98
|
+
showErrorIcon: true,
|
|
99
|
+
errorMessage: props.errorMessage || stringFormatter.format("invalidSelection", {
|
|
100
|
+
selectedCount: "highlightedRange" in state ? 2 : 1
|
|
101
|
+
}),
|
|
102
|
+
errorMessageProps: errorMessageProps,
|
|
103
|
+
isInvalid: true,
|
|
104
|
+
// Intentionally a global class name so it can be targeted in DatePicker CSS...
|
|
105
|
+
UNSAFE_className: "spectrum-Calendar-helpText"
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
export {$62cd1e80f0dffb66$export$bfd52a43017368fe as CalendarBase};
|
|
111
|
+
//# sourceMappingURL=CalendarBase.mjs.map
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {CalendarMonth as $faa2f3867773cfe5$export$26e2752316b9a375} from "./CalendarMonth.module.js";
|
|
2
|
+
import $bF3AV$intlStringsmodulejs from "./intlStrings.module.js";
|
|
3
|
+
import "./vars.3977de0b.css";
|
|
4
|
+
import $bF3AV$calendar_vars_cssmodulejs from "./calendar_vars_css.module.js";
|
|
5
|
+
import {ActionButton as $bF3AV$ActionButton} from "@react-spectrum/button";
|
|
6
|
+
import $bF3AV$spectrumiconsuiChevronLeftLarge from "@spectrum-icons/ui/ChevronLeftLarge";
|
|
7
|
+
import $bF3AV$spectrumiconsuiChevronRightLarge from "@spectrum-icons/ui/ChevronRightLarge";
|
|
8
|
+
import {useStyleProps as $bF3AV$useStyleProps, classNames as $bF3AV$classNames} from "@react-spectrum/utils";
|
|
9
|
+
import {HelpText as $bF3AV$HelpText} from "@react-spectrum/label";
|
|
10
|
+
import $bF3AV$react from "react";
|
|
11
|
+
import {useLocalizedStringFormatter as $bF3AV$useLocalizedStringFormatter, useLocale as $bF3AV$useLocale, useDateFormatter as $bF3AV$useDateFormatter} from "@react-aria/i18n";
|
|
12
|
+
import {VisuallyHidden as $bF3AV$VisuallyHidden} from "@react-aria/visually-hidden";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
function $parcel$interopDefault(a) {
|
|
16
|
+
return a && a.__esModule ? a.default : a;
|
|
17
|
+
}
|
|
18
|
+
/*
|
|
19
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
20
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
21
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
22
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
23
|
+
*
|
|
24
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
25
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
26
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
27
|
+
* governing permissions and limitations under the License.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
function $62cd1e80f0dffb66$export$bfd52a43017368fe(props) {
|
|
40
|
+
let { state: state, calendarProps: calendarProps, nextButtonProps: nextButtonProps, prevButtonProps: prevButtonProps, errorMessageProps: errorMessageProps, calendarRef: ref, visibleMonths: visibleMonths = 1 } = props;
|
|
41
|
+
let { styleProps: styleProps } = (0, $bF3AV$useStyleProps)(props);
|
|
42
|
+
let stringFormatter = (0, $bF3AV$useLocalizedStringFormatter)((0, ($parcel$interopDefault($bF3AV$intlStringsmodulejs))), "@react-spectrum/calendar");
|
|
43
|
+
let { direction: direction } = (0, $bF3AV$useLocale)();
|
|
44
|
+
let currentMonth = state.visibleRange.start;
|
|
45
|
+
let monthDateFormatter = (0, $bF3AV$useDateFormatter)({
|
|
46
|
+
month: "long",
|
|
47
|
+
year: "numeric",
|
|
48
|
+
era: currentMonth.calendar.identifier === "gregory" && currentMonth.era === "BC" ? "short" : undefined,
|
|
49
|
+
calendar: currentMonth.calendar.identifier,
|
|
50
|
+
timeZone: state.timeZone
|
|
51
|
+
});
|
|
52
|
+
let titles = [];
|
|
53
|
+
let calendars = [];
|
|
54
|
+
for(let i = 0; i < visibleMonths; i++){
|
|
55
|
+
let d = currentMonth.add({
|
|
56
|
+
months: i
|
|
57
|
+
});
|
|
58
|
+
titles.push(/*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
59
|
+
key: i,
|
|
60
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-monthHeader")
|
|
61
|
+
}, i === 0 && /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$ActionButton), {
|
|
62
|
+
...prevButtonProps,
|
|
63
|
+
UNSAFE_className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-prevMonth"),
|
|
64
|
+
isQuiet: true
|
|
65
|
+
}, direction === "rtl" ? /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronRightLarge), null) : /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronLeftLarge), null)), /*#__PURE__*/ (0, $bF3AV$react).createElement("h2", {
|
|
66
|
+
// We have a visually hidden heading describing the entire visible range,
|
|
67
|
+
// and the calendar itself describes the individual month
|
|
68
|
+
// so we don't need to repeat that here for screen reader users.
|
|
69
|
+
"aria-hidden": true,
|
|
70
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-title")
|
|
71
|
+
}, monthDateFormatter.format(d.toDate(state.timeZone))), i === visibleMonths - 1 && /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$ActionButton), {
|
|
72
|
+
...nextButtonProps,
|
|
73
|
+
UNSAFE_className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-nextMonth"),
|
|
74
|
+
isQuiet: true
|
|
75
|
+
}, direction === "rtl" ? /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronLeftLarge), null) : /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$spectrumiconsuiChevronRightLarge), null))));
|
|
76
|
+
calendars.push(/*#__PURE__*/ (0, $bF3AV$react).createElement((0, $faa2f3867773cfe5$export$26e2752316b9a375), {
|
|
77
|
+
...props,
|
|
78
|
+
key: i,
|
|
79
|
+
state: state,
|
|
80
|
+
startDate: d
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
return /*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
84
|
+
...styleProps,
|
|
85
|
+
...calendarProps,
|
|
86
|
+
ref: ref,
|
|
87
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar", styleProps.className)
|
|
88
|
+
}, /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$VisuallyHidden), null, /*#__PURE__*/ (0, $bF3AV$react).createElement("h2", null, calendarProps["aria-label"])), /*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
89
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-header")
|
|
90
|
+
}, titles), /*#__PURE__*/ (0, $bF3AV$react).createElement("div", {
|
|
91
|
+
className: (0, $bF3AV$classNames)((0, ($parcel$interopDefault($bF3AV$calendar_vars_cssmodulejs))), "spectrum-Calendar-months")
|
|
92
|
+
}, calendars), /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$VisuallyHidden), null, /*#__PURE__*/ (0, $bF3AV$react).createElement("button", {
|
|
93
|
+
"aria-label": nextButtonProps["aria-label"],
|
|
94
|
+
disabled: nextButtonProps.isDisabled,
|
|
95
|
+
onClick: ()=>state.focusNextPage(),
|
|
96
|
+
tabIndex: -1
|
|
97
|
+
})), state.isValueInvalid && /*#__PURE__*/ (0, $bF3AV$react).createElement((0, $bF3AV$HelpText), {
|
|
98
|
+
showErrorIcon: true,
|
|
99
|
+
errorMessage: props.errorMessage || stringFormatter.format("invalidSelection", {
|
|
100
|
+
selectedCount: "highlightedRange" in state ? 2 : 1
|
|
101
|
+
}),
|
|
102
|
+
errorMessageProps: errorMessageProps,
|
|
103
|
+
isInvalid: true,
|
|
104
|
+
// Intentionally a global class name so it can be targeted in DatePicker CSS...
|
|
105
|
+
UNSAFE_className: "spectrum-Calendar-helpText"
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
export {$62cd1e80f0dffb66$export$bfd52a43017368fe as CalendarBase};
|
|
111
|
+
//# sourceMappingURL=CalendarBase.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/calendar/src/CalendarBase.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from '@react-spectrum/button';\nimport {AriaButtonProps} from '@react-types/button';\nimport {CalendarMonth} from './CalendarMonth';\nimport {CalendarPropsBase} from '@react-types/calendar';\nimport {CalendarState, RangeCalendarState} from '@react-stately/calendar';\nimport ChevronLeft from '@spectrum-icons/ui/ChevronLeftLarge';\nimport ChevronRight from '@spectrum-icons/ui/ChevronRightLarge';\nimport {classNames, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, StyleProps} from '@react-types/shared';\nimport {HelpText} from '@react-spectrum/label';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {HTMLAttributes, RefObject} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/calendar/vars.css';\nimport {useDateFormatter, useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {VisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface CalendarBaseProps<T extends CalendarState | RangeCalendarState> extends CalendarPropsBase, DOMProps, StyleProps {\n state: T,\n visibleMonths?: number,\n calendarProps: HTMLAttributes<HTMLElement>,\n nextButtonProps: AriaButtonProps,\n prevButtonProps: AriaButtonProps,\n errorMessageProps: HTMLAttributes<HTMLElement>,\n calendarRef: RefObject<HTMLDivElement>\n}\n\nexport function CalendarBase<T extends CalendarState | RangeCalendarState>(props: CalendarBaseProps<T>) {\n let {\n state,\n calendarProps,\n nextButtonProps,\n prevButtonProps,\n errorMessageProps,\n calendarRef: ref,\n visibleMonths = 1\n } = props;\n let {styleProps} = useStyleProps(props);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/calendar');\n let {direction} = useLocale();\n let currentMonth = state.visibleRange.start;\n let monthDateFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n era: currentMonth.calendar.identifier === 'gregory' && currentMonth.era === 'BC' ? 'short' : undefined,\n calendar: currentMonth.calendar.identifier,\n timeZone: state.timeZone\n });\n\n let titles = [];\n let calendars = [];\n for (let i = 0; i < visibleMonths; i++) {\n let d = currentMonth.add({months: i});\n titles.push(\n <div key={i} className={classNames(styles, 'spectrum-Calendar-monthHeader')}>\n {i === 0 &&\n <ActionButton\n {...prevButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Calendar-prevMonth')}\n isQuiet>\n {direction === 'rtl' ? <ChevronRight /> : <ChevronLeft />}\n </ActionButton>\n }\n <h2\n // We have a visually hidden heading describing the entire visible range,\n // and the calendar itself describes the individual month\n // so we don't need to repeat that here for screen reader users.\n aria-hidden\n className={classNames(styles, 'spectrum-Calendar-title')}>\n {monthDateFormatter.format(d.toDate(state.timeZone))}\n </h2>\n {i === visibleMonths - 1 &&\n <ActionButton\n {...nextButtonProps}\n UNSAFE_className={classNames(styles, 'spectrum-Calendar-nextMonth')}\n isQuiet>\n {direction === 'rtl' ? <ChevronLeft /> : <ChevronRight />}\n </ActionButton>\n }\n </div>\n );\n\n calendars.push(\n <CalendarMonth\n {...props}\n key={i}\n state={state}\n startDate={d} />\n );\n }\n\n return (\n <div\n {...styleProps}\n {...calendarProps}\n ref={ref}\n className={\n classNames(styles,\n 'spectrum-Calendar',\n styleProps.className\n )\n }>\n {/* Add a screen reader only description of the entire visible range rather than\n * a separate heading above each month grid. This is placed first in the DOM order\n * so that it is the first thing a touch screen reader user encounters.\n * In addition, VoiceOver on iOS does not announce the aria-label of the grid\n * elements, so the aria-label of the Calendar is included here as well. */}\n <VisuallyHidden>\n <h2>{calendarProps['aria-label']}</h2>\n </VisuallyHidden>\n <div className={classNames(styles, 'spectrum-Calendar-header')}>\n {titles}\n </div>\n <div className={classNames(styles, 'spectrum-Calendar-months')}>\n {calendars}\n </div>\n {/* For touch screen readers, add a visually hidden next button after the month grid\n * so it's easy to navigate after reaching the end without going all the way\n * back to the start of the month. */}\n <VisuallyHidden>\n <button\n aria-label={nextButtonProps['aria-label']}\n disabled={nextButtonProps.isDisabled}\n onClick={() => state.focusNextPage()}\n tabIndex={-1} />\n </VisuallyHidden>\n {state.isValueInvalid &&\n <HelpText\n showErrorIcon\n errorMessage={props.errorMessage || stringFormatter.format('invalidSelection', {selectedCount: 'highlightedRange' in state ? 2 : 1})}\n errorMessageProps={errorMessageProps}\n isInvalid\n // Intentionally a global class name so it can be targeted in DatePicker CSS...\n UNSAFE_className=\"spectrum-Calendar-helpText\" />\n }\n </div>\n );\n}\n"],"names":[],"version":3,"file":"CalendarBase.module.js.map"}
|