@salutejs/plasma-new-hope 0.324.1-canary.1990.15248420614.0 → 0.325.0-canary.1715.15255555914.0

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.
Files changed (58) hide show
  1. package/cjs/components/Calendar/hooks/useMonths.js +3 -1
  2. package/cjs/components/Calendar/hooks/useMonths.js.map +1 -1
  3. package/cjs/components/Calendar/hooks/useQuarters.js +3 -1
  4. package/cjs/components/Calendar/hooks/useQuarters.js.map +1 -1
  5. package/cjs/components/Calendar/hooks/useYears.js +3 -1
  6. package/cjs/components/Calendar/hooks/useYears.js.map +1 -1
  7. package/cjs/components/Calendar/utils/getDateWithModification.js +28 -24
  8. package/cjs/components/Calendar/utils/getDateWithModification.js.map +1 -1
  9. package/emotion/cjs/components/Calendar/hooks/useMonths.js +3 -1
  10. package/emotion/cjs/components/Calendar/hooks/useQuarters.js +3 -1
  11. package/emotion/cjs/components/Calendar/hooks/useYears.js +3 -1
  12. package/emotion/cjs/components/Calendar/utils/getDateWithModification.js +28 -24
  13. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +23 -22
  14. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +4 -3
  15. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +23 -22
  16. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +5 -4
  17. package/emotion/es/components/Calendar/hooks/useMonths.js +3 -1
  18. package/emotion/es/components/Calendar/hooks/useQuarters.js +3 -1
  19. package/emotion/es/components/Calendar/hooks/useYears.js +3 -1
  20. package/emotion/es/components/Calendar/utils/getDateWithModification.js +28 -24
  21. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +23 -22
  22. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +4 -3
  23. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +23 -22
  24. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +5 -4
  25. package/es/components/Calendar/hooks/useMonths.js +3 -1
  26. package/es/components/Calendar/hooks/useMonths.js.map +1 -1
  27. package/es/components/Calendar/hooks/useQuarters.js +3 -1
  28. package/es/components/Calendar/hooks/useQuarters.js.map +1 -1
  29. package/es/components/Calendar/hooks/useYears.js +3 -1
  30. package/es/components/Calendar/hooks/useYears.js.map +1 -1
  31. package/es/components/Calendar/utils/getDateWithModification.js +28 -24
  32. package/es/components/Calendar/utils/getDateWithModification.js.map +1 -1
  33. package/package.json +2 -2
  34. package/styled-components/cjs/components/Calendar/hooks/useMonths.js +3 -1
  35. package/styled-components/cjs/components/Calendar/hooks/useQuarters.js +3 -1
  36. package/styled-components/cjs/components/Calendar/hooks/useYears.js +3 -1
  37. package/styled-components/cjs/components/Calendar/utils/getDateWithModification.js +28 -24
  38. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +2 -1
  39. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +4 -3
  40. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +7 -6
  41. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +5 -4
  42. package/styled-components/es/components/Calendar/hooks/useMonths.js +3 -1
  43. package/styled-components/es/components/Calendar/hooks/useQuarters.js +3 -1
  44. package/styled-components/es/components/Calendar/hooks/useYears.js +3 -1
  45. package/styled-components/es/components/Calendar/utils/getDateWithModification.js +28 -24
  46. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +2 -1
  47. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +4 -3
  48. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +7 -6
  49. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +5 -4
  50. package/types/components/Calendar/hooks/types.d.ts +7 -2
  51. package/types/components/Calendar/hooks/types.d.ts.map +1 -1
  52. package/types/components/Calendar/hooks/useMonths.d.ts +1 -1
  53. package/types/components/Calendar/hooks/useMonths.d.ts.map +1 -1
  54. package/types/components/Calendar/hooks/useQuarters.d.ts +1 -1
  55. package/types/components/Calendar/hooks/useQuarters.d.ts.map +1 -1
  56. package/types/components/Calendar/hooks/useYears.d.ts +1 -1
  57. package/types/components/Calendar/hooks/useYears.d.ts.map +1 -1
  58. package/types/components/Calendar/utils/getDateWithModification.d.ts.map +1 -1
@@ -20,7 +20,8 @@ var useMonths = function useMonths(_ref) {
20
20
  min = _ref.min,
21
21
  max = _ref.max,
22
22
  _ref$locale = _ref.locale,
23
- locale = _ref$locale === void 0 ? 'ru' : _ref$locale;
23
+ locale = _ref$locale === void 0 ? 'ru' : _ref$locale,
24
+ includeEdgeDates = _ref.includeEdgeDates;
24
25
  return React.useMemo(function () {
25
26
  var months = constants.SHORT_MONTH_NAME[locale].map(function (monthName, monthIndex) {
26
27
  return {
@@ -45,6 +46,7 @@ var useMonths = function useMonths(_ref) {
45
46
  type: types.CalendarState.Months,
46
47
  min: min,
47
48
  max: max,
49
+ includeEdgeDates: includeEdgeDates,
48
50
  eventList: eventList,
49
51
  disabledList: disabledList
50
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMonths.js","sources":["../../../../src/components/Calendar/hooks/useMonths.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { DateItem } from '../Calendar.types';\nimport {\n SHORT_MONTH_NAME,\n isSelectedMonth,\n isCurrentMonth,\n getMatrix,\n MONTH_NAMES,\n isDateInRange,\n getDatesWithModifications,\n} from '../utils';\nimport { CalendarState } from '../store/types';\n\nimport { UseMonthsArgs } from './types';\n\n/**\n * Хук для получения списка месяцев.\n */\nexport const useMonths = ({ date, value, eventList, disabledList, min, max, locale = 'ru' }: UseMonthsArgs) =>\n useMemo(() => {\n const months = SHORT_MONTH_NAME[locale].map((monthName, monthIndex) => {\n return {\n monthName,\n monthIndex,\n isCurrent: isCurrentMonth(date, monthIndex),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedMonth(date, monthIndex, v)))\n : isSelectedMonth(date, monthIndex, value),\n inRange: Array.isArray(value) ? isDateInRange(date.year, monthIndex, 1, value) : false,\n monthFullName: MONTH_NAMES[locale][monthIndex],\n date: { year: date.year, monthIndex, day: 1 },\n };\n });\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedMonths = getDatesWithModifications({\n dates: months,\n type: CalendarState.Months,\n min,\n max,\n eventList,\n disabledList,\n });\n return getMatrix<DateItem>(modifiedMonths, 3);\n }\n\n return getMatrix<DateItem>(months, 3);\n }, [date, value, eventList, disabledList, max, min, locale]);\n"],"names":["useMonths","_ref","date","value","eventList","disabledList","min","max","_ref$locale","locale","useMemo","months","SHORT_MONTH_NAME","map","monthName","monthIndex","isCurrent","isCurrentMonth","isSelected","Array","isArray","Boolean","find","v","isSelectedMonth","inRange","isDateInRange","year","monthFullName","MONTH_NAMES","day","length","modifiedMonths","getDatesWithModifications","dates","type","CalendarState","Months","getMatrix"],"mappings":";;;;;;;;;;;AAgBA;AACA;AACA;IACaA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG;IAAAC,WAAA,GAAAP,IAAA,CAAEQ,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA,CAAA;EAAA,OACrFE,aAAO,CAAC,YAAM;AACV,IAAA,IAAMC,MAAM,GAAGC,0BAAgB,CAACH,MAAM,CAAC,CAACI,GAAG,CAAC,UAACC,SAAS,EAAEC,UAAU,EAAK;MACnE,OAAO;AACHD,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,SAAS,EAAEC,iCAAc,CAACf,IAAI,EAAEa,UAAU,CAAC;AAC3CG,QAAAA,UAAU,EAAEC,KAAK,CAACC,OAAO,CAACjB,KAAK,CAAC,GAC1BkB,OAAO,CAAClB,KAAK,CAACmB,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKC,kCAAe,CAACtB,IAAI,EAAEa,UAAU,EAAEQ,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAChEC,kCAAe,CAACtB,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;QAC9CsB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAACjB,KAAK,CAAC,GAAGuB,iCAAa,CAACxB,IAAI,CAACyB,IAAI,EAAEZ,UAAU,EAAE,CAAC,EAAEZ,KAAK,CAAC,GAAG,KAAK;AACtFyB,QAAAA,aAAa,EAAEC,qBAAW,CAACpB,MAAM,CAAC,CAACM,UAAU,CAAC;AAC9Cb,QAAAA,IAAI,EAAE;UAAEyB,IAAI,EAAEzB,IAAI,CAACyB,IAAI;AAAEZ,UAAAA,UAAU,EAAVA,UAAU;AAAEe,UAAAA,GAAG,EAAE,CAAA;AAAE,SAAA;OAC/C,CAAA;AACL,KAAC,CAAC,CAAA;AAEF,IAAA,IAAI1B,SAAS,KAATA,IAAAA,IAAAA,SAAS,eAATA,SAAS,CAAE2B,MAAM,IAAI1B,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAE0B,MAAM,IAAIxB,GAAG,IAAID,GAAG,EAAE;MACzD,IAAM0B,cAAc,GAAGC,iDAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,MAAM;QACbwB,IAAI,EAAEC,mBAAa,CAACC,MAAM;AAC1B/B,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHH,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;AACF,MAAA,OAAOiC,4BAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,4BAAS,CAAW3B,MAAM,EAAE,CAAC,CAAC,CAAA;AACzC,GAAC,EAAE,CAACT,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAEC,YAAY,EAAEE,GAAG,EAAED,GAAG,EAAEG,MAAM,CAAC,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"useMonths.js","sources":["../../../../src/components/Calendar/hooks/useMonths.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { DateItem } from '../Calendar.types';\nimport {\n SHORT_MONTH_NAME,\n isSelectedMonth,\n isCurrentMonth,\n getMatrix,\n MONTH_NAMES,\n isDateInRange,\n getDatesWithModifications,\n} from '../utils';\nimport { CalendarState } from '../store/types';\n\nimport { UseMonthsArgs } from './types';\n\n/**\n * Хук для получения списка месяцев.\n */\nexport const useMonths = ({\n date,\n value,\n eventList,\n disabledList,\n min,\n max,\n locale = 'ru',\n includeEdgeDates,\n}: UseMonthsArgs) =>\n useMemo(() => {\n const months = SHORT_MONTH_NAME[locale].map((monthName, monthIndex) => {\n return {\n monthName,\n monthIndex,\n isCurrent: isCurrentMonth(date, monthIndex),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedMonth(date, monthIndex, v)))\n : isSelectedMonth(date, monthIndex, value),\n inRange: Array.isArray(value) ? isDateInRange(date.year, monthIndex, 1, value) : false,\n monthFullName: MONTH_NAMES[locale][monthIndex],\n date: { year: date.year, monthIndex, day: 1 },\n };\n });\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedMonths = getDatesWithModifications({\n dates: months,\n type: CalendarState.Months,\n min,\n max,\n includeEdgeDates,\n eventList,\n disabledList,\n });\n return getMatrix<DateItem>(modifiedMonths, 3);\n }\n\n return getMatrix<DateItem>(months, 3);\n }, [date, value, eventList, disabledList, max, min, locale]);\n"],"names":["useMonths","_ref","date","value","eventList","disabledList","min","max","_ref$locale","locale","includeEdgeDates","useMemo","months","SHORT_MONTH_NAME","map","monthName","monthIndex","isCurrent","isCurrentMonth","isSelected","Array","isArray","Boolean","find","v","isSelectedMonth","inRange","isDateInRange","year","monthFullName","MONTH_NAMES","day","length","modifiedMonths","getDatesWithModifications","dates","type","CalendarState","Months","getMatrix"],"mappings":";;;;;;;;;;;AAgBA;AACA;AACA;IACaA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAClBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IACHC,GAAG,GAAAN,IAAA,CAAHM,GAAG;IAAAC,WAAA,GAAAP,IAAA,CACHQ,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;IACbE,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB,CAAA;EAAA,OAEhBC,aAAO,CAAC,YAAM;AACV,IAAA,IAAMC,MAAM,GAAGC,0BAAgB,CAACJ,MAAM,CAAC,CAACK,GAAG,CAAC,UAACC,SAAS,EAAEC,UAAU,EAAK;MACnE,OAAO;AACHD,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,SAAS,EAAEC,iCAAc,CAAChB,IAAI,EAAEc,UAAU,CAAC;AAC3CG,QAAAA,UAAU,EAAEC,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GAC1BmB,OAAO,CAACnB,KAAK,CAACoB,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKC,kCAAe,CAACvB,IAAI,EAAEc,UAAU,EAAEQ,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAChEC,kCAAe,CAACvB,IAAI,EAAEc,UAAU,EAAEb,KAAK,CAAC;QAC9CuB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GAAGwB,iCAAa,CAACzB,IAAI,CAAC0B,IAAI,EAAEZ,UAAU,EAAE,CAAC,EAAEb,KAAK,CAAC,GAAG,KAAK;AACtF0B,QAAAA,aAAa,EAAEC,qBAAW,CAACrB,MAAM,CAAC,CAACO,UAAU,CAAC;AAC9Cd,QAAAA,IAAI,EAAE;UAAE0B,IAAI,EAAE1B,IAAI,CAAC0B,IAAI;AAAEZ,UAAAA,UAAU,EAAVA,UAAU;AAAEe,UAAAA,GAAG,EAAE,CAAA;AAAE,SAAA;OAC/C,CAAA;AACL,KAAC,CAAC,CAAA;AAEF,IAAA,IAAI3B,SAAS,KAATA,IAAAA,IAAAA,SAAS,eAATA,SAAS,CAAE4B,MAAM,IAAI3B,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAE2B,MAAM,IAAIzB,GAAG,IAAID,GAAG,EAAE;MACzD,IAAM2B,cAAc,GAAGC,iDAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,MAAM;QACbwB,IAAI,EAAEC,mBAAa,CAACC,MAAM;AAC1BhC,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHG,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBN,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;AACF,MAAA,OAAOkC,4BAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,4BAAS,CAAW3B,MAAM,EAAE,CAAC,CAAC,CAAA;AACzC,GAAC,EAAE,CAACV,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAEC,YAAY,EAAEE,GAAG,EAAED,GAAG,EAAEG,MAAM,CAAC,CAAC,CAAA;AAAA;;;;"}
@@ -18,7 +18,8 @@ var useQuarters = function useQuarters(_ref) {
18
18
  eventList = _ref.eventList,
19
19
  disabledList = _ref.disabledList,
20
20
  min = _ref.min,
21
- max = _ref.max;
21
+ max = _ref.max,
22
+ includeEdgeDates = _ref.includeEdgeDates;
22
23
  return React.useMemo(function () {
23
24
  var quarters = constants.QUARTER_NAMES.map(function (quarterName) {
24
25
  var _quarterDates$quarter = constants.quarterDates[quarterName],
@@ -44,6 +45,7 @@ var useQuarters = function useQuarters(_ref) {
44
45
  type: types.CalendarState.Quarters,
45
46
  min: min,
46
47
  max: max,
48
+ includeEdgeDates: includeEdgeDates,
47
49
  eventList: eventList,
48
50
  disabledList: disabledList
49
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useQuarters.js","sources":["../../../../src/components/Calendar/hooks/useQuarters.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { DateItem } from '../Calendar.types';\nimport {\n QUARTER_NAMES,\n getMatrix,\n isDateInRange,\n getDatesWithModifications,\n quarterDates,\n isSelectedMonth as isSelectedQuarter,\n isCurrentMonth as isCurrentQuarter,\n} from '../utils';\nimport { CalendarState } from '../store/types';\n\nimport type { UseQuartersArgs } from './types';\n\n/**\n * Хук для получения списка месяцев.\n */\nexport const useQuarters = ({ date, value, eventList, disabledList, min, max }: UseQuartersArgs) =>\n useMemo(() => {\n const quarters = QUARTER_NAMES.map((quarterName: string) => {\n const { monthIndex, day } = quarterDates[quarterName];\n\n return {\n quarterName,\n isCurrent: isCurrentQuarter(date, monthIndex),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedQuarter(date, monthIndex, v)))\n : isSelectedQuarter(date, monthIndex, value),\n inRange: Array.isArray(value) ? isDateInRange(date.year, monthIndex, day, value) : false,\n date: { year: date.year, monthIndex, day: 1 },\n };\n });\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedQuarters = getDatesWithModifications({\n dates: quarters,\n type: CalendarState.Quarters,\n min,\n max,\n eventList,\n disabledList,\n });\n\n return getMatrix<DateItem>(modifiedQuarters, 2);\n }\n\n return getMatrix<DateItem>(quarters, 2);\n }, [date, value, eventList, disabledList, max, min]);\n"],"names":["useQuarters","_ref","date","value","eventList","disabledList","min","max","useMemo","quarters","QUARTER_NAMES","map","quarterName","_quarterDates$quarter","quarterDates","monthIndex","day","isCurrent","isCurrentQuarter","isSelected","Array","isArray","Boolean","find","v","isSelectedQuarter","inRange","isDateInRange","year","length","modifiedQuarters","getDatesWithModifications","dates","type","CalendarState","Quarters","getMatrix"],"mappings":";;;;;;;;;;;AAgBA;AACA;AACA;IACaA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG,CAAA;EAAA,OACxEC,aAAO,CAAC,YAAM;IACV,IAAMC,QAAQ,GAAGC,uBAAa,CAACC,GAAG,CAAC,UAACC,WAAmB,EAAK;AACxD,MAAA,IAAAC,qBAAA,GAA4BC,sBAAY,CAACF,WAAW,CAAC;QAA7CG,UAAU,GAAAF,qBAAA,CAAVE,UAAU;QAAEC,GAAG,GAAAH,qBAAA,CAAHG,GAAG,CAAA;MAEvB,OAAO;AACHJ,QAAAA,WAAW,EAAXA,WAAW;AACXK,QAAAA,SAAS,EAAEC,iCAAgB,CAAChB,IAAI,EAAEa,UAAU,CAAC;AAC7CI,QAAAA,UAAU,EAAEC,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GAC1BmB,OAAO,CAACnB,KAAK,CAACoB,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKC,kCAAiB,CAACvB,IAAI,EAAEa,UAAU,EAAES,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAClEC,kCAAiB,CAACvB,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;QAChDuB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GAAGwB,iCAAa,CAACzB,IAAI,CAAC0B,IAAI,EAAEb,UAAU,EAAEC,GAAG,EAAEb,KAAK,CAAC,GAAG,KAAK;AACxFD,QAAAA,IAAI,EAAE;UAAE0B,IAAI,EAAE1B,IAAI,CAAC0B,IAAI;AAAEb,UAAAA,UAAU,EAAVA,UAAU;AAAEC,UAAAA,GAAG,EAAE,CAAA;AAAE,SAAA;OAC/C,CAAA;AACL,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIZ,SAAS,KAATA,IAAAA,IAAAA,SAAS,eAATA,SAAS,CAAEyB,MAAM,IAAIxB,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAEwB,MAAM,IAAItB,GAAG,IAAID,GAAG,EAAE;MACzD,IAAMwB,gBAAgB,GAAGC,iDAAyB,CAAC;AAC/CC,QAAAA,KAAK,EAAEvB,QAAQ;QACfwB,IAAI,EAAEC,mBAAa,CAACC,QAAQ;AAC5B7B,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHH,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;AAEF,MAAA,OAAO+B,4BAAS,CAAWN,gBAAgB,EAAE,CAAC,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,OAAOM,4BAAS,CAAW3B,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC3C,GAAC,EAAE,CAACP,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAEC,YAAY,EAAEE,GAAG,EAAED,GAAG,CAAC,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"useQuarters.js","sources":["../../../../src/components/Calendar/hooks/useQuarters.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { DateItem } from '../Calendar.types';\nimport {\n QUARTER_NAMES,\n getMatrix,\n isDateInRange,\n getDatesWithModifications,\n quarterDates,\n isSelectedMonth as isSelectedQuarter,\n isCurrentMonth as isCurrentQuarter,\n} from '../utils';\nimport { CalendarState } from '../store/types';\n\nimport type { UseQuartersArgs } from './types';\n\n/**\n * Хук для получения списка месяцев.\n */\nexport const useQuarters = ({ date, value, eventList, disabledList, min, max, includeEdgeDates }: UseQuartersArgs) =>\n useMemo(() => {\n const quarters = QUARTER_NAMES.map((quarterName: string) => {\n const { monthIndex, day } = quarterDates[quarterName];\n\n return {\n quarterName,\n isCurrent: isCurrentQuarter(date, monthIndex),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedQuarter(date, monthIndex, v)))\n : isSelectedQuarter(date, monthIndex, value),\n inRange: Array.isArray(value) ? isDateInRange(date.year, monthIndex, day, value) : false,\n date: { year: date.year, monthIndex, day: 1 },\n };\n });\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedQuarters = getDatesWithModifications({\n dates: quarters,\n type: CalendarState.Quarters,\n min,\n max,\n includeEdgeDates,\n eventList,\n disabledList,\n });\n\n return getMatrix<DateItem>(modifiedQuarters, 2);\n }\n\n return getMatrix<DateItem>(quarters, 2);\n }, [date, value, eventList, disabledList, max, min]);\n"],"names":["useQuarters","_ref","date","value","eventList","disabledList","min","max","includeEdgeDates","useMemo","quarters","QUARTER_NAMES","map","quarterName","_quarterDates$quarter","quarterDates","monthIndex","day","isCurrent","isCurrentQuarter","isSelected","Array","isArray","Boolean","find","v","isSelectedQuarter","inRange","isDateInRange","year","length","modifiedQuarters","getDatesWithModifications","dates","type","CalendarState","Quarters","getMatrix"],"mappings":";;;;;;;;;;;AAgBA;AACA;AACA;IACaA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG;IAAEC,gBAAgB,GAAAP,IAAA,CAAhBO,gBAAgB,CAAA;EAAA,OAC1FC,aAAO,CAAC,YAAM;IACV,IAAMC,QAAQ,GAAGC,uBAAa,CAACC,GAAG,CAAC,UAACC,WAAmB,EAAK;AACxD,MAAA,IAAAC,qBAAA,GAA4BC,sBAAY,CAACF,WAAW,CAAC;QAA7CG,UAAU,GAAAF,qBAAA,CAAVE,UAAU;QAAEC,GAAG,GAAAH,qBAAA,CAAHG,GAAG,CAAA;MAEvB,OAAO;AACHJ,QAAAA,WAAW,EAAXA,WAAW;AACXK,QAAAA,SAAS,EAAEC,iCAAgB,CAACjB,IAAI,EAAEc,UAAU,CAAC;AAC7CI,QAAAA,UAAU,EAAEC,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,GAC1BoB,OAAO,CAACpB,KAAK,CAACqB,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKC,kCAAiB,CAACxB,IAAI,EAAEc,UAAU,EAAES,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAClEC,kCAAiB,CAACxB,IAAI,EAAEc,UAAU,EAAEb,KAAK,CAAC;QAChDwB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,GAAGyB,iCAAa,CAAC1B,IAAI,CAAC2B,IAAI,EAAEb,UAAU,EAAEC,GAAG,EAAEd,KAAK,CAAC,GAAG,KAAK;AACxFD,QAAAA,IAAI,EAAE;UAAE2B,IAAI,EAAE3B,IAAI,CAAC2B,IAAI;AAAEb,UAAAA,UAAU,EAAVA,UAAU;AAAEC,UAAAA,GAAG,EAAE,CAAA;AAAE,SAAA;OAC/C,CAAA;AACL,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIb,SAAS,KAATA,IAAAA,IAAAA,SAAS,eAATA,SAAS,CAAE0B,MAAM,IAAIzB,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAEyB,MAAM,IAAIvB,GAAG,IAAID,GAAG,EAAE;MACzD,IAAMyB,gBAAgB,GAAGC,iDAAyB,CAAC;AAC/CC,QAAAA,KAAK,EAAEvB,QAAQ;QACfwB,IAAI,EAAEC,mBAAa,CAACC,QAAQ;AAC5B9B,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBJ,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;AAEF,MAAA,OAAOgC,4BAAS,CAAWN,gBAAgB,EAAE,CAAC,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,OAAOM,4BAAS,CAAW3B,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC3C,GAAC,EAAE,CAACR,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAEC,YAAY,EAAEE,GAAG,EAAED,GAAG,CAAC,CAAC,CAAA;AAAA;;;;"}
@@ -19,7 +19,8 @@ var useYears = function useYears(_ref) {
19
19
  eventList = _ref.eventList,
20
20
  disabledList = _ref.disabledList,
21
21
  min = _ref.min,
22
- max = _ref.max;
22
+ max = _ref.max,
23
+ includeEdgeDates = _ref.includeEdgeDates;
23
24
  return React.useMemo(function () {
24
25
  // type-coverage:ignore-next-line
25
26
  var years = Array.from(Array(constants.YEAR_RENDER_COUNT), function (_, i) {
@@ -44,6 +45,7 @@ var useYears = function useYears(_ref) {
44
45
  type: types.CalendarState.Years,
45
46
  min: min,
46
47
  max: max,
48
+ includeEdgeDates: includeEdgeDates,
47
49
  eventList: eventList,
48
50
  disabledList: disabledList
49
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useYears.js","sources":["../../../../src/components/Calendar/hooks/useYears.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n YEAR_RENDER_COUNT,\n isCurrentYear,\n isSelectedYear,\n getMatrix,\n isDateInRange,\n getDatesWithModifications,\n} from '../utils';\nimport type { DateItem } from '../Calendar.types';\nimport { CalendarState } from '../store/types';\n\nimport type { UseYearsArgs } from './types';\n\n/**\n * Хук для получения списка годов.\n */\nexport const useYears = ({ date, value, startYear, eventList, disabledList, min, max }: UseYearsArgs) =>\n useMemo(() => {\n // type-coverage:ignore-next-line\n const years = Array.from(Array(YEAR_RENDER_COUNT), (_, i) => {\n const yearValue = startYear + i;\n\n return {\n isCurrent: isCurrentYear(startYear + i),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedYear(yearValue, v)))\n : isSelectedYear(yearValue, value),\n inRange: Array.isArray(value) ? isDateInRange(yearValue, 0, 1, value) : false,\n date: { year: yearValue, monthIndex: 0, day: 1 },\n yearValue,\n };\n });\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedMonths = getDatesWithModifications({\n dates: years,\n type: CalendarState.Years,\n min,\n max,\n eventList,\n disabledList,\n });\n return getMatrix<DateItem>(modifiedMonths, 3);\n }\n\n return getMatrix<DateItem>(years, 3);\n }, [date, startYear, value, eventList, disabledList, max, min]);\n"],"names":["useYears","_ref","date","value","startYear","eventList","disabledList","min","max","useMemo","years","Array","from","YEAR_RENDER_COUNT","_","i","yearValue","isCurrent","isCurrentYear","isSelected","isArray","Boolean","find","v","isSelectedYear","inRange","isDateInRange","year","monthIndex","day","length","modifiedMonths","getDatesWithModifications","dates","type","CalendarState","Years","getMatrix"],"mappings":";;;;;;;;;;;AAeA;AACA;AACA;IACaA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IAAEC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG;IAAEC,GAAG,GAAAP,IAAA,CAAHO,GAAG,CAAA;EAAA,OAChFC,aAAO,CAAC,YAAM;AACV;AACA,IAAA,IAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACE,2BAAiB,CAAC,EAAE,UAACC,CAAC,EAAEC,CAAC,EAAK;AACzD,MAAA,IAAMC,SAAS,GAAGZ,SAAS,GAAGW,CAAC,CAAA;MAE/B,OAAO;AACHE,QAAAA,SAAS,EAAEC,gCAAa,CAACd,SAAS,GAAGW,CAAC,CAAC;AACvCI,QAAAA,UAAU,EAAER,KAAK,CAACS,OAAO,CAACjB,KAAK,CAAC,GAC1BkB,OAAO,CAAClB,KAAK,CAACmB,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKC,iCAAc,CAACR,SAAS,EAAEO,CAAC,CAAC,CAAA;AAAA,SAAA,CAAC,CAAC,GACxDC,iCAAc,CAACR,SAAS,EAAEb,KAAK,CAAC;AACtCsB,QAAAA,OAAO,EAAEd,KAAK,CAACS,OAAO,CAACjB,KAAK,CAAC,GAAGuB,iCAAa,CAACV,SAAS,EAAE,CAAC,EAAE,CAAC,EAAEb,KAAK,CAAC,GAAG,KAAK;AAC7ED,QAAAA,IAAI,EAAE;AAAEyB,UAAAA,IAAI,EAAEX,SAAS;AAAEY,UAAAA,UAAU,EAAE,CAAC;AAAEC,UAAAA,GAAG,EAAE,CAAA;SAAG;AAChDb,QAAAA,SAAS,EAATA,SAAAA;OACH,CAAA;AACL,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIX,SAAS,KAATA,IAAAA,IAAAA,SAAS,eAATA,SAAS,CAAEyB,MAAM,IAAIxB,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAEwB,MAAM,IAAItB,GAAG,IAAID,GAAG,EAAE;MACzD,IAAMwB,cAAc,GAAGC,iDAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,KAAK;QACZwB,IAAI,EAAEC,mBAAa,CAACC,KAAK;AACzB7B,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHH,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;AACF,MAAA,OAAO+B,4BAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,4BAAS,CAAW3B,KAAK,EAAE,CAAC,CAAC,CAAA;AACxC,GAAC,EAAE,CAACR,IAAI,EAAEE,SAAS,EAAED,KAAK,EAAEE,SAAS,EAAEC,YAAY,EAAEE,GAAG,EAAED,GAAG,CAAC,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"useYears.js","sources":["../../../../src/components/Calendar/hooks/useYears.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n YEAR_RENDER_COUNT,\n isCurrentYear,\n isSelectedYear,\n getMatrix,\n isDateInRange,\n getDatesWithModifications,\n} from '../utils';\nimport type { DateItem } from '../Calendar.types';\nimport { CalendarState } from '../store/types';\n\nimport type { UseYearsArgs } from './types';\n\n/**\n * Хук для получения списка годов.\n */\nexport const useYears = ({\n date,\n value,\n startYear,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n}: UseYearsArgs) =>\n useMemo(() => {\n // type-coverage:ignore-next-line\n const years = Array.from(Array(YEAR_RENDER_COUNT), (_, i) => {\n const yearValue = startYear + i;\n\n return {\n isCurrent: isCurrentYear(startYear + i),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedYear(yearValue, v)))\n : isSelectedYear(yearValue, value),\n inRange: Array.isArray(value) ? isDateInRange(yearValue, 0, 1, value) : false,\n date: { year: yearValue, monthIndex: 0, day: 1 },\n yearValue,\n };\n });\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedMonths = getDatesWithModifications({\n dates: years,\n type: CalendarState.Years,\n min,\n max,\n includeEdgeDates,\n eventList,\n disabledList,\n });\n return getMatrix<DateItem>(modifiedMonths, 3);\n }\n\n return getMatrix<DateItem>(years, 3);\n }, [date, startYear, value, eventList, disabledList, max, min]);\n"],"names":["useYears","_ref","date","value","startYear","eventList","disabledList","min","max","includeEdgeDates","useMemo","years","Array","from","YEAR_RENDER_COUNT","_","i","yearValue","isCurrent","isCurrentYear","isSelected","isArray","Boolean","find","v","isSelectedYear","inRange","isDateInRange","year","monthIndex","day","length","modifiedMonths","getDatesWithModifications","dates","type","CalendarState","Years","getMatrix"],"mappings":";;;;;;;;;;;AAeA;AACA;AACA;IACaA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACjBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,GAAG,GAAAN,IAAA,CAAHM,GAAG;IACHC,GAAG,GAAAP,IAAA,CAAHO,GAAG;IACHC,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB,CAAA;EAAA,OAEhBC,aAAO,CAAC,YAAM;AACV;AACA,IAAA,IAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACE,2BAAiB,CAAC,EAAE,UAACC,CAAC,EAAEC,CAAC,EAAK;AACzD,MAAA,IAAMC,SAAS,GAAGb,SAAS,GAAGY,CAAC,CAAA;MAE/B,OAAO;AACHE,QAAAA,SAAS,EAAEC,gCAAa,CAACf,SAAS,GAAGY,CAAC,CAAC;AACvCI,QAAAA,UAAU,EAAER,KAAK,CAACS,OAAO,CAAClB,KAAK,CAAC,GAC1BmB,OAAO,CAACnB,KAAK,CAACoB,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKC,iCAAc,CAACR,SAAS,EAAEO,CAAC,CAAC,CAAA;AAAA,SAAA,CAAC,CAAC,GACxDC,iCAAc,CAACR,SAAS,EAAEd,KAAK,CAAC;AACtCuB,QAAAA,OAAO,EAAEd,KAAK,CAACS,OAAO,CAAClB,KAAK,CAAC,GAAGwB,iCAAa,CAACV,SAAS,EAAE,CAAC,EAAE,CAAC,EAAEd,KAAK,CAAC,GAAG,KAAK;AAC7ED,QAAAA,IAAI,EAAE;AAAE0B,UAAAA,IAAI,EAAEX,SAAS;AAAEY,UAAAA,UAAU,EAAE,CAAC;AAAEC,UAAAA,GAAG,EAAE,CAAA;SAAG;AAChDb,QAAAA,SAAS,EAATA,SAAAA;OACH,CAAA;AACL,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIZ,SAAS,KAATA,IAAAA,IAAAA,SAAS,eAATA,SAAS,CAAE0B,MAAM,IAAIzB,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAEyB,MAAM,IAAIvB,GAAG,IAAID,GAAG,EAAE;MACzD,IAAMyB,cAAc,GAAGC,iDAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,KAAK;QACZwB,IAAI,EAAEC,mBAAa,CAACC,KAAK;AACzB9B,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBJ,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC,CAAA;AACF,MAAA,OAAOgC,4BAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,4BAAS,CAAW3B,KAAK,EAAE,CAAC,CAAC,CAAA;AACxC,GAAC,EAAE,CAACT,IAAI,EAAEE,SAAS,EAAED,KAAK,EAAEE,SAAS,EAAEC,YAAY,EAAEE,GAAG,EAAED,GAAG,CAAC,CAAC,CAAA;AAAA;;;;"}
@@ -47,7 +47,7 @@ var normalizeDate = function normalizeDate(date, type) {
47
47
  date.setMonth(0);
48
48
  }
49
49
  };
50
- var isDisabledNextDate = function isDisabledNextDate(_ref, type, max) {
50
+ var isDisabledNextDate = function isDisabledNextDate(_ref, type, max, includeEdgeDates) {
51
51
  var year = _ref.year,
52
52
  monthIndex = _ref.monthIndex,
53
53
  day = _ref.day;
@@ -59,13 +59,13 @@ var isDisabledNextDate = function isDisabledNextDate(_ref, type, max) {
59
59
  var currentDate = new Date(year, monthIndex, day);
60
60
  dateOperationHandler[type].add(currentDate);
61
61
  var isOut = true;
62
- while (isOut && currentDate <= maxDate) {
63
- isOut = maxDate <= currentDate;
62
+ while (isOut && includeEdgeDates ? currentDate < maxDate : currentDate <= maxDate) {
63
+ isOut = includeEdgeDates ? maxDate < currentDate : maxDate <= currentDate;
64
64
  dateOperationHandler[type].add(currentDate);
65
65
  }
66
66
  return isOut;
67
67
  };
68
- var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min) {
68
+ var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min, includeEdgeDates) {
69
69
  var year = _ref2.year,
70
70
  monthIndex = _ref2.monthIndex,
71
71
  day = _ref2.day;
@@ -77,54 +77,58 @@ var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min) {
77
77
  var currentDate = new Date(year, monthIndex, day);
78
78
  dateOperationHandler[type].subtract(currentDate);
79
79
  var isOut = true;
80
- while (isOut && currentDate >= minDate) {
81
- isOut = minDate >= currentDate;
80
+ while (isOut && includeEdgeDates ? currentDate > minDate : currentDate >= minDate) {
81
+ isOut = includeEdgeDates ? minDate > currentDate : minDate >= currentDate;
82
82
  dateOperationHandler[type].subtract(currentDate);
83
83
  }
84
84
  return isOut;
85
85
  };
86
- var getDisabledDates = function getDisabledDates(list, type, min, max) {
86
+ var getDisabledDates = function getDisabledDates(list, type, min, max, includeEdgeDates) {
87
87
  var disabledDate = [];
88
- if (isDisabledPreviousDate(list[0], type, min)) {
88
+ if (isDisabledPreviousDate(list[0], type, min, includeEdgeDates)) {
89
89
  disabledDate.push('previous');
90
90
  }
91
- if (isDisabledNextDate(list[list.length - 1], type, max)) {
91
+ if (isDisabledNextDate(list[list.length - 1], type, max, includeEdgeDates)) {
92
92
  disabledDate.push('next');
93
93
  }
94
94
  return disabledDate.join(',');
95
95
  };
96
- var isDisabledArrowLeft = function isDisabledArrowLeft(date, min) {
96
+ var isDisabledArrowLeft = function isDisabledArrowLeft(date, min, includeEdgeDates) {
97
97
  var currentDate = new Date(date);
98
98
  currentDate.setDate(currentDate.getDate() - 1);
99
- return min && min >= currentDate || min && min >= date;
99
+ var disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
100
+ return disableCondition;
100
101
  };
101
- var isDisabledArrowRight = function isDisabledArrowRight(date, max) {
102
+ var isDisabledArrowRight = function isDisabledArrowRight(date, max, includeEdgeDates) {
102
103
  var currentDate = new Date(date);
103
104
  currentDate.setDate(currentDate.getDate() + 1);
104
- return max && max <= currentDate || max && max <= date;
105
+ var disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
106
+ return disableCondition;
105
107
  };
106
- var isDisabledArrowUp = function isDisabledArrowUp(date, min) {
108
+ var isDisabledArrowUp = function isDisabledArrowUp(date, min, includeEdgeDates) {
107
109
  var currentDate = new Date(date);
108
110
  currentDate.setDate(date.getDate() - 7);
109
- return min && min >= currentDate;
111
+ var disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
112
+ return disableCondition;
110
113
  };
111
- var isDisabledArrowDown = function isDisabledArrowDown(date, max) {
114
+ var isDisabledArrowDown = function isDisabledArrowDown(date, max, includeEdgeDates) {
112
115
  var currentDate = new Date(date);
113
116
  currentDate.setDate(date.getDate() + 7);
114
- return max && max <= currentDate;
117
+ var disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
118
+ return disableCondition;
115
119
  };
116
- var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max) {
120
+ var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max, includeEdgeDates) {
117
121
  var disabledArrowKey = [];
118
- if (isDisabledArrowLeft(currentDate, min)) {
122
+ if (isDisabledArrowLeft(currentDate, min, includeEdgeDates)) {
119
123
  disabledArrowKey.push('left');
120
124
  }
121
- if (isDisabledArrowRight(currentDate, max)) {
125
+ if (isDisabledArrowRight(currentDate, max, includeEdgeDates)) {
122
126
  disabledArrowKey.push('right');
123
127
  }
124
- if (isDisabledArrowDown(currentDate, max)) {
128
+ if (isDisabledArrowDown(currentDate, max, includeEdgeDates)) {
125
129
  disabledArrowKey.push('down');
126
130
  }
127
- if (isDisabledArrowUp(currentDate, min)) {
131
+ if (isDisabledArrowUp(currentDate, min, includeEdgeDates)) {
128
132
  disabledArrowKey.push('up');
129
133
  }
130
134
  return disabledArrowKey.join(',');
@@ -153,7 +157,7 @@ var getDatesWithModifications = function getDatesWithModifications(_ref3) {
153
157
  var date = _ref5.date;
154
158
  return date;
155
159
  });
156
- var disabledDates = getDisabledDates(datesList, type, min, max);
160
+ var disabledDates = getDisabledDates(datesList, type, min, max, includeEdgeDates);
157
161
  return dates.map(function (dateItem) {
158
162
  var date = dateItem.date;
159
163
  var year = date.year,
@@ -178,7 +182,7 @@ var getDatesWithModifications = function getDatesWithModifications(_ref3) {
178
182
  dateItem.events = eventsMap.get(keyDate);
179
183
  dateItem.disabled = disabledDatesMap.has(keyDate) || isOutOfMinMaxRange;
180
184
  dateItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
181
- dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);
185
+ dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max, includeEdgeDates);
182
186
  dateItem.disabledDates = disabledDates;
183
187
  return dateItem;
184
188
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getDateWithModification.js","sources":["../../../../src/components/Calendar/utils/getDateWithModification.ts"],"sourcesContent":["import type { DateItem, DateObject, DisabledDay, EventDay } from '../Calendar.types';\nimport { CalendarState, CalendarStateType } from '../store/types';\n\nimport { getPropsMap } from './calendarGridHelper';\n\ntype GetDatesWithModificationsArgs = {\n dates: DateItem[];\n type: CalendarStateType;\n eventList?: EventDay[];\n disabledList?: DisabledDay[];\n includeEdgeDates?: boolean;\n min?: Date;\n max?: Date;\n};\n\ntype DateOperationHandler = {\n [k in CalendarStateType]: {\n [t in 'add' | 'subtract']: (date: Date) => number;\n };\n};\n\nconst dateOperationHandler: DateOperationHandler = {\n Days: {\n add: (date: Date) => date.setDate(date.getDate() + 1),\n subtract: (date: Date) => date.setDate(date.getDate() - 1),\n },\n Months: {\n add: (date: Date) => date.setMonth(date.getMonth() + 1),\n subtract: (date: Date) => date.setMonth(date.getMonth() - 1),\n },\n Quarters: {\n add: (date: Date) => date.setMonth(date.getMonth() + 3),\n subtract: (date: Date) => date.setMonth(date.getMonth() - 3),\n },\n Years: {\n add: (date: Date) => date.setFullYear(date.getFullYear() + 1),\n subtract: (date: Date) => date.setFullYear(date.getFullYear() - 1),\n },\n};\n\nconst normalizeDate = (date: Date, type: CalendarStateType) => {\n if (type === CalendarState.Months || type === CalendarState.Years) {\n date.setDate(1);\n }\n\n if (type === CalendarState.Years) {\n date.setMonth(0);\n }\n};\n\nconst isDisabledNextDate = ({ year, monthIndex, day }: DateObject, type: CalendarStateType, max?: Date) => {\n if (!max) {\n return false;\n }\n\n const maxDate = new Date(max);\n\n normalizeDate(maxDate, type);\n\n const currentDate = new Date(year, monthIndex, day);\n dateOperationHandler[type].add(currentDate);\n\n let isOut = true;\n\n while (isOut && currentDate <= maxDate) {\n isOut = maxDate <= currentDate;\n\n dateOperationHandler[type].add(currentDate);\n }\n\n return isOut;\n};\n\nconst isDisabledPreviousDate = ({ year, monthIndex, day }: DateObject, type: CalendarStateType, min?: Date) => {\n if (!min) {\n return false;\n }\n\n const minDate = new Date(min);\n\n normalizeDate(minDate, type);\n\n const currentDate = new Date(year, monthIndex, day);\n dateOperationHandler[type].subtract(currentDate);\n\n let isOut = true;\n\n while (isOut && currentDate >= minDate) {\n isOut = minDate >= currentDate;\n\n dateOperationHandler[type].subtract(currentDate);\n }\n\n return isOut;\n};\n\nconst getDisabledDates = (list: DateObject[], type: CalendarStateType, min?: Date, max?: Date) => {\n const disabledDate: string[] = [];\n\n if (isDisabledPreviousDate(list[0], type, min)) {\n disabledDate.push('previous');\n }\n\n if (isDisabledNextDate(list[list.length - 1], type, max)) {\n disabledDate.push('next');\n }\n\n return disabledDate.join(',');\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 getDisabledArrowKey = (currentDate: Date, min?: Date, max?: Date) => {\n const disabledArrowKey: string[] = [];\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\n/**\n * Метод модифицирующий дату (добавляющий свойства events и disabled).\n */\nexport const getDatesWithModifications = ({\n dates,\n type,\n eventList = [],\n disabledList = [],\n includeEdgeDates,\n min,\n max,\n}: GetDatesWithModificationsArgs) => {\n const eventsMap = getPropsMap(eventList);\n const disabledDatesMap = getPropsMap(disabledList);\n\n const filteredDates =\n type === CalendarState.Days ? dates.filter(({ isDayInCurrentMonth }) => isDayInCurrentMonth) : dates;\n const datesList = filteredDates.map(({ date }) => date);\n\n const disabledDates = getDisabledDates(datesList, type, min, max);\n\n return dates.map((dateItem) => {\n const { date } = dateItem;\n const { year, monthIndex, day } = date;\n\n const keyDate = `${year}-${monthIndex}-${day}`;\n const currentDate = new Date(year, monthIndex, day);\n\n const minDate = min && new Date(min);\n minDate && normalizeDate(minDate, type);\n\n const maxDate = max && new Date(max);\n maxDate && normalizeDate(maxDate, type);\n\n let minValue: boolean | undefined;\n let maxValue: boolean | undefined;\n\n if (type === CalendarState.Days) {\n minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);\n maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);\n } else {\n minValue = minDate && minDate > currentDate;\n maxValue = maxDate && maxDate < currentDate;\n }\n\n const isOutOfMinMaxRange = minValue || maxValue;\n\n dateItem.events = eventsMap.get(keyDate);\n dateItem.disabled = disabledDatesMap.has(keyDate) || isOutOfMinMaxRange;\n\n dateItem.isOutOfMinMaxRange = isOutOfMinMaxRange;\n dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);\n dateItem.disabledDates = disabledDates;\n\n return dateItem;\n });\n};\n"],"names":["dateOperationHandler","Days","add","date","setDate","getDate","subtract","Months","setMonth","getMonth","Quarters","Years","setFullYear","getFullYear","normalizeDate","type","CalendarState","isDisabledNextDate","_ref","max","year","monthIndex","day","maxDate","Date","currentDate","isOut","isDisabledPreviousDate","_ref2","min","minDate","getDisabledDates","list","disabledDate","push","length","join","isDisabledArrowLeft","isDisabledArrowRight","isDisabledArrowUp","isDisabledArrowDown","getDisabledArrowKey","disabledArrowKey","getDatesWithModifications","_ref3","dates","_ref3$eventList","eventList","_ref3$disabledList","disabledList","includeEdgeDates","eventsMap","getPropsMap","disabledDatesMap","filteredDates","filter","_ref4","isDayInCurrentMonth","datesList","map","_ref5","disabledDates","dateItem","keyDate","concat","minValue","maxValue","isOutOfMinMaxRange","events","get","disabled","has"],"mappings":"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"}
1
+ {"version":3,"file":"getDateWithModification.js","sources":["../../../../src/components/Calendar/utils/getDateWithModification.ts"],"sourcesContent":["import type { DateItem, DateObject, DisabledDay, EventDay } from '../Calendar.types';\nimport { CalendarState, CalendarStateType } from '../store/types';\n\nimport { getPropsMap } from './calendarGridHelper';\n\ntype GetDatesWithModificationsArgs = {\n dates: DateItem[];\n type: CalendarStateType;\n eventList?: EventDay[];\n disabledList?: DisabledDay[];\n includeEdgeDates?: boolean;\n min?: Date;\n max?: Date;\n};\n\ntype DateOperationHandler = {\n [k in CalendarStateType]: {\n [t in 'add' | 'subtract']: (date: Date) => number;\n };\n};\n\nconst dateOperationHandler: DateOperationHandler = {\n Days: {\n add: (date: Date) => date.setDate(date.getDate() + 1),\n subtract: (date: Date) => date.setDate(date.getDate() - 1),\n },\n Months: {\n add: (date: Date) => date.setMonth(date.getMonth() + 1),\n subtract: (date: Date) => date.setMonth(date.getMonth() - 1),\n },\n Quarters: {\n add: (date: Date) => date.setMonth(date.getMonth() + 3),\n subtract: (date: Date) => date.setMonth(date.getMonth() - 3),\n },\n Years: {\n add: (date: Date) => date.setFullYear(date.getFullYear() + 1),\n subtract: (date: Date) => date.setFullYear(date.getFullYear() - 1),\n },\n};\n\nconst normalizeDate = (date: Date, type: CalendarStateType) => {\n if (type === CalendarState.Months || type === CalendarState.Years) {\n date.setDate(1);\n }\n\n if (type === CalendarState.Years) {\n date.setMonth(0);\n }\n};\n\nconst isDisabledNextDate = (\n { year, monthIndex, day }: DateObject,\n type: CalendarStateType,\n max?: Date,\n includeEdgeDates?: boolean,\n) => {\n if (!max) {\n return false;\n }\n\n const maxDate = new Date(max);\n\n normalizeDate(maxDate, type);\n\n const currentDate = new Date(year, monthIndex, day);\n dateOperationHandler[type].add(currentDate);\n\n let isOut = true;\n\n while (isOut && includeEdgeDates ? currentDate < maxDate : currentDate <= maxDate) {\n isOut = includeEdgeDates ? maxDate < currentDate : maxDate <= currentDate;\n\n dateOperationHandler[type].add(currentDate);\n }\n\n return isOut;\n};\n\nconst isDisabledPreviousDate = (\n { year, monthIndex, day }: DateObject,\n type: CalendarStateType,\n min?: Date,\n includeEdgeDates?: boolean,\n) => {\n if (!min) {\n return false;\n }\n\n const minDate = new Date(min);\n\n normalizeDate(minDate, type);\n\n const currentDate = new Date(year, monthIndex, day);\n dateOperationHandler[type].subtract(currentDate);\n\n let isOut = true;\n\n while (isOut && includeEdgeDates ? currentDate > minDate : currentDate >= minDate) {\n isOut = includeEdgeDates ? minDate > currentDate : minDate >= currentDate;\n\n dateOperationHandler[type].subtract(currentDate);\n }\n\n return isOut;\n};\n\nconst getDisabledDates = (\n list: DateObject[],\n type: CalendarStateType,\n min?: Date,\n max?: Date,\n includeEdgeDates?: boolean,\n) => {\n const disabledDate: string[] = [];\n\n if (isDisabledPreviousDate(list[0], type, min, includeEdgeDates)) {\n disabledDate.push('previous');\n }\n\n if (isDisabledNextDate(list[list.length - 1], type, max, includeEdgeDates)) {\n disabledDate.push('next');\n }\n\n return disabledDate.join(',');\n};\n\nconst isDisabledArrowLeft = (date: Date, min?: Date, includeEdgeDates?: boolean) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n const disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);\n\n return disableCondition;\n};\n\nconst isDisabledArrowRight = (date: Date, max?: Date, includeEdgeDates?: boolean) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n const disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);\n\n return disableCondition;\n};\n\nconst isDisabledArrowUp = (date: Date, min?: Date, includeEdgeDates?: boolean) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() - 7);\n\n const disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);\n\n return disableCondition;\n};\n\nconst isDisabledArrowDown = (date: Date, max?: Date, includeEdgeDates?: boolean) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() + 7);\n\n const disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);\n\n return disableCondition;\n};\n\nconst getDisabledArrowKey = (currentDate: Date, min?: Date, max?: Date, includeEdgeDates?: boolean) => {\n const disabledArrowKey: string[] = [];\n\n if (isDisabledArrowLeft(currentDate, min, includeEdgeDates)) {\n disabledArrowKey.push('left');\n }\n\n if (isDisabledArrowRight(currentDate, max, includeEdgeDates)) {\n disabledArrowKey.push('right');\n }\n\n if (isDisabledArrowDown(currentDate, max, includeEdgeDates)) {\n disabledArrowKey.push('down');\n }\n\n if (isDisabledArrowUp(currentDate, min, includeEdgeDates)) {\n disabledArrowKey.push('up');\n }\n\n return disabledArrowKey.join(',');\n};\n\n/**\n * Метод модифицирующий дату (добавляющий свойства events и disabled).\n */\nexport const getDatesWithModifications = ({\n dates,\n type,\n eventList = [],\n disabledList = [],\n includeEdgeDates,\n min,\n max,\n}: GetDatesWithModificationsArgs) => {\n const eventsMap = getPropsMap(eventList);\n const disabledDatesMap = getPropsMap(disabledList);\n\n const filteredDates =\n type === CalendarState.Days ? dates.filter(({ isDayInCurrentMonth }) => isDayInCurrentMonth) : dates;\n const datesList = filteredDates.map(({ date }) => date);\n\n const disabledDates = getDisabledDates(datesList, type, min, max, includeEdgeDates);\n\n return dates.map((dateItem) => {\n const { date } = dateItem;\n const { year, monthIndex, day } = date;\n\n const keyDate = `${year}-${monthIndex}-${day}`;\n const currentDate = new Date(year, monthIndex, day);\n\n const minDate = min && new Date(min);\n minDate && normalizeDate(minDate, type);\n\n const maxDate = max && new Date(max);\n maxDate && normalizeDate(maxDate, type);\n\n let minValue: boolean | undefined;\n let maxValue: boolean | undefined;\n\n if (type === CalendarState.Days) {\n minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);\n maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);\n } else {\n minValue = minDate && minDate > currentDate;\n maxValue = maxDate && maxDate < currentDate;\n }\n\n const isOutOfMinMaxRange = minValue || maxValue;\n\n dateItem.events = eventsMap.get(keyDate);\n dateItem.disabled = disabledDatesMap.has(keyDate) || isOutOfMinMaxRange;\n\n dateItem.isOutOfMinMaxRange = isOutOfMinMaxRange;\n dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max, includeEdgeDates);\n dateItem.disabledDates = disabledDates;\n\n return dateItem;\n });\n};\n"],"names":["dateOperationHandler","Days","add","date","setDate","getDate","subtract","Months","setMonth","getMonth","Quarters","Years","setFullYear","getFullYear","normalizeDate","type","CalendarState","isDisabledNextDate","_ref","max","includeEdgeDates","year","monthIndex","day","maxDate","Date","currentDate","isOut","isDisabledPreviousDate","_ref2","min","minDate","getDisabledDates","list","disabledDate","push","length","join","isDisabledArrowLeft","disableCondition","isDisabledArrowRight","isDisabledArrowUp","isDisabledArrowDown","getDisabledArrowKey","disabledArrowKey","getDatesWithModifications","_ref3","dates","_ref3$eventList","eventList","_ref3$disabledList","disabledList","eventsMap","getPropsMap","disabledDatesMap","filteredDates","filter","_ref4","isDayInCurrentMonth","datesList","map","_ref5","disabledDates","dateItem","keyDate","concat","minValue","maxValue","isOutOfMinMaxRange","events","get","disabled","has"],"mappings":"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"}
@@ -18,7 +18,8 @@ var useMonths = exports.useMonths = function useMonths(_ref) {
18
18
  min = _ref.min,
19
19
  max = _ref.max,
20
20
  _ref$locale = _ref.locale,
21
- locale = _ref$locale === void 0 ? 'ru' : _ref$locale;
21
+ locale = _ref$locale === void 0 ? 'ru' : _ref$locale,
22
+ includeEdgeDates = _ref.includeEdgeDates;
22
23
  return (0, _react.useMemo)(function () {
23
24
  var months = _utils.SHORT_MONTH_NAME[locale].map(function (monthName, monthIndex) {
24
25
  return {
@@ -43,6 +44,7 @@ var useMonths = exports.useMonths = function useMonths(_ref) {
43
44
  type: _types.CalendarState.Months,
44
45
  min: min,
45
46
  max: max,
47
+ includeEdgeDates: includeEdgeDates,
46
48
  eventList: eventList,
47
49
  disabledList: disabledList
48
50
  });
@@ -16,7 +16,8 @@ var useQuarters = exports.useQuarters = function useQuarters(_ref) {
16
16
  eventList = _ref.eventList,
17
17
  disabledList = _ref.disabledList,
18
18
  min = _ref.min,
19
- max = _ref.max;
19
+ max = _ref.max,
20
+ includeEdgeDates = _ref.includeEdgeDates;
20
21
  return (0, _react.useMemo)(function () {
21
22
  var quarters = _utils.QUARTER_NAMES.map(function (quarterName) {
22
23
  var _quarterDates$quarter = _utils.quarterDates[quarterName],
@@ -42,6 +43,7 @@ var useQuarters = exports.useQuarters = function useQuarters(_ref) {
42
43
  type: _types.CalendarState.Quarters,
43
44
  min: min,
44
45
  max: max,
46
+ includeEdgeDates: includeEdgeDates,
45
47
  eventList: eventList,
46
48
  disabledList: disabledList
47
49
  });
@@ -17,7 +17,8 @@ var useYears = exports.useYears = function useYears(_ref) {
17
17
  eventList = _ref.eventList,
18
18
  disabledList = _ref.disabledList,
19
19
  min = _ref.min,
20
- max = _ref.max;
20
+ max = _ref.max,
21
+ includeEdgeDates = _ref.includeEdgeDates;
21
22
  return (0, _react.useMemo)(function () {
22
23
  // type-coverage:ignore-next-line
23
24
  var years = Array.from(Array(_utils.YEAR_RENDER_COUNT), function (_, i) {
@@ -42,6 +43,7 @@ var useYears = exports.useYears = function useYears(_ref) {
42
43
  type: _types.CalendarState.Years,
43
44
  min: min,
44
45
  max: max,
46
+ includeEdgeDates: includeEdgeDates,
45
47
  eventList: eventList,
46
48
  disabledList: disabledList
47
49
  });
@@ -48,7 +48,7 @@ var normalizeDate = function normalizeDate(date, type) {
48
48
  date.setMonth(0);
49
49
  }
50
50
  };
51
- var isDisabledNextDate = function isDisabledNextDate(_ref, type, max) {
51
+ var isDisabledNextDate = function isDisabledNextDate(_ref, type, max, includeEdgeDates) {
52
52
  var year = _ref.year,
53
53
  monthIndex = _ref.monthIndex,
54
54
  day = _ref.day;
@@ -60,13 +60,13 @@ var isDisabledNextDate = function isDisabledNextDate(_ref, type, max) {
60
60
  var currentDate = new Date(year, monthIndex, day);
61
61
  dateOperationHandler[type].add(currentDate);
62
62
  var isOut = true;
63
- while (isOut && currentDate <= maxDate) {
64
- isOut = maxDate <= currentDate;
63
+ while (isOut && includeEdgeDates ? currentDate < maxDate : currentDate <= maxDate) {
64
+ isOut = includeEdgeDates ? maxDate < currentDate : maxDate <= currentDate;
65
65
  dateOperationHandler[type].add(currentDate);
66
66
  }
67
67
  return isOut;
68
68
  };
69
- var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min) {
69
+ var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min, includeEdgeDates) {
70
70
  var year = _ref2.year,
71
71
  monthIndex = _ref2.monthIndex,
72
72
  day = _ref2.day;
@@ -78,54 +78,58 @@ var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min) {
78
78
  var currentDate = new Date(year, monthIndex, day);
79
79
  dateOperationHandler[type].subtract(currentDate);
80
80
  var isOut = true;
81
- while (isOut && currentDate >= minDate) {
82
- isOut = minDate >= currentDate;
81
+ while (isOut && includeEdgeDates ? currentDate > minDate : currentDate >= minDate) {
82
+ isOut = includeEdgeDates ? minDate > currentDate : minDate >= currentDate;
83
83
  dateOperationHandler[type].subtract(currentDate);
84
84
  }
85
85
  return isOut;
86
86
  };
87
- var getDisabledDates = function getDisabledDates(list, type, min, max) {
87
+ var getDisabledDates = function getDisabledDates(list, type, min, max, includeEdgeDates) {
88
88
  var disabledDate = [];
89
- if (isDisabledPreviousDate(list[0], type, min)) {
89
+ if (isDisabledPreviousDate(list[0], type, min, includeEdgeDates)) {
90
90
  disabledDate.push('previous');
91
91
  }
92
- if (isDisabledNextDate(list[list.length - 1], type, max)) {
92
+ if (isDisabledNextDate(list[list.length - 1], type, max, includeEdgeDates)) {
93
93
  disabledDate.push('next');
94
94
  }
95
95
  return disabledDate.join(',');
96
96
  };
97
- var isDisabledArrowLeft = function isDisabledArrowLeft(date, min) {
97
+ var isDisabledArrowLeft = function isDisabledArrowLeft(date, min, includeEdgeDates) {
98
98
  var currentDate = new Date(date);
99
99
  currentDate.setDate(currentDate.getDate() - 1);
100
- return min && min >= currentDate || min && min >= date;
100
+ var disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
101
+ return disableCondition;
101
102
  };
102
- var isDisabledArrowRight = function isDisabledArrowRight(date, max) {
103
+ var isDisabledArrowRight = function isDisabledArrowRight(date, max, includeEdgeDates) {
103
104
  var currentDate = new Date(date);
104
105
  currentDate.setDate(currentDate.getDate() + 1);
105
- return max && max <= currentDate || max && max <= date;
106
+ var disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
107
+ return disableCondition;
106
108
  };
107
- var isDisabledArrowUp = function isDisabledArrowUp(date, min) {
109
+ var isDisabledArrowUp = function isDisabledArrowUp(date, min, includeEdgeDates) {
108
110
  var currentDate = new Date(date);
109
111
  currentDate.setDate(date.getDate() - 7);
110
- return min && min >= currentDate;
112
+ var disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
113
+ return disableCondition;
111
114
  };
112
- var isDisabledArrowDown = function isDisabledArrowDown(date, max) {
115
+ var isDisabledArrowDown = function isDisabledArrowDown(date, max, includeEdgeDates) {
113
116
  var currentDate = new Date(date);
114
117
  currentDate.setDate(date.getDate() + 7);
115
- return max && max <= currentDate;
118
+ var disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
119
+ return disableCondition;
116
120
  };
117
- var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max) {
121
+ var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max, includeEdgeDates) {
118
122
  var disabledArrowKey = [];
119
- if (isDisabledArrowLeft(currentDate, min)) {
123
+ if (isDisabledArrowLeft(currentDate, min, includeEdgeDates)) {
120
124
  disabledArrowKey.push('left');
121
125
  }
122
- if (isDisabledArrowRight(currentDate, max)) {
126
+ if (isDisabledArrowRight(currentDate, max, includeEdgeDates)) {
123
127
  disabledArrowKey.push('right');
124
128
  }
125
- if (isDisabledArrowDown(currentDate, max)) {
129
+ if (isDisabledArrowDown(currentDate, max, includeEdgeDates)) {
126
130
  disabledArrowKey.push('down');
127
131
  }
128
- if (isDisabledArrowUp(currentDate, min)) {
132
+ if (isDisabledArrowUp(currentDate, min, includeEdgeDates)) {
129
133
  disabledArrowKey.push('up');
130
134
  }
131
135
  return disabledArrowKey.join(',');
@@ -154,7 +158,7 @@ var getDatesWithModifications = exports.getDatesWithModifications = function get
154
158
  var date = _ref5.date;
155
159
  return date;
156
160
  });
157
- var disabledDates = getDisabledDates(datesList, type, min, max);
161
+ var disabledDates = getDisabledDates(datesList, type, min, max, includeEdgeDates);
158
162
  return dates.map(function (dateItem) {
159
163
  var date = dateItem.date;
160
164
  var year = date.year,
@@ -179,7 +183,7 @@ var getDatesWithModifications = exports.getDatesWithModifications = function get
179
183
  dateItem.events = eventsMap.get(keyDate);
180
184
  dateItem.disabled = disabledDatesMap.has(keyDate) || isOutOfMinMaxRange;
181
185
  dateItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
182
- dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);
186
+ dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max, includeEdgeDates);
183
187
  dateItem.disabledDates = disabledDates;
184
188
  return dateItem;
185
189
  });