@consta/uikit 5.27.0 → 5.28.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 (197) hide show
  1. package/ModalDeprecated/index.d.ts +1 -0
  2. package/ModalDeprecated/index.js +1 -0
  3. package/Notification/index.d.ts +1 -0
  4. package/Notification/index.js +1 -0
  5. package/SidebarDeprecated/index.d.ts +1 -0
  6. package/SidebarDeprecated/index.js +1 -0
  7. package/__internal__/src/components/Chips/ChipsChoice/ChipsChoice.js +1 -1
  8. package/__internal__/src/components/Chips/ChipsChoice/ChipsChoice.js.map +1 -1
  9. package/__internal__/src/components/DatePicker/DatePicker.js +1 -1
  10. package/__internal__/src/components/DatePicker/DatePicker.js.map +1 -1
  11. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +2 -4
  12. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  13. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
  14. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
  15. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +2 -4
  16. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
  17. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
  18. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +3 -6
  19. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
  21. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +1 -0
  22. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  24. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.d.ts +2 -0
  25. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js +1 -1
  27. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js.map +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +2 -4
  29. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +3 -6
  32. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
  33. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  42. package/__internal__/src/components/DatePicker/helpers.d.ts +27 -8
  43. package/__internal__/src/components/DatePicker/helpers.js +1 -1
  44. package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
  45. package/__internal__/src/components/DatePicker/types.d.ts +26 -5
  46. package/__internal__/src/components/DatePicker/types.js +1 -1
  47. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  48. package/__internal__/src/components/DateTime/DateTime.js +1 -1
  49. package/__internal__/src/components/DateTime/DateTime.js.map +1 -1
  50. package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js +1 -1
  51. package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js.map +1 -1
  52. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.js +1 -1
  53. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.js.map +1 -1
  54. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/useOnChange.d.ts +2 -2
  55. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/useOnChange.js +1 -1
  56. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/useOnChange.js.map +1 -1
  57. package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js +1 -1
  58. package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js.map +1 -1
  59. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js +1 -1
  60. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js.map +1 -1
  61. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.d.ts +5 -2
  62. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.js +1 -1
  63. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.js.map +1 -1
  64. package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js +1 -1
  65. package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js.map +1 -1
  66. package/__internal__/src/components/DateTime/helpers/getDisableDatesKey.d.ts +2 -0
  67. package/__internal__/src/components/DateTime/helpers/getDisableDatesKey.js +2 -0
  68. package/__internal__/src/components/DateTime/helpers/getDisableDatesKey.js.map +1 -0
  69. package/__internal__/src/components/DateTime/helpers/getTimeNumbers.d.ts +2 -0
  70. package/__internal__/src/components/DateTime/helpers/getTimeNumbers.js +2 -0
  71. package/__internal__/src/components/DateTime/helpers/getTimeNumbers.js.map +1 -0
  72. package/__internal__/src/components/DateTime/helpers/getTimeOptionsKey.d.ts +2 -0
  73. package/__internal__/src/components/DateTime/helpers/getTimeOptionsKey.js +2 -0
  74. package/__internal__/src/components/DateTime/helpers/getTimeOptionsKey.js.map +1 -0
  75. package/__internal__/src/components/DateTime/helpers/index.d.ts +3 -0
  76. package/__internal__/src/components/DateTime/helpers/index.js +1 -1
  77. package/__internal__/src/components/DateTime/helpers/index.js.map +1 -1
  78. package/__internal__/src/components/DateTime/helpers/types.d.ts +30 -3
  79. package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
  80. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldInformer/DragNDropFieldInformer.d.ts +11 -2
  81. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldInformer/DragNDropFieldInformer.js.map +1 -1
  82. package/__internal__/src/components/DragNDropFieldCanary/types.d.ts +2 -2
  83. package/__internal__/src/components/DragNDropFieldCanary/types.js.map +1 -1
  84. package/__internal__/src/components/FlatSelect/FlatSelect.js.map +1 -1
  85. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js.map +1 -1
  86. package/__internal__/src/components/FlatSelect/defaultProps.js.map +1 -1
  87. package/__internal__/src/components/Modal/Modal.js +1 -1
  88. package/__internal__/src/components/Modal/Modal.js.map +1 -1
  89. package/__internal__/src/components/ModalDeprecated/ModalDeprecated.css +1 -0
  90. package/__internal__/src/components/ModalDeprecated/ModalDeprecated.d.ts +27 -0
  91. package/__internal__/src/components/ModalDeprecated/ModalDeprecated.js +2 -0
  92. package/__internal__/src/components/ModalDeprecated/ModalDeprecated.js.map +1 -0
  93. package/__internal__/src/components/ModalDeprecated/index.d.ts +1 -0
  94. package/__internal__/src/components/ModalDeprecated/index.js +2 -0
  95. package/__internal__/src/components/ModalDeprecated/index.js.map +1 -0
  96. package/__internal__/src/components/Notification/Notification/Notification.css +1 -0
  97. package/__internal__/src/components/Notification/Notification/Notification.d.ts +4 -0
  98. package/__internal__/src/components/Notification/Notification/Notification.js +2 -0
  99. package/__internal__/src/components/Notification/Notification/Notification.js.map +1 -0
  100. package/__internal__/src/components/Notification/Notification/helpers.d.ts +70 -0
  101. package/__internal__/src/components/Notification/Notification/helpers.js +2 -0
  102. package/__internal__/src/components/Notification/Notification/helpers.js.map +1 -0
  103. package/__internal__/src/components/Notification/Notification/index.d.ts +2 -0
  104. package/__internal__/src/components/Notification/Notification/index.js +2 -0
  105. package/__internal__/src/components/Notification/Notification/index.js.map +1 -0
  106. package/__internal__/src/components/Notification/Notification/types.d.ts +66 -0
  107. package/__internal__/src/components/Notification/Notification/types.js +2 -0
  108. package/__internal__/src/components/Notification/Notification/types.js.map +1 -0
  109. package/__internal__/src/components/Notification/NotificationActions/NotificationActions.d.ts +2 -0
  110. package/__internal__/src/components/Notification/NotificationActions/NotificationActions.js +2 -0
  111. package/__internal__/src/components/Notification/NotificationActions/NotificationActions.js.map +1 -0
  112. package/__internal__/src/components/Notification/NotificationActions/helpers.d.ts +21 -0
  113. package/__internal__/src/components/Notification/NotificationActions/helpers.js +2 -0
  114. package/__internal__/src/components/Notification/NotificationActions/helpers.js.map +1 -0
  115. package/__internal__/src/components/Notification/NotificationActions/index.d.ts +2 -0
  116. package/__internal__/src/components/Notification/NotificationActions/index.js +2 -0
  117. package/__internal__/src/components/Notification/NotificationActions/index.js.map +1 -0
  118. package/__internal__/src/components/Notification/NotificationActions/types.d.ts +30 -0
  119. package/__internal__/src/components/Notification/NotificationActions/types.js +2 -0
  120. package/__internal__/src/components/Notification/NotificationActions/types.js.map +1 -0
  121. package/__internal__/src/components/Notification/NotificationCaption/NotificationCaption.css +1 -0
  122. package/__internal__/src/components/Notification/NotificationCaption/NotificationCaption.d.ts +7 -0
  123. package/__internal__/src/components/Notification/NotificationCaption/NotificationCaption.js +2 -0
  124. package/__internal__/src/components/Notification/NotificationCaption/NotificationCaption.js.map +1 -0
  125. package/__internal__/src/components/Notification/NotificationCaption/index.d.ts +1 -0
  126. package/__internal__/src/components/Notification/NotificationCaption/index.js +2 -0
  127. package/__internal__/src/components/Notification/NotificationCaption/index.js.map +1 -0
  128. package/__internal__/src/components/Notification/NotificationGroup/NotificationGroup.css +1 -0
  129. package/__internal__/src/components/Notification/NotificationGroup/NotificationGroup.d.ts +4 -0
  130. package/__internal__/src/components/Notification/NotificationGroup/NotificationGroup.js +2 -0
  131. package/__internal__/src/components/Notification/NotificationGroup/NotificationGroup.js.map +1 -0
  132. package/__internal__/src/components/Notification/NotificationGroup/index.d.ts +2 -0
  133. package/__internal__/src/components/Notification/NotificationGroup/index.js +2 -0
  134. package/__internal__/src/components/Notification/NotificationGroup/index.js.map +1 -0
  135. package/__internal__/src/components/Notification/NotificationGroup/types.d.ts +12 -0
  136. package/__internal__/src/components/Notification/NotificationGroup/types.js +2 -0
  137. package/__internal__/src/components/Notification/NotificationGroup/types.js.map +1 -0
  138. package/__internal__/src/components/Notification/NotificationHeader/NotificationHeader.css +1 -0
  139. package/__internal__/src/components/Notification/NotificationHeader/NotificationHeader.d.ts +5 -0
  140. package/__internal__/src/components/Notification/NotificationHeader/NotificationHeader.js +2 -0
  141. package/__internal__/src/components/Notification/NotificationHeader/NotificationHeader.js.map +1 -0
  142. package/__internal__/src/components/Notification/NotificationHeader/index.d.ts +2 -0
  143. package/__internal__/src/components/Notification/NotificationHeader/index.js +2 -0
  144. package/__internal__/src/components/Notification/NotificationHeader/index.js.map +1 -0
  145. package/__internal__/src/components/Notification/NotificationHeader/types.d.ts +14 -0
  146. package/__internal__/src/components/Notification/NotificationHeader/types.js +2 -0
  147. package/__internal__/src/components/Notification/NotificationHeader/types.js.map +1 -0
  148. package/__internal__/src/components/Notification/NotificationItem/NotificationItem.css +1 -0
  149. package/__internal__/src/components/Notification/NotificationItem/NotificationItem.d.ts +6 -0
  150. package/__internal__/src/components/Notification/NotificationItem/NotificationItem.js +2 -0
  151. package/__internal__/src/components/Notification/NotificationItem/NotificationItem.js.map +1 -0
  152. package/__internal__/src/components/Notification/NotificationItem/index.d.ts +2 -0
  153. package/__internal__/src/components/Notification/NotificationItem/index.js +2 -0
  154. package/__internal__/src/components/Notification/NotificationItem/index.js.map +1 -0
  155. package/__internal__/src/components/Notification/NotificationItem/types.d.ts +19 -0
  156. package/__internal__/src/components/Notification/NotificationItem/types.js +2 -0
  157. package/__internal__/src/components/Notification/NotificationItem/types.js.map +1 -0
  158. package/__internal__/src/components/Notification/helpers/defaultDateFormat.d.ts +1 -0
  159. package/__internal__/src/components/Notification/helpers/defaultDateFormat.js +2 -0
  160. package/__internal__/src/components/Notification/helpers/defaultDateFormat.js.map +1 -0
  161. package/__internal__/src/components/Notification/helpers/groupLabelByDay.d.ts +1 -0
  162. package/__internal__/src/components/Notification/helpers/groupLabelByDay.js +2 -0
  163. package/__internal__/src/components/Notification/helpers/groupLabelByDay.js.map +1 -0
  164. package/__internal__/src/components/Notification/helpers/groupsByDay.d.ts +1 -0
  165. package/__internal__/src/components/Notification/helpers/groupsByDay.js +2 -0
  166. package/__internal__/src/components/Notification/helpers/groupsByDay.js.map +1 -0
  167. package/__internal__/src/components/Notification/helpers/index.d.ts +4 -0
  168. package/__internal__/src/components/Notification/helpers/index.js +2 -0
  169. package/__internal__/src/components/Notification/helpers/index.js.map +1 -0
  170. package/__internal__/src/components/Notification/helpers/sortGroupByDay.d.ts +5 -0
  171. package/__internal__/src/components/Notification/helpers/sortGroupByDay.js +2 -0
  172. package/__internal__/src/components/Notification/helpers/sortGroupByDay.js.map +1 -0
  173. package/__internal__/src/components/Notification/index.d.ts +7 -0
  174. package/__internal__/src/components/Notification/index.js +2 -0
  175. package/__internal__/src/components/Notification/index.js.map +1 -0
  176. package/__internal__/src/components/Sidebar/Sidebar.js +1 -1
  177. package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
  178. package/__internal__/src/components/Sidebar/types.d.ts +1 -0
  179. package/__internal__/src/components/Sidebar/types.js.map +1 -1
  180. package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.css +1 -0
  181. package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.d.ts +39 -0
  182. package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.js +2 -0
  183. package/__internal__/src/components/SidebarDeprecated/SidebarDeprecated.js.map +1 -0
  184. package/__internal__/src/components/SidebarDeprecated/index.d.ts +1 -0
  185. package/__internal__/src/components/SidebarDeprecated/index.js +2 -0
  186. package/__internal__/src/components/SidebarDeprecated/index.js.map +1 -0
  187. package/__internal__/src/components/Slider/Slider.js +1 -1
  188. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  189. package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
  190. package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
  191. package/__internal__/src/utils/getItemClick.d.ts +5 -0
  192. package/__internal__/src/utils/getItemClick.js +2 -0
  193. package/__internal__/src/utils/getItemClick.js.map +1 -0
  194. package/__internal__/src/utils/object/keys.d.ts +1 -0
  195. package/__internal__/src/utils/object/keys.js +2 -0
  196. package/__internal__/src/utils/object/keys.js.map +1 -0
  197. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["format","isValid","parse","startOfToday","useCallback","useEffect","getForm","useMutableRef","range","datePickerPropSeparatorDefault","datePickerPropFormatTypeDate","datePickerPropPlaceholderTypeDate","datePickerPropFormatTypeTime","datePickerPropPlaceholderTypeTime","datePickerPropFormatTypeDateTime","datePickerPropPlaceholderTypeDateTime","datePickerPropFormatTypeYear","datePickerPropPlaceholderTypeYear","datePickerPropFormatTypeMonth","datePickerPropPlaceholderTypeMonth","normalizeRangeValue","dateRange","getTime","getMultiplicityTime","multiplicityHours","multiplicityMinutes","multiplicitySeconds","formatArray","split","map","HH","mm","ss","marker","indexOf","getTimeEnum","length","multiplicity","startOfUnits","addUnits","getItemLabel","numbers","Math","floor","startDate","number","getFormForStart","form","getFormForEnd","getPartDate","stringArray","index","getParts","separator","withTime","date","time","getPartsDate","value","markers","isTypeWithTime","type","fieldPrefixs","getFieldName","name","rangeIndex","Array","isArray","getDropdownZIndex","style","zIndex","useStringValue","formatProp","onChangeRef","imaskProps","stringValue","refs","setValue","setStringValue","current","ref","maskRef","updateValue","handleClear","e","valueArray","validArray","filter","item","join","Date"],"sources":["../../../../../src/components/DatePicker/helpers.ts"],"sourcesContent":["import { format, isValid, parse, startOfToday } from 'date-fns';\nimport { useCallback, useEffect } from 'react';\nimport { useIMask } from 'react-imask';\n\nimport { getForm } from '##/components/FieldGroup';\nimport { TextFieldPropForm } from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { range } from '##/utils/array';\nimport { DateRange } from '##/utils/types/Date';\n\nimport { DatePickerPropType } from './types';\n\nexport const datePickerPropSeparatorDefault = '.';\nexport const datePickerPropFormatTypeDate = `dd${datePickerPropSeparatorDefault}MM${datePickerPropSeparatorDefault}yyyy`;\nexport const datePickerPropPlaceholderTypeDate = `ДД${datePickerPropSeparatorDefault}ММ${datePickerPropSeparatorDefault}ГГГГ`;\n\nexport const datePickerPropFormatTypeTime = `HH:mm:ss`;\nexport const datePickerPropPlaceholderTypeTime = `ЧЧ:ММ:СС`;\n\nexport const datePickerPropFormatTypeDateTime = `${datePickerPropFormatTypeDate} ${datePickerPropFormatTypeTime}`;\nexport const datePickerPropPlaceholderTypeDateTime = `${datePickerPropPlaceholderTypeDate} ${datePickerPropPlaceholderTypeTime}`;\n\nexport const datePickerPropFormatTypeYear = `yyyy`;\nexport const datePickerPropPlaceholderTypeYear = `ГГГГ`;\n\nexport const datePickerPropFormatTypeMonth = `MM${datePickerPropSeparatorDefault}yyyy`;\nexport const datePickerPropPlaceholderTypeMonth = `MM${datePickerPropSeparatorDefault}ГГГГ`;\n\nexport const normalizeRangeValue = (dateRange: DateRange): DateRange => {\n if (\n dateRange[0] &&\n dateRange[1] &&\n dateRange[0]?.getTime() > dateRange[1]?.getTime()\n ) {\n return [dateRange[1], dateRange[0]];\n }\n return dateRange;\n};\n\nexport const getMultiplicityTime = (\n format: string,\n multiplicityHours: number | undefined,\n multiplicityMinutes: number | undefined,\n multiplicitySeconds: number | undefined,\n) => {\n const markers = ['HH', 'mm', 'ss'] as const;\n const formatArray = format.split(' ')[1]?.split(':');\n const map = {\n HH: multiplicityHours,\n mm: multiplicityMinutes,\n ss: multiplicitySeconds,\n } as const;\n\n return markers.map((marker) =>\n formatArray?.indexOf(marker) < 0 ? 0 : map[marker],\n );\n};\n\nexport const getTimeEnum = (\n length: number,\n multiplicity = 1,\n startOfUnits: (date: Date) => Date,\n addUnits: (date: Date, amount: number) => Date,\n getItemLabel: (date: Date) => string,\n) => {\n const numbers = range(multiplicity ? Math.floor(length / multiplicity) : 0);\n\n if (numbers.length === 0) {\n return [];\n }\n\n const startDate = startOfUnits(startOfToday());\n\n return numbers.map((number) => {\n return getItemLabel(addUnits(startDate, number * multiplicity));\n });\n};\n\nexport const getFormForStart = (form: TextFieldPropForm) => getForm(form, 0, 2);\nexport const getFormForEnd = (form: TextFieldPropForm) => getForm(form, 1, 2);\n\nexport const getPartDate = (\n formatArray: string[],\n stringArray: string[],\n marker: string,\n) => {\n const index = formatArray.indexOf(marker);\n\n if (\n index >= 0 &&\n stringArray[index] &&\n stringArray[index].length === marker.length\n ) {\n return stringArray[index];\n }\n\n return undefined;\n};\n\nexport const getParts = (\n format: string,\n separator: string,\n withTime?: boolean,\n) => {\n if (withTime) {\n const [date, time] = format.split(' ');\n\n return [\n ...(date ? date.split(separator) : []),\n ...(time ? time.split(':') : []),\n ];\n }\n\n return format.split(separator);\n};\n\nexport const getPartsDate = (\n value: string,\n format: string,\n separator: string,\n withTime: boolean,\n markers: string[],\n) => {\n const formatArray = getParts(format, separator, withTime);\n const stringArray = getParts(value, separator, withTime);\n\n return markers.map((marker) => getPartDate(formatArray, stringArray, marker));\n};\n\nexport const isTypeWithTime = (type: DatePickerPropType) =>\n type.indexOf('time') !== -1;\n\nconst fieldPrefixs = ['start', 'end'] as const;\n\nexport const getFieldName = (\n name: [string?, string?] | string | undefined,\n rangeIndex: 0 | 1,\n) => {\n if (!name) {\n return undefined;\n }\n\n if (Array.isArray(name)) {\n return name[rangeIndex];\n }\n\n return `${name}_${fieldPrefixs[rangeIndex]}`;\n};\n\nexport const getDropdownZIndex = (style?: React.CSSProperties) =>\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined;\n\ntype DatePickerFieldTypeDatePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport const useStringValue = (\n value: Date | undefined | null,\n formatProp: string,\n separator: string,\n onChangeRef: React.MutableRefObject<\n DatePickerFieldTypeDatePropOnChange | undefined\n >,\n imaskProps: ReturnType<typeof useIMask<HTMLInputElement>>,\n) => {\n const stringValue = imaskProps.value;\n\n const refs = useMutableRef([imaskProps.setValue, value] as const);\n\n const setStringValue = useCallback((value: string) => {\n refs.current[0](value);\n if (imaskProps.ref?.current) {\n imaskProps.ref.current.value = value;\n }\n if (imaskProps.maskRef.current) {\n imaskProps.maskRef.current.updateValue();\n }\n }, []);\n\n const handleClear: React.MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n setStringValue('');\n\n if (refs.current[1]) {\n onChangeRef.current?.(null, { e: e as unknown as Event });\n }\n },\n [],\n );\n\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n\n if (!value && stringValue) {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n const date =\n formatArray.length === validArray.length\n ? parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n )\n : undefined;\n\n if (isValid(date)) {\n setStringValue('');\n }\n }\n }, [value?.getTime()]);\n\n return handleClear;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["format","isValid","parse","useCallback","useEffect","IMask","getForm","useMutableRef","getTimeNumbers","datePickerPropSeparatorDefault","datePickerPropFormatTypeDate","datePickerPropFormatTypeTime","datePickerPropFormatTypeDateTime","datePickerPropFormatTypeYear","datePickerPropFormatTypeMonth","normalizeRangeValue","dateRange","getTime","getTimeOptionsByFormat","timeOptions","formatArray","split","mapTimeOptions","HH","hours","mm","minutes","ss","seconds","map","marker","includes","hoursOptions","minutesOptions","secondsOptions","adaptFormat","adaptedFormat","shouldRemoveTimePart","timeOption","Array","isArray","length","step","timeMarkers","replace","RegExp","trim","filter","part","join","placeholderByFormat","getMaskBlocks","includeDate","includeTime","blocks","dd","mask","MaskedRange","from","to","MM","yyyy","getFormForStart","form","getFormForEnd","getPartDate","stringArray","index","indexOf","getParts","separator","withTime","date","time","getPartsDate","value","markers","isTypeWithTime","type","fieldPrefixs","getFieldName","name","rangeIndex","getDropdownZIndex","style","zIndex","useStringValue","formatProp","onChangeRef","imaskProps","stringValue","refs","setValue","setStringValue","current","ref","maskRef","updateValue","handleClear","e","valueArray","validArray","item","Date","isValidTimeByTimeOptions","isUnitValid","unit","options","allowed","isHoursValid","getHours","isMinutesValid","getMinutes","isSecondsValid","getSeconds"],"sources":["../../../../../src/components/DatePicker/helpers.ts"],"sourcesContent":["import { format, isValid, parse } from 'date-fns';\nimport { useCallback, useEffect } from 'react';\nimport { IMask, useIMask } from 'react-imask';\n\nimport { getForm } from '##/components/FieldGroup';\nimport { TextFieldPropForm } from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { DateRange } from '##/utils/types/Date';\n\nimport { TimeOptions, TimeUnitOptions } from '../DateTime';\nimport { getTimeNumbers } from '../DateTime/helpers';\nimport { DatePickerPropType } from './types';\n\nexport const datePickerPropSeparatorDefault = '.';\nexport const datePickerPropFormatTypeDate = `dd${datePickerPropSeparatorDefault}MM${datePickerPropSeparatorDefault}yyyy`;\n\nexport const datePickerPropFormatTypeTime = `HH:mm:ss`;\n\nexport const datePickerPropFormatTypeDateTime = `${datePickerPropFormatTypeDate} ${datePickerPropFormatTypeTime}`;\n\nexport const datePickerPropFormatTypeYear = `yyyy`;\n\nexport const datePickerPropFormatTypeMonth = `MM${datePickerPropSeparatorDefault}yyyy`;\n\nexport const normalizeRangeValue = (dateRange: DateRange): DateRange => {\n if (\n dateRange[0] &&\n dateRange[1] &&\n dateRange[0]?.getTime() > dateRange[1]?.getTime()\n ) {\n return [dateRange[1], dateRange[0]];\n }\n return dateRange;\n};\n\nexport const getTimeOptionsByFormat = (\n format: string,\n timeOptions?: TimeOptions,\n) => {\n const markers = ['HH', 'mm', 'ss'] as const;\n const formatArray = format.split(' ')[1]?.split(':');\n const mapTimeOptions = {\n HH: timeOptions?.hours,\n mm: timeOptions?.minutes,\n ss: timeOptions?.seconds,\n } as const;\n\n const [hoursOptions, minutesOptions, secondsOptions] = markers.map((marker) =>\n formatArray?.includes(marker) ? mapTimeOptions[marker] : [],\n ) as [\n TimeUnitOptions | undefined,\n TimeUnitOptions | undefined,\n TimeUnitOptions | undefined,\n ];\n\n const effectiveTimeOptions = {\n hours: hoursOptions,\n minutes: minutesOptions,\n seconds: secondsOptions,\n };\n\n return effectiveTimeOptions;\n};\n\nexport const adaptFormat = (\n format: string,\n timeOptions?: TimeOptions,\n): string => {\n const formatArray = format.split(' ');\n let adaptedFormat = formatArray[1] ?? format;\n\n const shouldRemoveTimePart = (\n timeOption: TimeUnitOptions | undefined,\n ): boolean => {\n if (timeOption && Array.isArray(timeOption) && timeOption.length === 0)\n return true;\n if (timeOption && !Array.isArray(timeOption) && timeOption.step === 0)\n return true;\n\n return false;\n };\n\n const timeMarkers = [\n { marker: 'HH', timeOption: timeOptions?.hours },\n { marker: 'mm', timeOption: timeOptions?.minutes },\n { marker: 'ss', timeOption: timeOptions?.seconds },\n ];\n\n for (const { marker, timeOption } of timeMarkers) {\n if (shouldRemoveTimePart(timeOption)) {\n adaptedFormat = adaptedFormat.replace(new RegExp(`:?${marker}`, 'g'), '');\n }\n }\n\n adaptedFormat = adaptedFormat\n .replace(/:+$/, '')\n .replace(/^:+/, '')\n .replace(/:+/g, ':')\n .replace(/\\s+/g, ' ')\n .trim();\n\n if (formatArray.length > 1) {\n formatArray[1] = adaptedFormat;\n return formatArray.filter((part) => part.length > 0).join(' ');\n }\n return adaptedFormat;\n};\n\nexport const placeholderByFormat = (format: string): string => {\n return format\n .replace(/yyyy/g, 'ГГГГ')\n .replace(/MM/g, 'ММ')\n .replace(/dd/g, 'ДД')\n .replace(/HH/g, 'ЧЧ')\n .replace(/mm/g, 'ММ')\n .replace(/ss/g, 'СС');\n};\n\ntype MaskBlock = {\n mask: typeof IMask.MaskedRange;\n from: number;\n to: number;\n};\n\ntype MaskBlocks = Partial<{\n dd: MaskBlock;\n MM: MaskBlock;\n yyyy: MaskBlock;\n HH: MaskBlock;\n mm: MaskBlock;\n ss: MaskBlock;\n}>;\n\nexport const getMaskBlocks = ({\n includeDate = true,\n includeTime = true,\n} = {}): MaskBlocks => {\n const blocks: MaskBlocks = {};\n\n if (includeDate) {\n blocks.dd = { mask: IMask.MaskedRange, from: 1, to: 31 };\n blocks.MM = { mask: IMask.MaskedRange, from: 1, to: 12 };\n blocks.yyyy = { mask: IMask.MaskedRange, from: 1, to: 9999 };\n }\n\n if (includeTime) {\n blocks.HH = { mask: IMask.MaskedRange, from: 0, to: 23 };\n blocks.mm = { mask: IMask.MaskedRange, from: 0, to: 59 };\n blocks.ss = { mask: IMask.MaskedRange, from: 0, to: 59 };\n }\n\n return blocks;\n};\n\nexport const getFormForStart = (form: TextFieldPropForm) => getForm(form, 0, 2);\nexport const getFormForEnd = (form: TextFieldPropForm) => getForm(form, 1, 2);\n\nexport const getPartDate = (\n formatArray: string[],\n stringArray: string[],\n marker: string,\n) => {\n const index = formatArray.indexOf(marker);\n\n if (\n index >= 0 &&\n stringArray[index] &&\n stringArray[index].length === marker.length\n ) {\n return stringArray[index];\n }\n\n return undefined;\n};\n\nexport const getParts = (\n format: string,\n separator: string,\n withTime?: boolean,\n) => {\n if (withTime) {\n const [date, time] = format.split(' ');\n\n return [\n ...(date ? date.split(separator) : []),\n ...(time ? time.split(':') : []),\n ];\n }\n\n return format.split(separator);\n};\n\nexport const getPartsDate = (\n value: string,\n format: string,\n separator: string,\n withTime: boolean,\n markers: string[],\n) => {\n const formatArray = getParts(format, separator, withTime);\n const stringArray = getParts(value, separator, withTime);\n\n return markers.map((marker) => getPartDate(formatArray, stringArray, marker));\n};\n\nexport const isTypeWithTime = (type: DatePickerPropType) =>\n type.indexOf('time') !== -1;\n\nconst fieldPrefixs = ['start', 'end'] as const;\n\nexport const getFieldName = (\n name: [string?, string?] | string | undefined,\n rangeIndex: 0 | 1,\n) => {\n if (!name) {\n return undefined;\n }\n\n if (Array.isArray(name)) {\n return name[rangeIndex];\n }\n\n return `${name}_${fieldPrefixs[rangeIndex]}`;\n};\n\nexport const getDropdownZIndex = (style?: React.CSSProperties) =>\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined;\n\ntype DatePickerFieldTypeDatePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport const useStringValue = (\n value: Date | undefined | null,\n formatProp: string,\n separator: string,\n onChangeRef: React.MutableRefObject<\n DatePickerFieldTypeDatePropOnChange | undefined\n >,\n imaskProps: ReturnType<typeof useIMask<HTMLInputElement>>,\n) => {\n const stringValue = imaskProps.value;\n\n const refs = useMutableRef([imaskProps.setValue, value] as const);\n\n const setStringValue = useCallback((value: string) => {\n refs.current[0](value);\n if (imaskProps.ref?.current) {\n imaskProps.ref.current.value = value;\n }\n if (imaskProps.maskRef.current) {\n imaskProps.maskRef.current.updateValue();\n }\n }, []);\n\n const handleClear: React.MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n setStringValue('');\n\n if (refs.current[1]) {\n onChangeRef.current?.(null, { e: e as unknown as Event });\n }\n },\n [],\n );\n\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n\n if (!value && stringValue) {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n const date =\n formatArray.length === validArray.length\n ? parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n )\n : undefined;\n\n if (isValid(date)) {\n setStringValue('');\n }\n }\n }, [value?.getTime()]);\n\n return handleClear;\n};\n\nexport const isValidTimeByTimeOptions = (\n date: Date,\n timeOptions?: TimeOptions,\n): boolean => {\n const isUnitValid = (\n unit: 'hours' | 'minutes' | 'seconds',\n value: number,\n options?: TimeUnitOptions,\n ): boolean => {\n if (!options) return true;\n\n const allowed = getTimeNumbers(unit, options);\n if (allowed.length === 0) return true;\n\n return allowed.includes(value);\n };\n\n if (!timeOptions) return true;\n const isHoursValid = isUnitValid('hours', date.getHours(), timeOptions.hours);\n const isMinutesValid = isUnitValid(\n 'minutes',\n date.getMinutes(),\n timeOptions.minutes,\n );\n const isSecondsValid = isUnitValid(\n 'seconds',\n date.getSeconds(),\n timeOptions.seconds,\n );\n\n return isHoursValid && isMinutesValid && isSecondsValid;\n};\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { IconComponent, IconPropSize } from '@consta/icons/Icon';
2
2
  import { Locale } from 'date-fns';
3
3
  import { DateRange } from '../../utils/types/Date';
4
4
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
5
- import { DateTimePropDisableDates, DateTimePropView } from '../DateTime/helpers';
5
+ import { DateTimePropDisableDates, DateTimePropView, TimeOptions } from '../DateTime/helpers';
6
6
  import { TextFieldPropForm, TextFieldPropSize, TextFieldPropStatus, TextFieldPropView } from '../TextField/TextField';
7
7
  export declare const datePickerPropType: readonly ["date", "date-range", "date-time", "date-time-range", "time", "year", "year-range", "month", "month-range"];
8
8
  export type DatePickerPropType = typeof datePickerPropType[number];
@@ -10,7 +10,8 @@ export declare const datePickerPropTypeDefault: "date";
10
10
  export type DatePickerPropDateTimeView = DateTimePropView;
11
11
  export declare const datePickerPropDateTimeViewDefault: "classic";
12
12
  type Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';
13
- export declare const datePickerErrorTypes: readonly ["outOfRange", "invalidInputAttempt", "startDateIsGreaterThanEndDate"];
13
+ type Time = 'time' | 'date-time' | 'date-time-range';
14
+ export declare const datePickerErrorTypes: readonly ["outOfRange", "invalidInputAttempt", "startDateIsGreaterThanEndDate", "invalidTimeByTimeOptions"];
14
15
  export type DatePickerPropValue<TYPE extends DatePickerPropType> = (TYPE extends Range ? DateRange : Date) | null;
15
16
  export type DatePickerPropPlaceholder<TYPE> = TYPE extends Range ? [string?, string?] | string : string;
16
17
  export type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (value: DatePickerPropValue<TYPE>, props: {
@@ -73,9 +74,22 @@ export type DatePickerProps<TYPE extends DatePickerPropType = 'date'> = PropsWit
73
74
  labelPosition?: 'top' | 'left';
74
75
  onChangeCurrentVisibleDate?: (date: Date) => void;
75
76
  currentVisibleDate?: Date;
76
- multiplicitySeconds?: number;
77
- multiplicityMinutes?: number;
78
- multiplicityHours?: number;
77
+ timeOptions?: TYPE extends Time ? TimeOptions : never;
78
+ /**
79
+ * @deprecated Use timeOptions instead.
80
+ * TODO: major - удалить при мажорном релизе все свойства multiplicity*, оставив только работу с timeOptions.
81
+ */
82
+ multiplicitySeconds?: TYPE extends Time ? number : never;
83
+ /**
84
+ * @deprecated Use timeOptions instead.
85
+ * TODO: major - удалить при мажорном релизе все свойства multiplicity*, оставив только работу с timeOptions.
86
+ */
87
+ multiplicityMinutes?: TYPE extends Time ? number : never;
88
+ /**
89
+ * @deprecated Use timeOptions instead.
90
+ * TODO: major - удалить при мажорном релизе все свойства multiplicity*, оставив только работу с timeOptions.
91
+ */
92
+ multiplicityHours?: TYPE extends Time ? number : never;
79
93
  isMobile?: number;
80
94
  withClearButton?: boolean;
81
95
  onDropdownOpen?: (isOpen: boolean) => void;
@@ -106,5 +120,12 @@ export type DatePickerPropOnError = (props: {
106
120
  } | {
107
121
  type: typeof datePickerErrorTypes[2];
108
122
  date: [Date, Date];
123
+ } | {
124
+ type: typeof datePickerErrorTypes[3];
125
+ stringValue: string;
126
+ date: Date;
127
+ HH?: string;
128
+ mm?: string;
129
+ ss?: string;
109
130
  }) => void;
110
131
  export {};
@@ -1,2 +1,2 @@
1
- import{dateTimePropViewDefault}from"../DateTime/helpers";export var datePickerPropType=["date","date-range","date-time","date-time-range","time","year","year-range","month","month-range"];export var datePickerPropTypeDefault=datePickerPropType[0];export var datePickerPropDateTimeViewDefault=dateTimePropViewDefault;export var datePickerErrorTypes=["outOfRange","invalidInputAttempt","startDateIsGreaterThanEndDate"];export var datePickerPropDropdownForm=["default","brick","round"];export var datePickerPropDropdownFormDefault=datePickerPropDropdownForm[0];
1
+ import{dateTimePropViewDefault}from"../DateTime/helpers";export var datePickerPropType=["date","date-range","date-time","date-time-range","time","year","year-range","month","month-range"];export var datePickerPropTypeDefault=datePickerPropType[0];export var datePickerPropDateTimeViewDefault=dateTimePropViewDefault;export var datePickerErrorTypes=["outOfRange","invalidInputAttempt","startDateIsGreaterThanEndDate","invalidTimeByTimeOptions"];export var datePickerPropDropdownForm=["default","brick","round"];export var datePickerPropDropdownFormDefault=datePickerPropDropdownForm[0];
2
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["dateTimePropViewDefault","datePickerPropType","datePickerPropTypeDefault","datePickerPropDateTimeViewDefault","datePickerErrorTypes","datePickerPropDropdownForm","datePickerPropDropdownFormDefault"],"sources":["../../../../../src/components/DatePicker/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { Locale } from 'date-fns';\n\nimport { DateRange } from '../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n DateTimePropDisableDates,\n DateTimePropView,\n dateTimePropViewDefault,\n} from '../DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '../TextField/TextField';\n\nexport const datePickerPropType = [\n 'date',\n 'date-range',\n 'date-time',\n 'date-time-range',\n 'time',\n 'year',\n 'year-range',\n 'month',\n 'month-range',\n] as const;\n\nexport type DatePickerPropType = typeof datePickerPropType[number];\nexport const datePickerPropTypeDefault = datePickerPropType[0];\n\nexport type DatePickerPropDateTimeView = DateTimePropView;\nexport const datePickerPropDateTimeViewDefault = dateTimePropViewDefault;\n\ntype Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';\n\nexport const datePickerErrorTypes = [\n 'outOfRange',\n 'invalidInputAttempt',\n 'startDateIsGreaterThanEndDate',\n] as const;\n\nexport type DatePickerPropValue<TYPE extends DatePickerPropType> =\n | (TYPE extends Range ? DateRange : Date)\n | null;\n\nexport type DatePickerPropPlaceholder<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (\n value: DatePickerPropValue<TYPE>,\n props: {\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;\n },\n) => void;\n\nexport const datePickerPropDropdownForm = [\n 'default',\n 'brick',\n 'round',\n] as const;\nexport type DatePickerPropDropdownForm =\n typeof datePickerPropDropdownForm[number];\nexport const datePickerPropDropdownFormDefault = datePickerPropDropdownForm[0];\n\ntype DatePickerPropInputRef<TYPE> = TYPE extends Range\n ? [React.Ref<HTMLInputElement>?, React.Ref<HTMLInputElement>?]\n : React.Ref<HTMLInputElement>;\n\ntype DatePickerPropSide<TYPE> = TYPE extends Range\n ?\n | [(string | IconComponent)?, (string | IconComponent)?]\n | string\n | IconComponent\n : string | IconComponent;\n\ntype DatePickerPropOnFocus<TYPE> = TYPE extends Range\n ?\n | [\n React.FocusEventHandler<HTMLElement>?,\n React.FocusEventHandler<HTMLElement>?,\n ]\n | React.FocusEventHandler<HTMLElement>\n : React.FocusEventHandler<HTMLElement>;\n\ntype DatePickerPropName<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerAdditionalControlRenderFn = (props: {\n currentVisibleDate?: Date;\n}) => React.ReactNode | React.ReactNode[];\n\nexport type DatePickerAdditionalControlRenderProp =\n | React.ReactNode\n | DatePickerAdditionalControlRenderFn;\n\nexport type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n type?: TYPE;\n value?: DatePickerPropValue<TYPE>;\n onChange?: DatePickerPropOnChange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n events?: Date[];\n dateTimeView?: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: DatePickerPropName<TYPE>;\n disabled?: boolean;\n disableDates?: DateTimePropDisableDates;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: DatePickerPropOnFocus<TYPE>;\n onBlur?: DatePickerPropOnFocus<TYPE>;\n autoFocus?: boolean;\n placeholder?: DatePickerPropPlaceholder<TYPE>;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: DatePickerPropInputRef<TYPE>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n format?: string;\n separator?: string;\n dropdownForm?: DatePickerPropDropdownForm;\n leftSide?: DatePickerPropSide<TYPE>;\n rightSide?: DatePickerPropSide<TYPE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n onChangeCurrentVisibleDate?: (date: Date) => void;\n currentVisibleDate?: Date;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n isMobile?: number;\n withClearButton?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n >;\n\nexport type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(\n props: DatePickerProps<TYPE>,\n) => React.ReactNode | null;\n\nexport type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (\n props: Omit<DatePickerProps<TYPE>, 'type'>,\n) => React.ReactNode | null;\n\nexport type DatePickerPropOnError = (\n props:\n | {\n type: typeof datePickerErrorTypes[0];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n date: Date;\n }\n | {\n type: typeof datePickerErrorTypes[1];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n }\n | {\n type: typeof datePickerErrorTypes[2];\n date: [Date, Date];\n },\n) => void;\n"],"mappings":"AAKA,OAGEA,uBAHF,2BAYA,MAAO,IAAMC,mBAAkB,CAAG,CAChC,MADgC,CAEhC,YAFgC,CAGhC,WAHgC,CAIhC,iBAJgC,CAKhC,MALgC,CAMhC,MANgC,CAOhC,YAPgC,CAQhC,OARgC,CAShC,aATgC,CAA3B,CAaP,MAAO,IAAMC,0BAAyB,CAAGD,kBAAkB,CAAC,CAAD,CAApD,CAGP,MAAO,IAAME,kCAAiC,CAAGH,uBAA1C,CAIP,MAAO,IAAMI,qBAAoB,CAAG,CAClC,YADkC,CAElC,qBAFkC,CAGlC,+BAHkC,CAA7B,CAqBP,MAAO,IAAMC,2BAA0B,CAAG,CACxC,SADwC,CAExC,OAFwC,CAGxC,OAHwC,CAAnC,CAOP,MAAO,IAAMC,kCAAiC,CAAGD,0BAA0B,CAAC,CAAD,CAApE"}
1
+ {"version":3,"file":"types.js","names":["dateTimePropViewDefault","datePickerPropType","datePickerPropTypeDefault","datePickerPropDateTimeViewDefault","datePickerErrorTypes","datePickerPropDropdownForm","datePickerPropDropdownFormDefault"],"sources":["../../../../../src/components/DatePicker/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { Locale } from 'date-fns';\n\nimport { DateRange } from '../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n DateTimePropDisableDates,\n DateTimePropView,\n dateTimePropViewDefault,\n TimeOptions,\n} from '../DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '../TextField/TextField';\n\nexport const datePickerPropType = [\n 'date',\n 'date-range',\n 'date-time',\n 'date-time-range',\n 'time',\n 'year',\n 'year-range',\n 'month',\n 'month-range',\n] as const;\n\nexport type DatePickerPropType = typeof datePickerPropType[number];\nexport const datePickerPropTypeDefault = datePickerPropType[0];\n\nexport type DatePickerPropDateTimeView = DateTimePropView;\nexport const datePickerPropDateTimeViewDefault = dateTimePropViewDefault;\n\ntype Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';\ntype Time = 'time' | 'date-time' | 'date-time-range';\n\nexport const datePickerErrorTypes = [\n 'outOfRange',\n 'invalidInputAttempt',\n 'startDateIsGreaterThanEndDate',\n 'invalidTimeByTimeOptions',\n] as const;\n\nexport type DatePickerPropValue<TYPE extends DatePickerPropType> =\n | (TYPE extends Range ? DateRange : Date)\n | null;\n\nexport type DatePickerPropPlaceholder<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (\n value: DatePickerPropValue<TYPE>,\n props: {\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;\n },\n) => void;\n\nexport const datePickerPropDropdownForm = [\n 'default',\n 'brick',\n 'round',\n] as const;\nexport type DatePickerPropDropdownForm =\n typeof datePickerPropDropdownForm[number];\nexport const datePickerPropDropdownFormDefault = datePickerPropDropdownForm[0];\n\ntype DatePickerPropInputRef<TYPE> = TYPE extends Range\n ? [React.Ref<HTMLInputElement>?, React.Ref<HTMLInputElement>?]\n : React.Ref<HTMLInputElement>;\n\ntype DatePickerPropSide<TYPE> = TYPE extends Range\n ?\n | [(string | IconComponent)?, (string | IconComponent)?]\n | string\n | IconComponent\n : string | IconComponent;\n\ntype DatePickerPropOnFocus<TYPE> = TYPE extends Range\n ?\n | [\n React.FocusEventHandler<HTMLElement>?,\n React.FocusEventHandler<HTMLElement>?,\n ]\n | React.FocusEventHandler<HTMLElement>\n : React.FocusEventHandler<HTMLElement>;\n\ntype DatePickerPropName<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerAdditionalControlRenderFn = (props: {\n currentVisibleDate?: Date;\n}) => React.ReactNode | React.ReactNode[];\n\nexport type DatePickerAdditionalControlRenderProp =\n | React.ReactNode\n | DatePickerAdditionalControlRenderFn;\n\nexport type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n type?: TYPE;\n value?: DatePickerPropValue<TYPE>;\n onChange?: DatePickerPropOnChange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n events?: Date[];\n dateTimeView?: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: DatePickerPropName<TYPE>;\n disabled?: boolean;\n disableDates?: DateTimePropDisableDates;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: DatePickerPropOnFocus<TYPE>;\n onBlur?: DatePickerPropOnFocus<TYPE>;\n autoFocus?: boolean;\n placeholder?: DatePickerPropPlaceholder<TYPE>;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: DatePickerPropInputRef<TYPE>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n format?: string;\n separator?: string;\n dropdownForm?: DatePickerPropDropdownForm;\n leftSide?: DatePickerPropSide<TYPE>;\n rightSide?: DatePickerPropSide<TYPE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n onChangeCurrentVisibleDate?: (date: Date) => void;\n currentVisibleDate?: Date;\n timeOptions?: TYPE extends Time ? TimeOptions : never;\n /**\n * @deprecated Use timeOptions instead.\n * TODO: major - удалить при мажорном релизе все свойства multiplicity*, оставив только работу с timeOptions.\n */\n multiplicitySeconds?: TYPE extends Time ? number : never;\n /**\n * @deprecated Use timeOptions instead.\n * TODO: major - удалить при мажорном релизе все свойства multiplicity*, оставив только работу с timeOptions.\n */\n multiplicityMinutes?: TYPE extends Time ? number : never;\n /**\n * @deprecated Use timeOptions instead.\n * TODO: major - удалить при мажорном релизе все свойства multiplicity*, оставив только работу с timeOptions.\n */\n multiplicityHours?: TYPE extends Time ? number : never;\n isMobile?: number;\n withClearButton?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n >;\n\nexport type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(\n props: DatePickerProps<TYPE>,\n) => React.ReactNode | null;\n\nexport type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (\n props: Omit<DatePickerProps<TYPE>, 'type'>,\n) => React.ReactNode | null;\n\nexport type DatePickerPropOnError = (\n props:\n | {\n type: typeof datePickerErrorTypes[0];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n date: Date;\n }\n | {\n type: typeof datePickerErrorTypes[1];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n }\n | {\n type: typeof datePickerErrorTypes[2];\n date: [Date, Date];\n }\n | {\n type: typeof datePickerErrorTypes[3];\n stringValue: string;\n date: Date;\n HH?: string;\n mm?: string;\n ss?: string;\n },\n) => void;\n"],"mappings":"AAKA,OAGEA,uBAHF,2BAaA,MAAO,IAAMC,mBAAkB,CAAG,CAChC,MADgC,CAEhC,YAFgC,CAGhC,WAHgC,CAIhC,iBAJgC,CAKhC,MALgC,CAMhC,MANgC,CAOhC,YAPgC,CAQhC,OARgC,CAShC,aATgC,CAA3B,CAaP,MAAO,IAAMC,0BAAyB,CAAGD,kBAAkB,CAAC,CAAD,CAApD,CAGP,MAAO,IAAME,kCAAiC,CAAGH,uBAA1C,CAKP,MAAO,IAAMI,qBAAoB,CAAG,CAClC,YADkC,CAElC,qBAFkC,CAGlC,+BAHkC,CAIlC,0BAJkC,CAA7B,CAsBP,MAAO,IAAMC,2BAA0B,CAAG,CACxC,SADwC,CAExC,OAFwC,CAGxC,OAHwC,CAAnC,CAOP,MAAO,IAAMC,kCAAiC,CAAGD,0BAA0B,CAAC,CAAD,CAApE"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["type"];import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{getByMap}from"../../utils/getByMap";import{DateTimeTypeDate}from"./DateTimeTypeDate/DateTimeTypeDate";import{DateTimeTypeDateTime}from"./DateTimeTypeDateTime/DateTimeTypeDateTime";import{DateTimeTypeMonth}from"./DateTimeTypeMonth/DateTimeTypeMonth";import{DateTimeTypeTime}from"./DateTimeTypeTime/DateTimeTypeTime";import{DateTimeTypeYear}from"./DateTimeTypeYear/DateTimeTypeYear";import{dateTimePropTypeDefault}from"./helpers/types";var typeMap={date:DateTimeTypeDate,month:DateTimeTypeMonth,year:DateTimeTypeYear,time:DateTimeTypeTime,"date-time":DateTimeTypeDateTime};export var COMPONENT_NAME="DateTime";export var DateTime=forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.type,f=void 0===e?dateTimePropTypeDefault:e,g=_objectWithoutProperties(d,_excluded),h=getByMap(typeMap,f);return React.createElement(h,Object.assign({},g,{ref:useForkRef([b,c])}))});export*from"./helpers/types";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["type","timeOptions","multiplicityHours","multiplicityMinutes","multiplicitySeconds"];import React,{forwardRef,useMemo,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{getByMap}from"../../utils/getByMap";import{DateTimeTypeDate}from"./DateTimeTypeDate/DateTimeTypeDate";import{DateTimeTypeDateTime}from"./DateTimeTypeDateTime/DateTimeTypeDateTime";import{DateTimeTypeMonth}from"./DateTimeTypeMonth/DateTimeTypeMonth";import{DateTimeTypeTime}from"./DateTimeTypeTime/DateTimeTypeTime";import{DateTimeTypeYear}from"./DateTimeTypeYear/DateTimeTypeYear";import{isTypeWithTime}from"./helpers";import{getTimeOptionsKey}from"./helpers/getTimeOptionsKey";import{dateTimePropTypeDefault}from"./helpers/types";var typeMap={date:DateTimeTypeDate,month:DateTimeTypeMonth,year:DateTimeTypeYear,time:DateTimeTypeTime,"date-time":DateTimeTypeDateTime};export var COMPONENT_NAME="DateTime";export var DateTime=forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.type,f=void 0===e?dateTimePropTypeDefault:e,g=d.timeOptions,h=d.multiplicityHours,i=d.multiplicityMinutes,j=d.multiplicitySeconds,k=_objectWithoutProperties(d,_excluded),l=useMemo(function(){var a,b,c;return{hours:null!==(a=null===g||void 0===g?void 0:g.hours)&&void 0!==a?a:h===void 0?void 0:{step:h},minutes:null!==(b=null===g||void 0===g?void 0:g.minutes)&&void 0!==b?b:i===void 0?void 0:{step:i},seconds:null!==(c=null===g||void 0===g?void 0:g.seconds)&&void 0!==c?c:j===void 0?void 0:{step:j}}},[getTimeOptionsKey(g),h,i,j]),m=useMemo(function(){return isTypeWithTime(f)?{timeOptions:l}:void 0},[f,l]),n=getByMap(typeMap,f);return React.createElement(n,Object.assign({},k,m,{ref:useForkRef([b,c])}))});export*from"./helpers/types";
2
2
  //# sourceMappingURL=DateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.js","names":["React","forwardRef","useRef","usePropsHandler","useForkRef","getByMap","DateTimeTypeDate","DateTimeTypeDateTime","DateTimeTypeMonth","DateTimeTypeTime","DateTimeTypeYear","dateTimePropTypeDefault","typeMap","COMPONENT_NAME","DateTime","props","ref","dateTimeRef","type","otherProps","Component"],"sources":["../../../../../src/components/DateTime/DateTime.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { getByMap } from '##/utils/getByMap';\n\nimport { DateTimeTypeDate } from './DateTimeTypeDate/DateTimeTypeDate';\nimport { DateTimeTypeDateTime } from './DateTimeTypeDateTime/DateTimeTypeDateTime';\nimport { DateTimeTypeMonth } from './DateTimeTypeMonth/DateTimeTypeMonth';\nimport { DateTimeTypeTime } from './DateTimeTypeTime/DateTimeTypeTime';\nimport { DateTimeTypeYear } from './DateTimeTypeYear/DateTimeTypeYear';\nimport {\n DateTimeComponent,\n DateTimePropType,\n dateTimePropTypeDefault,\n DateTimeTypeComponent,\n} from './helpers/types';\n\nconst typeMap: Record<\n DateTimePropType,\n DateTimeTypeComponent<DateTimePropType>\n> = {\n 'date': DateTimeTypeDate,\n 'month': DateTimeTypeMonth,\n 'year': DateTimeTypeYear,\n 'time': DateTimeTypeTime,\n 'date-time': DateTimeTypeDateTime,\n} as const;\n\nexport const COMPONENT_NAME = 'DateTime' as const;\n\nexport const DateTime: DateTimeComponent = forwardRef((props, ref) => {\n const dateTimeRef = useRef<HTMLDivElement>(null);\n const { type = dateTimePropTypeDefault, ...otherProps } = usePropsHandler(\n COMPONENT_NAME,\n props,\n dateTimeRef,\n );\n\n const Component = getByMap(typeMap, type);\n\n return <Component {...otherProps} ref={useForkRef([ref, dateTimeRef])} />;\n});\n\nexport * from './helpers/types';\n"],"mappings":"4GAAA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAEA,OAASC,eAAT,2CACA,OAASC,UAAT,yCACA,OAASC,QAAT,4BAEA,OAASC,gBAAT,2CACA,OAASC,oBAAT,mDACA,OAASC,iBAAT,6CACA,OAASC,gBAAT,2CACA,OAASC,gBAAT,2CACA,OAGEC,uBAHF,uBAOA,GAAMC,QAGL,CAAG,CACF,KAAQN,gBADN,CAEF,MAASE,iBAFP,CAGF,KAAQE,gBAHN,CAIF,KAAQD,gBAJN,CAKF,YAAaF,oBALX,CAHJ,CAWA,MAAO,IAAMM,eAAc,CAAG,UAAvB,CAEP,MAAO,IAAMC,SAA2B,CAAGb,UAAU,CAAC,SAACc,CAAD,CAAQC,CAAR,CAAgB,IAC9DC,EAAW,CAAGf,MAAM,CAAiB,IAAjB,CAD0C,GAEVC,eAAe,CACvEU,cADuE,CAEvEE,CAFuE,CAGvEE,CAHuE,CAFL,KAE5DC,IAF4D,CAE5DA,CAF4D,YAErDP,uBAFqD,GAEzBQ,CAFyB,uCAQ9DC,CAAS,CAAGf,QAAQ,CAACO,OAAD,CAAUM,CAAV,CAR0C,CAUpE,MAAO,qBAAC,CAAD,kBAAeC,CAAf,EAA2B,GAAG,CAAEf,UAAU,CAAC,CAACY,CAAD,CAAMC,CAAN,CAAD,CAA1C,GACR,CAXoD,CAA9C,CAaP"}
1
+ {"version":3,"file":"DateTime.js","names":["React","forwardRef","useMemo","useRef","usePropsHandler","useForkRef","getByMap","DateTimeTypeDate","DateTimeTypeDateTime","DateTimeTypeMonth","DateTimeTypeTime","DateTimeTypeYear","isTypeWithTime","getTimeOptionsKey","dateTimePropTypeDefault","typeMap","COMPONENT_NAME","DateTime","props","ref","dateTimeRef","type","timeOptions","multiplicityHours","multiplicityMinutes","multiplicitySeconds","otherProps","effectiveTimeOptions","hours","step","minutes","seconds","timeProps","Component"],"sources":["../../../../../src/components/DateTime/DateTime.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { getByMap } from '##/utils/getByMap';\n\nimport { DateTimeTypeDate } from './DateTimeTypeDate/DateTimeTypeDate';\nimport { DateTimeTypeDateTime } from './DateTimeTypeDateTime/DateTimeTypeDateTime';\nimport { DateTimeTypeMonth } from './DateTimeTypeMonth/DateTimeTypeMonth';\nimport { DateTimeTypeTime } from './DateTimeTypeTime/DateTimeTypeTime';\nimport { DateTimeTypeYear } from './DateTimeTypeYear/DateTimeTypeYear';\nimport { isTypeWithTime } from './helpers';\nimport { getTimeOptionsKey } from './helpers/getTimeOptionsKey';\nimport {\n DateTimeComponent,\n DateTimePropType,\n dateTimePropTypeDefault,\n DateTimeTypeComponent,\n TimeOptions,\n} from './helpers/types';\n\nconst typeMap: Record<\n DateTimePropType,\n DateTimeTypeComponent<DateTimePropType>\n> = {\n 'date': DateTimeTypeDate,\n 'month': DateTimeTypeMonth,\n 'year': DateTimeTypeYear,\n 'time': DateTimeTypeTime,\n 'date-time': DateTimeTypeDateTime,\n} as const;\n\nexport const COMPONENT_NAME = 'DateTime' as const;\n\nexport const DateTime: DateTimeComponent = forwardRef((props, ref) => {\n const dateTimeRef = useRef<HTMLDivElement>(null);\n const {\n type = dateTimePropTypeDefault,\n timeOptions,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, dateTimeRef);\n\n // TODO: major - удалить multiplicity* props конвертацию, используйте timeOptions напрямую\n const effectiveTimeOptions = useMemo((): TimeOptions => {\n return {\n hours:\n timeOptions?.hours ??\n (multiplicityHours !== undefined\n ? { step: multiplicityHours }\n : undefined),\n minutes:\n timeOptions?.minutes ??\n (multiplicityMinutes !== undefined\n ? { step: multiplicityMinutes }\n : undefined),\n seconds:\n timeOptions?.seconds ??\n (multiplicitySeconds !== undefined\n ? { step: multiplicitySeconds }\n : undefined),\n };\n }, [\n getTimeOptionsKey(timeOptions),\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n ]);\n\n const timeProps = useMemo(\n () =>\n isTypeWithTime(type) ? { timeOptions: effectiveTimeOptions } : undefined,\n [type, effectiveTimeOptions],\n );\n\n const Component = getByMap(typeMap, type);\n\n return (\n <Component\n {...otherProps}\n {...timeProps}\n ref={useForkRef([ref, dateTimeRef])}\n />\n );\n});\n\nexport * from './helpers/types';\n"],"mappings":"0LAAA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,OAA5B,CAAqCC,MAArC,KAAmD,OAAnD,CAEA,OAASC,eAAT,2CACA,OAASC,UAAT,yCACA,OAASC,QAAT,4BAEA,OAASC,gBAAT,2CACA,OAASC,oBAAT,mDACA,OAASC,iBAAT,6CACA,OAASC,gBAAT,2CACA,OAASC,gBAAT,2CACA,OAASC,cAAT,iBACA,OAASC,iBAAT,mCACA,OAGEC,uBAHF,uBAQA,GAAMC,QAGL,CAAG,CACF,KAAQR,gBADN,CAEF,MAASE,iBAFP,CAGF,KAAQE,gBAHN,CAIF,KAAQD,gBAJN,CAKF,YAAaF,oBALX,CAHJ,CAWA,MAAO,IAAMQ,eAAc,CAAG,UAAvB,CAEP,MAAO,IAAMC,SAA2B,CAAGhB,UAAU,CAAC,SAACiB,CAAD,CAAQC,CAAR,CAAgB,IAC9DC,EAAW,CAAGjB,MAAM,CAAiB,IAAjB,CAD0C,GAShEC,eAAe,CAACY,cAAD,CAAiBE,CAAjB,CAAwBE,CAAxB,CATiD,KAGlEC,IAHkE,CAGlEA,CAHkE,YAG3DP,uBAH2D,GAIlEQ,CAJkE,GAIlEA,WAJkE,CAKlEC,CALkE,GAKlEA,iBALkE,CAMlEC,CANkE,GAMlEA,mBANkE,CAOlEC,CAPkE,GAOlEA,mBAPkE,CAQ/DC,CAR+D,uCAY9DC,CAAoB,CAAGzB,OAAO,CAAC,UAAmB,WACtD,MAAO,CACL0B,KAAK,kBACHN,CADG,WACHA,CADG,QACHA,CAAW,CAAEM,KADV,gBAEFL,CAAiB,SAAjB,QACG,CAAEM,IAAI,CAAEN,CAAR,CAJD,CAMLO,OAAO,kBACLR,CADK,WACLA,CADK,QACLA,CAAW,CAAEQ,OADR,gBAEJN,CAAmB,SAAnB,QACG,CAAEK,IAAI,CAAEL,CAAR,CATD,CAWLO,OAAO,kBACLT,CADK,WACLA,CADK,QACLA,CAAW,CAAES,OADR,gBAEJN,CAAmB,SAAnB,QACG,CAAEI,IAAI,CAAEJ,CAAR,CAdD,CAiBR,CAlBmC,CAkBjC,CACDZ,iBAAiB,CAACS,CAAD,CADhB,CAEDC,CAFC,CAGDC,CAHC,CAIDC,CAJC,CAlBiC,CAZgC,CAqC9DO,CAAS,CAAG9B,OAAO,CACvB,iBACEU,eAAc,CAACS,CAAD,CAAd,CAAuB,CAAEC,WAAW,CAAEK,CAAf,CAAvB,OADF,CADuB,CAGvB,CAACN,CAAD,CAAOM,CAAP,CAHuB,CArC2C,CA2C9DM,CAAS,CAAG3B,QAAQ,CAACS,OAAD,CAAUM,CAAV,CA3C0C,CA6CpE,MACE,qBAAC,CAAD,kBACMK,CADN,CAEMM,CAFN,EAGE,GAAG,CAAE3B,UAAU,CAAC,CAACc,CAAD,CAAMC,CAAN,CAAD,CAHjB,GAMH,CApDoD,CAA9C,CAsDP"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","minDate","maxDate","value","disableDates","onChange","onChangeRange","currentVisibleDate","events","locale","view","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onMove","onChangeCurrentVisibleDate"];import{addMonths,startOfMonth}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{forwardRef,useEffect}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeMonth}from"../DateTimeMonth/DateTimeMonth";import{DateTimeToggler}from"../DateTimeToggler/DateTimeToggler";import{DateTimeTypeMonth}from"../DateTimeTypeMonth/DateTimeTypeMonth";import{DateTimeYearSlider}from"../DateTimeYearSlider/DateTimeYearSlider";import{getDaysOfMonth,getDaysOfWeek,getHandleSelectDate,getMouthLabelWithYear,isEqualDay,moveTypes,useCurrentVisibleDate}from"../helpers";import{dateTimePropView,dateTimePropViewDefault}from"../helpers/types";import{cnDateTimeMixLayout}from"../mixs";export var DateTimeTypeDate=forwardRef(function(a,b){var c=a.className,d=a.minDate,e=a.maxDate,f=a.value,g=a.disableDates,h=a.onChange,i=a.onChangeRange,j=a.currentVisibleDate,k=a.events,l=a.locale,m=void 0===l?ruLocale:l,n=a.view,o=void 0===n?dateTimePropViewDefault:n,p=a.multiplicityHours,q=a.multiplicityMinutes,r=a.multiplicitySeconds,s=a.onMove,t=a.onChangeCurrentVisibleDate,u=_objectWithoutProperties(a,_excluded),v=useFlag(),w=_slicedToArray(v,2),x=w[0],y=w[1];useEffect(function(){x||(null===s||void 0===s?void 0:s(moveTypes[2]))},[x]);var z=useCurrentVisibleDate({currentVisibleDate:j,maxDate:e,minDate:d,value:f,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:t}),A=_slicedToArray(z,2),B=A[0],C=A[1];if(x)return React.createElement(DateTimeTypeMonth,Object.assign({},u,{ref:b,className:c,minDate:d,maxDate:e,locale:m,events:k,currentVisibleDate:B,view:o,onChange:function(a){C(a),y.off()},onMove:s}));var D=getHandleSelectDate({minDate:d,maxDate:e,value:f,onChange:h,onChangeRange:i,isEqualUnit:isEqualDay}),E=getDaysOfMonth({date:B,disableDates:g,handleDayClick:D,value:f,events:k,minDate:d,maxDate:e,locale:m}),F=getMouthLabelWithYear(B,m),G=getDaysOfWeek(m),H=function(){return C(addMonths(B,1))},I=function(){return C(addMonths(B,-1))};if(o===dateTimePropView[0])return React.createElement("div",Object.assign({},u,{ref:b,className:cnDateTimeMixLayout({view:o},[c])}),React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:I,nextOnClick:H,label:F,onLabelClick:y.on}),React.createElement(DateTimeMonth,{daysOfWeek:G,daysOfMonth:E}));var J=addMonths(B,1),K=getDaysOfMonth({date:J,disableDates:g,handleDayClick:D,value:f,events:k,minDate:d,maxDate:e,locale:m}),L=getMouthLabelWithYear(J,m);return o===dateTimePropView[1]?React.createElement("div",Object.assign({},u,{ref:b,className:cnDateTimeMixLayout({view:o},[c])}),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:I,label:F,onLabelClick:y.on}),React.createElement(DateTimeMonth,{daysOfWeek:G,daysOfMonth:E})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),nextOnClick:H,label:L,onLabelClick:y.on}),React.createElement(DateTimeMonth,{daysOfWeek:G,daysOfMonth:K}))):React.createElement("div",Object.assign({},u,{ref:b,className:cnDateTimeMixLayout({view:o},[c])}),React.createElement(DateTimeYearSlider,{className:cnDateTimeMixLayout("Slider"),currentVisibleDate:B,onChange:C,value:f,locale:m}),React.createElement("div",{className:cnDateTimeMixLayout("PageWrapper")},React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:F,onClick:y.on,cursor:"pointer"}),React.createElement(DateTimeMonth,{daysOfWeek:G,daysOfMonth:E})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:L,onClick:y.on,cursor:"pointer"}),React.createElement(DateTimeMonth,{daysOfWeek:G,daysOfMonth:K}))))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","minDate","maxDate","value","disableDates","onChange","onChangeRange","currentVisibleDate","events","locale","view","onMove","onChangeCurrentVisibleDate"];import{addMonths,startOfMonth}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{forwardRef,useEffect}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeMonth}from"../DateTimeMonth/DateTimeMonth";import{DateTimeToggler}from"../DateTimeToggler/DateTimeToggler";import{DateTimeTypeMonth}from"../DateTimeTypeMonth/DateTimeTypeMonth";import{DateTimeYearSlider}from"../DateTimeYearSlider/DateTimeYearSlider";import{getDaysOfMonth,getDaysOfWeek,getHandleSelectDate,getMouthLabelWithYear,isEqualDay,moveTypes,useCurrentVisibleDate}from"../helpers";import{dateTimePropView,dateTimePropViewDefault}from"../helpers/types";import{cnDateTimeMixLayout}from"../mixs";export var DateTimeTypeDate=forwardRef(function(a,b){var c=a.className,d=a.minDate,e=a.maxDate,f=a.value,g=a.disableDates,h=a.onChange,i=a.onChangeRange,j=a.currentVisibleDate,k=a.events,l=a.locale,m=void 0===l?ruLocale:l,n=a.view,o=void 0===n?dateTimePropViewDefault:n,p=a.onMove,q=a.onChangeCurrentVisibleDate,r=_objectWithoutProperties(a,_excluded),s=useFlag(),t=_slicedToArray(s,2),u=t[0],v=t[1];useEffect(function(){u||(null===p||void 0===p?void 0:p(moveTypes[2]))},[u]);var w=useCurrentVisibleDate({currentVisibleDate:j,maxDate:e,minDate:d,value:f,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q}),x=_slicedToArray(w,2),y=x[0],z=x[1];if(u)return React.createElement(DateTimeTypeMonth,Object.assign({},r,{ref:b,className:c,minDate:d,maxDate:e,locale:m,events:k,currentVisibleDate:y,view:o,onChange:function(a){z(a),v.off()},onMove:p}));var A=getHandleSelectDate({minDate:d,maxDate:e,value:f,onChange:h,onChangeRange:i,isEqualUnit:isEqualDay}),B=getDaysOfMonth({date:y,disableDates:g,handleDayClick:A,value:f,events:k,minDate:d,maxDate:e,locale:m}),C=getMouthLabelWithYear(y,m),D=getDaysOfWeek(m),E=function(){return z(addMonths(y,1))},F=function(){return z(addMonths(y,-1))};if(o===dateTimePropView[0])return React.createElement("div",Object.assign({},r,{ref:b,className:cnDateTimeMixLayout({view:o},[c])}),React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:F,nextOnClick:E,label:C,onLabelClick:v.on}),React.createElement(DateTimeMonth,{daysOfWeek:D,daysOfMonth:B}));var G=addMonths(y,1),H=getDaysOfMonth({date:G,disableDates:g,handleDayClick:A,value:f,events:k,minDate:d,maxDate:e,locale:m}),I=getMouthLabelWithYear(G,m);return o===dateTimePropView[1]?React.createElement("div",Object.assign({},r,{ref:b,className:cnDateTimeMixLayout({view:o},[c])}),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:F,label:C,onLabelClick:v.on}),React.createElement(DateTimeMonth,{daysOfWeek:D,daysOfMonth:B})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),nextOnClick:E,label:I,onLabelClick:v.on}),React.createElement(DateTimeMonth,{daysOfWeek:D,daysOfMonth:H}))):React.createElement("div",Object.assign({},r,{ref:b,className:cnDateTimeMixLayout({view:o},[c])}),React.createElement(DateTimeYearSlider,{className:cnDateTimeMixLayout("Slider"),currentVisibleDate:y,onChange:z,value:f,locale:m}),React.createElement("div",{className:cnDateTimeMixLayout("PageWrapper")},React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:C,onClick:v.on,cursor:"pointer"}),React.createElement(DateTimeMonth,{daysOfWeek:D,daysOfMonth:B})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:I,onClick:v.on,cursor:"pointer"}),React.createElement(DateTimeMonth,{daysOfWeek:D,daysOfMonth:H}))))});
2
2
  //# sourceMappingURL=DateTimeTypeDate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeTypeDate.js","names":["addMonths","startOfMonth","ruLocale","React","forwardRef","useEffect","useFlag","DateTimeLabel","DateTimeMonth","DateTimeToggler","DateTimeTypeMonth","DateTimeYearSlider","getDaysOfMonth","getDaysOfWeek","getHandleSelectDate","getMouthLabelWithYear","isEqualDay","moveTypes","useCurrentVisibleDate","dateTimePropView","dateTimePropViewDefault","cnDateTimeMixLayout","DateTimeTypeDate","props","ref","className","minDate","maxDate","value","disableDates","onChange","onChangeRange","currentVisibleDateProp","currentVisibleDate","events","locale","view","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onMove","onChangeCurrentVisibleDate","otherProps","changeMonth","setChangeMonth","startOfUnit","setCurrentVisibleDate","off","handleSelectDate","isEqualUnit","pageOneDaysOfMonth","date","handleDayClick","pageOneLabel","daysOfWeek","nextMonthHandle","prevMonthHandle","on","pageTwoCurrentVisibleDate","pageTwoDaysOfMonth","pageTwoLabel"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.tsx"],"sourcesContent":["import { addMonths, startOfMonth } from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';\nimport { DateTimeMonth } from '../DateTimeMonth/DateTimeMonth';\nimport { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';\nimport { DateTimeTypeMonth } from '../DateTimeTypeMonth/DateTimeTypeMonth';\nimport { DateTimeYearSlider } from '../DateTimeYearSlider/DateTimeYearSlider';\nimport {\n DateTimeTypeComponent,\n getDaysOfMonth,\n getDaysOfWeek,\n getHandleSelectDate,\n getMouthLabelWithYear,\n isEqualDay,\n moveTypes,\n useCurrentVisibleDate,\n} from '../helpers';\nimport { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';\nimport { cnDateTimeMixLayout } from '../mixs';\n\nexport const DateTimeTypeDate: DateTimeTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n className,\n minDate,\n maxDate,\n value,\n disableDates,\n onChange,\n onChangeRange,\n currentVisibleDate: currentVisibleDateProp,\n events,\n locale = ruLocale,\n view = dateTimePropViewDefault,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n onMove,\n onChangeCurrentVisibleDate,\n ...otherProps\n } = props;\n\n const [changeMonth, setChangeMonth] = useFlag();\n\n useEffect(() => {\n !changeMonth && onMove?.(moveTypes[2]);\n }, [changeMonth]);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate,\n minDate,\n value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n });\n\n if (changeMonth) {\n return (\n <DateTimeTypeMonth\n {...otherProps}\n ref={ref}\n className={className}\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n events={events}\n currentVisibleDate={currentVisibleDate}\n view={view}\n onChange={(value) => {\n setCurrentVisibleDate(value);\n setChangeMonth.off();\n }}\n onMove={onMove}\n />\n );\n }\n\n const handleSelectDate = getHandleSelectDate({\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n isEqualUnit: isEqualDay,\n });\n\n const pageOneDaysOfMonth = getDaysOfMonth({\n date: currentVisibleDate,\n disableDates,\n handleDayClick: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageOneLabel = getMouthLabelWithYear(currentVisibleDate, locale);\n\n const daysOfWeek = getDaysOfWeek(locale);\n\n const nextMonthHandle = () =>\n setCurrentVisibleDate(addMonths(currentVisibleDate, 1));\n const prevMonthHandle = () =>\n setCurrentVisibleDate(addMonths(currentVisibleDate, -1));\n\n if (view === dateTimePropView[0]) {\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnDateTimeMixLayout({ view }, [className])}\n >\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={prevMonthHandle}\n nextOnClick={nextMonthHandle}\n label={pageOneLabel}\n onLabelClick={setChangeMonth.on}\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageOneDaysOfMonth}\n />\n </div>\n );\n }\n\n const pageTwoCurrentVisibleDate = addMonths(currentVisibleDate, 1);\n\n const pageTwoDaysOfMonth = getDaysOfMonth({\n date: pageTwoCurrentVisibleDate,\n disableDates,\n handleDayClick: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageTwoLabel = getMouthLabelWithYear(\n pageTwoCurrentVisibleDate,\n locale,\n );\n\n if (view === dateTimePropView[1]) {\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnDateTimeMixLayout({ view }, [className])}\n >\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={prevMonthHandle}\n label={pageOneLabel}\n onLabelClick={setChangeMonth.on}\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageOneDaysOfMonth}\n />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n nextOnClick={nextMonthHandle}\n label={pageTwoLabel}\n onLabelClick={setChangeMonth.on}\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageTwoDaysOfMonth}\n />\n </div>\n </div>\n );\n }\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnDateTimeMixLayout({ view }, [className])}\n >\n <DateTimeYearSlider\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 onClick={setChangeMonth.on}\n cursor=\"pointer\"\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageOneDaysOfMonth}\n />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageTwoLabel}\n onClick={setChangeMonth.on}\n cursor=\"pointer\"\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageTwoDaysOfMonth}\n />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeTypeDate.js","names":["addMonths","startOfMonth","ruLocale","React","forwardRef","useEffect","useFlag","DateTimeLabel","DateTimeMonth","DateTimeToggler","DateTimeTypeMonth","DateTimeYearSlider","getDaysOfMonth","getDaysOfWeek","getHandleSelectDate","getMouthLabelWithYear","isEqualDay","moveTypes","useCurrentVisibleDate","dateTimePropView","dateTimePropViewDefault","cnDateTimeMixLayout","DateTimeTypeDate","props","ref","className","minDate","maxDate","value","disableDates","onChange","onChangeRange","currentVisibleDateProp","currentVisibleDate","events","locale","view","onMove","onChangeCurrentVisibleDate","otherProps","changeMonth","setChangeMonth","startOfUnit","setCurrentVisibleDate","off","handleSelectDate","isEqualUnit","pageOneDaysOfMonth","date","handleDayClick","pageOneLabel","daysOfWeek","nextMonthHandle","prevMonthHandle","on","pageTwoCurrentVisibleDate","pageTwoDaysOfMonth","pageTwoLabel"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.tsx"],"sourcesContent":["import { addMonths, startOfMonth } from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';\nimport { DateTimeMonth } from '../DateTimeMonth/DateTimeMonth';\nimport { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';\nimport { DateTimeTypeMonth } from '../DateTimeTypeMonth/DateTimeTypeMonth';\nimport { DateTimeYearSlider } from '../DateTimeYearSlider/DateTimeYearSlider';\nimport {\n DateTimeTypeComponent,\n getDaysOfMonth,\n getDaysOfWeek,\n getHandleSelectDate,\n getMouthLabelWithYear,\n isEqualDay,\n moveTypes,\n useCurrentVisibleDate,\n} from '../helpers';\nimport { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';\nimport { cnDateTimeMixLayout } from '../mixs';\n\nexport const DateTimeTypeDate: DateTimeTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n className,\n minDate,\n maxDate,\n value,\n disableDates,\n onChange,\n onChangeRange,\n currentVisibleDate: currentVisibleDateProp,\n events,\n locale = ruLocale,\n view = dateTimePropViewDefault,\n onMove,\n onChangeCurrentVisibleDate,\n ...otherProps\n } = props;\n\n const [changeMonth, setChangeMonth] = useFlag();\n\n useEffect(() => {\n !changeMonth && onMove?.(moveTypes[2]);\n }, [changeMonth]);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate,\n minDate,\n value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n });\n\n if (changeMonth) {\n return (\n <DateTimeTypeMonth\n {...otherProps}\n ref={ref}\n className={className}\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n events={events}\n currentVisibleDate={currentVisibleDate}\n view={view}\n onChange={(value) => {\n setCurrentVisibleDate(value);\n setChangeMonth.off();\n }}\n onMove={onMove}\n />\n );\n }\n\n const handleSelectDate = getHandleSelectDate({\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n isEqualUnit: isEqualDay,\n });\n\n const pageOneDaysOfMonth = getDaysOfMonth({\n date: currentVisibleDate,\n disableDates,\n handleDayClick: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageOneLabel = getMouthLabelWithYear(currentVisibleDate, locale);\n\n const daysOfWeek = getDaysOfWeek(locale);\n\n const nextMonthHandle = () =>\n setCurrentVisibleDate(addMonths(currentVisibleDate, 1));\n const prevMonthHandle = () =>\n setCurrentVisibleDate(addMonths(currentVisibleDate, -1));\n\n if (view === dateTimePropView[0]) {\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnDateTimeMixLayout({ view }, [className])}\n >\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={prevMonthHandle}\n nextOnClick={nextMonthHandle}\n label={pageOneLabel}\n onLabelClick={setChangeMonth.on}\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageOneDaysOfMonth}\n />\n </div>\n );\n }\n\n const pageTwoCurrentVisibleDate = addMonths(currentVisibleDate, 1);\n\n const pageTwoDaysOfMonth = getDaysOfMonth({\n date: pageTwoCurrentVisibleDate,\n disableDates,\n handleDayClick: handleSelectDate,\n value,\n events,\n minDate,\n maxDate,\n locale,\n });\n\n const pageTwoLabel = getMouthLabelWithYear(\n pageTwoCurrentVisibleDate,\n locale,\n );\n\n if (view === dateTimePropView[1]) {\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnDateTimeMixLayout({ view }, [className])}\n >\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n prevOnClick={prevMonthHandle}\n label={pageOneLabel}\n onLabelClick={setChangeMonth.on}\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageOneDaysOfMonth}\n />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n nextOnClick={nextMonthHandle}\n label={pageTwoLabel}\n onLabelClick={setChangeMonth.on}\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageTwoDaysOfMonth}\n />\n </div>\n </div>\n );\n }\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnDateTimeMixLayout({ view }, [className])}\n >\n <DateTimeYearSlider\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 onClick={setChangeMonth.on}\n cursor=\"pointer\"\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageOneDaysOfMonth}\n />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageTwoLabel}\n onClick={setChangeMonth.on}\n cursor=\"pointer\"\n />\n <DateTimeMonth\n daysOfWeek={daysOfWeek}\n daysOfMonth={pageTwoDaysOfMonth}\n />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","onMove","currentVisibleDate","value","onChange","onChangeRange","minDate","maxDate","events","disableDates","locale","onChangeCurrentVisibleDate","multiplicitySeconds","multiplicityMinutes","multiplicityHours","style","timeFor"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./DateTimeTypeDateTime.css";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{cn}from"../../../utils/bem";import{DateTimeTypeDate}from"../DateTimeTypeDate/DateTimeTypeDate";import{DateTimeTypeTime}from"../DateTimeTypeTime/DateTimeTypeTime";import{moveTypes}from"../helpers";import{useOnChange}from"./useOnChange";var cnDateTimeTypeDateTime=cn("DateTimeTypeDateTime");export var DateTimeTypeDateTime=forwardRef(function(a,b){var c=a.className,d=a.onMove,e=a.currentVisibleDate,f=a.value,g=a.onChange,h=a.onChangeRange,i=a.minDate,j=a.maxDate,k=a.events,l=a.disableDates,m=a.locale,n=a.onChangeCurrentVisibleDate,o=a.multiplicitySeconds,p=a.multiplicityMinutes,q=a.multiplicityHours,r=a.style,s=a.timeFor,t=void 0===s?"start":s,u=_objectWithoutProperties(a,_excluded),v=useState(moveTypes[2]),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useState({"--root-padding-left":"0px"}),A=_slicedToArray(z,2),B=A[0],C=A[1],D=useOnChange(g,h,f,t),E=_slicedToArray(D,4),F=E[0],G=E[1],H=E[2],I=E[3],J=useRef(null),K=x===moveTypes[2];return useEffect(function(){J.current&&C({"--root-padding-left":window.getComputedStyle(J.current).paddingLeft||"0px"})},[]),React.createElement("div",Object.assign({},u,{className:cnDateTimeTypeDateTime({withTime:K},[c]),ref:useForkRef([J,b]),style:_objectSpread(_objectSpread({},r),B)}),React.createElement(DateTimeTypeDate,{className:cnDateTimeTypeDateTime("Date",{withTime:K}),onMove:function onMove(a){y(a),null===d||void 0===d?void 0:d(a)},currentVisibleDate:e,value:f,onChange:F,onChangeRange:G,minDate:i,disableDates:l,maxDate:j,events:k,locale:m,onChangeCurrentVisibleDate:n}),K&&React.createElement(DateTimeTypeTime,{className:cnDateTimeTypeDateTime("Time"),value:I,onChange:H,minDate:i,maxDate:j,disableDates:l,locale:m,multiplicitySeconds:o,multiplicityMinutes:p,multiplicityHours:q}))});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","onMove","currentVisibleDate","value","onChange","onChangeRange","minDate","maxDate","events","disableDates","locale","onChangeCurrentVisibleDate","timeOptions","style","timeFor"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./DateTimeTypeDateTime.css";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{cn}from"../../../utils/bem";import{DateTimeTypeDate}from"../DateTimeTypeDate/DateTimeTypeDate";import{DateTimeTypeTime}from"../DateTimeTypeTime/DateTimeTypeTime";import{moveTypes}from"../helpers";import{useOnChange}from"./useOnChange";var cnDateTimeTypeDateTime=cn("DateTimeTypeDateTime");export var DateTimeTypeDateTime=forwardRef(function(a,b){var c=a.className,d=a.onMove,e=a.currentVisibleDate,f=a.value,g=a.onChange,h=a.onChangeRange,i=a.minDate,j=a.maxDate,k=a.events,l=a.disableDates,m=a.locale,n=a.onChangeCurrentVisibleDate,o=a.timeOptions,p=a.style,q=a.timeFor,r=void 0===q?"start":q,s=_objectWithoutProperties(a,_excluded),t=useState(moveTypes[2]),u=_slicedToArray(t,2),v=u[0],w=u[1],x=useState({"--root-padding-left":"0px"}),y=_slicedToArray(x,2),z=y[0],A=y[1],B=useOnChange(g,h,f,r,o,i,j,l),C=_slicedToArray(B,4),D=C[0],E=C[1],F=C[2],G=C[3],H=useRef(null),I=v===moveTypes[2];return useEffect(function(){H.current&&A({"--root-padding-left":window.getComputedStyle(H.current).paddingLeft||"0px"})},[]),React.createElement("div",Object.assign({},s,{className:cnDateTimeTypeDateTime({withTime:I},[c]),ref:useForkRef([H,b]),style:_objectSpread(_objectSpread({},p),z)}),React.createElement(DateTimeTypeDate,{className:cnDateTimeTypeDateTime("Date",{withTime:I}),onMove:function onMove(a){w(a),null===d||void 0===d?void 0:d(a)},currentVisibleDate:e,value:f,onChange:D,onChangeRange:E,minDate:i,disableDates:l,maxDate:j,events:k,locale:m,onChangeCurrentVisibleDate:n}),I&&React.createElement(DateTimeTypeTime,{className:cnDateTimeTypeDateTime("Time"),value:G,onChange:F,minDate:i,maxDate:j,disableDates:l,locale:m,timeOptions:o}))});
2
2
  //# sourceMappingURL=DateTimeTypeDateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeTypeDateTime.js","names":["React","forwardRef","useEffect","useRef","useState","useForkRef","cn","DateTimeTypeDate","DateTimeTypeTime","moveTypes","useOnChange","cnDateTimeTypeDateTime","DateTimeTypeDateTime","props","ref","className","onMoveProp","onMove","currentVisibleDate","value","onChange","onChangeRange","minDate","maxDate","events","disableDates","locale","onChangeCurrentVisibleDate","multiplicitySeconds","multiplicityMinutes","multiplicityHours","style","timeFor","otherProps","moveType","setMoveType","cssVars","setCssVars","onDateChange","onDateChangeRange","onTimeChange","valueTime","rootRef","withTime","current","window","getComputedStyle","paddingLeft","type"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.tsx"],"sourcesContent":["import './DateTimeTypeDateTime.css';\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport { cn } from '../../../utils/bem';\nimport { DateTimeTypeDate } from '../DateTimeTypeDate/DateTimeTypeDate';\nimport { DateTimeTypeTime } from '../DateTimeTypeTime/DateTimeTypeTime';\nimport { DateTimeTypeComponent, MoveType, moveTypes } from '../helpers';\nimport { useOnChange } from './useOnChange';\n\nconst cnDateTimeTypeDateTime = cn('DateTimeTypeDateTime');\n\ntype CssVars = {\n '--root-padding-left': string;\n};\n\nexport const DateTimeTypeDateTime: DateTimeTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n className,\n onMove: onMoveProp,\n currentVisibleDate,\n value,\n onChange,\n onChangeRange,\n minDate,\n maxDate,\n events,\n disableDates,\n locale,\n onChangeCurrentVisibleDate,\n multiplicitySeconds,\n multiplicityMinutes,\n multiplicityHours,\n style,\n timeFor = 'start',\n ...otherProps\n } = props;\n\n const [moveType, setMoveType] = useState<MoveType>(moveTypes[2]);\n const [cssVars, setCssVars] = useState<CssVars>({\n '--root-padding-left': '0px',\n });\n\n const [onDateChange, onDateChangeRange, onTimeChange, valueTime] =\n useOnChange(onChange, onChangeRange, value, timeFor);\n\n const rootRef = useRef<HTMLDivElement>(null);\n\n const onMove = (type: MoveType) => {\n setMoveType(type);\n onMoveProp?.(type);\n };\n\n const withTime = moveType === moveTypes[2];\n\n useEffect(() => {\n if (rootRef.current) {\n setCssVars({\n '--root-padding-left':\n window.getComputedStyle(rootRef.current).paddingLeft || '0px',\n });\n }\n }, []);\n\n return (\n <div\n {...otherProps}\n className={cnDateTimeTypeDateTime({ withTime }, [className])}\n ref={useForkRef([rootRef, ref])}\n style={{\n ...style,\n ...cssVars,\n }}\n >\n <DateTimeTypeDate\n className={cnDateTimeTypeDateTime('Date', { withTime })}\n onMove={onMove}\n currentVisibleDate={currentVisibleDate}\n value={value}\n onChange={onDateChange}\n onChangeRange={onDateChangeRange}\n minDate={minDate}\n disableDates={disableDates}\n maxDate={maxDate}\n events={events}\n locale={locale}\n onChangeCurrentVisibleDate={onChangeCurrentVisibleDate}\n />\n {withTime && (\n <DateTimeTypeTime\n className={cnDateTimeTypeDateTime('Time')}\n value={valueTime}\n onChange={onTimeChange}\n minDate={minDate}\n maxDate={maxDate}\n disableDates={disableDates}\n locale={locale}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n multiplicityHours={multiplicityHours}\n />\n )}\n </div>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeTypeDateTime.js","names":["React","forwardRef","useEffect","useRef","useState","useForkRef","cn","DateTimeTypeDate","DateTimeTypeTime","moveTypes","useOnChange","cnDateTimeTypeDateTime","DateTimeTypeDateTime","props","ref","className","onMoveProp","onMove","currentVisibleDate","value","onChange","onChangeRange","minDate","maxDate","events","disableDates","locale","onChangeCurrentVisibleDate","timeOptions","style","timeFor","otherProps","moveType","setMoveType","cssVars","setCssVars","onDateChange","onDateChangeRange","onTimeChange","valueTime","rootRef","withTime","current","window","getComputedStyle","paddingLeft","type"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.tsx"],"sourcesContent":["import './DateTimeTypeDateTime.css';\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport { cn } from '../../../utils/bem';\nimport { DateTimeTypeDate } from '../DateTimeTypeDate/DateTimeTypeDate';\nimport { DateTimeTypeTime } from '../DateTimeTypeTime/DateTimeTypeTime';\nimport { DateTimeTypeComponent, MoveType, moveTypes } from '../helpers';\nimport { useOnChange } from './useOnChange';\n\nconst cnDateTimeTypeDateTime = cn('DateTimeTypeDateTime');\n\ntype CssVars = {\n '--root-padding-left': string;\n};\n\nexport const DateTimeTypeDateTime: DateTimeTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n className,\n onMove: onMoveProp,\n currentVisibleDate,\n value,\n onChange,\n onChangeRange,\n minDate,\n maxDate,\n events,\n disableDates,\n locale,\n onChangeCurrentVisibleDate,\n timeOptions,\n style,\n timeFor = 'start',\n ...otherProps\n } = props;\n\n const [moveType, setMoveType] = useState<MoveType>(moveTypes[2]);\n const [cssVars, setCssVars] = useState<CssVars>({\n '--root-padding-left': '0px',\n });\n\n const [onDateChange, onDateChangeRange, onTimeChange, valueTime] =\n useOnChange(\n onChange,\n onChangeRange,\n value,\n timeFor,\n timeOptions,\n minDate,\n maxDate,\n disableDates,\n );\n\n const rootRef = useRef<HTMLDivElement>(null);\n\n const onMove = (type: MoveType) => {\n setMoveType(type);\n onMoveProp?.(type);\n };\n\n const withTime = moveType === moveTypes[2];\n\n useEffect(() => {\n if (rootRef.current) {\n setCssVars({\n '--root-padding-left':\n window.getComputedStyle(rootRef.current).paddingLeft || '0px',\n });\n }\n }, []);\n\n return (\n <div\n {...otherProps}\n className={cnDateTimeTypeDateTime({ withTime }, [className])}\n ref={useForkRef([rootRef, ref])}\n style={{\n ...style,\n ...cssVars,\n }}\n >\n <DateTimeTypeDate\n className={cnDateTimeTypeDateTime('Date', { withTime })}\n onMove={onMove}\n currentVisibleDate={currentVisibleDate}\n value={value}\n onChange={onDateChange}\n onChangeRange={onDateChangeRange}\n minDate={minDate}\n disableDates={disableDates}\n maxDate={maxDate}\n events={events}\n locale={locale}\n onChangeCurrentVisibleDate={onChangeCurrentVisibleDate}\n />\n {withTime && (\n <DateTimeTypeTime\n className={cnDateTimeTypeDateTime('Time')}\n value={valueTime}\n onChange={onTimeChange}\n minDate={minDate}\n maxDate={maxDate}\n disableDates={disableDates}\n locale={locale}\n timeOptions={timeOptions}\n />\n )}\n </div>\n );\n });\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { DateRange } from '../../../utils/types/Date';
2
- import { DateTimePropOnChange, DateTimePropOnChangeRange } from '../helpers';
3
- export declare const useOnChange: (onChange: DateTimePropOnChange | undefined, onChangeRange: DateTimePropOnChangeRange<"date-time"> | undefined, value: DateRange | Date | undefined, timeFor: "start" | "end") => [DateTimePropOnChange, DateTimePropOnChangeRange<"date-time">, DateTimePropOnChange, Date | undefined];
2
+ import { DateTimePropDisableDates, DateTimePropOnChange, DateTimePropOnChangeRange, TimeOptions } from '../helpers';
3
+ export declare const useOnChange: (onChange: DateTimePropOnChange | undefined, onChangeRange: DateTimePropOnChangeRange<"date-time"> | undefined, value: DateRange | Date | undefined, timeFor: "start" | "end", timeOptions?: TimeOptions, minDate?: Date, maxDate?: Date, disableDates?: DateTimePropDisableDates) => [DateTimePropOnChange, DateTimePropOnChangeRange<"date-time">, DateTimePropOnChange, Date | undefined];
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{getHours,getMinutes,getSeconds,set}from"date-fns";import{useCallback,useEffect,useState}from"react";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";var getTime=function(a){return a?[getHours(a),getMinutes(a),getSeconds(a)]:[0,0,0]};export var useOnChange=function(a,b,c,d){var e=Array.isArray(c)?c["start"===d?0:1]:c,f=useState(e),g=_slicedToArray(f,2),h=g[0],i=g[1],j=useMutableRef(a),k=useMutableRef(b),l=useMutableRef(h),m=useCallback(function(a,b){var c,d=b.e,e=getTime(l.current),f=_slicedToArray(e,3),g=f[0],h=f[1],i=f[2],k=set(a,{hours:g,minutes:h,seconds:i});null===(c=j.current)||void 0===c?void 0:c.call(j,k,{e:d})},[]),n=useCallback(function(a,b){var c,d=b.e,e=getTime(l.current),f=_slicedToArray(e,3),g=f[0],h=f[1],i=f[2],j=[a[0]?set(a[0],{hours:g,minutes:h,seconds:i}):void 0,a[1]?set(a[1],{hours:g,minutes:h,seconds:i}):void 0];null===(c=k.current)||void 0===c?void 0:c.call(k,j,{e:d})},[]),o=useCallback(function(a,b){var c,d=b.e;null===(c=j.current)||void 0===c?void 0:c.call(j,a,{e:d})},[]);return useEffect(function(){return i(e)},[null===e||void 0===e?void 0:e.getTime()]),[m,n,o,e]};
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{getHours,getMinutes,getSeconds,set,startOfDay,startOfToday}from"date-fns";import{useCallback,useEffect}from"react";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";import{getFirstValidDateTime}from"../DateTimeTypeTime/helpers";import{getDisableDatesKey}from"../helpers/getDisableDatesKey";import{getTimeOptionsKey}from"../helpers/getTimeOptionsKey";var getTime=function(a){return a?[getHours(a),getMinutes(a),getSeconds(a)]:[0,0,0]};export var useOnChange=function(a,b,c,d,e,f,g,h){var i=void 0!==c&&Array.isArray(c),j=i?c["start"===d?0:1]:c,k=useMutableRef(i?j:void 0),l=useMutableRef(a),m=useMutableRef(b),n=useCallback(function(a){var b=startOfDay(a||startOfToday()),c=getFirstValidDateTime(b,e,f,g,h);return c},[getTimeOptionsKey(e),null===f||void 0===f?void 0:f.getTime(),null===g||void 0===g?void 0:g.getTime(),getDisableDatesKey(h)]),o=function(a,b){if(!b)return a;var c=getTime(b),d=_slicedToArray(c,3),e=d[0],f=d[1],g=d[2],h=_slicedToArray(a,2),i=h[0],j=h[1],k=i?set(i,{hours:e,minutes:f,seconds:g}):i,l=j?set(j,{hours:e,minutes:f,seconds:g}):j;return[k,l]},p=useCallback(function(a,b){var c,d=b.e,e=n(a);null===(c=l.current)||void 0===c?void 0:c.call(l,e,{e:d})},[n]),q=useCallback(function(a,b){var c,f=b.e,e=a,g="start"===d?e[0]:e[1],h=k.current||void 0,i=(null===g||void 0===g?void 0:g.getTime())!==(null===h||void 0===h?void 0:h.getTime()),j=i?n(g):g,l=o(e,j);null===(c=m.current)||void 0===c?void 0:c.call(m,l,{e:f})},[d,n]),r=useCallback(function(a,b){var c,d=b.e;null===(c=l.current)||void 0===c?void 0:c.call(l,a,{e:d})},[]);return useEffect(function(){k.current=i?j:void 0},[i,null===j||void 0===j?void 0:j.getTime()]),[p,q,r,j]};
2
2
  //# sourceMappingURL=useOnChange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnChange.js","names":["getHours","getMinutes","getSeconds","set","useCallback","useEffect","useState","useMutableRef","getTime","date","useOnChange","onChange","onChangeRange","value","timeFor","normalizeValue","Array","isArray","time","setTime","onChangeRef","onChangeRangeRef","timeRef","onDateChange","e","current","hours","minutes","seconds","newValue","onDateChangeRange","onTimeChange"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeDateTime/useOnChange.ts"],"sourcesContent":["import { getHours, getMinutes, getSeconds, set } from 'date-fns';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useMutableRef } from '../../../hooks/useMutableRef/useMutableRef';\nimport { DateRange } from '../../../utils/types/Date';\nimport { DateTimePropOnChange, DateTimePropOnChangeRange } from '../helpers';\n\nconst getTime = (date?: Date) => {\n if (!date) {\n return [0, 0, 0] as const;\n }\n return [getHours(date), getMinutes(date), getSeconds(date)] as const;\n};\n\nexport const useOnChange = (\n onChange: DateTimePropOnChange | undefined,\n onChangeRange: DateTimePropOnChangeRange<'date-time'> | undefined,\n value: DateRange | Date | undefined,\n timeFor: 'start' | 'end',\n): [\n DateTimePropOnChange,\n DateTimePropOnChangeRange<'date-time'>,\n DateTimePropOnChange,\n Date | undefined,\n] => {\n const normalizeValue = Array.isArray(value)\n ? value[timeFor === 'start' ? 0 : 1]\n : value;\n\n const [time, setTime] = useState<Date | undefined>(normalizeValue);\n\n const onChangeRef = useMutableRef(onChange);\n const onChangeRangeRef = useMutableRef(onChangeRange);\n const timeRef = useMutableRef(time);\n\n const onDateChange: DateTimePropOnChange = useCallback((value, { e }) => {\n const [hours, minutes, seconds] = getTime(timeRef.current);\n const newValue = set(value, { hours, minutes, seconds });\n onChangeRef.current?.(newValue, {\n e,\n });\n }, []);\n\n const onDateChangeRange: DateTimePropOnChangeRange<'date-time'> = useCallback(\n (value, { e }) => {\n const [hours, minutes, seconds] = getTime(timeRef.current);\n const newValue: DateRange = [\n value[0] ? set(value[0], { hours, minutes, seconds }) : undefined,\n value[1] ? set(value[1], { hours, minutes, seconds }) : undefined,\n ];\n onChangeRangeRef.current?.(newValue, {\n e,\n });\n },\n [],\n );\n\n const onTimeChange: DateTimePropOnChange = useCallback((value, { e }) => {\n onChangeRef.current?.(value, { e });\n }, []);\n\n useEffect(() => setTime(normalizeValue), [normalizeValue?.getTime()]);\n\n return [onDateChange, onDateChangeRange, onTimeChange, normalizeValue];\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useOnChange.js","names":["getHours","getMinutes","getSeconds","set","startOfDay","startOfToday","useCallback","useEffect","useMutableRef","getFirstValidDateTime","getDisableDatesKey","getTimeOptionsKey","getTime","date","useOnChange","onChange","onChangeRange","value","timeFor","timeOptions","minDate","maxDate","disableDates","isRange","Array","isArray","normalizeValue","previousRangeRef","onChangeRef","onChangeRangeRef","getValidTimeValue","startOfDayDate","validValue","applyTimeToRange","range","timeSource","hours","minutes","seconds","start","end","newStart","newEnd","onDateChange","e","current","onDateChangeRange","currentRange","timeForEnd","prevTimeForEnd","isTimeForEndChanged","validTimeValue","newRange","onTimeChange","selectedValue"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeDateTime/useOnChange.ts"],"sourcesContent":["import {\n getHours,\n getMinutes,\n getSeconds,\n set,\n startOfDay,\n startOfToday,\n} from 'date-fns';\nimport { useCallback, useEffect } from 'react';\n\nimport { useMutableRef } from '../../../hooks/useMutableRef/useMutableRef';\nimport { DateRange } from '../../../utils/types/Date';\nimport { getFirstValidDateTime } from '../DateTimeTypeTime/helpers';\nimport {\n DateTimePropDisableDates,\n DateTimePropOnChange,\n DateTimePropOnChangeRange,\n TimeOptions,\n} from '../helpers';\nimport { getDisableDatesKey } from '../helpers/getDisableDatesKey';\nimport { getTimeOptionsKey } from '../helpers/getTimeOptionsKey';\n\nconst getTime = (date?: Date) => {\n if (!date) {\n return [0, 0, 0] as const;\n }\n return [getHours(date), getMinutes(date), getSeconds(date)] as const;\n};\n\nexport const useOnChange = (\n onChange: DateTimePropOnChange | undefined,\n onChangeRange: DateTimePropOnChangeRange<'date-time'> | undefined,\n value: DateRange | Date | undefined,\n timeFor: 'start' | 'end',\n timeOptions?: TimeOptions,\n minDate?: Date,\n maxDate?: Date,\n disableDates?: DateTimePropDisableDates,\n): [\n DateTimePropOnChange,\n DateTimePropOnChangeRange<'date-time'>,\n DateTimePropOnChange,\n Date | undefined,\n] => {\n const isRange = value !== undefined && Array.isArray(value);\n const normalizeValue = isRange ? value[timeFor === 'start' ? 0 : 1] : value;\n\n const previousRangeRef = useMutableRef<Date | undefined>(\n isRange ? normalizeValue : undefined,\n );\n\n const onChangeRef = useMutableRef(onChange);\n const onChangeRangeRef = useMutableRef(onChangeRange);\n\n const getValidTimeValue = useCallback(\n (value: Date | undefined): Date => {\n const startOfDayDate = startOfDay(value || startOfToday());\n\n const validValue = getFirstValidDateTime(\n startOfDayDate,\n timeOptions,\n minDate,\n maxDate,\n disableDates,\n );\n return validValue;\n },\n [\n getTimeOptionsKey(timeOptions),\n minDate?.getTime(),\n maxDate?.getTime(),\n getDisableDatesKey(disableDates),\n ],\n );\n\n const applyTimeToRange = (\n range: DateRange,\n timeSource: Date | undefined,\n ): DateRange => {\n if (!timeSource) return range;\n const [hours, minutes, seconds] = getTime(timeSource);\n const [start, end] = range;\n\n const newStart = start ? set(start, { hours, minutes, seconds }) : start;\n const newEnd = end ? set(end, { hours, minutes, seconds }) : end;\n\n return [newStart, newEnd];\n };\n\n const onDateChange: DateTimePropOnChange = useCallback(\n (value, { e }) => {\n const validValue = getValidTimeValue(value);\n onChangeRef.current?.(validValue, {\n e,\n });\n },\n [getValidTimeValue],\n );\n\n const onDateChangeRange: DateTimePropOnChangeRange<'date-time'> = useCallback(\n (value, { e }) => {\n const currentRange = value as DateRange;\n const timeForEnd =\n timeFor === 'start' ? currentRange[0] : currentRange[1];\n const prevTimeForEnd = previousRangeRef.current || undefined;\n const isTimeForEndChanged =\n timeForEnd?.getTime() !== prevTimeForEnd?.getTime();\n const validTimeValue = isTimeForEndChanged\n ? getValidTimeValue(timeForEnd)\n : timeForEnd;\n const newRange = applyTimeToRange(currentRange, validTimeValue);\n onChangeRangeRef.current?.(newRange, { e });\n },\n [timeFor, getValidTimeValue],\n );\n\n const onTimeChange: DateTimePropOnChange = useCallback(\n (selectedValue, { e }) => {\n onChangeRef.current?.(selectedValue, { e });\n },\n [],\n );\n\n useEffect(() => {\n previousRangeRef.current = isRange ? normalizeValue : undefined;\n }, [isRange, normalizeValue?.getTime()]);\n\n return [onDateChange, onDateChangeRange, onTimeChange, normalizeValue];\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","disableDates","currentVisibleDate","events","locale","className","view","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onMove","onChangeCurrentVisibleDate"];import{addYears,startOfYear}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{forwardRef,useEffect}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{DateTime10Years}from"../DateTime10Years/DateTime10Years";import{DateTime10YearSlider}from"../DateTime10YearSlider/DateTime10YearSlider";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeToggler}from"../DateTimeToggler/DateTimeToggler";import{DateTimeTypeYear}from"../DateTimeTypeYear/DateTimeTypeYear";import{DateTimeYear}from"../DateTimeYear/DateTimeYear";import{getHandleSelectDate,getMonthsOfYear,getYearTitle,isEqualMount,moveTypes,useCurrentVisibleDate}from"../helpers";import{dateTimePropView,dateTimePropViewDefault}from"../helpers/types";import{cnDateTimeMixLayout}from"../mixs";export var DateTimeTypeMonth=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.multiplicityHours,q=a.multiplicityMinutes,r=a.multiplicitySeconds,s=a.onMove,t=a.onChangeCurrentVisibleDate,u=_objectWithoutProperties(a,_excluded),v=useFlag(),w=_slicedToArray(v,2),x=w[0],y=w[1],z=y.on,A=y.off;useEffect(function(){x||(null===s||void 0===s?void 0:s(moveTypes[1]))},[x]);var B=useCurrentVisibleDate({currentVisibleDate:i,maxDate:d,minDate:c,value:e,startOfUnit:startOfYear,onChangeCurrentVisibleDate:t}),C=_slicedToArray(B,2),D=C[0],E=C[1];if(x)return React.createElement(DateTimeTypeYear,Object.assign({},u,{ref:b,className:m,currentVisibleDate:D,minDate:c,maxDate:d,locale:l,events:j,view:o,onChange:function(a){E(a),A()},onMove:s}));var F=getHandleSelectDate({minDate:c,maxDate:d,value:e,onChange:f,onChangeRange:g,isEqualUnit:isEqualMount}),G=getMonthsOfYear({date:D,onChange:F,value:e,events:j,disableDates:h,minDate:c,maxDate:d,locale:l}),H=getYearTitle(D),I=function(){return E(addYears(D,1))},J=function(){return E(addYears(D,-1))};if(o===dateTimePropView[0])return React.createElement("div",Object.assign({},u,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:J,nextOnClick:I,label:H,onLabelClick:z}),React.createElement(DateTimeYear,{years:G}));var K=addYears(D,1),L=getYearTitle(K),M=getMonthsOfYear({date:K,onChange:F,value:e,events:j,disableDates:h,minDate:c,maxDate:d,locale:l});return o===dateTimePropView[1]?React.createElement("div",Object.assign({},u,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),prevOnClick:J,label:H,onLabelClick:z}),React.createElement(DateTime10Years,{years:G})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),nextOnClick:I,label:L,onLabelClick:z}),React.createElement(DateTime10Years,{years:M}))):React.createElement("div",Object.assign({},u,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement(DateTime10YearSlider,{className:cnDateTimeMixLayout("Slider"),currentVisibleDate:D,onChange:E,value:e,locale:l}),React.createElement("div",{className:cnDateTimeMixLayout("PageWrapper")},React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:H,onClick:z,cursor:"pointer"}),React.createElement(DateTime10Years,{years:G})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:L,onClick:z,cursor:"pointer"}),React.createElement(DateTime10Years,{years:M}))))});
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,startOfYear}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{forwardRef,useEffect}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{DateTime10Years}from"../DateTime10Years/DateTime10Years";import{DateTime10YearSlider}from"../DateTime10YearSlider/DateTime10YearSlider";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeToggler}from"../DateTimeToggler/DateTimeToggler";import{DateTimeTypeYear}from"../DateTimeTypeYear/DateTimeTypeYear";import{DateTimeYear}from"../DateTimeYear/DateTimeYear";import{getHandleSelectDate,getMonthsOfYear,getYearTitle,isEqualMount,moveTypes,useCurrentVisibleDate}from"../helpers";import{dateTimePropView,dateTimePropViewDefault}from"../helpers/types";import{cnDateTimeMixLayout}from"../mixs";export var DateTimeTypeMonth=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),s=useFlag(),t=_slicedToArray(s,2),u=t[0],v=t[1],w=v.on,x=v.off;useEffect(function(){u||(null===p||void 0===p?void 0:p(moveTypes[1]))},[u]);var y=useCurrentVisibleDate({currentVisibleDate:i,maxDate:d,minDate:c,value:e,startOfUnit:startOfYear,onChangeCurrentVisibleDate:q}),z=_slicedToArray(y,2),A=z[0],B=z[1];if(u)return React.createElement(DateTimeTypeYear,Object.assign({},r,{ref:b,className:m,currentVisibleDate:A,minDate:c,maxDate:d,locale:l,events:j,view:o,onChange:function(a){B(a),x()},onMove:p}));var C=getHandleSelectDate({minDate:c,maxDate:d,value:e,onChange:f,onChangeRange:g,isEqualUnit:isEqualMount}),D=getMonthsOfYear({date:A,onChange:C,value:e,events:j,disableDates:h,minDate:c,maxDate:d,locale:l}),E=getYearTitle(A),F=function(){return B(addYears(A,1))},G=function(){return B(addYears(A,-1))};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:G,nextOnClick:F,label:E,onLabelClick:w}),React.createElement(DateTimeYear,{years:D}));var H=addYears(A,1),I=getYearTitle(H),J=getMonthsOfYear({date:H,onChange:C,value:e,events:j,disableDates:h,minDate:c,maxDate:d,locale:l});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:G,label:E,onLabelClick:w}),React.createElement(DateTime10Years,{years:D})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeToggler,{className:cnDateTimeMixLayout("Label"),nextOnClick:F,label:I,onLabelClick:w}),React.createElement(DateTime10Years,{years:J}))):React.createElement("div",Object.assign({},r,{className:cnDateTimeMixLayout({view:o},[m]),ref:b}),React.createElement(DateTime10YearSlider,{className:cnDateTimeMixLayout("Slider"),currentVisibleDate:A,onChange:B,value:e,locale:l}),React.createElement("div",{className:cnDateTimeMixLayout("PageWrapper")},React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:E,onClick:w,cursor:"pointer"}),React.createElement(DateTime10Years,{years:D})),React.createElement("div",{className:cnDateTimeMixLayout("Page")},React.createElement(DateTimeLabel,{className:cnDateTimeMixLayout("Label"),label:I,onClick:w,cursor:"pointer"}),React.createElement(DateTime10Years,{years:J}))))});
2
2
  //# sourceMappingURL=DateTimeTypeMonth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeTypeMonth.js","names":["addYears","startOfYear","ruLocale","React","forwardRef","useEffect","useFlag","DateTime10Years","DateTime10YearSlider","DateTimeLabel","DateTimeToggler","DateTimeTypeYear","DateTimeYear","getHandleSelectDate","getMonthsOfYear","getYearTitle","isEqualMount","moveTypes","useCurrentVisibleDate","dateTimePropView","dateTimePropViewDefault","cnDateTimeMixLayout","DateTimeTypeMonth","props","ref","minDate","maxDate","value","onChange","onChangeRange","disableDates","currentVisibleDateProp","currentVisibleDate","events","locale","className","view","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onMove","onChangeCurrentVisibleDate","otherProps","changeYear","on","off","startOfUnit","setCurrentVisibleDate","handleSelectDate","isEqualUnit","pageOneMonthsOfYear","date","pageOneLabel","handleNext","handlePrev","pageTwoCurrentVisibleDate","pageTwoLabel","pageTwoMonthsOfYear"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.tsx"],"sourcesContent":["import { addYears, startOfYear } from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { DateTime10Years } from '../DateTime10Years/DateTime10Years';\nimport { DateTime10YearSlider } from '../DateTime10YearSlider/DateTime10YearSlider';\nimport { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';\nimport { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';\nimport { DateTimeTypeYear } from '../DateTimeTypeYear/DateTimeTypeYear';\nimport { DateTimeYear } from '../DateTimeYear/DateTimeYear';\nimport {\n DateTimeTypeComponent,\n getHandleSelectDate,\n getMonthsOfYear,\n getYearTitle,\n isEqualMount,\n moveTypes,\n useCurrentVisibleDate,\n} from '../helpers';\nimport { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';\nimport { cnDateTimeMixLayout } from '../mixs';\n\nexport const DateTimeTypeMonth: DateTimeTypeComponent<'month'> = 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 multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n onMove,\n onChangeCurrentVisibleDate,\n ...otherProps\n } = props;\n\n const [changeYear, { on, off }] = useFlag();\n\n useEffect(() => {\n !changeYear && onMove?.(moveTypes[1]);\n }, [changeYear]);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate,\n minDate,\n value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n });\n\n if (changeYear) {\n return (\n <DateTimeTypeYear\n {...otherProps}\n ref={ref}\n className={className}\n currentVisibleDate={currentVisibleDate}\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n events={events}\n view={view}\n onChange={(value) => {\n setCurrentVisibleDate(value);\n off();\n }}\n onMove={onMove}\n />\n );\n }\n\n const handleSelectDate = getHandleSelectDate({\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n isEqualUnit: isEqualMount,\n });\n\n const pageOneMonthsOfYear = getMonthsOfYear({\n date: currentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n disableDates,\n minDate,\n maxDate,\n locale,\n });\n\n const pageOneLabel = getYearTitle(currentVisibleDate);\n\n const handleNext = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, 1));\n const handlePrev = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, -1));\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 onLabelClick={on}\n />\n <DateTimeYear years={pageOneMonthsOfYear} />\n </div>\n );\n }\n\n const pageTwoCurrentVisibleDate = addYears(currentVisibleDate, 1);\n\n const pageTwoLabel = getYearTitle(pageTwoCurrentVisibleDate);\n\n const pageTwoMonthsOfYear = getMonthsOfYear({\n date: pageTwoCurrentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n disableDates,\n minDate,\n maxDate,\n locale,\n });\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 onLabelClick={on}\n />\n <DateTime10Years years={pageOneMonthsOfYear} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n nextOnClick={handleNext}\n label={pageTwoLabel}\n onLabelClick={on}\n />\n <DateTime10Years years={pageTwoMonthsOfYear} />\n </div>\n </div>\n );\n }\n\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <DateTime10YearSlider\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 onClick={on}\n cursor=\"pointer\"\n />\n <DateTime10Years years={pageOneMonthsOfYear} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageTwoLabel}\n onClick={on}\n cursor=\"pointer\"\n />\n <DateTime10Years years={pageTwoMonthsOfYear} />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeTypeMonth.js","names":["addYears","startOfYear","ruLocale","React","forwardRef","useEffect","useFlag","DateTime10Years","DateTime10YearSlider","DateTimeLabel","DateTimeToggler","DateTimeTypeYear","DateTimeYear","getHandleSelectDate","getMonthsOfYear","getYearTitle","isEqualMount","moveTypes","useCurrentVisibleDate","dateTimePropView","dateTimePropViewDefault","cnDateTimeMixLayout","DateTimeTypeMonth","props","ref","minDate","maxDate","value","onChange","onChangeRange","disableDates","currentVisibleDateProp","currentVisibleDate","events","locale","className","view","onMove","onChangeCurrentVisibleDate","otherProps","changeYear","on","off","startOfUnit","setCurrentVisibleDate","handleSelectDate","isEqualUnit","pageOneMonthsOfYear","date","pageOneLabel","handleNext","handlePrev","pageTwoCurrentVisibleDate","pageTwoLabel","pageTwoMonthsOfYear"],"sources":["../../../../../../src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.tsx"],"sourcesContent":["import { addYears, startOfYear } from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { DateTime10Years } from '../DateTime10Years/DateTime10Years';\nimport { DateTime10YearSlider } from '../DateTime10YearSlider/DateTime10YearSlider';\nimport { DateTimeLabel } from '../DateTimeLabel/DateTimeLabel';\nimport { DateTimeToggler } from '../DateTimeToggler/DateTimeToggler';\nimport { DateTimeTypeYear } from '../DateTimeTypeYear/DateTimeTypeYear';\nimport { DateTimeYear } from '../DateTimeYear/DateTimeYear';\nimport {\n DateTimeTypeComponent,\n getHandleSelectDate,\n getMonthsOfYear,\n getYearTitle,\n isEqualMount,\n moveTypes,\n useCurrentVisibleDate,\n} from '../helpers';\nimport { dateTimePropView, dateTimePropViewDefault } from '../helpers/types';\nimport { cnDateTimeMixLayout } from '../mixs';\n\nexport const DateTimeTypeMonth: DateTimeTypeComponent<'month'> = 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 ...otherProps\n } = props;\n\n const [changeYear, { on, off }] = useFlag();\n\n useEffect(() => {\n !changeYear && onMove?.(moveTypes[1]);\n }, [changeYear]);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate,\n minDate,\n value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n });\n\n if (changeYear) {\n return (\n <DateTimeTypeYear\n {...otherProps}\n ref={ref}\n className={className}\n currentVisibleDate={currentVisibleDate}\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n events={events}\n view={view}\n onChange={(value) => {\n setCurrentVisibleDate(value);\n off();\n }}\n onMove={onMove}\n />\n );\n }\n\n const handleSelectDate = getHandleSelectDate({\n minDate,\n maxDate,\n value,\n onChange,\n onChangeRange,\n isEqualUnit: isEqualMount,\n });\n\n const pageOneMonthsOfYear = getMonthsOfYear({\n date: currentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n disableDates,\n minDate,\n maxDate,\n locale,\n });\n\n const pageOneLabel = getYearTitle(currentVisibleDate);\n\n const handleNext = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, 1));\n const handlePrev = () =>\n setCurrentVisibleDate(addYears(currentVisibleDate, -1));\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 onLabelClick={on}\n />\n <DateTimeYear years={pageOneMonthsOfYear} />\n </div>\n );\n }\n\n const pageTwoCurrentVisibleDate = addYears(currentVisibleDate, 1);\n\n const pageTwoLabel = getYearTitle(pageTwoCurrentVisibleDate);\n\n const pageTwoMonthsOfYear = getMonthsOfYear({\n date: pageTwoCurrentVisibleDate,\n onChange: handleSelectDate,\n value,\n events,\n disableDates,\n minDate,\n maxDate,\n locale,\n });\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 onLabelClick={on}\n />\n <DateTime10Years years={pageOneMonthsOfYear} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeToggler\n className={cnDateTimeMixLayout('Label')}\n nextOnClick={handleNext}\n label={pageTwoLabel}\n onLabelClick={on}\n />\n <DateTime10Years years={pageTwoMonthsOfYear} />\n </div>\n </div>\n );\n }\n\n return (\n <div\n {...otherProps}\n className={cnDateTimeMixLayout({ view }, [className])}\n ref={ref}\n >\n <DateTime10YearSlider\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 onClick={on}\n cursor=\"pointer\"\n />\n <DateTime10Years years={pageOneMonthsOfYear} />\n </div>\n <div className={cnDateTimeMixLayout('Page')}>\n <DateTimeLabel\n className={cnDateTimeMixLayout('Label')}\n label={pageTwoLabel}\n onClick={on}\n cursor=\"pointer\"\n />\n <DateTime10Years years={pageTwoMonthsOfYear} />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["locale","value","className","onChange","maxDate","minDate","disableDates","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onMove"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./DateTimeTypeTime.css";import React,{forwardRef,useEffect,useMemo}from"react";import{cn}from"../../../utils/bem";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeTimeColumn}from"../DateTimeTimeColumn/DateTimeTimeColumn";import{getTimeTitle,moveTypes}from"../helpers";import{dateTimeTimePropLocaleDefault,useTimeItems}from"./helpers";var cnDateTimeTypeTime=cn("DateTimeTypeTime");export var DateTimeTypeTime=forwardRef(function(a,b){var c,d,e,f=a.locale,g=a.value,h=a.className,i=a.onChange,j=a.maxDate,k=a.minDate,l=a.disableDates,m=a.multiplicityHours,n=void 0===m?1:m,o=a.multiplicityMinutes,p=void 0===o?1:o,q=a.multiplicitySeconds,r=void 0===q?1:q,s=a.onMove,t=_objectWithoutProperties(a,_excluded);useEffect(function(){null===s||void 0===s?void 0:s(moveTypes[3])},[]);var u=useMemo(function(){return _objectSpread(_objectSpread({},dateTimeTimePropLocaleDefault),null===f||void 0===f?void 0:f.words)},[null===f||void 0===f||null===(c=f.words)||void 0===c?void 0:c.hours,null===f||void 0===f||null===(d=f.words)||void 0===d?void 0:d.minutes,null===f||void 0===f||null===(e=f.words)||void 0===e?void 0:e.seconds]),v=useTimeItems(g,n,p,r,i,k,j,l),w=_slicedToArray(v,3),x=w[0],y=w[1],z=w[2],A=getTimeTitle(g,n,p,r),B=v.filter(function(a){return a.length}).length;return React.createElement("div",Object.assign({},t,{className:cnDateTimeTypeTime(null,[h]),ref:b}),React.createElement(DateTimeLabel,{align:"center",className:cnDateTimeTypeTime("Label"),style:_defineProperty({},"--label-length",B),label:A}),React.createElement("div",{className:cnDateTimeTypeTime("Grid")},React.createElement(DateTimeTimeColumn,{label:u.hours,items:x}),React.createElement(DateTimeTimeColumn,{label:u.minutes,items:y}),React.createElement(DateTimeTimeColumn,{label:u.seconds,items:z})))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["locale","value","className","onChange","maxDate","minDate","disableDates","timeOptions","onMove"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./DateTimeTypeTime.css";import React,{forwardRef,useEffect,useMemo}from"react";import{cn}from"../../../utils/bem";import{DateTimeLabel}from"../DateTimeLabel/DateTimeLabel";import{DateTimeTimeColumn}from"../DateTimeTimeColumn/DateTimeTimeColumn";import{getTimeTitle,moveTypes}from"../helpers";import{dateTimeTimePropLocaleDefault,useTimeItems}from"./helpers";var cnDateTimeTypeTime=cn("DateTimeTypeTime");export var DateTimeTypeTime=forwardRef(function(a,b){var c,d,e,f=a.locale,g=a.value,h=a.className,i=a.onChange,j=a.maxDate,k=a.minDate,l=a.disableDates,m=a.timeOptions,n=a.onMove,o=_objectWithoutProperties(a,_excluded);useEffect(function(){null===n||void 0===n?void 0:n(moveTypes[3])},[]);var p=useMemo(function(){return _objectSpread(_objectSpread({},dateTimeTimePropLocaleDefault),null===f||void 0===f?void 0:f.words)},[null===f||void 0===f||null===(c=f.words)||void 0===c?void 0:c.hours,null===f||void 0===f||null===(d=f.words)||void 0===d?void 0:d.minutes,null===f||void 0===f||null===(e=f.words)||void 0===e?void 0:e.seconds]),q=useTimeItems(g,m,i,k,j,l),r=_slicedToArray(q,3),s=r[0],t=r[1],u=r[2],v=0<s.length?1:0,w=0<t.length?1:0,x=0<u.length?1:0,y=getTimeTitle(g,v,w,x),z=q.filter(function(a){return a.length}).length;return React.createElement("div",Object.assign({},o,{className:cnDateTimeTypeTime(null,[h]),ref:b}),React.createElement(DateTimeLabel,{align:"center",className:cnDateTimeTypeTime("Label"),style:_defineProperty({},"--label-length",z),label:y}),React.createElement("div",{className:cnDateTimeTypeTime("Grid")},React.createElement(DateTimeTimeColumn,{label:p.hours,items:s}),React.createElement(DateTimeTimeColumn,{label:p.minutes,items:t}),React.createElement(DateTimeTimeColumn,{label:p.seconds,items:u})))});
2
2
  //# sourceMappingURL=DateTimeTypeTime.js.map