@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
@@ -1,13 +1,14 @@
1
1
  import React, { ComponentProps, useState } from 'react';
2
2
  import type { StoryObj, Meta } from '@storybook/react';
3
3
  import { action } from '@storybook/addon-actions';
4
- import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
4
+ import { IconPlaceholder, getConfigVariations } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
7
  import { IconCross, IconLock } from '../../../../components/_Icon';
8
8
  import type { PopoverPlacement } from '../Popover/Popover';
9
9
 
10
10
  import { TextField } from './TextField';
11
+ import { config } from './TextField.config';
11
12
 
12
13
  const onChange = action('onChange');
13
14
  const onFocus = action('onFocus');
@@ -15,14 +16,14 @@ const onBlur = action('onBlur');
15
16
  const onSearch = action('onSearch');
16
17
  const onChipsChange = action('onChipsChange');
17
18
 
18
- const sizes = ['l', 'm', 's', 'xs'];
19
- const views = ['default', 'positive', 'warning', 'negative'];
19
+ const { views, sizes } = getConfigVariations(config);
20
+
20
21
  const chipViews = ['default', 'secondary', 'accent', 'positive', 'warning', 'negative'];
21
22
  const hintViews = ['default'];
22
23
  const hintSizes = ['m', 's'];
23
24
  const hintTriggers = ['hover', 'click'];
24
- const hintTargetPlacements = ['outer', 'inner'];
25
25
  const labelPlacements = ['outer', 'inner'];
26
+ const hintTargetPlacements = ['outer', 'inner'];
26
27
  const placements: Array<PopoverPlacement> = [
27
28
  'top',
28
29
  'top-start',
@@ -16,7 +16,8 @@ var useMonths = function useMonths(_ref) {
16
16
  min = _ref.min,
17
17
  max = _ref.max,
18
18
  _ref$locale = _ref.locale,
19
- locale = _ref$locale === void 0 ? 'ru' : _ref$locale;
19
+ locale = _ref$locale === void 0 ? 'ru' : _ref$locale,
20
+ includeEdgeDates = _ref.includeEdgeDates;
20
21
  return useMemo(function () {
21
22
  var months = SHORT_MONTH_NAME[locale].map(function (monthName, monthIndex) {
22
23
  return {
@@ -41,6 +42,7 @@ var useMonths = function useMonths(_ref) {
41
42
  type: CalendarState.Months,
42
43
  min: min,
43
44
  max: max,
45
+ includeEdgeDates: includeEdgeDates,
44
46
  eventList: eventList,
45
47
  disabledList: disabledList
46
48
  });
@@ -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,OAAO,CAAC,YAAM;AACV,IAAA,IAAMC,MAAM,GAAGC,gBAAgB,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,cAAc,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,eAAe,CAACtB,IAAI,EAAEa,UAAU,EAAEQ,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAChEC,eAAe,CAACtB,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;QAC9CsB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAACjB,KAAK,CAAC,GAAGuB,aAAa,CAACxB,IAAI,CAACyB,IAAI,EAAEZ,UAAU,EAAE,CAAC,EAAEZ,KAAK,CAAC,GAAG,KAAK;AACtFyB,QAAAA,aAAa,EAAEC,WAAW,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,yBAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,MAAM;QACbwB,IAAI,EAAEC,aAAa,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,SAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,SAAS,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,OAAO,CAAC,YAAM;AACV,IAAA,IAAMC,MAAM,GAAGC,gBAAgB,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,cAAc,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,eAAe,CAACvB,IAAI,EAAEc,UAAU,EAAEQ,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAChEC,eAAe,CAACvB,IAAI,EAAEc,UAAU,EAAEb,KAAK,CAAC;QAC9CuB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GAAGwB,aAAa,CAACzB,IAAI,CAAC0B,IAAI,EAAEZ,UAAU,EAAE,CAAC,EAAEb,KAAK,CAAC,GAAG,KAAK;AACtF0B,QAAAA,aAAa,EAAEC,WAAW,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,yBAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,MAAM;QACbwB,IAAI,EAAEC,aAAa,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,SAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,SAAS,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;;;;"}
@@ -14,7 +14,8 @@ var useQuarters = function useQuarters(_ref) {
14
14
  eventList = _ref.eventList,
15
15
  disabledList = _ref.disabledList,
16
16
  min = _ref.min,
17
- max = _ref.max;
17
+ max = _ref.max,
18
+ includeEdgeDates = _ref.includeEdgeDates;
18
19
  return useMemo(function () {
19
20
  var quarters = QUARTER_NAMES.map(function (quarterName) {
20
21
  var _quarterDates$quarter = quarterDates[quarterName],
@@ -40,6 +41,7 @@ var useQuarters = function useQuarters(_ref) {
40
41
  type: CalendarState.Quarters,
41
42
  min: min,
42
43
  max: max,
44
+ includeEdgeDates: includeEdgeDates,
43
45
  eventList: eventList,
44
46
  disabledList: disabledList
45
47
  });
@@ -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,OAAO,CAAC,YAAM;IACV,IAAMC,QAAQ,GAAGC,aAAa,CAACC,GAAG,CAAC,UAACC,WAAmB,EAAK;AACxD,MAAA,IAAAC,qBAAA,GAA4BC,YAAY,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,cAAgB,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,eAAiB,CAACvB,IAAI,EAAEa,UAAU,EAAES,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAClEC,eAAiB,CAACvB,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;QAChDuB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GAAGwB,aAAa,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,yBAAyB,CAAC;AAC/CC,QAAAA,KAAK,EAAEvB,QAAQ;QACfwB,IAAI,EAAEC,aAAa,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,SAAS,CAAWN,gBAAgB,EAAE,CAAC,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,OAAOM,SAAS,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,OAAO,CAAC,YAAM;IACV,IAAMC,QAAQ,GAAGC,aAAa,CAACC,GAAG,CAAC,UAACC,WAAmB,EAAK;AACxD,MAAA,IAAAC,qBAAA,GAA4BC,YAAY,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,cAAgB,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,eAAiB,CAACxB,IAAI,EAAEc,UAAU,EAAES,CAAC,CAAC,CAAA;SAAC,CAAA,CAAC,GAClEC,eAAiB,CAACxB,IAAI,EAAEc,UAAU,EAAEb,KAAK,CAAC;QAChDwB,OAAO,EAAEN,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,GAAGyB,aAAa,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,yBAAyB,CAAC;AAC/CC,QAAAA,KAAK,EAAEvB,QAAQ;QACfwB,IAAI,EAAEC,aAAa,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,SAAS,CAAWN,gBAAgB,EAAE,CAAC,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,OAAOM,SAAS,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;;;;"}
@@ -15,7 +15,8 @@ var useYears = function useYears(_ref) {
15
15
  eventList = _ref.eventList,
16
16
  disabledList = _ref.disabledList,
17
17
  min = _ref.min,
18
- max = _ref.max;
18
+ max = _ref.max,
19
+ includeEdgeDates = _ref.includeEdgeDates;
19
20
  return useMemo(function () {
20
21
  // type-coverage:ignore-next-line
21
22
  var years = Array.from(Array(YEAR_RENDER_COUNT), function (_, i) {
@@ -40,6 +41,7 @@ var useYears = function useYears(_ref) {
40
41
  type: CalendarState.Years,
41
42
  min: min,
42
43
  max: max,
44
+ includeEdgeDates: includeEdgeDates,
43
45
  eventList: eventList,
44
46
  disabledList: disabledList
45
47
  });
@@ -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,OAAO,CAAC,YAAM;AACV;AACA,IAAA,IAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACE,iBAAiB,CAAC,EAAE,UAACC,CAAC,EAAEC,CAAC,EAAK;AACzD,MAAA,IAAMC,SAAS,GAAGZ,SAAS,GAAGW,CAAC,CAAA;MAE/B,OAAO;AACHE,QAAAA,SAAS,EAAEC,aAAa,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,cAAc,CAACR,SAAS,EAAEO,CAAC,CAAC,CAAA;AAAA,SAAA,CAAC,CAAC,GACxDC,cAAc,CAACR,SAAS,EAAEb,KAAK,CAAC;AACtCsB,QAAAA,OAAO,EAAEd,KAAK,CAACS,OAAO,CAACjB,KAAK,CAAC,GAAGuB,aAAa,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,yBAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,KAAK;QACZwB,IAAI,EAAEC,aAAa,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,SAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,SAAS,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,OAAO,CAAC,YAAM;AACV;AACA,IAAA,IAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACE,iBAAiB,CAAC,EAAE,UAACC,CAAC,EAAEC,CAAC,EAAK;AACzD,MAAA,IAAMC,SAAS,GAAGb,SAAS,GAAGY,CAAC,CAAA;MAE/B,OAAO;AACHE,QAAAA,SAAS,EAAEC,aAAa,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,cAAc,CAACR,SAAS,EAAEO,CAAC,CAAC,CAAA;AAAA,SAAA,CAAC,CAAC,GACxDC,cAAc,CAACR,SAAS,EAAEd,KAAK,CAAC;AACtCuB,QAAAA,OAAO,EAAEd,KAAK,CAACS,OAAO,CAAClB,KAAK,CAAC,GAAGwB,aAAa,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,yBAAyB,CAAC;AAC7CC,QAAAA,KAAK,EAAEvB,KAAK;QACZwB,IAAI,EAAEC,aAAa,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,SAAS,CAAWN,cAAc,EAAE,CAAC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOM,SAAS,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;;;;"}
@@ -43,7 +43,7 @@ var normalizeDate = function normalizeDate(date, type) {
43
43
  date.setMonth(0);
44
44
  }
45
45
  };
46
- var isDisabledNextDate = function isDisabledNextDate(_ref, type, max) {
46
+ var isDisabledNextDate = function isDisabledNextDate(_ref, type, max, includeEdgeDates) {
47
47
  var year = _ref.year,
48
48
  monthIndex = _ref.monthIndex,
49
49
  day = _ref.day;
@@ -55,13 +55,13 @@ var isDisabledNextDate = function isDisabledNextDate(_ref, type, max) {
55
55
  var currentDate = new Date(year, monthIndex, day);
56
56
  dateOperationHandler[type].add(currentDate);
57
57
  var isOut = true;
58
- while (isOut && currentDate <= maxDate) {
59
- isOut = maxDate <= currentDate;
58
+ while (isOut && includeEdgeDates ? currentDate < maxDate : currentDate <= maxDate) {
59
+ isOut = includeEdgeDates ? maxDate < currentDate : maxDate <= currentDate;
60
60
  dateOperationHandler[type].add(currentDate);
61
61
  }
62
62
  return isOut;
63
63
  };
64
- var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min) {
64
+ var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min, includeEdgeDates) {
65
65
  var year = _ref2.year,
66
66
  monthIndex = _ref2.monthIndex,
67
67
  day = _ref2.day;
@@ -73,54 +73,58 @@ var isDisabledPreviousDate = function isDisabledPreviousDate(_ref2, type, min) {
73
73
  var currentDate = new Date(year, monthIndex, day);
74
74
  dateOperationHandler[type].subtract(currentDate);
75
75
  var isOut = true;
76
- while (isOut && currentDate >= minDate) {
77
- isOut = minDate >= currentDate;
76
+ while (isOut && includeEdgeDates ? currentDate > minDate : currentDate >= minDate) {
77
+ isOut = includeEdgeDates ? minDate > currentDate : minDate >= currentDate;
78
78
  dateOperationHandler[type].subtract(currentDate);
79
79
  }
80
80
  return isOut;
81
81
  };
82
- var getDisabledDates = function getDisabledDates(list, type, min, max) {
82
+ var getDisabledDates = function getDisabledDates(list, type, min, max, includeEdgeDates) {
83
83
  var disabledDate = [];
84
- if (isDisabledPreviousDate(list[0], type, min)) {
84
+ if (isDisabledPreviousDate(list[0], type, min, includeEdgeDates)) {
85
85
  disabledDate.push('previous');
86
86
  }
87
- if (isDisabledNextDate(list[list.length - 1], type, max)) {
87
+ if (isDisabledNextDate(list[list.length - 1], type, max, includeEdgeDates)) {
88
88
  disabledDate.push('next');
89
89
  }
90
90
  return disabledDate.join(',');
91
91
  };
92
- var isDisabledArrowLeft = function isDisabledArrowLeft(date, min) {
92
+ var isDisabledArrowLeft = function isDisabledArrowLeft(date, min, includeEdgeDates) {
93
93
  var currentDate = new Date(date);
94
94
  currentDate.setDate(currentDate.getDate() - 1);
95
- return min && min >= currentDate || min && min >= date;
95
+ var disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
96
+ return disableCondition;
96
97
  };
97
- var isDisabledArrowRight = function isDisabledArrowRight(date, max) {
98
+ var isDisabledArrowRight = function isDisabledArrowRight(date, max, includeEdgeDates) {
98
99
  var currentDate = new Date(date);
99
100
  currentDate.setDate(currentDate.getDate() + 1);
100
- return max && max <= currentDate || max && max <= date;
101
+ var disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
102
+ return disableCondition;
101
103
  };
102
- var isDisabledArrowUp = function isDisabledArrowUp(date, min) {
104
+ var isDisabledArrowUp = function isDisabledArrowUp(date, min, includeEdgeDates) {
103
105
  var currentDate = new Date(date);
104
106
  currentDate.setDate(date.getDate() - 7);
105
- return min && min >= currentDate;
107
+ var disableCondition = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
108
+ return disableCondition;
106
109
  };
107
- var isDisabledArrowDown = function isDisabledArrowDown(date, max) {
110
+ var isDisabledArrowDown = function isDisabledArrowDown(date, max, includeEdgeDates) {
108
111
  var currentDate = new Date(date);
109
112
  currentDate.setDate(date.getDate() + 7);
110
- return max && max <= currentDate;
113
+ var disableCondition = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
114
+ return disableCondition;
111
115
  };
112
- var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max) {
116
+ var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max, includeEdgeDates) {
113
117
  var disabledArrowKey = [];
114
- if (isDisabledArrowLeft(currentDate, min)) {
118
+ if (isDisabledArrowLeft(currentDate, min, includeEdgeDates)) {
115
119
  disabledArrowKey.push('left');
116
120
  }
117
- if (isDisabledArrowRight(currentDate, max)) {
121
+ if (isDisabledArrowRight(currentDate, max, includeEdgeDates)) {
118
122
  disabledArrowKey.push('right');
119
123
  }
120
- if (isDisabledArrowDown(currentDate, max)) {
124
+ if (isDisabledArrowDown(currentDate, max, includeEdgeDates)) {
121
125
  disabledArrowKey.push('down');
122
126
  }
123
- if (isDisabledArrowUp(currentDate, min)) {
127
+ if (isDisabledArrowUp(currentDate, min, includeEdgeDates)) {
124
128
  disabledArrowKey.push('up');
125
129
  }
126
130
  return disabledArrowKey.join(',');
@@ -149,7 +153,7 @@ var getDatesWithModifications = function getDatesWithModifications(_ref3) {
149
153
  var date = _ref5.date;
150
154
  return date;
151
155
  });
152
- var disabledDates = getDisabledDates(datesList, type, min, max);
156
+ var disabledDates = getDisabledDates(datesList, type, min, max, includeEdgeDates);
153
157
  return dates.map(function (dateItem) {
154
158
  var date = dateItem.date;
155
159
  var year = date.year,
@@ -174,7 +178,7 @@ var getDatesWithModifications = function getDatesWithModifications(_ref3) {
174
178
  dateItem.events = eventsMap.get(keyDate);
175
179
  dateItem.disabled = disabledDatesMap.has(keyDate) || isOutOfMinMaxRange;
176
180
  dateItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
177
- dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);
181
+ dateItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max, includeEdgeDates);
178
182
  dateItem.disabledDates = disabledDates;
179
183
  return dateItem;
180
184
  });
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.324.1-canary.1990.15248420614.0",
3
+ "version": "0.325.0-canary.1715.15255555914.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "c183501e6ffecdf466d3918520ddcc9923769707"
140
+ "gitHead": "67beef396b7b7932375ccbb8a101665909aea22a"
141
141
  }
@@ -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
  });