@gravity-ui/date-components 1.5.0 → 2.0.1

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 (265) hide show
  1. package/dist/cjs/components/Calendar/Calendar.d.ts +6 -5
  2. package/dist/cjs/components/Calendar/Calendar.js +4 -4
  3. package/dist/cjs/components/Calendar/index.d.ts +6 -6
  4. package/dist/cjs/components/Calendar/index.js +5 -5
  5. package/dist/cjs/components/{CalendarBase → CalendarView}/Calendar.css +9 -6
  6. package/dist/cjs/components/{CalendarBase/CalendarBase.d.ts → CalendarView/CalendarView.d.ts} +2 -2
  7. package/dist/cjs/components/{CalendarBase/CalendarBase.js → CalendarView/CalendarView.js} +4 -3
  8. package/dist/{esm/components/CalendarBase → cjs/components/CalendarView}/hooks/types.d.ts +37 -31
  9. package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarCellProps.js +1 -2
  10. package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarGridProps.d.ts +2 -2
  11. package/dist/{esm/components/CalendarBase → cjs/components/CalendarView}/hooks/useCalendarState.d.ts +1 -1
  12. package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarState.js +45 -23
  13. package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.d.ts +8 -0
  14. package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useRangeCalendarState.js +25 -14
  15. package/dist/cjs/components/DateField/DateField.d.ts +1 -4
  16. package/dist/cjs/components/DateField/DateField.js +3 -1
  17. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.d.ts +97 -0
  18. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js +316 -0
  19. package/dist/cjs/components/DateField/hooks/useDateFieldProps.d.ts +6 -3
  20. package/dist/cjs/components/DateField/hooks/useDateFieldProps.js +14 -12
  21. package/dist/cjs/components/DateField/hooks/useDateFieldState.d.ts +2 -65
  22. package/dist/cjs/components/DateField/hooks/useDateFieldState.js +98 -410
  23. package/dist/cjs/components/DateField/index.d.ts +1 -0
  24. package/dist/cjs/components/DateField/index.js +1 -0
  25. package/dist/cjs/components/DateField/utils.d.ts +10 -1
  26. package/dist/cjs/components/DateField/utils.js +114 -2
  27. package/dist/cjs/components/DatePicker/DatePicker.d.ts +4 -4
  28. package/dist/cjs/components/DatePicker/DatePicker.js +6 -6
  29. package/dist/cjs/components/DatePicker/MobileCalendar.css +6 -6
  30. package/dist/cjs/components/DatePicker/MobileCalendar.js +17 -12
  31. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js +5 -16
  32. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.d.ts +5 -4
  33. package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js +71 -56
  34. package/dist/cjs/components/RangeCalendar/RangeCalendar.d.ts +3 -3
  35. package/dist/cjs/components/RangeCalendar/RangeCalendar.js +4 -4
  36. package/dist/cjs/components/RangeDateField/RangeDateField.css +4 -0
  37. package/dist/cjs/components/RangeDateField/RangeDateField.d.ts +12 -0
  38. package/dist/cjs/components/RangeDateField/RangeDateField.js +25 -0
  39. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +9 -0
  40. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js +227 -0
  41. package/dist/cjs/components/RangeDateField/index.d.ts +2 -0
  42. package/dist/cjs/components/RangeDateField/index.js +5 -0
  43. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +5 -0
  44. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js +9 -0
  45. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.d.ts +5 -0
  46. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js +42 -0
  47. package/dist/cjs/components/RangeDateField/utils/index.d.ts +3 -0
  48. package/dist/cjs/components/RangeDateField/utils/index.js +6 -0
  49. package/dist/cjs/components/RangeDateField/utils/isValidRange.d.ts +3 -0
  50. package/dist/cjs/components/RangeDateField/utils/isValidRange.js +8 -0
  51. package/dist/cjs/components/RelativeDateField/RelativeDateField.d.ts +2 -2
  52. package/dist/cjs/components/RelativeDateField/RelativeDateField.js +5 -2
  53. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +5 -11
  54. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +3 -1
  55. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js +5 -4
  56. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css +3 -0
  57. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.d.ts +2 -2
  58. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js +13 -2
  59. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +35 -27
  60. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +2 -2
  61. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +12 -16
  62. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +56 -0
  63. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +27 -0
  64. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +90 -0
  65. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +32 -0
  66. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +14 -0
  67. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +43 -0
  68. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/en.json +8 -0
  69. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.d.ts +1 -0
  70. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +9 -0
  71. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/ru.json +8 -0
  72. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +16 -0
  73. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +104 -0
  74. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.css +26 -0
  75. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +18 -0
  76. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js +67 -0
  77. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +14 -0
  78. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +7 -0
  79. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +90 -0
  80. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.d.ts +9 -0
  81. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +186 -0
  82. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/en.json +40 -0
  83. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +1 -0
  84. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +9 -0
  85. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/ru.json +40 -0
  86. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +16 -0
  87. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +85 -0
  88. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css +3 -0
  89. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +9 -0
  90. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js +62 -0
  91. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/en.json +4 -0
  92. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.d.ts +1 -0
  93. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +9 -0
  94. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/ru.json +4 -0
  95. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +26 -0
  96. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +58 -0
  97. package/dist/cjs/components/RelativeRangeDatePicker/i18n/en.json +8 -0
  98. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.d.ts +1 -0
  99. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js +9 -0
  100. package/dist/cjs/components/RelativeRangeDatePicker/i18n/ru.json +8 -0
  101. package/dist/cjs/components/RelativeRangeDatePicker/index.d.ts +4 -0
  102. package/dist/cjs/components/RelativeRangeDatePicker/index.js +8 -0
  103. package/dist/cjs/components/RelativeRangeDatePicker/utils.d.ts +15 -0
  104. package/dist/cjs/components/RelativeRangeDatePicker/utils.js +53 -0
  105. package/dist/cjs/components/index.d.ts +3 -0
  106. package/dist/cjs/components/index.js +2 -0
  107. package/dist/cjs/components/types/datePicker.d.ts +5 -2
  108. package/dist/cjs/components/types/events.d.ts +4 -4
  109. package/dist/cjs/components/types/inputs.d.ts +10 -9
  110. package/dist/cjs/components/utils/dates.d.ts +1 -2
  111. package/dist/cjs/components/utils/useDefaultTimeZone.d.ts +2 -0
  112. package/dist/cjs/components/utils/useDefaultTimeZone.js +15 -0
  113. package/dist/cjs/components/utils/validation/datePicker.d.ts +6 -0
  114. package/dist/cjs/components/utils/validation/datePicker.js +30 -0
  115. package/dist/cjs/components/utils/validation/i18n/en.json +6 -0
  116. package/dist/cjs/components/utils/validation/i18n/index.d.ts +1 -0
  117. package/dist/cjs/components/utils/validation/i18n/index.js +9 -0
  118. package/dist/cjs/components/utils/validation/i18n/ru.json +6 -0
  119. package/dist/esm/components/Calendar/Calendar.d.ts +6 -5
  120. package/dist/esm/components/Calendar/Calendar.js +4 -4
  121. package/dist/esm/components/Calendar/index.d.ts +6 -6
  122. package/dist/esm/components/Calendar/index.js +5 -5
  123. package/dist/esm/components/{CalendarBase → CalendarView}/Calendar.css +9 -6
  124. package/dist/esm/components/{CalendarBase/CalendarBase.d.ts → CalendarView/CalendarView.d.ts} +2 -2
  125. package/dist/esm/components/{CalendarBase/CalendarBase.js → CalendarView/CalendarView.js} +3 -2
  126. package/dist/{cjs/components/CalendarBase → esm/components/CalendarView}/hooks/types.d.ts +37 -31
  127. package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarCellProps.js +1 -2
  128. package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarGridProps.d.ts +2 -2
  129. package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarGridProps.js +0 -1
  130. package/dist/{cjs/components/CalendarBase → esm/components/CalendarView}/hooks/useCalendarState.d.ts +1 -1
  131. package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarState.js +46 -24
  132. package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.d.ts +8 -0
  133. package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useRangeCalendarState.js +24 -13
  134. package/dist/esm/components/DateField/DateField.d.ts +1 -4
  135. package/dist/esm/components/DateField/DateField.js +4 -2
  136. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.d.ts +97 -0
  137. package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js +311 -0
  138. package/dist/esm/components/DateField/hooks/useDateFieldProps.d.ts +6 -3
  139. package/dist/esm/components/DateField/hooks/useDateFieldProps.js +14 -12
  140. package/dist/esm/components/DateField/hooks/useDateFieldState.d.ts +2 -65
  141. package/dist/esm/components/DateField/hooks/useDateFieldState.js +97 -409
  142. package/dist/esm/components/DateField/index.d.ts +1 -0
  143. package/dist/esm/components/DateField/index.js +1 -0
  144. package/dist/esm/components/DateField/utils.d.ts +10 -1
  145. package/dist/esm/components/DateField/utils.js +105 -2
  146. package/dist/esm/components/DatePicker/DatePicker.d.ts +4 -4
  147. package/dist/esm/components/DatePicker/DatePicker.js +6 -6
  148. package/dist/esm/components/DatePicker/MobileCalendar.css +6 -6
  149. package/dist/esm/components/DatePicker/MobileCalendar.js +17 -12
  150. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js +5 -16
  151. package/dist/esm/components/DatePicker/hooks/useDatePickerState.d.ts +5 -4
  152. package/dist/esm/components/DatePicker/hooks/useDatePickerState.js +71 -56
  153. package/dist/esm/components/RangeCalendar/RangeCalendar.d.ts +3 -3
  154. package/dist/esm/components/RangeCalendar/RangeCalendar.js +4 -4
  155. package/dist/esm/components/RangeDateField/RangeDateField.css +4 -0
  156. package/dist/esm/components/RangeDateField/RangeDateField.d.ts +12 -0
  157. package/dist/esm/components/RangeDateField/RangeDateField.js +21 -0
  158. package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +9 -0
  159. package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js +222 -0
  160. package/dist/esm/components/RangeDateField/index.d.ts +2 -0
  161. package/dist/esm/components/RangeDateField/index.js +2 -0
  162. package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +5 -0
  163. package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.js +5 -0
  164. package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.d.ts +5 -0
  165. package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.js +38 -0
  166. package/dist/esm/components/RangeDateField/utils/index.d.ts +3 -0
  167. package/dist/esm/components/RangeDateField/utils/index.js +3 -0
  168. package/dist/esm/components/RangeDateField/utils/isValidRange.d.ts +3 -0
  169. package/dist/esm/components/RangeDateField/utils/isValidRange.js +4 -0
  170. package/dist/esm/components/RelativeDateField/RelativeDateField.d.ts +2 -2
  171. package/dist/esm/components/RelativeDateField/RelativeDateField.js +5 -2
  172. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +5 -11
  173. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +3 -1
  174. package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js +5 -4
  175. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css +3 -0
  176. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.d.ts +2 -2
  177. package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js +13 -2
  178. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +35 -27
  179. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +2 -2
  180. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +12 -16
  181. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +56 -0
  182. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +27 -0
  183. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +85 -0
  184. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +32 -0
  185. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +14 -0
  186. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +39 -0
  187. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/en.json +8 -0
  188. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.d.ts +1 -0
  189. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +5 -0
  190. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/ru.json +8 -0
  191. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +16 -0
  192. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +99 -0
  193. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css +26 -0
  194. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +18 -0
  195. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js +62 -0
  196. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +14 -0
  197. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +7 -0
  198. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +85 -0
  199. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.d.ts +9 -0
  200. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +183 -0
  201. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/en.json +40 -0
  202. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +1 -0
  203. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +5 -0
  204. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/ru.json +40 -0
  205. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +16 -0
  206. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +78 -0
  207. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css +3 -0
  208. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +9 -0
  209. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js +58 -0
  210. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/en.json +4 -0
  211. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.d.ts +1 -0
  212. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +5 -0
  213. package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/ru.json +4 -0
  214. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +26 -0
  215. package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +53 -0
  216. package/dist/esm/components/RelativeRangeDatePicker/i18n/en.json +8 -0
  217. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.d.ts +1 -0
  218. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js +5 -0
  219. package/dist/esm/components/RelativeRangeDatePicker/i18n/ru.json +8 -0
  220. package/dist/esm/components/RelativeRangeDatePicker/index.d.ts +4 -0
  221. package/dist/esm/components/RelativeRangeDatePicker/index.js +3 -0
  222. package/dist/esm/components/RelativeRangeDatePicker/utils.d.ts +15 -0
  223. package/dist/esm/components/RelativeRangeDatePicker/utils.js +46 -0
  224. package/dist/esm/components/index.d.ts +3 -0
  225. package/dist/esm/components/index.js +2 -0
  226. package/dist/esm/components/types/datePicker.d.ts +5 -2
  227. package/dist/esm/components/types/events.d.ts +4 -4
  228. package/dist/esm/components/types/inputs.d.ts +10 -9
  229. package/dist/esm/components/utils/dates.d.ts +1 -2
  230. package/dist/esm/components/utils/useDefaultTimeZone.d.ts +2 -0
  231. package/dist/esm/components/utils/useDefaultTimeZone.js +10 -0
  232. package/dist/esm/components/utils/validation/datePicker.d.ts +6 -0
  233. package/dist/esm/components/utils/validation/datePicker.js +26 -0
  234. package/dist/esm/components/utils/validation/i18n/en.json +6 -0
  235. package/dist/esm/components/utils/validation/i18n/index.d.ts +1 -0
  236. package/dist/esm/components/utils/validation/i18n/index.js +5 -0
  237. package/dist/esm/components/utils/validation/i18n/ru.json +6 -0
  238. package/package.json +27 -27
  239. package/dist/cjs/components/CalendarBase/hooks/useRangeCalendarState.d.ts +0 -7
  240. package/dist/cjs/components/hooks/useControlledState.d.ts +0 -1
  241. package/dist/cjs/components/hooks/useControlledState.js +0 -28
  242. package/dist/esm/components/CalendarBase/hooks/useRangeCalendarState.d.ts +0 -7
  243. package/dist/esm/components/hooks/useControlledState.d.ts +0 -1
  244. package/dist/esm/components/hooks/useControlledState.js +0 -23
  245. /package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/types.js +0 -0
  246. /package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarCellProps.d.ts +0 -0
  247. /package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarGridProps.js +0 -0
  248. /package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarProps.d.ts +0 -0
  249. /package/dist/cjs/components/{CalendarBase → CalendarView}/hooks/useCalendarProps.js +0 -0
  250. /package/dist/cjs/components/{CalendarBase → CalendarView}/i18n/en.json +0 -0
  251. /package/dist/cjs/components/{CalendarBase → CalendarView}/i18n/index.d.ts +0 -0
  252. /package/dist/cjs/components/{CalendarBase → CalendarView}/i18n/index.js +0 -0
  253. /package/dist/cjs/components/{CalendarBase → CalendarView}/i18n/ru.json +0 -0
  254. /package/dist/cjs/components/{CalendarBase → CalendarView}/utils.d.ts +0 -0
  255. /package/dist/cjs/components/{CalendarBase → CalendarView}/utils.js +0 -0
  256. /package/dist/esm/components/{CalendarBase → CalendarView}/hooks/types.js +0 -0
  257. /package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarCellProps.d.ts +0 -0
  258. /package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarProps.d.ts +0 -0
  259. /package/dist/esm/components/{CalendarBase → CalendarView}/hooks/useCalendarProps.js +0 -0
  260. /package/dist/esm/components/{CalendarBase → CalendarView}/i18n/en.json +0 -0
  261. /package/dist/esm/components/{CalendarBase → CalendarView}/i18n/index.d.ts +0 -0
  262. /package/dist/esm/components/{CalendarBase → CalendarView}/i18n/index.js +0 -0
  263. /package/dist/esm/components/{CalendarBase → CalendarView}/i18n/ru.json +0 -0
  264. /package/dist/esm/components/{CalendarBase → CalendarView}/utils.d.ts +0 -0
  265. /package/dist/esm/components/{CalendarBase → CalendarView}/utils.js +0 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PresetsDoc = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = tslib_1.__importDefault(require("react"));
7
+ const icons_1 = require("@gravity-ui/icons");
8
+ const uikit_1 = require("@gravity-ui/uikit");
9
+ const cn_1 = require("../../../../utils/cn");
10
+ const getButtonSizeForInput_1 = require("../../../utils/getButtonSizeForInput");
11
+ const i18n_1 = require("./i18n");
12
+ require("./PresetsDoc.css");
13
+ const b = (0, cn_1.block)('relative-range-date-picker-presets-doc');
14
+ const columns = [
15
+ {
16
+ id: 'title',
17
+ name: () => {
18
+ return (0, i18n_1.i18n)('Range');
19
+ },
20
+ },
21
+ {
22
+ id: 'from',
23
+ name: () => {
24
+ return (0, i18n_1.i18n)('From');
25
+ },
26
+ },
27
+ {
28
+ id: 'to',
29
+ name: () => {
30
+ return (0, i18n_1.i18n)('To');
31
+ },
32
+ },
33
+ ];
34
+ const data = [
35
+ {
36
+ get title() {
37
+ return (0, i18n_1.i18n)('Last 5 minutes');
38
+ },
39
+ from: 'now — 5m',
40
+ to: 'now',
41
+ },
42
+ {
43
+ get title() {
44
+ return (0, i18n_1.i18n)('From start of day');
45
+ },
46
+ from: 'now/d',
47
+ to: 'now',
48
+ },
49
+ {
50
+ get title() {
51
+ return (0, i18n_1.i18n)('This week');
52
+ },
53
+ from: 'now/w',
54
+ to: 'now/w',
55
+ },
56
+ {
57
+ get title() {
58
+ return (0, i18n_1.i18n)('From start of week');
59
+ },
60
+ from: 'now/w',
61
+ to: 'now',
62
+ },
63
+ {
64
+ get title() {
65
+ return (0, i18n_1.i18n)('Previous month');
66
+ },
67
+ from: 'now — 1M/M',
68
+ to: 'now — 1M/M',
69
+ },
70
+ ];
71
+ function PresetsExamples({ size }) {
72
+ return (0, jsx_runtime_1.jsx)(uikit_1.Table, { columns: columns, data: data, className: b('table', { size }) });
73
+ }
74
+ function DesktopDoc({ className, size }) {
75
+ return ((0, jsx_runtime_1.jsx)(uikit_1.Popover, { className: b(null, className), tooltipContentClassName: b('content'), hasArrow: false, content: (0, jsx_runtime_1.jsx)(PresetsExamples, { size: size }), children: (0, jsx_runtime_1.jsx)(uikit_1.Button, { className: b('button'), view: "flat-secondary", size: (0, getButtonSizeForInput_1.getButtonSizeForInput)(size), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.CircleQuestion }) }) }));
76
+ }
77
+ function MobileDoc({ className, size }) {
78
+ const [open, setOpen] = react_1.default.useState(false);
79
+ return ((0, jsx_runtime_1.jsxs)("div", { className: b(null, className), children: [(0, jsx_runtime_1.jsx)(uikit_1.Button, { className: b('button'), view: "flat-secondary", size: "l", onClick: () => {
80
+ setOpen(true);
81
+ }, children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.CircleQuestion }) }), (0, jsx_runtime_1.jsx)(uikit_1.Sheet, { visible: open, onClose: () => setOpen(false), children: (0, jsx_runtime_1.jsx)(PresetsExamples, { size: size }) })] }));
82
+ }
83
+ function PresetsDoc({ className, size }) {
84
+ const isMobile = (0, uikit_1.useMobile)();
85
+ if (isMobile) {
86
+ return (0, jsx_runtime_1.jsx)(MobileDoc, { className: className, size: size });
87
+ }
88
+ return (0, jsx_runtime_1.jsx)(DesktopDoc, { className: className, size: size });
89
+ }
90
+ exports.PresetsDoc = PresetsDoc;
@@ -0,0 +1,9 @@
1
+ export interface Preset {
2
+ from: string;
3
+ to: string;
4
+ title: string;
5
+ }
6
+ export declare const DEFAULT_DATE_PRESETS: Preset[];
7
+ export declare const DEFAULT_TIME_PRESETS: Preset[];
8
+ export declare const DEFAULT_OTHERS_PRESETS: Preset[];
9
+ export declare const allPresets: Preset[];
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allPresets = exports.DEFAULT_OTHERS_PRESETS = exports.DEFAULT_TIME_PRESETS = exports.DEFAULT_DATE_PRESETS = void 0;
4
+ const i18n_1 = require("./i18n");
5
+ exports.DEFAULT_DATE_PRESETS = [
6
+ {
7
+ from: 'now-1d',
8
+ to: 'now',
9
+ get title() {
10
+ return (0, i18n_1.i18n)('Last day');
11
+ },
12
+ },
13
+ {
14
+ from: 'now-3d',
15
+ to: 'now',
16
+ get title() {
17
+ return (0, i18n_1.i18n)('Last 3 days');
18
+ },
19
+ },
20
+ {
21
+ from: 'now-1w',
22
+ to: 'now',
23
+ get title() {
24
+ return (0, i18n_1.i18n)('Last week');
25
+ },
26
+ },
27
+ {
28
+ from: 'now-1M',
29
+ to: 'now',
30
+ get title() {
31
+ return (0, i18n_1.i18n)('Last month');
32
+ },
33
+ },
34
+ {
35
+ from: 'now-3M',
36
+ to: 'now',
37
+ get title() {
38
+ return (0, i18n_1.i18n)('Last 3 months');
39
+ },
40
+ },
41
+ {
42
+ from: 'now-6M',
43
+ to: 'now',
44
+ get title() {
45
+ return (0, i18n_1.i18n)('Last 6 months');
46
+ },
47
+ },
48
+ {
49
+ from: 'now-1y',
50
+ to: 'now',
51
+ get title() {
52
+ return (0, i18n_1.i18n)('Last year');
53
+ },
54
+ },
55
+ {
56
+ from: 'now-3y',
57
+ to: 'now',
58
+ get title() {
59
+ return (0, i18n_1.i18n)('Last 3 years');
60
+ },
61
+ },
62
+ ];
63
+ exports.DEFAULT_TIME_PRESETS = [
64
+ {
65
+ from: 'now-5m',
66
+ to: 'now',
67
+ get title() {
68
+ return (0, i18n_1.i18n)('Last 5 minutes');
69
+ },
70
+ },
71
+ {
72
+ from: 'now-15m',
73
+ to: 'now',
74
+ get title() {
75
+ return (0, i18n_1.i18n)('Last 15 minutes');
76
+ },
77
+ },
78
+ {
79
+ from: 'now-30m',
80
+ to: 'now',
81
+ get title() {
82
+ return (0, i18n_1.i18n)('Last 30 minutes');
83
+ },
84
+ },
85
+ {
86
+ from: 'now-1h',
87
+ to: 'now',
88
+ get title() {
89
+ return (0, i18n_1.i18n)('Last hour');
90
+ },
91
+ },
92
+ {
93
+ from: 'now-3h',
94
+ to: 'now',
95
+ get title() {
96
+ return (0, i18n_1.i18n)('Last 3 hours');
97
+ },
98
+ },
99
+ {
100
+ from: 'now-6h',
101
+ to: 'now',
102
+ get title() {
103
+ return (0, i18n_1.i18n)('Last 6 hours');
104
+ },
105
+ },
106
+ {
107
+ from: 'now-12h',
108
+ to: 'now',
109
+ get title() {
110
+ return (0, i18n_1.i18n)('Last 12 hours');
111
+ },
112
+ },
113
+ ];
114
+ exports.DEFAULT_OTHERS_PRESETS = [
115
+ {
116
+ from: 'now/d',
117
+ to: 'now/d',
118
+ get title() {
119
+ return (0, i18n_1.i18n)('Today');
120
+ },
121
+ },
122
+ {
123
+ from: 'now-1d/d',
124
+ to: 'now-1d/d',
125
+ get title() {
126
+ return (0, i18n_1.i18n)('Yesterday');
127
+ },
128
+ },
129
+ {
130
+ from: 'now-2d/d',
131
+ to: 'now-2d/d',
132
+ get title() {
133
+ return (0, i18n_1.i18n)('Day before yesterday');
134
+ },
135
+ },
136
+ {
137
+ from: 'now/w',
138
+ to: 'now/w',
139
+ get title() {
140
+ return (0, i18n_1.i18n)('This week');
141
+ },
142
+ },
143
+ {
144
+ from: 'now/M',
145
+ to: 'now/M',
146
+ get title() {
147
+ return (0, i18n_1.i18n)('This month');
148
+ },
149
+ },
150
+ {
151
+ from: 'now/y',
152
+ to: 'now/y',
153
+ get title() {
154
+ return (0, i18n_1.i18n)('This year');
155
+ },
156
+ },
157
+ {
158
+ from: 'now/d',
159
+ to: 'now',
160
+ get title() {
161
+ return (0, i18n_1.i18n)('From start of day');
162
+ },
163
+ },
164
+ {
165
+ from: 'now/w',
166
+ to: 'now',
167
+ get title() {
168
+ return (0, i18n_1.i18n)('From start of week');
169
+ },
170
+ },
171
+ {
172
+ from: 'now/M',
173
+ to: 'now',
174
+ get title() {
175
+ return (0, i18n_1.i18n)('From start of month');
176
+ },
177
+ },
178
+ {
179
+ from: 'now/y',
180
+ to: 'now',
181
+ get title() {
182
+ return (0, i18n_1.i18n)('From start of year');
183
+ },
184
+ },
185
+ ];
186
+ exports.allPresets = exports.DEFAULT_TIME_PRESETS.concat(exports.DEFAULT_DATE_PRESETS, exports.DEFAULT_OTHERS_PRESETS);
@@ -0,0 +1,40 @@
1
+ {
2
+ "Last 5 minutes": "Last 5 minutes",
3
+ "Last 15 minutes": "Last 15 minutes",
4
+ "Last 30 minutes": "Last 30 minutes",
5
+ "Last hour": "Last hour",
6
+ "Last 3 hours": "Last 3 hours",
7
+ "Last 6 hours": "Last 6 hours",
8
+ "Last 12 hours": "Last 12 hours",
9
+ "Last day": "Last day",
10
+ "Last 3 days": "Last 3 days",
11
+ "Last week": "Last week",
12
+ "Last month": "Last month",
13
+ "Last 3 months": "Last 3 months",
14
+ "Last 6 months": "Last 6 months",
15
+ "Last year": "Last year",
16
+ "Last 3 years": "Last 3 years",
17
+ "Today": "Today",
18
+ "Yesterday": "Yesterday",
19
+ "Day before yesterday": "Day before yesterday",
20
+ "This week": "This week",
21
+ "This month": "This month",
22
+ "This year": "This year",
23
+ "From start of day": "From start of day",
24
+ "From start of week": "From start of week",
25
+ "From start of month": "From start of month",
26
+ "From start of year": "From start of year",
27
+ "Previous month": "Previous month",
28
+ "Last {count} {unit}": "Last {{count}} {{unit}}",
29
+ "m": ["minute", "minutes", "minutes"],
30
+ "h": ["hour", "hours", "hours"],
31
+ "d": ["day", "days", "days"],
32
+ "w": ["week", "weeks", "weeks"],
33
+ "M": ["month", "months", "months"],
34
+ "y": ["year", "years", "years"],
35
+ "Main": "Main",
36
+ "Other": "Other",
37
+ "Range": "Range",
38
+ "From": "From",
39
+ "To": "To"
40
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "m" | "y" | "M" | "d" | "h" | "w" | "Last 5 minutes" | "Last 15 minutes" | "Last 30 minutes" | "Last hour" | "Last 3 hours" | "Last 6 hours" | "Last 12 hours" | "Last day" | "Last 3 days" | "Last week" | "Last month" | "Last 3 months" | "Last 6 months" | "Last year" | "Last 3 years" | "Today" | "Yesterday" | "Day before yesterday" | "This week" | "This month" | "This year" | "From start of day" | "From start of week" | "From start of month" | "From start of year" | "Previous month" | "Main" | "Other" | "Range" | "From" | "To" | "Last {count} {unit}", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("@gravity-ui/uikit/i18n");
6
+ const cn_1 = require("../../../../../utils/cn");
7
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}relative-range-date-picker-presets`);
@@ -0,0 +1,40 @@
1
+ {
2
+ "Last 5 minutes": "Последние 5 минут",
3
+ "Last 15 minutes": "Последние 15 минут",
4
+ "Last 30 minutes": "Последние 30 минут",
5
+ "Last hour": "Последний час",
6
+ "Last 3 hours": "Последние 3 часа",
7
+ "Last 6 hours": "Последние 6 часов",
8
+ "Last 12 hours": "Последние 12 часов",
9
+ "Last day": "Последний день",
10
+ "Last 3 days": "Последние 3 дня",
11
+ "Last week": "Последняя неделя",
12
+ "Last month": "Последний месяц",
13
+ "Last 3 months": "Последние 3 месяца",
14
+ "Last 6 months": "Последние 6 месяцев",
15
+ "Last year": "Последний год",
16
+ "Last 3 years": "Последние 3 года",
17
+ "Today": "Сегодня",
18
+ "Yesterday": "Вчера",
19
+ "Day before yesterday": "Позавчера",
20
+ "This week": "Эта неделя",
21
+ "This month": "Этот месяц",
22
+ "This year": "Этот год",
23
+ "From start of day": "С начала дня",
24
+ "From start of week": "С начала недели",
25
+ "From start of month": "С начала месяца",
26
+ "From start of year": "С начала года",
27
+ "Previous month": "Предыдущий месяц",
28
+ "Last {count} {unit}": "Last {{count}} {{unit}}",
29
+ "m": ["minute", "minutes", "minutes"],
30
+ "h": ["hour", "hours", "hours"],
31
+ "d": ["day", "days", "days"],
32
+ "w": ["week", "weeks", "weeks"],
33
+ "M": ["month", "months", "months"],
34
+ "y": ["year", "years", "years"],
35
+ "Main": "Основные",
36
+ "Other": "Другие",
37
+ "Range": "Период",
38
+ "From": "От",
39
+ "To": "До"
40
+ }
@@ -0,0 +1,16 @@
1
+ import type { DateTime } from '@gravity-ui/date-utils';
2
+ import type { Preset } from './defaultPresets';
3
+ export declare function getPresetTitle(start: string, end: string, presets?: Preset[]): string;
4
+ export declare function filterPresets(presets: Preset[], minValue?: DateTime): Preset[];
5
+ export interface PresetTab {
6
+ id: string;
7
+ title: string;
8
+ presets: Preset[];
9
+ }
10
+ export declare function getDefaultPresetTabs({ withTime, minValue, }: {
11
+ minValue?: DateTime;
12
+ withTime?: boolean;
13
+ }): PresetTab[];
14
+ export declare function filterPresetTabs(tabs: PresetTab[], { minValue }?: {
15
+ minValue?: DateTime;
16
+ }): PresetTab[];
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterPresetTabs = exports.getDefaultPresetTabs = exports.filterPresets = exports.getPresetTitle = void 0;
4
+ const date_utils_1 = require("@gravity-ui/date-utils");
5
+ const defaultPresets_1 = require("./defaultPresets");
6
+ const i18n_1 = require("./i18n");
7
+ function getPresetTitle(start, end, presets = defaultPresets_1.allPresets) {
8
+ const startText = start.replace(/\s+/g, '');
9
+ const endText = end.replace(/\s+/g, '');
10
+ for (const preset of presets) {
11
+ if (preset.from === startText && preset.to === endText) {
12
+ return preset.title;
13
+ }
14
+ }
15
+ if (end === 'now') {
16
+ const match = /^now-(\d+)([m|h|d|w|M|y])$/.exec(start);
17
+ if (match) {
18
+ const [, count, unit] = match;
19
+ if (isDateUnit(unit)) {
20
+ return (0, i18n_1.i18n)('Last {count} {unit}', {
21
+ count,
22
+ unit: (0, i18n_1.i18n)(unit, { count: Number(count) }),
23
+ });
24
+ }
25
+ }
26
+ }
27
+ return startText + ' — ' + endText;
28
+ }
29
+ exports.getPresetTitle = getPresetTitle;
30
+ function isDateUnit(value) {
31
+ return ['m', 'h', 'd', 'w', 'M', 'y'].includes(value);
32
+ }
33
+ function filterPresets(presets, minValue) {
34
+ return presets.filter((preset) => {
35
+ const from = (0, date_utils_1.dateTimeParse)(preset.from);
36
+ const to = (0, date_utils_1.dateTimeParse)(preset.to, { roundUp: true });
37
+ if (!from || !to) {
38
+ return false;
39
+ }
40
+ if (to.isBefore(from)) {
41
+ return false;
42
+ }
43
+ if (minValue && from.isBefore(minValue)) {
44
+ return false;
45
+ }
46
+ return true;
47
+ });
48
+ }
49
+ exports.filterPresets = filterPresets;
50
+ function getDefaultPresetTabs({ withTime, minValue, }) {
51
+ const tabs = [];
52
+ const mainTab = {
53
+ id: 'main',
54
+ title: (0, i18n_1.i18n)('Main'),
55
+ presets: [],
56
+ };
57
+ const mainPresets = defaultPresets_1.DEFAULT_DATE_PRESETS;
58
+ if (withTime) {
59
+ mainPresets.unshift(...defaultPresets_1.DEFAULT_TIME_PRESETS);
60
+ }
61
+ mainTab.presets = filterPresets(mainPresets, minValue);
62
+ if (mainTab.presets.length > 0) {
63
+ tabs.push(mainTab);
64
+ }
65
+ const otherTab = {
66
+ id: 'other',
67
+ title: (0, i18n_1.i18n)('Other'),
68
+ presets: filterPresets(defaultPresets_1.DEFAULT_OTHERS_PRESETS, minValue),
69
+ };
70
+ if (otherTab.presets.length > 0) {
71
+ tabs.push(otherTab);
72
+ }
73
+ return tabs;
74
+ }
75
+ exports.getDefaultPresetTabs = getDefaultPresetTabs;
76
+ function filterPresetTabs(tabs, { minValue } = {}) {
77
+ return tabs.reduce((acc, tab) => {
78
+ const presets = filterPresets(tab.presets, minValue);
79
+ if (presets.length) {
80
+ acc.push(Object.assign(Object.assign({}, tab), { presets }));
81
+ }
82
+ return acc;
83
+ }, []);
84
+ }
85
+ exports.filterPresetTabs = filterPresetTabs;
@@ -0,0 +1,3 @@
1
+ .g-date-relative-range-date-picker-zones__control {
2
+ --g-button-background-color-hover: transparent;
3
+ }
@@ -0,0 +1,9 @@
1
+ import './Zones.css';
2
+ export interface ZonesProps {
3
+ value: string;
4
+ onUpdate: (timeZone: string) => void;
5
+ size?: 's' | 'm' | 'l' | 'xl';
6
+ isMobile?: boolean;
7
+ disabled?: boolean;
8
+ }
9
+ export declare function Zones(props: ZonesProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Zones = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const date_utils_1 = require("@gravity-ui/date-utils");
6
+ const icons_1 = require("@gravity-ui/icons");
7
+ const uikit_1 = require("@gravity-ui/uikit");
8
+ const cn_1 = require("../../../../utils/cn");
9
+ const utils_1 = require("../../utils");
10
+ const i18n_1 = require("./i18n");
11
+ require("./Zones.css");
12
+ const groups = {};
13
+ const zones = (0, date_utils_1.getTimeZonesList)().reduce((opts, value) => {
14
+ const [groupName] = value.split('/');
15
+ if (groupName) {
16
+ let group = groups[groupName];
17
+ if (!group) {
18
+ group = { label: groupName, options: [] };
19
+ groups[groupName] = group;
20
+ opts.push(group);
21
+ }
22
+ group.options.push({ value });
23
+ }
24
+ return opts;
25
+ }, []);
26
+ zones.unshift({
27
+ value: 'UTC',
28
+ });
29
+ zones.unshift({
30
+ value: 'system',
31
+ get content() {
32
+ return (0, i18n_1.i18n)('system');
33
+ },
34
+ });
35
+ zones.unshift({
36
+ value: 'default',
37
+ get content() {
38
+ return (0, i18n_1.i18n)('default');
39
+ },
40
+ });
41
+ const b = (0, cn_1.block)('relative-range-date-picker-zones');
42
+ function Zones(props) {
43
+ const timeZone = (0, utils_1.normalizeTimeZone)(props.value);
44
+ const size = props.isMobile ? 'xl' : props.size;
45
+ return ((0, jsx_runtime_1.jsx)(uikit_1.Select, { value: [timeZone], options: zones, size: size, onUpdate: (v) => {
46
+ const tz = v[0];
47
+ if (tz) {
48
+ props.onUpdate(tz);
49
+ }
50
+ }, width: "max", renderControl: (controlProps) => {
51
+ const value = timeZone === 'system' || timeZone === 'default' ? (0, i18n_1.i18n)(timeZone) : timeZone;
52
+ return ((0, jsx_runtime_1.jsxs)(uikit_1.Button, { onClick: controlProps.onClick, ref: controlProps.ref, view: "flat-secondary", width: "max", pin: "clear-clear", size: size, extraProps: {
53
+ 'aria-haspopup': 'listbox',
54
+ 'aria-expanded': controlProps.open,
55
+ onKeyDown: controlProps.onKeyDown,
56
+ }, className: b('control'), children: [`${value} (${(0, utils_1.getTimeZoneOffset)(timeZone)})`, (0, jsx_runtime_1.jsx)(uikit_1.Icon, { className: b('control-icon'), data: icons_1.ChevronRight, size: props.isMobile ? 20 : 16 })] }));
57
+ }, renderOption: ({ value, content }) => {
58
+ const v = content !== null && content !== void 0 ? content : value;
59
+ return ((0, jsx_runtime_1.jsxs)("span", { className: b('item'), children: [(0, jsx_runtime_1.jsxs)("span", { className: b('item-title'), title: value, children: [v, "\u00A0"] }), (0, jsx_runtime_1.jsx)(uikit_1.Text, { color: "secondary", children: (0, utils_1.getTimeZoneOffset)(value) })] }));
60
+ }, filterable: true }));
61
+ }
62
+ exports.Zones = Zones;
@@ -0,0 +1,4 @@
1
+ {
2
+ "default": "Default",
3
+ "system": "Browser time"
4
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "default" | "system", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("@gravity-ui/uikit/i18n");
6
+ const cn_1 = require("../../../../../utils/cn");
7
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}relative-range-date-picker-zones`);
@@ -0,0 +1,4 @@
1
+ {
2
+ "default": "Дефолтная",
3
+ "system": "Браузерное время"
4
+ }
@@ -0,0 +1,26 @@
1
+ import type { DateTime } from '@gravity-ui/date-utils';
2
+ import type { Value } from '../../RelativeDatePicker';
3
+ import type { RangeValue } from '../../types';
4
+ export interface RelativeRangeDatePickerState {
5
+ value: RangeValue<Value | null> | null;
6
+ timeZone: string;
7
+ setValue: (value: RangeValue<Value | null> | null, timeZone: string) => void;
8
+ isInvalid: boolean;
9
+ errors: string[];
10
+ }
11
+ export interface RelativeRangeDatePickerStateOptions {
12
+ value?: RangeValue<Value | null> | null;
13
+ defaultValue?: RangeValue<Value | null>;
14
+ onUpdate?: (value: RangeValue<Value | null> | null, timeZone: string) => void;
15
+ timeZone?: string;
16
+ defaultTimeZone?: string;
17
+ onUpdateTimeZone?: (timeZone: string) => void;
18
+ /** The minimum allowed date that a user may select. */
19
+ minValue?: DateTime;
20
+ /** The maximum allowed date that a user may select. */
21
+ maxValue?: DateTime;
22
+ /** Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. */
23
+ isDateUnavailable?: (date: DateTime) => boolean;
24
+ allowNullableValues?: boolean;
25
+ }
26
+ export declare function useRelativeRangeDatePickerState(props: RelativeRangeDatePickerStateOptions): RelativeRangeDatePickerState;