@salutejs/plasma-new-hope 0.80.0-dev.0 → 0.81.0-canary.1203.9092095304.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/hooks/useDays.js +6 -3
  5. package/cjs/components/Calendar/hooks/useDays.js.map +1 -1
  6. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  7. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  8. package/es/components/Calendar/Calendar.types.js.map +1 -1
  9. package/es/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  10. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  11. package/es/components/Calendar/hooks/useDays.js +6 -3
  12. package/es/components/Calendar/hooks/useDays.js.map +1 -1
  13. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  14. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  15. package/package.json +2 -2
  16. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  17. package/styled-components/cjs/components/Calendar/hooks/useDays.js +6 -3
  18. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  19. package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +18 -6
  20. package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +18 -6
  21. package/styled-components/cjs/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +18 -6
  22. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  23. package/styled-components/es/components/Calendar/hooks/useDays.js +6 -3
  24. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  25. package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +18 -6
  26. package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +18 -6
  27. package/styled-components/es/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +18 -6
  28. package/types/components/Calendar/Calendar.types.d.ts +4 -0
  29. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  30. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  31. package/types/components/Calendar/hooks/useDays.d.ts +1 -1
  32. package/types/components/Calendar/hooks/useDays.d.ts.map +1 -1
  33. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  34. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +1 -0
  35. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
@@ -174,6 +174,7 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
174
174
  var disabledList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
175
175
  var min = arguments.length > 3 ? arguments[3] : undefined;
176
176
  var max = arguments.length > 4 ? arguments[4] : undefined;
177
+ var includeEdgeDates = arguments.length > 5 ? arguments[5] : undefined;
177
178
  var eventsMap = getPropsMap(eventList);
178
179
  var disabledDaysMap = getPropsMap(disabledList);
179
180
  var daysList = days.filter(function (_ref3) {
@@ -191,7 +192,9 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
191
192
  day = date.day;
192
193
  var keyDay = "".concat(year, "-").concat(monthIndex, "-").concat(day);
193
194
  var currentDate = new Date(year, monthIndex, day);
194
- var isOutOfMinMaxRange = min && min >= currentDate || max && max <= currentDate;
195
+ var minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
196
+ var maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
197
+ var isOutOfMinMaxRange = minValue || maxValue;
195
198
  dayItem.events = eventsMap.get(keyDay);
196
199
  dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;
197
200
  dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
@@ -204,7 +207,7 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
204
207
  /**
205
208
  * Хук для получения списка дней.
206
209
  */
207
- var useDays = function useDays(date, value, eventList, disabledList, min, max) {
210
+ var useDays = function useDays(date, value, eventList, disabledList, min, max, includeEdgeDates) {
208
211
  return useMemo(function () {
209
212
  var monthIndex = date.monthIndex,
210
213
  year = date.year;
@@ -212,7 +215,7 @@ var useDays = function useDays(date, value, eventList, disabledList, min, max) {
212
215
  var offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);
213
216
  var days = [].concat(_toConsumableArray(getDaysInPrevMonth(date, offsetDayInWeek, value)), _toConsumableArray(getDaysInCurrentMonth(date, daysInMonth, value)), _toConsumableArray(getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value)));
214
217
  if (eventList !== null && eventList !== void 0 && eventList.length || disabledList !== null && disabledList !== void 0 && disabledList.length || max || min) {
215
- var modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max);
218
+ var modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max, includeEdgeDates);
216
219
  return getMatrix(modifiedDays);
217
220
  }
218
221
  return getMatrix(days);
@@ -1 +1 @@
1
- {"version":3,"file":"useDays.js","sources":["../../../../src/components/Calendar/hooks/useDays.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n getDateFromValue,\n getDaysInMonth,\n getMatrix,\n getNextDate,\n getOffsetDayInWeek,\n getPrevDate,\n IsCurrentDay,\n isDayInRange,\n isSelectedDay,\n} from '../utils';\nimport type { CalendarValueType, DateItem, DateObject, DisabledDay, EventDay } from '../Calendar.types';\n\n/**\n * Метод возвращающий массив дней в предыдущем месяце.\n */\nconst getDaysInPrevMonth = (date: DateObject, offsetDayInWeek: number, value: CalendarValueType) => {\n const [prevYear, prevMonth] = getPrevDate(date.year, date.monthIndex);\n const daysInPrevMonth = getDaysInMonth(prevMonth, prevYear);\n\n return Array.from(Array(offsetDayInWeek), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value)\n ? isDayInRange(prevYear, prevMonth, daysInPrevMonth - (offsetDayInWeek - i) + 1, value)\n : false,\n date: {\n day: daysInPrevMonth - (offsetDayInWeek - i) + 1,\n monthIndex: prevMonth,\n year: prevYear,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в текущем месяце.\n */\nconst getDaysInCurrentMonth = (date: DateObject, daysInMonth: number, value: CalendarValueType) => {\n return Array.from(Array(daysInMonth), (_, i) => ({\n isCurrent: IsCurrentDay(date, i + 1),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedDay(date, i + 1, v)))\n : isSelectedDay(date, i + 1, value),\n isDayInCurrentMonth: true,\n inRange: Array.isArray(value) ? isDayInRange(date.year, date.monthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: date.monthIndex,\n year: date.year,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в следующем месяце.\n */\nconst getDaysInNextMonth = (\n date: DateObject,\n daysInMonth: number,\n offsetDayInWeek: number,\n value: CalendarValueType,\n) => {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n const visibleDayCount = 42;\n const restDaysInCalendar = visibleDayCount - (daysInMonth + offsetDayInWeek);\n\n return Array.from(Array(restDaysInCalendar), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value) ? isDayInRange(nextYear, nextMonthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n }));\n};\n\nconst isDisabledArrowLeft = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n return (min && min >= currentDate) || (min && min >= date);\n};\n\nconst isDisabledArrowRight = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n return (max && max <= currentDate) || (max && max <= date);\n};\n\nconst isDisabledArrowUp = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() - 7);\n\n return min && min >= currentDate;\n};\n\nconst isDisabledArrowDown = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() + 7);\n\n return max && max <= currentDate;\n};\n\nconst isDisabledNextMonth = ({ year, monthIndex, day }: DateObject, max?: Date) => {\n if (!max) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n let isOut = true;\n\n while (isOut && currentDate <= max) {\n isOut = max <= currentDate;\n\n currentDate.setDate(currentDate.getDate() + 1);\n }\n\n return isOut;\n};\n\nconst isDisabledPreviousMonth = ({ year, monthIndex, day }: DateObject, min?: Date) => {\n if (!min) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n let isOut = true;\n\n while (isOut && currentDate >= min) {\n isOut = min >= currentDate;\n\n currentDate.setDate(currentDate.getDate() - 1);\n }\n\n return isOut;\n};\n\nconst getDisabledArrowKey = (currentDate: Date, min?: Date, max?: Date) => {\n const disabledArrowKey = [];\n\n if (isDisabledArrowLeft(currentDate, min)) {\n disabledArrowKey.push('left');\n }\n\n if (isDisabledArrowRight(currentDate, max)) {\n disabledArrowKey.push('right');\n }\n\n if (isDisabledArrowDown(currentDate, max)) {\n disabledArrowKey.push('down');\n }\n\n if (isDisabledArrowUp(currentDate, min)) {\n disabledArrowKey.push('up');\n }\n\n return disabledArrowKey.join(',');\n};\n\nconst getDisabledMonths = (list: DateObject[], min?: Date, max?: Date) => {\n const disabledMonth = [];\n\n if (isDisabledPreviousMonth(list[0], min)) {\n disabledMonth.push('previous');\n }\n\n if (isDisabledNextMonth(list[list.length - 1], max)) {\n disabledMonth.push('next');\n }\n\n return disabledMonth.join(',');\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nconst getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод модифицирующий дни (добавляющий свойства events и disabled).\n */\nconst getDaysWithModifications = (\n days: DateItem[],\n eventList: EventDay[] = [],\n disabledList: DisabledDay[] = [],\n min?: Date,\n max?: Date,\n) => {\n const eventsMap = getPropsMap(eventList);\n const disabledDaysMap = getPropsMap(disabledList);\n\n const daysList = days.filter(({ isDayInCurrentMonth }) => isDayInCurrentMonth).map(({ date }) => date);\n\n const disabledMonths = getDisabledMonths(daysList, min, max);\n\n return days.map((dayItem) => {\n const { date } = dayItem;\n const { year, monthIndex, day } = date;\n\n const keyDay = `${year}-${monthIndex}-${day}`;\n const currentDate = new Date(year, monthIndex, day);\n\n const isOutOfMinMaxRange = (min && min >= currentDate) || (max && max <= currentDate);\n\n dayItem.events = eventsMap.get(keyDay);\n dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;\n\n dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;\n dayItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);\n dayItem.disabledMonths = disabledMonths;\n\n return dayItem;\n });\n};\n\n/**\n * Хук для получения списка дней.\n */\nexport const useDays = (\n date: DateObject,\n value: CalendarValueType,\n eventList?: EventDay[],\n disabledList?: DisabledDay[],\n min?: Date,\n max?: Date,\n) =>\n useMemo(() => {\n const { monthIndex, year } = date;\n const daysInMonth = getDaysInMonth(monthIndex, year);\n const offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);\n\n const days = [\n ...getDaysInPrevMonth(date, offsetDayInWeek, value),\n ...getDaysInCurrentMonth(date, daysInMonth, value),\n ...getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value),\n ];\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max);\n return getMatrix<DateItem>(modifiedDays);\n }\n\n return getMatrix<DateItem>(days);\n }, [date, value, eventList, disabledList, max, min]);\n"],"names":["getDaysInPrevMonth","date","offsetDayInWeek","value","_getPrevDate","getPrevDate","year","monthIndex","_getPrevDate2","_slicedToArray","prevYear","prevMonth","daysInPrevMonth","getDaysInMonth","Array","from","_","i","isCurrent","isSelected","isDayInCurrentMonth","inRange","isArray","isDayInRange","day","getDaysInCurrentMonth","daysInMonth","IsCurrentDay","Boolean","find","v","isSelectedDay","getDaysInNextMonth","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","visibleDayCount","restDaysInCalendar","isDisabledArrowLeft","min","currentDate","Date","setDate","getDate","isDisabledArrowRight","max","isDisabledArrowUp","isDisabledArrowDown","isDisabledNextMonth","_ref","isOut","isDisabledPreviousMonth","_ref2","getDisabledArrowKey","disabledArrowKey","push","join","getDisabledMonths","list","disabledMonth","length","getPropsMap","props","reduce","acc","prop","_getDateFromValue","getDateFromValue","key","concat","propList","get","set","Map","getDaysWithModifications","days","eventList","arguments","undefined","disabledList","eventsMap","disabledDaysMap","daysList","filter","_ref3","map","_ref4","disabledMonths","dayItem","keyDay","isOutOfMinMaxRange","events","disabled","has","useDays","useMemo","getOffsetDayInWeek","_toConsumableArray","modifiedDays","getMatrix"],"mappings":"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"}
1
+ {"version":3,"file":"useDays.js","sources":["../../../../src/components/Calendar/hooks/useDays.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n getDateFromValue,\n getDaysInMonth,\n getMatrix,\n getNextDate,\n getOffsetDayInWeek,\n getPrevDate,\n IsCurrentDay,\n isDayInRange,\n isSelectedDay,\n} from '../utils';\nimport type { CalendarValueType, DateItem, DateObject, DisabledDay, EventDay } from '../Calendar.types';\n\n/**\n * Метод возвращающий массив дней в предыдущем месяце.\n */\nconst getDaysInPrevMonth = (date: DateObject, offsetDayInWeek: number, value: CalendarValueType) => {\n const [prevYear, prevMonth] = getPrevDate(date.year, date.monthIndex);\n const daysInPrevMonth = getDaysInMonth(prevMonth, prevYear);\n\n return Array.from(Array(offsetDayInWeek), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value)\n ? isDayInRange(prevYear, prevMonth, daysInPrevMonth - (offsetDayInWeek - i) + 1, value)\n : false,\n date: {\n day: daysInPrevMonth - (offsetDayInWeek - i) + 1,\n monthIndex: prevMonth,\n year: prevYear,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в текущем месяце.\n */\nconst getDaysInCurrentMonth = (date: DateObject, daysInMonth: number, value: CalendarValueType) => {\n return Array.from(Array(daysInMonth), (_, i) => ({\n isCurrent: IsCurrentDay(date, i + 1),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedDay(date, i + 1, v)))\n : isSelectedDay(date, i + 1, value),\n isDayInCurrentMonth: true,\n inRange: Array.isArray(value) ? isDayInRange(date.year, date.monthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: date.monthIndex,\n year: date.year,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в следующем месяце.\n */\nconst getDaysInNextMonth = (\n date: DateObject,\n daysInMonth: number,\n offsetDayInWeek: number,\n value: CalendarValueType,\n) => {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n const visibleDayCount = 42;\n const restDaysInCalendar = visibleDayCount - (daysInMonth + offsetDayInWeek);\n\n return Array.from(Array(restDaysInCalendar), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value) ? isDayInRange(nextYear, nextMonthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n }));\n};\n\nconst isDisabledArrowLeft = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n return (min && min >= currentDate) || (min && min >= date);\n};\n\nconst isDisabledArrowRight = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n return (max && max <= currentDate) || (max && max <= date);\n};\n\nconst isDisabledArrowUp = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() - 7);\n\n return min && min >= currentDate;\n};\n\nconst isDisabledArrowDown = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() + 7);\n\n return max && max <= currentDate;\n};\n\nconst isDisabledNextMonth = ({ year, monthIndex, day }: DateObject, max?: Date) => {\n if (!max) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n let isOut = true;\n\n while (isOut && currentDate <= max) {\n isOut = max <= currentDate;\n\n currentDate.setDate(currentDate.getDate() + 1);\n }\n\n return isOut;\n};\n\nconst isDisabledPreviousMonth = ({ year, monthIndex, day }: DateObject, min?: Date) => {\n if (!min) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n let isOut = true;\n\n while (isOut && currentDate >= min) {\n isOut = min >= currentDate;\n\n currentDate.setDate(currentDate.getDate() - 1);\n }\n\n return isOut;\n};\n\nconst getDisabledArrowKey = (currentDate: Date, min?: Date, max?: Date) => {\n const disabledArrowKey = [];\n\n if (isDisabledArrowLeft(currentDate, min)) {\n disabledArrowKey.push('left');\n }\n\n if (isDisabledArrowRight(currentDate, max)) {\n disabledArrowKey.push('right');\n }\n\n if (isDisabledArrowDown(currentDate, max)) {\n disabledArrowKey.push('down');\n }\n\n if (isDisabledArrowUp(currentDate, min)) {\n disabledArrowKey.push('up');\n }\n\n return disabledArrowKey.join(',');\n};\n\nconst getDisabledMonths = (list: DateObject[], min?: Date, max?: Date) => {\n const disabledMonth = [];\n\n if (isDisabledPreviousMonth(list[0], min)) {\n disabledMonth.push('previous');\n }\n\n if (isDisabledNextMonth(list[list.length - 1], max)) {\n disabledMonth.push('next');\n }\n\n return disabledMonth.join(',');\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nconst getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод модифицирующий дни (добавляющий свойства events и disabled).\n */\nconst getDaysWithModifications = (\n days: DateItem[],\n eventList: EventDay[] = [],\n disabledList: DisabledDay[] = [],\n min?: Date,\n max?: Date,\n includeEdgeDates?: boolean,\n) => {\n const eventsMap = getPropsMap(eventList);\n const disabledDaysMap = getPropsMap(disabledList);\n\n const daysList = days.filter(({ isDayInCurrentMonth }) => isDayInCurrentMonth).map(({ date }) => date);\n\n const disabledMonths = getDisabledMonths(daysList, min, max);\n\n return days.map((dayItem) => {\n const { date } = dayItem;\n const { year, monthIndex, day } = date;\n\n const keyDay = `${year}-${monthIndex}-${day}`;\n const currentDate = new Date(year, monthIndex, day);\n\n const minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);\n const maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);\n const isOutOfMinMaxRange = minValue || maxValue;\n\n dayItem.events = eventsMap.get(keyDay);\n dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;\n\n dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;\n dayItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);\n dayItem.disabledMonths = disabledMonths;\n\n return dayItem;\n });\n};\n\n/**\n * Хук для получения списка дней.\n */\nexport const useDays = (\n date: DateObject,\n value: CalendarValueType,\n eventList?: EventDay[],\n disabledList?: DisabledDay[],\n min?: Date,\n max?: Date,\n includeEdgeDates?: boolean,\n) =>\n useMemo(() => {\n const { monthIndex, year } = date;\n const daysInMonth = getDaysInMonth(monthIndex, year);\n const offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);\n\n const days = [\n ...getDaysInPrevMonth(date, offsetDayInWeek, value),\n ...getDaysInCurrentMonth(date, daysInMonth, value),\n ...getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value),\n ];\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max, includeEdgeDates);\n return getMatrix<DateItem>(modifiedDays);\n }\n\n return getMatrix<DateItem>(days);\n }, [date, value, eventList, disabledList, max, min]);\n"],"names":["getDaysInPrevMonth","date","offsetDayInWeek","value","_getPrevDate","getPrevDate","year","monthIndex","_getPrevDate2","_slicedToArray","prevYear","prevMonth","daysInPrevMonth","getDaysInMonth","Array","from","_","i","isCurrent","isSelected","isDayInCurrentMonth","inRange","isArray","isDayInRange","day","getDaysInCurrentMonth","daysInMonth","IsCurrentDay","Boolean","find","v","isSelectedDay","getDaysInNextMonth","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","visibleDayCount","restDaysInCalendar","isDisabledArrowLeft","min","currentDate","Date","setDate","getDate","isDisabledArrowRight","max","isDisabledArrowUp","isDisabledArrowDown","isDisabledNextMonth","_ref","isOut","isDisabledPreviousMonth","_ref2","getDisabledArrowKey","disabledArrowKey","push","join","getDisabledMonths","list","disabledMonth","length","getPropsMap","props","reduce","acc","prop","_getDateFromValue","getDateFromValue","key","concat","propList","get","set","Map","getDaysWithModifications","days","eventList","arguments","undefined","disabledList","includeEdgeDates","eventsMap","disabledDaysMap","daysList","filter","_ref3","map","_ref4","disabledMonths","dayItem","keyDay","minValue","maxValue","isOutOfMinMaxRange","events","disabled","has","useDays","useMemo","getOffsetDayInWeek","_toConsumableArray","modifiedDays","getMatrix"],"mappings":"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"}
@@ -16,6 +16,7 @@ var CalendarDays = function CalendarDays(_ref) {
16
16
  disabledList = _ref.disabledList,
17
17
  min = _ref.min,
18
18
  max = _ref.max,
19
+ includeEdgeDates = _ref.includeEdgeDates,
19
20
  hoveredDay = _ref.hoveredDay,
20
21
  selectIndexes = _ref.selectIndexes,
21
22
  isDouble = _ref.isDouble,
@@ -25,7 +26,7 @@ var CalendarDays = function CalendarDays(_ref) {
25
26
  onHoverDay = _ref.onHoverDay,
26
27
  onSetSelected = _ref.onSetSelected,
27
28
  onKeyDown = _ref.onKeyDown;
28
- var _useDays = useDays(currentDate, value, eventList, disabledList, min, max),
29
+ var _useDays = useDays(currentDate, value, eventList, disabledList, min, max, includeEdgeDates),
29
30
  _useDays2 = _slicedToArray(_useDays, 2),
30
31
  days = _useDays2[0],
31
32
  selected = _useDays2[1];
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { CalendarDayItem } from '../CalendarDayItem/CalendarDayItem';\nimport { DateItem } from '../../Calendar.types';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n}) => {\n const [days, selected] = useDays(currentDate, value, eventList, disabledList, min, max);\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleOnFocusDay = useCallback(() => {\n // заглушка будет убрана при реализации доступности\n }, []);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES.map((name) => (\n <CalendarDayItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[name]}\n key={name}\n dayOfWeek\n day={name}\n />\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledMonths,\n },\n j,\n ) => (\n <CalendarDayItem\n ref={(element: HTMLDivElement) => getRefs(element, isDayInCurrentMonth, i, j)}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n onFocus={handleOnFocusDay}\n key={`StyledDay-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledMonths}\n />\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleOnFocusDay","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","CalendarDayItem","FULL_DAY_NAMES","key","dayOfWeek","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledMonths","ref","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","onFocus","concat"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { CalendarDayItem } from '../CalendarDayItem/CalendarDayItem';\nimport { DateItem } from '../../Calendar.types';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n}) => {\n const [days, selected] = useDays(currentDate, value, eventList, disabledList, min, max, includeEdgeDates);\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleOnFocusDay = useCallback(() => {\n // заглушка будет убрана при реализации доступности\n }, []);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES.map((name) => (\n <CalendarDayItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[name]}\n key={name}\n dayOfWeek\n day={name}\n />\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledMonths,\n },\n j,\n ) => (\n <CalendarDayItem\n ref={(element: HTMLDivElement) => getRefs(element, isDayInCurrentMonth, i, j)}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n onFocus={handleOnFocusDay}\n key={`StyledDay-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledMonths}\n />\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleOnFocusDay","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","CalendarDayItem","FULL_DAY_NAMES","key","dayOfWeek","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledMonths","ref","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","onFocus","concat"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.80.0-dev.0",
3
+ "version": "0.81.0-canary.1203.9092095304.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -102,5 +102,5 @@
102
102
  "react-popper": "2.3.0",
103
103
  "storeon": "3.1.5"
104
104
  },
105
- "gitHead": "4a1fc4e6f7a81f2361b75d703e96e46de03d453e"
105
+ "gitHead": "94ee225af37a110330eb8ee7abbdff3559f76fb4"
106
106
  }
@@ -14,7 +14,7 @@ var _ui = /*#__PURE__*/require("../ui");
14
14
  var _base = /*#__PURE__*/require("./variations/_view/base");
15
15
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
16
16
  var _CalendarBase = /*#__PURE__*/require("./CalendarBase.styles");
17
- var _excluded = ["value", "min", "max", "type", "eventList", "disabledList", "onChangeValue"];
17
+ var _excluded = ["value", "min", "max", "includeEdgeDates", "type", "eventList", "disabledList", "onChangeValue"];
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
20
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -34,6 +34,7 @@ var calendarBaseRoot = exports.calendarBaseRoot = function calendarBaseRoot(Root
34
34
  var externalValue = _ref.value,
35
35
  min = _ref.min,
36
36
  max = _ref.max,
37
+ includeEdgeDates = _ref.includeEdgeDates,
37
38
  _ref$type = _ref.type,
38
39
  type = _ref$type === void 0 ? 'Days' : _ref$type,
39
40
  eventList = _ref.eventList,
@@ -242,6 +243,7 @@ var calendarBaseRoot = exports.calendarBaseRoot = function calendarBaseRoot(Root
242
243
  disabledList: disabledList,
243
244
  min: min,
244
245
  max: max,
246
+ includeEdgeDates: includeEdgeDates,
245
247
  value: externalValue,
246
248
  date: date,
247
249
  hoveredDay: hoveredDay,
@@ -188,6 +188,7 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
188
188
  var disabledList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
189
189
  var min = arguments.length > 3 ? arguments[3] : undefined;
190
190
  var max = arguments.length > 4 ? arguments[4] : undefined;
191
+ var includeEdgeDates = arguments.length > 5 ? arguments[5] : undefined;
191
192
  var eventsMap = getPropsMap(eventList);
192
193
  var disabledDaysMap = getPropsMap(disabledList);
193
194
  var daysList = days.filter(function (_ref3) {
@@ -205,7 +206,9 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
205
206
  day = date.day;
206
207
  var keyDay = "".concat(year, "-").concat(monthIndex, "-").concat(day);
207
208
  var currentDate = new Date(year, monthIndex, day);
208
- var isOutOfMinMaxRange = min && min >= currentDate || max && max <= currentDate;
209
+ var minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
210
+ var maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
211
+ var isOutOfMinMaxRange = minValue || maxValue;
209
212
  dayItem.events = eventsMap.get(keyDay);
210
213
  dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;
211
214
  dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
@@ -218,7 +221,7 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
218
221
  /**
219
222
  * Хук для получения списка дней.
220
223
  */
221
- var useDays = exports.useDays = function useDays(date, value, eventList, disabledList, min, max) {
224
+ var useDays = exports.useDays = function useDays(date, value, eventList, disabledList, min, max, includeEdgeDates) {
222
225
  return (0, _react.useMemo)(function () {
223
226
  var monthIndex = date.monthIndex,
224
227
  year = date.year;
@@ -226,7 +229,7 @@ var useDays = exports.useDays = function useDays(date, value, eventList, disable
226
229
  var offsetDayInWeek = (0, _utils.getOffsetDayInWeek)(monthIndex, year);
227
230
  var days = [].concat(_toConsumableArray(getDaysInPrevMonth(date, offsetDayInWeek, value)), _toConsumableArray(getDaysInCurrentMonth(date, daysInMonth, value)), _toConsumableArray(getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value)));
228
231
  if (eventList !== null && eventList !== void 0 && eventList.length || disabledList !== null && disabledList !== void 0 && disabledList.length || max || min) {
229
- var modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max);
232
+ var modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max, includeEdgeDates);
230
233
  return (0, _utils.getMatrix)(modifiedDays);
231
234
  }
232
235
  return (0, _utils.getMatrix)(days);
@@ -29,6 +29,7 @@ var CalendarDays = exports.CalendarDays = function CalendarDays(_ref) {
29
29
  disabledList = _ref.disabledList,
30
30
  min = _ref.min,
31
31
  max = _ref.max,
32
+ includeEdgeDates = _ref.includeEdgeDates,
32
33
  hoveredDay = _ref.hoveredDay,
33
34
  selectIndexes = _ref.selectIndexes,
34
35
  isDouble = _ref.isDouble,
@@ -38,7 +39,7 @@ var CalendarDays = exports.CalendarDays = function CalendarDays(_ref) {
38
39
  onHoverDay = _ref.onHoverDay,
39
40
  onSetSelected = _ref.onSetSelected,
40
41
  onKeyDown = _ref.onKeyDown;
41
- var _useDays = (0, _hooks.useDays)(currentDate, value, eventList, disabledList, min, max),
42
+ var _useDays = (0, _hooks.useDays)(currentDate, value, eventList, disabledList, min, max, includeEdgeDates),
42
43
  _useDays2 = _slicedToArray(_useDays, 2),
43
44
  days = _useDays2[0],
44
45
  selected = _useDays2[1];
@@ -79,7 +79,7 @@ const baseEvents = [
79
79
  ];
80
80
 
81
81
  const StoryDefault = (args: CalendarProps) => {
82
- const { isRange, isDouble, min, max, date } = args;
82
+ const { isRange, isDouble, min, max, date, includeEdgeDates } = args;
83
83
  const [value, setValue] = useState(new Date(2023, 10, 16));
84
84
  const [valueRange, setValueRange] = useState<[Date, Date?]>([new Date(2023, 10, 16), new Date(2023, 10, 23)]);
85
85
 
@@ -110,6 +110,7 @@ const StoryDefault = (args: CalendarProps) => {
110
110
  disabledList={disabledDays}
111
111
  min={min}
112
112
  max={max}
113
+ includeEdgeDates={includeEdgeDates}
113
114
  onChangeValue={(isRange ? handleOnRangeChange : handleOnChange) as (value: Date | [Date, Date?]) => void}
114
115
  />
115
116
  );
@@ -121,12 +122,13 @@ export const Default: StoryObj<CalendarProps> = {
121
122
  max: new Date(2023, 11, 24),
122
123
  isDouble: false,
123
124
  isRange: false,
125
+ includeEdgeDates: false,
124
126
  },
125
127
  render: (args) => <StoryDefault {...args} />,
126
128
  };
127
129
 
128
130
  const StoryBase = (args: CalendarBaseProps) => {
129
- const { min, max, type } = args;
131
+ const { min, max, type, includeEdgeDates } = args;
130
132
  const [value, setValue] = useState(new Date(2023, 10, 16));
131
133
 
132
134
  const handleOnChange = useCallback((newValue: Date) => {
@@ -150,6 +152,7 @@ const StoryBase = (args: CalendarBaseProps) => {
150
152
  disabledList={disabledDays}
151
153
  min={min}
152
154
  max={max}
155
+ includeEdgeDates={includeEdgeDates}
153
156
  type={type}
154
157
  onChangeValue={handleOnChange}
155
158
  />
@@ -168,13 +171,14 @@ export const Base: StoryObj<CalendarBaseProps> = {
168
171
  args: {
169
172
  min: new Date(2023, 10, 1),
170
173
  max: new Date(2023, 11, 24),
174
+ includeEdgeDates: false,
171
175
  type: 'Days',
172
176
  },
173
177
  render: (args) => <StoryBase {...args} />,
174
178
  };
175
179
 
176
180
  const StoryDouble = (args: CalendarDoubleProps) => {
177
- const { min, max } = args;
181
+ const { min, max, includeEdgeDates } = args;
178
182
  const [value, setValue] = useState(new Date(2023, 10, 16));
179
183
  const handleOnChange = useCallback((newValue: Date) => {
180
184
  setValue(newValue);
@@ -197,6 +201,7 @@ const StoryDouble = (args: CalendarDoubleProps) => {
197
201
  disabledList={disabledDays}
198
202
  min={min}
199
203
  max={max}
204
+ includeEdgeDates={includeEdgeDates}
200
205
  onChangeValue={handleOnChange}
201
206
  />
202
207
  );
@@ -206,12 +211,13 @@ export const Double: StoryObj<CalendarDoubleProps> = {
206
211
  args: {
207
212
  min: new Date(2023, 10, 1),
208
213
  max: new Date(2023, 11, 24),
214
+ includeEdgeDates: false,
209
215
  },
210
216
  render: (args) => <StoryDouble {...args} />,
211
217
  };
212
218
 
213
219
  const StoryRange = (args: CalendarBaseRangeProps) => {
214
- const { min, max, type } = args;
220
+ const { min, max, type, includeEdgeDates } = args;
215
221
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 10, 15), new Date(2023, 10, 24)]);
216
222
  const handleOnChange = useCallback((newValue: [Date, Date?]) => {
217
223
  onChangeValue(newValue);
@@ -237,6 +243,7 @@ const StoryRange = (args: CalendarBaseRangeProps) => {
237
243
  disabledList={disabledList}
238
244
  min={min}
239
245
  max={max}
246
+ includeEdgeDates={includeEdgeDates}
240
247
  type={type}
241
248
  onChangeValue={handleOnChange}
242
249
  />
@@ -255,13 +262,14 @@ export const Range: StoryObj<CalendarBaseRangeProps> = {
255
262
  args: {
256
263
  min: new Date(2023, 10, 1),
257
264
  max: new Date(2023, 11, 24),
265
+ includeEdgeDates: false,
258
266
  type: 'Days',
259
267
  },
260
268
  render: (args) => <StoryRange {...args} />,
261
269
  };
262
270
 
263
271
  const StoryRangeDouble = (args: CalendarBaseRangeProps) => {
264
- const { min, max } = args;
272
+ const { min, max, includeEdgeDates } = args;
265
273
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 10, 15), new Date(2023, 10, 24)]);
266
274
  const handleOnChange = useCallback((newValue: [Date, Date?]) => {
267
275
  onChangeValue(newValue);
@@ -287,6 +295,7 @@ const StoryRangeDouble = (args: CalendarBaseRangeProps) => {
287
295
  disabledList={disabledList}
288
296
  min={min}
289
297
  max={max}
298
+ includeEdgeDates={includeEdgeDates}
290
299
  onChangeValue={handleOnChange}
291
300
  />
292
301
  );
@@ -296,12 +305,13 @@ export const RangeDouble: StoryObj<CalendarBaseRangeProps> = {
296
305
  args: {
297
306
  min: new Date(2023, 10, 1),
298
307
  max: new Date(2023, 11, 24),
308
+ includeEdgeDates: false,
299
309
  },
300
310
  render: (args) => <StoryRangeDouble {...args} />,
301
311
  };
302
312
 
303
313
  const StoryWithPopover = (args: CalendarProps) => {
304
- const { isDouble, min, max } = args;
314
+ const { isDouble, min, max, includeEdgeDates } = args;
305
315
  const [isOpen, setIsOpen] = useState(false);
306
316
  const [textValue, setTextValue] = useState('2023-10-16');
307
317
  const [value, setValue] = useState(new Date(textValue));
@@ -340,6 +350,7 @@ const StoryWithPopover = (args: CalendarProps) => {
340
350
  disabledList={disabledDays}
341
351
  min={min}
342
352
  max={max}
353
+ includeEdgeDates={includeEdgeDates}
343
354
  isDouble={isDouble}
344
355
  isRange={false}
345
356
  onChangeValue={handleOnChange}
@@ -353,6 +364,7 @@ export const WithPopover: StoryObj<CalendarProps> = {
353
364
  min: new Date(2023, 9, 1),
354
365
  max: new Date(2023, 11, 24),
355
366
  isDouble: false,
367
+ includeEdgeDates: false,
356
368
  },
357
369
  render: (args) => <StoryWithPopover {...args} />,
358
370
  };
@@ -79,7 +79,7 @@ const baseEvents = [
79
79
  ];
80
80
 
81
81
  const StoryDefault = (args: CalendarProps) => {
82
- const { isRange, isDouble, min, max, date } = args;
82
+ const { isRange, isDouble, min, max, date, includeEdgeDates } = args;
83
83
  const [value, setValue] = useState(new Date(2023, 10, 16));
84
84
  const [valueRange, setValueRange] = useState<[Date, Date?]>([new Date(2023, 10, 16), new Date(2023, 10, 23)]);
85
85
 
@@ -110,6 +110,7 @@ const StoryDefault = (args: CalendarProps) => {
110
110
  disabledList={disabledDays}
111
111
  min={min}
112
112
  max={max}
113
+ includeEdgeDates={includeEdgeDates}
113
114
  onChangeValue={(isRange ? handleOnRangeChange : handleOnChange) as (value: Date | [Date, Date?]) => void}
114
115
  />
115
116
  );
@@ -121,12 +122,13 @@ export const Default: StoryObj<CalendarProps> = {
121
122
  max: new Date(2023, 11, 24),
122
123
  isDouble: false,
123
124
  isRange: false,
125
+ includeEdgeDates: false,
124
126
  },
125
127
  render: (args) => <StoryDefault {...args} />,
126
128
  };
127
129
 
128
130
  const StoryBase = (args: CalendarBaseProps) => {
129
- const { min, max, type } = args;
131
+ const { min, max, type, includeEdgeDates } = args;
130
132
  const [value, setValue] = useState(new Date(2023, 10, 16));
131
133
 
132
134
  const handleOnChange = useCallback((newValue: Date) => {
@@ -150,6 +152,7 @@ const StoryBase = (args: CalendarBaseProps) => {
150
152
  disabledList={disabledDays}
151
153
  min={min}
152
154
  max={max}
155
+ includeEdgeDates={includeEdgeDates}
153
156
  type={type}
154
157
  onChangeValue={handleOnChange}
155
158
  />
@@ -168,13 +171,14 @@ export const Base: StoryObj<CalendarBaseProps> = {
168
171
  args: {
169
172
  min: new Date(2023, 10, 1),
170
173
  max: new Date(2023, 11, 24),
174
+ includeEdgeDates: false,
171
175
  type: 'Days',
172
176
  },
173
177
  render: (args) => <StoryBase {...args} />,
174
178
  };
175
179
 
176
180
  const StoryDouble = (args: CalendarDoubleProps) => {
177
- const { min, max } = args;
181
+ const { min, max, includeEdgeDates } = args;
178
182
  const [value, setValue] = useState(new Date(2023, 10, 16));
179
183
  const handleOnChange = useCallback((newValue: Date) => {
180
184
  setValue(newValue);
@@ -197,6 +201,7 @@ const StoryDouble = (args: CalendarDoubleProps) => {
197
201
  disabledList={disabledDays}
198
202
  min={min}
199
203
  max={max}
204
+ includeEdgeDates={includeEdgeDates}
200
205
  onChangeValue={handleOnChange}
201
206
  />
202
207
  );
@@ -206,12 +211,13 @@ export const Double: StoryObj<CalendarDoubleProps> = {
206
211
  args: {
207
212
  min: new Date(2023, 10, 1),
208
213
  max: new Date(2023, 11, 24),
214
+ includeEdgeDates: false,
209
215
  },
210
216
  render: (args) => <StoryDouble {...args} />,
211
217
  };
212
218
 
213
219
  const StoryRange = (args: CalendarBaseRangeProps) => {
214
- const { min, max, type } = args;
220
+ const { min, max, type, includeEdgeDates } = args;
215
221
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 10, 15), new Date(2023, 10, 24)]);
216
222
  const handleOnChange = useCallback((newValue: [Date, Date?]) => {
217
223
  onChangeValue(newValue);
@@ -237,6 +243,7 @@ const StoryRange = (args: CalendarBaseRangeProps) => {
237
243
  disabledList={disabledList}
238
244
  min={min}
239
245
  max={max}
246
+ includeEdgeDates={includeEdgeDates}
240
247
  type={type}
241
248
  onChangeValue={handleOnChange}
242
249
  />
@@ -255,13 +262,14 @@ export const Range: StoryObj<CalendarBaseRangeProps> = {
255
262
  args: {
256
263
  min: new Date(2023, 10, 1),
257
264
  max: new Date(2023, 11, 24),
265
+ includeEdgeDates: false,
258
266
  type: 'Days',
259
267
  },
260
268
  render: (args) => <StoryRange {...args} />,
261
269
  };
262
270
 
263
271
  const StoryRangeDouble = (args: CalendarBaseRangeProps) => {
264
- const { min, max } = args;
272
+ const { min, max, includeEdgeDates } = args;
265
273
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 10, 15), new Date(2023, 10, 24)]);
266
274
  const handleOnChange = useCallback((newValue: [Date, Date?]) => {
267
275
  onChangeValue(newValue);
@@ -287,6 +295,7 @@ const StoryRangeDouble = (args: CalendarBaseRangeProps) => {
287
295
  disabledList={disabledList}
288
296
  min={min}
289
297
  max={max}
298
+ includeEdgeDates={includeEdgeDates}
290
299
  onChangeValue={handleOnChange}
291
300
  />
292
301
  );
@@ -296,12 +305,13 @@ export const RangeDouble: StoryObj<CalendarBaseRangeProps> = {
296
305
  args: {
297
306
  min: new Date(2023, 10, 1),
298
307
  max: new Date(2023, 11, 24),
308
+ includeEdgeDates: false,
299
309
  },
300
310
  render: (args) => <StoryRangeDouble {...args} />,
301
311
  };
302
312
 
303
313
  const StoryWithPopover = (args: CalendarProps) => {
304
- const { isDouble, min, max } = args;
314
+ const { isDouble, min, max, includeEdgeDates } = args;
305
315
  const [isOpen, setIsOpen] = useState(false);
306
316
  const [textValue, setTextValue] = useState('2023-10-16');
307
317
  const [value, setValue] = useState(new Date(textValue));
@@ -340,6 +350,7 @@ const StoryWithPopover = (args: CalendarProps) => {
340
350
  disabledList={disabledDays}
341
351
  min={min}
342
352
  max={max}
353
+ includeEdgeDates={includeEdgeDates}
343
354
  isDouble={isDouble}
344
355
  isRange={false}
345
356
  onChangeValue={handleOnChange}
@@ -353,6 +364,7 @@ export const WithPopover: StoryObj<CalendarProps> = {
353
364
  min: new Date(2023, 9, 1),
354
365
  max: new Date(2023, 11, 24),
355
366
  isDouble: false,
367
+ includeEdgeDates: false,
356
368
  },
357
369
  render: (args) => <StoryWithPopover {...args} />,
358
370
  };