@react-stately/calendar 3.0.0-nightly.1379 → 3.0.0-nightly.1394

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/main.js CHANGED
@@ -84,7 +84,7 @@ function $6c0a8c647037ad43$export$6d095e787d2b5e1f(props) {
84
84
  , [
85
85
  defaultFormatter
86
86
  ]);
87
- let { locale: locale , createCalendar: createCalendar , timeZone: timeZone = resolvedOptions.timeZone , visibleDuration: visibleDuration = {
87
+ let { locale: locale , createCalendar: createCalendar , visibleDuration: visibleDuration = {
88
88
  months: 1
89
89
  } , minValue: minValue , maxValue: maxValue , selectionAlignment: selectionAlignment } = props;
90
90
  let calendar = $iUi8f$react.useMemo(()=>createCalendar(resolvedOptions.calendar)
@@ -98,6 +98,11 @@ function $6c0a8c647037ad43$export$6d095e787d2b5e1f(props) {
98
98
  value,
99
99
  calendar
100
100
  ]);
101
+ let timeZone = $iUi8f$react.useMemo(()=>value && 'timeZone' in value ? value.timeZone : resolvedOptions.timeZone
102
+ , [
103
+ value,
104
+ resolvedOptions.timeZone
105
+ ]);
101
106
  let defaultDate = $iUi8f$react.useMemo(()=>calendarDateValue || $da856c074c1b8d5f$export$4f5203c0d889109e($iUi8f$internationalizeddate.toCalendar($iUi8f$internationalizeddate.today(timeZone), calendar), minValue, maxValue)
102
107
  , [
103
108
  calendarDateValue,
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-stately/calendar/src/index.ts","packages/@react-stately/calendar/src/types.ts","packages/@react-stately/calendar/src/useCalendarState.ts","packages/@react-stately/calendar/src/utils.ts","packages/@react-stately/calendar/src/useRangeCalendarState.ts"],"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\nexport * from './types';\nexport * from './useCalendarState';\nexport * from './useRangeCalendarState';\n","/*\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 {CalendarDate} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\nimport {RangeValue} from '@react-types/shared';\n\nexport interface CalendarStateBase {\n isDisabled: boolean,\n isReadOnly: boolean,\n visibleRange: RangeValue<CalendarDate>,\n timeZone: string,\n focusedDate: CalendarDate,\n setFocusedDate(value: CalendarDate): void,\n focusNextDay(): void,\n focusPreviousDay(): void,\n focusNextRow(): void,\n focusPreviousRow(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n focusPageStart(): void,\n focusPageEnd(): void,\n focusNextSection(): void,\n focusPreviousSection(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n selectFocusedDate(): void,\n selectDate(date: CalendarDate): void,\n isFocused: boolean,\n setFocused(value: boolean): void,\n isInvalid(date: CalendarDate): boolean,\n isSelected(date: CalendarDate): boolean,\n isCellFocused(date: CalendarDate): boolean,\n isCellDisabled(date: CalendarDate): boolean,\n isPreviousVisibleRangeInvalid(): boolean,\n isNextVisibleRangeInvalid(): boolean\n}\n\nexport interface CalendarState extends CalendarStateBase {\n value: CalendarDate,\n setValue(value: CalendarDate): void\n}\n\nexport interface RangeCalendarState extends CalendarStateBase {\n value: RangeValue<DateValue>,\n setValue(value: RangeValue<DateValue>): void,\n highlightDate(date: CalendarDate): void,\n anchorDate: CalendarDate | null,\n setAnchorDate(date: CalendarDate | null): void,\n highlightedRange: RangeValue<CalendarDate>,\n isDragging: boolean,\n setDragging(isDragging: boolean): void\n}\n","/*\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 {alignCenter, alignEnd, alignStart, constrainStart, constrainValue, isInvalid} from './utils';\nimport {\n Calendar,\n CalendarDate,\n Duration,\n GregorianCalendar,\n isSameDay,\n toCalendar,\n toCalendarDate,\n today\n} from '@internationalized/date';\nimport {CalendarProps, DateValue} from '@react-types/calendar';\nimport {CalendarState} from './types';\nimport {useControlledState} from '@react-stately/utils';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useEffect, useMemo, useRef, useState} from 'react';\n\ninterface CalendarStateOptions<T extends DateValue> extends CalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration,\n selectionAlignment?: 'start' | 'center' | 'end'\n}\n\nexport function useCalendarState<T extends DateValue>(props: CalendarStateOptions<T>): CalendarState {\n let defaultFormatter = useDateFormatter();\n let resolvedOptions = useMemo(() => defaultFormatter.resolvedOptions(), [defaultFormatter]);\n let {\n locale,\n createCalendar,\n timeZone = resolvedOptions.timeZone,\n visibleDuration = {months: 1},\n minValue,\n maxValue,\n selectionAlignment\n } = props;\n\n let calendar = useMemo(() => createCalendar(resolvedOptions.calendar), [createCalendar, resolvedOptions.calendar]);\n\n let [value, setControlledValue] = useControlledState<DateValue>(props.value, props.defaultValue, props.onChange);\n let calendarDateValue = useMemo(() => value ? toCalendar(toCalendarDate(value), calendar) : null, [value, calendar]);\n let defaultDate = useMemo(() => calendarDateValue || constrainValue(toCalendar(today(timeZone), calendar), minValue, maxValue), [calendarDateValue, timeZone, calendar, minValue, maxValue]);\n let [startDate, setStartDate] = useState(() => {\n switch (selectionAlignment) {\n case 'start':\n return alignStart(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'end':\n return alignEnd(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'center':\n default:\n return alignCenter(defaultDate, visibleDuration, locale, minValue, maxValue);\n }\n });\n let [focusedDate, setFocusedDate] = useState(defaultDate);\n let [isFocused, setFocused] = useState(props.autoFocus || false);\n\n let endDate = useMemo(() => startDate.add(visibleDuration).subtract({days: 1}), [startDate, visibleDuration]);\n\n // Reset focused date and visible range when calendar changes.\n let lastCalendarIdentifier = useRef(calendar.identifier);\n useEffect(() => {\n if (calendar.identifier !== lastCalendarIdentifier.current) {\n let newFocusedDate = toCalendar(focusedDate, calendar);\n setStartDate(alignCenter(newFocusedDate, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(newFocusedDate);\n lastCalendarIdentifier.current = calendar.identifier;\n }\n }, [calendar, focusedDate, visibleDuration, locale, minValue, maxValue]);\n\n // Sets focus to a specific cell date\n function focusCell(date: CalendarDate) {\n // date = constrain(focusedDate, date, visibleDuration, locale, minValue, maxValue);\n date = constrainValue(date, minValue, maxValue);\n\n let next = startDate.add(visibleDuration);\n if (date.compare(startDate) < 0) {\n setStartDate(alignEnd(date, visibleDuration, locale, minValue, maxValue));\n } else if (date.compare(next) >= 0) {\n setStartDate(alignStart(date, visibleDuration, locale, minValue, maxValue));\n }\n\n setFocusedDate(date);\n }\n\n function setValue(newValue: CalendarDate) {\n if (!props.isDisabled && !props.isReadOnly) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, value?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (value && 'hour' in value) {\n setControlledValue(value.set(newValue));\n } else {\n setControlledValue(newValue);\n }\n }\n }\n\n return {\n isDisabled: props.isDisabled,\n isReadOnly: props.isReadOnly,\n value: calendarDateValue,\n setValue,\n visibleRange: {\n start: startDate,\n end: endDate\n },\n focusedDate,\n timeZone,\n setFocusedDate(date) {\n setFocusedDate(date);\n setFocused(true);\n },\n focusNextDay() {\n focusCell(focusedDate.add({days: 1}));\n },\n focusPreviousDay() {\n focusCell(focusedDate.subtract({days: 1}));\n },\n focusNextRow() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({weeks: 1}));\n }\n },\n focusPreviousRow() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({weeks: 1}));\n }\n },\n focusNextPage() {\n let start = startDate.add(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.add(visibleDuration), minValue, maxValue));\n },\n focusPreviousPage() {\n let start = startDate.subtract(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.subtract(visibleDuration), minValue, maxValue));\n },\n focusPageStart() {\n focusCell(startDate);\n },\n focusPageEnd() {\n focusCell(endDate);\n },\n focusNextSection() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.add({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({years: 1}));\n }\n },\n focusPreviousSection() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.subtract({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({years: 1}));\n }\n },\n selectFocusedDate() {\n setValue(focusedDate);\n },\n selectDate(date) {\n setValue(date);\n },\n isFocused,\n setFocused,\n isInvalid(date) {\n return isInvalid(date, minValue, maxValue);\n },\n isSelected(date) {\n return calendarDateValue != null && isSameDay(date, calendarDateValue);\n },\n isCellFocused(date) {\n return isFocused && focusedDate && isSameDay(date, focusedDate);\n },\n isCellDisabled(date) {\n return props.isDisabled || date.compare(startDate) < 0 || date.compare(endDate) > 0 || isInvalid(date, minValue, maxValue);\n },\n isPreviousVisibleRangeInvalid() {\n return isInvalid(startDate.subtract({days: 1}), minValue, maxValue);\n },\n isNextVisibleRangeInvalid() {\n return isInvalid(endDate.add({days: 1}), minValue, maxValue);\n }\n };\n}\n","/*\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 */\nimport {\n CalendarDate,\n Duration,\n maxDate,\n minDate,\n startOfMonth,\n startOfWeek,\n startOfYear,\n toCalendarDate\n} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\n\nexport function isInvalid(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n return (minValue != null && date.compare(minValue) < 0) ||\n (maxValue != null && date.compare(maxValue) > 0);\n}\n\nexport function alignCenter(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let halfDuration: Duration = {};\n for (let key in duration) {\n halfDuration[key] = Math.floor(duration[key] / 2);\n if (halfDuration[key] > 0 && duration[key] % 2 === 0) {\n halfDuration[key]--;\n }\n }\n\n let aligned = alignStart(date, duration, locale).subtract(halfDuration);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignStart(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n // align to the start of the largest unit\n let aligned = date;\n if (duration.years) {\n aligned = startOfYear(date);\n } else if (duration.months) {\n aligned = startOfMonth(date);\n } else if (duration.weeks) {\n aligned = startOfWeek(date, locale);\n }\n\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignEnd(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let d = {...duration};\n // subtract 1 from the smallest unit\n if (duration.days) {\n d.days--;\n } else if (duration.weeks) {\n d.weeks--;\n } else if (duration.months) {\n d.months--;\n } else if (duration.years) {\n d.years--;\n }\n\n let aligned = alignStart(date, duration, locale).subtract(d);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function constrainStart(\n date: CalendarDate,\n aligned: CalendarDate,\n duration: Duration,\n locale: string,\n minValue: DateValue,\n maxValue: DateValue) {\n if (minValue && date.compare(minValue) >= 0) {\n aligned = maxDate(\n aligned,\n alignStart(toCalendarDate(minValue), duration, locale)\n );\n }\n\n if (maxValue && date.compare(maxValue) <= 0) {\n aligned = minDate(\n aligned,\n alignEnd(toCalendarDate(maxValue), duration, locale)\n );\n }\n\n return aligned;\n}\n\nexport function constrainValue(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n if (minValue) {\n date = maxDate(date, toCalendarDate(minValue));\n }\n\n if (maxValue) {\n date = minDate(date, toCalendarDate(maxValue));\n }\n\n return date;\n}\n","/*\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 {alignCenter} from './utils';\nimport {Calendar, CalendarDate, Duration, GregorianCalendar, toCalendar, toCalendarDate} from '@internationalized/date';\nimport {DateRange, DateValue} from '@react-types/calendar';\nimport {RangeCalendarProps} from '@react-types/calendar';\nimport {RangeCalendarState} from './types';\nimport {RangeValue} from '@react-types/shared';\nimport {useCalendarState} from './useCalendarState';\nimport {useControlledState} from '@react-stately/utils';\nimport {useState} from 'react';\n\ninterface RangeCalendarStateOptions<T extends DateValue> extends RangeCalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration\n}\n\nexport function useRangeCalendarState<T extends DateValue>(props: RangeCalendarStateOptions<T>): RangeCalendarState {\n let {value: valueProp, defaultValue, onChange, createCalendar, locale, visibleDuration = {months: 1}, minValue, maxValue, ...calendarProps} = props;\n let [value, setValue] = useControlledState<DateRange>(\n valueProp,\n defaultValue,\n onChange\n );\n\n let [anchorDate, setAnchorDate] = useState(null);\n let alignment: 'center' | 'start' = 'center';\n if (value && value.start && value.end) {\n let start = alignCenter(toCalendarDate(value.start), visibleDuration, locale, minValue, maxValue);\n let end = start.add(visibleDuration).subtract({days: 1});\n\n if (value.end.compare(end) > 0) {\n alignment = 'start';\n }\n }\n\n let calendar = useCalendarState({\n ...calendarProps,\n value: value && value.start,\n createCalendar,\n locale,\n visibleDuration,\n minValue,\n maxValue,\n selectionAlignment: alignment\n });\n\n let highlightedRange = anchorDate ? makeRange(anchorDate, calendar.focusedDate) : value && makeRange(value.start, value.end);\n let selectDate = (date: CalendarDate) => {\n if (props.isReadOnly) {\n return;\n }\n\n if (!anchorDate) {\n setAnchorDate(date);\n } else {\n let range = makeRange(anchorDate, date);\n setValue({\n start: convertValue(range.start, value?.start),\n end: convertValue(range.end, value?.end)\n });\n setAnchorDate(null);\n }\n };\n\n let [isDragging, setDragging] = useState(false);\n\n return {\n ...calendar,\n value,\n setValue,\n anchorDate,\n setAnchorDate,\n highlightedRange,\n selectFocusedDate() {\n selectDate(calendar.focusedDate);\n },\n selectDate,\n highlightDate(date) {\n if (anchorDate) {\n calendar.setFocusedDate(date);\n }\n },\n isSelected(date) {\n return highlightedRange && date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n },\n isDragging,\n setDragging\n };\n}\n\nfunction makeRange(start: DateValue, end: DateValue): RangeValue<CalendarDate> {\n if (!start || !end) {\n return null;\n }\n\n if (end.compare(start) < 0) {\n [start, end] = [end, start];\n }\n\n return {start: toCalendarDate(start), end: toCalendarDate(end)};\n}\n\nfunction convertValue(newValue: CalendarDate, oldValue: DateValue) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, oldValue?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (oldValue && 'hour' in oldValue) {\n return oldValue.set(newValue);\n }\n\n return newValue;\n}\n"],"names":[],"version":3,"file":"main.js.map"}
1
+ {"mappings":"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","sources":["packages/@react-stately/calendar/src/index.ts","packages/@react-stately/calendar/src/types.ts","packages/@react-stately/calendar/src/useCalendarState.ts","packages/@react-stately/calendar/src/utils.ts","packages/@react-stately/calendar/src/useRangeCalendarState.ts"],"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\nexport * from './types';\nexport * from './useCalendarState';\nexport * from './useRangeCalendarState';\n","/*\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 {CalendarDate} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\nimport {RangeValue} from '@react-types/shared';\n\nexport interface CalendarStateBase {\n isDisabled: boolean,\n isReadOnly: boolean,\n visibleRange: RangeValue<CalendarDate>,\n timeZone: string,\n focusedDate: CalendarDate,\n setFocusedDate(value: CalendarDate): void,\n focusNextDay(): void,\n focusPreviousDay(): void,\n focusNextRow(): void,\n focusPreviousRow(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n focusPageStart(): void,\n focusPageEnd(): void,\n focusNextSection(): void,\n focusPreviousSection(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n selectFocusedDate(): void,\n selectDate(date: CalendarDate): void,\n isFocused: boolean,\n setFocused(value: boolean): void,\n isInvalid(date: CalendarDate): boolean,\n isSelected(date: CalendarDate): boolean,\n isCellFocused(date: CalendarDate): boolean,\n isCellDisabled(date: CalendarDate): boolean,\n isPreviousVisibleRangeInvalid(): boolean,\n isNextVisibleRangeInvalid(): boolean\n}\n\nexport interface CalendarState extends CalendarStateBase {\n value: CalendarDate,\n setValue(value: CalendarDate): void\n}\n\nexport interface RangeCalendarState extends CalendarStateBase {\n value: RangeValue<DateValue>,\n setValue(value: RangeValue<DateValue>): void,\n highlightDate(date: CalendarDate): void,\n anchorDate: CalendarDate | null,\n setAnchorDate(date: CalendarDate | null): void,\n highlightedRange: RangeValue<CalendarDate>,\n isDragging: boolean,\n setDragging(isDragging: boolean): void\n}\n","/*\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 {alignCenter, alignEnd, alignStart, constrainStart, constrainValue, isInvalid} from './utils';\nimport {\n Calendar,\n CalendarDate,\n Duration,\n GregorianCalendar,\n isSameDay,\n toCalendar,\n toCalendarDate,\n today\n} from '@internationalized/date';\nimport {CalendarProps, DateValue} from '@react-types/calendar';\nimport {CalendarState} from './types';\nimport {useControlledState} from '@react-stately/utils';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useEffect, useMemo, useRef, useState} from 'react';\n\ninterface CalendarStateOptions<T extends DateValue> extends CalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration,\n selectionAlignment?: 'start' | 'center' | 'end'\n}\n\nexport function useCalendarState<T extends DateValue>(props: CalendarStateOptions<T>): CalendarState {\n let defaultFormatter = useDateFormatter();\n let resolvedOptions = useMemo(() => defaultFormatter.resolvedOptions(), [defaultFormatter]);\n let {\n locale,\n createCalendar,\n visibleDuration = {months: 1},\n minValue,\n maxValue,\n selectionAlignment\n } = props;\n\n let calendar = useMemo(() => createCalendar(resolvedOptions.calendar), [createCalendar, resolvedOptions.calendar]);\n\n let [value, setControlledValue] = useControlledState<DateValue>(props.value, props.defaultValue, props.onChange);\n let calendarDateValue = useMemo(() => value ? toCalendar(toCalendarDate(value), calendar) : null, [value, calendar]);\n let timeZone = useMemo(() => value && 'timeZone' in value ? value.timeZone : resolvedOptions.timeZone, [value, resolvedOptions.timeZone]);\n let defaultDate = useMemo(() => calendarDateValue || constrainValue(toCalendar(today(timeZone), calendar), minValue, maxValue), [calendarDateValue, timeZone, calendar, minValue, maxValue]);\n let [startDate, setStartDate] = useState(() => {\n switch (selectionAlignment) {\n case 'start':\n return alignStart(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'end':\n return alignEnd(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'center':\n default:\n return alignCenter(defaultDate, visibleDuration, locale, minValue, maxValue);\n }\n });\n let [focusedDate, setFocusedDate] = useState(defaultDate);\n let [isFocused, setFocused] = useState(props.autoFocus || false);\n\n let endDate = useMemo(() => startDate.add(visibleDuration).subtract({days: 1}), [startDate, visibleDuration]);\n\n // Reset focused date and visible range when calendar changes.\n let lastCalendarIdentifier = useRef(calendar.identifier);\n useEffect(() => {\n if (calendar.identifier !== lastCalendarIdentifier.current) {\n let newFocusedDate = toCalendar(focusedDate, calendar);\n setStartDate(alignCenter(newFocusedDate, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(newFocusedDate);\n lastCalendarIdentifier.current = calendar.identifier;\n }\n }, [calendar, focusedDate, visibleDuration, locale, minValue, maxValue]);\n\n // Sets focus to a specific cell date\n function focusCell(date: CalendarDate) {\n // date = constrain(focusedDate, date, visibleDuration, locale, minValue, maxValue);\n date = constrainValue(date, minValue, maxValue);\n\n let next = startDate.add(visibleDuration);\n if (date.compare(startDate) < 0) {\n setStartDate(alignEnd(date, visibleDuration, locale, minValue, maxValue));\n } else if (date.compare(next) >= 0) {\n setStartDate(alignStart(date, visibleDuration, locale, minValue, maxValue));\n }\n\n setFocusedDate(date);\n }\n\n function setValue(newValue: CalendarDate) {\n if (!props.isDisabled && !props.isReadOnly) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, value?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (value && 'hour' in value) {\n setControlledValue(value.set(newValue));\n } else {\n setControlledValue(newValue);\n }\n }\n }\n\n return {\n isDisabled: props.isDisabled,\n isReadOnly: props.isReadOnly,\n value: calendarDateValue,\n setValue,\n visibleRange: {\n start: startDate,\n end: endDate\n },\n focusedDate,\n timeZone,\n setFocusedDate(date) {\n setFocusedDate(date);\n setFocused(true);\n },\n focusNextDay() {\n focusCell(focusedDate.add({days: 1}));\n },\n focusPreviousDay() {\n focusCell(focusedDate.subtract({days: 1}));\n },\n focusNextRow() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({weeks: 1}));\n }\n },\n focusPreviousRow() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({weeks: 1}));\n }\n },\n focusNextPage() {\n let start = startDate.add(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.add(visibleDuration), minValue, maxValue));\n },\n focusPreviousPage() {\n let start = startDate.subtract(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.subtract(visibleDuration), minValue, maxValue));\n },\n focusPageStart() {\n focusCell(startDate);\n },\n focusPageEnd() {\n focusCell(endDate);\n },\n focusNextSection() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.add({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({years: 1}));\n }\n },\n focusPreviousSection() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.subtract({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({years: 1}));\n }\n },\n selectFocusedDate() {\n setValue(focusedDate);\n },\n selectDate(date) {\n setValue(date);\n },\n isFocused,\n setFocused,\n isInvalid(date) {\n return isInvalid(date, minValue, maxValue);\n },\n isSelected(date) {\n return calendarDateValue != null && isSameDay(date, calendarDateValue);\n },\n isCellFocused(date) {\n return isFocused && focusedDate && isSameDay(date, focusedDate);\n },\n isCellDisabled(date) {\n return props.isDisabled || date.compare(startDate) < 0 || date.compare(endDate) > 0 || isInvalid(date, minValue, maxValue);\n },\n isPreviousVisibleRangeInvalid() {\n return isInvalid(startDate.subtract({days: 1}), minValue, maxValue);\n },\n isNextVisibleRangeInvalid() {\n return isInvalid(endDate.add({days: 1}), minValue, maxValue);\n }\n };\n}\n","/*\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 */\nimport {\n CalendarDate,\n Duration,\n maxDate,\n minDate,\n startOfMonth,\n startOfWeek,\n startOfYear,\n toCalendarDate\n} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\n\nexport function isInvalid(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n return (minValue != null && date.compare(minValue) < 0) ||\n (maxValue != null && date.compare(maxValue) > 0);\n}\n\nexport function alignCenter(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let halfDuration: Duration = {};\n for (let key in duration) {\n halfDuration[key] = Math.floor(duration[key] / 2);\n if (halfDuration[key] > 0 && duration[key] % 2 === 0) {\n halfDuration[key]--;\n }\n }\n\n let aligned = alignStart(date, duration, locale).subtract(halfDuration);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignStart(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n // align to the start of the largest unit\n let aligned = date;\n if (duration.years) {\n aligned = startOfYear(date);\n } else if (duration.months) {\n aligned = startOfMonth(date);\n } else if (duration.weeks) {\n aligned = startOfWeek(date, locale);\n }\n\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignEnd(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let d = {...duration};\n // subtract 1 from the smallest unit\n if (duration.days) {\n d.days--;\n } else if (duration.weeks) {\n d.weeks--;\n } else if (duration.months) {\n d.months--;\n } else if (duration.years) {\n d.years--;\n }\n\n let aligned = alignStart(date, duration, locale).subtract(d);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function constrainStart(\n date: CalendarDate,\n aligned: CalendarDate,\n duration: Duration,\n locale: string,\n minValue: DateValue,\n maxValue: DateValue) {\n if (minValue && date.compare(minValue) >= 0) {\n aligned = maxDate(\n aligned,\n alignStart(toCalendarDate(minValue), duration, locale)\n );\n }\n\n if (maxValue && date.compare(maxValue) <= 0) {\n aligned = minDate(\n aligned,\n alignEnd(toCalendarDate(maxValue), duration, locale)\n );\n }\n\n return aligned;\n}\n\nexport function constrainValue(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n if (minValue) {\n date = maxDate(date, toCalendarDate(minValue));\n }\n\n if (maxValue) {\n date = minDate(date, toCalendarDate(maxValue));\n }\n\n return date;\n}\n","/*\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 {alignCenter} from './utils';\nimport {Calendar, CalendarDate, Duration, GregorianCalendar, toCalendar, toCalendarDate} from '@internationalized/date';\nimport {DateRange, DateValue} from '@react-types/calendar';\nimport {RangeCalendarProps} from '@react-types/calendar';\nimport {RangeCalendarState} from './types';\nimport {RangeValue} from '@react-types/shared';\nimport {useCalendarState} from './useCalendarState';\nimport {useControlledState} from '@react-stately/utils';\nimport {useState} from 'react';\n\ninterface RangeCalendarStateOptions<T extends DateValue> extends RangeCalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration\n}\n\nexport function useRangeCalendarState<T extends DateValue>(props: RangeCalendarStateOptions<T>): RangeCalendarState {\n let {value: valueProp, defaultValue, onChange, createCalendar, locale, visibleDuration = {months: 1}, minValue, maxValue, ...calendarProps} = props;\n let [value, setValue] = useControlledState<DateRange>(\n valueProp,\n defaultValue,\n onChange\n );\n\n let [anchorDate, setAnchorDate] = useState(null);\n let alignment: 'center' | 'start' = 'center';\n if (value && value.start && value.end) {\n let start = alignCenter(toCalendarDate(value.start), visibleDuration, locale, minValue, maxValue);\n let end = start.add(visibleDuration).subtract({days: 1});\n\n if (value.end.compare(end) > 0) {\n alignment = 'start';\n }\n }\n\n let calendar = useCalendarState({\n ...calendarProps,\n value: value && value.start,\n createCalendar,\n locale,\n visibleDuration,\n minValue,\n maxValue,\n selectionAlignment: alignment\n });\n\n let highlightedRange = anchorDate ? makeRange(anchorDate, calendar.focusedDate) : value && makeRange(value.start, value.end);\n let selectDate = (date: CalendarDate) => {\n if (props.isReadOnly) {\n return;\n }\n\n if (!anchorDate) {\n setAnchorDate(date);\n } else {\n let range = makeRange(anchorDate, date);\n setValue({\n start: convertValue(range.start, value?.start),\n end: convertValue(range.end, value?.end)\n });\n setAnchorDate(null);\n }\n };\n\n let [isDragging, setDragging] = useState(false);\n\n return {\n ...calendar,\n value,\n setValue,\n anchorDate,\n setAnchorDate,\n highlightedRange,\n selectFocusedDate() {\n selectDate(calendar.focusedDate);\n },\n selectDate,\n highlightDate(date) {\n if (anchorDate) {\n calendar.setFocusedDate(date);\n }\n },\n isSelected(date) {\n return highlightedRange && date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n },\n isDragging,\n setDragging\n };\n}\n\nfunction makeRange(start: DateValue, end: DateValue): RangeValue<CalendarDate> {\n if (!start || !end) {\n return null;\n }\n\n if (end.compare(start) < 0) {\n [start, end] = [end, start];\n }\n\n return {start: toCalendarDate(start), end: toCalendarDate(end)};\n}\n\nfunction convertValue(newValue: CalendarDate, oldValue: DateValue) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, oldValue?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (oldValue && 'hour' in oldValue) {\n return oldValue.set(newValue);\n }\n\n return newValue;\n}\n"],"names":[],"version":3,"file":"main.js.map"}
package/dist/module.js CHANGED
@@ -68,7 +68,7 @@ function $071794a38ae0e339$export$6d095e787d2b5e1f(props) {
68
68
  , [
69
69
  defaultFormatter
70
70
  ]);
71
- let { locale: locale , createCalendar: createCalendar , timeZone: timeZone = resolvedOptions.timeZone , visibleDuration: visibleDuration = {
71
+ let { locale: locale , createCalendar: createCalendar , visibleDuration: visibleDuration = {
72
72
  months: 1
73
73
  } , minValue: minValue , maxValue: maxValue , selectionAlignment: selectionAlignment } = props;
74
74
  let calendar = $7F3MR$useMemo(()=>createCalendar(resolvedOptions.calendar)
@@ -82,6 +82,11 @@ function $071794a38ae0e339$export$6d095e787d2b5e1f(props) {
82
82
  value,
83
83
  calendar
84
84
  ]);
85
+ let timeZone = $7F3MR$useMemo(()=>value && 'timeZone' in value ? value.timeZone : resolvedOptions.timeZone
86
+ , [
87
+ value,
88
+ resolvedOptions.timeZone
89
+ ]);
85
90
  let defaultDate = $7F3MR$useMemo(()=>calendarDateValue || $5415b3b7a99138bd$export$4f5203c0d889109e($7F3MR$toCalendar($7F3MR$today(timeZone), calendar), minValue, maxValue)
86
91
  , [
87
92
  calendarDateValue,
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-stately/calendar/src/index.ts","packages/@react-stately/calendar/src/types.ts","packages/@react-stately/calendar/src/useCalendarState.ts","packages/@react-stately/calendar/src/utils.ts","packages/@react-stately/calendar/src/useRangeCalendarState.ts"],"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\nexport * from './types';\nexport * from './useCalendarState';\nexport * from './useRangeCalendarState';\n","/*\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 {CalendarDate} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\nimport {RangeValue} from '@react-types/shared';\n\nexport interface CalendarStateBase {\n isDisabled: boolean,\n isReadOnly: boolean,\n visibleRange: RangeValue<CalendarDate>,\n timeZone: string,\n focusedDate: CalendarDate,\n setFocusedDate(value: CalendarDate): void,\n focusNextDay(): void,\n focusPreviousDay(): void,\n focusNextRow(): void,\n focusPreviousRow(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n focusPageStart(): void,\n focusPageEnd(): void,\n focusNextSection(): void,\n focusPreviousSection(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n selectFocusedDate(): void,\n selectDate(date: CalendarDate): void,\n isFocused: boolean,\n setFocused(value: boolean): void,\n isInvalid(date: CalendarDate): boolean,\n isSelected(date: CalendarDate): boolean,\n isCellFocused(date: CalendarDate): boolean,\n isCellDisabled(date: CalendarDate): boolean,\n isPreviousVisibleRangeInvalid(): boolean,\n isNextVisibleRangeInvalid(): boolean\n}\n\nexport interface CalendarState extends CalendarStateBase {\n value: CalendarDate,\n setValue(value: CalendarDate): void\n}\n\nexport interface RangeCalendarState extends CalendarStateBase {\n value: RangeValue<DateValue>,\n setValue(value: RangeValue<DateValue>): void,\n highlightDate(date: CalendarDate): void,\n anchorDate: CalendarDate | null,\n setAnchorDate(date: CalendarDate | null): void,\n highlightedRange: RangeValue<CalendarDate>,\n isDragging: boolean,\n setDragging(isDragging: boolean): void\n}\n","/*\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 {alignCenter, alignEnd, alignStart, constrainStart, constrainValue, isInvalid} from './utils';\nimport {\n Calendar,\n CalendarDate,\n Duration,\n GregorianCalendar,\n isSameDay,\n toCalendar,\n toCalendarDate,\n today\n} from '@internationalized/date';\nimport {CalendarProps, DateValue} from '@react-types/calendar';\nimport {CalendarState} from './types';\nimport {useControlledState} from '@react-stately/utils';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useEffect, useMemo, useRef, useState} from 'react';\n\ninterface CalendarStateOptions<T extends DateValue> extends CalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration,\n selectionAlignment?: 'start' | 'center' | 'end'\n}\n\nexport function useCalendarState<T extends DateValue>(props: CalendarStateOptions<T>): CalendarState {\n let defaultFormatter = useDateFormatter();\n let resolvedOptions = useMemo(() => defaultFormatter.resolvedOptions(), [defaultFormatter]);\n let {\n locale,\n createCalendar,\n timeZone = resolvedOptions.timeZone,\n visibleDuration = {months: 1},\n minValue,\n maxValue,\n selectionAlignment\n } = props;\n\n let calendar = useMemo(() => createCalendar(resolvedOptions.calendar), [createCalendar, resolvedOptions.calendar]);\n\n let [value, setControlledValue] = useControlledState<DateValue>(props.value, props.defaultValue, props.onChange);\n let calendarDateValue = useMemo(() => value ? toCalendar(toCalendarDate(value), calendar) : null, [value, calendar]);\n let defaultDate = useMemo(() => calendarDateValue || constrainValue(toCalendar(today(timeZone), calendar), minValue, maxValue), [calendarDateValue, timeZone, calendar, minValue, maxValue]);\n let [startDate, setStartDate] = useState(() => {\n switch (selectionAlignment) {\n case 'start':\n return alignStart(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'end':\n return alignEnd(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'center':\n default:\n return alignCenter(defaultDate, visibleDuration, locale, minValue, maxValue);\n }\n });\n let [focusedDate, setFocusedDate] = useState(defaultDate);\n let [isFocused, setFocused] = useState(props.autoFocus || false);\n\n let endDate = useMemo(() => startDate.add(visibleDuration).subtract({days: 1}), [startDate, visibleDuration]);\n\n // Reset focused date and visible range when calendar changes.\n let lastCalendarIdentifier = useRef(calendar.identifier);\n useEffect(() => {\n if (calendar.identifier !== lastCalendarIdentifier.current) {\n let newFocusedDate = toCalendar(focusedDate, calendar);\n setStartDate(alignCenter(newFocusedDate, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(newFocusedDate);\n lastCalendarIdentifier.current = calendar.identifier;\n }\n }, [calendar, focusedDate, visibleDuration, locale, minValue, maxValue]);\n\n // Sets focus to a specific cell date\n function focusCell(date: CalendarDate) {\n // date = constrain(focusedDate, date, visibleDuration, locale, minValue, maxValue);\n date = constrainValue(date, minValue, maxValue);\n\n let next = startDate.add(visibleDuration);\n if (date.compare(startDate) < 0) {\n setStartDate(alignEnd(date, visibleDuration, locale, minValue, maxValue));\n } else if (date.compare(next) >= 0) {\n setStartDate(alignStart(date, visibleDuration, locale, minValue, maxValue));\n }\n\n setFocusedDate(date);\n }\n\n function setValue(newValue: CalendarDate) {\n if (!props.isDisabled && !props.isReadOnly) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, value?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (value && 'hour' in value) {\n setControlledValue(value.set(newValue));\n } else {\n setControlledValue(newValue);\n }\n }\n }\n\n return {\n isDisabled: props.isDisabled,\n isReadOnly: props.isReadOnly,\n value: calendarDateValue,\n setValue,\n visibleRange: {\n start: startDate,\n end: endDate\n },\n focusedDate,\n timeZone,\n setFocusedDate(date) {\n setFocusedDate(date);\n setFocused(true);\n },\n focusNextDay() {\n focusCell(focusedDate.add({days: 1}));\n },\n focusPreviousDay() {\n focusCell(focusedDate.subtract({days: 1}));\n },\n focusNextRow() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({weeks: 1}));\n }\n },\n focusPreviousRow() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({weeks: 1}));\n }\n },\n focusNextPage() {\n let start = startDate.add(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.add(visibleDuration), minValue, maxValue));\n },\n focusPreviousPage() {\n let start = startDate.subtract(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.subtract(visibleDuration), minValue, maxValue));\n },\n focusPageStart() {\n focusCell(startDate);\n },\n focusPageEnd() {\n focusCell(endDate);\n },\n focusNextSection() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.add({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({years: 1}));\n }\n },\n focusPreviousSection() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.subtract({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({years: 1}));\n }\n },\n selectFocusedDate() {\n setValue(focusedDate);\n },\n selectDate(date) {\n setValue(date);\n },\n isFocused,\n setFocused,\n isInvalid(date) {\n return isInvalid(date, minValue, maxValue);\n },\n isSelected(date) {\n return calendarDateValue != null && isSameDay(date, calendarDateValue);\n },\n isCellFocused(date) {\n return isFocused && focusedDate && isSameDay(date, focusedDate);\n },\n isCellDisabled(date) {\n return props.isDisabled || date.compare(startDate) < 0 || date.compare(endDate) > 0 || isInvalid(date, minValue, maxValue);\n },\n isPreviousVisibleRangeInvalid() {\n return isInvalid(startDate.subtract({days: 1}), minValue, maxValue);\n },\n isNextVisibleRangeInvalid() {\n return isInvalid(endDate.add({days: 1}), minValue, maxValue);\n }\n };\n}\n","/*\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 */\nimport {\n CalendarDate,\n Duration,\n maxDate,\n minDate,\n startOfMonth,\n startOfWeek,\n startOfYear,\n toCalendarDate\n} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\n\nexport function isInvalid(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n return (minValue != null && date.compare(minValue) < 0) ||\n (maxValue != null && date.compare(maxValue) > 0);\n}\n\nexport function alignCenter(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let halfDuration: Duration = {};\n for (let key in duration) {\n halfDuration[key] = Math.floor(duration[key] / 2);\n if (halfDuration[key] > 0 && duration[key] % 2 === 0) {\n halfDuration[key]--;\n }\n }\n\n let aligned = alignStart(date, duration, locale).subtract(halfDuration);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignStart(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n // align to the start of the largest unit\n let aligned = date;\n if (duration.years) {\n aligned = startOfYear(date);\n } else if (duration.months) {\n aligned = startOfMonth(date);\n } else if (duration.weeks) {\n aligned = startOfWeek(date, locale);\n }\n\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignEnd(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let d = {...duration};\n // subtract 1 from the smallest unit\n if (duration.days) {\n d.days--;\n } else if (duration.weeks) {\n d.weeks--;\n } else if (duration.months) {\n d.months--;\n } else if (duration.years) {\n d.years--;\n }\n\n let aligned = alignStart(date, duration, locale).subtract(d);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function constrainStart(\n date: CalendarDate,\n aligned: CalendarDate,\n duration: Duration,\n locale: string,\n minValue: DateValue,\n maxValue: DateValue) {\n if (minValue && date.compare(minValue) >= 0) {\n aligned = maxDate(\n aligned,\n alignStart(toCalendarDate(minValue), duration, locale)\n );\n }\n\n if (maxValue && date.compare(maxValue) <= 0) {\n aligned = minDate(\n aligned,\n alignEnd(toCalendarDate(maxValue), duration, locale)\n );\n }\n\n return aligned;\n}\n\nexport function constrainValue(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n if (minValue) {\n date = maxDate(date, toCalendarDate(minValue));\n }\n\n if (maxValue) {\n date = minDate(date, toCalendarDate(maxValue));\n }\n\n return date;\n}\n","/*\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 {alignCenter} from './utils';\nimport {Calendar, CalendarDate, Duration, GregorianCalendar, toCalendar, toCalendarDate} from '@internationalized/date';\nimport {DateRange, DateValue} from '@react-types/calendar';\nimport {RangeCalendarProps} from '@react-types/calendar';\nimport {RangeCalendarState} from './types';\nimport {RangeValue} from '@react-types/shared';\nimport {useCalendarState} from './useCalendarState';\nimport {useControlledState} from '@react-stately/utils';\nimport {useState} from 'react';\n\ninterface RangeCalendarStateOptions<T extends DateValue> extends RangeCalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration\n}\n\nexport function useRangeCalendarState<T extends DateValue>(props: RangeCalendarStateOptions<T>): RangeCalendarState {\n let {value: valueProp, defaultValue, onChange, createCalendar, locale, visibleDuration = {months: 1}, minValue, maxValue, ...calendarProps} = props;\n let [value, setValue] = useControlledState<DateRange>(\n valueProp,\n defaultValue,\n onChange\n );\n\n let [anchorDate, setAnchorDate] = useState(null);\n let alignment: 'center' | 'start' = 'center';\n if (value && value.start && value.end) {\n let start = alignCenter(toCalendarDate(value.start), visibleDuration, locale, minValue, maxValue);\n let end = start.add(visibleDuration).subtract({days: 1});\n\n if (value.end.compare(end) > 0) {\n alignment = 'start';\n }\n }\n\n let calendar = useCalendarState({\n ...calendarProps,\n value: value && value.start,\n createCalendar,\n locale,\n visibleDuration,\n minValue,\n maxValue,\n selectionAlignment: alignment\n });\n\n let highlightedRange = anchorDate ? makeRange(anchorDate, calendar.focusedDate) : value && makeRange(value.start, value.end);\n let selectDate = (date: CalendarDate) => {\n if (props.isReadOnly) {\n return;\n }\n\n if (!anchorDate) {\n setAnchorDate(date);\n } else {\n let range = makeRange(anchorDate, date);\n setValue({\n start: convertValue(range.start, value?.start),\n end: convertValue(range.end, value?.end)\n });\n setAnchorDate(null);\n }\n };\n\n let [isDragging, setDragging] = useState(false);\n\n return {\n ...calendar,\n value,\n setValue,\n anchorDate,\n setAnchorDate,\n highlightedRange,\n selectFocusedDate() {\n selectDate(calendar.focusedDate);\n },\n selectDate,\n highlightDate(date) {\n if (anchorDate) {\n calendar.setFocusedDate(date);\n }\n },\n isSelected(date) {\n return highlightedRange && date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n },\n isDragging,\n setDragging\n };\n}\n\nfunction makeRange(start: DateValue, end: DateValue): RangeValue<CalendarDate> {\n if (!start || !end) {\n return null;\n }\n\n if (end.compare(start) < 0) {\n [start, end] = [end, start];\n }\n\n return {start: toCalendarDate(start), end: toCalendarDate(end)};\n}\n\nfunction convertValue(newValue: CalendarDate, oldValue: DateValue) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, oldValue?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (oldValue && 'hour' in oldValue) {\n return oldValue.set(newValue);\n }\n\n return newValue;\n}\n"],"names":[],"version":3,"file":"module.js.map"}
1
+ {"mappings":"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","sources":["packages/@react-stately/calendar/src/index.ts","packages/@react-stately/calendar/src/types.ts","packages/@react-stately/calendar/src/useCalendarState.ts","packages/@react-stately/calendar/src/utils.ts","packages/@react-stately/calendar/src/useRangeCalendarState.ts"],"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\nexport * from './types';\nexport * from './useCalendarState';\nexport * from './useRangeCalendarState';\n","/*\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 {CalendarDate} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\nimport {RangeValue} from '@react-types/shared';\n\nexport interface CalendarStateBase {\n isDisabled: boolean,\n isReadOnly: boolean,\n visibleRange: RangeValue<CalendarDate>,\n timeZone: string,\n focusedDate: CalendarDate,\n setFocusedDate(value: CalendarDate): void,\n focusNextDay(): void,\n focusPreviousDay(): void,\n focusNextRow(): void,\n focusPreviousRow(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n focusPageStart(): void,\n focusPageEnd(): void,\n focusNextSection(): void,\n focusPreviousSection(): void,\n focusNextPage(): void,\n focusPreviousPage(): void,\n selectFocusedDate(): void,\n selectDate(date: CalendarDate): void,\n isFocused: boolean,\n setFocused(value: boolean): void,\n isInvalid(date: CalendarDate): boolean,\n isSelected(date: CalendarDate): boolean,\n isCellFocused(date: CalendarDate): boolean,\n isCellDisabled(date: CalendarDate): boolean,\n isPreviousVisibleRangeInvalid(): boolean,\n isNextVisibleRangeInvalid(): boolean\n}\n\nexport interface CalendarState extends CalendarStateBase {\n value: CalendarDate,\n setValue(value: CalendarDate): void\n}\n\nexport interface RangeCalendarState extends CalendarStateBase {\n value: RangeValue<DateValue>,\n setValue(value: RangeValue<DateValue>): void,\n highlightDate(date: CalendarDate): void,\n anchorDate: CalendarDate | null,\n setAnchorDate(date: CalendarDate | null): void,\n highlightedRange: RangeValue<CalendarDate>,\n isDragging: boolean,\n setDragging(isDragging: boolean): void\n}\n","/*\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 {alignCenter, alignEnd, alignStart, constrainStart, constrainValue, isInvalid} from './utils';\nimport {\n Calendar,\n CalendarDate,\n Duration,\n GregorianCalendar,\n isSameDay,\n toCalendar,\n toCalendarDate,\n today\n} from '@internationalized/date';\nimport {CalendarProps, DateValue} from '@react-types/calendar';\nimport {CalendarState} from './types';\nimport {useControlledState} from '@react-stately/utils';\nimport {useDateFormatter} from '@react-aria/i18n';\nimport {useEffect, useMemo, useRef, useState} from 'react';\n\ninterface CalendarStateOptions<T extends DateValue> extends CalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration,\n selectionAlignment?: 'start' | 'center' | 'end'\n}\n\nexport function useCalendarState<T extends DateValue>(props: CalendarStateOptions<T>): CalendarState {\n let defaultFormatter = useDateFormatter();\n let resolvedOptions = useMemo(() => defaultFormatter.resolvedOptions(), [defaultFormatter]);\n let {\n locale,\n createCalendar,\n visibleDuration = {months: 1},\n minValue,\n maxValue,\n selectionAlignment\n } = props;\n\n let calendar = useMemo(() => createCalendar(resolvedOptions.calendar), [createCalendar, resolvedOptions.calendar]);\n\n let [value, setControlledValue] = useControlledState<DateValue>(props.value, props.defaultValue, props.onChange);\n let calendarDateValue = useMemo(() => value ? toCalendar(toCalendarDate(value), calendar) : null, [value, calendar]);\n let timeZone = useMemo(() => value && 'timeZone' in value ? value.timeZone : resolvedOptions.timeZone, [value, resolvedOptions.timeZone]);\n let defaultDate = useMemo(() => calendarDateValue || constrainValue(toCalendar(today(timeZone), calendar), minValue, maxValue), [calendarDateValue, timeZone, calendar, minValue, maxValue]);\n let [startDate, setStartDate] = useState(() => {\n switch (selectionAlignment) {\n case 'start':\n return alignStart(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'end':\n return alignEnd(defaultDate, visibleDuration, locale, minValue, maxValue);\n case 'center':\n default:\n return alignCenter(defaultDate, visibleDuration, locale, minValue, maxValue);\n }\n });\n let [focusedDate, setFocusedDate] = useState(defaultDate);\n let [isFocused, setFocused] = useState(props.autoFocus || false);\n\n let endDate = useMemo(() => startDate.add(visibleDuration).subtract({days: 1}), [startDate, visibleDuration]);\n\n // Reset focused date and visible range when calendar changes.\n let lastCalendarIdentifier = useRef(calendar.identifier);\n useEffect(() => {\n if (calendar.identifier !== lastCalendarIdentifier.current) {\n let newFocusedDate = toCalendar(focusedDate, calendar);\n setStartDate(alignCenter(newFocusedDate, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(newFocusedDate);\n lastCalendarIdentifier.current = calendar.identifier;\n }\n }, [calendar, focusedDate, visibleDuration, locale, minValue, maxValue]);\n\n // Sets focus to a specific cell date\n function focusCell(date: CalendarDate) {\n // date = constrain(focusedDate, date, visibleDuration, locale, minValue, maxValue);\n date = constrainValue(date, minValue, maxValue);\n\n let next = startDate.add(visibleDuration);\n if (date.compare(startDate) < 0) {\n setStartDate(alignEnd(date, visibleDuration, locale, minValue, maxValue));\n } else if (date.compare(next) >= 0) {\n setStartDate(alignStart(date, visibleDuration, locale, minValue, maxValue));\n }\n\n setFocusedDate(date);\n }\n\n function setValue(newValue: CalendarDate) {\n if (!props.isDisabled && !props.isReadOnly) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, value?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (value && 'hour' in value) {\n setControlledValue(value.set(newValue));\n } else {\n setControlledValue(newValue);\n }\n }\n }\n\n return {\n isDisabled: props.isDisabled,\n isReadOnly: props.isReadOnly,\n value: calendarDateValue,\n setValue,\n visibleRange: {\n start: startDate,\n end: endDate\n },\n focusedDate,\n timeZone,\n setFocusedDate(date) {\n setFocusedDate(date);\n setFocused(true);\n },\n focusNextDay() {\n focusCell(focusedDate.add({days: 1}));\n },\n focusPreviousDay() {\n focusCell(focusedDate.subtract({days: 1}));\n },\n focusNextRow() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({weeks: 1}));\n }\n },\n focusPreviousRow() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks || visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({weeks: 1}));\n }\n },\n focusNextPage() {\n let start = startDate.add(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.add(visibleDuration), minValue, maxValue));\n },\n focusPreviousPage() {\n let start = startDate.subtract(visibleDuration);\n setStartDate(constrainStart(focusedDate, start, visibleDuration, locale, minValue, maxValue));\n setFocusedDate(constrainValue(focusedDate.subtract(visibleDuration), minValue, maxValue));\n },\n focusPageStart() {\n focusCell(startDate);\n },\n focusPageEnd() {\n focusCell(endDate);\n },\n focusNextSection() {\n if (visibleDuration.days) {\n this.focusNextPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.add({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.add({years: 1}));\n }\n },\n focusPreviousSection() {\n if (visibleDuration.days) {\n this.focusPreviousPage();\n } else if (visibleDuration.weeks) {\n focusCell(focusedDate.subtract({months: 1}));\n } else if (visibleDuration.months || visibleDuration.years) {\n focusCell(focusedDate.subtract({years: 1}));\n }\n },\n selectFocusedDate() {\n setValue(focusedDate);\n },\n selectDate(date) {\n setValue(date);\n },\n isFocused,\n setFocused,\n isInvalid(date) {\n return isInvalid(date, minValue, maxValue);\n },\n isSelected(date) {\n return calendarDateValue != null && isSameDay(date, calendarDateValue);\n },\n isCellFocused(date) {\n return isFocused && focusedDate && isSameDay(date, focusedDate);\n },\n isCellDisabled(date) {\n return props.isDisabled || date.compare(startDate) < 0 || date.compare(endDate) > 0 || isInvalid(date, minValue, maxValue);\n },\n isPreviousVisibleRangeInvalid() {\n return isInvalid(startDate.subtract({days: 1}), minValue, maxValue);\n },\n isNextVisibleRangeInvalid() {\n return isInvalid(endDate.add({days: 1}), minValue, maxValue);\n }\n };\n}\n","/*\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 */\nimport {\n CalendarDate,\n Duration,\n maxDate,\n minDate,\n startOfMonth,\n startOfWeek,\n startOfYear,\n toCalendarDate\n} from '@internationalized/date';\nimport {DateValue} from '@react-types/calendar';\n\nexport function isInvalid(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n return (minValue != null && date.compare(minValue) < 0) ||\n (maxValue != null && date.compare(maxValue) > 0);\n}\n\nexport function alignCenter(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let halfDuration: Duration = {};\n for (let key in duration) {\n halfDuration[key] = Math.floor(duration[key] / 2);\n if (halfDuration[key] > 0 && duration[key] % 2 === 0) {\n halfDuration[key]--;\n }\n }\n\n let aligned = alignStart(date, duration, locale).subtract(halfDuration);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignStart(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n // align to the start of the largest unit\n let aligned = date;\n if (duration.years) {\n aligned = startOfYear(date);\n } else if (duration.months) {\n aligned = startOfMonth(date);\n } else if (duration.weeks) {\n aligned = startOfWeek(date, locale);\n }\n\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignEnd(date: CalendarDate, duration: Duration, locale: string, minValue?: DateValue, maxValue?: DateValue) {\n let d = {...duration};\n // subtract 1 from the smallest unit\n if (duration.days) {\n d.days--;\n } else if (duration.weeks) {\n d.weeks--;\n } else if (duration.months) {\n d.months--;\n } else if (duration.years) {\n d.years--;\n }\n\n let aligned = alignStart(date, duration, locale).subtract(d);\n return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function constrainStart(\n date: CalendarDate,\n aligned: CalendarDate,\n duration: Duration,\n locale: string,\n minValue: DateValue,\n maxValue: DateValue) {\n if (minValue && date.compare(minValue) >= 0) {\n aligned = maxDate(\n aligned,\n alignStart(toCalendarDate(minValue), duration, locale)\n );\n }\n\n if (maxValue && date.compare(maxValue) <= 0) {\n aligned = minDate(\n aligned,\n alignEnd(toCalendarDate(maxValue), duration, locale)\n );\n }\n\n return aligned;\n}\n\nexport function constrainValue(date: CalendarDate, minValue: DateValue, maxValue: DateValue) {\n if (minValue) {\n date = maxDate(date, toCalendarDate(minValue));\n }\n\n if (maxValue) {\n date = minDate(date, toCalendarDate(maxValue));\n }\n\n return date;\n}\n","/*\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 {alignCenter} from './utils';\nimport {Calendar, CalendarDate, Duration, GregorianCalendar, toCalendar, toCalendarDate} from '@internationalized/date';\nimport {DateRange, DateValue} from '@react-types/calendar';\nimport {RangeCalendarProps} from '@react-types/calendar';\nimport {RangeCalendarState} from './types';\nimport {RangeValue} from '@react-types/shared';\nimport {useCalendarState} from './useCalendarState';\nimport {useControlledState} from '@react-stately/utils';\nimport {useState} from 'react';\n\ninterface RangeCalendarStateOptions<T extends DateValue> extends RangeCalendarProps<T> {\n locale: string,\n createCalendar: (name: string) => Calendar,\n visibleDuration?: Duration\n}\n\nexport function useRangeCalendarState<T extends DateValue>(props: RangeCalendarStateOptions<T>): RangeCalendarState {\n let {value: valueProp, defaultValue, onChange, createCalendar, locale, visibleDuration = {months: 1}, minValue, maxValue, ...calendarProps} = props;\n let [value, setValue] = useControlledState<DateRange>(\n valueProp,\n defaultValue,\n onChange\n );\n\n let [anchorDate, setAnchorDate] = useState(null);\n let alignment: 'center' | 'start' = 'center';\n if (value && value.start && value.end) {\n let start = alignCenter(toCalendarDate(value.start), visibleDuration, locale, minValue, maxValue);\n let end = start.add(visibleDuration).subtract({days: 1});\n\n if (value.end.compare(end) > 0) {\n alignment = 'start';\n }\n }\n\n let calendar = useCalendarState({\n ...calendarProps,\n value: value && value.start,\n createCalendar,\n locale,\n visibleDuration,\n minValue,\n maxValue,\n selectionAlignment: alignment\n });\n\n let highlightedRange = anchorDate ? makeRange(anchorDate, calendar.focusedDate) : value && makeRange(value.start, value.end);\n let selectDate = (date: CalendarDate) => {\n if (props.isReadOnly) {\n return;\n }\n\n if (!anchorDate) {\n setAnchorDate(date);\n } else {\n let range = makeRange(anchorDate, date);\n setValue({\n start: convertValue(range.start, value?.start),\n end: convertValue(range.end, value?.end)\n });\n setAnchorDate(null);\n }\n };\n\n let [isDragging, setDragging] = useState(false);\n\n return {\n ...calendar,\n value,\n setValue,\n anchorDate,\n setAnchorDate,\n highlightedRange,\n selectFocusedDate() {\n selectDate(calendar.focusedDate);\n },\n selectDate,\n highlightDate(date) {\n if (anchorDate) {\n calendar.setFocusedDate(date);\n }\n },\n isSelected(date) {\n return highlightedRange && date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n },\n isDragging,\n setDragging\n };\n}\n\nfunction makeRange(start: DateValue, end: DateValue): RangeValue<CalendarDate> {\n if (!start || !end) {\n return null;\n }\n\n if (end.compare(start) < 0) {\n [start, end] = [end, start];\n }\n\n return {start: toCalendarDate(start), end: toCalendarDate(end)};\n}\n\nfunction convertValue(newValue: CalendarDate, oldValue: DateValue) {\n // The display calendar should not have any effect on the emitted value.\n // Emit dates in the same calendar as the original value, if any, otherwise gregorian.\n newValue = toCalendar(newValue, oldValue?.calendar || new GregorianCalendar());\n\n // Preserve time if the input value had one.\n if (oldValue && 'hour' in oldValue) {\n return oldValue.set(newValue);\n }\n\n return newValue;\n}\n"],"names":[],"version":3,"file":"module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-stately/calendar",
3
- "version": "3.0.0-nightly.1379+3366ae36b",
3
+ "version": "3.0.0-nightly.1394+dfe72ee07",
4
4
  "description": "Spectrum UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/main.js",
@@ -18,12 +18,12 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@babel/runtime": "^7.6.2",
21
- "@internationalized/date": "3.0.0-nightly.3070+3366ae36b",
22
- "@react-aria/i18n": "3.0.0-nightly.1379+3366ae36b",
23
- "@react-stately/utils": "3.0.0-nightly.1379+3366ae36b",
24
- "@react-types/calendar": "3.0.0-nightly.1379+3366ae36b",
25
- "@react-types/datepicker": "3.0.0-nightly.1379+3366ae36b",
26
- "@react-types/shared": "3.0.0-nightly.1379+3366ae36b",
21
+ "@internationalized/date": "3.0.0-nightly.3085+dfe72ee07",
22
+ "@react-aria/i18n": "3.0.0-nightly.1394+dfe72ee07",
23
+ "@react-stately/utils": "3.0.0-nightly.1394+dfe72ee07",
24
+ "@react-types/calendar": "3.0.0-nightly.1394+dfe72ee07",
25
+ "@react-types/datepicker": "3.0.0-nightly.1394+dfe72ee07",
26
+ "@react-types/shared": "3.0.0-nightly.1394+dfe72ee07",
27
27
  "date-fns": "^1.30.1"
28
28
  },
29
29
  "peerDependencies": {
@@ -32,5 +32,5 @@
32
32
  "publishConfig": {
33
33
  "access": "public"
34
34
  },
35
- "gitHead": "3366ae36b3ddefbf67bfd084caaf58bb89ed345b"
35
+ "gitHead": "dfe72ee076f7ca27728d0b6b4c1ef86e11191ece"
36
36
  }
@@ -40,7 +40,6 @@ export function useCalendarState<T extends DateValue>(props: CalendarStateOption
40
40
  let {
41
41
  locale,
42
42
  createCalendar,
43
- timeZone = resolvedOptions.timeZone,
44
43
  visibleDuration = {months: 1},
45
44
  minValue,
46
45
  maxValue,
@@ -51,6 +50,7 @@ export function useCalendarState<T extends DateValue>(props: CalendarStateOption
51
50
 
52
51
  let [value, setControlledValue] = useControlledState<DateValue>(props.value, props.defaultValue, props.onChange);
53
52
  let calendarDateValue = useMemo(() => value ? toCalendar(toCalendarDate(value), calendar) : null, [value, calendar]);
53
+ let timeZone = useMemo(() => value && 'timeZone' in value ? value.timeZone : resolvedOptions.timeZone, [value, resolvedOptions.timeZone]);
54
54
  let defaultDate = useMemo(() => calendarDateValue || constrainValue(toCalendar(today(timeZone), calendar), minValue, maxValue), [calendarDateValue, timeZone, calendar, minValue, maxValue]);
55
55
  let [startDate, setStartDate] = useState(() => {
56
56
  switch (selectionAlignment) {