@gravity-ui/date-components 2.11.0-beta.0 → 2.12.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 (665) hide show
  1. package/dist/cjs/components/Calendar/Calendar.d.ts +4 -4
  2. package/dist/cjs/components/Calendar/Calendar.js +5 -6
  3. package/dist/cjs/components/Calendar/Calendar.js.map +1 -0
  4. package/dist/cjs/components/Calendar/index.d.ts +8 -8
  5. package/dist/cjs/components/Calendar/index.js +9 -21
  6. package/dist/cjs/components/Calendar/index.js.map +1 -0
  7. package/dist/cjs/components/CalendarView/Calendar.css +2 -1
  8. package/dist/cjs/components/CalendarView/Calendar.css.map +1 -0
  9. package/dist/cjs/components/CalendarView/CalendarView.d.ts +4 -4
  10. package/dist/cjs/components/CalendarView/CalendarView.js +11 -12
  11. package/dist/cjs/components/CalendarView/CalendarView.js.map +1 -0
  12. package/dist/cjs/components/CalendarView/hooks/types.d.ts +1 -1
  13. package/dist/cjs/components/CalendarView/hooks/types.js +1 -0
  14. package/dist/cjs/components/CalendarView/hooks/types.js.map +1 -0
  15. package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.d.ts +1 -1
  16. package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js +4 -5
  17. package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -0
  18. package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.d.ts +1 -1
  19. package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js +2 -1
  20. package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -0
  21. package/dist/cjs/components/CalendarView/hooks/useCalendarProps.d.ts +2 -2
  22. package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js +5 -6
  23. package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js.map +1 -0
  24. package/dist/cjs/components/CalendarView/hooks/useCalendarState.d.ts +3 -3
  25. package/dist/cjs/components/CalendarView/hooks/useCalendarState.js +6 -7
  26. package/dist/cjs/components/CalendarView/hooks/useCalendarState.js.map +1 -0
  27. package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.d.ts +4 -4
  28. package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js +4 -3
  29. package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -0
  30. package/dist/cjs/components/CalendarView/i18n/index.js +5 -6
  31. package/dist/cjs/components/CalendarView/i18n/index.js.map +1 -0
  32. package/dist/cjs/components/CalendarView/utils.d.ts +3 -3
  33. package/dist/cjs/components/CalendarView/utils.js +8 -6
  34. package/dist/cjs/components/CalendarView/utils.js.map +1 -0
  35. package/dist/cjs/components/DateField/DateField.css +2 -1
  36. package/dist/cjs/components/DateField/DateField.css.map +1 -0
  37. package/dist/cjs/components/DateField/DateField.d.ts +2 -2
  38. package/dist/cjs/components/DateField/DateField.js +5 -4
  39. package/dist/cjs/components/DateField/DateField.js.map +1 -0
  40. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.d.ts +13 -4
  41. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js +11 -21
  42. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js.map +1 -0
  43. package/dist/cjs/components/DateField/hooks/useDateFieldProps.d.ts +2 -2
  44. package/dist/cjs/components/DateField/hooks/useDateFieldProps.js +4 -5
  45. package/dist/cjs/components/DateField/hooks/useDateFieldProps.js.map +1 -0
  46. package/dist/cjs/components/DateField/hooks/useDateFieldState.d.ts +2 -2
  47. package/dist/cjs/components/DateField/hooks/useDateFieldState.js +14 -22
  48. package/dist/cjs/components/DateField/hooks/useDateFieldState.js.map +1 -0
  49. package/dist/cjs/components/DateField/i18n/en.json +1 -0
  50. package/dist/cjs/components/DateField/i18n/index.d.ts +1 -1
  51. package/dist/cjs/components/DateField/i18n/index.js +5 -6
  52. package/dist/cjs/components/DateField/i18n/index.js.map +1 -0
  53. package/dist/cjs/components/DateField/i18n/ru.json +1 -0
  54. package/dist/cjs/components/DateField/index.d.ts +4 -4
  55. package/dist/cjs/components/DateField/index.js +6 -18
  56. package/dist/cjs/components/DateField/index.js.map +1 -0
  57. package/dist/cjs/components/DateField/types.d.ts +9 -1
  58. package/dist/cjs/components/DateField/types.js +1 -0
  59. package/dist/cjs/components/DateField/types.js.map +1 -0
  60. package/dist/cjs/components/DateField/utils.d.ts +22 -6
  61. package/dist/cjs/components/DateField/utils.js +90 -8
  62. package/dist/cjs/components/DateField/utils.js.map +1 -0
  63. package/dist/cjs/components/DatePicker/DatePicker.css +2 -1
  64. package/dist/cjs/components/DatePicker/DatePicker.css.map +1 -0
  65. package/dist/cjs/components/DatePicker/DatePicker.d.ts +4 -4
  66. package/dist/cjs/components/DatePicker/DatePicker.js +11 -10
  67. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -0
  68. package/dist/cjs/components/DatePicker/MobileCalendar.css +2 -1
  69. package/dist/cjs/components/DatePicker/MobileCalendar.css.map +1 -0
  70. package/dist/cjs/components/DatePicker/MobileCalendar.d.ts +3 -3
  71. package/dist/cjs/components/DatePicker/MobileCalendar.js +7 -6
  72. package/dist/cjs/components/DatePicker/MobileCalendar.js.map +1 -0
  73. package/dist/cjs/components/DatePicker/StubButton.css +2 -1
  74. package/dist/cjs/components/DatePicker/StubButton.css.map +1 -0
  75. package/dist/cjs/components/DatePicker/StubButton.d.ts +1 -1
  76. package/dist/cjs/components/DatePicker/StubButton.js +2 -1
  77. package/dist/cjs/components/DatePicker/StubButton.js.map +1 -0
  78. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.d.ts +15 -5
  79. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js +21 -20
  80. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js.map +1 -0
  81. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.d.ts +5 -5
  82. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js +10 -7
  83. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js.map +1 -0
  84. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.d.ts +3 -3
  85. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js +8 -5
  86. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js.map +1 -0
  87. package/dist/cjs/components/DatePicker/i18n/index.js +5 -6
  88. package/dist/cjs/components/DatePicker/i18n/index.js.map +1 -0
  89. package/dist/cjs/components/DatePicker/index.d.ts +3 -3
  90. package/dist/cjs/components/DatePicker/index.js +5 -17
  91. package/dist/cjs/components/DatePicker/index.js.map +1 -0
  92. package/dist/cjs/components/DatePicker/utils/cn.js +2 -1
  93. package/dist/cjs/components/DatePicker/utils/cn.js.map +1 -0
  94. package/dist/cjs/components/DatePicker/utils/getCalendarModes.d.ts +5 -0
  95. package/dist/cjs/components/DatePicker/utils/getCalendarModes.js +21 -0
  96. package/dist/cjs/components/DatePicker/utils/getCalendarModes.js.map +1 -0
  97. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.d.ts +1 -1
  98. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js +1 -0
  99. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js.map +1 -0
  100. package/dist/cjs/components/DatePicker/utils/index.d.ts +3 -2
  101. package/dist/cjs/components/DatePicker/utils/index.js +5 -16
  102. package/dist/cjs/components/DatePicker/utils/index.js.map +1 -0
  103. package/dist/cjs/components/HiddenInput/HiddenInput.js +3 -4
  104. package/dist/cjs/components/HiddenInput/HiddenInput.js.map +1 -0
  105. package/dist/cjs/components/RangeCalendar/RangeCalendar.d.ts +4 -4
  106. package/dist/cjs/components/RangeCalendar/RangeCalendar.js +5 -6
  107. package/dist/cjs/components/RangeCalendar/RangeCalendar.js.map +1 -0
  108. package/dist/cjs/components/RangeCalendar/index.d.ts +1 -1
  109. package/dist/cjs/components/RangeCalendar/index.js +3 -15
  110. package/dist/cjs/components/RangeCalendar/index.js.map +1 -0
  111. package/dist/cjs/components/RangeDateField/RangeDateField.css +2 -1
  112. package/dist/cjs/components/RangeDateField/RangeDateField.css.map +1 -0
  113. package/dist/cjs/components/RangeDateField/RangeDateField.d.ts +3 -3
  114. package/dist/cjs/components/RangeDateField/RangeDateField.js +5 -4
  115. package/dist/cjs/components/RangeDateField/RangeDateField.js.map +1 -0
  116. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +3 -3
  117. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js +19 -29
  118. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -0
  119. package/dist/cjs/components/RangeDateField/index.d.ts +2 -2
  120. package/dist/cjs/components/RangeDateField/index.js +4 -16
  121. package/dist/cjs/components/RangeDateField/index.js.map +1 -0
  122. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +1 -1
  123. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js +3 -2
  124. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js.map +1 -0
  125. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.d.ts +4 -4
  126. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js +2 -1
  127. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js.map +1 -0
  128. package/dist/cjs/components/RangeDateField/utils/index.d.ts +3 -3
  129. package/dist/cjs/components/RangeDateField/utils/index.js +5 -17
  130. package/dist/cjs/components/RangeDateField/utils/index.js.map +1 -0
  131. package/dist/cjs/components/RangeDateField/utils/isValidRange.d.ts +1 -1
  132. package/dist/cjs/components/RangeDateField/utils/isValidRange.js +2 -2
  133. package/dist/cjs/components/RangeDateField/utils/isValidRange.js.map +1 -0
  134. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css +2 -1
  135. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css.map +1 -0
  136. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.d.ts +3 -3
  137. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js +10 -9
  138. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js.map +1 -0
  139. package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.d.ts +7 -4
  140. package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.js +15 -7
  141. package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.js.map +1 -0
  142. package/dist/cjs/components/RangeDatePicker/index.d.ts +2 -2
  143. package/dist/cjs/components/RangeDatePicker/index.js +4 -16
  144. package/dist/cjs/components/RangeDatePicker/index.js.map +1 -0
  145. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css +2 -1
  146. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css.map +1 -0
  147. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.d.ts +4 -4
  148. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js +9 -10
  149. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js.map +1 -0
  150. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css +2 -1
  151. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -0
  152. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.d.ts +1 -1
  153. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.js +6 -8
  154. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.js.map +1 -0
  155. package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.d.ts +2 -2
  156. package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.js +12 -13
  157. package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.js.map +1 -0
  158. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css +2 -1
  159. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -0
  160. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.d.ts +2 -2
  161. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.js +5 -6
  162. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.js.map +1 -0
  163. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -1
  164. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -0
  165. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.d.ts +3 -3
  166. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +6 -5
  167. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -0
  168. package/dist/cjs/components/RangeDateSelection/components/Ticks/MiddleTicks.js +3 -2
  169. package/dist/cjs/components/RangeDateSelection/components/Ticks/MiddleTicks.js.map +1 -0
  170. package/dist/cjs/components/RangeDateSelection/components/Ticks/SlitTicks.js +3 -2
  171. package/dist/cjs/components/RangeDateSelection/components/Ticks/SlitTicks.js.map +1 -0
  172. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css +2 -1
  173. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -0
  174. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.d.ts +3 -3
  175. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.js +7 -8
  176. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.js.map +1 -0
  177. package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.d.ts +3 -3
  178. package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +6 -7
  179. package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -0
  180. package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.d.ts +1 -1
  181. package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.js +3 -2
  182. package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.js.map +1 -0
  183. package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +1 -1
  184. package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +7 -8
  185. package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -0
  186. package/dist/cjs/components/RangeDateSelection/i18n/index.js +5 -6
  187. package/dist/cjs/components/RangeDateSelection/i18n/index.js.map +1 -0
  188. package/dist/cjs/components/RangeDateSelection/index.d.ts +3 -3
  189. package/dist/cjs/components/RangeDateSelection/index.js +4 -16
  190. package/dist/cjs/components/RangeDateSelection/index.js.map +1 -0
  191. package/dist/cjs/components/RangeDateSelection/utils/date.js +2 -1
  192. package/dist/cjs/components/RangeDateSelection/utils/date.js.map +1 -0
  193. package/dist/cjs/components/RangeDateSelection/utils/span.js +1 -0
  194. package/dist/cjs/components/RangeDateSelection/utils/span.js.map +1 -0
  195. package/dist/cjs/components/RelativeDateField/RelativeDateField.css +2 -1
  196. package/dist/cjs/components/RelativeDateField/RelativeDateField.css.map +1 -0
  197. package/dist/cjs/components/RelativeDateField/RelativeDateField.d.ts +3 -3
  198. package/dist/cjs/components/RelativeDateField/RelativeDateField.js +9 -10
  199. package/dist/cjs/components/RelativeDateField/RelativeDateField.js.map +1 -0
  200. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.d.ts +4 -4
  201. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +3 -4
  202. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js.map +1 -0
  203. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +1 -1
  204. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js +4 -5
  205. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js.map +1 -0
  206. package/dist/cjs/components/RelativeDateField/index.d.ts +3 -3
  207. package/dist/cjs/components/RelativeDateField/index.js +5 -17
  208. package/dist/cjs/components/RelativeDateField/index.js.map +1 -0
  209. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css +2 -1
  210. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -0
  211. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.d.ts +4 -4
  212. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js +13 -14
  213. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js.map +1 -0
  214. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.d.ts +4 -4
  215. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +10 -6
  216. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -0
  217. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +3 -3
  218. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +16 -9
  219. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js.map +1 -0
  220. package/dist/cjs/components/RelativeDatePicker/i18n/index.js +5 -6
  221. package/dist/cjs/components/RelativeDatePicker/i18n/index.js.map +1 -0
  222. package/dist/cjs/components/RelativeDatePicker/index.d.ts +3 -3
  223. package/dist/cjs/components/RelativeDatePicker/index.js +5 -17
  224. package/dist/cjs/components/RelativeDatePicker/index.js.map +1 -0
  225. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +2 -1
  226. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -0
  227. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +2 -2
  228. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +8 -9
  229. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -0
  230. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css +2 -1
  231. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -0
  232. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.d.ts +3 -3
  233. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js +7 -8
  234. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -0
  235. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.js +5 -6
  236. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.js.map +1 -0
  237. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +2 -1
  238. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -0
  239. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +6 -5
  240. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +10 -9
  241. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js.map +1 -0
  242. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +5 -6
  243. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js.map +1 -0
  244. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +5 -5
  245. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +5 -6
  246. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -0
  247. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.css +2 -1
  248. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -0
  249. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +3 -3
  250. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js +6 -7
  251. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -0
  252. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +2 -1
  253. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css.map +1 -0
  254. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +2 -2
  255. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +6 -7
  256. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js.map +1 -0
  257. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +2 -1
  258. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -0
  259. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +5 -6
  260. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js.map +1 -0
  261. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
  262. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +3 -2
  263. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -0
  264. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css +2 -1
  265. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -0
  266. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +1 -1
  267. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js +4 -3
  268. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -0
  269. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +5 -6
  270. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js.map +1 -0
  271. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +2 -2
  272. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +5 -6
  273. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -0
  274. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js +5 -6
  275. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js.map +1 -0
  276. package/dist/cjs/components/RelativeRangeDatePicker/index.d.ts +9 -9
  277. package/dist/cjs/components/RelativeRangeDatePicker/index.js +8 -20
  278. package/dist/cjs/components/RelativeRangeDatePicker/index.js.map +1 -0
  279. package/dist/cjs/components/RelativeRangeDatePicker/types.d.ts +5 -5
  280. package/dist/cjs/components/RelativeRangeDatePicker/types.js +1 -0
  281. package/dist/cjs/components/RelativeRangeDatePicker/types.js.map +1 -0
  282. package/dist/cjs/components/RelativeRangeDatePicker/utils.d.ts +3 -3
  283. package/dist/cjs/components/RelativeRangeDatePicker/utils.js +2 -1
  284. package/dist/cjs/components/RelativeRangeDatePicker/utils.js.map +1 -0
  285. package/dist/cjs/components/index.d.ts +11 -11
  286. package/dist/cjs/components/index.js +12 -24
  287. package/dist/cjs/components/index.js.map +1 -0
  288. package/dist/cjs/components/mixins.css +2 -0
  289. package/dist/cjs/components/mixins.css.map +1 -0
  290. package/dist/cjs/components/types/datePicker.d.ts +1 -1
  291. package/dist/cjs/components/types/datePicker.js +1 -0
  292. package/dist/cjs/components/types/datePicker.js.map +1 -0
  293. package/dist/cjs/components/types/events.js +1 -0
  294. package/dist/cjs/components/types/events.js.map +1 -0
  295. package/dist/cjs/components/types/index.d.ts +4 -4
  296. package/dist/cjs/components/types/index.js +1 -0
  297. package/dist/cjs/components/types/index.js.map +1 -0
  298. package/dist/cjs/components/types/inputs.js +1 -0
  299. package/dist/cjs/components/types/inputs.js.map +1 -0
  300. package/dist/cjs/components/types/style.js +1 -0
  301. package/dist/cjs/components/types/style.js.map +1 -0
  302. package/dist/cjs/components/utils/constants.js +1 -0
  303. package/dist/cjs/components/utils/constants.js.map +1 -0
  304. package/dist/cjs/components/utils/dates.js +2 -1
  305. package/dist/cjs/components/utils/dates.js.map +1 -0
  306. package/dist/cjs/components/utils/filterDOMProps.d.ts +1 -1
  307. package/dist/cjs/components/utils/filterDOMProps.js +1 -0
  308. package/dist/cjs/components/utils/filterDOMProps.js.map +1 -0
  309. package/dist/cjs/components/utils/getButtonSizeForInput.js +1 -0
  310. package/dist/cjs/components/utils/getButtonSizeForInput.js.map +1 -0
  311. package/dist/cjs/components/utils/mergeProps.js +1 -0
  312. package/dist/cjs/components/utils/mergeProps.js.map +1 -0
  313. package/dist/cjs/components/utils/useDefaultTimeZone.js +3 -4
  314. package/dist/cjs/components/utils/useDefaultTimeZone.js.map +1 -0
  315. package/dist/cjs/components/utils/validation/datePicker.js +2 -1
  316. package/dist/cjs/components/utils/validation/datePicker.js.map +1 -0
  317. package/dist/cjs/components/utils/validation/i18n/index.js +5 -6
  318. package/dist/cjs/components/utils/validation/i18n/index.js.map +1 -0
  319. package/dist/cjs/components/variables.css +2 -0
  320. package/dist/cjs/components/variables.css.map +1 -0
  321. package/dist/cjs/hooks/useEventHandler.js +3 -4
  322. package/dist/cjs/hooks/useEventHandler.js.map +1 -0
  323. package/dist/cjs/hooks/useMove.js +4 -5
  324. package/dist/cjs/hooks/useMove.js.map +1 -0
  325. package/dist/cjs/hooks/useResizeObserver.js +3 -4
  326. package/dist/cjs/hooks/useResizeObserver.js.map +1 -0
  327. package/dist/cjs/index.d.ts +1 -1
  328. package/dist/cjs/index.js +3 -15
  329. package/dist/cjs/index.js.map +1 -0
  330. package/dist/cjs/package.json +1 -0
  331. package/dist/cjs/utils/cn.js +1 -0
  332. package/dist/cjs/utils/cn.js.map +1 -0
  333. package/dist/esm/components/Calendar/Calendar.d.ts +4 -4
  334. package/dist/esm/components/Calendar/Calendar.js +4 -3
  335. package/dist/esm/components/Calendar/Calendar.js.map +1 -0
  336. package/dist/esm/components/Calendar/index.d.ts +8 -8
  337. package/dist/esm/components/Calendar/index.js +8 -7
  338. package/dist/esm/components/Calendar/index.js.map +1 -0
  339. package/dist/esm/components/CalendarView/Calendar.css +2 -1
  340. package/dist/esm/components/CalendarView/Calendar.css.map +1 -0
  341. package/dist/esm/components/CalendarView/CalendarView.d.ts +4 -4
  342. package/dist/esm/components/CalendarView/CalendarView.js +10 -9
  343. package/dist/esm/components/CalendarView/CalendarView.js.map +1 -0
  344. package/dist/esm/components/CalendarView/hooks/types.d.ts +1 -1
  345. package/dist/esm/components/CalendarView/hooks/types.js +1 -0
  346. package/dist/esm/components/CalendarView/hooks/types.js.map +1 -0
  347. package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.d.ts +1 -1
  348. package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js +2 -1
  349. package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -0
  350. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.d.ts +1 -1
  351. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js +2 -1
  352. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -0
  353. package/dist/esm/components/CalendarView/hooks/useCalendarProps.d.ts +2 -2
  354. package/dist/esm/components/CalendarView/hooks/useCalendarProps.js +3 -2
  355. package/dist/esm/components/CalendarView/hooks/useCalendarProps.js.map +1 -0
  356. package/dist/esm/components/CalendarView/hooks/useCalendarState.d.ts +3 -3
  357. package/dist/esm/components/CalendarView/hooks/useCalendarState.js +4 -3
  358. package/dist/esm/components/CalendarView/hooks/useCalendarState.js.map +1 -0
  359. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.d.ts +4 -4
  360. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js +4 -3
  361. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -0
  362. package/dist/esm/components/CalendarView/i18n/index.js +4 -3
  363. package/dist/esm/components/CalendarView/i18n/index.js.map +1 -0
  364. package/dist/esm/components/CalendarView/utils.d.ts +3 -3
  365. package/dist/esm/components/CalendarView/utils.js +8 -6
  366. package/dist/esm/components/CalendarView/utils.js.map +1 -0
  367. package/dist/esm/components/DateField/DateField.css +2 -1
  368. package/dist/esm/components/DateField/DateField.css.map +1 -0
  369. package/dist/esm/components/DateField/DateField.d.ts +2 -2
  370. package/dist/esm/components/DateField/DateField.js +6 -5
  371. package/dist/esm/components/DateField/DateField.js.map +1 -0
  372. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.d.ts +13 -4
  373. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js +9 -17
  374. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js.map +1 -0
  375. package/dist/esm/components/DateField/hooks/useDateFieldProps.d.ts +2 -2
  376. package/dist/esm/components/DateField/hooks/useDateFieldProps.js +2 -1
  377. package/dist/esm/components/DateField/hooks/useDateFieldProps.js.map +1 -0
  378. package/dist/esm/components/DateField/hooks/useDateFieldState.d.ts +2 -2
  379. package/dist/esm/components/DateField/hooks/useDateFieldState.js +12 -18
  380. package/dist/esm/components/DateField/hooks/useDateFieldState.js.map +1 -0
  381. package/dist/esm/components/DateField/i18n/en.json +1 -0
  382. package/dist/esm/components/DateField/i18n/index.d.ts +1 -1
  383. package/dist/esm/components/DateField/i18n/index.js +4 -3
  384. package/dist/esm/components/DateField/i18n/index.js.map +1 -0
  385. package/dist/esm/components/DateField/i18n/ru.json +1 -0
  386. package/dist/esm/components/DateField/index.d.ts +4 -4
  387. package/dist/esm/components/DateField/index.js +5 -4
  388. package/dist/esm/components/DateField/index.js.map +1 -0
  389. package/dist/esm/components/DateField/types.d.ts +9 -1
  390. package/dist/esm/components/DateField/types.js +1 -0
  391. package/dist/esm/components/DateField/types.js.map +1 -0
  392. package/dist/esm/components/DateField/utils.d.ts +22 -6
  393. package/dist/esm/components/DateField/utils.js +86 -5
  394. package/dist/esm/components/DateField/utils.js.map +1 -0
  395. package/dist/esm/components/DatePicker/DatePicker.css +2 -1
  396. package/dist/esm/components/DatePicker/DatePicker.css.map +1 -0
  397. package/dist/esm/components/DatePicker/DatePicker.d.ts +4 -4
  398. package/dist/esm/components/DatePicker/DatePicker.js +12 -11
  399. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
  400. package/dist/esm/components/DatePicker/MobileCalendar.css +2 -1
  401. package/dist/esm/components/DatePicker/MobileCalendar.css.map +1 -0
  402. package/dist/esm/components/DatePicker/MobileCalendar.d.ts +3 -3
  403. package/dist/esm/components/DatePicker/MobileCalendar.js +8 -7
  404. package/dist/esm/components/DatePicker/MobileCalendar.js.map +1 -0
  405. package/dist/esm/components/DatePicker/StubButton.css +2 -1
  406. package/dist/esm/components/DatePicker/StubButton.css.map +1 -0
  407. package/dist/esm/components/DatePicker/StubButton.d.ts +1 -1
  408. package/dist/esm/components/DatePicker/StubButton.js +3 -2
  409. package/dist/esm/components/DatePicker/StubButton.js.map +1 -0
  410. package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.d.ts +15 -5
  411. package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.js +19 -16
  412. package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.js.map +1 -0
  413. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.d.ts +5 -5
  414. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js +10 -7
  415. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js.map +1 -0
  416. package/dist/esm/components/DatePicker/hooks/useDatePickerState.d.ts +3 -3
  417. package/dist/esm/components/DatePicker/hooks/useDatePickerState.js +7 -4
  418. package/dist/esm/components/DatePicker/hooks/useDatePickerState.js.map +1 -0
  419. package/dist/esm/components/DatePicker/i18n/index.js +4 -3
  420. package/dist/esm/components/DatePicker/i18n/index.js.map +1 -0
  421. package/dist/esm/components/DatePicker/index.d.ts +3 -3
  422. package/dist/esm/components/DatePicker/index.js +4 -3
  423. package/dist/esm/components/DatePicker/index.js.map +1 -0
  424. package/dist/esm/components/DatePicker/utils/cn.js +2 -1
  425. package/dist/esm/components/DatePicker/utils/cn.js.map +1 -0
  426. package/dist/esm/components/DatePicker/utils/getCalendarModes.d.ts +5 -0
  427. package/dist/esm/components/DatePicker/utils/getCalendarModes.js +18 -0
  428. package/dist/esm/components/DatePicker/utils/getCalendarModes.js.map +1 -0
  429. package/dist/esm/components/DatePicker/utils/getDateTimeValue.d.ts +1 -1
  430. package/dist/esm/components/DatePicker/utils/getDateTimeValue.js +1 -0
  431. package/dist/esm/components/DatePicker/utils/getDateTimeValue.js.map +1 -0
  432. package/dist/esm/components/DatePicker/utils/index.d.ts +3 -2
  433. package/dist/esm/components/DatePicker/utils/index.js +4 -2
  434. package/dist/esm/components/DatePicker/utils/index.js.map +1 -0
  435. package/dist/esm/components/HiddenInput/HiddenInput.js +1 -0
  436. package/dist/esm/components/HiddenInput/HiddenInput.js.map +1 -0
  437. package/dist/esm/components/RangeCalendar/RangeCalendar.d.ts +4 -4
  438. package/dist/esm/components/RangeCalendar/RangeCalendar.js +4 -3
  439. package/dist/esm/components/RangeCalendar/RangeCalendar.js.map +1 -0
  440. package/dist/esm/components/RangeCalendar/index.d.ts +1 -1
  441. package/dist/esm/components/RangeCalendar/index.js +2 -1
  442. package/dist/esm/components/RangeCalendar/index.js.map +1 -0
  443. package/dist/esm/components/RangeDateField/RangeDateField.css +2 -1
  444. package/dist/esm/components/RangeDateField/RangeDateField.css.map +1 -0
  445. package/dist/esm/components/RangeDateField/RangeDateField.d.ts +3 -3
  446. package/dist/esm/components/RangeDateField/RangeDateField.js +6 -5
  447. package/dist/esm/components/RangeDateField/RangeDateField.js.map +1 -0
  448. package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +3 -3
  449. package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js +17 -25
  450. package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -0
  451. package/dist/esm/components/RangeDateField/index.d.ts +2 -2
  452. package/dist/esm/components/RangeDateField/index.js +3 -2
  453. package/dist/esm/components/RangeDateField/index.js.map +1 -0
  454. package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +1 -1
  455. package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.js +3 -2
  456. package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.js.map +1 -0
  457. package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.d.ts +4 -4
  458. package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.js +2 -1
  459. package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.js.map +1 -0
  460. package/dist/esm/components/RangeDateField/utils/index.d.ts +3 -3
  461. package/dist/esm/components/RangeDateField/utils/index.js +4 -3
  462. package/dist/esm/components/RangeDateField/utils/index.js.map +1 -0
  463. package/dist/esm/components/RangeDateField/utils/isValidRange.d.ts +1 -1
  464. package/dist/esm/components/RangeDateField/utils/isValidRange.js +2 -2
  465. package/dist/esm/components/RangeDateField/utils/isValidRange.js.map +1 -0
  466. package/dist/esm/components/RangeDatePicker/RangeDatePicker.css +2 -1
  467. package/dist/esm/components/RangeDatePicker/RangeDatePicker.css.map +1 -0
  468. package/dist/esm/components/RangeDatePicker/RangeDatePicker.d.ts +3 -3
  469. package/dist/esm/components/RangeDatePicker/RangeDatePicker.js +11 -10
  470. package/dist/esm/components/RangeDatePicker/RangeDatePicker.js.map +1 -0
  471. package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.d.ts +7 -4
  472. package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.js +14 -6
  473. package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.js.map +1 -0
  474. package/dist/esm/components/RangeDatePicker/index.d.ts +2 -2
  475. package/dist/esm/components/RangeDatePicker/index.js +3 -2
  476. package/dist/esm/components/RangeDatePicker/index.js.map +1 -0
  477. package/dist/esm/components/RangeDateSelection/RangeDateSelection.css +2 -1
  478. package/dist/esm/components/RangeDateSelection/RangeDateSelection.css.map +1 -0
  479. package/dist/esm/components/RangeDateSelection/RangeDateSelection.d.ts +4 -4
  480. package/dist/esm/components/RangeDateSelection/RangeDateSelection.js +8 -7
  481. package/dist/esm/components/RangeDateSelection/RangeDateSelection.js.map +1 -0
  482. package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.css +2 -1
  483. package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -0
  484. package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.d.ts +1 -1
  485. package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.js +5 -5
  486. package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.js.map +1 -0
  487. package/dist/esm/components/RangeDateSelection/components/Ruler/Ruler.d.ts +2 -2
  488. package/dist/esm/components/RangeDateSelection/components/Ruler/Ruler.js +9 -8
  489. package/dist/esm/components/RangeDateSelection/components/Ruler/Ruler.js.map +1 -0
  490. package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.css +2 -1
  491. package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -0
  492. package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.d.ts +2 -2
  493. package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.js +4 -3
  494. package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.js.map +1 -0
  495. package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -1
  496. package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -0
  497. package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.d.ts +3 -3
  498. package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +7 -6
  499. package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -0
  500. package/dist/esm/components/RangeDateSelection/components/Ticks/MiddleTicks.js +3 -2
  501. package/dist/esm/components/RangeDateSelection/components/Ticks/MiddleTicks.js.map +1 -0
  502. package/dist/esm/components/RangeDateSelection/components/Ticks/SlitTicks.js +3 -2
  503. package/dist/esm/components/RangeDateSelection/components/Ticks/SlitTicks.js.map +1 -0
  504. package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.css +2 -1
  505. package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -0
  506. package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.d.ts +3 -3
  507. package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.js +6 -5
  508. package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.js.map +1 -0
  509. package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.d.ts +3 -3
  510. package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +5 -4
  511. package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -0
  512. package/dist/esm/components/RangeDateSelection/components/Ticks/utils.d.ts +1 -1
  513. package/dist/esm/components/RangeDateSelection/components/Ticks/utils.js +3 -2
  514. package/dist/esm/components/RangeDateSelection/components/Ticks/utils.js.map +1 -0
  515. package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +1 -1
  516. package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +5 -4
  517. package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -0
  518. package/dist/esm/components/RangeDateSelection/i18n/index.js +4 -3
  519. package/dist/esm/components/RangeDateSelection/i18n/index.js.map +1 -0
  520. package/dist/esm/components/RangeDateSelection/index.d.ts +3 -3
  521. package/dist/esm/components/RangeDateSelection/index.js +3 -2
  522. package/dist/esm/components/RangeDateSelection/index.js.map +1 -0
  523. package/dist/esm/components/RangeDateSelection/utils/date.js +2 -1
  524. package/dist/esm/components/RangeDateSelection/utils/date.js.map +1 -0
  525. package/dist/esm/components/RangeDateSelection/utils/span.js +1 -0
  526. package/dist/esm/components/RangeDateSelection/utils/span.js.map +1 -0
  527. package/dist/esm/components/RelativeDateField/RelativeDateField.css +2 -1
  528. package/dist/esm/components/RelativeDateField/RelativeDateField.css.map +1 -0
  529. package/dist/esm/components/RelativeDateField/RelativeDateField.d.ts +3 -3
  530. package/dist/esm/components/RelativeDateField/RelativeDateField.js +8 -7
  531. package/dist/esm/components/RelativeDateField/RelativeDateField.js.map +1 -0
  532. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.d.ts +4 -4
  533. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +1 -0
  534. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js.map +1 -0
  535. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +1 -1
  536. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js +3 -2
  537. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js.map +1 -0
  538. package/dist/esm/components/RelativeDateField/index.d.ts +3 -3
  539. package/dist/esm/components/RelativeDateField/index.js +4 -3
  540. package/dist/esm/components/RelativeDateField/index.js.map +1 -0
  541. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css +2 -1
  542. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -0
  543. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.d.ts +4 -4
  544. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js +12 -11
  545. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js.map +1 -0
  546. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.d.ts +4 -4
  547. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +10 -6
  548. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -0
  549. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +3 -3
  550. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +14 -5
  551. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js.map +1 -0
  552. package/dist/esm/components/RelativeDatePicker/i18n/index.js +4 -3
  553. package/dist/esm/components/RelativeDatePicker/i18n/index.js.map +1 -0
  554. package/dist/esm/components/RelativeDatePicker/index.d.ts +3 -3
  555. package/dist/esm/components/RelativeDatePicker/index.js +4 -3
  556. package/dist/esm/components/RelativeDatePicker/index.js.map +1 -0
  557. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +2 -1
  558. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -0
  559. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +2 -2
  560. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +7 -6
  561. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -0
  562. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css +2 -1
  563. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -0
  564. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.d.ts +3 -3
  565. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js +6 -5
  566. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -0
  567. package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.js +4 -3
  568. package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.js.map +1 -0
  569. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +2 -1
  570. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -0
  571. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +6 -5
  572. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +11 -10
  573. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js.map +1 -0
  574. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +4 -3
  575. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js.map +1 -0
  576. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +5 -5
  577. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +3 -2
  578. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -0
  579. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css +2 -1
  580. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -0
  581. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +3 -3
  582. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js +5 -4
  583. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -0
  584. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +2 -1
  585. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css.map +1 -0
  586. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +2 -2
  587. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +5 -4
  588. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js.map +1 -0
  589. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +2 -1
  590. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -0
  591. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +4 -3
  592. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js.map +1 -0
  593. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
  594. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +3 -2
  595. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -0
  596. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css +2 -1
  597. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -0
  598. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +1 -1
  599. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js +5 -4
  600. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -0
  601. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +4 -3
  602. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js.map +1 -0
  603. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +2 -2
  604. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +3 -2
  605. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -0
  606. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js +4 -3
  607. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js.map +1 -0
  608. package/dist/esm/components/RelativeRangeDatePicker/index.d.ts +9 -9
  609. package/dist/esm/components/RelativeRangeDatePicker/index.js +7 -6
  610. package/dist/esm/components/RelativeRangeDatePicker/index.js.map +1 -0
  611. package/dist/esm/components/RelativeRangeDatePicker/types.d.ts +5 -5
  612. package/dist/esm/components/RelativeRangeDatePicker/types.js +1 -0
  613. package/dist/esm/components/RelativeRangeDatePicker/types.js.map +1 -0
  614. package/dist/esm/components/RelativeRangeDatePicker/utils.d.ts +3 -3
  615. package/dist/esm/components/RelativeRangeDatePicker/utils.js +2 -1
  616. package/dist/esm/components/RelativeRangeDatePicker/utils.js.map +1 -0
  617. package/dist/esm/components/index.d.ts +11 -11
  618. package/dist/esm/components/index.js +11 -10
  619. package/dist/esm/components/index.js.map +1 -0
  620. package/dist/esm/components/mixins.css +2 -0
  621. package/dist/esm/components/mixins.css.map +1 -0
  622. package/dist/esm/components/types/datePicker.d.ts +1 -1
  623. package/dist/esm/components/types/datePicker.js +1 -0
  624. package/dist/esm/components/types/datePicker.js.map +1 -0
  625. package/dist/esm/components/types/events.js +1 -0
  626. package/dist/esm/components/types/events.js.map +1 -0
  627. package/dist/esm/components/types/index.d.ts +4 -4
  628. package/dist/esm/components/types/index.js +1 -0
  629. package/dist/esm/components/types/index.js.map +1 -0
  630. package/dist/esm/components/types/inputs.js +1 -0
  631. package/dist/esm/components/types/inputs.js.map +1 -0
  632. package/dist/esm/components/types/style.js +1 -0
  633. package/dist/esm/components/types/style.js.map +1 -0
  634. package/dist/esm/components/utils/constants.js +1 -0
  635. package/dist/esm/components/utils/constants.js.map +1 -0
  636. package/dist/esm/components/utils/dates.js +2 -1
  637. package/dist/esm/components/utils/dates.js.map +1 -0
  638. package/dist/esm/components/utils/filterDOMProps.d.ts +1 -1
  639. package/dist/esm/components/utils/filterDOMProps.js +1 -0
  640. package/dist/esm/components/utils/filterDOMProps.js.map +1 -0
  641. package/dist/esm/components/utils/getButtonSizeForInput.js +1 -0
  642. package/dist/esm/components/utils/getButtonSizeForInput.js.map +1 -0
  643. package/dist/esm/components/utils/mergeProps.js +1 -0
  644. package/dist/esm/components/utils/mergeProps.js.map +1 -0
  645. package/dist/esm/components/utils/useDefaultTimeZone.js +1 -0
  646. package/dist/esm/components/utils/useDefaultTimeZone.js.map +1 -0
  647. package/dist/esm/components/utils/validation/datePicker.js +2 -1
  648. package/dist/esm/components/utils/validation/datePicker.js.map +1 -0
  649. package/dist/esm/components/utils/validation/i18n/index.js +4 -3
  650. package/dist/esm/components/utils/validation/i18n/index.js.map +1 -0
  651. package/dist/esm/components/variables.css +2 -0
  652. package/dist/esm/components/variables.css.map +1 -0
  653. package/dist/esm/hooks/useEventHandler.js +1 -0
  654. package/dist/esm/hooks/useEventHandler.js.map +1 -0
  655. package/dist/esm/hooks/useMove.js +2 -1
  656. package/dist/esm/hooks/useMove.js.map +1 -0
  657. package/dist/esm/hooks/useResizeObserver.js +1 -0
  658. package/dist/esm/hooks/useResizeObserver.js.map +1 -0
  659. package/dist/esm/index.d.ts +1 -1
  660. package/dist/esm/index.js +2 -1
  661. package/dist/esm/index.js.map +1 -0
  662. package/dist/esm/package.json +1 -0
  663. package/dist/esm/utils/cn.js +1 -0
  664. package/dist/esm/utils/cn.js.map +1 -0
  665. package/package.json +38 -34
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.useRangeDateSelectionState = useRangeDateSelectionState;
7
- const react_1 = __importDefault(require("react"));
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
8
6
  const uikit_1 = require("@gravity-ui/uikit");
9
- const constants_1 = require("../../utils/constants");
10
- const dates_1 = require("../../utils/dates");
11
- const useDefaultTimeZone_1 = require("../../utils/useDefaultTimeZone");
12
- const date_1 = require("../utils/date");
7
+ const constants_1 = require("../../utils/constants.js");
8
+ const dates_1 = require("../../utils/dates.js");
9
+ const useDefaultTimeZone_1 = require("../../utils/useDefaultTimeZone.js");
10
+ const date_1 = require("../utils/date.js");
13
11
  function getViewportIntervalFromDates(start, end, numberOfIntervals = 4, placeInViewport = 0.5) {
14
12
  const diff = end.diff(start);
15
13
  return {
@@ -148,3 +146,4 @@ function useRangeDateSelectionState(props) {
148
146
  isDragging,
149
147
  };
150
148
  }
149
+ //# sourceMappingURL=useRangeDateSelectionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRangeDateSelectionState.js","sourceRoot":"../../../../../src","sources":["components/RangeDateSelection/hooks/useRangeDateSelectionState.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {useControlledState} from '@gravity-ui/uikit';\n\nimport type {RangeValue, ValueBase} from '../../types';\nimport {SECOND, YEAR} from '../../utils/constants';\nimport {constrainValue, createPlaceholderValue} from '../../utils/dates';\nimport {useDefaultTimeZone} from '../../utils/useDefaultTimeZone';\nimport {alignDateTime} from '../utils/date';\n\nfunction getViewportIntervalFromDates(\n start: DateTime,\n end: DateTime,\n numberOfIntervals = 4,\n placeInViewport = 0.5,\n) {\n const diff = end.diff(start);\n return {\n start: start.subtract(diff * (numberOfIntervals - 1) * placeInViewport),\n end: end.add(diff * (numberOfIntervals - 1) * (1 - placeInViewport)),\n };\n}\n\nexport interface RangeDateSelectionState {\n viewportInterval: RangeValue<DateTime>;\n value: RangeValue<DateTime>;\n setValue: (value: RangeValue<DateTime>) => void;\n timeZone: string;\n setDraggingValue: (value: RangeValue<DateTime> | null) => void;\n canResize: boolean;\n startDragging: () => void;\n move: (delta: number, options?: {visualMinDuration?: number}) => void;\n scale: (scale: number, options?: {visualMinDuration?: number; fixedPoint?: number}) => void;\n moveStart: (delta: number, options?: {visualMinDuration?: number}) => void;\n moveEnd: (delta: number, options?: {visualMinDuration?: number}) => void;\n endDragging: () => void;\n align: number;\n isDragging: boolean;\n}\n\nexport interface RangeDateSelectionOptions extends ValueBase<RangeValue<DateTime>> {\n /** The minimum allowed date that a user may select. */\n minValue?: DateTime;\n /** The maximum allowed date that a user may select. */\n maxValue?: DateTime;\n /** Minimum duration of the selection in milliseconds. Defaults to 1 second. */\n minDuration?: number;\n /** Maximum duration of the selection in milliseconds. Defaults to 15 years. */\n maxDuration?: number;\n /** Alignment of the selection in milliseconds. Defaults to 1 second. */\n align?: number;\n /** A placeholder date that controls the default values of each segment when the user first interacts with them. Defaults to today's date at midnight. */\n placeholderValue?: DateTime;\n /**\n * Which timezone use to show values. Example: 'default', 'system', 'Europe/Amsterdam'.\n * @default The timezone of the `value` or `defaultValue` or `placeholderValue`, 'default' otherwise.\n */\n timeZone?: string;\n /**\n * The number of selection intervals that fit into the underlying ruler.\n *\n * @default 4\n */\n numberOfIntervals?: number;\n /**\n * Place of the selection on the underlying ruler.\n * Value must be between 0 and 1, where 0 is the start of the ruler and 1 is the end.\n *\n * @default 0.5 - center of the ruler\n */\n placeOnRuler?: number;\n}\n\nexport function useRangeDateSelectionState(\n props: RangeDateSelectionOptions,\n): RangeDateSelectionState {\n const inputTimeZone = useDefaultTimeZone(\n props.value?.start || props.defaultValue?.start || props.placeholderValue,\n );\n const timeZone = props.timeZone || inputTimeZone;\n\n const placeholderValue = createPlaceholderValue({\n placeholderValue: props.placeholderValue,\n timeZone,\n });\n\n const [isDragging, setIsDragging] = React.useState(false);\n const [currentValue, setCurrentValue] = React.useState<RangeValue<DateTime> | null>(null);\n\n const [value, setValue] = useControlledState(\n props.value,\n props.defaultValue ?? {\n start: placeholderValue.startOf('day').timeZone(inputTimeZone),\n end: placeholderValue.endOf('day').timeZone(inputTimeZone),\n },\n props.onUpdate,\n );\n\n const setInterval = (newValue: RangeValue<DateTime>) => {\n setCurrentValue(null);\n setValue({\n start: alignDateTime(newValue.start, props.align).timeZone(inputTimeZone),\n end: alignDateTime(newValue.end, props.align).timeZone(inputTimeZone),\n });\n };\n\n const displayValue = {\n start: value.start.timeZone(timeZone),\n end: value.end.timeZone(timeZone),\n };\n const interval = isDragging ? displayValue : currentValue ?? displayValue;\n\n const viewportInterval = getViewportIntervalFromDates(\n interval.start,\n interval.end,\n props.numberOfIntervals,\n props.placeOnRuler,\n );\n\n const minValue = props.minValue?.isAfter(viewportInterval.start)\n ? props.minValue\n : viewportInterval.start;\n const maxValue = props.maxValue?.isBefore(viewportInterval.end)\n ? props.maxValue\n : viewportInterval.end;\n\n const align = props.align ?? SECOND;\n const minDuration = Math.max(props.minDuration ?? SECOND, align);\n const maxDuration = Math.max(\n Math.min(props.maxDuration ?? 15 * YEAR, maxValue.diff(minValue)),\n minDuration,\n );\n\n const canResize = minDuration < maxDuration;\n\n const draggingState = React.useRef<RangeValue<DateTime> | null>(null);\n const setDraggingValue = (v: RangeValue<DateTime> | null) => {\n draggingState.current = v;\n setCurrentValue(v);\n };\n const startDragging = () => {\n setIsDragging(true);\n setDraggingValue(displayValue);\n };\n\n const endDragging = () => {\n setIsDragging(false);\n if (draggingState.current) {\n setInterval(draggingState.current);\n }\n };\n\n const moveInterval = (delta: number) => {\n if (!draggingState.current) {\n return;\n }\n const {start, end} = draggingState.current;\n let newStart = start.add(delta, 'millisecond');\n let newEnd = end.add(delta, 'millisecond');\n const diff = newEnd.diff(newStart);\n if (newStart.valueOf() < minValue.valueOf()) {\n newStart = minValue;\n newEnd = constrainValue(newStart.add(diff, 'millisecond'), newStart, maxValue);\n } else if (newEnd.valueOf() > maxValue.valueOf()) {\n newEnd = maxValue;\n newStart = constrainValue(newEnd.subtract(diff, 'millisecond'), minValue, newEnd);\n }\n setDraggingValue({start: newStart, end: newEnd});\n };\n\n const moveStart = (\n delta: number,\n {visualMinDuration = minDuration}: {visualMinDuration?: number} = {},\n ) => {\n if (!draggingState.current) {\n return;\n }\n const {start, end} = draggingState.current;\n let newStart = start.add(delta, 'millisecond');\n const deltaMin = Math.max(visualMinDuration, minDuration);\n const deltaMax = Math.min(maxDuration, end.diff(minValue));\n newStart = constrainValue(\n newStart,\n end.subtract(deltaMax, 'millisecond'),\n end.subtract(deltaMin, 'millisecond'),\n );\n setDraggingValue({start: newStart, end});\n };\n\n const moveEnd = (\n delta: number,\n {visualMinDuration = minDuration}: {visualMinDuration?: number} = {},\n ) => {\n if (!draggingState.current) {\n return;\n }\n const {start, end} = draggingState.current;\n let newEnd = end.add(delta, 'millisecond');\n const deltaMin = Math.max(visualMinDuration, minDuration);\n const deltaMax = Math.min(maxDuration, maxValue.diff(start));\n\n newEnd = constrainValue(\n end.add(delta, 'millisecond'),\n start.add(deltaMin, 'millisecond'),\n start.add(deltaMax, 'millisecond'),\n );\n\n setDraggingValue({start, end: newEnd});\n };\n\n const zoomInterval = (\n scale: number,\n {\n visualMinDuration = minDuration,\n fixedPoint = 0.5,\n }: {visualMinDuration?: number; fixedPoint?: number} = {},\n ) => {\n if (!draggingState.current) {\n return;\n }\n const {start, end} = draggingState.current;\n const len = end.diff(start);\n let newDiff = len * scale;\n newDiff = align * Math.round(newDiff / align);\n newDiff = Math.min(\n Math.max(newDiff, Math.max(visualMinDuration, minDuration)),\n maxDuration,\n );\n let newStart = start.subtract(fixedPoint * (newDiff - len));\n let newEnd = newStart.add(newDiff, 'millisecond');\n const diff = newEnd.diff(newStart);\n if (newStart.valueOf() < minValue.valueOf()) {\n newStart = minValue;\n newEnd = constrainValue(newStart.add(diff, 'millisecond'), newStart, maxValue);\n } else if (newEnd.valueOf() > maxValue.valueOf()) {\n newEnd = maxValue;\n newStart = constrainValue(newEnd.subtract(diff, 'millisecond'), minValue, newEnd);\n }\n\n setDraggingValue({start: newStart, end: newEnd});\n };\n\n return {\n viewportInterval,\n value: currentValue ?? displayValue,\n setValue: setInterval,\n setDraggingValue,\n canResize,\n startDragging,\n move: moveInterval,\n scale: zoomInterval,\n moveStart,\n moveEnd,\n endDragging,\n timeZone,\n align,\n isDragging,\n };\n}\n"]}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
7
5
  const i18n_1 = require("@gravity-ui/uikit/i18n");
8
- const cn_1 = require("../../../utils/cn");
9
- const en_json_1 = __importDefault(require("./en.json"));
10
- const ru_json_1 = __importDefault(require("./ru.json"));
6
+ const cn_1 = require("../../../utils/cn.js");
7
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
11
9
  exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}range-date-selection`);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["components/RangeDateSelection/i18n/index.ts"],"names":[],"mappings":";;;;AAAA,iDAA2D;AAE3D,6CAA4C;AAE5C,gEAA2B;AAC3B,gEAA2B;AAEd,QAAA,IAAI,GAAG,IAAA,0BAAmB,EAAC,EAAC,EAAE,EAAF,iBAAE,EAAE,EAAE,EAAF,iBAAE,EAAC,EAAE,GAAG,cAAS,sBAAsB,CAAC,CAAC","sourcesContent":["import {addComponentKeysets} from '@gravity-ui/uikit/i18n';\n\nimport {NAMESPACE} from '../../../utils/cn';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport const i18n = addComponentKeysets({en, ru}, `${NAMESPACE}range-date-selection`);\n"]}
@@ -1,3 +1,3 @@
1
- export * from './RangeDateSelection';
2
- export * from './hooks/useRangeDateSelectionState';
3
- export type { ViewportDimensions, ViewportInterval } from './components/Ruler/Ruler';
1
+ export * from "./RangeDateSelection.js";
2
+ export * from "./hooks/useRangeDateSelectionState.js";
3
+ export type { ViewportDimensions, ViewportInterval } from "./components/Ruler/Ruler.js";
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./RangeDateSelection"), exports);
18
- __exportStar(require("./hooks/useRangeDateSelectionState"), exports);
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./RangeDateSelection.js"), exports);
5
+ tslib_1.__exportStar(require("./hooks/useRangeDateSelectionState.js"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["components/RangeDateSelection/index.ts"],"names":[],"mappings":";;;AAAA,kEAAqC;AACrC,gFAAmD","sourcesContent":["export * from './RangeDateSelection';\nexport * from './hooks/useRangeDateSelectionState';\n\nexport type {ViewportDimensions, ViewportInterval} from './components/Ruler/Ruler';\n"]}
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.alignDateTime = alignDateTime;
4
4
  const date_utils_1 = require("@gravity-ui/date-utils");
5
- const constants_1 = require("../../utils/constants");
5
+ const constants_1 = require("../../utils/constants.js");
6
6
  function alignDateTime(date, align = constants_1.SECOND) {
7
7
  return (0, date_utils_1.dateTimeUtc)({
8
8
  input: Math.round(date.utc(true).valueOf() / align) * align,
9
9
  }).timeZone(date.timeZone(), true);
10
10
  }
11
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"../../../../../src","sources":["components/RangeDateSelection/utils/date.ts"],"names":[],"mappings":";;AAKA,sCAIC;AATD,uDAAmD;AAGnD,wDAA6C;AAE7C,SAAgB,aAAa,CAAC,IAAc,EAAE,KAAK,GAAG,kBAAM;IACxD,OAAO,IAAA,wBAAW,EAAC;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK;KAC9D,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC","sourcesContent":["import {dateTimeUtc} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport {SECOND} from '../../utils/constants';\n\nexport function alignDateTime(date: DateTime, align = SECOND) {\n return dateTimeUtc({\n input: Math.round(date.utc(true).valueOf() / align) * align,\n }).timeZone(date.timeZone(), true);\n}\n"]}
@@ -25,3 +25,4 @@ function lerp(from, to, value) {
25
25
  function getLerpCoeff(from, to) {
26
26
  return (to.end - to.start) / (from.end - from.start);
27
27
  }
28
+ //# sourceMappingURL=span.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.js","sourceRoot":"../../../../../src","sources":["components/RangeDateSelection/utils/span.ts"],"names":[],"mappings":";;AAgBA,oBAEC;AAQD,oCAEC;AAvBD;;;;;;;;;;GAUG;AACH,SAAgB,IAAI,CAAC,IAAU,EAAE,EAAQ,EAAE,KAAa;IACpD,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,IAAU,EAAE,EAAQ;IAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC","sourcesContent":["export interface Span {\n start: number;\n end: number;\n}\n\n/**\n * Implements linear interpolation (lerp).\n *\n * Calculates such a linear mapping `R -> R` that `from.start` will be mapped\n * into `to.start`, and `from.end` will be mapped to `to.end`. Then applies\n * this mapping to `value`.\n * @param from Interpolation domain\n * @param to Interpolation target\n * @param value Value from domain\n * @returns Value from target\n */\nexport function lerp(from: Span, to: Span, value: number): number {\n return to.start + ((value - from.start) * (to.end - to.start)) / (from.end - from.start);\n}\n\n/**\n * Calculates a lerp scale coefficient\n * @param from Interpolation domain\n * @param to Interpolation target\n * @returns Scale coefficient\n */\nexport function getLerpCoeff(from: Span, to: Span): number {\n return (to.end - to.start) / (from.end - from.start);\n}\n"]}
@@ -13,4 +13,5 @@
13
13
  }
14
14
  .g-date-relative-date-field__time-field-wrapper {
15
15
  padding: 10px;
16
- }
16
+ }
17
+ /*# sourceMappingURL=RelativeDateField.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/RelativeDateField/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Drelative-date-field';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20position:%20relative;%0A%0A%20%20%20%20display:%20inline-block;%0A%0A%20%20%20%20&__field%20%7B%0A%20%20%20%20%20%20%20%20width:%20100%25;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__popup-content%20%7B%0A%20%20%20%20%20%20%20%20outline:%20none;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__time-field%20%7B%0A%20%20%20%20%20%20%20%20width:%20100%25;%0A%0A%20%20%20%20%20%20%20%20&-wrapper%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding:%2010px;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EAEA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}relative-date-field';\n\n#{$block} {\n position: relative;\n\n display: inline-block;\n\n &__field {\n width: 100%;\n }\n\n &__popup-content {\n outline: none;\n }\n\n &__time-field {\n width: 100%;\n\n &-wrapper {\n padding: 10px;\n }\n }\n}\n"],"file":"RelativeDateField.css"}
@@ -1,6 +1,6 @@
1
- import type { AccessibilityProps, DomProps, FocusableProps, InputDOMProps, KeyboardEvents, StyleProps, TextInputExtendProps, TextInputProps } from '../types';
2
- import type { RelativeDateFieldOptions } from './hooks/useRelativeDateFieldState';
3
- import './RelativeDateField.css';
1
+ import type { AccessibilityProps, DomProps, FocusableProps, InputDOMProps, KeyboardEvents, StyleProps, TextInputExtendProps, TextInputProps } from "../types/index.js";
2
+ import type { RelativeDateFieldOptions } from "./hooks/useRelativeDateFieldState.js";
3
+ import "./RelativeDateField.css";
4
4
  export interface RelativeDateFieldProps extends RelativeDateFieldOptions, TextInputProps, TextInputExtendProps, DomProps, InputDOMProps, StyleProps, AccessibilityProps, FocusableProps, KeyboardEvents {
5
5
  /**
6
6
  * Show time field in popup
@@ -1,19 +1,17 @@
1
1
  'use client';
2
2
  "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
3
  Object.defineProperty(exports, "__esModule", { value: true });
7
4
  exports.RelativeDateField = RelativeDateField;
5
+ const tslib_1 = require("tslib");
8
6
  const jsx_runtime_1 = require("react/jsx-runtime");
9
- const react_1 = __importDefault(require("react"));
7
+ const react_1 = tslib_1.__importDefault(require("react"));
10
8
  const uikit_1 = require("@gravity-ui/uikit");
11
- const cn_1 = require("../../utils/cn");
12
- const Calendar_1 = require("../Calendar");
13
- const DateField_1 = require("../DateField");
14
- const HiddenInput_1 = require("../HiddenInput/HiddenInput");
15
- const useRelativeDateFieldProps_1 = require("./hooks/useRelativeDateFieldProps");
16
- const useRelativeDateFieldState_1 = require("./hooks/useRelativeDateFieldState");
9
+ const cn_1 = require("../../utils/cn.js");
10
+ const Calendar_1 = require("../Calendar/index.js");
11
+ const DateField_1 = require("../DateField/index.js");
12
+ const HiddenInput_1 = require("../HiddenInput/HiddenInput.js");
13
+ const useRelativeDateFieldProps_1 = require("./hooks/useRelativeDateFieldProps.js");
14
+ const useRelativeDateFieldState_1 = require("./hooks/useRelativeDateFieldState.js");
17
15
  require("./RelativeDateField.css");
18
16
  const b = (0, cn_1.block)('relative-date-field');
19
17
  function RelativeDateField(props) {
@@ -38,3 +36,4 @@ function RelativeDateField(props) {
38
36
  state.setValue(value);
39
37
  }, disabled: state.disabled, form: props.form }), !isMobile && ((0, jsx_runtime_1.jsx)(uikit_1.Popup, { anchorRef: anchorRef, open: isOpen, children: (0, jsx_runtime_1.jsxs)("div", { className: b('popup-content'), children: [(0, jsx_runtime_1.jsx)(Calendar_1.Calendar, Object.assign({}, calendarProps)), props.hasTime ? ((0, jsx_runtime_1.jsx)("div", { className: b('time-field-wrapper'), children: (0, jsx_runtime_1.jsx)(DateField_1.DateField, Object.assign({ className: b('time-field') }, timeInputProps)) })) : null] }) }))] })));
40
38
  }
39
+ //# sourceMappingURL=RelativeDateField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelativeDateField.js","sourceRoot":"../../../../src","sources":["components/RelativeDateField/RelativeDateField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AA6Cb,8CA2DC;;;AAtGD,0DAA0B;AAE1B,6CAA8E;AAE9E,0CAAqC;AACrC,mDAAqC;AACrC,qDAAuC;AACvC,+DAAuD;AAYvD,oFAA4E;AAC5E,oFAA4E;AAG5E,mCAAkC;AAElC,MAAM,CAAC,GAAG,IAAA,UAAK,EAAC,qBAAqB,CAAC,CAAC;AAkBvC,SAAgB,iBAAiB,CAAC,KAA6B;IAC3D,MAAM,KAAK,GAAG,IAAA,qDAAyB,EAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAC,GAAG,IAAA,qDAAyB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE5F,MAAM,QAAQ,GAAG,IAAA,iBAAS,GAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,eAAK,CAAC,MAAM,CAAc,IAAI,CAAC,CAAC;IAElD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,EAAC,gBAAgB,EAAC,GAAG,IAAA,sBAAc,EAAC;QACtC,YAAY,EAAE,GAAG,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,UAAU,EAAE,QAAQ;KACvB,CAAC,CAAC;IAEH,OAAO,CACH,+CACI,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EACnC,KAAK,EAAE,KAAK,CAAC,KAAK,IACd,gBAAgB,eAEpB,uBAAC,iBAAS,oBACF,UAAU,IACd,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;;oBACX,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC;oBACD,MAAA,KAAK,CAAC,OAAO,sDAAG,CAAC,CAAC,CAAC;gBACvB,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,MAAM,IACtB,EACF,uBAAC,yBAAW,IACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC,EACD,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,IAAI,EAAE,KAAK,CAAC,IAAI,GAClB,EACD,CAAC,QAAQ,IAAI,CACV,uBAAC,aAAK,IAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YACrC,iCAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,uBAAC,mBAAQ,oBAAK,aAAa,EAAI,EAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACb,gCAAK,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,YACnC,uBAAC,qBAAS,kBAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,IAAM,cAAc,EAAI,GAC3D,CACT,CAAC,CAAC,CAAC,IAAI,IACN,GACF,CACX,KACC,CACT,CAAC;AACN,CAAC","sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport {Popup, TextInput, useFocusWithin, useMobile} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\nimport {Calendar} from '../Calendar';\nimport {DateField} from '../DateField';\nimport {HiddenInput} from '../HiddenInput/HiddenInput';\nimport type {\n AccessibilityProps,\n DomProps,\n FocusableProps,\n InputDOMProps,\n KeyboardEvents,\n StyleProps,\n TextInputExtendProps,\n TextInputProps,\n} from '../types';\n\nimport {useRelativeDateFieldProps} from './hooks/useRelativeDateFieldProps';\nimport {useRelativeDateFieldState} from './hooks/useRelativeDateFieldState';\nimport type {RelativeDateFieldOptions} from './hooks/useRelativeDateFieldState';\n\nimport './RelativeDateField.scss';\n\nconst b = block('relative-date-field');\n\nexport interface RelativeDateFieldProps\n extends RelativeDateFieldOptions,\n TextInputProps,\n TextInputExtendProps,\n DomProps,\n InputDOMProps,\n StyleProps,\n AccessibilityProps,\n FocusableProps,\n KeyboardEvents {\n /**\n * Show time field in popup\n * @default false\n */\n hasTime?: boolean;\n}\nexport function RelativeDateField(props: RelativeDateFieldProps) {\n const state = useRelativeDateFieldState(props);\n const {inputProps, calendarProps, timeInputProps} = useRelativeDateFieldProps(state, props);\n\n const isMobile = useMobile();\n\n const anchorRef = React.useRef<HTMLElement>(null);\n\n const [isOpen, setOpen] = React.useState(false);\n\n const {focusWithinProps} = useFocusWithin({\n onBlurWithin: () => {\n setOpen(false);\n },\n isDisabled: isMobile,\n });\n\n return (\n <div\n role=\"group\"\n className={b(null, props.className)}\n style={props.style}\n {...focusWithinProps}\n >\n <TextInput\n {...inputProps}\n className={b('field')}\n ref={anchorRef}\n onFocus={(e) => {\n if (!isMobile) {\n setOpen(true);\n }\n props.onFocus?.(e);\n }}\n onBlur={props.onBlur}\n />\n <HiddenInput\n name={props.name}\n value={state.value}\n onReset={(value) => {\n state.setValue(value);\n }}\n disabled={state.disabled}\n form={props.form}\n />\n {!isMobile && (\n <Popup anchorRef={anchorRef} open={isOpen}>\n <div className={b('popup-content')}>\n <Calendar {...calendarProps} />\n {props.hasTime ? (\n <div className={b('time-field-wrapper')}>\n <DateField className={b('time-field')} {...timeInputProps} />\n </div>\n ) : null}\n </div>\n </Popup>\n )}\n </div>\n );\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import type { TextInputProps } from '@gravity-ui/uikit';
2
- import type { CalendarProps } from '../../Calendar';
3
- import type { DateFieldProps } from '../../DateField';
4
- import type { RelativeDateFieldProps } from '../RelativeDateField';
5
- import type { RelativeDateFieldState } from './useRelativeDateFieldState';
2
+ import type { CalendarProps } from "../../Calendar/index.js";
3
+ import type { DateFieldProps } from "../../DateField/index.js";
4
+ import type { RelativeDateFieldProps } from "../RelativeDateField.js";
5
+ import type { RelativeDateFieldState } from "./useRelativeDateFieldState.js";
6
6
  interface RelativeDateProps {
7
7
  inputProps: TextInputProps;
8
8
  calendarProps: CalendarProps;
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.useRelativeDateFieldProps = useRelativeDateFieldProps;
7
- const react_1 = __importDefault(require("react"));
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
8
6
  function useRelativeDateFieldProps(state, props) {
9
7
  const [prevCorrectDate, setPrevCorrectDate] = react_1.default.useState(state.lastCorrectDate);
10
8
  const [focusedDate, setFocusedDate] = react_1.default.useState(state.lastCorrectDate);
@@ -58,3 +56,4 @@ function useRelativeDateFieldProps(state, props) {
58
56
  },
59
57
  };
60
58
  }
59
+ //# sourceMappingURL=useRelativeDateFieldProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRelativeDateFieldProps.js","sourceRoot":"../../../../../src","sources":["components/RelativeDateField/hooks/useRelativeDateFieldProps.ts"],"names":[],"mappings":";;AAgBA,8DAyDC;;AAzED,0DAA0B;AAgB1B,SAAgB,yBAAyB,CACrC,KAA6B,EAC7B,KAA6B;IAE7B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE5E,IAAI,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5C,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1C,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,UAAU,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE;gBACV,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS;gBAC9C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,SAAS;gBACxD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI,SAAS;gBAC1D,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,SAAS;gBAClD,eAAe,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;gBAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ;aAC3B;SACJ;QACD,aAAa,EAAE;YACX,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YAC3C,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK,CAAC,UAAU;YACvB,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,cAAc;SAChC;QACD,cAAc,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK,CAAC,eAAe;YAC5B,MAAM,EAAE,KAAK;SAChB;KACJ,CAAC;AACN,CAAC","sourcesContent":["import React from 'react';\n\nimport type {TextInputProps} from '@gravity-ui/uikit';\n\nimport type {CalendarProps} from '../../Calendar';\nimport type {DateFieldProps} from '../../DateField';\nimport type {RelativeDateFieldProps} from '../RelativeDateField';\n\nimport type {RelativeDateFieldState} from './useRelativeDateFieldState';\n\ninterface RelativeDateProps {\n inputProps: TextInputProps;\n calendarProps: CalendarProps;\n timeInputProps: DateFieldProps;\n}\n\nexport function useRelativeDateFieldProps(\n state: RelativeDateFieldState,\n props: RelativeDateFieldProps,\n): RelativeDateProps {\n const [prevCorrectDate, setPrevCorrectDate] = React.useState(state.lastCorrectDate);\n const [focusedDate, setFocusedDate] = React.useState(state.lastCorrectDate);\n\n if (prevCorrectDate !== state.lastCorrectDate) {\n setPrevCorrectDate(state.lastCorrectDate);\n setFocusedDate(state.lastCorrectDate);\n }\n\n return {\n inputProps: {\n size: props.size,\n autoFocus: props.autoFocus,\n value: state.text,\n onUpdate: state.setText,\n disabled: state.disabled,\n hasClear: props.hasClear,\n validationState: state.validationState,\n errorMessage: props.errorMessage,\n errorPlacement: props.errorPlacement,\n label: props.label,\n id: props.id,\n startContent: props.startContent,\n endContent: props.endContent,\n pin: props.pin,\n view: props.view,\n placeholder: props.placeholder,\n onKeyDown: props.onKeyDown,\n onKeyUp: props.onKeyUp,\n onBlur: props.onBlur,\n onFocus: props.onFocus,\n controlProps: {\n 'aria-label': props['aria-label'] || undefined,\n 'aria-labelledby': props['aria-labelledby'] || undefined,\n 'aria-describedby': props['aria-describedby'] || undefined,\n 'aria-details': props['aria-details'] || undefined,\n 'aria-disabled': state.disabled || undefined,\n readOnly: state.readOnly,\n },\n },\n calendarProps: {\n size: props.size === 's' ? 'm' : props.size,\n readOnly: true,\n value: state.parsedDate,\n focusedValue: focusedDate,\n onFocusUpdate: setFocusedDate,\n },\n timeInputProps: {\n size: props.size,\n readOnly: true,\n value: state.lastCorrectDate,\n format: 'LTS',\n },\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { DateTime } from '@gravity-ui/date-utils';
2
- import type { InputBase, Validation, ValueBase } from '../../types';
2
+ import type { InputBase, Validation, ValueBase } from "../../types/index.js";
3
3
  export interface RelativeDateFieldState {
4
4
  /** The current field value. */
5
5
  value: string | null;
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.useRelativeDateFieldState = useRelativeDateFieldState;
7
- const react_1 = __importDefault(require("react"));
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
8
6
  const date_utils_1 = require("@gravity-ui/date-utils");
9
7
  const uikit_1 = require("@gravity-ui/uikit");
10
8
  function useRelativeDateFieldState(props) {
@@ -21,7 +19,7 @@ function useRelativeDateFieldState(props) {
21
19
  setText(t);
22
20
  if ((0, date_utils_1.isLikeRelative)(t)) {
23
21
  const date = (0, date_utils_1.dateTimeParse)(t);
24
- if (date && (0, date_utils_1.isValid)(date)) {
22
+ if (date && date.isValid()) {
25
23
  setValue(t);
26
24
  }
27
25
  else {
@@ -61,3 +59,4 @@ function useRelativeDateFieldState(props) {
61
59
  readOnly: props.readOnly,
62
60
  };
63
61
  }
62
+ //# sourceMappingURL=useRelativeDateFieldState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRelativeDateFieldState.js","sourceRoot":"../../../../../src","sources":["components/RelativeDateField/hooks/useRelativeDateFieldState.ts"],"names":[],"mappings":";;AAsCA,8DA4DC;;AAlGD,0DAA0B;AAE1B,uDAAqE;AAErE,6CAAqD;AAkCrD,SAAgB,yBAAyB,CAAC,KAA+B;;IACrE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,0BAAkB,EACxC,KAAK,CAAC,KAAK,EACX,MAAA,KAAK,CAAC,YAAY,mCAAI,IAAI,EAC1B,KAAK,CAAC,QAAQ,CACjB,CAAC;IAEF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC;IACpD,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,CAAC;QACX,IAAI,IAAA,2BAAc,EAAC,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzB,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,MAAA,IAAA,0BAAa,EAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAC,CAAC,mCAAI,IAAI,CAAC;IAC5F,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzE,IAAI,UAAU,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;QAC/C,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/F,OAAO;QACH,KAAK;QACL,QAAQ,CAAC,CAAgB;YACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,OAAO;YACX,CAAC;YAED,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,IAAI;QACJ,OAAO,EAAE,gBAAgB;QACzB,UAAU;QACV,eAAe;QACf,eAAe;QACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KAC3B,CAAC;AACN,CAAC","sourcesContent":["import React from 'react';\n\nimport {dateTimeParse, isLikeRelative} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {useControlledState} from '@gravity-ui/uikit';\n\nimport type {InputBase, Validation, ValueBase} from '../../types';\n\nexport interface RelativeDateFieldState {\n /** The current field value. */\n value: string | null;\n /** Sets the field value */\n setValue: (v: string | null) => void;\n /** Current user input */\n text: string;\n /** Sets text */\n setText: (t: string) => void;\n /** */\n parsedDate: DateTime | null;\n /** */\n lastCorrectDate: DateTime | null;\n /** */\n validationState?: 'invalid';\n /**\n * Whether the field is disabled.\n */\n disabled?: boolean;\n /**\n * Whether the value is immutable.\n */\n readOnly?: boolean;\n}\n\nexport interface RelativeDateFieldOptions extends ValueBase<string | null>, InputBase, Validation {\n timeZone?: string;\n /** Round up parsed date to the nearest granularity. */\n roundUp?: boolean;\n}\nexport function useRelativeDateFieldState(props: RelativeDateFieldOptions): RelativeDateFieldState {\n const [value, setValue] = useControlledState(\n props.value,\n props.defaultValue ?? null,\n props.onUpdate,\n );\n\n const [text, setText] = React.useState(value ?? '');\n if (value && value !== text) {\n setText(value);\n }\n\n const handleTextChange = (t: string) => {\n if (props.disabled || props.readOnly) {\n return;\n }\n setText(t);\n if (isLikeRelative(t)) {\n const date = dateTimeParse(t);\n if (date && date.isValid()) {\n setValue(t);\n } else {\n setValue(null);\n }\n } else {\n setValue(null);\n }\n };\n\n const parsedDate = React.useMemo(() => {\n if (!value) {\n return null;\n }\n return dateTimeParse(value, {timeZone: props.timeZone, roundUp: props.roundUp}) ?? null;\n }, [value, props.timeZone, props.roundUp]);\n\n const [lastCorrectDate, setLastCorrectDate] = React.useState(parsedDate);\n if (parsedDate && parsedDate !== lastCorrectDate) {\n setLastCorrectDate(parsedDate);\n }\n\n const validationState = props.validationState || (text && !parsedDate) ? 'invalid' : undefined;\n\n return {\n value,\n setValue(v: string | null) {\n if (props.disabled || props.readOnly) {\n return;\n }\n\n setValue(v);\n },\n text,\n setText: handleTextChange,\n parsedDate,\n lastCorrectDate,\n validationState,\n disabled: props.disabled,\n readOnly: props.readOnly,\n };\n}\n"]}
@@ -1,3 +1,3 @@
1
- export * from './RelativeDateField';
2
- export * from './hooks/useRelativeDateFieldProps';
3
- export * from './hooks/useRelativeDateFieldState';
1
+ export * from "./RelativeDateField.js";
2
+ export * from "./hooks/useRelativeDateFieldProps.js";
3
+ export * from "./hooks/useRelativeDateFieldState.js";
@@ -1,19 +1,7 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./RelativeDateField"), exports);
18
- __exportStar(require("./hooks/useRelativeDateFieldProps"), exports);
19
- __exportStar(require("./hooks/useRelativeDateFieldState"), exports);
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./RelativeDateField.js"), exports);
5
+ tslib_1.__exportStar(require("./hooks/useRelativeDateFieldProps.js"), exports);
6
+ tslib_1.__exportStar(require("./hooks/useRelativeDateFieldState.js"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["components/RelativeDateField/index.ts"],"names":[],"mappings":";;;AAAA,iEAAoC;AACpC,+EAAkD;AAClD,+EAAkD","sourcesContent":["export * from './RelativeDateField';\nexport * from './hooks/useRelativeDateFieldProps';\nexport * from './hooks/useRelativeDateFieldState';\n"]}
@@ -17,4 +17,5 @@
17
17
  }
18
18
  .g-date-relative-date-picker__time-field-wrapper {
19
19
  padding: 10px;
20
- }
20
+ }
21
+ /*# sourceMappingURL=RelativeDatePicker.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/RelativeDatePicker/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Drelative-date-picker';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20position:%20relative;%0A%0A%20%20%20%20display:%20inline-flex;%0A%0A%20%20%20%20outline:%20none;%0A%0A%20%20%20%20&__input%20%7B%0A%20%20%20%20%20%20%20%20&_mobile%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20pointer-events:%20none;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__field%20%7B%0A%20%20%20%20%20%20%20%20width:%20100%25;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__popup-content%20%7B%0A%20%20%20%20%20%20%20%20outline:%20none;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__time-field%20%7B%0A%20%20%20%20%20%20%20%20width:%20100%25;%0A%0A%20%20%20%20%20%20%20%20&-wrapper%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding:%2010px;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EAEA;EAEA;;AAGI;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}relative-date-picker';\n\n#{$block} {\n position: relative;\n\n display: inline-flex;\n\n outline: none;\n\n &__input {\n &_mobile {\n pointer-events: none;\n }\n }\n\n &__field {\n width: 100%;\n }\n\n &__popup-content {\n outline: none;\n }\n\n &__time-field {\n width: 100%;\n\n &-wrapper {\n padding: 10px;\n }\n }\n}\n"],"file":"RelativeDatePicker.css"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import type { CalendarProps } from '../Calendar';
3
- import type { AccessibilityProps, DomProps, FocusableProps, InputDOMProps, KeyboardEvents, StyleProps, TextInputProps } from '../types';
4
- import type { RelativeDatePickerStateOptions } from './hooks/useRelativeDatePickerState';
5
- import './RelativeDatePicker.css';
2
+ import type { CalendarProps } from "../Calendar/index.js";
3
+ import type { AccessibilityProps, DomProps, FocusableProps, InputDOMProps, KeyboardEvents, StyleProps, TextInputProps } from "../types/index.js";
4
+ import type { RelativeDatePickerStateOptions } from "./hooks/useRelativeDatePickerState.js";
5
+ import "./RelativeDatePicker.css";
6
6
  export interface RelativeDatePickerProps extends RelativeDatePickerStateOptions, TextInputProps, FocusableProps, KeyboardEvents, DomProps, InputDOMProps, StyleProps, AccessibilityProps {
7
7
  children?: (props: CalendarProps) => React.ReactNode;
8
8
  /** Handler that is called when the popup's open state changes. */
@@ -1,22 +1,20 @@
1
1
  'use client';
2
2
  "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
3
  Object.defineProperty(exports, "__esModule", { value: true });
7
4
  exports.RelativeDatePicker = RelativeDatePicker;
5
+ const tslib_1 = require("tslib");
8
6
  const jsx_runtime_1 = require("react/jsx-runtime");
9
- const react_1 = __importDefault(require("react"));
7
+ const react_1 = tslib_1.__importDefault(require("react"));
10
8
  const icons_1 = require("@gravity-ui/icons");
11
9
  const uikit_1 = require("@gravity-ui/uikit");
12
- const cn_1 = require("../../utils/cn");
13
- const Calendar_1 = require("../Calendar");
14
- const DateField_1 = require("../DateField");
15
- const MobileCalendar_1 = require("../DatePicker/MobileCalendar");
16
- const StubButton_1 = require("../DatePicker/StubButton");
17
- const HiddenInput_1 = require("../HiddenInput/HiddenInput");
18
- const useRelativeDatePickerProps_1 = require("./hooks/useRelativeDatePickerProps");
19
- const useRelativeDatePickerState_1 = require("./hooks/useRelativeDatePickerState");
10
+ const cn_1 = require("../../utils/cn.js");
11
+ const Calendar_1 = require("../Calendar/index.js");
12
+ const DateField_1 = require("../DateField/index.js");
13
+ const MobileCalendar_1 = require("../DatePicker/MobileCalendar.js");
14
+ const StubButton_1 = require("../DatePicker/StubButton.js");
15
+ const HiddenInput_1 = require("../HiddenInput/HiddenInput.js");
16
+ const useRelativeDatePickerProps_1 = require("./hooks/useRelativeDatePickerProps.js");
17
+ const useRelativeDatePickerState_1 = require("./hooks/useRelativeDatePickerState.js");
20
18
  require("./RelativeDatePicker.css");
21
19
  const b = (0, cn_1.block)('relative-date-picker');
22
20
  function RelativeDatePicker(props) {
@@ -26,7 +24,7 @@ function RelativeDatePicker(props) {
26
24
  const anchorRef = react_1.default.useRef(null);
27
25
  const handleRef = (0, uikit_1.useForkRef)(anchorRef, groupProps.ref);
28
26
  const isMobile = (0, uikit_1.useMobile)();
29
- const isOnlyTime = state.datePickerState.hasTime && !state.datePickerState.hasDate;
27
+ const isOnlyTime = state.datePickerState.formatInfo.hasTime && !state.datePickerState.formatInfo.hasDate;
30
28
  return ((0, jsx_runtime_1.jsxs)("div", Object.assign({}, groupProps, { ref: handleRef, className: b(null, props.className), children: [isMobile && state.mode === 'absolute' && ((0, jsx_runtime_1.jsx)(MobileCalendar_1.MobileCalendar, { state: state.datePickerState, props: {
31
29
  id: props.id,
32
30
  disabled: props.disabled,
@@ -35,7 +33,7 @@ function RelativeDatePicker(props) {
35
33
  timeZone: props.timeZone,
36
34
  } })), (0, jsx_runtime_1.jsx)(uikit_1.TextInput, Object.assign({}, fieldProps, { controlProps: Object.assign(Object.assign({}, fieldProps.controlProps), { disabled: isMobile && state.mode === 'absolute', className: b('input', { mobile: isMobile && state.mode === 'absolute' }) }), hasClear: props.hasClear && !(isMobile && state.mode === 'absolute'), startContent: (0, jsx_runtime_1.jsx)(uikit_1.Button, Object.assign({}, modeSwitcherProps, { children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Function }) })), endContent: (0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [!isMobile && !isOnlyTime && ((0, jsx_runtime_1.jsx)(uikit_1.Button, Object.assign({}, calendarButtonProps, { children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Calendar }) }))), !isMobile && isOnlyTime && ((0, jsx_runtime_1.jsx)(StubButton_1.StubButton, { size: calendarButtonProps.size, icon: icons_1.Clock })), isMobile && state.mode === 'absolute' && ((0, jsx_runtime_1.jsx)(StubButton_1.StubButton, { size: calendarButtonProps.size, icon: isOnlyTime ? icons_1.Clock : icons_1.Calendar }))] }) })), (0, jsx_runtime_1.jsx)(HiddenInput_1.HiddenInput, { name: props.name, value: (_a = state.value) === null || _a === void 0 ? void 0 : _a.type, disabled: state.disabled, form: props.form }), (0, jsx_runtime_1.jsx)(HiddenInput_1.HiddenInput, { name: props.name, value: state.value, toStringValue: (value) => getNativeValue(value), onReset: (value) => {
37
35
  state.setValue(value);
38
- }, disabled: state.disabled, form: props.form }), !isMobile && !isOnlyTime && ((0, jsx_runtime_1.jsx)(uikit_1.Popup, Object.assign({}, popupProps, { anchorRef: anchorRef, children: (0, jsx_runtime_1.jsxs)("div", { className: b('popup-content'), children: [typeof props.children === 'function' ? (props.children(calendarProps)) : ((0, jsx_runtime_1.jsx)(Calendar_1.Calendar, Object.assign({}, calendarProps))), state.datePickerState.hasTime && ((0, jsx_runtime_1.jsx)("div", { className: b('time-field-wrapper'), children: (0, jsx_runtime_1.jsx)(DateField_1.DateField, Object.assign({}, timeInputProps)) }))] }) })))] })));
36
+ }, disabled: state.disabled, form: props.form }), !isMobile && !isOnlyTime && ((0, jsx_runtime_1.jsx)(uikit_1.Popup, Object.assign({}, popupProps, { anchorRef: anchorRef, children: (0, jsx_runtime_1.jsxs)("div", { className: b('popup-content'), children: [typeof props.children === 'function' ? (props.children(calendarProps)) : ((0, jsx_runtime_1.jsx)(Calendar_1.Calendar, Object.assign({}, calendarProps))), state.datePickerState.formatInfo.hasTime && ((0, jsx_runtime_1.jsx)("div", { className: b('time-field-wrapper'), children: (0, jsx_runtime_1.jsx)(DateField_1.DateField, Object.assign({}, timeInputProps)) }))] }) })))] })));
39
37
  }
40
38
  function getNativeValue(value) {
41
39
  if (!value) {
@@ -46,3 +44,4 @@ function getNativeValue(value) {
46
44
  }
47
45
  return value.value.toISOString();
48
46
  }
47
+ //# sourceMappingURL=RelativeDatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelativeDatePicker.js","sourceRoot":"../../../../src","sources":["components/RelativeDatePicker/RelativeDatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport {\n Calendar as CalendarIcon,\n Clock as ClockIcon,\n Function as FunctionIcon,\n} from '@gravity-ui/icons';\nimport {Button, Icon, Popup, TextInput, useForkRef, useMobile} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\nimport {Calendar} from '../Calendar';\nimport type {CalendarProps} from '../Calendar';\nimport {DateField} from '../DateField';\nimport {MobileCalendar} from '../DatePicker/MobileCalendar';\nimport {StubButton} from '../DatePicker/StubButton';\nimport {HiddenInput} from '../HiddenInput/HiddenInput';\nimport type {\n AccessibilityProps,\n DomProps,\n FocusableProps,\n InputDOMProps,\n KeyboardEvents,\n StyleProps,\n TextInputProps,\n} from '../types';\n\nimport {useRelativeDatePickerProps} from './hooks/useRelativeDatePickerProps';\nimport {useRelativeDatePickerState} from './hooks/useRelativeDatePickerState';\nimport type {RelativeDatePickerStateOptions, Value} from './hooks/useRelativeDatePickerState';\n\nimport './RelativeDatePicker.scss';\n\nconst b = block('relative-date-picker');\n\nexport interface RelativeDatePickerProps\n extends RelativeDatePickerStateOptions,\n TextInputProps,\n FocusableProps,\n KeyboardEvents,\n DomProps,\n InputDOMProps,\n StyleProps,\n AccessibilityProps {\n children?: (props: CalendarProps) => React.ReactNode;\n /** Handler that is called when the popup's open state changes. */\n onOpenChange?: (open: boolean) => void;\n}\n\nexport function RelativeDatePicker(props: RelativeDatePickerProps) {\n const state = useRelativeDatePickerState(props);\n\n const {\n groupProps,\n fieldProps,\n modeSwitcherProps,\n calendarButtonProps,\n popupProps,\n calendarProps,\n timeInputProps,\n } = useRelativeDatePickerProps(state, props);\n\n const anchorRef = React.useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(anchorRef, groupProps.ref);\n\n const isMobile = useMobile();\n const isOnlyTime =\n state.datePickerState.formatInfo.hasTime && !state.datePickerState.formatInfo.hasDate;\n\n return (\n <div {...groupProps} ref={handleRef} className={b(null, props.className)}>\n {isMobile && state.mode === 'absolute' && (\n <MobileCalendar\n state={state.datePickerState}\n props={{\n id: props.id,\n disabled: props.disabled,\n readOnly: props.readOnly,\n placeholderValue: props.placeholderValue,\n timeZone: props.timeZone,\n }}\n />\n )}\n <TextInput\n {...fieldProps}\n controlProps={{\n ...fieldProps.controlProps,\n disabled: isMobile && state.mode === 'absolute',\n className: b('input', {mobile: isMobile && state.mode === 'absolute'}),\n }}\n hasClear={props.hasClear && !(isMobile && state.mode === 'absolute')}\n startContent={\n <Button {...modeSwitcherProps}>\n <Icon data={FunctionIcon} />\n </Button>\n }\n endContent={\n <React.Fragment>\n {!isMobile && !isOnlyTime && (\n <Button {...calendarButtonProps}>\n <Icon data={CalendarIcon} />\n </Button>\n )}\n {!isMobile && isOnlyTime && (\n <StubButton size={calendarButtonProps.size} icon={ClockIcon} />\n )}\n {isMobile && state.mode === 'absolute' && (\n <StubButton\n size={calendarButtonProps.size}\n icon={isOnlyTime ? ClockIcon : CalendarIcon}\n />\n )}\n </React.Fragment>\n }\n />\n <HiddenInput\n name={props.name}\n value={state.value?.type}\n disabled={state.disabled}\n form={props.form}\n />\n <HiddenInput\n name={props.name}\n value={state.value}\n toStringValue={(value) => getNativeValue(value)}\n onReset={(value) => {\n state.setValue(value);\n }}\n disabled={state.disabled}\n form={props.form}\n />\n {!isMobile && !isOnlyTime && (\n <Popup {...popupProps} anchorRef={anchorRef}>\n <div className={b('popup-content')}>\n {typeof props.children === 'function' ? (\n props.children(calendarProps)\n ) : (\n <Calendar {...calendarProps} />\n )}\n {state.datePickerState.formatInfo.hasTime && (\n <div className={b('time-field-wrapper')}>\n <DateField {...timeInputProps} />\n </div>\n )}\n </div>\n </Popup>\n )}\n </div>\n );\n}\n\nfunction getNativeValue(value: Value | null) {\n if (!value) {\n return '';\n }\n if (value.type === 'relative') {\n return value.value;\n }\n return value.value.toISOString();\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { ButtonProps, PopupProps, TextInputProps } from '@gravity-ui/uikit';
3
- import type { Calendar } from '../../Calendar';
4
- import type { DateFieldProps } from '../../DateField';
5
- import type { RelativeDatePickerProps } from '../RelativeDatePicker';
6
- import type { RelativeDatePickerState } from './useRelativeDatePickerState';
3
+ import type { Calendar } from "../../Calendar/index.js";
4
+ import type { DateFieldProps } from "../../DateField/index.js";
5
+ import type { RelativeDatePickerProps } from "../RelativeDatePicker.js";
6
+ import type { RelativeDatePickerState } from "./useRelativeDatePickerState.js";
7
7
  interface InnerRelativeDatePickerProps {
8
8
  groupProps: React.HTMLAttributes<unknown> & {
9
9
  ref: React.Ref<HTMLElement>;
@@ -4,11 +4,12 @@ exports.useRelativeDatePickerProps = useRelativeDatePickerProps;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
- const DateField_1 = require("../../DateField");
8
- const RelativeDateField_1 = require("../../RelativeDateField");
9
- const getButtonSizeForInput_1 = require("../../utils/getButtonSizeForInput");
10
- const mergeProps_1 = require("../../utils/mergeProps");
11
- const i18n_1 = require("../i18n");
7
+ const DateField_1 = require("../../DateField/index.js");
8
+ const utils_1 = require("../../DatePicker/utils/index.js");
9
+ const RelativeDateField_1 = require("../../RelativeDateField/index.js");
10
+ const getButtonSizeForInput_1 = require("../../utils/getButtonSizeForInput.js");
11
+ const mergeProps_1 = require("../../utils/mergeProps.js");
12
+ const i18n_1 = require("../i18n/index.js");
12
13
  function useRelativeDatePickerProps(state, _a) {
13
14
  var { onFocus, onBlur } = _a, props = tslib_1.__rest(_a, ["onFocus", "onBlur"]);
14
15
  const { mode, setMode, datePickerState, relativeDateState } = state;
@@ -86,6 +87,7 @@ function useRelativeDatePickerProps(state, _a) {
86
87
  });
87
88
  }
88
89
  const groupRef = react_1.default.useRef(null);
90
+ const calendarModes = (0, utils_1.getCalendarModes)(datePickerState.formatInfo);
89
91
  return {
90
92
  groupProps: Object.assign(Object.assign({ ref: groupRef, tabIndex: -1, role: 'group' }, focusWithinProps), { onKeyDown: (e) => {
91
93
  if (e.altKey && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
@@ -166,7 +168,7 @@ function useRelativeDatePickerProps(state, _a) {
166
168
  value: state.selectedDate,
167
169
  onUpdate: (v) => {
168
170
  datePickerState.setDateValue(v);
169
- if (!state.datePickerState.hasTime) {
171
+ if (!state.datePickerState.formatInfo.hasTime) {
170
172
  setOpen(false);
171
173
  focusInput();
172
174
  }
@@ -175,6 +177,7 @@ function useRelativeDatePickerProps(state, _a) {
175
177
  onFocusUpdate: setFocusedDate,
176
178
  minValue: props.minValue,
177
179
  maxValue: props.maxValue,
180
+ modes: mode === 'absolute' ? calendarModes : undefined,
178
181
  },
179
182
  timeInputProps: {
180
183
  value: datePickerState.timeValue,
@@ -188,3 +191,4 @@ function useRelativeDatePickerProps(state, _a) {
188
191
  },
189
192
  };
190
193
  }
194
+ //# sourceMappingURL=useRelativeDatePickerProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRelativeDatePickerProps.js","sourceRoot":"../../../../../src","sources":["components/RelativeDatePicker/hooks/useRelativeDatePickerProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {useControlledState, useFocusWithin, useForkRef} from '@gravity-ui/uikit';\nimport type {ButtonProps, PopupProps, TextInputProps} from '@gravity-ui/uikit';\n\nimport type {Calendar, CalendarInstance} from '../../Calendar';\nimport {useDateFieldProps} from '../../DateField';\nimport type {DateFieldProps} from '../../DateField';\nimport {getCalendarModes} from '../../DatePicker/utils';\nimport {useRelativeDateFieldProps} from '../../RelativeDateField';\nimport {getButtonSizeForInput} from '../../utils/getButtonSizeForInput';\nimport {mergeProps} from '../../utils/mergeProps';\nimport type {RelativeDatePickerProps} from '../RelativeDatePicker';\nimport {i18n} from '../i18n';\n\nimport type {RelativeDatePickerState} from './useRelativeDatePickerState';\n\ninterface InnerRelativeDatePickerProps {\n groupProps: React.HTMLAttributes<unknown> & {ref: React.Ref<HTMLElement>};\n fieldProps: TextInputProps;\n modeSwitcherProps: ButtonProps;\n calendarButtonProps: ButtonProps;\n popupProps: PopupProps;\n calendarProps: React.ComponentProps<typeof Calendar>;\n timeInputProps: DateFieldProps;\n}\n\nexport function useRelativeDatePickerProps(\n state: RelativeDatePickerState,\n {onFocus, onBlur, ...props}: RelativeDatePickerProps,\n): InnerRelativeDatePickerProps {\n const {mode, setMode, datePickerState, relativeDateState} = state;\n\n const [focusedDate, setFocusedDate] = React.useState(\n mode === 'relative'\n ? relativeDateState.lastCorrectDate\n : datePickerState.dateFieldState.displayValue,\n );\n\n const [prevCorrectDate, setPrevCorrectDate] = React.useState(relativeDateState.lastCorrectDate);\n if (prevCorrectDate !== relativeDateState.lastCorrectDate) {\n setPrevCorrectDate(relativeDateState.lastCorrectDate);\n setFocusedDate(relativeDateState.lastCorrectDate);\n }\n\n const [prevDateValue, setPrevDateValue] = React.useState(\n datePickerState.dateFieldState.displayValue,\n );\n if (!datePickerState.dateFieldState.displayValue.isSame(prevDateValue, 'day')) {\n setPrevDateValue(datePickerState.dateFieldState.displayValue);\n setFocusedDate(datePickerState.dateFieldState.displayValue);\n }\n const {focusWithinProps} = useFocusWithin({\n onFocusWithin: onFocus,\n onBlurWithin: onBlur,\n onFocusWithinChange(isFocusWithin) {\n if (!isFocusWithin) {\n state.setActive(false);\n }\n },\n });\n\n const [isOpen, setOpen] = useControlledState<boolean>(undefined, false, props.onOpenChange);\n if (!state.isActive && isOpen) {\n setOpen(false);\n }\n\n const commonInputProps: TextInputProps = {\n onFocus: () => {\n if (!state.isActive) {\n state.setActive(true);\n setOpen(true);\n }\n },\n errorMessage: props.errorMessage,\n errorPlacement: props.errorPlacement,\n controlProps: {\n onClick: () => {\n if (state.disabled) {\n return;\n }\n if (!isOpen) {\n state.setActive(true);\n setOpen(true);\n }\n },\n role: 'combobox',\n 'aria-expanded': isOpen,\n },\n };\n\n const {inputProps} = useDateFieldProps(datePickerState.dateFieldState, {\n ...props,\n value: undefined,\n defaultValue: undefined,\n onUpdate: undefined,\n });\n\n const {inputProps: relativeDateProps} = useRelativeDateFieldProps(relativeDateState, {\n ...props,\n value: undefined,\n defaultValue: undefined,\n onUpdate: undefined,\n });\n\n let validationState = props.validationState;\n if (!validationState) {\n validationState =\n mode === 'relative'\n ? relativeDateState.validationState\n : datePickerState.dateFieldState.validationState;\n }\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleRef = useForkRef(\n inputRef,\n mode === 'relative' ? relativeDateProps.controlRef : inputProps.controlRef,\n );\n\n const calendarRef = React.useRef<CalendarInstance>(null);\n\n function focusCalendar() {\n setTimeout(() => {\n calendarRef.current?.focus();\n });\n }\n\n function focusInput() {\n setTimeout(() => {\n inputRef.current?.focus({preventScroll: true});\n });\n }\n const groupRef = React.useRef<HTMLElement>(null);\n const calendarModes = getCalendarModes(datePickerState.formatInfo);\n\n return {\n groupProps: {\n ref: groupRef,\n tabIndex: -1,\n role: 'group',\n ...focusWithinProps,\n onKeyDown: (e) => {\n if (e.altKey && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {\n e.preventDefault();\n e.stopPropagation();\n setOpen(true);\n focusCalendar();\n }\n },\n },\n fieldProps: mergeProps(\n commonInputProps,\n mode === 'relative' ? relativeDateProps : inputProps,\n mode === 'absolute' &&\n datePickerState.dateFieldState.isEmpty &&\n !state.isActive &&\n props.placeholder\n ? {value: ''}\n : undefined,\n {controlRef: handleRef, validationState},\n ),\n modeSwitcherProps: {\n size: getButtonSizeForInput(props.size),\n disabled: state.readOnly || state.disabled,\n view: 'flat-secondary',\n style: {zIndex: 2, marginInlineEnd: 2},\n selected: mode === 'relative',\n extraProps: {\n 'aria-label': i18n('Formula input mode'),\n },\n onClick: () => {\n setMode(mode === 'relative' ? 'absolute' : 'relative');\n if (mode === 'relative') {\n const valueDate = datePickerState.value;\n if (valueDate) {\n setFocusedDate(valueDate);\n }\n } else if (relativeDateState.parsedDate) {\n setFocusedDate(relativeDateState.parsedDate);\n }\n focusInput();\n },\n },\n calendarButtonProps: {\n size: getButtonSizeForInput(props.size),\n disabled: state.disabled,\n extraProps: {\n 'aria-label': i18n('Calendar'),\n 'aria-haspopup': 'dialog',\n 'aria-expanded': isOpen,\n },\n view: 'flat-secondary',\n onClick: () => {\n state.setActive(true);\n setOpen(!isOpen);\n if (!isOpen) {\n focusCalendar();\n }\n },\n },\n popupProps: {\n open: isOpen,\n onEscapeKeyDown: () => {\n setOpen(false);\n focusInput();\n },\n onOutsideClick: (e) => {\n if (e.target && !groupRef.current?.contains(e.target as Node)) {\n setOpen(false);\n }\n },\n onTransitionExited: () => {\n setFocusedDate(\n mode === 'relative'\n ? relativeDateState.lastCorrectDate\n : datePickerState.dateFieldState.displayValue,\n );\n },\n },\n calendarProps: {\n ref: calendarRef,\n size: props.size === 's' ? 'm' : props.size,\n readOnly: props.readOnly,\n value: state.selectedDate,\n onUpdate: (v) => {\n datePickerState.setDateValue(v);\n if (!state.datePickerState.formatInfo.hasTime) {\n setOpen(false);\n focusInput();\n }\n },\n focusedValue: focusedDate,\n onFocusUpdate: setFocusedDate,\n minValue: props.minValue,\n maxValue: props.maxValue,\n modes: mode === 'absolute' ? calendarModes : undefined,\n },\n timeInputProps: {\n value: datePickerState.timeValue,\n onUpdate: datePickerState.setTimeValue,\n format: datePickerState.timeFormat,\n readOnly: state.readOnly,\n disabled: state.disabled,\n timeZone: props.timeZone,\n hasClear: props.hasClear,\n size: props.size,\n },\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { DateTime } from '@gravity-ui/date-utils';
2
- import type { DatePickerState } from '../../DatePicker';
3
- import type { RelativeDateFieldState } from '../../RelativeDateField';
4
- import type { DateFieldBase } from '../../types';
2
+ import type { DatePickerState } from "../../DatePicker/index.js";
3
+ import type { RelativeDateFieldState } from "../../RelativeDateField/index.js";
4
+ import type { DateFieldBase } from "../../types/index.js";
5
5
  export type Value = {
6
6
  type: 'absolute';
7
7
  value: DateTime;