@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":"DatePickerFieldTypeTime.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeTime","datePickerPropPlaceholderTypeTime","datePickerPropSeparatorDefault","usePicker","DatePickerFieldTypeTime","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","multiplicityHours","multiplicitySeconds","multiplicityMinutes","defaultValue","otherProps","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeTime,\n datePickerPropPlaceholderTypeTime,\n datePickerPropSeparatorDefault,\n} from '../helpers';\nimport { DatePickerFieldTypeTimeProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeTime = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeTimeProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeTime,\n separator = datePickerPropSeparatorDefault,\n placeholder = datePickerPropPlaceholderTypeTime,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n multiplicityHours,\n multiplicitySeconds,\n multiplicityMinutes,\n defaultValue,\n ...otherProps\n } = props;\n\n const [inputRef, onClear] = usePicker({\n value,\n onChange,\n onError,\n separator,\n format,\n minDate,\n maxDate,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={placeholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"oVAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,4BADF,CAEEC,iCAFF,CAGEC,8BAHF,kBAKA,OAAuCC,SAAvC,iBAEA,MAAO,IAAMC,wBAAuB,CAAGT,KAAK,CAACU,UAAN,CAGrC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAgBZD,CAhBY,CAEdE,MAFc,CAEdA,CAFc,YAELR,4BAFK,KAgBZM,CAhBY,CAGdG,SAHc,CAGdA,CAHc,YAGFP,8BAHE,KAgBZI,CAhBY,CAIdI,WAJc,CAIdA,CAJc,YAIAT,iCAJA,GAKdU,CALc,CAgBZL,CAhBY,CAKdK,QALc,CAMdC,CANc,CAgBZN,CAhBY,CAMdM,OANc,GAgBZN,CAhBY,CAOdO,OAPc,CAOdA,CAPc,YAOJd,cAPI,KAgBZO,CAhBY,CAQdQ,OARc,CAQdA,CARc,YAQJhB,cARI,GASdiB,CATc,CAgBZT,CAhBY,CASdS,KATc,CAUJC,CAVI,CAgBZV,CAhBY,CAUdW,QAVc,CAWdC,CAXc,CAgBZZ,CAhBY,CAWdY,iBAXc,CAYdC,CAZc,CAgBZb,CAhBY,CAYda,mBAZc,CAadC,CAbc,CAgBZd,CAhBY,CAadc,mBAbc,CAcdC,CAdc,CAgBZf,CAhBY,CAcde,YAdc,CAeXC,CAfW,0BAgBZhB,CAhBY,cAkBYH,SAAS,CAAC,CACpCY,KAAK,CAALA,CADoC,CAEpCJ,QAAQ,CAARA,CAFoC,CAGpCC,OAAO,CAAPA,CAHoC,CAIpCH,SAAS,CAATA,CAJoC,CAKpCD,MAAM,CAANA,CALoC,CAMpCK,OAAO,CAAPA,CANoC,CAOpCC,OAAO,CAAPA,CAPoC,CAQpCI,iBAAiB,CAAjBA,CARoC,CASpCE,mBAAmB,CAAnBA,CAToC,CAUpCD,mBAAmB,CAAnBA,CAVoC,CAAD,CAlBrB,uBAkBTF,CAlBS,MAkBCM,CAlBD,MA+BhB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEf,CAHrB,CAIE,QAAQ,CAAEV,UAAU,CAAC,CAACoB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEN,CALf,CAME,OAAO,CAAEa,CANX,GASH,CA5CsC,CAAhC"}
1
+ {"version":3,"file":"DatePickerFieldTypeTime.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","adaptFormat","datePickerPropFormatTypeTime","datePickerPropSeparatorDefault","placeholderByFormat","usePicker","DatePickerFieldTypeTime","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","timeOptions","defaultValue","otherProps","adaptedFormat","adaptedPlaceholder","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n adaptFormat,\n datePickerPropFormatTypeTime,\n datePickerPropSeparatorDefault,\n placeholderByFormat,\n} from '../helpers';\nimport { DatePickerFieldTypeTimeProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeTime = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeTimeProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeTime,\n separator = datePickerPropSeparatorDefault,\n placeholder,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n timeOptions,\n defaultValue,\n ...otherProps\n } = props;\n const adaptedFormat = adaptFormat(format, timeOptions);\n\n const adaptedPlaceholder = placeholder ?? placeholderByFormat(adaptedFormat);\n\n const [inputRef, onClear] = usePicker({\n value,\n onChange,\n onError,\n separator,\n format: adaptedFormat,\n minDate,\n maxDate,\n timeOptions,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={adaptedPlaceholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"kSAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,WADF,CAEEC,4BAFF,CAGEC,8BAHF,CAIEC,mBAJF,kBAMA,OAAuCC,SAAvC,iBAEA,MAAO,IAAMC,wBAAuB,CAAGV,KAAK,CAACW,UAAN,CAGrC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAcZD,CAdY,CAEdE,MAFc,CAEdA,CAFc,YAELR,4BAFK,KAcZM,CAdY,CAGdG,SAHc,CAGdA,CAHc,YAGFR,8BAHE,GAIdS,CAJc,CAcZJ,CAdY,CAIdI,WAJc,CAKdC,CALc,CAcZL,CAdY,CAKdK,QALc,CAMdC,CANc,CAcZN,CAdY,CAMdM,OANc,GAcZN,CAdY,CAOdO,OAPc,CAOdA,CAPc,YAOJf,cAPI,KAcZQ,CAdY,CAQdQ,OARc,CAQdA,CARc,YAQJjB,cARI,GASdkB,CATc,CAcZT,CAdY,CASdS,KATc,CAUJC,CAVI,CAcZV,CAdY,CAUdW,QAVc,CAWdC,CAXc,CAcZZ,CAdY,CAWdY,WAXc,CAYdC,CAZc,CAcZb,CAdY,CAYda,YAZc,CAaXC,CAbW,0BAcZd,CAdY,YAeVe,CAAa,CAAGtB,WAAW,CAACS,CAAD,CAASU,CAAT,CAfjB,CAiBVI,CAAkB,QAAGZ,CAAH,WAAGA,CAAH,CAAGA,CAAH,CAAkBR,mBAAmB,CAACmB,CAAD,CAjB7C,GAmBYlB,SAAS,CAAC,CACpCY,KAAK,CAALA,CADoC,CAEpCJ,QAAQ,CAARA,CAFoC,CAGpCC,OAAO,CAAPA,CAHoC,CAIpCH,SAAS,CAATA,CAJoC,CAKpCD,MAAM,CAAEa,CAL4B,CAMpCR,OAAO,CAAPA,CANoC,CAOpCC,OAAO,CAAPA,CAPoC,CAQpCI,WAAW,CAAXA,CARoC,CAAD,CAnBrB,uBAmBTD,CAnBS,MAmBCM,CAnBD,MA8BhB,MACE,qBAAC,SAAD,kBACMH,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEb,CAHrB,CAIE,QAAQ,CAAEX,UAAU,CAAC,CAACqB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEM,CALf,CAME,OAAO,CAAEC,CANX,GASH,CA3CsC,CAAhC"}
@@ -1,5 +1,6 @@
1
1
  import { IconComponent, IconPropSize } from '@consta/icons/Icon';
2
2
  import React from 'react';
3
+ import { TimeOptions } from '../../DateTime/helpers';
3
4
  import { TextFieldPropForm, TextFieldPropSize, TextFieldPropStatus, TextFieldPropView } from '../../TextField';
4
5
  import { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';
5
6
  import { DatePickerPropOnError } from '../types';
@@ -36,9 +37,7 @@ export type DatePickerFieldTypeTimeProps = PropsWithHTMLAttributes<{
36
37
  minDate?: Date;
37
38
  maxDate?: Date;
38
39
  focused?: boolean;
39
- multiplicitySeconds?: number;
40
- multiplicityMinutes?: number;
41
- multiplicityHours?: number;
40
+ timeOptions?: TimeOptions;
42
41
  label?: string;
43
42
  labelIcon?: IconComponent;
44
43
  caption?: string;
@@ -49,9 +48,7 @@ type UsePickerProps = {
49
48
  value?: Date | null;
50
49
  onChange?: DatePickerFieldTypeTimePropOnChange;
51
50
  onError?: DatePickerPropOnError;
52
- multiplicityHours: number | undefined;
53
- multiplicitySeconds: number | undefined;
54
- multiplicityMinutes: number | undefined;
51
+ timeOptions?: TimeOptions;
55
52
  format: string;
56
53
  separator: string;
57
54
  minDate: Date;
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{addHours,addMinutes,addSeconds,format as _format,isValid,isWithinInterval,parse as _parse,startOfDay,startOfHour,startOfMinute}from"date-fns";import{useCallback}from"react";import{IMask,useIMask}from"react-imask";import{getLabelHours,getLabelMinutes,getLabelSeconds}from"../../DateTime/helpers";import{useMutableRef}from"../../../hooks/useMutableRef";import{getPartDate,getParts,getPartsDate,getTimeEnum,useStringValue}from"../helpers";import{datePickerErrorTypes}from"../types";export var usePicker=function(a){var b=a.value,c=a.onChange,d=a.onError,e=a.multiplicityHours,f=a.multiplicityMinutes,g=a.multiplicitySeconds,h=a.format,i=a.separator,j=a.maxDate,k=a.minDate,l=useMutableRef(c),m=useMutableRef(b),n=useMutableRef(d),o=useCallback(function(a,b,c){var d=l.current,e=m.current;if(!(e&&isValid(e)&&_format(e,h)===a)){if((null===a||void 0===a?void 0:a.length)!==h.length&&e&&c&&d)return void d(null,{e:c});if(d&&c){if(!a)return void(e&&d(null,{e:c}));var f=getParts(h,i,!1),g=getParts(a,i,!1),o=f.map(function(a){return getPartDate(f,g,a)}).filter(function(a){return!!a});if(f.length===o.length){var v=_parse(g.join(":"),f.join(":"),e||new Date);if(!isWithinInterval(v,{start:k,end:j})){var p,q=getPartsDate(a,h,":",!1,["HH","mm","ss"]),r=_slicedToArray(q,3),s=r[0],t=r[1],u=r[2];return null===(p=n.current)||void 0===p?void 0:p.call(n,{type:datePickerErrorTypes[0],stringValue:a,date:v,HH:s,mm:t,ss:u}),void(e&&d(null,{e:c}))}d(v,{e:c})}else e&&d(null,{e:c})}}},[null===k||void 0===k?void 0:k.getTime(),null===j||void 0===j?void 0:j.getTime(),h,i]),p=useIMask({mask:Date,pattern:h,blocks:{HH:e&&1<e?{mask:IMask.MaskedEnum,enum:getTimeEnum(24,e,startOfDay,addHours,getLabelHours)}:{mask:IMask.MaskedRange,from:0,to:23},mm:f&&1<f?{mask:IMask.MaskedEnum,enum:getTimeEnum(60,f,startOfHour,addMinutes,getLabelMinutes)}:{mask:IMask.MaskedRange,from:0,to:59},ss:g&&1<g?{mask:IMask.MaskedEnum,enum:getTimeEnum(60,g,startOfMinute,addSeconds,getLabelSeconds)}:{mask:IMask.MaskedRange,from:0,to:59}},lazy:!0,autofix:!0,format:function format(a){return _format(a,h)},parse:function parse(a){return _parse(a,h,new Date)},validate:function validate(a){var b=getParts(h,i,!1),c=getParts(a,i,!1),d=b.map(function(a){return getPartDate(b,c,a)}).filter(function(a){return!!a});if(b.length===d.length&&!isValid(_parse(c.join(":"),b.join(":"),new Date))){var e,f=getPartsDate(a,h,":",!1,["HH","mm","ss"]),g=_slicedToArray(f,3),j=g[0],k=g[1],l=g[2];return null===(e=n.current)||void 0===e?void 0:e.call(n,{type:datePickerErrorTypes[1],stringValue:a,HH:j,mm:k,ss:l}),!1}return!0}},{onAccept:o}),q=useStringValue(b,h,i,l,p);return[p.ref,q]};
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format as _format,isValid,isWithinInterval,parse as _parse}from"date-fns";import{useCallback,useMemo}from"react";import{useIMask}from"react-imask";import{getTimeOptionsKey}from"../../DateTime/helpers/getTimeOptionsKey";import{useMutableRef}from"../../../hooks/useMutableRef";import{getMaskBlocks,getPartDate,getParts,getPartsDate,isValidTimeByTimeOptions,useStringValue}from"../helpers";import{datePickerErrorTypes}from"../types";export var usePicker=function(a){var b=a.value,c=a.onChange,d=a.onError,f=a.timeOptions,g=a.format,h=a.separator,i=a.maxDate,j=a.minDate,k=useMutableRef(c),l=useMutableRef(b),m=useMutableRef(d),n=useCallback(function(a,b,c){var d=k.current,e=l.current;if(!(e&&isValid(e)&&_format(e,g)===a)){if((null===a||void 0===a?void 0:a.length)!==g.length&&e&&c&&d)return void d(null,{e:c});if(d&&c){if(!a)return void(e&&d(null,{e:c}));var n=getParts(g,h,!1),o=getParts(a,h,!1),p=n.map(function(a){return getPartDate(n,o,a)}).filter(function(a){return!!a});if(n.length===p.length){var C=_parse(o.join(":"),n.join(":"),e||new Date);if(!isWithinInterval(C,{start:j,end:i})){var q,r=getPartsDate(a,g,":",!1,["HH","mm","ss"]),s=_slicedToArray(r,3),t=s[0],u=s[1],v=s[2];return null===(q=m.current)||void 0===q?void 0:q.call(m,{type:datePickerErrorTypes[0],stringValue:a,date:C,HH:t,mm:u,ss:v}),void(e&&d(null,{e:c}))}if(!isValidTimeByTimeOptions(C,f)){var w,x=getPartsDate(a,g,":",!1,["HH","mm","ss"]),y=_slicedToArray(x,3),z=y[0],A=y[1],B=y[2];return null===(w=m.current)||void 0===w?void 0:w.call(m,{type:datePickerErrorTypes[3],stringValue:a,date:C,HH:z,mm:A,ss:B}),void(e&&d(null,{e:c}))}d(C,{e:c})}else e&&d(null,{e:c})}}},[null===j||void 0===j?void 0:j.getTime(),null===i||void 0===i?void 0:i.getTime(),g,h,getTimeOptionsKey(f)]),o=useMemo(function(){return getMaskBlocks({includeDate:!1})},[]),p=useIMask({mask:Date,pattern:g,blocks:{HH:o.HH,mm:o.mm,ss:o.ss},lazy:!0,autofix:!0,format:function format(a){return _format(a,g)},parse:function parse(a){return _parse(a,g,new Date)},validate:function validate(a){var b=getParts(g,h,!1),c=getParts(a,h,!1),d=b.map(function(a){return getPartDate(b,c,a)}).filter(function(a){return!!a});if(b.length===d.length&&!isValid(_parse(c.join(":"),b.join(":"),new Date))){var e,f=getPartsDate(a,g,":",!1,["HH","mm","ss"]),i=_slicedToArray(f,3),j=i[0],k=i[1],l=i[2];return null===(e=m.current)||void 0===e?void 0:e.call(m,{type:datePickerErrorTypes[1],stringValue:a,HH:j,mm:k,ss:l}),!1}return!0}},{onAccept:n}),q=useStringValue(b,g,h,k,p);return[p.ref,q]};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["addHours","addMinutes","addSeconds","format","isValid","isWithinInterval","parse","startOfDay","startOfHour","startOfMinute","useCallback","IMask","useIMask","getLabelHours","getLabelMinutes","getLabelSeconds","useMutableRef","getPartDate","getParts","getPartsDate","getTimeEnum","useStringValue","datePickerErrorTypes","usePicker","props","value","onChange","onError","multiplicityHours","multiplicityMinutes","multiplicitySeconds","formatProp","separator","maxDate","minDate","onChangeRef","valueRef","onErrorRef","onAccept","stringValue","maskRef","e","current","length","formatArray","valueArray","validArray","map","marker","filter","item","date","join","Date","start","end","HH","mm","ss","type","getTime","imaskProps","mask","pattern","blocks","MaskedEnum","MaskedRange","from","to","lazy","autofix","string","validate","handleClear","ref"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeTime/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport {\n addHours,\n addMinutes,\n addSeconds,\n format,\n isValid,\n isWithinInterval,\n parse,\n startOfDay,\n startOfHour,\n startOfMinute,\n} from 'date-fns';\nimport { MaskedDate } from 'imask';\nimport React, { useCallback } from 'react';\nimport { IMask, ReactMaskOpts, useIMask } from 'react-imask';\n\nimport {\n getLabelHours,\n getLabelMinutes,\n getLabelSeconds,\n} from '##/components/DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n getPartDate,\n getParts,\n getPartsDate,\n getTimeEnum,\n useStringValue,\n} from '../helpers';\nimport { datePickerErrorTypes, DatePickerPropOnError } from '../types';\n\ntype DatePickerFieldTypeTimePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport type DatePickerFieldTypeTimeProps = PropsWithHTMLAttributes<\n {\n className?: string;\n value?: Date | null;\n onChange?: DatePickerFieldTypeTimePropOnChange;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: string;\n disabled?: boolean;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n format?: string;\n separator?: string;\n minDate?: Date;\n maxDate?: Date;\n focused?: boolean;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n withClearButton?: boolean;\n },\n HTMLDivElement\n>;\n\ntype UsePickerProps = {\n value?: Date | null;\n onChange?: DatePickerFieldTypeTimePropOnChange;\n onError?: DatePickerPropOnError;\n multiplicityHours: number | undefined;\n multiplicitySeconds: number | undefined;\n multiplicityMinutes: number | undefined;\n format: string;\n separator: string;\n minDate: Date;\n maxDate: Date;\n};\n\nexport const usePicker = (props: UsePickerProps) => {\n const {\n value,\n onChange,\n onError,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n format: formatProp,\n separator,\n maxDate,\n minDate,\n } = props;\n const onChangeRef = useMutableRef(onChange);\n const valueRef = useMutableRef(value);\n const onErrorRef = useMutableRef(onError);\n\n const onAccept = useCallback(\n (stringValue: string, maskRef: unknown, e: InputEvent | undefined) => {\n const onChange = onChangeRef.current;\n const value = valueRef.current;\n\n if (\n value &&\n isValid(value) &&\n format(value, formatProp) === stringValue\n ) {\n return;\n }\n\n if (stringValue?.length !== formatProp.length && value && e && onChange) {\n onChange(null, { e });\n return;\n }\n\n if (onChange && e) {\n if (!stringValue) {\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\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 if (formatArray.length === validArray.length) {\n const date = parse(\n valueArray.join(':'),\n formatArray.join(':'),\n value || new Date(),\n );\n\n if (!isWithinInterval(date, { start: minDate, end: maxDate })) {\n const [HH, mm, ss] = getPartsDate(\n stringValue,\n formatProp,\n ':',\n false,\n ['HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[0],\n stringValue,\n date,\n HH,\n mm,\n ss,\n });\n\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n onChange(date, { e });\n } else if (value) {\n onChange(null, { e });\n }\n }\n },\n [minDate?.getTime(), maxDate?.getTime(), formatProp, separator],\n );\n\n const imaskProps = useIMask<HTMLInputElement, ReactMaskOpts>(\n {\n mask: Date as unknown as MaskedDate,\n pattern: formatProp,\n blocks: {\n HH:\n multiplicityHours && multiplicityHours > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 24,\n multiplicityHours,\n startOfDay,\n addHours,\n getLabelHours,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 23,\n },\n mm:\n multiplicityMinutes && multiplicityMinutes > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 60,\n multiplicityMinutes,\n startOfHour,\n addMinutes,\n getLabelMinutes,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n },\n ss:\n multiplicitySeconds && multiplicitySeconds > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 60,\n multiplicitySeconds,\n startOfMinute,\n addSeconds,\n getLabelSeconds,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n },\n },\n lazy: true,\n autofix: true,\n format: (date: Date) => format(date, formatProp),\n parse: (string: string) => parse(string, formatProp, new Date()),\n validate: (string: string) => {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(string, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (\n formatArray.length === validArray.length &&\n !isValid(\n parse(valueArray.join(':'), formatArray.join(':'), new Date()),\n )\n ) {\n const [HH, mm, ss] = getPartsDate(string, formatProp, ':', false, [\n 'HH',\n 'mm',\n 'ss',\n ]);\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[1],\n stringValue: string,\n HH,\n mm,\n ss,\n });\n return false;\n }\n\n return true;\n },\n },\n { onAccept },\n );\n\n const handleClear = useStringValue(\n value,\n formatProp,\n separator,\n onChangeRef,\n imaskProps,\n );\n\n return [imaskProps.ref, handleClear] as const;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["format","isValid","isWithinInterval","parse","useCallback","useMemo","useIMask","getTimeOptionsKey","useMutableRef","getMaskBlocks","getPartDate","getParts","getPartsDate","isValidTimeByTimeOptions","useStringValue","datePickerErrorTypes","usePicker","props","value","onChange","onError","timeOptions","formatProp","separator","maxDate","minDate","onChangeRef","valueRef","onErrorRef","onAccept","stringValue","maskRef","e","current","length","formatArray","valueArray","validArray","map","marker","filter","item","date","join","Date","start","end","HH","mm","ss","type","getTime","maskBlocks","includeDate","imaskProps","mask","pattern","blocks","lazy","autofix","string","validate","handleClear","ref"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeTime/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { format, isValid, isWithinInterval, parse } from 'date-fns';\nimport { MaskedDate } from 'imask';\nimport React, { useCallback, useMemo } from 'react';\nimport { ReactMaskOpts, useIMask } from 'react-imask';\n\nimport { TimeOptions } from '##/components/DateTime/helpers';\nimport { getTimeOptionsKey } from '##/components/DateTime/helpers/getTimeOptionsKey';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n getMaskBlocks,\n getPartDate,\n getParts,\n getPartsDate,\n isValidTimeByTimeOptions,\n useStringValue,\n} from '../helpers';\nimport { datePickerErrorTypes, DatePickerPropOnError } from '../types';\n\ntype DatePickerFieldTypeTimePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport type DatePickerFieldTypeTimeProps = PropsWithHTMLAttributes<\n {\n className?: string;\n value?: Date | null;\n onChange?: DatePickerFieldTypeTimePropOnChange;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: string;\n disabled?: boolean;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n format?: string;\n separator?: string;\n minDate?: Date;\n maxDate?: Date;\n focused?: boolean;\n timeOptions?: TimeOptions;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n withClearButton?: boolean;\n },\n HTMLDivElement\n>;\n\ntype UsePickerProps = {\n value?: Date | null;\n onChange?: DatePickerFieldTypeTimePropOnChange;\n onError?: DatePickerPropOnError;\n timeOptions?: TimeOptions;\n format: string;\n separator: string;\n minDate: Date;\n maxDate: Date;\n};\n\nexport const usePicker = (props: UsePickerProps) => {\n const {\n value,\n onChange,\n onError,\n timeOptions,\n format: formatProp,\n separator,\n maxDate,\n minDate,\n } = props;\n const onChangeRef = useMutableRef(onChange);\n const valueRef = useMutableRef(value);\n const onErrorRef = useMutableRef(onError);\n\n const onAccept = useCallback(\n (stringValue: string, maskRef: unknown, e: InputEvent | undefined) => {\n const onChange = onChangeRef.current;\n const value = valueRef.current;\n\n if (\n value &&\n isValid(value) &&\n format(value, formatProp) === stringValue\n ) {\n return;\n }\n\n if (stringValue?.length !== formatProp.length && value && e && onChange) {\n onChange(null, { e });\n return;\n }\n\n if (onChange && e) {\n if (!stringValue) {\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\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 if (formatArray.length === validArray.length) {\n const date = parse(\n valueArray.join(':'),\n formatArray.join(':'),\n value || new Date(),\n );\n\n if (!isWithinInterval(date, { start: minDate, end: maxDate })) {\n const [HH, mm, ss] = getPartsDate(\n stringValue,\n formatProp,\n ':',\n false,\n ['HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[0],\n stringValue,\n date,\n HH,\n mm,\n ss,\n });\n\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\n if (!isValidTimeByTimeOptions(date, timeOptions)) {\n const [HH, mm, ss] = getPartsDate(\n stringValue,\n formatProp,\n ':',\n false,\n ['HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[3],\n stringValue,\n date,\n HH,\n mm,\n ss,\n });\n\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\n onChange(date, { e });\n } else if (value) {\n onChange(null, { e });\n }\n }\n },\n [\n minDate?.getTime(),\n maxDate?.getTime(),\n formatProp,\n separator,\n getTimeOptionsKey(timeOptions),\n ],\n );\n\n const maskBlocks = useMemo(() => getMaskBlocks({ includeDate: false }), []);\n\n const imaskProps = useIMask<HTMLInputElement, ReactMaskOpts>(\n {\n mask: Date as unknown as MaskedDate,\n pattern: formatProp,\n blocks: {\n HH: maskBlocks.HH,\n mm: maskBlocks.mm,\n ss: maskBlocks.ss,\n },\n lazy: true,\n autofix: true,\n format: (date: Date) => format(date, formatProp),\n parse: (string: string) => parse(string, formatProp, new Date()),\n validate: (string: string) => {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(string, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (\n formatArray.length === validArray.length &&\n !isValid(\n parse(valueArray.join(':'), formatArray.join(':'), new Date()),\n )\n ) {\n const [HH, mm, ss] = getPartsDate(string, formatProp, ':', false, [\n 'HH',\n 'mm',\n 'ss',\n ]);\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[1],\n stringValue: string,\n HH,\n mm,\n ss,\n });\n return false;\n }\n\n return true;\n },\n },\n { onAccept },\n );\n\n const handleClear = useStringValue(\n value,\n formatProp,\n separator,\n onChangeRef,\n imaskProps,\n );\n\n return [imaskProps.ref, handleClear] as const;\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=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","defaultValue"];import React from"react";import{TextField}from"../../TextField";import{useForkRef}from"../../../hooks/useForkRef";import{maxDateDefault,minDateDefault}from"../../../utils/date";import{datePickerPropFormatTypeYear,datePickerPropPlaceholderTypeYear,datePickerPropSeparatorDefault}from"../helpers";import{usePicker}from"./helpers";export var DatePickerFieldTypeYear=React.forwardRef(function(a,b){var c=a.format,d=void 0===c?datePickerPropFormatTypeYear:c,e=a.separator,f=void 0===e?datePickerPropSeparatorDefault:e,g=a.placeholder,h=void 0===g?datePickerPropPlaceholderTypeYear:g,i=a.onChange,j=a.onError,k=a.minDate,l=void 0===k?minDateDefault:k,m=a.maxDate,n=void 0===m?maxDateDefault:m,o=a.value,p=a.inputRef,q=a.defaultValue,r=_objectWithoutProperties(a,_excluded),s=usePicker({value:o,minDate:l,maxDate:n,onChange:i,onError:j,separator:f,format:d}),t=_slicedToArray(s,2),u=t[0],v=t[1];return React.createElement(TextField,Object.assign({},r,{type:"text",inputContainerRef:b,inputRef:useForkRef([u,p]),placeholder:h,onClear:v}))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","defaultValue"];import React from"react";import{TextField}from"../../TextField";import{useForkRef}from"../../../hooks/useForkRef";import{maxDateDefault,minDateDefault}from"../../../utils/date";import{datePickerPropFormatTypeYear,datePickerPropSeparatorDefault,placeholderByFormat}from"../helpers";import{usePicker}from"./helpers";export var DatePickerFieldTypeYear=React.forwardRef(function(a,b){var c=a.format,d=void 0===c?datePickerPropFormatTypeYear:c,e=a.separator,f=void 0===e?datePickerPropSeparatorDefault:e,g=a.placeholder,h=a.onChange,i=a.onError,j=a.minDate,k=void 0===j?minDateDefault:j,l=a.maxDate,m=void 0===l?maxDateDefault:l,n=a.value,o=a.inputRef,p=a.defaultValue,q=_objectWithoutProperties(a,_excluded),r=null!==g&&void 0!==g?g:placeholderByFormat(d),s=usePicker({value:n,minDate:k,maxDate:m,onChange:h,onError:i,separator:f,format:d}),t=_slicedToArray(s,2),u=t[0],v=t[1];return React.createElement(TextField,Object.assign({},q,{type:"text",inputContainerRef:b,inputRef:useForkRef([u,o]),placeholder:r,onClear:v}))});
2
2
  //# sourceMappingURL=DatePickerFieldTypeYear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerFieldTypeYear.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeYear","datePickerPropPlaceholderTypeYear","datePickerPropSeparatorDefault","usePicker","DatePickerFieldTypeYear","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","defaultValue","otherProps","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeYear,\n datePickerPropPlaceholderTypeYear,\n datePickerPropSeparatorDefault,\n} from '../helpers';\nimport { DatePickerFieldTypeYearProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeYear = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeYearProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeYear,\n separator = datePickerPropSeparatorDefault,\n placeholder = datePickerPropPlaceholderTypeYear,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n defaultValue,\n ...otherProps\n } = props;\n\n const [inputRef, onClear] = usePicker({\n value,\n minDate,\n maxDate,\n onChange,\n onError,\n separator,\n format,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={placeholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"oRAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,4BADF,CAEEC,iCAFF,CAGEC,8BAHF,kBAKA,OAAuCC,SAAvC,iBAEA,MAAO,IAAMC,wBAAuB,CAAGT,KAAK,CAACU,UAAN,CAGrC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAaZD,CAbY,CAEdE,MAFc,CAEdA,CAFc,YAELR,4BAFK,KAaZM,CAbY,CAGdG,SAHc,CAGdA,CAHc,YAGFP,8BAHE,KAaZI,CAbY,CAIdI,WAJc,CAIdA,CAJc,YAIAT,iCAJA,GAKdU,CALc,CAaZL,CAbY,CAKdK,QALc,CAMdC,CANc,CAaZN,CAbY,CAMdM,OANc,GAaZN,CAbY,CAOdO,OAPc,CAOdA,CAPc,YAOJd,cAPI,KAaZO,CAbY,CAQdQ,OARc,CAQdA,CARc,YAQJhB,cARI,GASdiB,CATc,CAaZT,CAbY,CASdS,KATc,CAUJC,CAVI,CAaZV,CAbY,CAUdW,QAVc,CAWdC,CAXc,CAaZZ,CAbY,CAWdY,YAXc,CAYXC,CAZW,0BAaZb,CAbY,cAeYH,SAAS,CAAC,CACpCY,KAAK,CAALA,CADoC,CAEpCF,OAAO,CAAPA,CAFoC,CAGpCC,OAAO,CAAPA,CAHoC,CAIpCH,QAAQ,CAARA,CAJoC,CAKpCC,OAAO,CAAPA,CALoC,CAMpCH,SAAS,CAATA,CANoC,CAOpCD,MAAM,CAANA,CAPoC,CAAD,CAfrB,uBAeTS,CAfS,MAeCG,CAfD,MAyBhB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEZ,CAHrB,CAIE,QAAQ,CAAEV,UAAU,CAAC,CAACoB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEN,CALf,CAME,OAAO,CAAEU,CANX,GASH,CAtCsC,CAAhC"}
1
+ {"version":3,"file":"DatePickerFieldTypeYear.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeYear","datePickerPropSeparatorDefault","placeholderByFormat","usePicker","DatePickerFieldTypeYear","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","defaultValue","otherProps","adaptedPlaceholder","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeYear,\n datePickerPropSeparatorDefault,\n placeholderByFormat,\n} from '../helpers';\nimport { DatePickerFieldTypeYearProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeYear = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeYearProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeYear,\n separator = datePickerPropSeparatorDefault,\n placeholder,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n defaultValue,\n ...otherProps\n } = props;\n\n const adaptedPlaceholder = placeholder ?? placeholderByFormat(format);\n\n const [inputRef, onClear] = usePicker({\n value,\n minDate,\n maxDate,\n onChange,\n onError,\n separator,\n format,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={adaptedPlaceholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"oRAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,4BADF,CAEEC,8BAFF,CAGEC,mBAHF,kBAKA,OAAuCC,SAAvC,iBAEA,MAAO,IAAMC,wBAAuB,CAAGT,KAAK,CAACU,UAAN,CAGrC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAaZD,CAbY,CAEdE,MAFc,CAEdA,CAFc,YAELR,4BAFK,KAaZM,CAbY,CAGdG,SAHc,CAGdA,CAHc,YAGFR,8BAHE,GAIdS,CAJc,CAaZJ,CAbY,CAIdI,WAJc,CAKdC,CALc,CAaZL,CAbY,CAKdK,QALc,CAMdC,CANc,CAaZN,CAbY,CAMdM,OANc,GAaZN,CAbY,CAOdO,OAPc,CAOdA,CAPc,YAOJd,cAPI,KAaZO,CAbY,CAQdQ,OARc,CAQdA,CARc,YAQJhB,cARI,GASdiB,CATc,CAaZT,CAbY,CASdS,KATc,CAUJC,CAVI,CAaZV,CAbY,CAUdW,QAVc,CAWdC,CAXc,CAaZZ,CAbY,CAWdY,YAXc,CAYXC,CAZW,0BAaZb,CAbY,YAeVc,CAAkB,QAAGV,CAAH,WAAGA,CAAH,CAAGA,CAAH,CAAkBR,mBAAmB,CAACM,CAAD,CAf7C,GAiBYL,SAAS,CAAC,CACpCY,KAAK,CAALA,CADoC,CAEpCF,OAAO,CAAPA,CAFoC,CAGpCC,OAAO,CAAPA,CAHoC,CAIpCH,QAAQ,CAARA,CAJoC,CAKpCC,OAAO,CAAPA,CALoC,CAMpCH,SAAS,CAATA,CANoC,CAOpCD,MAAM,CAANA,CAPoC,CAAD,CAjBrB,uBAiBTS,CAjBS,MAiBCI,CAjBD,MA2BhB,MACE,qBAAC,SAAD,kBACMF,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEZ,CAHrB,CAIE,QAAQ,CAAEV,UAAU,CAAC,CAACoB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEI,CALf,CAME,OAAO,CAAEC,CANX,GASH,CAxCsC,CAAhC"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef","disableDates"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTime}from"../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=a.locale,f=a.dropdownForm,g=a.dropdownClassName,h=a.dropdownRef,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.multiplicityHours,l=a.multiplicityMinutes,m=a.multiplicitySeconds,n=a.renderAdditionalControls,o=a.onDropdownOpen,p=a.dropdownOpen,q=a.ignoreOutsideClicksRefs,r=a.disabled,s=a.inputRef,t=a.disableDates,u=_objectWithoutProperties(a,_excluded),v=getMultiplicityTime(u.format||datePickerPropFormatTypeDateTime,k,l,m),w=_slicedToArray(v,3),x=w[0],y=w[1],z=w[2],A=useRef(null),B=useRef(null),C=useRef(null),D=useCalendarVisible({dropdownOpen:p,onDropdownOpen:o,disabled:r,startRef:C}),E=_slicedToArray(D,2),F=E[0],G=E[1],H=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:j,calendarVisible:F}),I=_slicedToArray(H,2),J=I[0],K=I[1];return useEffect(function(){b&&setRef(b,A.current)},[b,A]),useEffect(function(){if(a.value&&"classic"===d&&J){var b=startOfMonth(a.value);return void(b.getTime()!==J.getTime()&&K(b))}if(a.value&&"classic"!==d&&J){var c=startOfMonth(a.value);c.getTime()!==J.getTime()&&c.getTime()!==addMonths(J,1).getTime()&&K(c)}},[a.value]),useClickOutside({isActive:F,ignoreClicksInsideRefs:[A,B].concat(_toConsumableArray(null!==q&&void 0!==q?q:[])),handler:G.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTime,Object.assign({},u,{ref:A,inputRef:useForkRef([C,s]),onClick:G.on,multiplicityHours:x,multiplicitySeconds:z,multiplicityMinutes:y,disabled:r})),React.createElement(DatePickerDropdown,{ref:useForkRef([h,B]),anchorRef:A,isOpen:F,value:a.value||void 0,type:"date-time",view:"classic",events:c,className:g,locale:e,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:J,form:f,onChange:a.onChange,renderAdditionalControls:n,onChangeCurrentVisibleDate:K,multiplicityHours:x,multiplicitySeconds:z,multiplicityMinutes:y,zIndex:getDropdownZIndex(a.style),disableDates:t}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDate","onChangeCurrentVisibleDate","timeOptions","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef","disableDates"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTime}from"../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getTimeOptionsByFormat}from"../helpers";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=a.locale,f=a.dropdownForm,g=a.dropdownClassName,h=a.dropdownRef,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.timeOptions,l=a.renderAdditionalControls,m=a.onDropdownOpen,n=a.dropdownOpen,o=a.ignoreOutsideClicksRefs,p=a.disabled,q=a.inputRef,r=a.disableDates,s=_objectWithoutProperties(a,_excluded),t=getTimeOptionsByFormat(s.format||datePickerPropFormatTypeDateTime,k),u=useRef(null),v=useRef(null),w=useRef(null),x=useCalendarVisible({dropdownOpen:n,onDropdownOpen:m,disabled:p,startRef:w}),y=_slicedToArray(x,2),z=y[0],A=y[1],B=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:j,calendarVisible:z}),C=_slicedToArray(B,2),D=C[0],E=C[1];return useEffect(function(){b&&setRef(b,u.current)},[b,u]),useEffect(function(){if(a.value&&"classic"===d&&D){var b=startOfMonth(a.value);return void(b.getTime()!==D.getTime()&&E(b))}if(a.value&&"classic"!==d&&D){var c=startOfMonth(a.value);c.getTime()!==D.getTime()&&c.getTime()!==addMonths(D,1).getTime()&&E(c)}},[a.value]),useClickOutside({isActive:z,ignoreClicksInsideRefs:[u,v].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:A.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTime,Object.assign({},s,{ref:u,inputRef:useForkRef([w,q]),onClick:A.on,timeOptions:t,disabled:p})),React.createElement(DatePickerDropdown,{ref:useForkRef([h,v]),anchorRef:u,isOpen:z,value:a.value||void 0,type:"date-time",view:"classic",events:c,className:g,locale:e,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:D,form:f,onChange:a.onChange,renderAdditionalControls:l,onChangeCurrentVisibleDate:E,timeOptions:t,zIndex:getDropdownZIndex(a.style),disableDates:r}))});
2
2
  //# sourceMappingURL=DatePickerTypeDateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","disableDates","otherProps","format","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport { DatePickerTypeComponent } from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTime: DatePickerTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView,\n locale,\n dropdownForm,\n dropdownClassName,\n dropdownRef,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n disableDates,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTime\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n disabled={disabled}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date-time\"\n view=\"classic\"\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getTimeOptionsByFormat","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","timeOptionsProp","timeOptions","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","disableDates","otherProps","format","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getTimeOptionsByFormat,\n} from '../helpers';\nimport { DatePickerTypeComponent } from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTime: DatePickerTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView,\n locale,\n dropdownForm,\n dropdownClassName,\n dropdownRef,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n timeOptions: timeOptionsProp,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n disableDates,\n ...otherProps\n } = props;\n\n const timeOptions = getTimeOptionsByFormat(\n otherProps.format || datePickerPropFormatTypeDateTime,\n timeOptionsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTime\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n timeOptions={timeOptions}\n disabled={disabled}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date-time\"\n view=\"classic\"\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n timeOptions={timeOptions}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","multiplicityMinutes","dropdownClassName","dropdownRef","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTimeRange}from"../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{getTimeFof}from"../timeForMap";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTimeRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=a.locale,j=a.dropdownForm,k=a.onFocus,l=a.onBlur,m=a.leftSide,n=a.rightSide,o=a.currentVisibleDate,p=a.onChangeCurrentVisibleDate,q=a.renderAdditionalControls,r=a.inputRef,s=a.name,t=a.placeholder,u=a.multiplicityMinutes,v=a.dropdownClassName,w=a.dropdownRef,x=a.multiplicitySeconds,y=a.multiplicityHours,z=a.onDropdownOpen,A=a.dropdownOpen,B=a.ignoreOutsideClicksRefs,C=a.disabled,D=a.disableDates,E=_objectWithoutProperties(a,_excluded),F=useRef(null),G=useRef(null),H=useRef(null),I=useRef(null),J=useRef(null),K=useState(),L=_slicedToArray(K,2),M=L[0],N=L[1],O=0===M,P=1===M,Q=useCalendarVisible({dropdownOpen:A,onDropdownOpen:z,disabled:C,startRef:H,endRef:I}),R=_slicedToArray(Q,2),S=R[0],T=R[1],U=useCurrentVisibleDate({currentVisibleDate:o,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:p,calendarVisible:S,rangeIndex:M}),V=_slicedToArray(U,2),W=V[0],X=V[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&O){var c=startOfMonth(a.value[0]);c.getTime()!==(null===W||void 0===W?void 0:W.getTime())&&X(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),S,O]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&P){var c=startOfMonth(a.value[1]);c.getTime()!==(null===W||void 0===W?void 0:W.getTime())&&X(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),S,P]),useClickOutside({isActive:S,ignoreClicksInsideRefs:[F,G,J].concat(_toConsumableArray(null!==B&&void 0!==B?B:[])),handler:useCallback(function(){N(void 0),T.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},E,{ref:b,startFieldRef:F,endFieldRef:G,startFieldInputRef:useForkRef([H,null===r||void 0===r?void 0:r[0]]),endFieldInputRef:useForkRef([I,null===r||void 0===r?void 0:r[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;N(0),Array.isArray(k)?null===(b=k[0])||void 0===b?void 0:b.call(k,a):null===k||void 0===k?void 0:k(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;N(1),Array.isArray(k)?null===(b=k[1])||void 0===b?void 0:b.call(k,a):null===k||void 0===k?void 0:k(a)},startFieldLeftSide:Array.isArray(m)?null===m||void 0===m?void 0:m[0]:m,startFieldRightSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:void 0,endFieldLeftSide:Array.isArray(m)?null===m||void 0===m?void 0:m[1]:void 0,endFieldRightSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:n,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldOnClick:T.on,endFieldOnClick:T.on,startFocused:O,endFocused:P,startFieldName:getFieldName(s,0),endFieldName:getFieldName(s,1),disabled:C,startFieldPlaceholder:Array.isArray(t)?null===t||void 0===t?void 0:t[0]:t,endFieldPlaceholder:Array.isArray(t)?null===t||void 0===t?void 0:t[1]:t})),React.createElement(DatePickerDropdown,{type:"date-time",ref:useForkRef([w,J]),anchorRef:F,isOpen:S,className:v,onChangeCurrentVisibleDate:X,currentVisibleDate:W,value:a.value||void 0,timeFor:getTimeFof(M),view:"classic",events:g,locale:i,minDate:a.minDate,maxDate:a.maxDate,form:j,onChange:function handleChange(b,c){var d=c.e;if(O){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(P){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:q,multiplicityMinutes:u,multiplicitySeconds:x,multiplicityHours:y,zIndex:getDropdownZIndex(a.style),disableDates:D}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","dropdownClassName","dropdownRef","timeOptions","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTimeRange}from"../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getFieldName,getTimeOptionsByFormat,normalizeRangeValue}from"../helpers";import{getTimeFof}from"../timeForMap";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTimeRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=a.locale,j=a.dropdownForm,k=a.onFocus,l=a.onBlur,m=a.leftSide,n=a.rightSide,o=a.currentVisibleDate,p=a.onChangeCurrentVisibleDate,q=a.renderAdditionalControls,r=a.inputRef,s=a.name,t=a.placeholder,u=a.dropdownClassName,v=a.dropdownRef,w=a.timeOptions,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=a.disableDates,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(),J=_slicedToArray(I,2),K=J[0],L=J[1],M=0===K,N=1===K,O=getTimeOptionsByFormat(C.format||datePickerPropFormatTypeDateTime,w),P=useCalendarVisible({dropdownOpen:y,onDropdownOpen:x,disabled:A,startRef:F,endRef:G}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1],T=useCurrentVisibleDate({currentVisibleDate:o,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:p,calendarVisible:R,rangeIndex:K}),U=_slicedToArray(T,2),V=U[0],W=U[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&M){var c=startOfMonth(a.value[0]);c.getTime()!==(null===V||void 0===V?void 0:V.getTime())&&W(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),R,M]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&N){var c=startOfMonth(a.value[1]);c.getTime()!==(null===V||void 0===V?void 0:V.getTime())&&W(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),R,N]),useClickOutside({isActive:R,ignoreClicksInsideRefs:[D,E,H].concat(_toConsumableArray(null!==z&&void 0!==z?z:[])),handler:useCallback(function(){L(void 0),S.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},C,{ref:b,startFieldRef:D,endFieldRef:E,startFieldInputRef:useForkRef([F,null===r||void 0===r?void 0:r[0]]),endFieldInputRef:useForkRef([G,null===r||void 0===r?void 0:r[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;L(0),Array.isArray(k)?null===(b=k[0])||void 0===b?void 0:b.call(k,a):null===k||void 0===k?void 0:k(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;L(1),Array.isArray(k)?null===(b=k[1])||void 0===b?void 0:b.call(k,a):null===k||void 0===k?void 0:k(a)},startFieldLeftSide:Array.isArray(m)?null===m||void 0===m?void 0:m[0]:m,startFieldRightSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:void 0,endFieldLeftSide:Array.isArray(m)?null===m||void 0===m?void 0:m[1]:void 0,endFieldRightSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:n,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldOnClick:S.on,endFieldOnClick:S.on,startFocused:M,endFocused:N,startFieldName:getFieldName(s,0),endFieldName:getFieldName(s,1),disabled:A,startFieldPlaceholder:Array.isArray(t)?null===t||void 0===t?void 0:t[0]:t,endFieldPlaceholder:Array.isArray(t)?null===t||void 0===t?void 0:t[1]:t,timeOptions:O})),React.createElement(DatePickerDropdown,{type:"date-time",ref:useForkRef([v,H]),anchorRef:D,isOpen:R,className:u,onChangeCurrentVisibleDate:W,currentVisibleDate:V,value:a.value||void 0,timeFor:getTimeFof(K),view:"classic",events:g,locale:i,minDate:a.minDate,maxDate:a.maxDate,form:j,onChange:function handleChange(b,c){var d=c.e;if(M){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(N){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:q,timeOptions:O,zIndex:getDropdownZIndex(a.style),disableDates:B}))});
2
2
  //# sourceMappingURL=DatePickerTypeDateTimeRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","getTimeFof","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","multiplicityMinutes","dropdownClassName","dropdownRef","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","rangeIndex","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","handleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport { getTimeFof } from '../timeForMap';\nimport { DatePickerTypeComponent } from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n placeholder,\n multiplicityMinutes,\n dropdownClassName,\n dropdownRef,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n disableDates,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<0 | 1 | undefined>();\n\n const startFocused = fieldFocused === 0;\n const endFocused = fieldFocused === 1;\n\n const handleChange: DatePickerDropdownPropOnChange = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n rangeIndex: fieldFocused,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(0);\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(1);\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(undefined);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n disabled={disabled}\n startFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[0] : placeholder\n }\n endFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[1] : placeholder\n }\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={getTimeFof(fieldFocused)}\n view=\"classic\"\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","datePickerPropFormatTypeDateTime","getDropdownZIndex","getFieldName","getTimeOptionsByFormat","normalizeRangeValue","getTimeFof","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","dropdownClassName","dropdownRef","timeOptionsProp","timeOptions","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","format","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","rangeIndex","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","handleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getFieldName,\n getTimeOptionsByFormat,\n normalizeRangeValue,\n} from '../helpers';\nimport { getTimeFof } from '../timeForMap';\nimport { DatePickerTypeComponent } from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n placeholder,\n dropdownClassName,\n dropdownRef,\n timeOptions: timeOptionsProp,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n disableDates,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<0 | 1 | undefined>();\n\n const startFocused = fieldFocused === 0;\n const endFocused = fieldFocused === 1;\n\n const timeOptions = getTimeOptionsByFormat(\n fieldProps.format || datePickerPropFormatTypeDateTime,\n timeOptionsProp,\n );\n\n const handleChange: DatePickerDropdownPropOnChange = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n rangeIndex: fieldFocused,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(0);\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(1);\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(undefined);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n disabled={disabled}\n startFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[0] : placeholder\n }\n endFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[1] : placeholder\n }\n timeOptions={timeOptions}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={getTimeFof(fieldFocused)}\n view=\"classic\"\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n timeOptions={timeOptions}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"0jBAAA,MAAOA,aAAP,KAAyB,uBAAzB,CACA,MAAOC,MAAP,EACEC,UADF,CAEEC,WAFF,CAGEC,SAHF,CAIEC,MAJF,CAKEC,QALF,KAMO,OANP,CAQA,OAASC,eAAT,sDACA,OAASC,UAAT,4CAEA,OACEC,kBADF,gDAIA,OAASC,gCAAT,4EACA,OACEC,gCADF,CAEEC,iBAFF,CAGEC,YAHF,CAIEC,sBAJF,CAKEC,mBALF,kBAOA,OAASC,UAAT,qBAEA,OAASC,kBAAT,6BACA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,4BAAuE,CAClFjB,UAAU,CAAC,SAACkB,CAAD,CAAQC,CAAR,CAAgB,aAEvBC,CAFuB,CAyBrBF,CAzBqB,CAEvBE,MAFuB,CAGvBC,CAHuB,CAyBrBH,CAzBqB,CAGvBG,YAHuB,CAIvBC,CAJuB,CAyBrBJ,CAzBqB,CAIvBI,MAJuB,CAKvBC,CALuB,CAyBrBL,CAzBqB,CAKvBK,YALuB,CAMvBC,CANuB,CAyBrBN,CAzBqB,CAMvBM,OANuB,CAOvBC,CAPuB,CAyBrBP,CAzBqB,CAOvBO,MAPuB,CAQvBC,CARuB,CAyBrBR,CAzBqB,CAQvBQ,QARuB,CASvBC,CATuB,CAyBrBT,CAzBqB,CASvBS,SATuB,CAUHC,CAVG,CAyBrBV,CAzBqB,CAUvBW,kBAVuB,CAWvBC,CAXuB,CAyBrBZ,CAzBqB,CAWvBY,0BAXuB,CAYvBC,CAZuB,CAyBrBb,CAzBqB,CAYvBa,wBAZuB,CAavBC,CAbuB,CAyBrBd,CAzBqB,CAavBc,QAbuB,CAcvBC,CAduB,CAyBrBf,CAzBqB,CAcvBe,IAduB,CAevBC,CAfuB,CAyBrBhB,CAzBqB,CAevBgB,WAfuB,CAgBvBC,CAhBuB,CAyBrBjB,CAzBqB,CAgBvBiB,iBAhBuB,CAiBvBC,CAjBuB,CAyBrBlB,CAzBqB,CAiBvBkB,WAjBuB,CAkBVC,CAlBU,CAyBrBnB,CAzBqB,CAkBvBoB,WAlBuB,CAmBvBC,CAnBuB,CAyBrBrB,CAzBqB,CAmBvBqB,cAnBuB,CAoBvBC,CApBuB,CAyBrBtB,CAzBqB,CAoBvBsB,YApBuB,CAqBvBC,CArBuB,CAyBrBvB,CAzBqB,CAqBvBuB,uBArBuB,CAsBvBC,CAtBuB,CAyBrBxB,CAzBqB,CAsBvBwB,QAtBuB,CAuBvBC,CAvBuB,CAyBrBzB,CAzBqB,CAuBvByB,YAvBuB,CAwBpBC,CAxBoB,0BAyBrB1B,CAzBqB,YA2BnB2B,CAAa,CAAG1C,MAAM,CAAiB,IAAjB,CA3BH,CA4BnB2C,CAAW,CAAG3C,MAAM,CAAiB,IAAjB,CA5BD,CA6BnB4C,CAAkB,CAAG5C,MAAM,CAAmB,IAAnB,CA7BR,CA8BnB6C,CAAgB,CAAG7C,MAAM,CAAmB,IAAnB,CA9BN,CA+BnB8C,CAAW,CAAG9C,MAAM,CAAiB,IAAjB,CA/BD,GAiCeC,QAAQ,EAjCvB,uBAiClB8C,CAjCkB,MAiCJC,CAjCI,MAmCnBC,CAAY,CAAoB,CAAjB,GAAAF,CAnCI,CAoCnBG,CAAU,CAAoB,CAAjB,GAAAH,CApCM,CAsCnBZ,CAAW,CAAG1B,sBAAsB,CACxCgC,CAAU,CAACU,MAAX,EAAqB7C,gCADmB,CAExC4B,CAFwC,CAtCjB,GA0DqBtB,kBAAkB,CAAC,CAC/DyB,YAAY,CAAZA,CAD+D,CAE/DD,cAAc,CAAdA,CAF+D,CAG/DG,QAAQ,CAARA,CAH+D,CAI/Da,QAAQ,CAAER,CAJqD,CAK/DS,MAAM,CAAER,CALuD,CAAD,CA1DvC,uBA0DlBS,CA1DkB,MA0DDC,CA1DC,QAkE2B1C,qBAAqB,CAAC,CACxEa,kBAAkB,CAAED,CADoD,CAExE+B,OAAO,CAAEzC,CAAK,CAACyC,OAFyD,CAGxEC,OAAO,CAAE1C,CAAK,CAAC0C,OAHyD,CAIxEC,KAAK,CAAE3C,CAAK,CAAC2C,KAJ2D,CAKxEC,WAAW,CAAEhE,YAL2D,CAMxEgC,0BAA0B,CAA1BA,CANwE,CAOxE2B,eAAe,CAAfA,CAPwE,CAQxEM,UAAU,CAAEb,CAR4D,CAAD,CAlEhD,uBAkElBrB,CAlEkB,MAkEEmC,CAlEF,MA8HzB,MAhCA9D,UAAS,CAAC,UAAM,OACd,GAAI,UAAAgB,CAAK,CAAC2C,KAAN,iBAAc,CAAd,GAAoBT,CAAxB,CAAsC,CACpC,GAAMa,EAAc,CAAGnE,YAAY,CAACoB,CAAK,CAAC2C,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACII,CAAc,CAACC,OAAf,aAA6BrC,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEqC,OAApB,EAA7B,CAFgC,EAGlCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAAC/C,CAAK,CAAC2C,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBK,OAAlB,EAAD,CAA8BT,CAA9B,CAA+CL,CAA/C,CAPM,CAgCT,CAvBAlD,SAAS,CAAC,UAAM,OACd,GAAI,UAAAgB,CAAK,CAAC2C,KAAN,iBAAc,CAAd,GAAoBR,CAAxB,CAAoC,CAClC,GAAMY,EAAc,CAAGnE,YAAY,CAACoB,CAAK,CAAC2C,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACII,CAAc,CAACC,OAAf,aAA6BrC,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEqC,OAApB,EAA7B,CAF8B,EAGhCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAAC/C,CAAK,CAAC2C,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBK,OAAlB,EAAD,CAA8BT,CAA9B,CAA+CJ,CAA/C,CAPM,CAuBT,CAdAhD,eAAe,CAAC,CACd8D,QAAQ,CAAEV,CADI,CAEdW,sBAAsB,EACpBvB,CADoB,CAEpBC,CAFoB,CAGpBG,CAHoB,mCAIhBR,CAJgB,WAIhBA,CAJgB,CAIhBA,CAJgB,CAIW,EAJX,EAFR,CAQd4B,OAAO,CAAEpE,WAAW,CAAC,UAAM,CACzBkD,CAAe,QADU,CAEzBO,CAAkB,CAACY,GAAnB,EACD,CAHmB,CAGjB,EAHiB,CARN,CAAD,CAcf,CACE,wCACE,oBAAC,gCAAD,kBACM1B,CADN,EAEE,GAAG,CAAEzB,CAFP,CAGE,aAAa,CAAE0B,CAHjB,CAIE,WAAW,CAAEC,CAJf,CAKE,kBAAkB,CAAExC,UAAU,CAAC,CAACyC,CAAD,QAAqBf,CAArB,WAAqBA,CAArB,QAAqBA,CAAQ,CAAG,CAAH,CAA7B,CAAD,CALhC,CAME,gBAAgB,CAAE1B,UAAU,CAAC,CAAC0C,CAAD,QAAmBhB,CAAnB,WAAmBA,CAAnB,QAAmBA,CAAQ,CAAG,CAAH,CAA3B,CAAD,CAN9B,CAOE,iBAAiB,CApDU,QAA3BuC,yBAA2B,CAACC,CAAD,CAAsC,OACrErB,CAAe,CAAC,CAAD,CADsD,CAErEsB,KAAK,CAACC,OAAN,CAAclD,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMgD,CAAN,CAAhC,QAA2ChD,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGgD,CAAH,CACnD,CA0CG,CAQE,eAAe,CAhDU,QAAzBG,uBAAyB,CAACH,CAAD,CAAsC,OACnErB,CAAe,CAAC,CAAD,CADoD,CAEnEsB,KAAK,CAACC,OAAN,CAAclD,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMgD,CAAN,CAAhC,QAA2ChD,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGgD,CAAH,CACnD,CAqCG,CASE,kBAAkB,CAChBC,KAAK,CAACC,OAAN,CAAchD,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,CAA0CA,CAV9C,CAYE,mBAAmB,CACjB+C,KAAK,CAACC,OAAN,CAAc/C,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,OAbJ,CAeE,gBAAgB,CAAE8C,KAAK,CAACC,OAAN,CAAchD,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,OAfpB,CAgBE,iBAAiB,CACf+C,KAAK,CAACC,OAAN,CAAc/C,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,CAA4CA,CAjBhD,CAmBE,gBAAgB,CAtEU,QAA1BiD,wBAA0B,CAACJ,CAAD,cAC9BC,MAAK,CAACC,OAAN,CAAcjD,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAM+C,CAAN,CAA9B,QAAyC/C,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAG+C,CAAH,CADjB,CAmD5B,CAoBE,cAAc,CApEU,QAAxBK,sBAAwB,CAACL,CAAD,cAC5BC,MAAK,CAACC,OAAN,CAAcjD,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAM+C,CAAN,CAA9B,QAAyC/C,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAG+C,CAAH,CADnB,CAgD1B,CAqBE,iBAAiB,CAAEd,CAAkB,CAACoB,EArBxC,CAsBE,eAAe,CAAEpB,CAAkB,CAACoB,EAtBtC,CAuBE,YAAY,CAAE1B,CAvBhB,CAwBE,UAAU,CAAEC,CAxBd,CAyBE,cAAc,CAAE1C,YAAY,CAACsB,CAAD,CAAO,CAAP,CAzB9B,CA0BE,YAAY,CAAEtB,YAAY,CAACsB,CAAD,CAAO,CAAP,CA1B5B,CA2BE,QAAQ,CAAES,CA3BZ,CA4BE,qBAAqB,CACnB+B,KAAK,CAACC,OAAN,CAAcxC,CAAd,SAA6BA,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAW,CAAG,CAAH,CAAxC,CAAgDA,CA7BpD,CA+BE,mBAAmB,CACjBuC,KAAK,CAACC,OAAN,CAAcxC,CAAd,SAA6BA,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAW,CAAG,CAAH,CAAxC,CAAgDA,CAhCpD,CAkCE,WAAW,CAAEI,CAlCf,GADF,CAqCE,oBAAC,kBAAD,EACE,IAAI,CAAC,WADP,CAEE,GAAG,CAAEhC,UAAU,CAAC,CAAC8B,CAAD,CAAca,CAAd,CAAD,CAFjB,CAGE,SAAS,CAAEJ,CAHb,CAIE,MAAM,CAAEY,CAJV,CAKE,SAAS,CAAEtB,CALb,CAME,0BAA0B,CAAE6B,CAN9B,CAOE,kBAAkB,CAAEnC,CAPtB,CAQE,KAAK,CAAEX,CAAK,CAAC2C,KAAN,QART,CASE,OAAO,CAAE/C,UAAU,CAACoC,CAAD,CATrB,CAUE,IAAI,CAAC,SAVP,CAWE,MAAM,CAAE9B,CAXV,CAYE,MAAM,CAAEE,CAZV,CAaE,OAAO,CAAEJ,CAAK,CAAC0C,OAbjB,CAcE,OAAO,CAAE1C,CAAK,CAACyC,OAdjB,CAeE,IAAI,CAAEpC,CAfR,CAgBE,QAAQ,CAzIuC,QAA/CwD,aAA+C,CAAClB,CAAD,GAAkB,IAARW,EAAQ,GAARA,CAAQ,CACrE,GAAIpB,CAAJ,CAAkB,SACV4B,CAAQ,CAAGnE,mBAAmB,CAAC,CAACgD,CAAD,QAAQ3C,CAAR,WAAQA,CAAR,YAAQA,CAAK,CAAE2C,KAAf,qBAAQ,EAAe,CAAf,CAAR,CAAD,CADpB,WAEhB3C,CAAK,CAAC+D,QAFU,qBAEhB,OAAA/D,CAAK,CAAY8D,CAAZ,CAAsB,CACzBR,CAAC,CAADA,CADyB,CAAtB,CAGN,CACD,GAAInB,CAAJ,CAAgB,SACR2B,CAAQ,CAAGnE,mBAAmB,CAAC,QAACK,CAAD,WAACA,CAAD,YAACA,CAAK,CAAE2C,KAAR,qBAAC,EAAe,CAAf,CAAD,CAAoBA,CAApB,CAAD,CADtB,WAEd3C,CAAK,CAAC+D,QAFQ,qBAEd,OAAA/D,CAAK,CAAY8D,CAAZ,CAAsB,CACzBR,CAAC,CAADA,CADyB,CAAtB,CAGN,CACF,CA4GG,CAiBE,wBAAwB,CAAEzC,CAjB5B,CAkBE,WAAW,CAAEO,CAlBf,CAmBE,MAAM,CAAE5B,iBAAiB,CAACQ,CAAK,CAACgE,KAAP,CAnB3B,CAoBE,YAAY,CAAEvC,CApBhB,EArCF,CA6DH,CA5LS,CADL"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef","disableDates"];import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeTime}from"../DatePickerFieldTypeTime/DatePickerFieldTypeTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";export var DatePickerTypeTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.dropdownRef,j=a.multiplicityHours,k=a.multiplicityMinutes,l=a.multiplicitySeconds,m=a.renderAdditionalControls,n=a.currentVisibleDate,o=a.onChangeCurrentVisibleDate,p=a.onDropdownOpen,q=a.dropdownOpen,r=a.ignoreOutsideClicksRefs,s=a.disabled,t=a.inputRef,u=a.disableDates,v=_objectWithoutProperties(a,_excluded),w=getMultiplicityTime(v.format||datePickerPropFormatTypeDateTime,j,k,l),x=_slicedToArray(w,3),y=x[0],z=x[1],A=x[2],B=useRef(null),C=useRef(null),D=useRef(null),E=useCalendarVisible({dropdownOpen:q,onDropdownOpen:p,disabled:s,startRef:D}),F=_slicedToArray(E,2),G=F[0],H=F[1];return useEffect(function(){b&&setRef(b,B.current)},[b,B]),useClickOutside({isActive:G,ignoreClicksInsideRefs:[B,C].concat(_toConsumableArray(null!==r&&void 0!==r?r:[])),handler:H.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeTime,Object.assign({},v,{ref:B,inputRef:useForkRef([D,t]),onClick:H.on,multiplicityHours:y,multiplicitySeconds:A,multiplicityMinutes:z,disabled:s})),React.createElement(DatePickerDropdown,{ref:useForkRef([i,C]),anchorRef:B,isOpen:G,value:a.value||void 0,type:"time",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,form:g,className:h,onChange:a.onChange,renderAdditionalControls:m,multiplicityHours:y,multiplicitySeconds:A,multiplicityMinutes:z,zIndex:getDropdownZIndex(a.style),disableDates:u}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","timeOptions","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef","disableDates"];import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeTime}from"../DatePickerFieldTypeTime/DatePickerFieldTypeTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getTimeOptionsByFormat}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";export var DatePickerTypeTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.dropdownRef,j=a.timeOptions,k=a.renderAdditionalControls,l=a.currentVisibleDate,m=a.onChangeCurrentVisibleDate,n=a.onDropdownOpen,o=a.dropdownOpen,p=a.ignoreOutsideClicksRefs,q=a.disabled,r=a.inputRef,s=a.disableDates,t=_objectWithoutProperties(a,_excluded),u=getTimeOptionsByFormat(t.format||datePickerPropFormatTypeDateTime,j),v=useRef(null),w=useRef(null),x=useRef(null),y=useCalendarVisible({dropdownOpen:o,onDropdownOpen:n,disabled:q,startRef:x}),z=_slicedToArray(y,2),A=z[0],B=z[1];return useEffect(function(){b&&setRef(b,v.current)},[b,v]),useClickOutside({isActive:A,ignoreClicksInsideRefs:[v,w].concat(_toConsumableArray(null!==p&&void 0!==p?p:[])),handler:B.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeTime,Object.assign({},t,{ref:v,inputRef:useForkRef([x,r]),onClick:B.on,timeOptions:u,disabled:q})),React.createElement(DatePickerDropdown,{ref:useForkRef([i,w]),anchorRef:v,isOpen:A,value:a.value||void 0,type:"time",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,form:g,className:h,onChange:a.onChange,renderAdditionalControls:k,timeOptions:u,zIndex:getDropdownZIndex(a.style),disableDates:s}))});
2
2
  //# sourceMappingURL=DatePickerTypeTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","disableDates","otherProps","format","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","current","isActive","ignoreClicksInsideRefs","handler","off","on","value","minDate","maxDate","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeTime } from '../DatePickerFieldTypeTime/DatePickerFieldTypeTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\n\nexport const DatePickerTypeTime: DatePickerTypeComponent<'time'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n dropdownRef,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n currentVisibleDate,\n onChangeCurrentVisibleDate,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n disableDates,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeTime\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n disabled={disabled}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"time\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n className={dropdownClassName}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getTimeOptionsByFormat","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","timeOptionsProp","timeOptions","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","disableDates","otherProps","format","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","current","isActive","ignoreClicksInsideRefs","handler","off","on","value","minDate","maxDate","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeTime } from '../DatePickerFieldTypeTime/DatePickerFieldTypeTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getTimeOptionsByFormat,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\n\nexport const DatePickerTypeTime: DatePickerTypeComponent<'time'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n dropdownRef,\n timeOptions: timeOptionsProp,\n renderAdditionalControls,\n currentVisibleDate,\n onChangeCurrentVisibleDate,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n disableDates,\n ...otherProps\n } = props;\n\n const timeOptions = getTimeOptionsByFormat(\n otherProps.format || datePickerPropFormatTypeDateTime,\n timeOptionsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeTime\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n timeOptions={timeOptions}\n disabled={disabled}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"time\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n className={dropdownClassName}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n timeOptions={timeOptions}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,21 +1,39 @@
1
- import { useIMask } from 'react-imask';
1
+ import { IMask, useIMask } from 'react-imask';
2
2
  import { TextFieldPropForm } from '../TextField';
3
3
  import { DateRange } from '../../utils/types/Date';
4
+ import { TimeOptions, TimeUnitOptions } from '../DateTime';
4
5
  import { DatePickerPropType } from './types';
5
6
  export declare const datePickerPropSeparatorDefault = ".";
6
7
  export declare const datePickerPropFormatTypeDate = "dd.MM.yyyy";
7
- export declare const datePickerPropPlaceholderTypeDate = "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413";
8
8
  export declare const datePickerPropFormatTypeTime = "HH:mm:ss";
9
- export declare const datePickerPropPlaceholderTypeTime = "\u0427\u0427:\u041C\u041C:\u0421\u0421";
10
9
  export declare const datePickerPropFormatTypeDateTime = "dd.MM.yyyy HH:mm:ss";
11
- export declare const datePickerPropPlaceholderTypeDateTime = "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0427\u0427:\u041C\u041C:\u0421\u0421";
12
10
  export declare const datePickerPropFormatTypeYear = "yyyy";
13
- export declare const datePickerPropPlaceholderTypeYear = "\u0413\u0413\u0413\u0413";
14
11
  export declare const datePickerPropFormatTypeMonth = "MM.yyyy";
15
- export declare const datePickerPropPlaceholderTypeMonth = "MM.\u0413\u0413\u0413\u0413";
16
12
  export declare const normalizeRangeValue: (dateRange: DateRange) => DateRange;
17
- export declare const getMultiplicityTime: (format: string, multiplicityHours: number | undefined, multiplicityMinutes: number | undefined, multiplicitySeconds: number | undefined) => (number | undefined)[];
18
- export declare const getTimeEnum: (length: number, multiplicity: number | undefined, startOfUnits: (date: Date) => Date, addUnits: (date: Date, amount: number) => Date, getItemLabel: (date: Date) => string) => string[];
13
+ export declare const getTimeOptionsByFormat: (format: string, timeOptions?: TimeOptions) => {
14
+ hours: TimeUnitOptions | undefined;
15
+ minutes: TimeUnitOptions | undefined;
16
+ seconds: TimeUnitOptions | undefined;
17
+ };
18
+ export declare const adaptFormat: (format: string, timeOptions?: TimeOptions) => string;
19
+ export declare const placeholderByFormat: (format: string) => string;
20
+ type MaskBlock = {
21
+ mask: typeof IMask.MaskedRange;
22
+ from: number;
23
+ to: number;
24
+ };
25
+ type MaskBlocks = Partial<{
26
+ dd: MaskBlock;
27
+ MM: MaskBlock;
28
+ yyyy: MaskBlock;
29
+ HH: MaskBlock;
30
+ mm: MaskBlock;
31
+ ss: MaskBlock;
32
+ }>;
33
+ export declare const getMaskBlocks: ({ includeDate, includeTime, }?: {
34
+ includeDate?: boolean | undefined;
35
+ includeTime?: boolean | undefined;
36
+ }) => MaskBlocks;
19
37
  export declare const getFormForStart: (form: TextFieldPropForm) => "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear";
20
38
  export declare const getFormForEnd: (form: TextFieldPropForm) => "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear";
21
39
  export declare const getPartDate: (formatArray: string[], stringArray: string[], marker: string) => string | undefined;
@@ -28,4 +46,5 @@ type DatePickerFieldTypeDatePropOnChange = (value: Date | null, props: {
28
46
  e: Event;
29
47
  }) => void;
30
48
  export declare const useStringValue: (value: Date | undefined | null, formatProp: string, separator: string, onChangeRef: React.MutableRefObject<DatePickerFieldTypeDatePropOnChange | undefined>, imaskProps: ReturnType<typeof useIMask<HTMLInputElement>>) => import("react").MouseEventHandler<HTMLButtonElement>;
49
+ export declare const isValidTimeByTimeOptions: (date: Date, timeOptions?: TimeOptions) => boolean;
31
50
  export {};
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format,isValid,parse,startOfToday}from"date-fns";import{useCallback,useEffect}from"react";import{getForm}from"../FieldGroup";import{useMutableRef}from"../../hooks/useMutableRef";import{range}from"../../utils/array";export var datePickerPropSeparatorDefault=".";export var datePickerPropFormatTypeDate="dd".concat(".","MM").concat(".","yyyy");export var datePickerPropPlaceholderTypeDate="\u0414\u0414".concat(".","\u041C\u041C").concat(".","\u0413\u0413\u0413\u0413");export var datePickerPropFormatTypeTime="HH:mm:ss";export var datePickerPropPlaceholderTypeTime="\u0427\u0427:\u041C\u041C:\u0421\u0421";export var datePickerPropFormatTypeDateTime="".concat(datePickerPropFormatTypeDate," ").concat("HH:mm:ss");export var datePickerPropPlaceholderTypeDateTime="".concat(datePickerPropPlaceholderTypeDate," ").concat("\u0427\u0427:\u041C\u041C:\u0421\u0421");export var datePickerPropFormatTypeYear="yyyy";export var datePickerPropPlaceholderTypeYear="\u0413\u0413\u0413\u0413";export var datePickerPropFormatTypeMonth="MM".concat(".","yyyy");export var datePickerPropPlaceholderTypeMonth="MM".concat(".","\u0413\u0413\u0413\u0413");export var normalizeRangeValue=function(a){var b,c;return a[0]&&a[1]&&(null===(b=a[0])||void 0===b?void 0:b.getTime())>(null===(c=a[1])||void 0===c?void 0:c.getTime())?[a[1],a[0]]:a};export var getMultiplicityTime=function(a,b,c,d){var e,f=null===(e=a.split(" ")[1])||void 0===e?void 0:e.split(":"),g={HH:b,mm:c,ss:d};return["HH","mm","ss"].map(function(a){return 0>(null===f||void 0===f?void 0:f.indexOf(a))?0:g[a]})};export var getTimeEnum=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,c=2<arguments.length?arguments[2]:void 0,d=3<arguments.length?arguments[3]:void 0,e=4<arguments.length?arguments[4]:void 0,f=range(b?Math.floor(a/b):0);if(0===f.length)return[];var g=c(startOfToday());return f.map(function(a){return e(d(g,a*b))})};export var getFormForStart=function(a){return getForm(a,0,2)};export var getFormForEnd=function(a){return getForm(a,1,2)};export var getPartDate=function(a,b,c){var d=a.indexOf(c);return 0<=d&&b[d]&&b[d].length===c.length?b[d]:void 0};export var getParts=function(a,b,c){if(c){var d=a.split(" "),e=_slicedToArray(d,2),f=e[0],g=e[1];return[].concat(_toConsumableArray(f?f.split(b):[]),_toConsumableArray(g?g.split(":"):[]))}return a.split(b)};export var getPartsDate=function(a,b,c,d,e){var f=getParts(b,c,d),g=getParts(a,c,d);return e.map(function(a){return getPartDate(f,g,a)})};export var isTypeWithTime=function(a){return-1!==a.indexOf("time")};var fieldPrefixs=["start","end"];export var getFieldName=function(a,b){return a?Array.isArray(a)?a[b]:"".concat(a,"_").concat(fieldPrefixs[b]):void 0};export var getDropdownZIndex=function(a){return"number"==typeof(null===a||void 0===a?void 0:a.zIndex)?a.zIndex+1:void 0};export var useStringValue=function(a,b,c,d,e){var f=e.value,g=useMutableRef([e.setValue,a]),h=useCallback(function(a){var b;g.current[0](a),null!==(b=e.ref)&&void 0!==b&&b.current&&(e.ref.current.value=a),e.maskRef.current&&e.maskRef.current.updateValue()},[]),i=useCallback(function(a){if(h(""),g.current[1]){var b;null===(b=d.current)||void 0===b?void 0:b.call(d,null,{e:a})}},[]);return useEffect(function(){if(a&&isValid(a)&&h(format(a,b)),!a&&f){var d=getParts(b,c,!1),e=getParts(f,c,!1),g=d.map(function(a){return getPartDate(d,e,a)}).filter(function(a){return!!a}),i=d.length===g.length?parse(e.join(datePickerPropSeparatorDefault),d.join(datePickerPropSeparatorDefault),new Date):void 0;isValid(i)&&h("")}},[null===a||void 0===a?void 0:a.getTime()]),i};
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format,isValid,parse}from"date-fns";import{useCallback,useEffect}from"react";import{IMask}from"react-imask";import{getForm}from"../FieldGroup";import{useMutableRef}from"../../hooks/useMutableRef";import{getTimeNumbers}from"../DateTime/helpers";export var datePickerPropSeparatorDefault=".";export var datePickerPropFormatTypeDate="dd".concat(".","MM").concat(".","yyyy");export var datePickerPropFormatTypeTime="HH:mm:ss";export var datePickerPropFormatTypeDateTime="".concat(datePickerPropFormatTypeDate," ").concat("HH:mm:ss");export var datePickerPropFormatTypeYear="yyyy";export var datePickerPropFormatTypeMonth="MM".concat(".","yyyy");export var normalizeRangeValue=function(a){var b,c;return a[0]&&a[1]&&(null===(b=a[0])||void 0===b?void 0:b.getTime())>(null===(c=a[1])||void 0===c?void 0:c.getTime())?[a[1],a[0]]:a};export var getTimeOptionsByFormat=function(a,b){var c,d=null===(c=a.split(" ")[1])||void 0===c?void 0:c.split(":"),e={HH:null===b||void 0===b?void 0:b.hours,mm:null===b||void 0===b?void 0:b.minutes,ss:null===b||void 0===b?void 0:b.seconds},f=["HH","mm","ss"].map(function(a){return null!==d&&void 0!==d&&d.includes(a)?e[a]:[]}),g=_slicedToArray(f,3),h=g[0],i=g[1],j=g[2];return{hours:h,minutes:i,seconds:j}};export var adaptFormat=function(a,b){for(var c,d=a.split(" "),e=null!==(c=d[1])&&void 0!==c?c:a,f=function shouldRemoveTimePart(a){return!!(a&&Array.isArray(a)&&0===a.length)||a&&!Array.isArray(a)&&0===a.step},g=[{marker:"HH",timeOption:null===b||void 0===b?void 0:b.hours},{marker:"mm",timeOption:null===b||void 0===b?void 0:b.minutes},{marker:"ss",timeOption:null===b||void 0===b?void 0:b.seconds}],h=0,i=g;h<i.length;h++){var j=i[h],k=j.marker,l=j.timeOption;f(l)&&(e=e.replace(new RegExp(":?".concat(k),"g"),""))}return e=e.replace(/:+$/,"").replace(/^:+/,"").replace(/:+/g,":").replace(/\s+/g," ").trim(),1<d.length?(d[1]=e,d.filter(function(a){return 0<a.length}).join(" ")):e};export var placeholderByFormat=function placeholderByFormat(a){return a.replace(/yyyy/g,"\u0413\u0413\u0413\u0413").replace(/MM/g,"\u041C\u041C").replace(/dd/g,"\u0414\u0414").replace(/HH/g,"\u0427\u0427").replace(/mm/g,"\u041C\u041C").replace(/ss/g,"\u0421\u0421")};export var getMaskBlocks=function getMaskBlocks(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},b=a.includeDate,c=void 0===b||b,d=a.includeTime,e=void 0===d||d,f={};return c&&(f.dd={mask:IMask.MaskedRange,from:1,to:31},f.MM={mask:IMask.MaskedRange,from:1,to:12},f.yyyy={mask:IMask.MaskedRange,from:1,to:9999}),e&&(f.HH={mask:IMask.MaskedRange,from:0,to:23},f.mm={mask:IMask.MaskedRange,from:0,to:59},f.ss={mask:IMask.MaskedRange,from:0,to:59}),f};export var getFormForStart=function getFormForStart(a){return getForm(a,0,2)};export var getFormForEnd=function getFormForEnd(a){return getForm(a,1,2)};export var getPartDate=function getPartDate(a,b,c){var d=a.indexOf(c);return 0<=d&&b[d]&&b[d].length===c.length?b[d]:void 0};export var getParts=function getParts(a,b,c){if(c){var d=a.split(" "),e=_slicedToArray(d,2),f=e[0],g=e[1];return[].concat(_toConsumableArray(f?f.split(b):[]),_toConsumableArray(g?g.split(":"):[]))}return a.split(b)};export var getPartsDate=function getPartsDate(a,b,c,d,e){var f=getParts(b,c,d),g=getParts(a,c,d);return e.map(function(a){return getPartDate(f,g,a)})};export var isTypeWithTime=function isTypeWithTime(a){return-1!==a.indexOf("time")};var fieldPrefixs=["start","end"];export var getFieldName=function getFieldName(a,b){return a?Array.isArray(a)?a[b]:"".concat(a,"_").concat(fieldPrefixs[b]):void 0};export var getDropdownZIndex=function getDropdownZIndex(a){return"number"==typeof(null===a||void 0===a?void 0:a.zIndex)?a.zIndex+1:void 0};export var useStringValue=function useStringValue(a,b,c,d,e){var f=e.value,g=useMutableRef([e.setValue,a]),h=useCallback(function(a){var b;g.current[0](a),null!==(b=e.ref)&&void 0!==b&&b.current&&(e.ref.current.value=a),e.maskRef.current&&e.maskRef.current.updateValue()},[]),i=useCallback(function(a){if(h(""),g.current[1]){var b;null===(b=d.current)||void 0===b?void 0:b.call(d,null,{e:a})}},[]);return useEffect(function(){if(a&&isValid(a)&&h(format(a,b)),!a&&f){var d=getParts(b,c,!1),e=getParts(f,c,!1),g=d.map(function(a){return getPartDate(d,e,a)}).filter(function(a){return!!a}),i=d.length===g.length?parse(e.join(datePickerPropSeparatorDefault),d.join(datePickerPropSeparatorDefault),new Date):void 0;isValid(i)&&h("")}},[null===a||void 0===a?void 0:a.getTime()]),i};export var isValidTimeByTimeOptions=function isValidTimeByTimeOptions(a,b){var c=function isUnitValid(a,b,c){if(!c)return!0;var d=getTimeNumbers(a,c);return!(0!==d.length)||d.includes(b)};if(!b)return!0;var d=c("hours",a.getHours(),b.hours),e=c("minutes",a.getMinutes(),b.minutes),f=c("seconds",a.getSeconds(),b.seconds);return d&&e&&f};
2
2
  //# sourceMappingURL=helpers.js.map