@consta/uikit 4.14.2 → 4.15.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 (110) hide show
  1. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  2. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  3. package/__internal__/src/components/Combobox/helpers.d.ts +5 -2
  4. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  5. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +3 -2
  6. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
  7. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
  8. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.d.ts +2 -0
  9. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js +1 -1
  10. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js.map +1 -1
  11. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
  12. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
  13. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +3 -2
  14. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
  15. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
  16. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +2 -0
  17. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
  18. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
  19. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  21. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +3 -2
  22. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js.map +1 -1
  24. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.d.ts +2 -0
  25. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js.map +1 -1
  27. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +3 -2
  30. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
  32. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +2 -0
  33. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +3 -2
  36. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.d.ts +2 -0
  39. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js.map +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
  43. package/__internal__/src/components/DatePicker/types.d.ts +1 -0
  44. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  45. package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js +1 -1
  46. package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js.map +1 -1
  47. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.js +1 -1
  48. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.js.map +1 -1
  49. package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js +1 -1
  50. package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js.map +1 -1
  51. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js +1 -1
  52. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js.map +1 -1
  53. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.d.ts +2 -1
  54. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.js +1 -1
  55. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.js.map +1 -1
  56. package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js +1 -1
  57. package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js.map +1 -1
  58. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.d.ts +2 -1
  59. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.js +1 -1
  60. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.js.map +1 -1
  61. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.d.ts +2 -1
  62. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.js +1 -1
  63. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.js.map +1 -1
  64. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.d.ts +2 -1
  65. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.js +1 -1
  66. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.js.map +1 -1
  67. package/__internal__/src/components/DateTime/helpers/types.d.ts +2 -0
  68. package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
  69. package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +3 -2
  70. package/__internal__/src/components/FieldLabel/FieldLabel.css +1 -1
  71. package/__internal__/src/components/FieldLabel/FieldLabel.d.ts +2 -0
  72. package/__internal__/src/components/FieldLabel/FieldLabel.js +1 -1
  73. package/__internal__/src/components/FieldLabel/FieldLabel.js.map +1 -1
  74. package/__internal__/src/components/Select/helpers.d.ts +5 -2
  75. package/__internal__/src/components/Select/helpers.js.map +1 -1
  76. package/__internal__/src/components/SelectComponents/Select.css +1 -1
  77. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.d.ts +3 -1
  78. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.js +1 -1
  79. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.js.map +1 -1
  80. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -0
  81. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  82. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  83. package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.css +1 -1
  84. package/__internal__/src/components/SelectComponents/types.d.ts +1 -1
  85. package/__internal__/src/components/SelectComponents/types.js +1 -1
  86. package/__internal__/src/components/SelectComponents/types.js.map +1 -1
  87. package/__internal__/src/components/Slider/Slider.js +1 -1
  88. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  89. package/__internal__/src/components/Slider/helper.d.ts +1 -0
  90. package/__internal__/src/components/Slider/helper.js.map +1 -1
  91. package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
  92. package/__internal__/src/components/TextField/TextField.css +1 -1
  93. package/__internal__/src/components/TextField/TextField.js +1 -1
  94. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  95. package/__internal__/src/components/TextField/types.d.ts +1 -0
  96. package/__internal__/src/components/TextField/types.js.map +1 -1
  97. package/__internal__/src/components/User/User.js +1 -1
  98. package/__internal__/src/components/User/User.js.map +1 -1
  99. package/__internal__/src/components/UserSelect/helpers.d.ts +5 -2
  100. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  101. package/__internal__/src/utils/date/index.d.ts +1 -0
  102. package/__internal__/src/utils/date/index.js +1 -1
  103. package/__internal__/src/utils/date/index.js.map +1 -1
  104. package/__internal__/src/utils/date/isDisableDate.d.ts +8 -0
  105. package/__internal__/src/utils/date/isDisableDate.js +2 -0
  106. package/__internal__/src/utils/date/isDisableDate.js.map +1 -0
  107. package/__internal__/src/utils/date/isInMinMaxDade.d.ts +1 -1
  108. package/__internal__/src/utils/date/isInMinMaxDade.js +1 -1
  109. package/__internal__/src/utils/date/isInMinMaxDade.js.map +1 -1
  110. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { DateTimePropDisableDates } from '../helpers';
2
3
  export declare const dateTimeTimePropLocaleDefault: {
3
4
  readonly hours: "Час";
4
5
  readonly minutes: "Мин";
@@ -14,5 +15,5 @@ declare type ResultItem = {
14
15
  disabled?: boolean;
15
16
  selected?: boolean;
16
17
  };
17
- export declare const useTimeItems: (value?: Date, multiplicityHours?: number, multiplicityMinutes?: number, multiplicitySeconds?: number, onChange?: DateTimeTimePropOnChange, minDate?: Date, maxDate?: Date) => ResultItem[][];
18
+ export declare const useTimeItems: (value?: Date, multiplicityHours?: number, multiplicityMinutes?: number, multiplicitySeconds?: number, onChange?: DateTimeTimePropOnChange, minDate?: Date, maxDate?: Date, disableDates?: DateTimePropDisableDates) => ResultItem[][];
18
19
  export {};
@@ -1,2 +1,2 @@
1
- import{addHours,addMinutes,addSeconds,endOfHour,endOfMinute,endOfSecond,startOfDay,startOfHour,startOfMinute,startOfSecond,startOfToday}from"date-fns";import{useMemo}from"react";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";import{range}from"../../../utils/array";import{isInMinMaxDade}from"../../../utils/date";import{getLabelHours,getLabelMinutes,getLabelSeconds}from"../helpers";export var dateTimeTimePropLocaleDefault={hours:"\u0427\u0430\u0441",minutes:"\u041C\u0438\u043D",seconds:"\u0421\u0435\u043A"};var getItemData=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,c=2<arguments.length?arguments[2]:void 0,d=3<arguments.length?arguments[3]:void 0,e=4<arguments.length?arguments[4]:void 0,f=5<arguments.length?arguments[5]:void 0,g=6<arguments.length?arguments[6]:void 0,h=7<arguments.length?arguments[7]:void 0,i=8<arguments.length?arguments[8]:void 0,j=9<arguments.length?arguments[9]:void 0,k=10<arguments.length?arguments[10]:void 0,l=range(b?Math.ceil(a/b):0);if(0===l.length)return[];var m=c(h||startOfToday());return l.map(function(a){var c=f(m,a*b),l=g(c),n=!!h&&g(c)===g(h),o=!isInMinMaxDade(c,i,j,d,e);return{label:l,selected:n,disabled:o,onClick:function onClick(a){var b;return!o&&(null===k||void 0===k||null===(b=k.current)||void 0===b?void 0:b.call(k,{e:a,value:c}))}}})};export var useTimeItems=function(a,b,c,d,e,f,g){var h=useMutableRef(e);return useMemo(function(){return[getItemData(24,b,startOfDay,startOfHour,endOfHour,addHours,getLabelHours,a,f,g,h),getItemData(60,c,startOfHour,startOfMinute,endOfMinute,addMinutes,getLabelMinutes,a,f,g,h),getItemData(60,d,startOfMinute,startOfSecond,endOfSecond,addSeconds,getLabelSeconds,a,f,g,h)]},[null===a||void 0===a?void 0:a.getTime(),null===f||void 0===f?void 0:f.getTime(),null===g||void 0===g?void 0:g.getTime(),b,c,d])};
1
+ import{addHours,addMinutes,addSeconds,endOfHour,endOfMinute,endOfSecond,startOfDay,startOfHour,startOfMinute,startOfSecond,startOfToday}from"date-fns";import{useMemo}from"react";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";import{range}from"../../../utils/array";import{isDisableDate,isInMinMaxDate}from"../../../utils/date";import{getLabelHours,getLabelMinutes,getLabelSeconds}from"../helpers";export var dateTimeTimePropLocaleDefault={hours:"\u0427\u0430\u0441",minutes:"\u041C\u0438\u043D",seconds:"\u0421\u0435\u043A"};var getItemData=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,c=2<arguments.length?arguments[2]:void 0,d=3<arguments.length?arguments[3]:void 0,e=4<arguments.length?arguments[4]:void 0,f=5<arguments.length?arguments[5]:void 0,g=6<arguments.length?arguments[6]:void 0,h=7<arguments.length?arguments[7]:void 0,i=8<arguments.length?arguments[8]:void 0,j=9<arguments.length?arguments[9]:void 0,k=10<arguments.length?arguments[10]:void 0,l=11<arguments.length?arguments[11]:void 0,m="hours"===a?24:60,n=range(b?Math.ceil(m/b):0);if(0===n.length)return[];var o=c(h||startOfToday());return n.map(function(c){var m=f(o,c*b),n=g(m),p=!!h&&g(m)===g(h),q=!isInMinMaxDate(m,i,j,d,e)||isDisableDate({date:m,disableDates:k,mode:"time",timeType:a});return{label:n,selected:p,disabled:q,onClick:function onClick(a){var b;return!q&&(null===l||void 0===l||null===(b=l.current)||void 0===b?void 0:b.call(l,{e:a,value:m}))}}})};export var useTimeItems=function(a,b,c,d,e,f,g,h){var i=useMutableRef(e);return useMemo(function(){return[getItemData("hours",b,startOfDay,startOfHour,endOfHour,addHours,getLabelHours,a,f,g,h,i),getItemData("minutes",c,startOfHour,startOfMinute,endOfMinute,addMinutes,getLabelMinutes,a,f,g,h,i),getItemData("seconds",d,startOfMinute,startOfSecond,endOfSecond,addSeconds,getLabelSeconds,a,f,g,h,i)]},[null===a||void 0===a?void 0:a.getTime(),null===f||void 0===f?void 0:f.getTime(),null===g||void 0===g?void 0:g.getTime(),b,c,d,h])};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["addHours","addMinutes","addSeconds","endOfHour","endOfMinute","endOfSecond","startOfDay","startOfHour","startOfMinute","startOfSecond","startOfToday","useMemo","useMutableRef","range","isInMinMaxDade","getLabelHours","getLabelMinutes","getLabelSeconds","dateTimeTimePropLocaleDefault","hours","minutes","seconds","getItemData","length","multiplicity","startOfUnits","startOfUnit","endOfUnit","addUnits","getItemLabel","value","minDate","maxDate","onChangeRef","numbers","Math","ceil","startDate","map","number","date","label","selected","disabled","onClick","e","current","useTimeItems","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onChange","getTime"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeTime/helpers.ts"],"sourcesContent":["import {\n addHours,\n addMinutes,\n addSeconds,\n endOfHour,\n endOfMinute,\n endOfSecond,\n startOfDay,\n startOfHour,\n startOfMinute,\n startOfSecond,\n startOfToday,\n} from 'date-fns';\nimport { useMemo } from 'react';\n\nimport { useMutableRef } from '../../../hooks/useMutableRef/useMutableRef';\nimport { range } from '../../../utils/array';\nimport { isInMinMaxDade } from '../../../utils/date';\nimport { getLabelHours, getLabelMinutes, getLabelSeconds } from '../helpers';\n\nexport const dateTimeTimePropLocaleDefault = {\n hours: 'Час',\n minutes: 'Мин',\n seconds: 'Сек',\n} as const;\n\ntype DateTimeTimePropOnChange = (props: {\n value: Date;\n e: React.MouseEvent<HTMLButtonElement>;\n}) => void;\n\ntype ResultItem = {\n label: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n disabled?: boolean;\n selected?: boolean;\n};\n\nconst getItemData = (\n length: number,\n multiplicity = 1,\n startOfUnits: (date: Date) => Date,\n startOfUnit: (date: Date) => Date,\n endOfUnit: (date: Date) => Date,\n addUnits: typeof addHours,\n getItemLabel: (date: Date) => string,\n value?: Date,\n minDate?: Date,\n maxDate?: Date,\n onChangeRef?: React.MutableRefObject<DateTimeTimePropOnChange | undefined>,\n): ResultItem[] => {\n const numbers = range(multiplicity ? Math.ceil(length / multiplicity) : 0);\n\n if (numbers.length === 0) {\n return [];\n }\n\n const startDate = startOfUnits(value || startOfToday());\n\n return numbers.map((number) => {\n const date = addUnits(startDate, number * multiplicity);\n const label = getItemLabel(date);\n const selected = value ? getItemLabel(date) === getItemLabel(value) : false;\n const disabled = !isInMinMaxDade(\n date,\n minDate,\n maxDate,\n startOfUnit,\n endOfUnit,\n );\n const onClick = (e: React.MouseEvent<HTMLButtonElement>) =>\n !disabled && onChangeRef?.current?.({ e, value: date });\n\n return {\n label,\n selected,\n disabled,\n onClick,\n };\n });\n};\n\nexport const useTimeItems = (\n value?: Date,\n multiplicityHours?: number,\n multiplicityMinutes?: number,\n multiplicitySeconds?: number,\n onChange?: DateTimeTimePropOnChange,\n minDate?: Date,\n maxDate?: Date,\n): ResultItem[][] => {\n const onChangeRef = useMutableRef(onChange);\n\n return useMemo(\n () => [\n getItemData(\n 24,\n multiplicityHours,\n startOfDay,\n startOfHour,\n endOfHour,\n addHours,\n getLabelHours,\n value,\n minDate,\n maxDate,\n onChangeRef,\n ),\n getItemData(\n 60,\n multiplicityMinutes,\n startOfHour,\n startOfMinute,\n endOfMinute,\n addMinutes,\n getLabelMinutes,\n value,\n minDate,\n maxDate,\n onChangeRef,\n ),\n getItemData(\n 60,\n multiplicitySeconds,\n startOfMinute,\n startOfSecond,\n endOfSecond,\n addSeconds,\n getLabelSeconds,\n value,\n minDate,\n maxDate,\n onChangeRef,\n ),\n ],\n [\n value?.getTime(),\n minDate?.getTime(),\n maxDate?.getTime(),\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n ],\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["addHours","addMinutes","addSeconds","endOfHour","endOfMinute","endOfSecond","startOfDay","startOfHour","startOfMinute","startOfSecond","startOfToday","useMemo","useMutableRef","range","isDisableDate","isInMinMaxDate","getLabelHours","getLabelMinutes","getLabelSeconds","dateTimeTimePropLocaleDefault","hours","minutes","seconds","getItemData","timeType","multiplicity","startOfUnits","startOfUnit","endOfUnit","addUnits","getItemLabel","value","minDate","maxDate","disableDates","onChangeRef","length","numbers","Math","ceil","startDate","map","number","date","label","selected","disabled","mode","onClick","e","current","useTimeItems","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onChange","getTime"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeTime/helpers.ts"],"sourcesContent":["import {\n addHours,\n addMinutes,\n addSeconds,\n endOfHour,\n endOfMinute,\n endOfSecond,\n startOfDay,\n startOfHour,\n startOfMinute,\n startOfSecond,\n startOfToday,\n} from 'date-fns';\nimport { useMemo } from 'react';\n\nimport { useMutableRef } from '../../../hooks/useMutableRef/useMutableRef';\nimport { range } from '../../../utils/array';\nimport { isDisableDate, isInMinMaxDate } from '../../../utils/date';\nimport {\n DateTimePropDisableDates,\n getLabelHours,\n getLabelMinutes,\n getLabelSeconds,\n} from '../helpers';\n\nexport const dateTimeTimePropLocaleDefault = {\n hours: 'Час',\n minutes: 'Мин',\n seconds: 'Сек',\n} as const;\n\ntype DateTimeTimePropOnChange = (props: {\n value: Date;\n e: React.MouseEvent<HTMLButtonElement>;\n}) => void;\n\ntype ResultItem = {\n label: string;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n disabled?: boolean;\n selected?: boolean;\n};\n\nconst getItemData = (\n timeType: 'hours' | 'minutes' | 'seconds',\n multiplicity = 1,\n startOfUnits: (date: Date) => Date,\n startOfUnit: (date: Date) => Date,\n endOfUnit: (date: Date) => Date,\n addUnits: typeof addHours,\n getItemLabel: (date: Date) => string,\n value?: Date,\n minDate?: Date,\n maxDate?: Date,\n disableDates?: DateTimePropDisableDates,\n onChangeRef?: React.MutableRefObject<DateTimeTimePropOnChange | undefined>,\n): ResultItem[] => {\n const length = timeType === 'hours' ? 24 : 60;\n const numbers = range(multiplicity ? Math.ceil(length / multiplicity) : 0);\n\n if (numbers.length === 0) {\n return [];\n }\n\n const startDate = startOfUnits(value || startOfToday());\n\n return numbers.map((number) => {\n const date = addUnits(startDate, number * multiplicity);\n const label = getItemLabel(date);\n const selected = value ? getItemLabel(date) === getItemLabel(value) : false;\n const disabled =\n !isInMinMaxDate(date, minDate, maxDate, startOfUnit, endOfUnit) ||\n isDisableDate({ date, disableDates, mode: 'time', timeType });\n const onClick = (e: React.MouseEvent<HTMLButtonElement>) =>\n !disabled && onChangeRef?.current?.({ e, value: date });\n\n return {\n label,\n selected,\n disabled,\n onClick,\n };\n });\n};\n\nexport const useTimeItems = (\n value?: Date,\n multiplicityHours?: number,\n multiplicityMinutes?: number,\n multiplicitySeconds?: number,\n onChange?: DateTimeTimePropOnChange,\n minDate?: Date,\n maxDate?: Date,\n disableDates?: DateTimePropDisableDates,\n): ResultItem[][] => {\n const onChangeRef = useMutableRef(onChange);\n\n return useMemo(\n () => [\n getItemData(\n 'hours',\n multiplicityHours,\n startOfDay,\n startOfHour,\n endOfHour,\n addHours,\n getLabelHours,\n value,\n minDate,\n maxDate,\n disableDates,\n onChangeRef,\n ),\n getItemData(\n 'minutes',\n multiplicityMinutes,\n startOfHour,\n startOfMinute,\n endOfMinute,\n addMinutes,\n getLabelMinutes,\n value,\n minDate,\n maxDate,\n disableDates,\n onChangeRef,\n ),\n getItemData(\n 'seconds',\n multiplicitySeconds,\n startOfMinute,\n startOfSecond,\n endOfSecond,\n addSeconds,\n getLabelSeconds,\n value,\n minDate,\n maxDate,\n disableDates,\n onChangeRef,\n ),\n ],\n [\n value?.getTime(),\n minDate?.getTime(),\n maxDate?.getTime(),\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n disableDates,\n ],\n );\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["minDate","maxDate","value","onChange","onChangeRange","currentVisibleDate","events","locale","className","view","onMove","onChangeCurrentVisibleDate"];import{addYears,startOfDecade}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{forwardRef,useEffect}from"react";import{DateTime10Years}from"../DateTime10Years/DateTime10Years";import{DateTime100YearSlider}from"../DateTime100YearSlider/DateTime100YearSlider";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeToggler}from"../DateTimeToggler/DateTimeToggler";import{getDecadeTitle,getHandleSelectDate,getYearsOfDecade,isEqualYear,moveTypes,useCurrentVisibleDate}from"../helpers";import{dateTimePropView,dateTimePropViewDefault}from"../helpers/types";import{cnDateTimeMixLayout}from"../mixs";export var DateTimeTypeYear=forwardRef(function(a,b){var c=a.minDate,d=a.maxDate,e=a.value,f=a.onChange,g=a.onChangeRange,h=a.currentVisibleDate,i=a.events,j=a.locale,k=void 0===j?ruLocale:j,l=a.className,m=a.view,n=void 0===m?dateTimePropViewDefault:m,o=a.onMove,p=a.onChangeCurrentVisibleDate,q=_objectWithoutProperties(a,_excluded);useEffect(function(){null===o||void 0===o?void 0:o(moveTypes[0])},[]);var r=useCurrentVisibleDate({currentVisibleDate:h,maxDate:d,minDate:c,value:e,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:p}),s=_slicedToArray(r,2),t=s[0],u=s[1],v=getHandleSelectDate({minDate:c,maxDate:d,value:e,onChange:f,onChangeRange:g,isEqualUnit:isEqualYear}),w=getYearsOfDecade({date:t,onChange:v,value:e,events:i,minDate:c,maxDate:d,locale:k}),x=getDecadeTitle(t),y=function(){return u(addYears(t,10))},z=function(){return u(addYears(t,-10))};if(n===dateTimePropView[0])return React.createElement("div",Object.assign({},q,{className:cnDateTimeMixLayout({view:n},[l]),ref:b}),React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:z,nextOnClick:y,label:x}),React.createElement(DateTime10Years,{years:w}));var A=addYears(t,10),B=getYearsOfDecade({date:A,onChange:v,value:e,events:i,minDate:c,maxDate:d,locale:k}),C=getDecadeTitle(A);return n===dateTimePropView[1]?React.createElement("div",Object.assign({},q,{className:cnDateTimeMixLayout({view:n},[l]),ref:b}),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:z,label:x}),React.createElement(DateTime10Years,{years:w})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),nextOnClick:y,label:C}),React.createElement(DateTime10Years,{years:B}))):React.createElement("div",Object.assign({},q,{className:cnDateTimeMixLayout({view:n},[l]),ref:b}),React.createElement(DateTime100YearSlider,{className:cnDateTimeMixLayout("Slider"),currentVisibleDate:t,onChange:u,value:e,locale:k}),React.createElement("div",{className:cnDateTimeMixLayout("PageWrapper")},React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:x}),React.createElement(DateTime10Years,{years:w})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:C}),React.createElement(DateTime10Years,{years:B}))))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["minDate","maxDate","value","onChange","onChangeRange","disableDates","currentVisibleDate","events","locale","className","view","onMove","onChangeCurrentVisibleDate"];import{addYears,startOfDecade}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{forwardRef,useEffect}from"react";import{DateTime10Years}from"../DateTime10Years/DateTime10Years";import{DateTime100YearSlider}from"../DateTime100YearSlider/DateTime100YearSlider";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeToggler}from"../DateTimeToggler/DateTimeToggler";import{getDecadeTitle,getHandleSelectDate,getYearsOfDecade,isEqualYear,moveTypes,useCurrentVisibleDate}from"../helpers";import{dateTimePropView,dateTimePropViewDefault}from"../helpers/types";import{cnDateTimeMixLayout}from"../mixs";export var DateTimeTypeYear=forwardRef(function(a,b){var c=a.minDate,d=a.maxDate,e=a.value,f=a.onChange,g=a.onChangeRange,h=a.disableDates,i=a.currentVisibleDate,j=a.events,k=a.locale,l=void 0===k?ruLocale:k,m=a.className,n=a.view,o=void 0===n?dateTimePropViewDefault:n,p=a.onMove,q=a.onChangeCurrentVisibleDate,r=_objectWithoutProperties(a,_excluded);useEffect(function(){null===p||void 0===p?void 0:p(moveTypes[0])},[]);var s=useCurrentVisibleDate({currentVisibleDate:i,maxDate:d,minDate:c,value:e,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:q}),t=_slicedToArray(s,2),u=t[0],v=t[1],w=getHandleSelectDate({minDate:c,maxDate:d,value:e,onChange:f,onChangeRange:g,isEqualUnit:isEqualYear}),x=getYearsOfDecade({date:u,onChange:w,value:e,disableDates:h,events:j,minDate:c,maxDate:d,locale:l}),y=getDecadeTitle(u),z=function(){return v(addYears(u,10))},A=function(){return v(addYears(u,-10))};if(o===dateTimePropView[0])return React.createElement("div",Object.assign({},r,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:A,nextOnClick:z,label:y}),React.createElement(DateTime10Years,{years:x}));var B=addYears(u,10),C=getYearsOfDecade({date:B,onChange:w,value:e,events:j,minDate:c,maxDate:d,locale:l}),D=getDecadeTitle(B);return o===dateTimePropView[1]?React.createElement("div",Object.assign({},r,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:A,label:y}),React.createElement(DateTime10Years,{years:x})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),nextOnClick:z,label:D}),React.createElement(DateTime10Years,{years:C}))):React.createElement("div",Object.assign({},r,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement(DateTime100YearSlider,{className:cnDateTimeMixLayout("Slider"),currentVisibleDate:u,onChange:v,value:e,locale:l}),React.createElement("div",{className:cnDateTimeMixLayout("PageWrapper")},React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:y}),React.createElement(DateTime10Years,{years:x})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:D}),React.createElement(DateTime10Years,{years:C}))))});
2
2
  //# sourceMappingURL=DateTimeTypeYear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeTypeYear.js","names":["addYears","startOfDecade","ruLocale","React","forwardRef","useEffect","DateTime10Years","DateTime100YearSlider","DateTimeLabel","DateTimeToggler","getDecadeTitle","getHandleSelectDate","getYearsOfDecade","isEqualYear","moveTypes","useCurrentVisibleDate","dateTimePropView","dateTimePropViewDefault","cnDateTimeMixLayout","DateTimeTypeYear","props","ref","minDate","maxDate","value","onChange","onChangeRange","currentVisibleDateProp","currentVisibleDate","events","locale","className","view","onMove","onChangeCurrentVisibleDate","otherProps","startOfUnit","setCurrentVisibleDate","handleSelectDate","isEqualUnit","pageOneYearsOfDecade","date","pageOneLabel","handleNext","handlePrev","pageTwoCurrentVisibleDate","pageTwoYearsOfDecade","pageTwoLabel"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { DateTime10Years } from '../DateTime10Years/DateTime10Years';\nimport { DateTime100YearSlider } from '../DateTime100YearSlider/DateTime100YearSlider';\nimport { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';\nimport { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';\nimport {\n DateTimeTypeComponent,\n getDecadeTitle,\n getHandleSelectDate,\n getYearsOfDecade,\n isEqualYear,\n moveTypes,\n useCurrentVisibleDate,\n} from '../helpers';\nimport { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';\nimport { cnDateTimeMixLayout } from '../mixs';\n\nexport const DateTimeTypeYear: DateTimeTypeComponent<'year'> = forwardRef(\n (props, ref) => {\n const {\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n currentVisibleDate: currentVisibleDateProp,\n events,\n locale = ruLocale,\n className,\n view = dateTimePropViewDefault,\n onMove,\n onChangeCurrentVisibleDate,\n\n ...otherProps\n } = props;\n\n useEffect(() => {\n onMove?.(moveTypes[0]);\n }, []);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate,\n minDate,\n value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n });\n\n const handleSelectDate = getHandleSelectDate({\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n isEqualUnit: isEqualYear,\n });\n\n const pageOneYearsOfDecade = getYearsOfDecade({\n date: currentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageOneLabel = getDecadeTitle(currentVisibleDate);\n\n const handleNext = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, 10));\n const handlePrev = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, -10));\n\n if (view === dateTimePropView[0]) {\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={handlePrev}\n nextOnClick={handleNext}\n label={pageOneLabel}\n />\n <DateTime10Years years={pageOneYearsOfDecade} />\n </div>\n );\n }\n\n const pageTwoCurrentVisibleDate = addYears(currentVisibleDate, 10);\n\n const pageTwoYearsOfDecade = getYearsOfDecade({\n date: pageTwoCurrentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageTwoLabel = getDecadeTitle(pageTwoCurrentVisibleDate);\n\n if (view === dateTimePropView[1]) {\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={handlePrev}\n label={pageOneLabel}\n />\n <DateTime10Years years={pageOneYearsOfDecade} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n nextOnClick={handleNext}\n label={pageTwoLabel}\n />\n <DateTime10Years years={pageTwoYearsOfDecade} />\n </div>\n </div>\n );\n }\n\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <DateTime100YearSlider\n className={cnDateTimeMixLayout('Slider')}\n currentVisibleDate={currentVisibleDate}\n onChange={setCurrentVisibleDate}\n value={value}\n locale={locale}\n />\n <div className={cnDateTimeMixLayout('PageWrapper')}>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageOneLabel}\n />\n <DateTime10Years years={pageOneYearsOfDecade} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageTwoLabel}\n />\n <DateTime10Years years={pageTwoYearsOfDecade} />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeTypeYear.js","names":["addYears","startOfDecade","ruLocale","React","forwardRef","useEffect","DateTime10Years","DateTime100YearSlider","DateTimeLabel","DateTimeToggler","getDecadeTitle","getHandleSelectDate","getYearsOfDecade","isEqualYear","moveTypes","useCurrentVisibleDate","dateTimePropView","dateTimePropViewDefault","cnDateTimeMixLayout","DateTimeTypeYear","props","ref","minDate","maxDate","value","onChange","onChangeRange","disableDates","currentVisibleDateProp","currentVisibleDate","events","locale","className","view","onMove","onChangeCurrentVisibleDate","otherProps","startOfUnit","setCurrentVisibleDate","handleSelectDate","isEqualUnit","pageOneYearsOfDecade","date","pageOneLabel","handleNext","handlePrev","pageTwoCurrentVisibleDate","pageTwoYearsOfDecade","pageTwoLabel"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { DateTime10Years } from '../DateTime10Years/DateTime10Years';\nimport { DateTime100YearSlider } from '../DateTime100YearSlider/DateTime100YearSlider';\nimport { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';\nimport { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';\nimport {\n DateTimeTypeComponent,\n getDecadeTitle,\n getHandleSelectDate,\n getYearsOfDecade,\n isEqualYear,\n moveTypes,\n useCurrentVisibleDate,\n} from '../helpers';\nimport { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';\nimport { cnDateTimeMixLayout } from '../mixs';\n\nexport const DateTimeTypeYear: DateTimeTypeComponent<'year'> = forwardRef(\n (props, ref) => {\n const {\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n disableDates,\n currentVisibleDate: currentVisibleDateProp,\n events,\n locale = ruLocale,\n className,\n view = dateTimePropViewDefault,\n onMove,\n onChangeCurrentVisibleDate,\n\n ...otherProps\n } = props;\n\n useEffect(() => {\n onMove?.(moveTypes[0]);\n }, []);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate,\n minDate,\n value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n });\n\n const handleSelectDate = getHandleSelectDate({\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n isEqualUnit: isEqualYear,\n });\n\n const pageOneYearsOfDecade = getYearsOfDecade({\n date: currentVisibleDate,\n onChange: handleSelectDate,\n value,\n disableDates,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageOneLabel = getDecadeTitle(currentVisibleDate);\n\n const handleNext = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, 10));\n const handlePrev = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, -10));\n\n if (view === dateTimePropView[0]) {\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={handlePrev}\n nextOnClick={handleNext}\n label={pageOneLabel}\n />\n <DateTime10Years years={pageOneYearsOfDecade} />\n </div>\n );\n }\n\n const pageTwoCurrentVisibleDate = addYears(currentVisibleDate, 10);\n\n const pageTwoYearsOfDecade = getYearsOfDecade({\n date: pageTwoCurrentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageTwoLabel = getDecadeTitle(pageTwoCurrentVisibleDate);\n\n if (view === dateTimePropView[1]) {\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={handlePrev}\n label={pageOneLabel}\n />\n <DateTime10Years years={pageOneYearsOfDecade} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n nextOnClick={handleNext}\n label={pageTwoLabel}\n />\n <DateTime10Years years={pageTwoYearsOfDecade} />\n </div>\n </div>\n );\n }\n\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <DateTime100YearSlider\n className={cnDateTimeMixLayout('Slider')}\n currentVisibleDate={currentVisibleDate}\n onChange={setCurrentVisibleDate}\n value={value}\n locale={locale}\n />\n <div className={cnDateTimeMixLayout('PageWrapper')}>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageOneLabel}\n />\n <DateTime10Years years={pageOneYearsOfDecade} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageTwoLabel}\n />\n <DateTime10Years years={pageTwoYearsOfDecade} />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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"}
@@ -3,11 +3,12 @@ import React from 'react';
3
3
  import { range } from '../../../utils/array';
4
4
  import { DateRange } from '../../../utils/types/Date';
5
5
  import { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';
6
- import { HandleSelectDate } from './types';
6
+ import { DateTimePropDisableDates, HandleSelectDate } from './types';
7
7
  export declare const getDaysOfMonth: (props: {
8
8
  date: Date;
9
9
  locale: Locale;
10
10
  handleDayClick?: HandleSelectDate;
11
+ disableDates?: DateTimePropDisableDates;
11
12
  value?: Date | DateRange;
12
13
  events?: Date[];
13
14
  minDate?: Date;
@@ -1,2 +1,2 @@
1
- import{addDays,addWeeks,differenceInDays,endOfDay,endOfWeek,format,startOfDay,startOfMonth,startOfWeek}from"date-fns";import{range}from"../../../utils/array";import{isInMinMaxDade}from"../../../utils/date";import{isDateInRange}from"./isDateInRange";import{isEqualDay}from"./isEqualDay";var isSelected=function(a){var b=a.date,c=a.value;return!!c&&(Array.isArray(c)?!!c.find(function(a){return!!a&&isEqualDay(b,a)}):isEqualDay(b,c))},hasEvent=function(a,b){return!!b.find(function(b){return isEqualDay(b,a)})},isToday=function(a){return isEqualDay(new Date,a)};export var getDaysOfMonth=function(a){var b=a.date,c=a.locale,d=a.handleDayClick,e=a.value,f=a.events,g=a.minDate,h=a.maxDate,i=b.getMonth(),j=startOfWeek(startOfMonth(b),{locale:c}),k=endOfWeek(addWeeks(j,5),{locale:c}),l=differenceInDays(k,j)+1;return range(l).map(function(a){var b=addDays(j,a),c=format(b,"d"),k=!isInMinMaxDade(b,g,h,startOfDay,endOfDay),l=!k&&d?function(a){return d({e:a,value:b})}:void 0;return b.getMonth()===i?{label:c,onClick:l,selected:isSelected({date:b,value:e}),range:Array.isArray(e)&&isDateInRange(b,e,startOfDay),event:f&&hasEvent(b,f),current:isToday(b),disabled:k}:{label:c,disabled:!0}})};
1
+ import{addDays,addWeeks,differenceInDays,endOfDay,endOfWeek,format,startOfDay,startOfMonth,startOfWeek}from"date-fns";import{range}from"../../../utils/array";import{isDisableDate,isInMinMaxDate}from"../../../utils/date";import{isDateInRange}from"./isDateInRange";import{isEqualDay}from"./isEqualDay";var isSelected=function(a){var b=a.date,c=a.value;return!!c&&(Array.isArray(c)?!!c.find(function(a){return!!a&&isEqualDay(b,a)}):isEqualDay(b,c))},hasEvent=function(a,b){return!!b.find(function(b){return isEqualDay(b,a)})},isToday=function(a){return isEqualDay(new Date,a)};export var getDaysOfMonth=function(a){var b=a.date,c=a.locale,d=a.handleDayClick,e=a.value,f=a.events,g=a.minDate,h=a.maxDate,i=a.disableDates,j=b.getMonth(),k=startOfWeek(startOfMonth(b),{locale:c}),l=endOfWeek(addWeeks(k,5),{locale:c}),m=differenceInDays(l,k)+1;return range(m).map(function(a){var b=addDays(k,a),c=format(b,"d"),l=!isInMinMaxDate(b,g,h,startOfDay,endOfDay)||isDisableDate({date:b,disableDates:i,mode:"date"}),m=!l&&d?function(a){return d({e:a,value:b})}:void 0;return b.getMonth()===j?{label:c,onClick:m,selected:isSelected({date:b,value:e}),range:Array.isArray(e)&&isDateInRange(b,e,startOfDay),event:f&&hasEvent(b,f),current:isToday(b),disabled:l}:{label:c,disabled:!0}})};
2
2
  //# sourceMappingURL=getDaysOfMonth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDaysOfMonth.js","names":["addDays","addWeeks","differenceInDays","endOfDay","endOfWeek","format","startOfDay","startOfMonth","startOfWeek","range","isInMinMaxDade","isDateInRange","isEqualDay","isSelected","date","value","Array","isArray","find","item","hasEvent","events","eventDate","isToday","Date","getDaysOfMonth","props","locale","handleDayClick","minDate","maxDate","currentMonth","getMonth","startDate","endDate","diffDays","map","index","label","disabled","onClick","e","selected","event","current"],"sources":["../../../../../../src/components/DateTime/helpers/getDaysOfMonth.ts"],"sourcesContent":["import {\n addDays,\n addWeeks,\n differenceInDays,\n endOfDay,\n endOfWeek,\n format,\n Locale,\n startOfDay,\n startOfMonth,\n startOfWeek,\n} from 'date-fns';\nimport React from 'react';\n\nimport { range } from '../../../utils/array';\nimport { isInMinMaxDade } from '../../../utils/date';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';\nimport { isDateInRange } from './isDateInRange';\nimport { isEqualDay } from './isEqualDay';\nimport { HandleSelectDate } from './types';\n\nconst isSelected = ({\n date,\n value,\n}: {\n date: Date;\n value?: Date | DateRange;\n}): boolean => {\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.find((item) => (item ? isEqualDay(date, item) : false));\n }\n\n return isEqualDay(date, value);\n};\n\nconst hasEvent = (date: Date, events: Date[]): boolean =>\n !!events.find((eventDate) => isEqualDay(eventDate, date));\n\nconst isToday = (date: Date): boolean => isEqualDay(new Date(), date);\n\nexport const getDaysOfMonth = (props: {\n date: Date;\n locale: Locale;\n handleDayClick?: HandleSelectDate;\n value?: Date | DateRange;\n events?: Date[];\n minDate?: Date;\n maxDate?: Date;\n}): {\n disabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n label: string;\n selected?: boolean;\n range?: DateTimeCellPropRange;\n event?: boolean;\n current?: boolean;\n}[] => {\n const { date, locale, handleDayClick, value, events, minDate, maxDate } =\n props;\n const currentMonth = date.getMonth();\n const startDate = startOfWeek(startOfMonth(date), { locale });\n const endDate = endOfWeek(addWeeks(startDate, 5), { locale });\n const diffDays = differenceInDays(endDate, startDate) + 1;\n\n return range(diffDays).map((index) => {\n const date = addDays(startDate, index);\n const label = format(date, 'd');\n const disabled = !isInMinMaxDade(\n date,\n minDate,\n maxDate,\n startOfDay,\n endOfDay,\n );\n const onClick =\n !disabled && handleDayClick\n ? (e: React.MouseEvent<HTMLButtonElement>) =>\n handleDayClick({ e, value: date })\n : undefined;\n\n if (date.getMonth() === currentMonth) {\n return {\n label,\n onClick,\n selected: isSelected({ date, value }),\n range: Array.isArray(value) && isDateInRange(date, value, startOfDay),\n event: events && hasEvent(date, events),\n current: isToday(date),\n disabled,\n };\n }\n\n return {\n label,\n disabled: true,\n };\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getDaysOfMonth.js","names":["addDays","addWeeks","differenceInDays","endOfDay","endOfWeek","format","startOfDay","startOfMonth","startOfWeek","range","isDisableDate","isInMinMaxDate","isDateInRange","isEqualDay","isSelected","date","value","Array","isArray","find","item","hasEvent","events","eventDate","isToday","Date","getDaysOfMonth","props","locale","handleDayClick","minDate","maxDate","disableDates","currentMonth","getMonth","startDate","endDate","diffDays","map","index","label","disabled","mode","onClick","e","selected","event","current"],"sources":["../../../../../../src/components/DateTime/helpers/getDaysOfMonth.ts"],"sourcesContent":["import {\n addDays,\n addWeeks,\n differenceInDays,\n endOfDay,\n endOfWeek,\n format,\n Locale,\n startOfDay,\n startOfMonth,\n startOfWeek,\n} from 'date-fns';\nimport React from 'react';\n\nimport { range } from '../../../utils/array';\nimport { isDisableDate, isInMinMaxDate } from '../../../utils/date';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';\nimport { isDateInRange } from './isDateInRange';\nimport { isEqualDay } from './isEqualDay';\nimport { DateTimePropDisableDates, HandleSelectDate } from './types';\n\nconst isSelected = ({\n date,\n value,\n}: {\n date: Date;\n value?: Date | DateRange;\n}): boolean => {\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.find((item) => (item ? isEqualDay(date, item) : false));\n }\n\n return isEqualDay(date, value);\n};\n\nconst hasEvent = (date: Date, events: Date[]): boolean =>\n !!events.find((eventDate) => isEqualDay(eventDate, date));\n\nconst isToday = (date: Date): boolean => isEqualDay(new Date(), date);\n\nexport const getDaysOfMonth = (props: {\n date: Date;\n locale: Locale;\n handleDayClick?: HandleSelectDate;\n disableDates?: DateTimePropDisableDates;\n value?: Date | DateRange;\n events?: Date[];\n minDate?: Date;\n maxDate?: Date;\n}): {\n disabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n label: string;\n selected?: boolean;\n range?: DateTimeCellPropRange;\n event?: boolean;\n current?: boolean;\n}[] => {\n const {\n date,\n locale,\n handleDayClick,\n value,\n events,\n minDate,\n maxDate,\n disableDates,\n } = props;\n const currentMonth = date.getMonth();\n const startDate = startOfWeek(startOfMonth(date), { locale });\n const endDate = endOfWeek(addWeeks(startDate, 5), { locale });\n const diffDays = differenceInDays(endDate, startDate) + 1;\n\n return range(diffDays).map((index) => {\n const date = addDays(startDate, index);\n const label = format(date, 'd');\n const disabled =\n !isInMinMaxDate(date, minDate, maxDate, startOfDay, endOfDay) ||\n isDisableDate({ date, disableDates, mode: 'date' });\n const onClick =\n !disabled && handleDayClick\n ? (e: React.MouseEvent<HTMLButtonElement>) =>\n handleDayClick({ e, value: date })\n : undefined;\n\n if (date.getMonth() === currentMonth) {\n return {\n label,\n onClick,\n selected: isSelected({ date, value }),\n range: Array.isArray(value) && isDateInRange(date, value, startOfDay),\n event: events && hasEvent(date, events),\n current: isToday(date),\n disabled,\n };\n }\n\n return {\n label,\n disabled: true,\n };\n });\n};\n"],"mappings":"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"}
@@ -3,12 +3,13 @@ import React from 'react';
3
3
  import { range } from '../../../utils/array';
4
4
  import { DateRange } from '../../../utils/types/Date';
5
5
  import { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';
6
- import { HandleSelectDate } from './types';
6
+ import { DateTimePropDisableDates, HandleSelectDate } from './types';
7
7
  export declare const getMonthsOfYear: (props: {
8
8
  date: Date;
9
9
  locale: Locale;
10
10
  onChange?: HandleSelectDate;
11
11
  value?: Date | DateRange;
12
+ disableDates?: DateTimePropDisableDates;
12
13
  events?: Date[];
13
14
  minDate?: Date;
14
15
  maxDate?: Date;
@@ -1,2 +1,2 @@
1
- import{addMonths,endOfMonth,getYear,startOfMonth,startOfYear}from"date-fns";import{range}from"../../../utils/array";import{isInMinMaxDade}from"../../../utils/date";import{getMonthTitleAbbreviated}from"./index";import{isDateInRange}from"./isDateInRange";import{isEqualMount}from"./isEqualMount";var isSelected=function(a){var b=a.date,c=a.value;return!!c&&(Array.isArray(c)?!!c.find(function(a){return!!a&&isEqualMount(b,a)}):isEqualMount(b,c))},hasEvent=function(a,b){return!!b.find(function(b){return isEqualMount(b,a)})},isCurrent=function(a){return isEqualMount(new Date,a)};export var getMonthsOfYear=function(a){var b=a.date,c=a.onChange,d=a.value,e=a.events,f=a.minDate,g=a.maxDate,h=a.locale,i=getYear(b),j=startOfYear(b);return range(12).map(function(a){var b=addMonths(j,a),k=getMonthTitleAbbreviated(b,h),l=!isInMinMaxDade(b,f,g,startOfMonth,endOfMonth),m=!l&&c?function(a){return c({e:a,value:b})}:void 0;return getYear(b)===i?{label:k,onClick:m,selected:isSelected({date:b,value:d}),range:Array.isArray(d)&&isDateInRange(b,d,startOfMonth),event:e&&hasEvent(b,e),current:isCurrent(b),disabled:l}:{label:k,disabled:!0}})};
1
+ import{addMonths,endOfMonth,getYear,startOfMonth,startOfYear}from"date-fns";import{range}from"../../../utils/array";import{isDisableDate,isInMinMaxDate}from"../../../utils/date";import{getMonthTitleAbbreviated}from"./index";import{isDateInRange}from"./isDateInRange";import{isEqualMount}from"./isEqualMount";var isSelected=function(a){var b=a.date,c=a.value;return!!c&&(Array.isArray(c)?!!c.find(function(a){return!!a&&isEqualMount(b,a)}):isEqualMount(b,c))},hasEvent=function(a,b){return!!b.find(function(b){return isEqualMount(b,a)})},isCurrent=function(a){return isEqualMount(new Date,a)};export var getMonthsOfYear=function(a){var b=a.date,c=a.onChange,d=a.value,e=a.events,f=a.minDate,g=a.maxDate,h=a.locale,i=a.disableDates,j=getYear(b),k=startOfYear(b);return range(12).map(function(a){var b=addMonths(k,a),l=getMonthTitleAbbreviated(b,h),m=!isInMinMaxDate(b,f,g,startOfMonth,endOfMonth)||isDisableDate({date:b,disableDates:i,mode:"month"}),n=!m&&c?function(a){return c({e:a,value:b})}:void 0;return getYear(b)===j?{label:l,onClick:n,selected:isSelected({date:b,value:d}),range:Array.isArray(d)&&isDateInRange(b,d,startOfMonth),event:e&&hasEvent(b,e),current:isCurrent(b),disabled:m}:{label:l,disabled:!0}})};
2
2
  //# sourceMappingURL=getMonthsOfYear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMonthsOfYear.js","names":["addMonths","endOfMonth","getYear","startOfMonth","startOfYear","range","isInMinMaxDade","getMonthTitleAbbreviated","isDateInRange","isEqualMount","isSelected","date","value","Array","isArray","find","item","hasEvent","events","eventDate","isCurrent","Date","getMonthsOfYear","props","onChange","minDate","maxDate","locale","currentYear","startDate","map","index","label","disabled","onClick","e","selected","event","current"],"sources":["../../../../../../src/components/DateTime/helpers/getMonthsOfYear.ts"],"sourcesContent":["import {\n addMonths,\n endOfMonth,\n getYear,\n Locale,\n startOfMonth,\n startOfYear,\n} from 'date-fns';\nimport React from 'react';\n\nimport { range } from '../../../utils/array';\nimport { isInMinMaxDade } from '../../../utils/date';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';\nimport { getMonthTitleAbbreviated } from './index';\nimport { isDateInRange } from './isDateInRange';\nimport { isEqualMount } from './isEqualMount';\nimport { HandleSelectDate } from './types';\n\nconst isSelected = ({\n date,\n value,\n}: {\n date: Date;\n value?: Date | DateRange;\n}): boolean => {\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.find((item) => (item ? isEqualMount(date, item) : false));\n }\n\n return isEqualMount(date, value);\n};\n\nconst hasEvent = (date: Date, events: Date[]): boolean =>\n !!events.find((eventDate) => isEqualMount(eventDate, date));\n\nconst isCurrent = (date: Date): boolean => isEqualMount(new Date(), date);\n\nexport const getMonthsOfYear = (props: {\n date: Date;\n locale: Locale;\n onChange?: HandleSelectDate;\n value?: Date | DateRange;\n events?: Date[];\n minDate?: Date;\n maxDate?: Date;\n}): {\n disabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n label: string;\n selected?: boolean;\n range?: DateTimeCellPropRange;\n event?: boolean;\n current?: boolean;\n}[] => {\n const { date, onChange, value, events, minDate, maxDate, locale } = props;\n const currentYear = getYear(date);\n const startDate = startOfYear(date);\n\n return range(12).map((index) => {\n const date = addMonths(startDate, index);\n const label = getMonthTitleAbbreviated(date, locale);\n const disabled = !isInMinMaxDade(\n date,\n minDate,\n maxDate,\n startOfMonth,\n endOfMonth,\n );\n const onClick =\n !disabled && onChange\n ? (e: React.MouseEvent<HTMLButtonElement>) =>\n onChange({ e, value: date })\n : undefined;\n if (getYear(date) === currentYear) {\n return {\n label,\n onClick,\n selected: isSelected({ date, value }),\n range: Array.isArray(value) && isDateInRange(date, value, startOfMonth),\n event: events && hasEvent(date, events),\n current: isCurrent(date),\n disabled,\n };\n }\n\n return {\n label,\n disabled: true,\n };\n });\n};\n"],"mappings":"AAAA,OACEA,SADF,CAEEC,UAFF,CAGEC,OAHF,CAKEC,YALF,CAMEC,WANF,KAOO,UAPP,CAUA,OAASC,KAAT,4BACA,OAASC,cAAT,2BAGA,OAASC,wBAAT,eACA,OAASC,aAAT,uBACA,OAASC,YAAT,sB,GAGMC,WAAU,CAAG,WAMJ,IALbC,EAKa,GALbA,IAKa,CAJbC,CAIa,GAJbA,KAIa,SACRA,CADQ,GAKTC,KAAK,CAACC,OAAN,CAAcF,CAAd,CALS,CAMJ,CAAC,CAACA,CAAK,CAACG,IAAN,CAAW,SAACC,CAAD,UAAWA,CAAX,EAAkBP,YAAY,CAACE,CAAD,CAAOK,CAAP,CAA9B,CAAX,CANE,CASNP,YAAY,CAACE,CAAD,CAAOC,CAAP,CATN,CAUd,C,CAEKK,QAAQ,CAAG,SAACN,CAAD,CAAaO,CAAb,QACf,CAAC,CAACA,CAAM,CAACH,IAAP,CAAY,SAACI,CAAD,QAAeV,aAAY,CAACU,CAAD,CAAYR,CAAZ,CAA3B,CAAZ,CADa,C,CAGXS,SAAS,CAAG,SAACT,CAAD,QAAyBF,aAAY,CAAC,GAAIY,KAAL,CAAaV,CAAb,CAArC,C,CAElB,MAAO,IAAMW,gBAAe,CAAG,SAACC,CAAD,CAgBxB,IACGZ,EADH,CAC+DY,CAD/D,CACGZ,IADH,CACSa,CADT,CAC+DD,CAD/D,CACSC,QADT,CACmBZ,CADnB,CAC+DW,CAD/D,CACmBX,KADnB,CAC0BM,CAD1B,CAC+DK,CAD/D,CAC0BL,MAD1B,CACkCO,CADlC,CAC+DF,CAD/D,CACkCE,OADlC,CAC2CC,CAD3C,CAC+DH,CAD/D,CAC2CG,OAD3C,CACoDC,CADpD,CAC+DJ,CAD/D,CACoDI,MADpD,CAECC,CAAW,CAAG1B,OAAO,CAACS,CAAD,CAFtB,CAGCkB,CAAS,CAAGzB,WAAW,CAACO,CAAD,CAHxB,CAKL,MAAON,MAAK,CAAC,EAAD,CAAL,CAAUyB,GAAV,CAAc,SAACC,CAAD,CAAW,IACxBpB,EAAI,CAAGX,SAAS,CAAC6B,CAAD,CAAYE,CAAZ,CADQ,CAExBC,CAAK,CAAGzB,wBAAwB,CAACI,CAAD,CAAOgB,CAAP,CAFR,CAGxBM,CAAQ,CAAG,CAAC3B,cAAc,CAC9BK,CAD8B,CAE9Bc,CAF8B,CAG9BC,CAH8B,CAI9BvB,YAJ8B,CAK9BF,UAL8B,CAHF,CAUxBiC,CAAO,CACX,CAACD,CAAD,EAAaT,CAAb,CACI,SAACW,CAAD,QACEX,EAAQ,CAAC,CAAEW,CAAC,CAADA,CAAF,CAAKvB,KAAK,CAAED,CAAZ,CAAD,CADV,CADJ,OAX4B,OAe1BT,QAAO,CAACS,CAAD,CAAP,GAAkBiB,CAfQ,CAgBrB,CACLI,KAAK,CAALA,CADK,CAELE,OAAO,CAAPA,CAFK,CAGLE,QAAQ,CAAE1B,UAAU,CAAC,CAAEC,IAAI,CAAJA,CAAF,CAAQC,KAAK,CAALA,CAAR,CAAD,CAHf,CAILP,KAAK,CAAEQ,KAAK,CAACC,OAAN,CAAcF,CAAd,GAAwBJ,aAAa,CAACG,CAAD,CAAOC,CAAP,CAAcT,YAAd,CAJvC,CAKLkC,KAAK,CAAEnB,CAAM,EAAID,QAAQ,CAACN,CAAD,CAAOO,CAAP,CALpB,CAMLoB,OAAO,CAAElB,SAAS,CAACT,CAAD,CANb,CAOLsB,QAAQ,CAARA,CAPK,CAhBqB,CA2BvB,CACLD,KAAK,CAALA,CADK,CAELC,QAAQ,GAFH,CAIR,CA/BM,CAgCR,CArDM"}
1
+ {"version":3,"file":"getMonthsOfYear.js","names":["addMonths","endOfMonth","getYear","startOfMonth","startOfYear","range","isDisableDate","isInMinMaxDate","getMonthTitleAbbreviated","isDateInRange","isEqualMount","isSelected","date","value","Array","isArray","find","item","hasEvent","events","eventDate","isCurrent","Date","getMonthsOfYear","props","onChange","minDate","maxDate","locale","disableDates","currentYear","startDate","map","index","label","disabled","mode","onClick","e","selected","event","current"],"sources":["../../../../../../src/components/DateTime/helpers/getMonthsOfYear.ts"],"sourcesContent":["import {\n addMonths,\n endOfMonth,\n getYear,\n Locale,\n startOfMonth,\n startOfYear,\n} from 'date-fns';\nimport React from 'react';\n\nimport { range } from '../../../utils/array';\nimport { isDisableDate, isInMinMaxDate } from '../../../utils/date';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';\nimport { getMonthTitleAbbreviated } from './index';\nimport { isDateInRange } from './isDateInRange';\nimport { isEqualMount } from './isEqualMount';\nimport { DateTimePropDisableDates, HandleSelectDate } from './types';\n\nconst isSelected = ({\n date,\n value,\n}: {\n date: Date;\n value?: Date | DateRange;\n}): boolean => {\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.find((item) => (item ? isEqualMount(date, item) : false));\n }\n\n return isEqualMount(date, value);\n};\n\nconst hasEvent = (date: Date, events: Date[]): boolean =>\n !!events.find((eventDate) => isEqualMount(eventDate, date));\n\nconst isCurrent = (date: Date): boolean => isEqualMount(new Date(), date);\n\nexport const getMonthsOfYear = (props: {\n date: Date;\n locale: Locale;\n onChange?: HandleSelectDate;\n value?: Date | DateRange;\n disableDates?: DateTimePropDisableDates;\n events?: Date[];\n minDate?: Date;\n maxDate?: Date;\n}): {\n disabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n label: string;\n selected?: boolean;\n range?: DateTimeCellPropRange;\n event?: boolean;\n current?: boolean;\n}[] => {\n const {\n date,\n onChange,\n value,\n events,\n minDate,\n maxDate,\n locale,\n disableDates,\n } = props;\n const currentYear = getYear(date);\n const startDate = startOfYear(date);\n\n return range(12).map((index) => {\n const date = addMonths(startDate, index);\n const label = getMonthTitleAbbreviated(date, locale);\n const disabled =\n !isInMinMaxDate(date, minDate, maxDate, startOfMonth, endOfMonth) ||\n isDisableDate({ date, disableDates, mode: 'month' });\n const onClick =\n !disabled && onChange\n ? (e: React.MouseEvent<HTMLButtonElement>) =>\n onChange({ e, value: date })\n : undefined;\n if (getYear(date) === currentYear) {\n return {\n label,\n onClick,\n selected: isSelected({ date, value }),\n range: Array.isArray(value) && isDateInRange(date, value, startOfMonth),\n event: events && hasEvent(date, events),\n current: isCurrent(date),\n disabled,\n };\n }\n\n return {\n label,\n disabled: true,\n };\n });\n};\n"],"mappings":"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"}
@@ -3,13 +3,14 @@ import React from 'react';
3
3
  import { range } from '../../../utils/array';
4
4
  import { DateRange } from '../../../utils/types/Date';
5
5
  import { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';
6
- import { HandleSelectDate } from './types';
6
+ import { DateTimePropDisableDates, HandleSelectDate } from './types';
7
7
  export declare const getYearsOfDecade: (props: {
8
8
  date: Date;
9
9
  locale: Locale;
10
10
  onChange?: HandleSelectDate;
11
11
  value?: Date | DateRange;
12
12
  events?: Date[];
13
+ disableDates?: DateTimePropDisableDates;
13
14
  minDate?: Date;
14
15
  maxDate?: Date;
15
16
  }) => {
@@ -1,2 +1,2 @@
1
- import{addYears,endOfYear,format,getDecade,startOfDecade,startOfYear}from"date-fns";import{range}from"../../../utils/array";import{isInMinMaxDade}from"../../../utils/date";import{isDateInRange}from"./isDateInRange";import{isEqualYear}from"./isEqualYear";var isSelected=function(a){var b=a.date,c=a.value;return!!c&&(Array.isArray(c)?!!c.find(function(a){return!!a&&isEqualYear(b,a)}):isEqualYear(b,c))},hasEvent=function(a,b){return!!b.find(function(b){return isEqualYear(b,a)})},isCurrent=function(a){return isEqualYear(new Date,a)};export var getYearsOfDecade=function(a){var b=a.date,c=a.onChange,d=a.value,e=a.events,f=a.minDate,g=a.maxDate,h=getDecade(b),i=addYears(startOfDecade(b),-1);return range(12).map(function(a){var b=addYears(i,a),j=format(b,"yyyy"),k=!isInMinMaxDade(b,f,g,startOfYear,endOfYear),l=!k&&c?function(a){return c({e:a,value:b})}:void 0;return getDecade(b)===h?{label:j,onClick:l,selected:isSelected({date:b,value:d}),range:Array.isArray(d)&&isDateInRange(b,d,startOfYear),event:e&&hasEvent(b,e),current:isCurrent(b),disabled:k}:{label:j,disabled:!0}})};
1
+ import{addYears,endOfYear,format,getDecade,startOfDecade,startOfYear}from"date-fns";import{range}from"../../../utils/array";import{isDisableDate,isInMinMaxDate}from"../../../utils/date";import{isDateInRange}from"./isDateInRange";import{isEqualYear}from"./isEqualYear";var isSelected=function(a){var b=a.date,c=a.value;return!!c&&(Array.isArray(c)?!!c.find(function(a){return!!a&&isEqualYear(b,a)}):isEqualYear(b,c))},hasEvent=function(a,b){return!!b.find(function(b){return isEqualYear(b,a)})},isCurrent=function(a){return isEqualYear(new Date,a)};export var getYearsOfDecade=function(a){var b=a.date,c=a.onChange,d=a.value,e=a.events,f=a.minDate,g=a.maxDate,h=a.disableDates,i=getDecade(b),j=addYears(startOfDecade(b),-1);return range(12).map(function(a){var b=addYears(j,a),k=format(b,"yyyy"),l=!isInMinMaxDate(b,f,g,startOfYear,endOfYear)||isDisableDate({date:b,disableDates:h,mode:"year"}),m=!l&&c?function(a){return c({e:a,value:b})}:void 0;return getDecade(b)===i?{label:k,onClick:m,selected:isSelected({date:b,value:d}),range:Array.isArray(d)&&isDateInRange(b,d,startOfYear),event:e&&hasEvent(b,e),current:isCurrent(b),disabled:l}:{label:k,disabled:!0}})};
2
2
  //# sourceMappingURL=getYearsOfDecade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getYearsOfDecade.js","names":["addYears","endOfYear","format","getDecade","startOfDecade","startOfYear","range","isInMinMaxDade","isDateInRange","isEqualYear","isSelected","date","value","Array","isArray","find","item","hasEvent","events","eventDate","isCurrent","Date","getYearsOfDecade","props","onChange","minDate","maxDate","currentDecade","startDate","map","index","label","disabled","onClick","e","selected","event","current"],"sources":["../../../../../../src/components/DateTime/helpers/getYearsOfDecade.ts"],"sourcesContent":["import {\n addYears,\n endOfYear,\n format,\n getDecade,\n Locale,\n startOfDecade,\n startOfYear,\n} from 'date-fns';\nimport React from 'react';\n\nimport { range } from '../../../utils/array';\nimport { isInMinMaxDade } from '../../../utils/date';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';\nimport { isDateInRange } from './isDateInRange';\nimport { isEqualYear } from './isEqualYear';\nimport { HandleSelectDate } from './types';\n\nconst isSelected = ({\n date,\n value,\n}: {\n date: Date;\n value?: Date | DateRange;\n}): boolean => {\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.find((item) => (item ? isEqualYear(date, item) : false));\n }\n\n return isEqualYear(date, value);\n};\n\nconst hasEvent = (date: Date, events: Date[]): boolean =>\n !!events.find((eventDate) => isEqualYear(eventDate, date));\n\nconst isCurrent = (date: Date): boolean => isEqualYear(new Date(), date);\n\nexport const getYearsOfDecade = (props: {\n date: Date;\n locale: Locale;\n onChange?: HandleSelectDate;\n value?: Date | DateRange;\n events?: Date[];\n minDate?: Date;\n maxDate?: Date;\n}): {\n disabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n label: string;\n selected?: boolean;\n range?: DateTimeCellPropRange;\n event?: boolean;\n current?: boolean;\n}[] => {\n const { date, onChange, value, events, minDate, maxDate } = props;\n const currentDecade = getDecade(date);\n const startDate = addYears(startOfDecade(date), -1);\n\n return range(12).map((index) => {\n const date = addYears(startDate, index);\n const label = format(date, 'yyyy');\n const disabled = !isInMinMaxDade(\n date,\n minDate,\n maxDate,\n startOfYear,\n endOfYear,\n );\n const onClick =\n !disabled && onChange\n ? (e: React.MouseEvent<HTMLButtonElement>) =>\n onChange({ e, value: date })\n : undefined;\n if (getDecade(date) === currentDecade) {\n return {\n label,\n onClick,\n selected: isSelected({ date, value }),\n range: Array.isArray(value) && isDateInRange(date, value, startOfYear),\n event: events && hasEvent(date, events),\n current: isCurrent(date),\n disabled,\n };\n }\n\n return {\n label,\n disabled: true,\n };\n });\n};\n"],"mappings":"AAAA,OACEA,QADF,CAEEC,SAFF,CAGEC,MAHF,CAIEC,SAJF,CAMEC,aANF,CAOEC,WAPF,KAQO,UARP,CAWA,OAASC,KAAT,4BACA,OAASC,cAAT,2BAGA,OAASC,aAAT,uBACA,OAASC,WAAT,qB,GAGMC,WAAU,CAAG,WAMJ,IALbC,EAKa,GALbA,IAKa,CAJbC,CAIa,GAJbA,KAIa,SACRA,CADQ,GAKTC,KAAK,CAACC,OAAN,CAAcF,CAAd,CALS,CAMJ,CAAC,CAACA,CAAK,CAACG,IAAN,CAAW,SAACC,CAAD,UAAWA,CAAX,EAAkBP,WAAW,CAACE,CAAD,CAAOK,CAAP,CAA7B,CAAX,CANE,CASNP,WAAW,CAACE,CAAD,CAAOC,CAAP,CATL,CAUd,C,CAEKK,QAAQ,CAAG,SAACN,CAAD,CAAaO,CAAb,QACf,CAAC,CAACA,CAAM,CAACH,IAAP,CAAY,SAACI,CAAD,QAAeV,YAAW,CAACU,CAAD,CAAYR,CAAZ,CAA1B,CAAZ,CADa,C,CAGXS,SAAS,CAAG,SAACT,CAAD,QAAyBF,YAAW,CAAC,GAAIY,KAAL,CAAaV,CAAb,CAApC,C,CAElB,MAAO,IAAMW,iBAAgB,CAAG,SAACC,CAAD,CAgBzB,IACGZ,EADH,CACuDY,CADvD,CACGZ,IADH,CACSa,CADT,CACuDD,CADvD,CACSC,QADT,CACmBZ,CADnB,CACuDW,CADvD,CACmBX,KADnB,CAC0BM,CAD1B,CACuDK,CADvD,CAC0BL,MAD1B,CACkCO,CADlC,CACuDF,CADvD,CACkCE,OADlC,CAC2CC,CAD3C,CACuDH,CADvD,CAC2CG,OAD3C,CAECC,CAAa,CAAGxB,SAAS,CAACQ,CAAD,CAF1B,CAGCiB,CAAS,CAAG5B,QAAQ,CAACI,aAAa,CAACO,CAAD,CAAd,CAAsB,CAAC,CAAvB,CAHrB,CAKL,MAAOL,MAAK,CAAC,EAAD,CAAL,CAAUuB,GAAV,CAAc,SAACC,CAAD,CAAW,IACxBnB,EAAI,CAAGX,QAAQ,CAAC4B,CAAD,CAAYE,CAAZ,CADS,CAExBC,CAAK,CAAG7B,MAAM,CAACS,CAAD,CAAO,MAAP,CAFU,CAGxBqB,CAAQ,CAAG,CAACzB,cAAc,CAC9BI,CAD8B,CAE9Bc,CAF8B,CAG9BC,CAH8B,CAI9BrB,WAJ8B,CAK9BJ,SAL8B,CAHF,CAUxBgC,CAAO,CACX,CAACD,CAAD,EAAaR,CAAb,CACI,SAACU,CAAD,QACEV,EAAQ,CAAC,CAAEU,CAAC,CAADA,CAAF,CAAKtB,KAAK,CAAED,CAAZ,CAAD,CADV,CADJ,OAX4B,OAe1BR,UAAS,CAACQ,CAAD,CAAT,GAAoBgB,CAfM,CAgBrB,CACLI,KAAK,CAALA,CADK,CAELE,OAAO,CAAPA,CAFK,CAGLE,QAAQ,CAAEzB,UAAU,CAAC,CAAEC,IAAI,CAAJA,CAAF,CAAQC,KAAK,CAALA,CAAR,CAAD,CAHf,CAILN,KAAK,CAAEO,KAAK,CAACC,OAAN,CAAcF,CAAd,GAAwBJ,aAAa,CAACG,CAAD,CAAOC,CAAP,CAAcP,WAAd,CAJvC,CAKL+B,KAAK,CAAElB,CAAM,EAAID,QAAQ,CAACN,CAAD,CAAOO,CAAP,CALpB,CAMLmB,OAAO,CAAEjB,SAAS,CAACT,CAAD,CANb,CAOLqB,QAAQ,CAARA,CAPK,CAhBqB,CA2BvB,CACLD,KAAK,CAALA,CADK,CAELC,QAAQ,GAFH,CAIR,CA/BM,CAgCR,CArDM"}
1
+ {"version":3,"file":"getYearsOfDecade.js","names":["addYears","endOfYear","format","getDecade","startOfDecade","startOfYear","range","isDisableDate","isInMinMaxDate","isDateInRange","isEqualYear","isSelected","date","value","Array","isArray","find","item","hasEvent","events","eventDate","isCurrent","Date","getYearsOfDecade","props","onChange","minDate","maxDate","disableDates","currentDecade","startDate","map","index","label","disabled","mode","onClick","e","selected","event","current"],"sources":["../../../../../../src/components/DateTime/helpers/getYearsOfDecade.ts"],"sourcesContent":["import {\n addYears,\n endOfYear,\n format,\n getDecade,\n Locale,\n startOfDecade,\n startOfYear,\n} from 'date-fns';\nimport React from 'react';\n\nimport { range } from '../../../utils/array';\nimport { isDisableDate, isInMinMaxDate } from '../../../utils/date';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimeCellPropRange } from '../DateTimeCell/DateTimeCell';\nimport { isDateInRange } from './isDateInRange';\nimport { isEqualYear } from './isEqualYear';\nimport { DateTimePropDisableDates, HandleSelectDate } from './types';\n\nconst isSelected = ({\n date,\n value,\n}: {\n date: Date;\n value?: Date | DateRange;\n}): boolean => {\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.find((item) => (item ? isEqualYear(date, item) : false));\n }\n\n return isEqualYear(date, value);\n};\n\nconst hasEvent = (date: Date, events: Date[]): boolean =>\n !!events.find((eventDate) => isEqualYear(eventDate, date));\n\nconst isCurrent = (date: Date): boolean => isEqualYear(new Date(), date);\n\nexport const getYearsOfDecade = (props: {\n date: Date;\n locale: Locale;\n onChange?: HandleSelectDate;\n value?: Date | DateRange;\n events?: Date[];\n disableDates?: DateTimePropDisableDates;\n minDate?: Date;\n maxDate?: Date;\n}): {\n disabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n label: string;\n selected?: boolean;\n range?: DateTimeCellPropRange;\n event?: boolean;\n current?: boolean;\n}[] => {\n const { date, onChange, value, events, minDate, maxDate, disableDates } =\n props;\n const currentDecade = getDecade(date);\n const startDate = addYears(startOfDecade(date), -1);\n\n return range(12).map((index) => {\n const date = addYears(startDate, index);\n const label = format(date, 'yyyy');\n const disabled =\n !isInMinMaxDate(date, minDate, maxDate, startOfYear, endOfYear) ||\n isDisableDate({ date, disableDates, mode: 'year' });\n const onClick =\n !disabled && onChange\n ? (e: React.MouseEvent<HTMLButtonElement>) =>\n onChange({ e, value: date })\n : undefined;\n if (getDecade(date) === currentDecade) {\n return {\n label,\n onClick,\n selected: isSelected({ date, value }),\n range: Array.isArray(value) && isDateInRange(date, value, startOfYear),\n event: events && hasEvent(date, events),\n current: isCurrent(date),\n disabled,\n };\n }\n\n return {\n label,\n disabled: true,\n };\n });\n};\n"],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const dateTimePropViewDefault: "classic";
7
7
  export declare const dateTimePropType: readonly ["date", "month", "year", "time", "date-time"];
8
8
  export declare type DateTimePropType = typeof dateTimePropType[number];
9
9
  export declare const dateTimePropTypeDefault: "date";
10
+ export declare type DateTimePropDisableDates = Array<Date | [Date, Date]>;
10
11
  export declare type СapableRangeType = 'date' | 'month' | 'year' | 'date-time';
11
12
  export declare type DateTimePropValue<TYPE> = TYPE extends СapableRangeType ? Date | DateRange : Date;
12
13
  export declare type DateTimePropOnChange = (props: {
@@ -40,6 +41,7 @@ export declare type DateTimeProps<TYPE extends DateTimePropType = 'date'> = Prop
40
41
  view?: TYPE extends СapableRangeType ? DateTimePropView : 'classic';
41
42
  locale?: DateTimePropLocale;
42
43
  children?: never;
44
+ disableDates?: DateTimePropDisableDates;
43
45
  onChangeCurrentVisibleDate?: (date: Date) => void;
44
46
  multiplicitySeconds?: number;
45
47
  multiplicityMinutes?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["dateTimePropView","dateTimePropViewDefault","dateTimePropType","dateTimePropTypeDefault","moveTypes"],"sources":["../../../../../../src/components/DateTime/helpers/types.ts"],"sourcesContent":["import { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\n\nexport const dateTimePropView = ['classic', 'book', 'slider'] as const;\nexport type DateTimePropView = typeof dateTimePropView[number];\nexport const dateTimePropViewDefault = dateTimePropView[0];\n\nexport const dateTimePropType = [\n 'date',\n 'month',\n 'year',\n 'time',\n 'date-time',\n] as const;\nexport type DateTimePropType = typeof dateTimePropType[number];\nexport const dateTimePropTypeDefault = dateTimePropType[0];\n\nexport type СapableRangeType = 'date' | 'month' | 'year' | 'date-time';\n\nexport type DateTimePropValue<TYPE> = TYPE extends СapableRangeType\n ? Date | DateRange\n : Date;\n\nexport type DateTimePropOnChange = (props: {\n value: Date;\n e: React.MouseEvent<HTMLButtonElement>;\n}) => void;\n\nexport type DateTimePropOnChangeRange<TYPE> = TYPE extends СapableRangeType\n ? (props: {\n value: DateRange;\n e: React.MouseEvent<HTMLButtonElement>;\n }) => void\n : never;\n\ntype LocaleWords = {\n words?: {\n hours?: string;\n minutes?: string;\n seconds?: string;\n };\n};\n\nexport type DateTimePropLocale = Locale & LocaleWords;\n\nexport const moveTypes = ['year', 'month', 'day', 'time'] as const;\nexport type MoveType = typeof moveTypes[number];\n\ntype DateTimePropTimeFor<TYPE> = TYPE extends 'date-time'\n ? 'start' | 'end'\n : never;\n\nexport type DateTimeProps<TYPE extends DateTimePropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n currentVisibleDate?: Date;\n type?: TYPE;\n value?: DateTimePropValue<TYPE>;\n onChange?: DateTimePropOnChange;\n onChangeRange?: DateTimePropOnChangeRange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view?: TYPE extends СapableRangeType ? DateTimePropView : 'classic';\n locale?: DateTimePropLocale;\n children?: never;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n onMove?: (type: MoveType) => void;\n timeFor?: DateTimePropTimeFor<TYPE>;\n },\n HTMLDivElement\n >;\n\nexport type DateTimeComponent = <TYPE extends DateTimePropType = 'date'>(\n props: DateTimeProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type DateTimeTypeComponent<TYPE extends DateTimePropType> = (\n props: Omit<DateTimeProps<TYPE>, 'type'>,\n) => React.ReactElement | null;\n\nexport type HandleSelectDate = (props: {\n value: Date;\n e: React.MouseEvent<HTMLButtonElement>;\n}) => void;\n"],"mappings":"AAGA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,SAAD,CAAY,MAAZ,CAAoB,QAApB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,iBAAgB,CAAG,CAC9B,MAD8B,CAE9B,OAF8B,CAG9B,MAH8B,CAI9B,MAJ8B,CAK9B,WAL8B,CAAzB,CAQP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CA8BP,MAAO,IAAME,UAAS,CAAG,CAAC,MAAD,CAAS,OAAT,CAAkB,KAAlB,CAAyB,MAAzB,CAAlB"}
1
+ {"version":3,"file":"types.js","names":["dateTimePropView","dateTimePropViewDefault","dateTimePropType","dateTimePropTypeDefault","moveTypes"],"sources":["../../../../../../src/components/DateTime/helpers/types.ts"],"sourcesContent":["import { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\n\nexport const dateTimePropView = ['classic', 'book', 'slider'] as const;\nexport type DateTimePropView = typeof dateTimePropView[number];\nexport const dateTimePropViewDefault = dateTimePropView[0];\n\nexport const dateTimePropType = [\n 'date',\n 'month',\n 'year',\n 'time',\n 'date-time',\n] as const;\nexport type DateTimePropType = typeof dateTimePropType[number];\nexport const dateTimePropTypeDefault = dateTimePropType[0];\n\nexport type DateTimePropDisableDates = Array<Date | [Date, Date]>;\n\nexport type СapableRangeType = 'date' | 'month' | 'year' | 'date-time';\n\nexport type DateTimePropValue<TYPE> = TYPE extends СapableRangeType\n ? Date | DateRange\n : Date;\n\nexport type DateTimePropOnChange = (props: {\n value: Date;\n e: React.MouseEvent<HTMLButtonElement>;\n}) => void;\n\nexport type DateTimePropOnChangeRange<TYPE> = TYPE extends СapableRangeType\n ? (props: {\n value: DateRange;\n e: React.MouseEvent<HTMLButtonElement>;\n }) => void\n : never;\n\ntype LocaleWords = {\n words?: {\n hours?: string;\n minutes?: string;\n seconds?: string;\n };\n};\n\nexport type DateTimePropLocale = Locale & LocaleWords;\n\nexport const moveTypes = ['year', 'month', 'day', 'time'] as const;\nexport type MoveType = typeof moveTypes[number];\n\ntype DateTimePropTimeFor<TYPE> = TYPE extends 'date-time'\n ? 'start' | 'end'\n : never;\n\nexport type DateTimeProps<TYPE extends DateTimePropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n currentVisibleDate?: Date;\n type?: TYPE;\n value?: DateTimePropValue<TYPE>;\n onChange?: DateTimePropOnChange;\n onChangeRange?: DateTimePropOnChangeRange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view?: TYPE extends СapableRangeType ? DateTimePropView : 'classic';\n locale?: DateTimePropLocale;\n children?: never;\n disableDates?: DateTimePropDisableDates;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n onMove?: (type: MoveType) => void;\n timeFor?: DateTimePropTimeFor<TYPE>;\n },\n HTMLDivElement\n >;\n\nexport type DateTimeComponent = <TYPE extends DateTimePropType = 'date'>(\n props: DateTimeProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type DateTimeTypeComponent<TYPE extends DateTimePropType> = (\n props: Omit<DateTimeProps<TYPE>, 'type'>,\n) => React.ReactElement | null;\n\nexport type HandleSelectDate = (props: {\n value: Date;\n e: React.MouseEvent<HTMLButtonElement>;\n}) => void;\n"],"mappings":"AAGA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,SAAD,CAAY,MAAZ,CAAoB,QAApB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,iBAAgB,CAAG,CAC9B,MAD8B,CAE9B,OAF8B,CAG9B,MAH8B,CAI9B,MAJ8B,CAK9B,WAL8B,CAAzB,CAQP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAgCP,MAAO,IAAME,UAAS,CAAG,CAAC,MAAD,CAAS,OAAT,CAAkB,KAAlB,CAAyB,MAAzB,CAAlB"}
@@ -48,7 +48,7 @@ export declare const useTextFieldEventsHandler: <P extends {
48
48
  maxLength?: number | undefined;
49
49
  size?: "m" | "s" | "xs" | "l" | undefined;
50
50
  view?: "default" | "clear" | undefined;
51
- form?: "default" | "round" | "brick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "defaultBrick" | "brickDefault" | "brickClear" | "clearBrick" | "clearClear" | "brickRound" | "roundBrick" | undefined;
51
+ form?: "default" | "round" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
52
52
  state?: "alert" | "warning" | "success" | undefined;
53
53
  status?: "alert" | "warning" | "success" | undefined;
54
54
  width?: "default" | "full" | undefined;
@@ -73,6 +73,7 @@ export declare const useTextFieldEventsHandler: <P extends {
73
73
  iconSize?: "m" | "s" | "xs" | "l" | undefined;
74
74
  children?: undefined;
75
75
  label?: string | undefined;
76
+ labelIcon?: IconComponent | undefined;
76
77
  caption?: string | undefined;
77
78
  labelPosition?: "left" | "top" | undefined;
78
79
  focused?: boolean | undefined;
@@ -82,7 +83,7 @@ export declare const useTextFieldEventsHandler: <P extends {
82
83
  onKeyUp?: React.KeyboardEventHandler<Element> | undefined;
83
84
  onKeyUpCapture?: React.KeyboardEventHandler<Element> | undefined;
84
85
  onKeyDown?: React.KeyboardEventHandler<Element> | undefined;
85
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "className" | "id" | "placeholder" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "size" | "caption" | "form" | "label" | "view" | "status" | "step" | "max" | "min" | "name" | "type" | "width" | "autoFocus" | "disabled" | "value" | "autoComplete" | "maxLength" | "readOnly" | "required" | "cols" | "inputRef" | "state" | "focused" | "ariaLabel" | "labelPosition" | "incrementButtons" | "leftSide" | "rightSide" | "withClearButton" | "inputContainerRef" | "iconSize"> & {
86
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "className" | "id" | "placeholder" | "tabIndex" | "children" | "onFocus" | "onBlur" | "onChange" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "size" | "caption" | "form" | "label" | "view" | "status" | "step" | "max" | "min" | "name" | "type" | "width" | "autoFocus" | "disabled" | "value" | "autoComplete" | "maxLength" | "readOnly" | "required" | "cols" | "inputRef" | "state" | "focused" | "ariaLabel" | "labelIcon" | "labelPosition" | "incrementButtons" | "leftSide" | "rightSide" | "withClearButton" | "inputContainerRef" | "iconSize"> & {
86
87
  rows?: undefined;
87
88
  minRows?: undefined;
88
89
  maxRows?: undefined;
@@ -1 +1 @@
1
- .FieldLabel-Star{color:var(--color-bg-alert);margin-left:var(--space-3xs)}
1
+ .FieldLabel{align-items:center;display:inline-flex;justify-content:flex-start}.FieldLabel-Star{color:var(--color-bg-alert);margin-left:var(--space-3xs)}
@@ -1,6 +1,8 @@
1
1
  import './FieldLabel.css';
2
+ import { IconComponent } from '@consta/icons/Icon';
2
3
  export declare type FieldLabelPropSize = 'xs' | 's' | 'm' | 'l';
3
4
  declare type FieldLabelProps = {
5
+ icon?: IconComponent;
4
6
  size?: FieldLabelPropSize;
5
7
  required?: boolean;
6
8
  };
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","required","children"];import"./FieldLabel.css";import React from"react";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{Text}from"../Text/Text";var cnFieldLabel=cn("FieldLabel");export var FieldLabel=forwardRefWithAs(function(a,b){var c=a.className,d=a.required,e=a.children,f=_objectWithoutProperties(a,_excluded);return React.createElement(Text,Object.assign({},f,{view:"secondary",className:cnFieldLabel(null,[c]),ref:b}),e,d&&React.createElement("span",{className:cnFieldLabel("Star")},"*"))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","required","children","icon","size"];import"./FieldLabel.css";import React from"react";import{cnMixSpace}from"../../mixs/MixSpace";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{Text}from"../Text/Text";var cnFieldLabel=cn("FieldLabel"),iconSizeMap={xs:"xs",s:"s",m:"s",l:"s"},iconSpaceMap={xs:"2xs",s:"2xs",m:"2xs",l:"xs"};export var FieldLabel=forwardRefWithAs(function(a,b){var c=a.className,d=a.required,e=a.children,f=a.icon,g=a.size,h=void 0===g?"m":g,i=_objectWithoutProperties(a,_excluded);return React.createElement(Text,Object.assign({},i,{size:h,view:"secondary",lineHeight:"m",className:cnFieldLabel(null,[c]),ref:b}),f&&React.createElement(f,{className:cnFieldLabel("Icon",[cnMixSpace({mR:iconSpaceMap[h]})]),size:iconSizeMap[h],view:"secondary"}),e,d&&React.createElement("span",{className:cnFieldLabel("Star")},"*"))});
2
2
  //# sourceMappingURL=FieldLabel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldLabel.js","names":["React","cn","forwardRefWithAs","Text","cnFieldLabel","FieldLabel","props","ref","className","required","children","otherProps"],"sources":["../../../../../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["import './FieldLabel.css';\n\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\nimport { Text } from '../Text/Text';\n\nexport type FieldLabelPropSize = 'xs' | 's' | 'm' | 'l';\n\ntype FieldLabelProps = {\n size?: FieldLabelPropSize;\n required?: boolean;\n};\n\nconst cnFieldLabel = cn('FieldLabel');\n\nexport const FieldLabel = forwardRefWithAs<FieldLabelProps>((props, ref) => {\n const { className, required, children, ...otherProps } = props;\n\n return (\n <Text\n {...otherProps}\n view=\"secondary\"\n className={cnFieldLabel(null, [className])}\n ref={ref}\n >\n {children}\n {required && <span className={cnFieldLabel('Star')}>*</span>}\n </Text>\n );\n});\n"],"mappings":"uIAAA,yBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,uBACA,OAASC,gBAAT,+CACA,OAASC,IAAT,oBASA,GAAMC,aAAY,CAAGH,EAAE,CAAC,YAAD,CAAvB,CAEA,MAAO,IAAMI,WAAU,CAAGH,gBAAgB,CAAkB,SAACI,CAAD,CAAQC,CAAR,CAAgB,CAC1E,GAAQC,EAAR,CAAyDF,CAAzD,CAAQE,SAAR,CAAmBC,CAAnB,CAAyDH,CAAzD,CAAmBG,QAAnB,CAA6BC,CAA7B,CAAyDJ,CAAzD,CAA6BI,QAA7B,CAA0CC,CAA1C,0BAAyDL,CAAzD,YAEA,MACE,qBAAC,IAAD,kBACMK,CADN,EAEE,IAAI,CAAC,WAFP,CAGE,SAAS,CAAEP,YAAY,CAAC,IAAD,CAAO,CAACI,CAAD,CAAP,CAHzB,CAIE,GAAG,CAAED,CAJP,GAMGG,CANH,CAOGD,CAAQ,EAAI,4BAAM,SAAS,CAAEL,YAAY,CAAC,MAAD,CAA7B,MAPf,CAUH,CAdyC,CAAnC"}
1
+ {"version":3,"file":"FieldLabel.js","names":["React","cnMixSpace","cn","forwardRefWithAs","Text","cnFieldLabel","iconSizeMap","xs","s","m","l","iconSpaceMap","FieldLabel","props","ref","className","required","children","Icon","icon","size","otherProps","mR"],"sources":["../../../../../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["import './FieldLabel.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cnMixSpace, Space } from '##/mixs/MixSpace';\n\nimport { cn } from '../../utils/bem';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\nimport { Text } from '../Text/Text';\n\nexport type FieldLabelPropSize = 'xs' | 's' | 'm' | 'l';\n\ntype FieldLabelProps = {\n icon?: IconComponent;\n size?: FieldLabelPropSize;\n required?: boolean;\n};\n\nconst cnFieldLabel = cn('FieldLabel');\n\nconst iconSizeMap: Record<FieldLabelPropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 's',\n};\n\nconst iconSpaceMap: Record<FieldLabelPropSize, Space> = {\n xs: '2xs',\n s: '2xs',\n m: '2xs',\n l: 'xs',\n};\n\nexport const FieldLabel = forwardRefWithAs<FieldLabelProps>((props, ref) => {\n const {\n className,\n required,\n children,\n icon: Icon,\n size = 'm',\n ...otherProps\n } = props;\n\n return (\n <Text\n {...otherProps}\n size={size}\n view=\"secondary\"\n lineHeight=\"m\"\n className={cnFieldLabel(null, [className])}\n ref={ref}\n >\n {Icon && (\n <Icon\n className={cnFieldLabel('Icon', [\n cnMixSpace({ mR: iconSpaceMap[size] }),\n ])}\n size={iconSizeMap[size]}\n view=\"secondary\"\n />\n )}\n {children}\n {required && <span className={cnFieldLabel('Star')}>*</span>}\n </Text>\n );\n});\n"],"mappings":"qJAAA,yBAGA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,UAAT,2BAEA,OAASC,EAAT,uBACA,OAASC,gBAAT,+CACA,OAASC,IAAT,oB,GAUMC,aAAY,CAAGH,EAAE,CAAC,YAAD,C,CAEjBI,WAAqD,CAAG,CAC5DC,EAAE,CAAE,IADwD,CAE5DC,CAAC,CAAE,GAFyD,CAG5DC,CAAC,CAAE,GAHyD,CAI5DC,CAAC,CAAE,GAJyD,C,CAOxDC,YAA+C,CAAG,CACtDJ,EAAE,CAAE,KADkD,CAEtDC,CAAC,CAAE,KAFmD,CAGtDC,CAAC,CAAE,KAHmD,CAItDC,CAAC,CAAE,IAJmD,C,CAOxD,MAAO,IAAME,WAAU,CAAGT,gBAAgB,CAAkB,SAACU,CAAD,CAAQC,CAAR,CAAgB,CAC1E,GACEC,EADF,CAOIF,CAPJ,CACEE,SADF,CAEEC,CAFF,CAOIH,CAPJ,CAEEG,QAFF,CAGEC,CAHF,CAOIJ,CAPJ,CAGEI,QAHF,CAIQC,CAJR,CAOIL,CAPJ,CAIEM,IAJF,GAOIN,CAPJ,CAKEO,IALF,CAKEA,CALF,YAKS,GALT,GAMKC,CANL,0BAOIR,CAPJ,YASA,MACE,qBAAC,IAAD,kBACMQ,CADN,EAEE,IAAI,CAAED,CAFR,CAGE,IAAI,CAAC,WAHP,CAIE,UAAU,CAAC,GAJb,CAKE,SAAS,CAAEf,YAAY,CAAC,IAAD,CAAO,CAACU,CAAD,CAAP,CALzB,CAME,GAAG,CAAED,CANP,GAQGI,CAAI,EACH,oBAAC,CAAD,EACE,SAAS,CAAEb,YAAY,CAAC,MAAD,CAAS,CAC9BJ,UAAU,CAAC,CAAEqB,EAAE,CAAEX,YAAY,CAACS,CAAD,CAAlB,CAAD,CADoB,CAAT,CADzB,CAIE,IAAI,CAAEd,WAAW,CAACc,CAAD,CAJnB,CAKE,IAAI,CAAC,WALP,EATJ,CAiBGH,CAjBH,CAkBGD,CAAQ,EAAI,4BAAM,SAAS,CAAEX,YAAY,CAAC,MAAD,CAA7B,MAlBf,CAqBH,CAhCyC,CAAnC"}
@@ -1,3 +1,4 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
1
2
  import React from 'react';
2
3
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
3
4
  import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from '../SelectComponents/types';
@@ -59,6 +60,7 @@ export declare type SelectProps<ITEM = DefaultItem, GROUP = DefaultGroup> = Prop
59
60
  getGroupLabel?: PropGetGroupLabel<GROUP>;
60
61
  getGroupKey?: PropGetGroupKey<GROUP>;
61
62
  label?: string;
63
+ labelIcon?: IconComponent;
62
64
  labelPosition?: 'top' | 'left';
63
65
  caption?: string;
64
66
  }, HTMLDivElement> & (ITEM extends {
@@ -92,7 +94,7 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
92
94
  e: React.SyntheticEvent<Element, Event>;
93
95
  }) => void;
94
96
  disabled?: boolean | undefined;
95
- form?: "default" | "round" | "brick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "defaultBrick" | "brickDefault" | "brickClear" | "clearBrick" | "clearClear" | undefined;
97
+ form?: "default" | "round" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
96
98
  dropdownForm?: "default" | "round" | "brick" | undefined;
97
99
  size?: "m" | "s" | "xs" | "l" | undefined;
98
100
  view?: "default" | "clear" | undefined;
@@ -121,9 +123,10 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
121
123
  getGroupLabel?: PropGetGroupLabel<GROUP> | undefined;
122
124
  getGroupKey?: PropGetGroupKey<GROUP> | undefined;
123
125
  label?: string | undefined;
126
+ labelIcon?: IconComponent | undefined;
124
127
  labelPosition?: "left" | "top" | undefined;
125
128
  caption?: string | undefined;
126
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "multiple" | "required" | "inputRef" | "items" | "dropdownForm" | "focused" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelPosition"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
129
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "multiple" | "required" | "inputRef" | "items" | "dropdownForm" | "focused" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
127
130
  label: string;
128
131
  } ? {} : {
129
132
  getItemLabel: PropGetItemLabel<ITEM>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Select/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype PropValue<ITEM> = ITEM | null | undefined;\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: (props: { value: ITEM | null; e: React.SyntheticEvent }) => void;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n multiple?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: PropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBAuGA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Select/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype PropValue<ITEM> = ITEM | null | undefined;\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: (props: { value: ITEM | null; e: React.SyntheticEvent }) => void;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n multiple?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: PropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBAyGA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD"}