@gravity-ui/date-components 2.11.0 → 3.0.0-beta.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 (673) 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 +4 -2
  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 +9 -10
  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 +6 -6
  22. package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js +12 -19
  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.d.ts +5 -1
  31. package/dist/cjs/components/CalendarView/i18n/index.js +5 -6
  32. package/dist/cjs/components/CalendarView/i18n/index.js.map +1 -0
  33. package/dist/cjs/components/CalendarView/utils.d.ts +1 -1
  34. package/dist/cjs/components/CalendarView/utils.js +1 -0
  35. package/dist/cjs/components/CalendarView/utils.js.map +1 -0
  36. package/dist/cjs/components/DateField/DateField.css +2 -1
  37. package/dist/cjs/components/DateField/DateField.css.map +1 -0
  38. package/dist/cjs/components/DateField/DateField.d.ts +2 -2
  39. package/dist/cjs/components/DateField/DateField.js +5 -4
  40. package/dist/cjs/components/DateField/DateField.js.map +1 -0
  41. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.d.ts +2 -2
  42. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js +5 -6
  43. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js.map +1 -0
  44. package/dist/cjs/components/DateField/hooks/useDateFieldProps.d.ts +2 -2
  45. package/dist/cjs/components/DateField/hooks/useDateFieldProps.js +4 -5
  46. package/dist/cjs/components/DateField/hooks/useDateFieldProps.js.map +1 -0
  47. package/dist/cjs/components/DateField/hooks/useDateFieldState.d.ts +2 -2
  48. package/dist/cjs/components/DateField/hooks/useDateFieldState.js +7 -8
  49. package/dist/cjs/components/DateField/hooks/useDateFieldState.js.map +1 -0
  50. package/dist/cjs/components/DateField/i18n/index.d.ts +5 -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/index.d.ts +4 -4
  54. package/dist/cjs/components/DateField/index.js +6 -18
  55. package/dist/cjs/components/DateField/index.js.map +1 -0
  56. package/dist/cjs/components/DateField/types.js +1 -0
  57. package/dist/cjs/components/DateField/types.js.map +1 -0
  58. package/dist/cjs/components/DateField/utils.d.ts +1 -1
  59. package/dist/cjs/components/DateField/utils.js +5 -6
  60. package/dist/cjs/components/DateField/utils.js.map +1 -0
  61. package/dist/cjs/components/DatePicker/DatePicker.css +2 -1
  62. package/dist/cjs/components/DatePicker/DatePicker.css.map +1 -0
  63. package/dist/cjs/components/DatePicker/DatePicker.d.ts +4 -4
  64. package/dist/cjs/components/DatePicker/DatePicker.js +11 -10
  65. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -0
  66. package/dist/cjs/components/DatePicker/MobileCalendar.css +2 -1
  67. package/dist/cjs/components/DatePicker/MobileCalendar.css.map +1 -0
  68. package/dist/cjs/components/DatePicker/MobileCalendar.d.ts +3 -3
  69. package/dist/cjs/components/DatePicker/MobileCalendar.js +3 -2
  70. package/dist/cjs/components/DatePicker/MobileCalendar.js.map +1 -0
  71. package/dist/cjs/components/DatePicker/StubButton.css +2 -1
  72. package/dist/cjs/components/DatePicker/StubButton.css.map +1 -0
  73. package/dist/cjs/components/DatePicker/StubButton.d.ts +1 -1
  74. package/dist/cjs/components/DatePicker/StubButton.js +2 -1
  75. package/dist/cjs/components/DatePicker/StubButton.js.map +1 -0
  76. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.d.ts +2 -2
  77. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js +4 -5
  78. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js.map +1 -0
  79. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.d.ts +7 -7
  80. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js +26 -23
  81. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js.map +1 -0
  82. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.d.ts +3 -3
  83. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js +5 -4
  84. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js.map +1 -0
  85. package/dist/cjs/components/DatePicker/i18n/index.d.ts +5 -1
  86. package/dist/cjs/components/DatePicker/i18n/index.js +5 -6
  87. package/dist/cjs/components/DatePicker/i18n/index.js.map +1 -0
  88. package/dist/cjs/components/DatePicker/index.d.ts +3 -3
  89. package/dist/cjs/components/DatePicker/index.js +5 -17
  90. package/dist/cjs/components/DatePicker/index.js.map +1 -0
  91. package/dist/cjs/components/DatePicker/utils/cn.js +2 -1
  92. package/dist/cjs/components/DatePicker/utils/cn.js.map +1 -0
  93. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.d.ts +1 -1
  94. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js +1 -0
  95. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js.map +1 -0
  96. package/dist/cjs/components/DatePicker/utils/index.d.ts +2 -2
  97. package/dist/cjs/components/DatePicker/utils/index.js +4 -16
  98. package/dist/cjs/components/DatePicker/utils/index.js.map +1 -0
  99. package/dist/cjs/components/HiddenInput/HiddenInput.js +3 -4
  100. package/dist/cjs/components/HiddenInput/HiddenInput.js.map +1 -0
  101. package/dist/cjs/components/RangeCalendar/RangeCalendar.d.ts +4 -4
  102. package/dist/cjs/components/RangeCalendar/RangeCalendar.js +5 -6
  103. package/dist/cjs/components/RangeCalendar/RangeCalendar.js.map +1 -0
  104. package/dist/cjs/components/RangeCalendar/index.d.ts +1 -1
  105. package/dist/cjs/components/RangeCalendar/index.js +3 -15
  106. package/dist/cjs/components/RangeCalendar/index.js.map +1 -0
  107. package/dist/cjs/components/RangeDateField/RangeDateField.css +2 -1
  108. package/dist/cjs/components/RangeDateField/RangeDateField.css.map +1 -0
  109. package/dist/cjs/components/RangeDateField/RangeDateField.d.ts +3 -3
  110. package/dist/cjs/components/RangeDateField/RangeDateField.js +5 -4
  111. package/dist/cjs/components/RangeDateField/RangeDateField.js.map +1 -0
  112. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +3 -3
  113. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js +8 -9
  114. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -0
  115. package/dist/cjs/components/RangeDateField/index.d.ts +2 -2
  116. package/dist/cjs/components/RangeDateField/index.js +4 -16
  117. package/dist/cjs/components/RangeDateField/index.js.map +1 -0
  118. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +1 -1
  119. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js +2 -1
  120. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js.map +1 -0
  121. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.d.ts +4 -4
  122. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js +2 -1
  123. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js.map +1 -0
  124. package/dist/cjs/components/RangeDateField/utils/index.d.ts +3 -3
  125. package/dist/cjs/components/RangeDateField/utils/index.js +5 -17
  126. package/dist/cjs/components/RangeDateField/utils/index.js.map +1 -0
  127. package/dist/cjs/components/RangeDateField/utils/isValidRange.d.ts +1 -1
  128. package/dist/cjs/components/RangeDateField/utils/isValidRange.js +1 -0
  129. package/dist/cjs/components/RangeDateField/utils/isValidRange.js.map +1 -0
  130. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css +2 -1
  131. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css.map +1 -0
  132. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.d.ts +3 -3
  133. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js +10 -9
  134. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js.map +1 -0
  135. package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.d.ts +3 -3
  136. package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.js +5 -4
  137. package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.js.map +1 -0
  138. package/dist/cjs/components/RangeDatePicker/index.d.ts +2 -2
  139. package/dist/cjs/components/RangeDatePicker/index.js +4 -16
  140. package/dist/cjs/components/RangeDatePicker/index.js.map +1 -0
  141. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css +2 -1
  142. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css.map +1 -0
  143. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.d.ts +4 -4
  144. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js +11 -12
  145. package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js.map +1 -0
  146. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css +2 -1
  147. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -0
  148. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.d.ts +1 -1
  149. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.js +6 -7
  150. package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.js.map +1 -0
  151. package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.d.ts +2 -2
  152. package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.js +12 -13
  153. package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.js.map +1 -0
  154. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css +2 -1
  155. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -0
  156. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.d.ts +2 -2
  157. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.js +5 -6
  158. package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.js.map +1 -0
  159. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -1
  160. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -0
  161. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.d.ts +3 -3
  162. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +6 -5
  163. package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -0
  164. package/dist/cjs/components/RangeDateSelection/components/Ticks/MiddleTicks.js +3 -2
  165. package/dist/cjs/components/RangeDateSelection/components/Ticks/MiddleTicks.js.map +1 -0
  166. package/dist/cjs/components/RangeDateSelection/components/Ticks/SlitTicks.js +3 -2
  167. package/dist/cjs/components/RangeDateSelection/components/Ticks/SlitTicks.js.map +1 -0
  168. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css +2 -1
  169. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -0
  170. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.d.ts +3 -3
  171. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.js +7 -8
  172. package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.js.map +1 -0
  173. package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.d.ts +3 -3
  174. package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +6 -7
  175. package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -0
  176. package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.d.ts +1 -1
  177. package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.js +3 -2
  178. package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.js.map +1 -0
  179. package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +1 -1
  180. package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +7 -8
  181. package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -0
  182. package/dist/cjs/components/RangeDateSelection/i18n/index.d.ts +5 -1
  183. package/dist/cjs/components/RangeDateSelection/i18n/index.js +5 -6
  184. package/dist/cjs/components/RangeDateSelection/i18n/index.js.map +1 -0
  185. package/dist/cjs/components/RangeDateSelection/index.d.ts +3 -3
  186. package/dist/cjs/components/RangeDateSelection/index.js +4 -16
  187. package/dist/cjs/components/RangeDateSelection/index.js.map +1 -0
  188. package/dist/cjs/components/RangeDateSelection/utils/date.js +2 -1
  189. package/dist/cjs/components/RangeDateSelection/utils/date.js.map +1 -0
  190. package/dist/cjs/components/RangeDateSelection/utils/span.js +1 -0
  191. package/dist/cjs/components/RangeDateSelection/utils/span.js.map +1 -0
  192. package/dist/cjs/components/RelativeDateField/RelativeDateField.css +2 -1
  193. package/dist/cjs/components/RelativeDateField/RelativeDateField.css.map +1 -0
  194. package/dist/cjs/components/RelativeDateField/RelativeDateField.d.ts +3 -3
  195. package/dist/cjs/components/RelativeDateField/RelativeDateField.js +25 -18
  196. package/dist/cjs/components/RelativeDateField/RelativeDateField.js.map +1 -0
  197. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.d.ts +4 -4
  198. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +3 -4
  199. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js.map +1 -0
  200. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +1 -1
  201. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js +3 -4
  202. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js.map +1 -0
  203. package/dist/cjs/components/RelativeDateField/index.d.ts +3 -3
  204. package/dist/cjs/components/RelativeDateField/index.js +5 -17
  205. package/dist/cjs/components/RelativeDateField/index.js.map +1 -0
  206. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css +2 -1
  207. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -0
  208. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.d.ts +4 -4
  209. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js +14 -15
  210. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js.map +1 -0
  211. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.d.ts +7 -7
  212. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +11 -14
  213. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -0
  214. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +3 -3
  215. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +5 -6
  216. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js.map +1 -0
  217. package/dist/cjs/components/RelativeDatePicker/i18n/index.d.ts +5 -1
  218. package/dist/cjs/components/RelativeDatePicker/i18n/index.js +5 -6
  219. package/dist/cjs/components/RelativeDatePicker/i18n/index.js.map +1 -0
  220. package/dist/cjs/components/RelativeDatePicker/index.d.ts +3 -3
  221. package/dist/cjs/components/RelativeDatePicker/index.js +5 -17
  222. package/dist/cjs/components/RelativeDatePicker/index.js.map +1 -0
  223. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +2 -1
  224. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -0
  225. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +2 -2
  226. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +11 -12
  227. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -0
  228. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css +2 -1
  229. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -0
  230. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.d.ts +3 -3
  231. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js +8 -13
  232. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -0
  233. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.d.ts +5 -1
  234. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.js +5 -6
  235. package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.js.map +1 -0
  236. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +2 -1
  237. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -0
  238. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +8 -5
  239. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +16 -11
  240. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js.map +1 -0
  241. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.d.ts +5 -1
  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 +4 -2
  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 +7 -5
  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 +7 -8
  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.d.ts +5 -1
  260. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +5 -6
  261. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js.map +1 -0
  262. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
  263. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +3 -2
  264. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -0
  265. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css +2 -1
  266. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -0
  267. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +1 -1
  268. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js +5 -8
  269. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -0
  270. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.d.ts +5 -1
  271. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +5 -6
  272. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js.map +1 -0
  273. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +2 -2
  274. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +5 -6
  275. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -0
  276. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.d.ts +5 -1
  277. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js +5 -6
  278. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js.map +1 -0
  279. package/dist/cjs/components/RelativeRangeDatePicker/index.d.ts +9 -9
  280. package/dist/cjs/components/RelativeRangeDatePicker/index.js +8 -20
  281. package/dist/cjs/components/RelativeRangeDatePicker/index.js.map +1 -0
  282. package/dist/cjs/components/RelativeRangeDatePicker/types.d.ts +9 -6
  283. package/dist/cjs/components/RelativeRangeDatePicker/types.js +1 -0
  284. package/dist/cjs/components/RelativeRangeDatePicker/types.js.map +1 -0
  285. package/dist/cjs/components/RelativeRangeDatePicker/utils.d.ts +3 -3
  286. package/dist/cjs/components/RelativeRangeDatePicker/utils.js +2 -1
  287. package/dist/cjs/components/RelativeRangeDatePicker/utils.js.map +1 -0
  288. package/dist/cjs/components/index.d.ts +11 -11
  289. package/dist/cjs/components/index.js +12 -24
  290. package/dist/cjs/components/index.js.map +1 -0
  291. package/dist/cjs/components/mixins.css +2 -0
  292. package/dist/cjs/components/mixins.css.map +1 -0
  293. package/dist/cjs/components/types/datePicker.d.ts +1 -1
  294. package/dist/cjs/components/types/datePicker.js +1 -0
  295. package/dist/cjs/components/types/datePicker.js.map +1 -0
  296. package/dist/cjs/components/types/events.js +1 -0
  297. package/dist/cjs/components/types/events.js.map +1 -0
  298. package/dist/cjs/components/types/index.d.ts +4 -4
  299. package/dist/cjs/components/types/index.js +1 -0
  300. package/dist/cjs/components/types/index.js.map +1 -0
  301. package/dist/cjs/components/types/inputs.js +1 -0
  302. package/dist/cjs/components/types/inputs.js.map +1 -0
  303. package/dist/cjs/components/types/style.js +1 -0
  304. package/dist/cjs/components/types/style.js.map +1 -0
  305. package/dist/cjs/components/utils/constants.js +1 -0
  306. package/dist/cjs/components/utils/constants.js.map +1 -0
  307. package/dist/cjs/components/utils/dates.js +1 -0
  308. package/dist/cjs/components/utils/dates.js.map +1 -0
  309. package/dist/cjs/components/utils/filterDOMProps.d.ts +1 -1
  310. package/dist/cjs/components/utils/filterDOMProps.js +1 -0
  311. package/dist/cjs/components/utils/filterDOMProps.js.map +1 -0
  312. package/dist/cjs/components/utils/getButtonSizeForInput.js +1 -0
  313. package/dist/cjs/components/utils/getButtonSizeForInput.js.map +1 -0
  314. package/dist/cjs/components/utils/mergeProps.js +1 -0
  315. package/dist/cjs/components/utils/mergeProps.js.map +1 -0
  316. package/dist/cjs/components/utils/useDefaultTimeZone.js +3 -4
  317. package/dist/cjs/components/utils/useDefaultTimeZone.js.map +1 -0
  318. package/dist/cjs/components/utils/validation/datePicker.js +2 -1
  319. package/dist/cjs/components/utils/validation/datePicker.js.map +1 -0
  320. package/dist/cjs/components/utils/validation/i18n/index.d.ts +5 -1
  321. package/dist/cjs/components/utils/validation/i18n/index.js +5 -6
  322. package/dist/cjs/components/utils/validation/i18n/index.js.map +1 -0
  323. package/dist/cjs/components/variables.css +2 -0
  324. package/dist/cjs/components/variables.css.map +1 -0
  325. package/dist/cjs/hooks/useEventHandler.js +3 -4
  326. package/dist/cjs/hooks/useEventHandler.js.map +1 -0
  327. package/dist/cjs/hooks/useMove.js +4 -5
  328. package/dist/cjs/hooks/useMove.js.map +1 -0
  329. package/dist/cjs/hooks/useResizeObserver.js +3 -4
  330. package/dist/cjs/hooks/useResizeObserver.js.map +1 -0
  331. package/dist/cjs/index.d.ts +1 -1
  332. package/dist/cjs/index.js +3 -15
  333. package/dist/cjs/index.js.map +1 -0
  334. package/dist/cjs/package.json +1 -0
  335. package/dist/cjs/utils/cn.js +1 -0
  336. package/dist/cjs/utils/cn.js.map +1 -0
  337. package/dist/esm/components/Calendar/Calendar.d.ts +4 -4
  338. package/dist/esm/components/Calendar/Calendar.js +4 -3
  339. package/dist/esm/components/Calendar/Calendar.js.map +1 -0
  340. package/dist/esm/components/Calendar/index.d.ts +8 -8
  341. package/dist/esm/components/Calendar/index.js +8 -7
  342. package/dist/esm/components/Calendar/index.js.map +1 -0
  343. package/dist/esm/components/CalendarView/Calendar.css +4 -2
  344. package/dist/esm/components/CalendarView/Calendar.css.map +1 -0
  345. package/dist/esm/components/CalendarView/CalendarView.d.ts +4 -4
  346. package/dist/esm/components/CalendarView/CalendarView.js +8 -7
  347. package/dist/esm/components/CalendarView/CalendarView.js.map +1 -0
  348. package/dist/esm/components/CalendarView/hooks/types.d.ts +1 -1
  349. package/dist/esm/components/CalendarView/hooks/types.js +1 -0
  350. package/dist/esm/components/CalendarView/hooks/types.js.map +1 -0
  351. package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.d.ts +1 -1
  352. package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js +2 -1
  353. package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -0
  354. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.d.ts +1 -1
  355. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js +2 -1
  356. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -0
  357. package/dist/esm/components/CalendarView/hooks/useCalendarProps.d.ts +6 -6
  358. package/dist/esm/components/CalendarView/hooks/useCalendarProps.js +10 -15
  359. package/dist/esm/components/CalendarView/hooks/useCalendarProps.js.map +1 -0
  360. package/dist/esm/components/CalendarView/hooks/useCalendarState.d.ts +3 -3
  361. package/dist/esm/components/CalendarView/hooks/useCalendarState.js +4 -3
  362. package/dist/esm/components/CalendarView/hooks/useCalendarState.js.map +1 -0
  363. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.d.ts +4 -4
  364. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js +4 -3
  365. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -0
  366. package/dist/esm/components/CalendarView/i18n/index.d.ts +5 -1
  367. package/dist/esm/components/CalendarView/i18n/index.js +4 -3
  368. package/dist/esm/components/CalendarView/i18n/index.js.map +1 -0
  369. package/dist/esm/components/CalendarView/utils.d.ts +1 -1
  370. package/dist/esm/components/CalendarView/utils.js +1 -0
  371. package/dist/esm/components/CalendarView/utils.js.map +1 -0
  372. package/dist/esm/components/DateField/DateField.css +2 -1
  373. package/dist/esm/components/DateField/DateField.css.map +1 -0
  374. package/dist/esm/components/DateField/DateField.d.ts +2 -2
  375. package/dist/esm/components/DateField/DateField.js +6 -5
  376. package/dist/esm/components/DateField/DateField.js.map +1 -0
  377. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.d.ts +2 -2
  378. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js +3 -2
  379. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js.map +1 -0
  380. package/dist/esm/components/DateField/hooks/useDateFieldProps.d.ts +2 -2
  381. package/dist/esm/components/DateField/hooks/useDateFieldProps.js +2 -1
  382. package/dist/esm/components/DateField/hooks/useDateFieldProps.js.map +1 -0
  383. package/dist/esm/components/DateField/hooks/useDateFieldState.d.ts +2 -2
  384. package/dist/esm/components/DateField/hooks/useDateFieldState.js +5 -4
  385. package/dist/esm/components/DateField/hooks/useDateFieldState.js.map +1 -0
  386. package/dist/esm/components/DateField/i18n/index.d.ts +5 -1
  387. package/dist/esm/components/DateField/i18n/index.js +4 -3
  388. package/dist/esm/components/DateField/i18n/index.js.map +1 -0
  389. package/dist/esm/components/DateField/index.d.ts +4 -4
  390. package/dist/esm/components/DateField/index.js +5 -4
  391. package/dist/esm/components/DateField/index.js.map +1 -0
  392. package/dist/esm/components/DateField/types.js +1 -0
  393. package/dist/esm/components/DateField/types.js.map +1 -0
  394. package/dist/esm/components/DateField/utils.d.ts +1 -1
  395. package/dist/esm/components/DateField/utils.js +3 -2
  396. package/dist/esm/components/DateField/utils.js.map +1 -0
  397. package/dist/esm/components/DatePicker/DatePicker.css +2 -1
  398. package/dist/esm/components/DatePicker/DatePicker.css.map +1 -0
  399. package/dist/esm/components/DatePicker/DatePicker.d.ts +4 -4
  400. package/dist/esm/components/DatePicker/DatePicker.js +12 -11
  401. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
  402. package/dist/esm/components/DatePicker/MobileCalendar.css +2 -1
  403. package/dist/esm/components/DatePicker/MobileCalendar.css.map +1 -0
  404. package/dist/esm/components/DatePicker/MobileCalendar.d.ts +3 -3
  405. package/dist/esm/components/DatePicker/MobileCalendar.js +4 -3
  406. package/dist/esm/components/DatePicker/MobileCalendar.js.map +1 -0
  407. package/dist/esm/components/DatePicker/StubButton.css +2 -1
  408. package/dist/esm/components/DatePicker/StubButton.css.map +1 -0
  409. package/dist/esm/components/DatePicker/StubButton.d.ts +1 -1
  410. package/dist/esm/components/DatePicker/StubButton.js +3 -2
  411. package/dist/esm/components/DatePicker/StubButton.js.map +1 -0
  412. package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.d.ts +2 -2
  413. package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.js +2 -1
  414. package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.js.map +1 -0
  415. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.d.ts +7 -7
  416. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js +26 -23
  417. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js.map +1 -0
  418. package/dist/esm/components/DatePicker/hooks/useDatePickerState.d.ts +3 -3
  419. package/dist/esm/components/DatePicker/hooks/useDatePickerState.js +5 -4
  420. package/dist/esm/components/DatePicker/hooks/useDatePickerState.js.map +1 -0
  421. package/dist/esm/components/DatePicker/i18n/index.d.ts +5 -1
  422. package/dist/esm/components/DatePicker/i18n/index.js +4 -3
  423. package/dist/esm/components/DatePicker/i18n/index.js.map +1 -0
  424. package/dist/esm/components/DatePicker/index.d.ts +3 -3
  425. package/dist/esm/components/DatePicker/index.js +4 -3
  426. package/dist/esm/components/DatePicker/index.js.map +1 -0
  427. package/dist/esm/components/DatePicker/utils/cn.js +2 -1
  428. package/dist/esm/components/DatePicker/utils/cn.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 +2 -2
  433. package/dist/esm/components/DatePicker/utils/index.js +3 -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 +6 -5
  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 +2 -1
  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 +1 -0
  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 +3 -3
  472. package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.js +5 -4
  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 +10 -9
  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 -4
  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.d.ts +5 -1
  519. package/dist/esm/components/RangeDateSelection/i18n/index.js +4 -3
  520. package/dist/esm/components/RangeDateSelection/i18n/index.js.map +1 -0
  521. package/dist/esm/components/RangeDateSelection/index.d.ts +3 -3
  522. package/dist/esm/components/RangeDateSelection/index.js +3 -2
  523. package/dist/esm/components/RangeDateSelection/index.js.map +1 -0
  524. package/dist/esm/components/RangeDateSelection/utils/date.js +2 -1
  525. package/dist/esm/components/RangeDateSelection/utils/date.js.map +1 -0
  526. package/dist/esm/components/RangeDateSelection/utils/span.js +1 -0
  527. package/dist/esm/components/RangeDateSelection/utils/span.js.map +1 -0
  528. package/dist/esm/components/RelativeDateField/RelativeDateField.css +2 -1
  529. package/dist/esm/components/RelativeDateField/RelativeDateField.css.map +1 -0
  530. package/dist/esm/components/RelativeDateField/RelativeDateField.d.ts +3 -3
  531. package/dist/esm/components/RelativeDateField/RelativeDateField.js +24 -15
  532. package/dist/esm/components/RelativeDateField/RelativeDateField.js.map +1 -0
  533. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.d.ts +4 -4
  534. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +1 -0
  535. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js.map +1 -0
  536. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +1 -1
  537. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js +1 -0
  538. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js.map +1 -0
  539. package/dist/esm/components/RelativeDateField/index.d.ts +3 -3
  540. package/dist/esm/components/RelativeDateField/index.js +4 -3
  541. package/dist/esm/components/RelativeDateField/index.js.map +1 -0
  542. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css +2 -1
  543. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -0
  544. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.d.ts +4 -4
  545. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js +13 -12
  546. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js.map +1 -0
  547. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.d.ts +7 -7
  548. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +11 -14
  549. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -0
  550. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +3 -3
  551. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +3 -2
  552. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js.map +1 -0
  553. package/dist/esm/components/RelativeDatePicker/i18n/index.d.ts +5 -1
  554. package/dist/esm/components/RelativeDatePicker/i18n/index.js +4 -3
  555. package/dist/esm/components/RelativeDatePicker/i18n/index.js.map +1 -0
  556. package/dist/esm/components/RelativeDatePicker/index.d.ts +3 -3
  557. package/dist/esm/components/RelativeDatePicker/index.js +4 -3
  558. package/dist/esm/components/RelativeDatePicker/index.js.map +1 -0
  559. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +2 -1
  560. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -0
  561. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +2 -2
  562. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +10 -9
  563. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -0
  564. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css +2 -1
  565. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -0
  566. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.d.ts +3 -3
  567. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js +7 -10
  568. package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -0
  569. package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.d.ts +5 -1
  570. package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.js +4 -3
  571. package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.js.map +1 -0
  572. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +2 -1
  573. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -0
  574. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +8 -5
  575. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +17 -12
  576. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js.map +1 -0
  577. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.d.ts +5 -1
  578. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +4 -3
  579. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js.map +1 -0
  580. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +5 -5
  581. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +3 -2
  582. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -0
  583. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css +4 -2
  584. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -0
  585. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +3 -3
  586. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js +5 -4
  587. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -0
  588. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +7 -5
  589. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css.map +1 -0
  590. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +2 -2
  591. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +6 -5
  592. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js.map +1 -0
  593. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +2 -1
  594. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -0
  595. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +5 -1
  596. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +4 -3
  597. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js.map +1 -0
  598. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
  599. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +3 -2
  600. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -0
  601. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css +2 -1
  602. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -0
  603. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +1 -1
  604. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js +6 -9
  605. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -0
  606. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.d.ts +5 -1
  607. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +4 -3
  608. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js.map +1 -0
  609. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +2 -2
  610. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +3 -2
  611. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -0
  612. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.d.ts +5 -1
  613. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js +4 -3
  614. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js.map +1 -0
  615. package/dist/esm/components/RelativeRangeDatePicker/index.d.ts +9 -9
  616. package/dist/esm/components/RelativeRangeDatePicker/index.js +7 -6
  617. package/dist/esm/components/RelativeRangeDatePicker/index.js.map +1 -0
  618. package/dist/esm/components/RelativeRangeDatePicker/types.d.ts +9 -6
  619. package/dist/esm/components/RelativeRangeDatePicker/types.js +1 -0
  620. package/dist/esm/components/RelativeRangeDatePicker/types.js.map +1 -0
  621. package/dist/esm/components/RelativeRangeDatePicker/utils.d.ts +3 -3
  622. package/dist/esm/components/RelativeRangeDatePicker/utils.js +2 -1
  623. package/dist/esm/components/RelativeRangeDatePicker/utils.js.map +1 -0
  624. package/dist/esm/components/index.d.ts +11 -11
  625. package/dist/esm/components/index.js +11 -10
  626. package/dist/esm/components/index.js.map +1 -0
  627. package/dist/esm/components/mixins.css +2 -0
  628. package/dist/esm/components/mixins.css.map +1 -0
  629. package/dist/esm/components/types/datePicker.d.ts +1 -1
  630. package/dist/esm/components/types/datePicker.js +1 -0
  631. package/dist/esm/components/types/datePicker.js.map +1 -0
  632. package/dist/esm/components/types/events.js +1 -0
  633. package/dist/esm/components/types/events.js.map +1 -0
  634. package/dist/esm/components/types/index.d.ts +4 -4
  635. package/dist/esm/components/types/index.js +1 -0
  636. package/dist/esm/components/types/index.js.map +1 -0
  637. package/dist/esm/components/types/inputs.js +1 -0
  638. package/dist/esm/components/types/inputs.js.map +1 -0
  639. package/dist/esm/components/types/style.js +1 -0
  640. package/dist/esm/components/types/style.js.map +1 -0
  641. package/dist/esm/components/utils/constants.js +1 -0
  642. package/dist/esm/components/utils/constants.js.map +1 -0
  643. package/dist/esm/components/utils/dates.js +1 -0
  644. package/dist/esm/components/utils/dates.js.map +1 -0
  645. package/dist/esm/components/utils/filterDOMProps.d.ts +1 -1
  646. package/dist/esm/components/utils/filterDOMProps.js +1 -0
  647. package/dist/esm/components/utils/filterDOMProps.js.map +1 -0
  648. package/dist/esm/components/utils/getButtonSizeForInput.js +1 -0
  649. package/dist/esm/components/utils/getButtonSizeForInput.js.map +1 -0
  650. package/dist/esm/components/utils/mergeProps.js +1 -0
  651. package/dist/esm/components/utils/mergeProps.js.map +1 -0
  652. package/dist/esm/components/utils/useDefaultTimeZone.js +1 -0
  653. package/dist/esm/components/utils/useDefaultTimeZone.js.map +1 -0
  654. package/dist/esm/components/utils/validation/datePicker.js +2 -1
  655. package/dist/esm/components/utils/validation/datePicker.js.map +1 -0
  656. package/dist/esm/components/utils/validation/i18n/index.d.ts +5 -1
  657. package/dist/esm/components/utils/validation/i18n/index.js +4 -3
  658. package/dist/esm/components/utils/validation/i18n/index.js.map +1 -0
  659. package/dist/esm/components/variables.css +2 -0
  660. package/dist/esm/components/variables.css.map +1 -0
  661. package/dist/esm/hooks/useEventHandler.js +1 -0
  662. package/dist/esm/hooks/useEventHandler.js.map +1 -0
  663. package/dist/esm/hooks/useMove.js +2 -1
  664. package/dist/esm/hooks/useMove.js.map +1 -0
  665. package/dist/esm/hooks/useResizeObserver.js +1 -0
  666. package/dist/esm/hooks/useResizeObserver.js.map +1 -0
  667. package/dist/esm/index.d.ts +1 -1
  668. package/dist/esm/index.js +2 -1
  669. package/dist/esm/index.js.map +1 -0
  670. package/dist/esm/package.json +1 -0
  671. package/dist/esm/utils/cn.js +1 -0
  672. package/dist/esm/utils/cn.js.map +1 -0
  673. package/package.json +40 -36
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/DateField/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {dateTime, expandFormat} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport {mergeDateTime} from '../utils/dates';\n\nimport {i18n} from './i18n';\nimport type {\n DateFieldSection,\n DateFieldSectionType,\n DateFieldSectionWithoutPosition,\n DateFormatTokenMap,\n} from './types';\n\nexport const EDITABLE_SEGMENTS: Partial<Record<DateFieldSectionType, boolean>> = {\n year: true,\n month: true,\n day: true,\n hour: true,\n minute: true,\n second: true,\n dayPeriod: true,\n weekday: true,\n};\n\nconst escapedCharacters = {start: '[', end: ']'};\n\nconst formatTokenMap: DateFormatTokenMap = {\n // Year\n YY: 'year',\n YYYY: 'year',\n\n // Month\n M: 'month',\n MM: 'month',\n MMM: {sectionType: 'month', contentType: 'letter'},\n MMMM: {sectionType: 'month', contentType: 'letter'},\n\n // Day of the month\n D: 'day',\n DD: 'day',\n Do: 'day',\n\n // Day of the week\n d: 'weekday',\n dd: {sectionType: 'weekday', contentType: 'letter'},\n ddd: {sectionType: 'weekday', contentType: 'letter'},\n dddd: {sectionType: 'weekday', contentType: 'letter'},\n\n // Day period AM, PM\n A: {sectionType: 'dayPeriod', contentType: 'letter'},\n a: {sectionType: 'dayPeriod', contentType: 'letter'},\n\n // Hours\n H: 'hour',\n HH: 'hour',\n h: 'hour',\n hh: 'hour',\n\n // Minutes\n m: 'minute',\n mm: 'minute',\n\n // Seconds\n s: 'second',\n ss: 'second',\n\n // Timezone\n z: {sectionType: 'timeZoneName', contentType: 'letter'},\n zzz: {sectionType: 'timeZoneName', contentType: 'letter'},\n Z: {sectionType: 'timeZoneName', contentType: 'letter'},\n ZZ: {sectionType: 'timeZoneName', contentType: 'letter'},\n};\n\nfunction getDateSectionConfigFromFormatToken(formatToken: string): {\n type: DateFieldSectionType;\n contentType: 'letter' | 'digit';\n} {\n const config = formatTokenMap[formatToken];\n\n if (!config) {\n // eslint-disable-next-line no-console\n console.error(\n [\n `The token \"${formatToken}\" is not supported by the Date field.`,\n 'Please try using another token.',\n ].join('\\n'),\n );\n return {\n type: 'literal',\n contentType: 'letter',\n };\n }\n\n if (typeof config === 'string') {\n return {\n type: config,\n contentType: 'digit',\n };\n }\n\n return {\n type: config.sectionType,\n contentType: config.contentType,\n };\n}\n\nfunction isFourDigitYearFormat(format: string) {\n return dateTime().format(format).length === 4;\n}\n\nfunction isHour12(format: string) {\n return dateTime().set('hour', 15).format(format) !== '15';\n}\n\nexport function getSectionLimits(section: DateFieldSectionWithoutPosition, date: DateTime) {\n const {type, format} = section;\n switch (type) {\n case 'year': {\n const isFourDigit = isFourDigitYearFormat(format);\n return {\n minValue: isFourDigit ? 1 : 0,\n maxValue: isFourDigit ? 9999 : 99,\n };\n }\n case 'month': {\n return {\n minValue: 0,\n maxValue: 11,\n };\n }\n case 'weekday': {\n return {\n minValue: 0,\n maxValue: 6,\n };\n }\n case 'day': {\n return {\n minValue: 1,\n maxValue: date ? date.daysInMonth() : 31,\n };\n }\n case 'hour': {\n if (isHour12(format)) {\n const isPM = date.hour() >= 12;\n return {\n minValue: isPM ? 12 : 0,\n maxValue: isPM ? 23 : 11,\n };\n }\n return {\n minValue: 0,\n maxValue: 23,\n };\n }\n case 'minute':\n case 'second': {\n return {\n minValue: 0,\n maxValue: 59,\n };\n }\n }\n return {};\n}\n\nexport function getSectionValue(section: DateFieldSectionWithoutPosition, date: DateTime) {\n const type = section.type;\n switch (type) {\n case 'year': {\n return isFourDigitYearFormat(section.format)\n ? date.year()\n : Number(date.format(section.format));\n }\n case 'month':\n case 'hour':\n case 'minute':\n case 'second': {\n return date[type]();\n }\n case 'day': {\n return date.date();\n }\n case 'weekday': {\n return date.day();\n }\n case 'dayPeriod': {\n return date.hour() >= 12 ? 12 : 0;\n }\n }\n return undefined;\n}\n\nconst TYPE_MAPPING = {\n weekday: 'day',\n day: 'date',\n dayPeriod: 'hour',\n} as const;\n\nexport function getDurationUnitFromSectionType(type: DateFieldSectionType) {\n if (type === 'literal' || type === 'timeZoneName' || type === 'unknown') {\n throw new Error(`${type} section does not have duration unit.`);\n }\n\n if (type in TYPE_MAPPING) {\n return TYPE_MAPPING[type as keyof typeof TYPE_MAPPING];\n }\n\n return type as Exclude<\n DateFieldSectionType,\n keyof typeof TYPE_MAPPING | 'literal' | 'timeZoneName' | 'unknown'\n >;\n}\n\nexport function addSegment(section: DateFieldSection, date: DateTime, amount: number) {\n let val = section.value ?? 0;\n if (section.type === 'dayPeriod') {\n val = date.hour() + (date.hour() >= 12 ? -12 : 12);\n } else {\n val = val + amount;\n const min = section.minValue;\n const max = section.maxValue;\n if (typeof min === 'number' && typeof max === 'number') {\n const length = max - min + 1;\n val = ((val - min + length) % length) + min;\n }\n }\n\n if (section.type === 'year' && !isFourDigitYearFormat(section.format)) {\n val = dateTime({input: `${val}`.padStart(2, '0'), format: section.format}).year();\n }\n\n const type = getDurationUnitFromSectionType(section.type);\n return date.set(type, val);\n}\n\nexport function setSegment(section: DateFieldSection, date: DateTime, amount: number) {\n const type = section.type;\n switch (type) {\n case 'year': {\n return date.set(\n 'year',\n isFourDigitYearFormat(section.format)\n ? amount\n : dateTime({\n input: `${amount}`.padStart(2, '0'),\n format: section.format,\n }).year(),\n );\n }\n case 'day':\n case 'weekday':\n case 'month': {\n return date.set(getDurationUnitFromSectionType(type), amount);\n }\n case 'dayPeriod': {\n const hours = date.hour();\n const wasPM = hours >= 12;\n const isPM = amount >= 12;\n if (isPM === wasPM) {\n return date;\n }\n return date.set('hour', wasPM ? hours - 12 : hours + 12);\n }\n case 'hour': {\n // In 12 hour time, ensure that AM/PM does not change\n let sectionAmount = amount;\n if (section.minValue === 12 || section.maxValue === 11) {\n const hours = date.hour();\n const wasPM = hours >= 12;\n if (!wasPM && sectionAmount === 12) {\n sectionAmount = 0;\n }\n if (wasPM && sectionAmount < 12) {\n sectionAmount += 12;\n }\n }\n return date.set('hour', sectionAmount);\n }\n case 'minute':\n case 'second': {\n return date.set(type, amount);\n }\n }\n\n return date;\n}\n\nfunction doesSectionHaveLeadingZeros(\n contentType: 'digit' | 'letter',\n sectionType: DateFieldSectionType,\n format: string,\n) {\n if (contentType !== 'digit') {\n return false;\n }\n\n switch (sectionType) {\n case 'year': {\n if (isFourDigitYearFormat(format)) {\n const formatted0001 = dateTime().set('year', 1).format(format);\n return formatted0001 === '0001';\n }\n\n const formatted2001 = dateTime().set('year', 2001).format(format);\n return formatted2001 === '01';\n }\n\n case 'month': {\n return dateTime().startOf('year').format(format).length > 1;\n }\n\n case 'day': {\n return dateTime().startOf('month').format(format).length > 1;\n }\n\n case 'weekday': {\n return dateTime().startOf('week').format(format).length > 1;\n }\n\n case 'hour': {\n return dateTime().set('hour', 1).format(format).length > 1;\n }\n\n case 'minute': {\n return dateTime().set('minute', 1).format(format).length > 1;\n }\n\n case 'second': {\n return dateTime().set('second', 1).format(format).length > 1;\n }\n\n default: {\n throw new Error('Invalid section type');\n }\n }\n}\n\nfunction getSectionPlaceholder(\n sectionConfig: Pick<DateFieldSection, 'type' | 'contentType'>,\n currentTokenValue: string,\n) {\n switch (sectionConfig.type) {\n case 'year': {\n return i18n('year_placeholder').repeat(dateTime().format(currentTokenValue).length);\n }\n\n case 'month': {\n return i18n('month_placeholder').repeat(sectionConfig.contentType === 'letter' ? 4 : 2);\n }\n\n case 'day': {\n return i18n('day_placeholder').repeat(2);\n }\n\n case 'weekday': {\n return i18n('weekday_placeholder').repeat(\n sectionConfig.contentType === 'letter' ? 4 : 2,\n );\n }\n\n case 'hour': {\n return i18n('hour_placeholder').repeat(2);\n }\n\n case 'minute': {\n return i18n('minute_placeholder').repeat(2);\n }\n\n case 'second': {\n return i18n('second_placeholder').repeat(2);\n }\n\n case 'dayPeriod': {\n return i18n('dayPeriod_placeholder');\n }\n\n default: {\n return currentTokenValue;\n }\n }\n}\n\nexport function splitFormatIntoSections(format: string) {\n const sections: DateFieldSectionWithoutPosition[] = [];\n\n const expandedFormat = expandFormat(format);\n\n let currentTokenValue = '';\n let isSeparator = false;\n let isInEscapeBoundary = false;\n for (let i = 0; i < expandedFormat.length; i++) {\n const char = expandedFormat[i] || '';\n if (isInEscapeBoundary) {\n if (char === escapedCharacters.end) {\n isInEscapeBoundary = false;\n continue;\n }\n currentTokenValue += char;\n } else if (char.match(/[a-zA-Z]/)) {\n if (isSeparator) {\n addLiteralSection(sections, currentTokenValue);\n currentTokenValue = '';\n }\n isSeparator = false;\n currentTokenValue += char;\n } else {\n if (!isSeparator) {\n addFormatSection(sections, currentTokenValue);\n currentTokenValue = '';\n }\n isSeparator = true;\n if (char === escapedCharacters.start) {\n isInEscapeBoundary = true;\n } else {\n currentTokenValue += char;\n }\n }\n }\n if (currentTokenValue) {\n if (isSeparator) {\n addLiteralSection(sections, currentTokenValue);\n } else {\n addFormatSection(sections, currentTokenValue);\n }\n }\n\n return sections;\n}\n\nfunction addFormatSection(sections: DateFieldSectionWithoutPosition[], token: string) {\n if (!token) {\n return;\n }\n\n const sectionConfig = getDateSectionConfigFromFormatToken(token);\n\n const hasLeadingZeros = doesSectionHaveLeadingZeros(\n sectionConfig.contentType,\n sectionConfig.type,\n token,\n );\n\n sections.push({\n ...sectionConfig,\n format: token,\n placeholder: getSectionPlaceholder(sectionConfig, token),\n options: getSectionOptions(sectionConfig, token),\n hasLeadingZeros,\n });\n}\n\nfunction addLiteralSection(sections: DateFieldSectionWithoutPosition[], token: string) {\n if (!token) {\n return;\n }\n\n sections.push({\n type: 'literal',\n contentType: 'letter',\n format: token,\n placeholder: token,\n hasLeadingZeros: false,\n });\n}\n\nfunction getSectionOptions(\n section: Pick<DateFieldSectionWithoutPosition, 'type' | 'contentType'>,\n token: string,\n) {\n switch (section.type) {\n case 'month': {\n const format = section.contentType === 'letter' ? token : 'MMMM';\n let date = dateTime().startOf('year');\n const options: string[] = [];\n for (let i = 0; i < 12; i++) {\n options.push(date.format(format).toLocaleUpperCase());\n date = date.add(1, 'months');\n }\n return options;\n }\n case 'dayPeriod': {\n const amDayPeriod = dateTime().hour(0);\n const pmDayPeriod = amDayPeriod.hour(12);\n const options = [\n amDayPeriod.format(token).toLocaleUpperCase(),\n pmDayPeriod.format(token).toLocaleUpperCase(),\n ];\n return options;\n }\n case 'weekday': {\n const format = section.contentType === 'letter' ? token : 'dddd';\n let date = dateTime().day(0);\n const options: string[] = [];\n for (let i = 0; i < 7; i++) {\n options.push(date.format(format).toLocaleUpperCase());\n date = date.add(1, 'day');\n }\n return options;\n }\n }\n\n return undefined;\n}\n\nexport function cleanString(dirtyString: string) {\n return dirtyString.replace(/[\\u2066\\u2067\\u2068\\u2069]/g, '');\n}\n\nexport function getEditableSections(\n sections: DateFieldSectionWithoutPosition[],\n value: DateTime,\n validSegments: typeof EDITABLE_SEGMENTS,\n) {\n let position = 1;\n const newSections: DateFieldSection[] = [];\n let previousEditableSection = -1;\n for (let i = 0; i < sections.length; i++) {\n const section = sections[i];\n if (!section) {\n continue;\n }\n\n const newSection = toEditableSection(\n section,\n value,\n validSegments,\n position,\n previousEditableSection,\n );\n\n newSections.push(newSection);\n\n if (isEditableSection(section)) {\n for (let j = Math.max(0, previousEditableSection); j <= i; j++) {\n const prevSection = newSections[j];\n if (prevSection) {\n prevSection.nextEditableSection = i;\n if (prevSection.previousEditableSection === -1) {\n prevSection.previousEditableSection = i;\n }\n }\n }\n previousEditableSection = i;\n }\n\n position += newSection.textValue.length;\n }\n\n return newSections;\n}\n\nexport function isEditableSection(section: DateFieldSectionWithoutPosition): boolean {\n return EDITABLE_SEGMENTS[section.type] ?? false;\n}\n\nexport function toEditableSection(\n section: DateFieldSectionWithoutPosition,\n value: DateTime,\n validSegments: typeof EDITABLE_SEGMENTS,\n position: number,\n previousEditableSection: number,\n): DateFieldSection {\n const isEditable = isEditableSection(section);\n let renderedValue = section.placeholder;\n if ((isEditable && validSegments[section.type]) || section.type === 'timeZoneName') {\n renderedValue = value.format(section.format);\n if (section.contentType === 'digit' && renderedValue.length < section.placeholder.length) {\n renderedValue = renderedValue.padStart(section.placeholder.length, '0');\n }\n }\n\n // use bidirectional context to allow the browser autodetect text direction\n renderedValue = '\\u2068' + renderedValue + '\\u2069';\n\n const sectionLength = renderedValue.length;\n\n const newSection = {\n ...section,\n value: getSectionValue(section, value),\n textValue: renderedValue,\n start: position,\n end: position + sectionLength,\n modified: false,\n previousEditableSection,\n nextEditableSection: previousEditableSection,\n ...getSectionLimits(section, value),\n };\n\n return newSection;\n}\n\nexport function getCurrentEditableSectionIndex(\n sections: DateFieldSection[],\n selectedSections: 'all' | number,\n) {\n const currentIndex =\n selectedSections === 'all' || selectedSections === -1 ? 0 : selectedSections;\n const section = sections[currentIndex];\n if (section && !EDITABLE_SEGMENTS[section.type]) {\n return section.nextEditableSection;\n }\n return section ? currentIndex : -1;\n}\n\nexport function formatSections(sections: DateFieldSection[]): string {\n // use ltr direction context to get predictable navigation inside input\n return '\\u2066' + sections.map((s) => s.textValue).join('') + '\\u2069';\n}\n\nfunction parseDate(options: {input: string; format: string; timeZone?: string}) {\n let date = dateTime(options);\n if (!date.isValid()) {\n date = dateTime({...options, format: undefined});\n }\n return date;\n}\n\nfunction isDateStringWithTimeZone(str: string) {\n return /z$/i.test(str) || /[+-]\\d\\d:\\d\\d$/.test(str);\n}\n\nexport function parseDateFromString(str: string, format: string, timeZone?: string): DateTime {\n let date = parseDate({input: str, format, timeZone});\n if (date.isValid()) {\n if (timeZone && !isDateStringWithTimeZone(str)) {\n const time = parseDate({input: str, format});\n date = mergeDateTime(date, time);\n }\n }\n\n return date;\n}\n\nexport function isAllSegmentsValid(\n allSegments: typeof EDITABLE_SEGMENTS,\n validSegments: typeof EDITABLE_SEGMENTS,\n) {\n return Object.keys(allSegments).every(\n (key) => validSegments[key as keyof typeof EDITABLE_SEGMENTS],\n );\n}\n\nexport function useFormatSections(format: string) {\n const usedFormat = format;\n const [sections, setSections] = React.useState(() => splitFormatIntoSections(usedFormat));\n\n const [previousFormat, setFormat] = React.useState(usedFormat);\n if (usedFormat !== previousFormat) {\n setFormat(usedFormat);\n setSections(splitFormatIntoSections(usedFormat));\n }\n\n return sections;\n}\n"]}
@@ -22,4 +22,5 @@
22
22
  }
23
23
  .g-date-date-picker__time-field-wrapper {
24
24
  padding: 10px;
25
- }
25
+ }
26
+ /*# sourceMappingURL=DatePicker.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/DatePicker/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Ddate-picker';%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%20outline:%20none;%0A%0A%20%20%20%20&__field%20%7B%0A%20%20%20%20%20%20%20%20width:%20100%25;%0A%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&__popup-anchor%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20z-index:%20-1;%0A%20%20%20%20%20%20%20%20inset:%200;%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;;AAEA;EACI;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}date-picker';\n\n#{$block} {\n position: relative;\n\n display: inline-block;\n\n outline: none;\n\n &__field {\n width: 100%;\n\n &_mobile {\n pointer-events: none;\n }\n }\n\n &__popup-anchor {\n position: absolute;\n z-index: -1;\n inset: 0;\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":"DatePicker.css"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { DateTime } from '@gravity-ui/date-utils';
3
- import type { CalendarProps } from '../Calendar';
4
- import type { AccessibilityProps, DomProps, FocusableProps, InputDOMProps, KeyboardEvents, StyleProps, TextInputProps } from '../types';
5
- import type { DatePickerStateOptions } from './hooks/datePickerStateFactory';
6
- import './DatePicker.css';
3
+ import type { CalendarProps } from "../Calendar/index.js";
4
+ import type { AccessibilityProps, DomProps, FocusableProps, InputDOMProps, KeyboardEvents, StyleProps, TextInputProps } from "../types/index.js";
5
+ import type { DatePickerStateOptions } from "./hooks/datePickerStateFactory.js";
6
+ import "./DatePicker.css";
7
7
  export interface DatePickerProps<T = DateTime> extends DatePickerStateOptions<T>, TextInputProps, FocusableProps, KeyboardEvents, DomProps, InputDOMProps, StyleProps, AccessibilityProps {
8
8
  children?: (props: CalendarProps<T>) => React.ReactNode;
9
9
  disablePortal?: boolean;
@@ -7,23 +7,24 @@ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = tslib_1.__importDefault(require("react"));
8
8
  const icons_1 = require("@gravity-ui/icons");
9
9
  const uikit_1 = require("@gravity-ui/uikit");
10
- const Calendar_1 = require("../Calendar");
11
- const DateField_1 = require("../DateField");
12
- const HiddenInput_1 = require("../HiddenInput/HiddenInput");
13
- const MobileCalendar_1 = require("./MobileCalendar");
14
- const StubButton_1 = require("./StubButton");
15
- const useDatePickerProps_1 = require("./hooks/useDatePickerProps");
16
- const useDatePickerState_1 = require("./hooks/useDatePickerState");
17
- const utils_1 = require("./utils");
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 MobileCalendar_1 = require("./MobileCalendar.js");
14
+ const StubButton_1 = require("./StubButton.js");
15
+ const useDatePickerProps_1 = require("./hooks/useDatePickerProps.js");
16
+ const useDatePickerState_1 = require("./hooks/useDatePickerState.js");
17
+ const utils_1 = require("./utils/index.js");
18
18
  require("./DatePicker.css");
19
19
  function DatePicker(_a) {
20
20
  var { className } = _a, props = tslib_1.__rest(_a, ["className"]);
21
- const anchorRef = react_1.default.useRef(null);
21
+ const [anchor, setAnchor] = react_1.default.useState(null);
22
22
  const state = (0, useDatePickerState_1.useDatePickerState)(props);
23
23
  const { groupProps, fieldProps, calendarButtonProps, popupProps, calendarProps, timeInputProps } = (0, useDatePickerProps_1.useDatePickerProps)(state, props);
24
24
  const isMobile = (0, uikit_1.useMobile)();
25
25
  const isOnlyTime = state.hasTime && !state.hasDate;
26
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, utils_1.b)(null, className) }, groupProps, { children: [isMobile ? ((0, jsx_runtime_1.jsx)(MobileCalendar_1.MobileCalendar, { props: props, state: state })) : (!isOnlyTime && ((0, jsx_runtime_1.jsx)("div", { ref: anchorRef, className: (0, utils_1.b)('popup-anchor'), children: (0, jsx_runtime_1.jsx)(uikit_1.Popup, Object.assign({ anchorRef: anchorRef }, popupProps, { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.b)('popup-content'), children: [typeof props.children === 'function' ? (props.children(calendarProps)) : ((0, jsx_runtime_1.jsx)(Calendar_1.Calendar, Object.assign({}, calendarProps))), state.hasTime && ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.b)('time-field-wrapper'), children: (0, jsx_runtime_1.jsx)(DateField_1.DateField, Object.assign({}, timeInputProps)) }))] }) })) }))), (0, jsx_runtime_1.jsx)(uikit_1.TextInput, Object.assign({}, fieldProps, { className: (0, utils_1.b)('field', { mobile: isMobile }), hasClear: !isMobile && fieldProps.hasClear, 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 && ((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: state.value, toStringValue: (value) => { var _a; return (_a = value === null || value === void 0 ? void 0 : value.toISOString()) !== null && _a !== void 0 ? _a : ''; }, onReset: (value) => {
26
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, utils_1.b)(null, className) }, groupProps, { children: [isMobile ? ((0, jsx_runtime_1.jsx)(MobileCalendar_1.MobileCalendar, { props: props, state: state })) : (!isOnlyTime && ((0, jsx_runtime_1.jsx)("div", { ref: setAnchor, className: (0, utils_1.b)('popup-anchor'), children: (0, jsx_runtime_1.jsx)(uikit_1.Popup, Object.assign({ anchorElement: anchor }, popupProps, { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.b)('popup-content'), children: [typeof props.children === 'function' ? (props.children(calendarProps)) : ((0, jsx_runtime_1.jsx)(Calendar_1.Calendar, Object.assign({}, calendarProps))), state.hasTime && ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.b)('time-field-wrapper'), children: (0, jsx_runtime_1.jsx)(DateField_1.DateField, Object.assign({}, timeInputProps)) }))] }) })) }))), (0, jsx_runtime_1.jsx)(uikit_1.TextInput, Object.assign({}, fieldProps, { className: (0, utils_1.b)('field', { mobile: isMobile }), hasClear: !isMobile && fieldProps.hasClear, 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: isOnlyTime ? icons_1.Clock : icons_1.Calendar }))] }) })), (0, jsx_runtime_1.jsx)(HiddenInput_1.HiddenInput, { name: props.name, value: state.value, toStringValue: (value) => { var _a; return (_a = value === null || value === void 0 ? void 0 : value.toISOString()) !== null && _a !== void 0 ? _a : ''; }, onReset: (value) => {
27
27
  state.setValue(value);
28
28
  }, disabled: state.disabled, form: props.form })] })));
29
29
  }
30
+ //# sourceMappingURL=DatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {Calendar as CalendarIcon, Clock as ClockIcon} from '@gravity-ui/icons';\nimport {Button, Icon, Popup, TextInput, useMobile} from '@gravity-ui/uikit';\n\nimport {Calendar} from '../Calendar';\nimport type {CalendarProps} 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 TextInputProps,\n} from '../types';\n\nimport {MobileCalendar} from './MobileCalendar';\nimport {StubButton} from './StubButton';\nimport type {DatePickerStateOptions} from './hooks/datePickerStateFactory';\nimport {useDatePickerProps} from './hooks/useDatePickerProps';\nimport {useDatePickerState} from './hooks/useDatePickerState';\nimport {b} from './utils';\n\nimport './DatePicker.scss';\n\nexport interface DatePickerProps<T = DateTime>\n extends DatePickerStateOptions<T>,\n TextInputProps,\n FocusableProps,\n KeyboardEvents,\n DomProps,\n InputDOMProps,\n StyleProps,\n AccessibilityProps {\n children?: (props: CalendarProps<T>) => React.ReactNode;\n disablePortal?: boolean;\n disableFocusTrap?: boolean;\n}\n\nexport function DatePicker({className, ...props}: DatePickerProps) {\n const [anchor, setAnchor] = React.useState<HTMLDivElement | null>(null);\n\n const state = useDatePickerState(props);\n\n const {groupProps, fieldProps, calendarButtonProps, popupProps, calendarProps, timeInputProps} =\n useDatePickerProps(state, props);\n\n const isMobile = useMobile();\n const isOnlyTime = state.hasTime && !state.hasDate;\n\n return (\n <div className={b(null, className)} {...groupProps}>\n {isMobile ? (\n <MobileCalendar props={props} state={state} />\n ) : (\n !isOnlyTime && (\n <div ref={setAnchor} className={b('popup-anchor')}>\n <Popup anchorElement={anchor} {...popupProps}>\n <div className={b('popup-content')}>\n {typeof props.children === 'function' ? (\n props.children(calendarProps)\n ) : (\n <Calendar {...calendarProps} />\n )}\n {state.hasTime && (\n <div className={b('time-field-wrapper')}>\n <DateField {...timeInputProps} />\n </div>\n )}\n </div>\n </Popup>\n </div>\n )\n )}\n <TextInput\n {...fieldProps}\n className={b('field', {mobile: isMobile})}\n hasClear={!isMobile && fieldProps.hasClear}\n endContent={\n <React.Fragment>\n {!isMobile && !isOnlyTime && (\n <Button {...calendarButtonProps}>\n <Icon data={CalendarIcon} />\n </Button>\n )}\n {(isMobile || isOnlyTime) && (\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}\n toStringValue={(value) => value?.toISOString() ?? ''}\n onReset={(value) => {\n state.setValue(value);\n }}\n disabled={state.disabled}\n form={props.form}\n />\n </div>\n );\n}\n"]}
@@ -21,4 +21,5 @@
21
21
  margin: 0;
22
22
  padding: 0;
23
23
  cursor: pointer;
24
- }
24
+ }
25
+ /*# sourceMappingURL=MobileCalendar.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/DatePicker/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Dmobile-calendar';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20position:%20absolute;%0A%20%20%20%20z-index:%201;%0A%20%20%20%20inset-block-start:%200;%0A%20%20%20%20inset-inline-start:%200;%0A%0A%20%20%20%20box-sizing:%20border-box;%0A%20%20%20%20/%20width:%20100%25%20does%20not%20work%20in%20mobile%20Safari%0A%20%20%20%20min-width:%20100%25;%0A%20%20%20%20height:%20100%25;%0A%20%20%20%20margin:%200;%0A%20%20%20%20padding:%200;%0A%0A%20%20%20%20cursor:%20pointer;%0A%0A%20%20%20%20opacity:%200;%0A%20%20%20%20border:%20none;%0A%0A%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset-block-start:%200;%0A%20%20%20%20%20%20%20%20inset-inline-start:%200;%0A%0A%20%20%20%20%20%20%20%20min-width:%20100%25;%0A%20%20%20%20%20%20%20%20height:%20100%25;%0A%20%20%20%20%20%20%20%20margin:%200;%0A%20%20%20%20%20%20%20%20padding:%200;%0A%0A%20%20%20%20%20%20%20%20cursor:%20pointer;%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}mobile-calendar';\n\n#{$block} {\n position: absolute;\n z-index: 1;\n inset-block-start: 0;\n inset-inline-start: 0;\n\n box-sizing: border-box;\n // width: 100% does not work in mobile Safari\n min-width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n\n cursor: pointer;\n\n opacity: 0;\n border: none;\n\n &::-webkit-calendar-picker-indicator {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n\n min-width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n\n cursor: pointer;\n }\n}\n"],"file":"MobileCalendar.css"}
@@ -1,6 +1,6 @@
1
- import type { DatePickerProps } from './DatePicker';
2
- import type { DatePickerState } from './hooks/useDatePickerState';
3
- import './MobileCalendar.css';
1
+ import type { DatePickerProps } from "./DatePicker.js";
2
+ import type { DatePickerState } from "./hooks/useDatePickerState.js";
3
+ import "./MobileCalendar.css";
4
4
  interface MobileCalendarProps {
5
5
  props: DatePickerProps;
6
6
  state: DatePickerState;
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.MobileCalendar = MobileCalendar;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const date_utils_1 = require("@gravity-ui/date-utils");
7
- const cn_1 = require("../../utils/cn");
8
- const dates_1 = require("../utils/dates");
7
+ const cn_1 = require("../../utils/cn.js");
8
+ const dates_1 = require("../utils/dates.js");
9
9
  require("./MobileCalendar.css");
10
10
  const b = (0, cn_1.block)('mobile-calendar');
11
11
  function MobileCalendar({ props, state }) {
@@ -74,3 +74,4 @@ function formatNative(date, type) {
74
74
  const format = getDateFormat(type);
75
75
  return date.format(format);
76
76
  }
77
+ //# sourceMappingURL=MobileCalendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileCalendar.js","sourceRoot":"../../../../src","sources":["components/DatePicker/MobileCalendar.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport {dateTime} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport {block} from '../../utils/cn';\nimport {createPlaceholderValue, mergeDateTime} from '../utils/dates';\n\nimport type {DatePickerProps} from './DatePicker';\nimport type {DatePickerState} from './hooks/useDatePickerState';\n\nimport './MobileCalendar.scss';\n\nconst b = block('mobile-calendar');\n\ntype InputDateType = 'date' | 'time' | 'datetime-local';\n\ninterface MobileCalendarProps {\n props: DatePickerProps;\n state: DatePickerState;\n}\nexport function MobileCalendar({props, state}: MobileCalendarProps) {\n let type: InputDateType = 'date';\n if (state.hasTime && state.hasDate) {\n type = 'datetime-local';\n } else if (state.hasTime) {\n type = 'time';\n }\n\n return (\n <input\n className={b()}\n disabled={props.disabled}\n type={type}\n value={formatNative(state.dateFieldState.value, type)}\n id={props.id}\n min={formatNative(props.minValue?.timeZone(state.timeZone), type)}\n max={formatNative(props.maxValue?.timeZone(state.timeZone), type)}\n tabIndex={-1}\n onChange={(e) => {\n if (props.readOnly) {\n return;\n }\n const newValue = e.target.value;\n if (newValue) {\n const localDate = dateTime({\n input: newValue,\n format: getDateFormat(type),\n timeZone: 'system',\n }).timeZone(state.timeZone, true);\n let newDate = state.hasDate\n ? localDate\n : createPlaceholderValue({\n placeholderValue: props.placeholderValue?.timeZone(state.timeZone),\n timeZone: state.timeZone,\n });\n if (state.hasTime) {\n newDate = mergeDateTime(newDate, localDate);\n } else if (state.value) {\n newDate = mergeDateTime(newDate, state.value.timeZone(state.timeZone));\n } else {\n newDate = mergeDateTime(\n newDate,\n createPlaceholderValue({\n placeholderValue: props.placeholderValue?.timeZone(state.timeZone),\n timeZone: state.timeZone,\n }),\n );\n }\n state.setValue(newDate);\n } else {\n state.setValue(null);\n }\n }}\n />\n );\n}\n\nfunction getDateFormat(type: InputDateType) {\n switch (type) {\n case 'time': {\n return 'HH:mm';\n }\n case 'datetime-local': {\n return 'YYYY-MM-DDTHH:mm';\n }\n default: {\n return 'YYYY-MM-DD';\n }\n }\n}\nfunction formatNative(date: DateTime | null | undefined, type: InputDateType) {\n if (!date) {\n return '';\n }\n\n const format = getDateFormat(type);\n return date.format(format);\n}\n"]}
@@ -23,4 +23,5 @@
23
23
  justify-content: center;
24
24
  align-items: center;
25
25
  color: var(--g-color-text-secondary);
26
- }
26
+ }
27
+ /*# sourceMappingURL=StubButton.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/DatePicker/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Dstub-button';%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%20width:%2024px;%0A%20%20%20%20height:%2024px;%0A%0A%20%20%20%20&_size_xs%20%7B%0A%20%20%20%20%20%20%20%20width:%2020px;%0A%20%20%20%20%20%20%20%20height:%2020px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&_size_m%20%7B%0A%20%20%20%20%20%20%20%20width:%2028px;%0A%20%20%20%20%20%20%20%20height:%2028px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&_size_l%20%7B%0A%20%20%20%20%20%20%20%20width:%2036px;%0A%20%20%20%20%20%20%20%20height:%2036px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__icon%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset:%200;%0A%0A%20%20%20%20%20%20%20%20display:%20flex;%0A%20%20%20%20%20%20%20%20justify-content:%20center;%0A%20%20%20%20%20%20%20%20align-items:%20center;%0A%0A%20%20%20%20%20%20%20%20color:%20var(--g-color-text-secondary);%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EAEA;EAEA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EAEA;EACA;EACA;EAEA","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}stub-button';\n\n#{$block} {\n position: relative;\n\n display: inline-block;\n\n width: 24px;\n height: 24px;\n\n &_size_xs {\n width: 20px;\n height: 20px;\n }\n\n &_size_m {\n width: 28px;\n height: 28px;\n }\n\n &_size_l {\n width: 36px;\n height: 36px;\n }\n\n &__icon {\n position: absolute;\n inset: 0;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n color: var(--g-color-text-secondary);\n }\n}\n"],"file":"StubButton.css"}
@@ -1,5 +1,5 @@
1
1
  import type { ButtonSize, IconData } from '@gravity-ui/uikit';
2
- import './StubButton.css';
2
+ import "./StubButton.css";
3
3
  interface StubButtonProps {
4
4
  size?: ButtonSize;
5
5
  icon: IconData;
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StubButton = StubButton;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const uikit_1 = require("@gravity-ui/uikit");
6
- const cn_1 = require("../../utils/cn");
6
+ const cn_1 = require("../../utils/cn.js");
7
7
  require("./StubButton.css");
8
8
  const b = (0, cn_1.block)('stub-button');
9
9
  function StubButton({ size, icon }) {
10
10
  return ((0, jsx_runtime_1.jsx)("span", { className: b({ size }), children: (0, jsx_runtime_1.jsx)("span", { className: b('icon'), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icon }) }) }));
11
11
  }
12
+ //# sourceMappingURL=StubButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StubButton.js","sourceRoot":"../../../../src","sources":["components/DatePicker/StubButton.tsx"],"names":[],"mappings":";;AAaA,gCAQC;;AArBD,6CAAuC;AAGvC,0CAAqC;AAErC,4BAA2B;AAE3B,MAAM,CAAC,GAAG,IAAA,UAAK,EAAC,aAAa,CAAC,CAAC;AAM/B,SAAgB,UAAU,CAAC,EAAC,IAAI,EAAE,IAAI,EAAkB;IACpD,OAAO,CACH,iCAAM,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,YACtB,iCAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACtB,uBAAC,YAAI,IAAC,IAAI,EAAE,IAAI,GAAI,GACjB,GACJ,CACV,CAAC;AACN,CAAC","sourcesContent":["import {Icon} from '@gravity-ui/uikit';\nimport type {ButtonSize, IconData} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\n\nimport './StubButton.scss';\n\nconst b = block('stub-button');\n\ninterface StubButtonProps {\n size?: ButtonSize;\n icon: IconData;\n}\nexport function StubButton({size, icon}: StubButtonProps) {\n return (\n <span className={b({size})}>\n <span className={b('icon')}>\n <Icon data={icon} />\n </span>\n </span>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { DateTime } from '@gravity-ui/date-utils';
2
- import type { DateFieldState } from '../../DateField';
3
- import type { DateFieldBase, PopupTriggerProps } from '../../types';
2
+ import type { DateFieldState } from "../../DateField/index.js";
3
+ import type { DateFieldBase, PopupTriggerProps } from "../../types/index.js";
4
4
  type OpenChangeReason = 'EscapeKeyDown' | 'FocusOut' | 'ClickOutside' | 'ValueSelected' | 'TriggerButtonClick' | 'ShortcutKeyDown';
5
5
  export interface DatePickerState<T = DateTime> {
6
6
  /** The currently selected date. */
@@ -1,12 +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.datePickerStateFactory = datePickerStateFactory;
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 useDefaultTimeZone_1 = require("../../utils/useDefaultTimeZone");
7
+ const useDefaultTimeZone_1 = require("../../utils/useDefaultTimeZone.js");
10
8
  function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setTimezone, getDateTime, useDateFieldState, }) {
11
9
  return function useDatePickerState(props) {
12
10
  var _a, _b;
@@ -137,3 +135,4 @@ function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setTimezone
137
135
  };
138
136
  };
139
137
  }
138
+ //# sourceMappingURL=datePickerStateFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datePickerStateFactory.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/hooks/datePickerStateFactory.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 {DateFieldState} from '../../DateField';\nimport type {DateFieldBase, PopupTriggerProps} from '../../types';\nimport {useDefaultTimeZone} from '../../utils/useDefaultTimeZone';\n\ntype OpenChangeReason =\n | 'EscapeKeyDown'\n | 'FocusOut'\n | 'ClickOutside'\n | 'ValueSelected'\n | 'TriggerButtonClick'\n | 'ShortcutKeyDown';\n\nexport interface DatePickerState<T = DateTime> {\n /** The currently selected date. */\n value: T | null;\n /** Sets the selected date. */\n setValue: (value: T | null) => void;\n /**\n * The date portion of the value. This may be set prior to `value` if the user has\n * selected a date but has not yet selected a time.\n */\n dateValue: T | null;\n /** Sets the date portion of the value. */\n setDateValue: (value: T) => void;\n /**\n * The time portion of the value. This may be set prior to `value` if the user has\n * selected a time but has not yet selected a date.\n */\n timeValue: T | null;\n /** Sets the time portion of the value. */\n setTimeValue: (value: T | null) => void;\n /** Whether the field is read only. */\n readOnly?: boolean;\n /** Whether the field is disabled. */\n disabled?: boolean;\n /** Format of the date when rendered in the input. */\n format: string;\n /** Whether the date picker supports selecting a date. */\n hasDate: boolean;\n /** Whether the date picker supports selecting a time. */\n hasTime: boolean;\n /** Format of the time when rendered in the input. */\n timeFormat?: string;\n timeZone: string;\n /** Whether the calendar popover is currently open. */\n isOpen: boolean;\n /** Sets whether the calendar popover is open. */\n setOpen: (isOpen: boolean, reason: OpenChangeReason) => void;\n dateFieldState: DateFieldState<T>;\n}\n\nexport interface DatePickerStateFactoryOptions<T, O extends DateFieldBase<T>> {\n getPlaceholderTime: (placeholderValue: DateTime | undefined, timeZone?: string) => T;\n mergeDateTime: (date: T, time: T) => T;\n setTimezone: (date: T, timeZone: string) => T;\n getDateTime: (date: T | null | undefined) => DateTime | undefined;\n useDateFieldState: (props: O) => DateFieldState<T>;\n}\n\nexport interface DatePickerStateOptions<T>\n extends DateFieldBase<T>,\n PopupTriggerProps<[OpenChangeReason]> {}\n\nexport function datePickerStateFactory<T, O extends DatePickerStateOptions<T>>({\n getPlaceholderTime,\n mergeDateTime,\n setTimezone,\n getDateTime,\n useDateFieldState,\n}: DatePickerStateFactoryOptions<T, O>) {\n return function useDatePickerState(props: O): DatePickerState<T> {\n const {disabled, readOnly} = props;\n const [isOpen, _setOpen] = useControlledState(\n props.open,\n props.defaultOpen ?? false,\n props.onOpenChange,\n );\n\n const setOpen: NonNullable<typeof props.onOpenChange> = _setOpen;\n\n const [value, setValue] = useControlledState(\n props.value as never,\n props.defaultValue ?? null,\n props.onUpdate,\n );\n const [selectedDateInner, setSelectedDate] = React.useState<T | null>(null);\n const [selectedTimeInner, setSelectedTime] = React.useState<T | null>(null);\n\n const inputTimeZone = useDefaultTimeZone(\n getDateTime(props.value) || getDateTime(props.defaultValue) || props.placeholderValue,\n );\n const timeZone = props.timeZone || inputTimeZone;\n\n let selectedDate = selectedDateInner;\n let selectedTime = selectedTimeInner;\n\n const format = props.format || 'L';\n\n const commitValue = (date: T, time: T) => {\n if (disabled || readOnly) {\n return;\n }\n\n setValue(setTimezone(mergeDateTime(date, time), inputTimeZone));\n setSelectedDate(null);\n setSelectedTime(null);\n };\n\n const dateFieldState = useDateFieldState({\n ...props,\n value,\n onUpdate(date: T | null) {\n if (date) {\n commitValue(date, date);\n } else {\n setValue(null);\n }\n },\n disabled,\n readOnly,\n validationState: props.validationState,\n minValue: props.minValue,\n maxValue: props.maxValue,\n isDateUnavailable: props.isDateUnavailable,\n format,\n placeholderValue: props.placeholderValue,\n timeZone,\n });\n\n const timeFormat = React.useMemo(() => {\n if (!dateFieldState.hasTime) {\n return undefined;\n }\n const timeFormatParts: string[] = [];\n const hours = dateFieldState.sections.find((s) => s.type === 'hour');\n if (hours) {\n timeFormatParts.push(hours.format);\n }\n const minutes = dateFieldState.sections.find((s) => s.type === 'minute');\n if (minutes) {\n timeFormatParts.push(minutes.format);\n }\n const seconds = dateFieldState.sections.find((s) => s.type === 'second');\n if (seconds) {\n timeFormatParts.push(seconds.format);\n }\n const dayPeriod = dateFieldState.sections.find((s) => s.type === 'dayPeriod');\n return timeFormatParts.join(':') + (dayPeriod ? ` ${dayPeriod.format}` : '');\n }, [dateFieldState.hasTime, dateFieldState.sections]);\n\n if (value) {\n selectedDate = setTimezone(value, timeZone);\n if (dateFieldState.hasTime) {\n selectedTime = setTimezone(value, timeZone);\n }\n }\n\n // Intercept setValue to make sure the Time section is not changed by date selection in Calendar\n const selectDate = (newValue: T) => {\n if (disabled || readOnly) {\n return;\n }\n\n const shouldClose = !dateFieldState.hasTime;\n if (dateFieldState.hasTime) {\n if (selectedTime || shouldClose) {\n commitValue(newValue, selectedTime || newValue);\n } else {\n setSelectedDate(newValue);\n }\n } else {\n commitValue(newValue, newValue);\n }\n\n if (shouldClose) {\n setOpen(false, 'ValueSelected');\n }\n };\n\n const selectTime = (newValue: T | null) => {\n if (disabled || readOnly) {\n return;\n }\n\n const newTime = newValue ?? getPlaceholderTime(props.placeholderValue, timeZone);\n\n if (selectedDate) {\n commitValue(selectedDate, newTime);\n } else {\n setSelectedTime(newTime);\n }\n };\n\n if (dateFieldState.hasTime && !selectedTime) {\n selectedTime = dateFieldState.displayValue;\n }\n\n return {\n value,\n setValue(newDate: T | null) {\n if (props.readOnly || props.disabled) {\n return;\n }\n\n if (newDate) {\n setValue(setTimezone(newDate, inputTimeZone));\n } else {\n setValue(null);\n }\n },\n dateValue: selectedDate,\n timeValue: selectedTime,\n setDateValue: selectDate,\n setTimeValue: selectTime,\n disabled,\n readOnly,\n format,\n hasDate: dateFieldState.hasDate,\n hasTime: dateFieldState.hasTime,\n timeFormat,\n timeZone,\n isOpen,\n setOpen(newIsOpen, reason) {\n if (!newIsOpen && !value && selectedDate && dateFieldState.hasTime) {\n commitValue(\n selectedDate,\n selectedTime || getPlaceholderTime(props.placeholderValue, props.timeZone),\n );\n }\n\n setOpen(newIsOpen, reason);\n },\n dateFieldState,\n };\n };\n}\n"]}
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
2
  import type { DateTime } from '@gravity-ui/date-utils';
3
- import type { ButtonProps, PopupProps, TextInputProps } from '@gravity-ui/uikit';
4
- import type { CalendarInstance, CalendarProps } from '../../Calendar';
5
- import type { DateFieldProps } from '../../DateField';
6
- import type { RangeValue } from '../../types';
7
- import type { DatePickerProps } from '../DatePicker';
8
- import type { DatePickerState } from './useDatePickerState';
3
+ import type { ButtonButtonProps, PopupProps, TextInputProps } from '@gravity-ui/uikit';
4
+ import type { CalendarInstance, CalendarProps } from "../../Calendar/index.js";
5
+ import type { DateFieldProps } from "../../DateField/index.js";
6
+ import type { RangeValue } from "../../types/index.js";
7
+ import type { DatePickerProps } from "../DatePicker.js";
8
+ import type { DatePickerState } from "./useDatePickerState.js";
9
9
  interface InnerDatePickerProps<T = DateTime> {
10
10
  groupProps: React.HTMLAttributes<unknown> & {
11
11
  ref: React.Ref<any>;
12
12
  };
13
13
  fieldProps: TextInputProps;
14
- calendarButtonProps: ButtonProps & {
14
+ calendarButtonProps: ButtonButtonProps & {
15
15
  ref: React.Ref<HTMLButtonElement>;
16
16
  };
17
17
  popupProps: PopupProps;
@@ -5,11 +5,11 @@ const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const date_utils_1 = require("@gravity-ui/date-utils");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
- const DateField_1 = require("../../DateField");
9
- const getButtonSizeForInput_1 = require("../../utils/getButtonSizeForInput");
10
- const mergeProps_1 = require("../../utils/mergeProps");
11
- const i18n_1 = require("../i18n");
12
- const utils_1 = require("../utils");
8
+ const DateField_1 = require("../../DateField/index.js");
9
+ const getButtonSizeForInput_1 = require("../../utils/getButtonSizeForInput.js");
10
+ const mergeProps_1 = require("../../utils/mergeProps.js");
11
+ const i18n_1 = require("../i18n/index.js");
12
+ const utils_1 = require("../utils/index.js");
13
13
  function useDatePickerProps(state, _a) {
14
14
  var { onFocus, onBlur } = _a, props = tslib_1.__rest(_a, ["onFocus", "onBlur"]);
15
15
  const [isActive, setActive] = react_1.default.useState(false);
@@ -72,11 +72,9 @@ function useDatePickerProps(state, _a) {
72
72
  ref: calendarButtonRef,
73
73
  size: (0, getButtonSizeForInput_1.getButtonSizeForInput)(props.size),
74
74
  disabled: state.disabled,
75
- extraProps: {
76
- 'aria-label': (0, i18n_1.i18n)('Calendar'),
77
- 'aria-haspopup': 'dialog',
78
- 'aria-expanded': state.isOpen,
79
- },
75
+ 'aria-label': (0, i18n_1.i18n)('Calendar'),
76
+ 'aria-haspopup': 'dialog',
77
+ 'aria-expanded': state.isOpen,
80
78
  view: 'flat-secondary',
81
79
  onClick: () => {
82
80
  setActive(true);
@@ -85,25 +83,29 @@ function useDatePickerProps(state, _a) {
85
83
  },
86
84
  popupProps: {
87
85
  open: state.isOpen,
88
- onEscapeKeyDown: () => {
89
- state.setOpen(false, 'EscapeKeyDown');
90
- focusInput();
91
- },
92
- onOutsideClick: (e) => {
93
- var _a;
94
- if (e.target !== calendarButtonRef.current) {
95
- state.setOpen(false, 'ClickOutside');
96
- }
97
- if (e.target && ((_a = groupRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
98
- focusInput();
86
+ onOpenChange: (open, e, reason) => {
87
+ var _a, _b;
88
+ if (!open) {
89
+ if (reason === 'escape-key') {
90
+ state.setOpen(false, 'EscapeKeyDown');
91
+ focusInput();
92
+ }
93
+ else if (reason === 'outside-press') {
94
+ if (!(e === null || e === void 0 ? void 0 : e.target) || !((_a = calendarButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
95
+ state.setOpen(false, 'ClickOutside');
96
+ }
97
+ if ((e === null || e === void 0 ? void 0 : e.target) && ((_b = groupRef.current) === null || _b === void 0 ? void 0 : _b.contains(e.target))) {
98
+ focusInput();
99
+ }
100
+ }
99
101
  }
100
102
  },
101
- onTransitionExited: () => {
103
+ onTransitionOutComplete: () => {
102
104
  setFocusedDate((0, date_utils_1.isDateTime)(state.dateFieldState.displayValue)
103
105
  ? state.dateFieldState.displayValue
104
106
  : state.dateFieldState.displayValue.start);
105
107
  },
106
- focusTrap: !props.disableFocusTrap,
108
+ modal: !props.disableFocusTrap,
107
109
  disablePortal: props.disablePortal,
108
110
  },
109
111
  calendarProps: {
@@ -139,3 +141,4 @@ function useDatePickerProps(state, _a) {
139
141
  },
140
142
  };
141
143
  }
144
+ //# sourceMappingURL=useDatePickerProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatePickerProps.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/hooks/useDatePickerProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {isDateTime} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {useFocusWithin, useForkRef} from '@gravity-ui/uikit';\nimport type {ButtonButtonProps, PopupProps, TextInputProps} from '@gravity-ui/uikit';\n\nimport type {CalendarInstance, CalendarProps} from '../../Calendar';\nimport {useDateFieldProps} from '../../DateField';\nimport type {DateFieldProps} from '../../DateField';\nimport type {RangeValue} from '../../types';\nimport {getButtonSizeForInput} from '../../utils/getButtonSizeForInput';\nimport {mergeProps} from '../../utils/mergeProps';\nimport type {DatePickerProps} from '../DatePicker';\nimport {i18n} from '../i18n';\nimport {getDateTimeValue} from '../utils';\n\nimport type {DatePickerState} from './useDatePickerState';\n\ninterface InnerDatePickerProps<T = DateTime> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupProps: React.HTMLAttributes<unknown> & {ref: React.Ref<any>};\n fieldProps: TextInputProps;\n calendarButtonProps: ButtonButtonProps & {ref: React.Ref<HTMLButtonElement>};\n popupProps: PopupProps;\n calendarProps: CalendarProps<T> & {ref: React.Ref<CalendarInstance>};\n timeInputProps: DateFieldProps<T>;\n}\n\nexport function useDatePickerProps<T extends DateTime | RangeValue<DateTime>>(\n state: DatePickerState<T>,\n {onFocus, onBlur, ...props}: DatePickerProps<T>,\n): InnerDatePickerProps<T> {\n const [isActive, setActive] = React.useState(false);\n\n const [focusedDate, setFocusedDate] = React.useState(\n isDateTime(state.dateFieldState.displayValue)\n ? state.dateFieldState.displayValue\n : state.dateFieldState.displayValue.start,\n );\n const [prevDateValue, setPrevDateValue] = React.useState<any>(\n state.dateFieldState.displayValue,\n );\n\n if (isDateTime(state.dateFieldState.displayValue)) {\n if (!state.dateFieldState.displayValue.isSame(prevDateValue, 'day')) {\n setPrevDateValue(state.dateFieldState.displayValue);\n setFocusedDate(state.dateFieldState.displayValue);\n }\n } else if (!state.dateFieldState.displayValue.start.isSame(prevDateValue.start, 'day')) {\n setPrevDateValue(state.dateFieldState.displayValue);\n setFocusedDate(state.dateFieldState.displayValue.start);\n } else if (!state.dateFieldState.displayValue.end.isSame(prevDateValue.end, 'day')) {\n setPrevDateValue(state.dateFieldState.displayValue);\n setFocusedDate(state.dateFieldState.displayValue.end);\n }\n\n const {focusWithinProps} = useFocusWithin({\n onFocusWithin: onFocus,\n onBlurWithin: onBlur,\n onFocusWithinChange(isFocusWithin) {\n setActive(isFocusWithin);\n if (!isFocusWithin) {\n state.setOpen(false, 'FocusOut');\n }\n },\n });\n\n const {inputProps} = useDateFieldProps(state.dateFieldState, props);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleRef = useForkRef(inputRef, inputProps.controlRef);\n\n const calendarRef = React.useRef<CalendarInstance>(null);\n const calendarButtonRef = React.useRef<HTMLButtonElement>(null);\n const groupRef = React.useRef<HTMLElement>(null);\n\n function focusInput() {\n setTimeout(() => {\n inputRef.current?.focus({preventScroll: true});\n });\n }\n\n const onlyTime = state.hasTime && !state.hasDate;\n\n return {\n groupProps: {\n ref: groupRef,\n tabIndex: -1,\n role: 'group',\n ...focusWithinProps,\n style: props.style,\n 'aria-disabled': state.disabled || undefined,\n onKeyDown: (e) => {\n if (!onlyTime && e.altKey && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {\n e.preventDefault();\n e.stopPropagation();\n state.setOpen(true, 'ShortcutKeyDown');\n }\n },\n },\n fieldProps: mergeProps(\n inputProps,\n state.dateFieldState.isEmpty && !isActive && props.placeholder\n ? {value: ''}\n : undefined,\n {\n controlRef: handleRef,\n controlProps: {role: 'combobox', 'aria-expanded': state.isOpen},\n },\n ),\n calendarButtonProps: {\n ref: calendarButtonRef,\n size: getButtonSizeForInput(props.size),\n disabled: state.disabled,\n 'aria-label': i18n('Calendar'),\n 'aria-haspopup': 'dialog',\n 'aria-expanded': state.isOpen,\n view: 'flat-secondary',\n onClick: () => {\n setActive(true);\n state.setOpen(!state.isOpen, 'TriggerButtonClick');\n },\n },\n popupProps: {\n open: state.isOpen,\n onOpenChange: (open, e, reason) => {\n if (!open) {\n if (reason === 'escape-key') {\n state.setOpen(false, 'EscapeKeyDown');\n focusInput();\n } else if (reason === 'outside-press') {\n if (!e?.target || !calendarButtonRef.current?.contains(e.target as Node)) {\n state.setOpen(false, 'ClickOutside');\n }\n\n if (e?.target && groupRef.current?.contains(e.target as Node)) {\n focusInput();\n }\n }\n }\n },\n onTransitionOutComplete: () => {\n setFocusedDate(\n isDateTime(state.dateFieldState.displayValue)\n ? state.dateFieldState.displayValue\n : state.dateFieldState.displayValue.start,\n );\n },\n modal: !props.disableFocusTrap,\n disablePortal: props.disablePortal,\n },\n calendarProps: {\n ref: calendarRef,\n autoFocus: true,\n size: props.size === 's' ? 'm' : props.size,\n disabled: props.disabled,\n readOnly: props.readOnly,\n onUpdate: (d) => {\n state.setDateValue(d);\n if (!state.hasTime) {\n focusInput();\n }\n },\n value: state.dateFieldState.displayValue,\n minValue: props.minValue,\n maxValue: props.maxValue,\n isDateUnavailable: props.isDateUnavailable,\n timeZone: state.timeZone,\n focusedValue: focusedDate,\n onFocusUpdate: setFocusedDate,\n },\n timeInputProps: {\n value: state.timeValue,\n placeholderValue: getDateTimeValue(state.dateFieldState.displayValue),\n onUpdate: state.setTimeValue,\n format: state.timeFormat,\n readOnly: state.readOnly,\n disabled: state.disabled,\n timeZone: state.timeZone,\n hasClear: props.hasClear,\n size: props.size,\n },\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { DateTime } from '@gravity-ui/date-utils';
2
- import type { DateFieldBase } from '../../types';
3
- export type { DatePickerState } from './datePickerStateFactory';
2
+ import type { DateFieldBase } from "../../types/index.js";
3
+ export type { DatePickerState } from "./datePickerStateFactory.js";
4
4
  export interface DatePickerStateOptions extends DateFieldBase {
5
5
  }
6
- export declare const useDatePickerState: (props: import("../../DateField").DateFieldStateOptions) => import("./datePickerStateFactory").DatePickerState<DateTime>;
6
+ export declare const useDatePickerState: (props: import("../../DateField/index.js").DateFieldStateOptions) => import("./datePickerStateFactory.js").DatePickerState<DateTime>;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useDatePickerState = void 0;
4
- const DateField_1 = require("../../DateField");
5
- const dates_1 = require("../../utils/dates");
6
- const utils_1 = require("../utils");
7
- const datePickerStateFactory_1 = require("./datePickerStateFactory");
4
+ const DateField_1 = require("../../DateField/index.js");
5
+ const dates_1 = require("../../utils/dates.js");
6
+ const utils_1 = require("../utils/index.js");
7
+ const datePickerStateFactory_1 = require("./datePickerStateFactory.js");
8
8
  exports.useDatePickerState = (0, datePickerStateFactory_1.datePickerStateFactory)({
9
9
  getPlaceholderTime,
10
10
  mergeDateTime: dates_1.mergeDateTime,
@@ -15,3 +15,4 @@ exports.useDatePickerState = (0, datePickerStateFactory_1.datePickerStateFactory
15
15
  function getPlaceholderTime(placeholderValue, timeZone) {
16
16
  return (0, dates_1.createPlaceholderValue)({ placeholderValue, timeZone });
17
17
  }
18
+ //# sourceMappingURL=useDatePickerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatePickerState.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/hooks/useDatePickerState.ts"],"names":[],"mappings":";;;AAEA,wDAAkD;AAElD,gDAAwE;AACxE,6CAA0C;AAE1C,wEAAgE;AAMnD,QAAA,kBAAkB,GAAG,IAAA,+CAAsB,EAAC;IACrD,kBAAkB;IAClB,aAAa,EAAb,qBAAa;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACxD,WAAW,EAAE,wBAAgB;IAC7B,iBAAiB,EAAjB,6BAAiB;CACpB,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,gBAAsC,EAAE,QAAiB;IACjF,OAAO,IAAA,8BAAsB,EAAC,EAAC,gBAAgB,EAAE,QAAQ,EAAC,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import type {DateTime} from '@gravity-ui/date-utils';\n\nimport {useDateFieldState} from '../../DateField';\nimport type {DateFieldBase} from '../../types';\nimport {createPlaceholderValue, mergeDateTime} from '../../utils/dates';\nimport {getDateTimeValue} from '../utils';\n\nimport {datePickerStateFactory} from './datePickerStateFactory';\n\nexport type {DatePickerState} from './datePickerStateFactory';\n\nexport interface DatePickerStateOptions extends DateFieldBase {}\n\nexport const useDatePickerState = datePickerStateFactory({\n getPlaceholderTime,\n mergeDateTime,\n setTimezone: (date, timeZone) => date.timeZone(timeZone),\n getDateTime: getDateTimeValue,\n useDateFieldState,\n});\n\nfunction getPlaceholderTime(placeholderValue: DateTime | undefined, timeZone?: string) {\n return createPlaceholderValue({placeholderValue, timeZone});\n}\n"]}
@@ -1 +1,5 @@
1
- export declare const i18n: (key: "Calendar", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ export declare const i18n: ((key: "Calendar", params?: import("@gravity-ui/i18n").Params) => string) & {
2
+ keysetData: {
3
+ "g-date-date-picker": Record<"Calendar", import("@gravity-ui/i18n").KeyData>;
4
+ };
5
+ };
@@ -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}date-picker`);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/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,aAAa,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}date-picker`);\n"]}
@@ -1,3 +1,3 @@
1
- export * from './DatePicker';
2
- export * from './hooks/useDatePickerState';
3
- export * from './hooks/useDatePickerProps';
1
+ export * from "./DatePicker.js";
2
+ export * from "./hooks/useDatePickerState.js";
3
+ export * from "./hooks/useDatePickerProps.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("./DatePicker"), exports);
18
- __exportStar(require("./hooks/useDatePickerState"), exports);
19
- __exportStar(require("./hooks/useDatePickerProps"), exports);
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./DatePicker.js"), exports);
5
+ tslib_1.__exportStar(require("./hooks/useDatePickerState.js"), exports);
6
+ tslib_1.__exportStar(require("./hooks/useDatePickerProps.js"), exports);
7
+ //# sourceMappingURL=index.js.map