📄 utils.cjs.map
/home/palash/git/site/node_modules/react-stately/dist/private/calendar/utils.cjs.map
Language: map • Lines: 1
{"mappings":"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","sources":["packages/react-stately/src/calendar/utils.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 */\nimport {\n  CalendarDate,\n  DateDuration,\n  maxDate,\n  minDate,\n  startOfMonth,\n  startOfWeek,\n  startOfYear,\n  toCalendarDate\n} from '@internationalized/date';\nimport {DateValue} from './types';\n\nexport function isInvalid(\n  date: DateValue,\n  minValue?: DateValue | null,\n  maxValue?: DateValue | null\n): boolean {\n  return (\n    (minValue != null && date.compare(minValue) < 0) ||\n    (maxValue != null && date.compare(maxValue) > 0)\n  );\n}\n\nexport function alignCenter(\n  date: CalendarDate,\n  duration: DateDuration,\n  locale: string,\n  minValue?: DateValue | null,\n  maxValue?: DateValue | null\n): CalendarDate {\n  let halfDuration: DateDuration = {};\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(\n  date: CalendarDate,\n  duration: DateDuration,\n  locale: string,\n  minValue?: DateValue | null,\n  maxValue?: DateValue | null\n): CalendarDate {\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 || (duration.days && duration.days > 7)) {\n    aligned = startOfWeek(date, locale);\n  }\n\n  return constrainStart(date, aligned, duration, locale, minValue, maxValue);\n}\n\nexport function alignEnd(\n  date: CalendarDate,\n  duration: DateDuration,\n  locale: string,\n  minValue?: DateValue | null,\n  maxValue?: DateValue | null\n): CalendarDate {\n  let d = {...duration};\n  // subtract 1 from the smallest unit\n  if (d.days) {\n    d.days--;\n  } else if (d.weeks) {\n    d.weeks--;\n  } else if (d.months) {\n    d.months--;\n  } else if (d.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: DateDuration,\n  locale: string,\n  minValue?: DateValue | null,\n  maxValue?: DateValue | null\n): CalendarDate {\n  if (minValue && date.compare(minValue) >= 0) {\n    let newDate = maxDate(aligned, alignStart(toCalendarDate(minValue), duration, locale));\n    if (newDate) {\n      aligned = newDate;\n    }\n  }\n\n  if (maxValue && date.compare(maxValue) <= 0) {\n    let newDate = minDate(aligned, alignEnd(toCalendarDate(maxValue), duration, locale));\n    if (newDate) {\n      aligned = newDate;\n    }\n  }\n\n  return aligned;\n}\n\nexport function constrainValue(\n  date: CalendarDate,\n  minValue?: DateValue | null,\n  maxValue?: DateValue | null\n): CalendarDate {\n  if (minValue) {\n    let newDate = maxDate(date, toCalendarDate(minValue));\n    if (newDate) {\n      date = newDate;\n    }\n  }\n\n  if (maxValue) {\n    let newDate = minDate(date, toCalendarDate(maxValue));\n    if (newDate) {\n      date = newDate;\n    }\n  }\n\n  return date;\n}\n\nexport function previousAvailableDate(\n  date: CalendarDate,\n  minValue: DateValue,\n  isDateUnavailable?: (date: CalendarDate) => boolean\n): CalendarDate | null {\n  if (!isDateUnavailable) {\n    return date;\n  }\n\n  while (date.compare(minValue) >= 0 && isDateUnavailable(date)) {\n    date = date.subtract({days: 1});\n  }\n\n  if (date.compare(minValue) >= 0) {\n    return date;\n  }\n  return null;\n}\n\nexport function isEqualDuration(a: DateDuration, b: DateDuration): boolean {\n  if (a === b) {\n    return true;\n  }\n\n  return a.days === b.days && a.weeks === b.weeks && a.months === b.months && a.years === b.years;\n}\n"],"names":[],"version":3,"file":"utils.cjs.map"}