@vkontakte/vkui 6.7.3 → 6.7.4

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 (253) hide show
  1. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  2. package/dist/cjs/components/BaseGallery/BaseGallery.js +5 -2
  3. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  4. package/dist/cjs/components/Calendar/Calendar.d.ts +6 -6
  5. package/dist/cjs/components/Calendar/Calendar.d.ts.map +1 -1
  6. package/dist/cjs/components/Calendar/Calendar.js +25 -5
  7. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  8. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +4 -1
  9. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  10. package/dist/cjs/components/CalendarDay/CalendarDay.js +5 -3
  11. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  12. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +6 -3
  13. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  14. package/dist/cjs/components/CalendarDays/CalendarDays.js +5 -3
  15. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  16. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +8 -2
  17. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  18. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +14 -6
  19. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  20. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +8 -4
  21. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  22. package/dist/cjs/components/CalendarRange/CalendarRange.js +13 -8
  23. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  24. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +9 -2
  25. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  26. package/dist/cjs/components/CalendarTime/CalendarTime.js +10 -5
  27. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  28. package/dist/cjs/components/Clickable/useState.d.ts +1 -1
  29. package/dist/cjs/components/Clickable/useState.d.ts.map +1 -1
  30. package/dist/cjs/components/Clickable/useState.js +12 -19
  31. package/dist/cjs/components/Clickable/useState.js.map +1 -1
  32. package/dist/cjs/components/DateInput/DateInput.d.ts +12 -3
  33. package/dist/cjs/components/DateInput/DateInput.d.ts.map +1 -1
  34. package/dist/cjs/components/DateInput/DateInput.js +26 -11
  35. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +15 -3
  37. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  38. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +22 -11
  39. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  40. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +1 -1
  41. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  42. package/dist/cjs/components/FocusTrap/FocusTrap.js +50 -41
  43. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  44. package/dist/cjs/components/Gallery/Gallery.d.ts +1 -1
  45. package/dist/cjs/components/Gallery/Gallery.d.ts.map +1 -1
  46. package/dist/cjs/components/Gallery/Gallery.js +12 -3
  47. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  48. package/dist/cjs/components/Gallery/hooks.d.ts +9 -1
  49. package/dist/cjs/components/Gallery/hooks.d.ts.map +1 -1
  50. package/dist/cjs/components/Gallery/hooks.js +43 -25
  51. package/dist/cjs/components/Gallery/hooks.js.map +1 -1
  52. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  53. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +19 -26
  54. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  55. package/dist/cjs/components/Popover/Popover.js +1 -1
  56. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  57. package/dist/cjs/hooks/useDateInput.d.ts +2 -1
  58. package/dist/cjs/hooks/useDateInput.d.ts.map +1 -1
  59. package/dist/cjs/hooks/useDateInput.js +29 -9
  60. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  61. package/dist/cjs/lib/floating/customResizeObserver.d.ts.map +1 -1
  62. package/dist/cjs/lib/floating/customResizeObserver.js +0 -1
  63. package/dist/cjs/lib/floating/customResizeObserver.js.map +1 -1
  64. package/dist/cjs/lib/floating/types/component.d.ts +2 -2
  65. package/dist/cjs/lib/floating/types/component.d.ts.map +1 -1
  66. package/dist/cjs/lib/floating/useFloatingWithInteractions/index.d.ts +1 -0
  67. package/dist/cjs/lib/floating/useFloatingWithInteractions/index.d.ts.map +1 -1
  68. package/dist/cjs/lib/floating/useFloatingWithInteractions/index.js.map +1 -1
  69. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.d.ts +2 -1
  70. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  71. package/dist/cjs/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  72. package/dist/cjs/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +14 -1
  73. package/dist/cjs/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  74. package/dist/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  75. package/dist/components/BaseGallery/BaseGallery.js +5 -2
  76. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  77. package/dist/components/Calendar/Calendar.d.ts +6 -6
  78. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  79. package/dist/components/Calendar/Calendar.js +25 -5
  80. package/dist/components/Calendar/Calendar.js.map +1 -1
  81. package/dist/components/CalendarDay/CalendarDay.d.ts +4 -1
  82. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  83. package/dist/components/CalendarDay/CalendarDay.js +5 -3
  84. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  85. package/dist/components/CalendarDays/CalendarDays.d.ts +6 -3
  86. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  87. package/dist/components/CalendarDays/CalendarDays.js +5 -3
  88. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  89. package/dist/components/CalendarHeader/CalendarHeader.d.ts +8 -2
  90. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  91. package/dist/components/CalendarHeader/CalendarHeader.js +14 -6
  92. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  93. package/dist/components/CalendarRange/CalendarRange.d.ts +8 -4
  94. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  95. package/dist/components/CalendarRange/CalendarRange.js +13 -8
  96. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  97. package/dist/components/CalendarTime/CalendarTime.d.ts +9 -2
  98. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  99. package/dist/components/CalendarTime/CalendarTime.js +10 -5
  100. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  101. package/dist/components/Clickable/useState.d.ts +1 -1
  102. package/dist/components/Clickable/useState.d.ts.map +1 -1
  103. package/dist/components/Clickable/useState.js +12 -19
  104. package/dist/components/Clickable/useState.js.map +1 -1
  105. package/dist/components/DateInput/DateInput.d.ts +12 -3
  106. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  107. package/dist/components/DateInput/DateInput.js +26 -11
  108. package/dist/components/DateInput/DateInput.js.map +1 -1
  109. package/dist/components/DateRangeInput/DateRangeInput.d.ts +15 -3
  110. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  111. package/dist/components/DateRangeInput/DateRangeInput.js +22 -11
  112. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  113. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  114. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  115. package/dist/components/FocusTrap/FocusTrap.js +51 -42
  116. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  117. package/dist/components/Gallery/Gallery.d.ts +1 -1
  118. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  119. package/dist/components/Gallery/Gallery.js +12 -3
  120. package/dist/components/Gallery/Gallery.js.map +1 -1
  121. package/dist/components/Gallery/hooks.d.ts +9 -1
  122. package/dist/components/Gallery/hooks.d.ts.map +1 -1
  123. package/dist/components/Gallery/hooks.js +43 -25
  124. package/dist/components/Gallery/hooks.js.map +1 -1
  125. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  126. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -27
  127. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  128. package/dist/components/Popover/Popover.js +1 -1
  129. package/dist/components/Popover/Popover.js.map +1 -1
  130. package/dist/components.css +1 -1
  131. package/dist/components.css.map +1 -1
  132. package/dist/components.js.tmp +374 -212
  133. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  134. package/dist/cssm/components/BaseGallery/BaseGallery.js +3 -1
  135. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  136. package/dist/cssm/components/Calendar/Calendar.d.ts +6 -6
  137. package/dist/cssm/components/Calendar/Calendar.d.ts.map +1 -1
  138. package/dist/cssm/components/Calendar/Calendar.js +14 -4
  139. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  140. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +4 -1
  141. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  142. package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -1
  143. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  144. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +6 -3
  145. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  146. package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -1
  147. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  148. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +8 -2
  149. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  150. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +7 -3
  151. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  152. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +8 -4
  153. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  154. package/dist/cssm/components/CalendarRange/CalendarRange.js +9 -5
  155. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  156. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +9 -2
  157. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  158. package/dist/cssm/components/CalendarTime/CalendarTime.js +10 -5
  159. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  160. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +4 -0
  161. package/dist/cssm/components/Clickable/useState.d.ts +1 -1
  162. package/dist/cssm/components/Clickable/useState.d.ts.map +1 -1
  163. package/dist/cssm/components/Clickable/useState.js +10 -11
  164. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  165. package/dist/cssm/components/DateInput/DateInput.d.ts +12 -3
  166. package/dist/cssm/components/DateInput/DateInput.d.ts.map +1 -1
  167. package/dist/cssm/components/DateInput/DateInput.js +18 -9
  168. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  169. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +15 -3
  170. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  171. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +17 -9
  172. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  173. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  174. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  175. package/dist/cssm/components/FocusTrap/FocusTrap.js +51 -42
  176. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  177. package/dist/cssm/components/Gallery/Gallery.d.ts +1 -1
  178. package/dist/cssm/components/Gallery/Gallery.d.ts.map +1 -1
  179. package/dist/cssm/components/Gallery/Gallery.js +9 -2
  180. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  181. package/dist/cssm/components/Gallery/hooks.d.ts +9 -1
  182. package/dist/cssm/components/Gallery/hooks.d.ts.map +1 -1
  183. package/dist/cssm/components/Gallery/hooks.js +43 -25
  184. package/dist/cssm/components/Gallery/hooks.js.map +1 -1
  185. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  186. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -27
  187. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  188. package/dist/cssm/components/Popover/Popover.js +1 -1
  189. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  190. package/dist/cssm/hooks/useDateInput.d.ts +2 -1
  191. package/dist/cssm/hooks/useDateInput.d.ts.map +1 -1
  192. package/dist/cssm/hooks/useDateInput.js +30 -9
  193. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  194. package/dist/cssm/lib/floating/customResizeObserver.d.ts.map +1 -1
  195. package/dist/cssm/lib/floating/customResizeObserver.js +0 -1
  196. package/dist/cssm/lib/floating/customResizeObserver.js.map +1 -1
  197. package/dist/cssm/lib/floating/types/component.d.ts +2 -2
  198. package/dist/cssm/lib/floating/types/component.d.ts.map +1 -1
  199. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  200. package/dist/cssm/lib/floating/useFloatingWithInteractions/index.d.ts +1 -0
  201. package/dist/cssm/lib/floating/useFloatingWithInteractions/index.d.ts.map +1 -1
  202. package/dist/cssm/lib/floating/useFloatingWithInteractions/index.js.map +1 -1
  203. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.d.ts +2 -1
  204. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  205. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  206. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  207. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +14 -1
  208. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  209. package/dist/hooks/useDateInput.d.ts +2 -1
  210. package/dist/hooks/useDateInput.d.ts.map +1 -1
  211. package/dist/hooks/useDateInput.js +30 -9
  212. package/dist/hooks/useDateInput.js.map +1 -1
  213. package/dist/lib/floating/customResizeObserver.d.ts.map +1 -1
  214. package/dist/lib/floating/customResizeObserver.js +0 -1
  215. package/dist/lib/floating/customResizeObserver.js.map +1 -1
  216. package/dist/lib/floating/types/component.d.ts +2 -2
  217. package/dist/lib/floating/types/component.d.ts.map +1 -1
  218. package/dist/lib/floating/types/component.js.map +1 -1
  219. package/dist/lib/floating/useFloatingWithInteractions/index.d.ts +1 -0
  220. package/dist/lib/floating/useFloatingWithInteractions/index.d.ts.map +1 -1
  221. package/dist/lib/floating/useFloatingWithInteractions/index.js.map +1 -1
  222. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +2 -1
  223. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  224. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  225. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  226. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +14 -1
  227. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  228. package/dist/vkui.css +1 -1
  229. package/dist/vkui.css.map +1 -1
  230. package/dist/vkui.js.tmp +374 -212
  231. package/package.json +1 -1
  232. package/src/components/BaseGallery/BaseGallery.tsx +8 -1
  233. package/src/components/Calendar/Calendar.tsx +49 -6
  234. package/src/components/CalendarDay/CalendarDay.tsx +7 -1
  235. package/src/components/CalendarDays/CalendarDays.tsx +9 -1
  236. package/src/components/CalendarHeader/CalendarHeader.tsx +21 -1
  237. package/src/components/CalendarRange/CalendarRange.tsx +24 -3
  238. package/src/components/CalendarTime/CalendarTime.module.css +4 -0
  239. package/src/components/CalendarTime/CalendarTime.tsx +39 -10
  240. package/src/components/Clickable/useState.tsx +30 -27
  241. package/src/components/DateInput/DateInput.tsx +32 -3
  242. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -1
  243. package/src/components/FocusTrap/FocusTrap.tsx +75 -45
  244. package/src/components/Gallery/Gallery.tsx +10 -1
  245. package/src/components/Gallery/hooks.ts +49 -33
  246. package/src/components/HorizontalScroll/HorizontalScroll.tsx +23 -28
  247. package/src/components/Popover/Popover.tsx +1 -1
  248. package/src/hooks/useDateInput.ts +23 -6
  249. package/src/lib/floating/customResizeObserver.ts +0 -1
  250. package/src/lib/floating/types/component.ts +2 -1
  251. package/src/lib/floating/useFloatingWithInteractions/index.ts +2 -0
  252. package/src/lib/floating/useFloatingWithInteractions/types.ts +3 -1
  253. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +15 -3
@@ -7499,30 +7499,6 @@ function useState_object_spread(target) {
7499
7499
  }
7500
7500
  return target;
7501
7501
  }
7502
- function ownKeys(object, enumerableOnly) {
7503
- var keys = Object.keys(object);
7504
- if (Object.getOwnPropertySymbols) {
7505
- var symbols = Object.getOwnPropertySymbols(object);
7506
- if (enumerableOnly) {
7507
- symbols = symbols.filter(function(sym) {
7508
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
7509
- });
7510
- }
7511
- keys.push.apply(keys, symbols);
7512
- }
7513
- return keys;
7514
- }
7515
- function _object_spread_props(target, source) {
7516
- source = source != null ? source : {};
7517
- if (Object.getOwnPropertyDescriptors) {
7518
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
7519
- } else {
7520
- ownKeys(Object(source)).forEach(function(key) {
7521
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
7522
- });
7523
- }
7524
- return target;
7525
- }
7526
7502
  function useState_object_without_properties(source, excluded) {
7527
7503
  if (source == null) return {};
7528
7504
  var target = useState_object_without_properties_loose(source, excluded);
@@ -7575,10 +7551,9 @@ var ACTIVE_DELAY = 70;
7575
7551
  var prevIsHoveredRef = react.useRef(undefined);
7576
7552
  var handleHover = react.useCallback(function(isHover) {
7577
7553
  setHoveredStateLocal(isHover);
7578
- var isHovered = calculateStateValue({
7554
+ var isHovered = hovered !== null && hovered !== void 0 ? hovered : calculateStateValue({
7579
7555
  hasState: hasHover,
7580
7556
  isLocked: lockState,
7581
- stateValueControlled: Boolean(hovered),
7582
7557
  stateValueLocal: isHover
7583
7558
  });
7584
7559
  // проверка сделана чтобы реже вызывать обновление состояния
@@ -7602,10 +7577,9 @@ var ACTIVE_DELAY = 70;
7602
7577
  var onPointerLeave = function() {
7603
7578
  handleHover(false);
7604
7579
  };
7605
- var isHovered = calculateStateValue({
7580
+ var isHovered = hovered !== null && hovered !== void 0 ? hovered : calculateStateValue({
7606
7581
  hasState: hasHover,
7607
7582
  isLocked: lockState,
7608
- stateValueControlled: Boolean(hovered),
7609
7583
  stateValueLocal: hoveredStateLocal
7610
7584
  });
7611
7585
  return {
@@ -7651,10 +7625,9 @@ var ACTIVE_DELAY = 70;
7651
7625
  setActivated(true);
7652
7626
  setActivated(false, activeEffectDelay);
7653
7627
  };
7654
- var isActivated = calculateStateValue({
7628
+ var isActivated = activated !== null && activated !== void 0 ? activated : calculateStateValue({
7655
7629
  hasState: hasActive,
7656
7630
  isLocked: lockStateRef.current,
7657
- stateValueControlled: Boolean(activated),
7658
7631
  stateValueLocal: activatedState
7659
7632
  });
7660
7633
  return {
@@ -7701,13 +7674,8 @@ function useLockRef(setParentStateLockBubbling) {
7701
7674
  }
7702
7675
  /**
7703
7676
  * Управляет состоянием компонента
7704
- */ function useState(_param) {
7705
- var hovered = _param.hovered, hasHover = _param.hasHover, hasActive = _param.hasActive, unlockParentHover = _param.unlockParentHover, restProps = useState_object_without_properties(_param, [
7706
- "hovered",
7707
- "hasHover",
7708
- "hasActive",
7709
- "unlockParentHover"
7710
- ]);
7677
+ */ function useState(param) {
7678
+ var hovered = param.hovered, hasHover = param.hasHover, activated = param.activated, hasActive = param.hasActive, activeEffectDelay = param.activeEffectDelay, unlockParentHover = param.unlockParentHover, hoverClassName = param.hoverClassName, activeClassName = param.activeClassName;
7711
7679
  var _React_useContext = react.useContext(ClickableLockStateContext), _React_useContext_lockHoverStateBubbling = _React_useContext.lockHoverStateBubbling, lockHoverStateBubbling = _React_useContext_lockHoverStateBubbling === void 0 ? functions_noop : _React_useContext_lockHoverStateBubbling, _React_useContext_lockActiveStateBubbling = _React_useContext.lockActiveStateBubbling, lockActiveStateBubbling = _React_useContext_lockActiveStateBubbling === void 0 ? functions_noop : _React_useContext_lockActiveStateBubbling;
7712
7680
  var _useLockState = useState_sliced_to_array(useLockState(unlockParentHover ? functions_noop : lockHoverStateBubbling), 3), lockHoverState = _useLockState[0], setParentStateLockHoverBubbling = _useLockState[1], setLockHoverBubblingImmediate = _useLockState[2];
7713
7681
  var _useLockRef = useState_sliced_to_array(useLockRef(lockActiveStateBubbling), 3), lockActiveStateRef = _useLockRef[0], setParentStateLockActiveBubbling = _useLockRef[1], setLockActiveBubblingImmediate = _useLockRef[2];
@@ -7719,13 +7687,16 @@ function useLockRef(setParentStateLockBubbling) {
7719
7687
  }), isHovered = _useHover.isHovered, hoverEvent = useState_object_without_properties(_useHover, [
7720
7688
  "isHovered"
7721
7689
  ]);
7722
- var _useActive = useActive(_object_spread_props(useState_object_spread({}, restProps), {
7690
+ var _useActive = useActive({
7691
+ activated: activated,
7692
+ hasActive: hasActive,
7693
+ activeEffectDelay: activeEffectDelay,
7723
7694
  lockStateRef: lockActiveStateRef,
7724
7695
  setParentStateLock: setParentStateLockActiveBubbling
7725
- })), isActivated = _useActive.isActivated, activeEvent = useState_object_without_properties(_useActive, [
7696
+ }), isActivated = _useActive.isActivated, activeEvent = useState_object_without_properties(_useActive, [
7726
7697
  "isActivated"
7727
7698
  ]);
7728
- var stateClassName = clsx(isHovered && restProps.hoverClassName, isActivated && restProps.activeClassName);
7699
+ var stateClassName = clsx(isHovered && hoverClassName, isActivated && activeClassName);
7729
7700
  var handlers = mergeCalls(hoverEvent, activeEvent);
7730
7701
  return useState_object_spread({
7731
7702
  stateClassName: stateClassName,
@@ -7735,8 +7706,8 @@ function useLockRef(setParentStateLockBubbling) {
7735
7706
  }
7736
7707
  // Общая функция для определения конечного состояния active/hovered
7737
7708
  function calculateStateValue(param) {
7738
- var hasState = param.hasState, isLocked = param.isLocked, stateValueControlled = param.stateValueControlled, stateValueLocal = param.stateValueLocal;
7739
- return hasState && !isLocked && (stateValueControlled || stateValueLocal);
7709
+ var hasState = param.hasState, isLocked = param.isLocked, stateValueLocal = param.stateValueLocal;
7710
+ return hasState && !isLocked && stateValueLocal;
7740
7711
  }
7741
7712
 
7742
7713
  ;// CONCATENATED MODULE: ./src/components/Clickable/Clickable.module.css
@@ -8552,7 +8523,6 @@ var defaultIframeStyles = {
8552
8523
  key: "observeUsingIframe",
8553
8524
  value: function observeUsingIframe(element) {
8554
8525
  var iframe = element.ownerDocument.createElement('iframe');
8555
- iframe.src = 'javascript:void(0)';
8556
8526
  iframe.ariaHidden = 'true';
8557
8527
  iframe.tabIndex = -1;
8558
8528
  Object.assign(iframe.style, defaultIframeStyles);
@@ -8697,7 +8667,7 @@ function OnboardingTooltipContainer_object_spread(target) {
8697
8667
  }
8698
8668
  return target;
8699
8669
  }
8700
- function OnboardingTooltipContainer_ownKeys(object, enumerableOnly) {
8670
+ function ownKeys(object, enumerableOnly) {
8701
8671
  var keys = Object.keys(object);
8702
8672
  if (Object.getOwnPropertySymbols) {
8703
8673
  var symbols = Object.getOwnPropertySymbols(object);
@@ -8710,12 +8680,12 @@ function OnboardingTooltipContainer_ownKeys(object, enumerableOnly) {
8710
8680
  }
8711
8681
  return keys;
8712
8682
  }
8713
- function OnboardingTooltipContainer_object_spread_props(target, source) {
8683
+ function _object_spread_props(target, source) {
8714
8684
  source = source != null ? source : {};
8715
8685
  if (Object.getOwnPropertyDescriptors) {
8716
8686
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
8717
8687
  } else {
8718
- OnboardingTooltipContainer_ownKeys(Object(source)).forEach(function(key) {
8688
+ ownKeys(Object(source)).forEach(function(key) {
8719
8689
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
8720
8690
  });
8721
8691
  }
@@ -8756,7 +8726,7 @@ var OnboardingTooltipContainer_OnboardingTooltipContainer = /*#__PURE__*/ react.
8756
8726
  "Component"
8757
8727
  ]);
8758
8728
  var dataProps = OnboardingTooltipContainer_define_property({}, OnboardingTooltipContainer_onboardingTooltipContainerAttr, fixed ? 'fixed' : 'true');
8759
- return /*#__PURE__*/ react.createElement(Component, OnboardingTooltipContainer_object_spread_props(OnboardingTooltipContainer_object_spread({}, dataProps, props), {
8729
+ return /*#__PURE__*/ react.createElement(Component, _object_spread_props(OnboardingTooltipContainer_object_spread({}, dataProps, props), {
8760
8730
  ref: ref
8761
8731
  }));
8762
8732
  });
@@ -13502,6 +13472,13 @@ function useFloatingWithInteractions_array_with_holes(arr) {
13502
13472
  function useFloatingWithInteractions_array_without_holes(arr) {
13503
13473
  if (Array.isArray(arr)) return useFloatingWithInteractions_array_like_to_array(arr);
13504
13474
  }
13475
+ function useFloatingWithInteractions_instanceof(left, right) {
13476
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
13477
+ return !!right[Symbol.hasInstance](left);
13478
+ } else {
13479
+ return left instanceof right;
13480
+ }
13481
+ }
13505
13482
  function useFloatingWithInteractions_iterable_to_array(iter) {
13506
13483
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
13507
13484
  }
@@ -13740,8 +13717,20 @@ var whileElementsMounted = function() {
13740
13717
  commitShownLocalState
13741
13718
  ]);
13742
13719
  var handleRestoreFocus = React.useCallback(function() {
13743
- return triggerOnFocus ? blockFocusRef.current : true;
13720
+ var restoreFocus = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
13721
+ if (!restoreFocus) {
13722
+ return false;
13723
+ }
13724
+ if (restoreFocus === true) {
13725
+ return triggerOnFocus ? blockFocusRef.current : true;
13726
+ } else if (restoreFocus === 'anchor-element') {
13727
+ return refs.reference.current;
13728
+ } else if (useFloatingWithInteractions_instanceof(restoreFocus, HTMLElement)) {
13729
+ return restoreFocus;
13730
+ }
13731
+ return false;
13744
13732
  }, [
13733
+ refs.reference,
13745
13734
  triggerOnFocus
13746
13735
  ]);
13747
13736
  var handleEscapeKeyDown = React.useCallback(function() {
@@ -16965,7 +16954,6 @@ function HorizontalScroll_unsupported_iterable_to_array(o, minLen) {
16965
16954
 
16966
16955
 
16967
16956
 
16968
-
16969
16957
  /**
16970
16958
  * timing method
16971
16959
  */ function now() {
@@ -17124,42 +17112,32 @@ function doScroll(param) {
17124
17112
  setCanScrollStart,
17125
17113
  setCanScrollEnd
17126
17114
  ]);
17127
- var scrollEvent = useEventListener('scroll', calculateArrowsVisibility);
17128
- React.useEffect(function addScrollerRefToScrollEvent() {
17129
- if (!scrollerRef.current) {
17130
- return noop;
17131
- }
17132
- scrollEvent.add(scrollerRef.current);
17133
- return scrollEvent.remove;
17134
- }, [
17135
- scrollEvent,
17136
- scrollerRef
17137
- ]);
17138
17115
  React.useEffect(calculateArrowsVisibility, [
17139
17116
  calculateArrowsVisibility,
17140
17117
  children
17141
17118
  ]);
17142
- /**
17143
- * Прокрутка с помощью любого колеса мыши
17144
- */ var onwheel = React.useCallback(function(e) {
17119
+ var _onWheel = React.useCallback(function(e) {
17145
17120
  scrollerRef.current.scrollBy({
17146
17121
  left: e.deltaX + e.deltaY,
17147
17122
  behavior: 'auto'
17148
17123
  });
17149
- e.preventDefault();
17150
17124
  }, [
17151
17125
  scrollerRef
17152
17126
  ]);
17153
- var wheelEvent = useEventListener('wheel', onwheel);
17154
- React.useEffect(function addScrollerRefToWheelEvent() {
17155
- if (!scrollerRef.current || !scrollOnAnyWheel) {
17156
- return noop;
17127
+ /**
17128
+ * Прокрутка с помощью любого колеса мыши
17129
+ */ var onScrollWheel = React.useCallback(function(e) {
17130
+ _onWheel(e);
17131
+ e.preventDefault();
17132
+ }, [
17133
+ _onWheel
17134
+ ]);
17135
+ var onArrowWheel = React.useCallback(function(e) {
17136
+ if (e.deltaX || e.deltaY && scrollOnAnyWheel) {
17137
+ _onWheel(e);
17157
17138
  }
17158
- wheelEvent.add(scrollerRef.current);
17159
- return wheelEvent.remove;
17160
17139
  }, [
17161
- wheelEvent,
17162
- scrollerRef,
17140
+ _onWheel,
17163
17141
  scrollOnAnyWheel
17164
17142
  ]);
17165
17143
  return /*#__PURE__*/ React.createElement(RootComponent, HorizontalScroll_object_spread_props(HorizontalScroll_object_spread({}, restProps), {
@@ -17173,7 +17151,8 @@ function doScroll(param) {
17173
17151
  "aria-hidden": true,
17174
17152
  tabIndex: -1,
17175
17153
  className: classNames("vkuiHorizontalScroll__arrow", "vkuiHorizontalScroll__arrowLeft"),
17176
- onClick: scrollToLeft
17154
+ onClick: scrollToLeft,
17155
+ onWheel: onArrowWheel
17177
17156
  }), showArrows && (hasPointer || hasPointer === undefined) && canScrollRight && /*#__PURE__*/ React.createElement(ScrollArrow, {
17178
17157
  "data-testid": false ? 0 : undefined,
17179
17158
  size: arrowSize,
@@ -17182,10 +17161,13 @@ function doScroll(param) {
17182
17161
  "aria-hidden": true,
17183
17162
  tabIndex: -1,
17184
17163
  className: classNames("vkuiHorizontalScroll__arrow", "vkuiHorizontalScroll__arrowRight"),
17185
- onClick: scrollToRight
17164
+ onClick: scrollToRight,
17165
+ onWheel: onArrowWheel
17186
17166
  }), /*#__PURE__*/ React.createElement("div", {
17187
17167
  className: "vkuiHorizontalScroll__in",
17188
- ref: scrollerRef
17168
+ ref: scrollerRef,
17169
+ onScroll: calculateArrowsVisibility,
17170
+ onWheel: scrollOnAnyWheel ? onScrollWheel : undefined
17189
17171
  }, /*#__PURE__*/ React.createElement("div", {
17190
17172
  className: "vkuiHorizontalScroll__in-wrapper"
17191
17173
  }, children)));
@@ -18237,7 +18219,52 @@ function FocusTrap_unsupported_iterable_to_array(o, minLen) {
18237
18219
 
18238
18220
 
18239
18221
 
18222
+
18240
18223
  var FOCUSABLE_ELEMENTS = FOCUSABLE_ELEMENTS_LIST.join();
18224
+ var useRestoreFocus = function(param) {
18225
+ var restoreFocus = param.restoreFocus, timeout = param.timeout, mount = param.mount, ref = param.ref;
18226
+ var restoreFocusRef = (0,react.useRef)(restoreFocus);
18227
+ restoreFocusRef.current = restoreFocus;
18228
+ var _useState = FocusTrap_sliced_to_array((0,react.useState)(null), 2), restoreFocusTo = _useState[0], setRestoreFocusTo = _useState[1];
18229
+ var restoreFocusImpl = useStableCallback_useStableCallback(function() {
18230
+ var shouldRestoreFocus = typeof restoreFocusRef.current === 'function' ? restoreFocusRef.current() : restoreFocusRef.current;
18231
+ if (!shouldRestoreFocus) {
18232
+ return;
18233
+ }
18234
+ setTimeout(function() {
18235
+ var restoreFocusElement = floating_ui_utils_dom_esm_isHTMLElement(shouldRestoreFocus) && shouldRestoreFocus || floating_ui_utils_dom_esm_isHTMLElement(restoreFocusTo) && restoreFocusTo || null;
18236
+ if (restoreFocusElement) {
18237
+ restoreFocusElement.focus();
18238
+ setRestoreFocusTo(null);
18239
+ }
18240
+ }, timeout);
18241
+ });
18242
+ useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function calculateRestoreFocusTo() {
18243
+ if (!ref.current || !restoreFocusRef.current || !mount) {
18244
+ setRestoreFocusTo(null);
18245
+ return;
18246
+ }
18247
+ setRestoreFocusTo(dom_getActiveElementByAnotherElement(ref.current));
18248
+ }, [
18249
+ ref,
18250
+ mount
18251
+ ]);
18252
+ useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function tryToRestoreFocusOnUnmount() {
18253
+ return function() {
18254
+ restoreFocusImpl();
18255
+ };
18256
+ }, [
18257
+ restoreFocusImpl
18258
+ ]);
18259
+ useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function tryToRestoreFocusWhenFakeUnmount() {
18260
+ if (!mount) {
18261
+ restoreFocusImpl();
18262
+ }
18263
+ }, [
18264
+ mount,
18265
+ restoreFocusImpl
18266
+ ]);
18267
+ };
18241
18268
  /**
18242
18269
  * @see https://vkcom.github.io/VKUI/#/FocusTrap
18243
18270
  */ var FocusTrap_FocusTrap = function(_param) {
@@ -18255,7 +18282,12 @@ var FOCUSABLE_ELEMENTS = FOCUSABLE_ELEMENTS_LIST.join();
18255
18282
  var ref = useExternRef_useExternRef(getRootRef);
18256
18283
  var document = dom_useDOM().document;
18257
18284
  var focusableNodesRef = (0,react.useRef)([]);
18258
- var _useState = FocusTrap_sliced_to_array((0,react.useState)(null), 2), restoreFocusTo = _useState[0], setRestoreFocusTo = _useState[1];
18285
+ useRestoreFocus({
18286
+ restoreFocus: restoreFocus,
18287
+ timeout: timeout,
18288
+ mount: mount,
18289
+ ref: ref
18290
+ });
18259
18291
  var focusNodeByIndex = function(nodeIndex) {
18260
18292
  var element = focusableNodesRef.current[nodeIndex];
18261
18293
  if (element) {
@@ -18327,48 +18359,6 @@ var FOCUSABLE_ELEMENTS = FOCUSABLE_ELEMENTS_LIST.join();
18327
18359
  timeout,
18328
18360
  disabled
18329
18361
  ]);
18330
- var restoreFocusImpl = (0,react.useCallback)(function() {
18331
- var shouldRestoreFocus = typeof restoreFocus === 'function' ? restoreFocus() : restoreFocus;
18332
- if (!restoreFocusTo || !floating_ui_utils_dom_esm_isHTMLElement(restoreFocusTo) || !shouldRestoreFocus) {
18333
- return;
18334
- }
18335
- setTimeout(function() {
18336
- if (restoreFocusTo) {
18337
- restoreFocusTo.focus();
18338
- setRestoreFocusTo(null);
18339
- }
18340
- }, timeout);
18341
- }, [
18342
- restoreFocus,
18343
- restoreFocusTo,
18344
- timeout
18345
- ]);
18346
- useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function calculateRestoreFocusTo() {
18347
- if (!ref.current || !restoreFocus || !mount) {
18348
- setRestoreFocusTo(null);
18349
- return;
18350
- }
18351
- setRestoreFocusTo(dom_getActiveElementByAnotherElement(ref.current));
18352
- }, [
18353
- ref,
18354
- mount,
18355
- restoreFocus
18356
- ]);
18357
- useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function tryToRestoreFocusOnUnmount() {
18358
- return function() {
18359
- return restoreFocusImpl();
18360
- };
18361
- }, [
18362
- restoreFocusImpl
18363
- ]);
18364
- useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function tryToRestoreFocusWhenFakeUnmount() {
18365
- if (!mount) {
18366
- restoreFocusImpl();
18367
- }
18368
- }, [
18369
- mount,
18370
- restoreFocusImpl
18371
- ]);
18372
18362
  useIsomorphicLayoutEffect_useIsomorphicLayoutEffect(function() {
18373
18363
  if (!ref.current) {
18374
18364
  return;
@@ -29386,7 +29376,7 @@ var BaseGallery_BaseGallery = function(_param) {
29386
29376
  };
29387
29377
  var initializeSlides = function() {
29388
29378
  var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
29389
- var _rootRef_current, _viewportRef_current, _layoutState_current_slides_slideIndex, _localSlides_slideIndex;
29379
+ var _rootRef_current, _viewportRef_current, _layoutState_current_slides_slideIndex, _localSlides_slideIndex, _localSlides_slideIndex1;
29390
29380
  var _React_Children_map;
29391
29381
  var localSlides = (_React_Children_map = React.Children.map(children, function(_item, i) {
29392
29382
  var elem = slidesStore.current["slide-".concat(i)];
@@ -29404,6 +29394,9 @@ var BaseGallery_BaseGallery = function(_param) {
29404
29394
  return slide.width + val;
29405
29395
  }, 0);
29406
29396
  var adjustShiftX = localSlides.length <= layoutState.current.slides.length || ((_layoutState_current_slides_slideIndex = layoutState.current.slides[slideIndex]) === null || _layoutState_current_slides_slideIndex === void 0 ? void 0 : _layoutState_current_slides_slideIndex.coordX) !== ((_localSlides_slideIndex = localSlides[slideIndex]) === null || _localSlides_slideIndex === void 0 ? void 0 : _localSlides_slideIndex.coordX);
29397
+ var _localSlides_slideIndex_width;
29398
+ var currentSlideOffsetOnCenterAlignment = (localContainerWidth - ((_localSlides_slideIndex_width = (_localSlides_slideIndex1 = localSlides[slideIndex]) === null || _localSlides_slideIndex1 === void 0 ? void 0 : _localSlides_slideIndex1.width) !== null && _localSlides_slideIndex_width !== void 0 ? _localSlides_slideIndex_width : 0)) / 2;
29399
+ var isFullyVisible = align === 'center' ? localLayerWidth + currentSlideOffsetOnCenterAlignment <= localContainerWidth : localLayerWidth <= localContainerWidth;
29407
29400
  layoutState.current = {
29408
29401
  containerWidth: localContainerWidth,
29409
29402
  viewportOffsetWidth: localViewportOffsetWidth,
@@ -29422,7 +29415,7 @@ var BaseGallery_BaseGallery = function(_param) {
29422
29415
  align: align
29423
29416
  }),
29424
29417
  slides: localSlides,
29425
- isFullyVisible: localLayerWidth <= localContainerWidth
29418
+ isFullyVisible: isFullyVisible
29426
29419
  };
29427
29420
  setShiftState(function(prevState) {
29428
29421
  var _options_animation;
@@ -30220,45 +30213,114 @@ var CarouselBase_CarouselBase = function(_param) {
30220
30213
  };
30221
30214
 
30222
30215
  ;// CONCATENATED MODULE: ./src/components/Gallery/hooks.ts
30216
+ function Gallery_hooks_array_like_to_array(arr, len) {
30217
+ if (len == null || len > arr.length) len = arr.length;
30218
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
30219
+ return arr2;
30220
+ }
30221
+ function Gallery_hooks_array_with_holes(arr) {
30222
+ if (Array.isArray(arr)) return arr;
30223
+ }
30224
+ function Gallery_hooks_iterable_to_array_limit(arr, i) {
30225
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
30226
+ if (_i == null) return;
30227
+ var _arr = [];
30228
+ var _n = true;
30229
+ var _d = false;
30230
+ var _s, _e;
30231
+ try {
30232
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
30233
+ _arr.push(_s.value);
30234
+ if (i && _arr.length === i) break;
30235
+ }
30236
+ } catch (err) {
30237
+ _d = true;
30238
+ _e = err;
30239
+ } finally{
30240
+ try {
30241
+ if (!_n && _i["return"] != null) _i["return"]();
30242
+ } finally{
30243
+ if (_d) throw _e;
30244
+ }
30245
+ }
30246
+ return _arr;
30247
+ }
30248
+ function Gallery_hooks_non_iterable_rest() {
30249
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
30250
+ }
30251
+ function Gallery_hooks_sliced_to_array(arr, i) {
30252
+ return Gallery_hooks_array_with_holes(arr) || Gallery_hooks_iterable_to_array_limit(arr, i) || Gallery_hooks_unsupported_iterable_to_array(arr, i) || Gallery_hooks_non_iterable_rest();
30253
+ }
30254
+ function Gallery_hooks_unsupported_iterable_to_array(o, minLen) {
30255
+ if (!o) return;
30256
+ if (typeof o === "string") return Gallery_hooks_array_like_to_array(o, minLen);
30257
+ var n = Object.prototype.toString.call(o).slice(8, -1);
30258
+ if (n === "Object" && o.constructor) n = o.constructor.name;
30259
+ if (n === "Map" || n === "Set") return Array.from(n);
30260
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Gallery_hooks_array_like_to_array(o, minLen);
30261
+ }
30223
30262
 
30224
30263
 
30225
30264
 
30226
- function hooks_useAutoPlay(timeout, slideIndex, callbackFnProp) {
30265
+ function hooks_useAutoPlay(param) {
30266
+ var timeout = param.timeout, slideIndex = param.slideIndex, onNext = param.onNext;
30227
30267
  var document = useDOM().document;
30228
- var callbackFn = useStableCallback(callbackFnProp);
30268
+ var _React_useState = Gallery_hooks_sliced_to_array(React.useState(false), 2), paused = _React_useState[0], setPaused = _React_useState[1];
30269
+ var timeoutRef = React.useRef(null);
30270
+ var callbackFn = useStableCallback(onNext);
30271
+ var pause = React.useCallback(function() {
30272
+ return setPaused(true);
30273
+ }, []);
30274
+ var resume = React.useCallback(function() {
30275
+ return setPaused(false);
30276
+ }, []);
30277
+ // Выносим функции очистки и старта таймера в отдельные функции
30278
+ var clearAutoPlayTimeout = React.useCallback(function() {
30279
+ if (timeoutRef.current) {
30280
+ clearTimeout(timeoutRef.current);
30281
+ timeoutRef.current = null;
30282
+ }
30283
+ }, []);
30284
+ var startAutoPlayTimeout = React.useCallback(function() {
30285
+ if (!document || !timeout || paused) {
30286
+ return;
30287
+ }
30288
+ if (document.visibilityState === 'visible') {
30289
+ clearAutoPlayTimeout();
30290
+ timeoutRef.current = setTimeout(callbackFn, timeout);
30291
+ } else {
30292
+ clearAutoPlayTimeout();
30293
+ }
30294
+ }, [
30295
+ document,
30296
+ timeout,
30297
+ paused,
30298
+ clearAutoPlayTimeout,
30299
+ callbackFn
30300
+ ]);
30301
+ // Основной эффект для управления автопроигрыванием
30229
30302
  React.useEffect(function initializeAutoPlay() {
30230
- if (!document || !timeout) {
30303
+ if (!document || !timeout || paused) {
30231
30304
  return;
30232
30305
  }
30233
- var timeoutId = null;
30234
- var stop = function() {
30235
- if (timeoutId) {
30236
- clearTimeout(timeoutId);
30237
- timeoutId = null;
30238
- }
30239
- };
30240
- var start = function() {
30241
- switch(document.visibilityState){
30242
- case 'visible':
30243
- stop();
30244
- timeoutId = setTimeout(callbackFn, timeout);
30245
- break;
30246
- case 'hidden':
30247
- stop();
30248
- }
30249
- };
30250
- start();
30251
- document.addEventListener('visibilitychange', start);
30306
+ startAutoPlayTimeout();
30307
+ document.addEventListener('visibilitychange', startAutoPlayTimeout);
30252
30308
  return function() {
30253
- stop();
30254
- document.removeEventListener('visibilitychange', start);
30309
+ clearAutoPlayTimeout();
30310
+ document.removeEventListener('visibilitychange', startAutoPlayTimeout);
30255
30311
  };
30256
30312
  }, [
30257
30313
  document,
30258
30314
  timeout,
30259
30315
  slideIndex,
30260
- callbackFn
30316
+ startAutoPlayTimeout,
30317
+ clearAutoPlayTimeout,
30318
+ paused
30261
30319
  ]);
30320
+ return {
30321
+ resume: resume,
30322
+ pause: pause
30323
+ };
30262
30324
  }
30263
30325
 
30264
30326
  ;// CONCATENATED MODULE: ./src/components/Gallery/Gallery.tsx
@@ -30393,16 +30455,19 @@ function Gallery_unsupported_iterable_to_array(o, minLen) {
30393
30455
 
30394
30456
 
30395
30457
 
30458
+
30396
30459
  /**
30397
30460
  * @see https://vkcom.github.io/VKUI/#/Gallery
30398
30461
  */ var Gallery = function(_param) {
30399
- var _param_initialSlideIndex = _param.initialSlideIndex, initialSlideIndex = _param_initialSlideIndex === void 0 ? 0 : _param_initialSlideIndex, children = _param.children, _param_timeout = _param.timeout, timeout = _param_timeout === void 0 ? 0 : _param_timeout, onChange = _param.onChange, bullets = _param.bullets, looped = _param.looped, props = Gallery_object_without_properties(_param, [
30462
+ var _param_initialSlideIndex = _param.initialSlideIndex, initialSlideIndex = _param_initialSlideIndex === void 0 ? 0 : _param_initialSlideIndex, children = _param.children, _param_timeout = _param.timeout, timeout = _param_timeout === void 0 ? 0 : _param_timeout, onChange = _param.onChange, bullets = _param.bullets, looped = _param.looped, onDragStart = _param.onDragStart, onDragEnd = _param.onDragEnd, props = Gallery_object_without_properties(_param, [
30400
30463
  "initialSlideIndex",
30401
30464
  "children",
30402
30465
  "timeout",
30403
30466
  "onChange",
30404
30467
  "bullets",
30405
- "looped"
30468
+ "looped",
30469
+ "onDragStart",
30470
+ "onDragEnd"
30406
30471
  ]);
30407
30472
  var _React_useState = Gallery_sliced_to_array(React.useState(initialSlideIndex), 2), localSlideIndex = _React_useState[0], setSlideIndex = _React_useState[1];
30408
30473
  var isControlled = typeof props.slideIndex === 'number';
@@ -30428,8 +30493,12 @@ function Gallery_unsupported_iterable_to_array(o, minLen) {
30428
30493
  onChange,
30429
30494
  slideIndex
30430
30495
  ]);
30431
- useAutoPlay(timeout, slideIndex, function() {
30432
- return handleChange((slideIndex + 1) % childCount);
30496
+ var autoPlayControls = useAutoPlay({
30497
+ timeout: timeout,
30498
+ slideIndex: slideIndex,
30499
+ onNext: function() {
30500
+ return handleChange((slideIndex + 1) % childCount);
30501
+ }
30433
30502
  });
30434
30503
  // prevent invalid slideIndex
30435
30504
  // any slide index is invalid with no slides, just keep it as is
@@ -30452,6 +30521,8 @@ function Gallery_unsupported_iterable_to_array(o, minLen) {
30452
30521
  return /*#__PURE__*/ React.createElement(Component, Gallery_object_spread_props(Gallery_object_spread({
30453
30522
  dragDisabled: isControlled && !onChange
30454
30523
  }, props), {
30524
+ onDragStart: callMultiple(onDragStart, autoPlayControls.pause),
30525
+ onDragEnd: callMultiple(onDragEnd, autoPlayControls.resume),
30455
30526
  bullets: childCount > 0 && bullets,
30456
30527
  slideIndex: safeSlideIndex,
30457
30528
  onChange: handleChange
@@ -44226,7 +44297,7 @@ function CalendarDay_object_without_properties_loose(source, excluded) {
44226
44297
 
44227
44298
 
44228
44299
  var CalendarDay_CalendarDay = /*#__PURE__*/ react.memo(function(_param) {
44229
- var day = _param.day, today = _param.today, selected = _param.selected, onChange = _param.onChange, hidden = _param.hidden, disabled = _param.disabled, active = _param.active, selectionStart = _param.selectionStart, selectionEnd = _param.selectionEnd, focused = _param.focused, onEnter = _param.onEnter, onLeave = _param.onLeave, hinted = _param.hinted, hintedSelectionStart = _param.hintedSelectionStart, hintedSelectionEnd = _param.hintedSelectionEnd, sameMonth = _param.sameMonth, size = _param.size, className = _param.className, children = _param.children, renderDayContent = _param.renderDayContent, restProps = CalendarDay_object_without_properties(_param, [
44300
+ var day = _param.day, today = _param.today, selected = _param.selected, onChange = _param.onChange, hidden = _param.hidden, disabled = _param.disabled, active = _param.active, selectionStart = _param.selectionStart, selectionEnd = _param.selectionEnd, focused = _param.focused, onEnter = _param.onEnter, onLeave = _param.onLeave, hinted = _param.hinted, hintedSelectionStart = _param.hintedSelectionStart, hintedSelectionEnd = _param.hintedSelectionEnd, sameMonth = _param.sameMonth, size = _param.size, className = _param.className, children = _param.children, renderDayContent = _param.renderDayContent, testId = _param.testId, restProps = CalendarDay_object_without_properties(_param, [
44230
44301
  "day",
44231
44302
  "today",
44232
44303
  "selected",
@@ -44246,7 +44317,8 @@ var CalendarDay_CalendarDay = /*#__PURE__*/ react.memo(function(_param) {
44246
44317
  "size",
44247
44318
  "className",
44248
44319
  "children",
44249
- "renderDayContent"
44320
+ "renderDayContent",
44321
+ "testId"
44250
44322
  ]);
44251
44323
  var locale = ConfigProviderContext_useConfigProvider().locale;
44252
44324
  var ref = react.useRef(null);
@@ -44314,7 +44386,8 @@ var CalendarDay_CalendarDay = /*#__PURE__*/ react.memo(function(_param) {
44314
44386
  getRootRef: ref,
44315
44387
  focusVisibleMode: active ? 'outside' : 'inside',
44316
44388
  onPointerEnter: handleEnter,
44317
- onPointerLeave: handleLeave
44389
+ onPointerLeave: handleLeave,
44390
+ "data-testid": typeof testId === 'string' ? testId : testId === null || testId === void 0 ? void 0 : testId(day)
44318
44391
  }, restProps), /*#__PURE__*/ react.createElement("div", {
44319
44392
  className: clsx("vkuiCalendarDay__hinted", hinted && "vkuiCalendarDay__hinted--active", hintedSelectionStart && "vkuiCalendarDay__hinted--selection-start", hintedSelectionEnd && "vkuiCalendarDay__hinted--selection-end")
44320
44393
  }, /*#__PURE__*/ react.createElement("div", {
@@ -44418,7 +44491,7 @@ function CalendarDays_object_without_properties_loose(source, excluded) {
44418
44491
 
44419
44492
 
44420
44493
  var CalendarDays_CalendarDays = function(_param) {
44421
- var viewDate = _param.viewDate, value = _param.value, weekStartsOn = _param.weekStartsOn, onDayChange = _param.onDayChange, isDaySelected = _param.isDaySelected, isDayActive = _param.isDayActive, isDaySelectionEnd = _param.isDaySelectionEnd, isDaySelectionStart = _param.isDaySelectionStart, onDayEnter = _param.onDayEnter, onDayLeave = _param.onDayLeave, isDayHinted = _param.isDayHinted, isHintedDaySelectionStart = _param.isHintedDaySelectionStart, isHintedDaySelectionEnd = _param.isHintedDaySelectionEnd, isDayFocused = _param.isDayFocused, isDayDisabled = _param.isDayDisabled, size = _param.size, _param_showNeighboringMonth = _param.showNeighboringMonth, showNeighboringMonth = _param_showNeighboringMonth === void 0 ? false : _param_showNeighboringMonth, dayProps = _param.dayProps, _param_listenDayChangesForUpdate = _param.listenDayChangesForUpdate, listenDayChangesForUpdate = _param_listenDayChangesForUpdate === void 0 ? false : _param_listenDayChangesForUpdate, getRootRef = _param.getRootRef, renderDayContent = _param.renderDayContent, props = CalendarDays_object_without_properties(_param, [
44494
+ var viewDate = _param.viewDate, value = _param.value, weekStartsOn = _param.weekStartsOn, onDayChange = _param.onDayChange, isDaySelected = _param.isDaySelected, isDayActive = _param.isDayActive, isDaySelectionEnd = _param.isDaySelectionEnd, isDaySelectionStart = _param.isDaySelectionStart, onDayEnter = _param.onDayEnter, onDayLeave = _param.onDayLeave, isDayHinted = _param.isDayHinted, isHintedDaySelectionStart = _param.isHintedDaySelectionStart, isHintedDaySelectionEnd = _param.isHintedDaySelectionEnd, isDayFocused = _param.isDayFocused, isDayDisabled = _param.isDayDisabled, size = _param.size, _param_showNeighboringMonth = _param.showNeighboringMonth, showNeighboringMonth = _param_showNeighboringMonth === void 0 ? false : _param_showNeighboringMonth, dayProps = _param.dayProps, _param_listenDayChangesForUpdate = _param.listenDayChangesForUpdate, listenDayChangesForUpdate = _param_listenDayChangesForUpdate === void 0 ? false : _param_listenDayChangesForUpdate, getRootRef = _param.getRootRef, renderDayContent = _param.renderDayContent, dayTestId = _param.dayTestId, props = CalendarDays_object_without_properties(_param, [
44422
44495
  "viewDate",
44423
44496
  "value",
44424
44497
  "weekStartsOn",
@@ -44439,7 +44512,8 @@ var CalendarDays_CalendarDays = function(_param) {
44439
44512
  "dayProps",
44440
44513
  "listenDayChangesForUpdate",
44441
44514
  "getRootRef",
44442
- "renderDayContent"
44515
+ "renderDayContent",
44516
+ "dayTestId"
44443
44517
  ]);
44444
44518
  var locale = useConfigProvider().locale;
44445
44519
  var ref = useExternRef(getRootRef);
@@ -44500,7 +44574,8 @@ var CalendarDays_CalendarDays = function(_param) {
44500
44574
  hinted: isDayHinted === null || isDayHinted === void 0 ? void 0 : isDayHinted(day),
44501
44575
  sameMonth: sameMonth,
44502
44576
  size: size,
44503
- renderDayContent: renderDayContent
44577
+ renderDayContent: renderDayContent,
44578
+ testId: dayTestId
44504
44579
  }, dayProps));
44505
44580
  }));
44506
44581
  }));
@@ -44652,7 +44727,7 @@ var CalendarHeader_CalendarHeader = function(_param) {
44652
44727
  className: "vkuiCalendarHeader__nav-icon--accent",
44653
44728
  width: 30,
44654
44729
  height: 30
44655
- }) : _param_nextMonthIcon, isMonthDisabled = _param.isMonthDisabled, isYearDisabled = _param.isYearDisabled, restProps = CalendarHeader_object_without_properties(_param, [
44730
+ }) : _param_nextMonthIcon, isMonthDisabled = _param.isMonthDisabled, isYearDisabled = _param.isYearDisabled, monthDropdownTestId = _param.monthDropdownTestId, yearDropdownTestId = _param.yearDropdownTestId, prevMonthButtonTestId = _param.prevMonthButtonTestId, nextMonthButtonTestId = _param.nextMonthButtonTestId, restProps = CalendarHeader_object_without_properties(_param, [
44656
44731
  "viewDate",
44657
44732
  "onChange",
44658
44733
  "prevMonthHidden",
@@ -44669,7 +44744,11 @@ var CalendarHeader_CalendarHeader = function(_param) {
44669
44744
  "prevMonthIcon",
44670
44745
  "nextMonthIcon",
44671
44746
  "isMonthDisabled",
44672
- "isYearDisabled"
44747
+ "isYearDisabled",
44748
+ "monthDropdownTestId",
44749
+ "yearDropdownTestId",
44750
+ "prevMonthButtonTestId",
44751
+ "nextMonthButtonTestId"
44673
44752
  ]);
44674
44753
  var locale = useConfigProvider().locale;
44675
44754
  var onMonthsChange = React.useCallback(function(event) {
@@ -44735,7 +44814,8 @@ var CalendarHeader_CalendarHeader = function(_param) {
44735
44814
  sizeX: "regular"
44736
44815
  }, /*#__PURE__*/ React.createElement(Tappable, CalendarHeader_object_spread({
44737
44816
  className: classNames("vkuiCalendarHeader__nav-icon", "vkuiCalendarHeader__nav-icon-prev", prevMonthClassName),
44738
- onClick: onPrevMonth
44817
+ onClick: onPrevMonth,
44818
+ "data-testid": prevMonthButtonTestId
44739
44819
  }, restPrevMonthProps), /*#__PURE__*/ React.createElement(VisuallyHidden, null, prevMonthLabel, ", ", formatter.format(subMonths(viewDate, 1))), prevMonthIcon)), disablePickers ? /*#__PURE__*/ React.createElement(Paragraph, {
44740
44820
  className: classNames("vkuiCalendarHeader__pickers", 'vkuiInternalCalendarHeader__pickers'),
44741
44821
  weight: "2"
@@ -44759,7 +44839,8 @@ var CalendarHeader_CalendarHeader = function(_param) {
44759
44839
  onChange: onMonthsChange,
44760
44840
  forceDropdownPortal: false,
44761
44841
  selectType: "accent",
44762
- "aria-label": changeMonthLabel
44842
+ "aria-label": changeMonthLabel,
44843
+ "data-testid": typeof monthDropdownTestId === 'string' ? monthDropdownTestId : monthDropdownTestId === null || monthDropdownTestId === void 0 ? void 0 : monthDropdownTestId(currentMonth)
44763
44844
  }), /*#__PURE__*/ React.createElement(CustomSelect, {
44764
44845
  className: classNames("vkuiCalendarHeader__picker", 'vkuiInternalCalendarHeader__picker'),
44765
44846
  value: currentYear,
@@ -44770,12 +44851,14 @@ var CalendarHeader_CalendarHeader = function(_param) {
44770
44851
  onChange: onYearChange,
44771
44852
  forceDropdownPortal: false,
44772
44853
  selectType: "accent",
44773
- "aria-label": changeYearLabel
44854
+ "aria-label": changeYearLabel,
44855
+ "data-testid": yearDropdownTestId
44774
44856
  }))), !nextMonthHidden && /*#__PURE__*/ React.createElement(AdaptivityProvider, {
44775
44857
  sizeX: "regular"
44776
44858
  }, /*#__PURE__*/ React.createElement(Tappable, CalendarHeader_object_spread({
44777
44859
  className: classNames("vkuiCalendarHeader__nav-icon", "vkuiCalendarHeader__nav-icon-next", nextMonthClassName),
44778
- onClick: onNextMonth
44860
+ onClick: onNextMonth,
44861
+ "data-testid": nextMonthButtonTestId
44779
44862
  }, restNextMonthProps), /*#__PURE__*/ React.createElement(VisuallyHidden, null, nextMonthLabel, ", ", formatter.format(addMonths(viewDate, 1))), nextMonthIcon)));
44780
44863
  };
44781
44864
 
@@ -44841,6 +44924,7 @@ function CalendarTime_object_spread_props(target, source) {
44841
44924
 
44842
44925
 
44843
44926
 
44927
+
44844
44928
  var hours = [];
44845
44929
  for(var i = 0; i < 24; i += 1){
44846
44930
  hours.push({
@@ -44856,7 +44940,7 @@ for(var i1 = 0; i1 < 60; i1 += 1){
44856
44940
  });
44857
44941
  }
44858
44942
  var CalendarTime_CalendarTime = function(param) {
44859
- var value = param.value, _param_doneButtonText = param.doneButtonText, doneButtonText = _param_doneButtonText === void 0 ? 'Готово' : _param_doneButtonText, onChange = param.onChange, onClose = param.onClose, changeHoursLabel = param.changeHoursLabel, changeMinutesLabel = param.changeMinutesLabel, isDayDisabled = param.isDayDisabled;
44943
+ var value = param.value, onChange = param.onChange, onClose = param.onClose, changeHoursLabel = param.changeHoursLabel, changeMinutesLabel = param.changeMinutesLabel, isDayDisabled = param.isDayDisabled, _param_doneButtonText = param.doneButtonText, doneButtonText = _param_doneButtonText === void 0 ? 'Готово' : _param_doneButtonText, _param_doneButtonDisabled = param.doneButtonDisabled, doneButtonDisabled = _param_doneButtonDisabled === void 0 ? false : _param_doneButtonDisabled, _param_doneButtonShow = param.doneButtonShow, doneButtonShow = _param_doneButtonShow === void 0 ? true : _param_doneButtonShow, minutesTestId = param.minutesTestId, hoursTestId = param.hoursTestId, doneButtonTestId = param.doneButtonTestId;
44860
44944
  var localHours = isDayDisabled ? hours.map(function(hour) {
44861
44945
  return CalendarTime_object_spread_props(CalendarTime_object_spread({}, hour), {
44862
44946
  disabled: isDayDisabled(setHours(value, hour.value), true)
@@ -44880,7 +44964,7 @@ var CalendarTime_CalendarTime = function(param) {
44880
44964
  value
44881
44965
  ]);
44882
44966
  return /*#__PURE__*/ React.createElement("div", {
44883
- className: "vkuiCalendarTime"
44967
+ className: classNames("vkuiCalendarTime", !doneButtonShow && "vkuiCalendarTime__withoutDone")
44884
44968
  }, /*#__PURE__*/ React.createElement("div", {
44885
44969
  className: "vkuiCalendarTime__picker"
44886
44970
  }, /*#__PURE__*/ React.createElement(AdaptivityProvider, {
@@ -44890,7 +44974,8 @@ var CalendarTime_CalendarTime = function(param) {
44890
44974
  options: localHours,
44891
44975
  onChange: onHoursChange,
44892
44976
  forceDropdownPortal: false,
44893
- "aria-label": changeHoursLabel
44977
+ "aria-label": changeHoursLabel,
44978
+ "data-testid": hoursTestId
44894
44979
  }))), /*#__PURE__*/ React.createElement("div", {
44895
44980
  className: "vkuiCalendarTime__divider"
44896
44981
  }, ":"), /*#__PURE__*/ React.createElement("div", {
@@ -44902,15 +44987,18 @@ var CalendarTime_CalendarTime = function(param) {
44902
44987
  options: localMinutes,
44903
44988
  onChange: onMinutesChange,
44904
44989
  forceDropdownPortal: false,
44905
- "aria-label": changeMinutesLabel
44906
- }))), /*#__PURE__*/ React.createElement("div", {
44990
+ "aria-label": changeMinutesLabel,
44991
+ "data-testid": minutesTestId
44992
+ }))), doneButtonShow && /*#__PURE__*/ React.createElement("div", {
44907
44993
  className: "vkuiCalendarTime__button"
44908
44994
  }, /*#__PURE__*/ React.createElement(AdaptivityProvider, {
44909
44995
  sizeY: "compact"
44910
44996
  }, /*#__PURE__*/ React.createElement(Button, {
44911
44997
  mode: "secondary",
44912
44998
  onClick: onClose,
44913
- size: "l"
44999
+ size: "l",
45000
+ disabled: doneButtonDisabled,
45001
+ "data-testid": doneButtonTestId
44914
45002
  }, doneButtonText))));
44915
45003
  };
44916
45004
 
@@ -45013,7 +45101,7 @@ var Calendar_warn = warnOnce('Calendar');
45013
45101
  /**
45014
45102
  * @see https://vkcom.github.io/VKUI/#/Calendar
45015
45103
  */ var Calendar_Calendar = function(_param) {
45016
- var value = _param.value, onChange = _param.onChange, disablePast = _param.disablePast, disableFuture = _param.disableFuture, shouldDisableDate = _param.shouldDisableDate, onClose = _param.onClose, _param_enableTime = _param.enableTime, enableTime = _param_enableTime === void 0 ? false : _param_enableTime, doneButtonText = _param.doneButtonText, _param_weekStartsOn = _param.weekStartsOn, weekStartsOn = _param_weekStartsOn === void 0 ? 1 : _param_weekStartsOn, disablePickers = _param.disablePickers, _param_changeHoursLabel = _param.changeHoursLabel, changeHoursLabel = _param_changeHoursLabel === void 0 ? 'Изменить час' : _param_changeHoursLabel, _param_changeMinutesLabel = _param.changeMinutesLabel, changeMinutesLabel = _param_changeMinutesLabel === void 0 ? 'Изменить минуту' : _param_changeMinutesLabel, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, showNeighboringMonth = _param.showNeighboringMonth, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, _param_size = _param.size, size = _param_size === void 0 ? 'm' : _param_size, externalViewDate = _param.viewDate, onHeaderChange = _param.onHeaderChange, onNextMonth = _param.onNextMonth, onPrevMonth = _param.onPrevMonth, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, prevMonthProps = _param.prevMonthProps, nextMonthProps = _param.nextMonthProps, dayProps = _param.dayProps, listenDayChangesForUpdate = _param.listenDayChangesForUpdate, renderDayContent = _param.renderDayContent, minDateTime = _param.minDateTime, maxDateTime = _param.maxDateTime, props = Calendar_object_without_properties(_param, [
45104
+ var value = _param.value, onChange = _param.onChange, disablePast = _param.disablePast, disableFuture = _param.disableFuture, shouldDisableDate = _param.shouldDisableDate, onClose = _param.onClose, _param_enableTime = _param.enableTime, enableTime = _param_enableTime === void 0 ? false : _param_enableTime, doneButtonText = _param.doneButtonText, doneButtonDisabled = _param.doneButtonDisabled, doneButtonShow = _param.doneButtonShow, _param_weekStartsOn = _param.weekStartsOn, weekStartsOn = _param_weekStartsOn === void 0 ? 1 : _param_weekStartsOn, disablePickers = _param.disablePickers, _param_changeHoursLabel = _param.changeHoursLabel, changeHoursLabel = _param_changeHoursLabel === void 0 ? 'Изменить час' : _param_changeHoursLabel, _param_changeMinutesLabel = _param.changeMinutesLabel, changeMinutesLabel = _param_changeMinutesLabel === void 0 ? 'Изменить минуту' : _param_changeMinutesLabel, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, showNeighboringMonth = _param.showNeighboringMonth, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, _param_size = _param.size, size = _param_size === void 0 ? 'm' : _param_size, externalViewDate = _param.viewDate, onHeaderChange = _param.onHeaderChange, onNextMonth = _param.onNextMonth, onPrevMonth = _param.onPrevMonth, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, prevMonthProps = _param.prevMonthProps, nextMonthProps = _param.nextMonthProps, dayProps = _param.dayProps, listenDayChangesForUpdate = _param.listenDayChangesForUpdate, renderDayContent = _param.renderDayContent, minDateTime = _param.minDateTime, maxDateTime = _param.maxDateTime, minutesTestId = _param.minutesTestId, hoursTestId = _param.hoursTestId, doneButtonTestId = _param.doneButtonTestId, prevMonthButtonTestId = _param.prevMonthButtonTestId, nextMonthButtonTestId = _param.nextMonthButtonTestId, monthDropdownTestId = _param.monthDropdownTestId, yearDropdownTestId = _param.yearDropdownTestId, dayTestId = _param.dayTestId, props = Calendar_object_without_properties(_param, [
45017
45105
  "value",
45018
45106
  "onChange",
45019
45107
  "disablePast",
@@ -45022,6 +45110,8 @@ var Calendar_warn = warnOnce('Calendar');
45022
45110
  "onClose",
45023
45111
  "enableTime",
45024
45112
  "doneButtonText",
45113
+ "doneButtonDisabled",
45114
+ "doneButtonShow",
45025
45115
  "weekStartsOn",
45026
45116
  "disablePickers",
45027
45117
  "changeHoursLabel",
@@ -45045,7 +45135,15 @@ var Calendar_warn = warnOnce('Calendar');
45045
45135
  "listenDayChangesForUpdate",
45046
45136
  "renderDayContent",
45047
45137
  "minDateTime",
45048
- "maxDateTime"
45138
+ "maxDateTime",
45139
+ "minutesTestId",
45140
+ "hoursTestId",
45141
+ "doneButtonTestId",
45142
+ "prevMonthButtonTestId",
45143
+ "nextMonthButtonTestId",
45144
+ "monthDropdownTestId",
45145
+ "yearDropdownTestId",
45146
+ "dayTestId"
45049
45147
  ]);
45050
45148
  var _useCalendar = useCalendar({
45051
45149
  value: value,
@@ -45126,7 +45224,11 @@ var Calendar_warn = warnOnce('Calendar');
45126
45224
  prevMonthProps: prevMonthProps,
45127
45225
  nextMonthProps: nextMonthProps,
45128
45226
  isMonthDisabled: isMonthDisabled,
45129
- isYearDisabled: isYearDisabled
45227
+ isYearDisabled: isYearDisabled,
45228
+ nextMonthButtonTestId: nextMonthButtonTestId,
45229
+ prevMonthButtonTestId: prevMonthButtonTestId,
45230
+ monthDropdownTestId: monthDropdownTestId,
45231
+ yearDropdownTestId: yearDropdownTestId
45130
45232
  }), /*#__PURE__*/ React.createElement(CalendarDays, {
45131
45233
  viewDate: externalViewDate || viewDate,
45132
45234
  value: value,
@@ -45145,7 +45247,8 @@ var Calendar_warn = warnOnce('Calendar');
45145
45247
  size: size,
45146
45248
  dayProps: dayProps,
45147
45249
  listenDayChangesForUpdate: listenDayChangesForUpdate,
45148
- renderDayContent: renderDayContent
45250
+ renderDayContent: renderDayContent,
45251
+ dayTestId: dayTestId
45149
45252
  }), enableTime && value && size !== 's' && /*#__PURE__*/ React.createElement("div", {
45150
45253
  className: "vkuiCalendar__time"
45151
45254
  }, /*#__PURE__*/ React.createElement(CalendarTime, {
@@ -45153,9 +45256,14 @@ var Calendar_warn = warnOnce('Calendar');
45153
45256
  onChange: onChange,
45154
45257
  onClose: onClose,
45155
45258
  doneButtonText: doneButtonText,
45259
+ doneButtonDisabled: doneButtonDisabled,
45260
+ doneButtonShow: doneButtonShow,
45156
45261
  changeHoursLabel: changeHoursLabel,
45157
45262
  changeMinutesLabel: changeMinutesLabel,
45158
- isDayDisabled: minDateTime || maxDateTime ? isDayDisabled : undefined
45263
+ isDayDisabled: minDateTime || maxDateTime ? isDayDisabled : undefined,
45264
+ minutesTestId: minutesTestId,
45265
+ hoursTestId: hoursTestId,
45266
+ doneButtonTestId: doneButtonTestId
45159
45267
  })));
45160
45268
  };
45161
45269
 
@@ -45308,7 +45416,7 @@ var getIsDaySelected = function(day, value) {
45308
45416
  /**
45309
45417
  * @see https://vkcom.github.io/VKUI/#/CalendarRange
45310
45418
  */ var CalendarRange_CalendarRange = function(_param) {
45311
- var value = _param.value, onChange = _param.onChange, disablePast = _param.disablePast, disableFuture = _param.disableFuture, shouldDisableDate = _param.shouldDisableDate, onClose = _param.onClose, _param_weekStartsOn = _param.weekStartsOn, weekStartsOn = _param_weekStartsOn === void 0 ? 1 : _param_weekStartsOn, disablePickers = _param.disablePickers, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, listenDayChangesForUpdate = _param.listenDayChangesForUpdate, renderDayContent = _param.renderDayContent, props = CalendarRange_object_without_properties(_param, [
45419
+ var value = _param.value, onChange = _param.onChange, disablePast = _param.disablePast, disableFuture = _param.disableFuture, shouldDisableDate = _param.shouldDisableDate, onClose = _param.onClose, _param_weekStartsOn = _param.weekStartsOn, weekStartsOn = _param_weekStartsOn === void 0 ? 1 : _param_weekStartsOn, disablePickers = _param.disablePickers, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, listenDayChangesForUpdate = _param.listenDayChangesForUpdate, renderDayContent = _param.renderDayContent, dayTestId = _param.dayTestId, leftPartHeaderTestsData = _param.leftPartHeaderTestsData, rightPartHeaderTestsData = _param.rightPartHeaderTestsData, props = CalendarRange_object_without_properties(_param, [
45312
45420
  "value",
45313
45421
  "onChange",
45314
45422
  "disablePast",
@@ -45325,7 +45433,10 @@ var getIsDaySelected = function(day, value) {
45325
45433
  "prevMonthIcon",
45326
45434
  "nextMonthIcon",
45327
45435
  "listenDayChangesForUpdate",
45328
- "renderDayContent"
45436
+ "renderDayContent",
45437
+ "dayTestId",
45438
+ "leftPartHeaderTestsData",
45439
+ "rightPartHeaderTestsData"
45329
45440
  ]);
45330
45441
  var _useCalendar = useCalendar({
45331
45442
  value: value,
@@ -45447,7 +45558,7 @@ var getIsDaySelected = function(day, value) {
45447
45558
  baseClassName: "vkuiCalendarRange"
45448
45559
  }), /*#__PURE__*/ React.createElement("div", {
45449
45560
  className: "vkuiCalendarRange__inner"
45450
- }, /*#__PURE__*/ React.createElement(CalendarHeader, {
45561
+ }, /*#__PURE__*/ React.createElement(CalendarHeader, CalendarRange_object_spread({
45451
45562
  viewDate: viewDate,
45452
45563
  onChange: setViewDate,
45453
45564
  nextMonthHidden: true,
@@ -45461,7 +45572,7 @@ var getIsDaySelected = function(day, value) {
45461
45572
  prevMonthIcon: prevMonthIcon,
45462
45573
  isMonthDisabled: isMonthDisabled,
45463
45574
  isYearDisabled: isYearDisabled
45464
- }), /*#__PURE__*/ React.createElement(CalendarDays, {
45575
+ }, leftPartHeaderTestsData)), /*#__PURE__*/ React.createElement(CalendarDays, {
45465
45576
  viewDate: viewDate,
45466
45577
  value: value,
45467
45578
  weekStartsOn: weekStartsOn,
@@ -45480,10 +45591,11 @@ var getIsDaySelected = function(day, value) {
45480
45591
  isDayDisabled: isDayDisabled,
45481
45592
  listenDayChangesForUpdate: listenDayChangesForUpdate,
45482
45593
  renderDayContent: renderDayContent,
45483
- "aria-label": changeDayLabel
45594
+ "aria-label": changeDayLabel,
45595
+ dayTestId: dayTestId
45484
45596
  })), /*#__PURE__*/ React.createElement("div", {
45485
45597
  className: "vkuiCalendarRange__inner"
45486
- }, /*#__PURE__*/ React.createElement(CalendarHeader, {
45598
+ }, /*#__PURE__*/ React.createElement(CalendarHeader, CalendarRange_object_spread({
45487
45599
  viewDate: secondViewDate,
45488
45600
  onChange: onRightPartViewDateChange,
45489
45601
  prevMonthHidden: true,
@@ -45497,7 +45609,7 @@ var getIsDaySelected = function(day, value) {
45497
45609
  nextMonthIcon: nextMonthIcon,
45498
45610
  isMonthDisabled: isMonthDisabled,
45499
45611
  isYearDisabled: isYearDisabled
45500
- }), /*#__PURE__*/ React.createElement(CalendarDays, {
45612
+ }, rightPartHeaderTestsData)), /*#__PURE__*/ React.createElement(CalendarDays, {
45501
45613
  viewDate: secondViewDate,
45502
45614
  value: value,
45503
45615
  weekStartsOn: weekStartsOn,
@@ -45518,7 +45630,8 @@ var getIsDaySelected = function(day, value) {
45518
45630
  listenDayChangesForUpdate: listenDayChangesForUpdate,
45519
45631
  renderDayContent: renderDayContent,
45520
45632
  tabIndex: 0,
45521
- onBlur: resetSelectedDay
45633
+ onBlur: resetSelectedDay,
45634
+ dayTestId: dayTestId
45522
45635
  })));
45523
45636
  };
45524
45637
 
@@ -45585,8 +45698,9 @@ function useDateInput_unsupported_iterable_to_array(o, minLen) {
45585
45698
 
45586
45699
 
45587
45700
 
45701
+
45588
45702
  function useDateInput_useDateInput(param) {
45589
- var maxElement = param.maxElement, refs = param.refs, autoFocus = param.autoFocus, disabled = param.disabled, elementsConfig = param.elementsConfig, onChange = param.onChange, onInternalValueChange = param.onInternalValueChange, getInternalValue = param.getInternalValue, value = param.value;
45703
+ var maxElement = param.maxElement, refs = param.refs, autoFocus = param.autoFocus, disabled = param.disabled, elementsConfig = param.elementsConfig, onChange = param.onChange, onInternalValueChange = param.onInternalValueChange, getInternalValue = param.getInternalValue, value = param.value, onCalendarOpenChanged = param.onCalendarOpenChanged;
45590
45704
  var document = useDOM().document;
45591
45705
  var _useBooleanState = useBooleanState(false), open = _useBooleanState.value, openCalendar = _useBooleanState.setTrue, closeCalendar = _useBooleanState.setFalse;
45592
45706
  var rootRef = React.useRef(null);
@@ -45594,20 +45708,40 @@ function useDateInput_useDateInput(param) {
45594
45708
  var _React_useState = useDateInput_sliced_to_array(React.useState([]), 2), internalValue = _React_useState[0], setInternalValue = _React_useState[1];
45595
45709
  var _React_useState1 = useDateInput_sliced_to_array(React.useState(null), 2), focusedElement = _React_useState1[0], setFocusedElement = _React_useState1[1];
45596
45710
  var window = useDOM().window;
45711
+ var _onCalendarClose = useCallback(function() {
45712
+ if (open) {
45713
+ closeCalendar();
45714
+ onCalendarOpenChanged === null || onCalendarOpenChanged === void 0 ? void 0 : onCalendarOpenChanged(false);
45715
+ }
45716
+ }, [
45717
+ closeCalendar,
45718
+ onCalendarOpenChanged,
45719
+ open
45720
+ ]);
45721
+ var _onCalendarOpen = useCallback(function() {
45722
+ if (!open) {
45723
+ openCalendar();
45724
+ onCalendarOpenChanged === null || onCalendarOpenChanged === void 0 ? void 0 : onCalendarOpenChanged(true);
45725
+ }
45726
+ }, [
45727
+ onCalendarOpenChanged,
45728
+ open,
45729
+ openCalendar
45730
+ ]);
45597
45731
  var removeFocusFromField = React.useCallback(function() {
45598
45732
  if (focusedElement !== null) {
45599
45733
  var _window_getSelection;
45600
45734
  setFocusedElement(null);
45601
- closeCalendar();
45735
+ _onCalendarClose();
45602
45736
  (_window_getSelection = window.getSelection()) === null || _window_getSelection === void 0 ? void 0 : _window_getSelection.removeAllRanges();
45603
45737
  setInternalValue(getInternalValue(value));
45604
45738
  }
45605
45739
  }, [
45606
45740
  focusedElement,
45607
- closeCalendar,
45741
+ _onCalendarClose,
45742
+ window,
45608
45743
  getInternalValue,
45609
- value,
45610
- window
45744
+ value
45611
45745
  ]);
45612
45746
  var handleClickOutside = React.useCallback(function(e) {
45613
45747
  var _rootRef_current, _calendarRef_current;
@@ -45645,7 +45779,7 @@ function useDateInput_useDateInput(param) {
45645
45779
  var element = refs[focusedElement].current;
45646
45780
  if (element) {
45647
45781
  element.focus();
45648
- openCalendar();
45782
+ _onCalendarOpen();
45649
45783
  range.selectNodeContents(element);
45650
45784
  var selection = window.getSelection();
45651
45785
  selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
@@ -45654,7 +45788,7 @@ function useDateInput_useDateInput(param) {
45654
45788
  }, [
45655
45789
  disabled,
45656
45790
  focusedElement,
45657
- openCalendar,
45791
+ _onCalendarOpen,
45658
45792
  refs,
45659
45793
  window
45660
45794
  ]);
@@ -45727,8 +45861,8 @@ function useDateInput_useDateInput(param) {
45727
45861
  rootRef: rootRef,
45728
45862
  calendarRef: calendarRef,
45729
45863
  open: open,
45730
- openCalendar: openCalendar,
45731
- closeCalendar: closeCalendar,
45864
+ openCalendar: _onCalendarOpen,
45865
+ closeCalendar: _onCalendarClose,
45732
45866
  internalValue: internalValue,
45733
45867
  focusedElement: focusedElement,
45734
45868
  setFocusedElement: setFocusedElement,
@@ -46180,6 +46314,7 @@ function DateInput_object_without_properties_loose(source, excluded) {
46180
46314
 
46181
46315
 
46182
46316
 
46317
+
46183
46318
  // Reorder css
46184
46319
 
46185
46320
  var DateInput_sizeYClassNames = {
@@ -46235,7 +46370,7 @@ var getInternalValue = function(value) {
46235
46370
  /**
46236
46371
  * @see https://vkcom.github.io/VKUI/#/DateInput
46237
46372
  */ var DateInput = function(_param) {
46238
- var enableTime = _param.enableTime, shouldDisableDate = _param.shouldDisableDate, disableFuture = _param.disableFuture, disablePast = _param.disablePast, minDateTime = _param.minDateTime, maxDateTime = _param.maxDateTime, value = _param.value, onChange = _param.onChange, _param_calendarPlacement = _param.calendarPlacement, calendarPlacement = _param_calendarPlacement === void 0 ? 'bottom-start' : _param_calendarPlacement, style = _param.style, className = _param.className, doneButtonText = _param.doneButtonText, _param_closeOnChange = _param.closeOnChange, closeOnChange = _param_closeOnChange === void 0 ? true : _param_closeOnChange, disablePickers = _param.disablePickers, getRootRef = _param.getRootRef, name = _param.name, autoFocus = _param.autoFocus, disabled = _param.disabled, onClick = _param.onClick, onFocus = _param.onFocus, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, showNeighboringMonth = _param.showNeighboringMonth, size = _param.size, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, _param_changeHoursLabel = _param.changeHoursLabel, changeHoursLabel = _param_changeHoursLabel === void 0 ? 'Изменить час' : _param_changeHoursLabel, _param_changeMinutesLabel = _param.changeMinutesLabel, changeMinutesLabel = _param_changeMinutesLabel === void 0 ? 'Изменить минуту' : _param_changeMinutesLabel, _param_clearFieldLabel = _param.clearFieldLabel, clearFieldLabel = _param_clearFieldLabel === void 0 ? 'Очистить поле' : _param_clearFieldLabel, _param_showCalendarLabel = _param.showCalendarLabel, showCalendarLabel = _param_showCalendarLabel === void 0 ? 'Показать календарь' : _param_showCalendarLabel, viewDate = _param.viewDate, onHeaderChange = _param.onHeaderChange, onNextMonth = _param.onNextMonth, onPrevMonth = _param.onPrevMonth, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, _param_disableCalendar = _param.disableCalendar, disableCalendar = _param_disableCalendar === void 0 ? false : _param_disableCalendar, renderDayContent = _param.renderDayContent, props = DateInput_object_without_properties(_param, [
46373
+ var enableTime = _param.enableTime, shouldDisableDate = _param.shouldDisableDate, disableFuture = _param.disableFuture, disablePast = _param.disablePast, minDateTime = _param.minDateTime, maxDateTime = _param.maxDateTime, value = _param.value, onChange = _param.onChange, _param_calendarPlacement = _param.calendarPlacement, calendarPlacement = _param_calendarPlacement === void 0 ? 'bottom-start' : _param_calendarPlacement, style = _param.style, className = _param.className, doneButtonText = _param.doneButtonText, _param_closeOnChange = _param.closeOnChange, closeOnChange = _param_closeOnChange === void 0 ? true : _param_closeOnChange, disablePickers = _param.disablePickers, getRootRef = _param.getRootRef, name = _param.name, autoFocus = _param.autoFocus, disabled = _param.disabled, onClick = _param.onClick, onFocus = _param.onFocus, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, showNeighboringMonth = _param.showNeighboringMonth, size = _param.size, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, _param_changeHoursLabel = _param.changeHoursLabel, changeHoursLabel = _param_changeHoursLabel === void 0 ? 'Изменить час' : _param_changeHoursLabel, _param_changeMinutesLabel = _param.changeMinutesLabel, changeMinutesLabel = _param_changeMinutesLabel === void 0 ? 'Изменить минуту' : _param_changeMinutesLabel, _param_clearFieldLabel = _param.clearFieldLabel, clearFieldLabel = _param_clearFieldLabel === void 0 ? 'Очистить поле' : _param_clearFieldLabel, _param_showCalendarLabel = _param.showCalendarLabel, showCalendarLabel = _param_showCalendarLabel === void 0 ? 'Показать календарь' : _param_showCalendarLabel, viewDate = _param.viewDate, onHeaderChange = _param.onHeaderChange, onNextMonth = _param.onNextMonth, onPrevMonth = _param.onPrevMonth, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, _param_disableCalendar = _param.disableCalendar, disableCalendar = _param_disableCalendar === void 0 ? false : _param_disableCalendar, renderDayContent = _param.renderDayContent, onCalendarOpenChanged = _param.onCalendarOpenChanged, calendarTestsProps = _param.calendarTestsProps, dayFieldTestId = _param.dayFieldTestId, monthFieldTestId = _param.monthFieldTestId, yearFieldTestId = _param.yearFieldTestId, hourFieldTestId = _param.hourFieldTestId, minuteFieldTestId = _param.minuteFieldTestId, props = DateInput_object_without_properties(_param, [
46239
46374
  "enableTime",
46240
46375
  "shouldDisableDate",
46241
46376
  "disableFuture",
@@ -46274,7 +46409,14 @@ var getInternalValue = function(value) {
46274
46409
  "prevMonthIcon",
46275
46410
  "nextMonthIcon",
46276
46411
  "disableCalendar",
46277
- "renderDayContent"
46412
+ "renderDayContent",
46413
+ "onCalendarOpenChanged",
46414
+ "calendarTestsProps",
46415
+ "dayFieldTestId",
46416
+ "monthFieldTestId",
46417
+ "yearFieldTestId",
46418
+ "hourFieldTestId",
46419
+ "minuteFieldTestId"
46278
46420
  ]);
46279
46421
  var daysRef = React.useRef(null);
46280
46422
  var monthsRef = React.useRef(null);
@@ -46295,7 +46437,8 @@ var getInternalValue = function(value) {
46295
46437
  mask += ' HH:mm';
46296
46438
  }
46297
46439
  if (isMatch(formattedValue, mask)) {
46298
- onChange === null || onChange === void 0 ? void 0 : onChange(parse(formattedValue, mask, value !== null && value !== void 0 ? value : new Date()));
46440
+ var now = new Date();
46441
+ onChange === null || onChange === void 0 ? void 0 : onChange(parse(formattedValue, mask, value !== null && value !== void 0 ? value : enableTime ? startOfMinute(now) : startOfDay(now)));
46299
46442
  }
46300
46443
  }, [
46301
46444
  enableTime,
@@ -46327,7 +46470,8 @@ var getInternalValue = function(value) {
46327
46470
  onChange: onChange,
46328
46471
  onInternalValueChange: onInternalValueChange,
46329
46472
  getInternalValue: getInternalValue,
46330
- value: value
46473
+ value: value,
46474
+ onCalendarOpenChanged: onCalendarOpenChanged
46331
46475
  }), rootRef = _useDateInput.rootRef, calendarRef = _useDateInput.calendarRef, open = _useDateInput.open, openCalendar = _useDateInput.openCalendar, internalValue = _useDateInput.internalValue, handleKeyDown = _useDateInput.handleKeyDown, setFocusedElement = _useDateInput.setFocusedElement, handleFieldEnter = _useDateInput.handleFieldEnter, clear = _useDateInput.clear, removeFocusFromField = _useDateInput.removeFocusFromField;
46332
46476
  var _useAdaptivity = useAdaptivity(), _useAdaptivity_sizeY = _useAdaptivity.sizeY, sizeY = _useAdaptivity_sizeY === void 0 ? 'none' : _useAdaptivity_sizeY;
46333
46477
  var handleRootRef = useExternRef(rootRef, getRootRef);
@@ -46375,21 +46519,24 @@ var getInternalValue = function(value) {
46375
46519
  index: 0,
46376
46520
  onElementSelect: setFocusedElement,
46377
46521
  value: internalValue[0],
46378
- label: changeDayLabel
46522
+ label: changeDayLabel,
46523
+ "data-testid": dayFieldTestId
46379
46524
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, "."), /*#__PURE__*/ React.createElement(InputLike, {
46380
46525
  length: 2,
46381
46526
  getRootRef: monthsRef,
46382
46527
  index: 1,
46383
46528
  onElementSelect: setFocusedElement,
46384
46529
  value: internalValue[1],
46385
- label: changeMonthLabel
46530
+ label: changeMonthLabel,
46531
+ "data-testid": monthFieldTestId
46386
46532
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, "."), /*#__PURE__*/ React.createElement(InputLike, {
46387
46533
  length: 4,
46388
46534
  getRootRef: yearsRef,
46389
46535
  index: 2,
46390
46536
  onElementSelect: setFocusedElement,
46391
46537
  value: internalValue[2],
46392
- label: changeYearLabel
46538
+ label: changeYearLabel,
46539
+ "data-testid": yearFieldTestId
46393
46540
  }), enableTime && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(InputLikeDivider, {
46394
46541
  className: "vkuiDateInput__input--time-divider"
46395
46542
  }, ' '), /*#__PURE__*/ React.createElement(InputLike, {
@@ -46398,20 +46545,22 @@ var getInternalValue = function(value) {
46398
46545
  index: 3,
46399
46546
  onElementSelect: setFocusedElement,
46400
46547
  value: internalValue[3],
46401
- label: changeHoursLabel
46548
+ label: changeHoursLabel,
46549
+ "data-testid": hourFieldTestId
46402
46550
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, ":"), /*#__PURE__*/ React.createElement(InputLike, {
46403
46551
  length: 2,
46404
46552
  getRootRef: minutesRef,
46405
46553
  index: 4,
46406
46554
  onElementSelect: setFocusedElement,
46407
46555
  value: internalValue[4],
46408
- label: changeMinutesLabel
46556
+ label: changeMinutesLabel,
46557
+ "data-testid": minuteFieldTestId
46409
46558
  }))), open && !disableCalendar && /*#__PURE__*/ React.createElement(Popper, {
46410
46559
  targetRef: rootRef,
46411
46560
  offsetByMainAxis: 8,
46412
46561
  placement: calendarPlacement,
46413
46562
  autoUpdateOnTargetResize: true
46414
- }, /*#__PURE__*/ React.createElement(Calendar, {
46563
+ }, /*#__PURE__*/ React.createElement(Calendar, DateInput_object_spread({
46415
46564
  value: value,
46416
46565
  onChange: onCalendarChange,
46417
46566
  enableTime: enableTime,
@@ -46440,7 +46589,7 @@ var getInternalValue = function(value) {
46440
46589
  nextMonthIcon: nextMonthIcon,
46441
46590
  minDateTime: minDateTime,
46442
46591
  maxDateTime: maxDateTime
46443
- })));
46592
+ }, calendarTestsProps))));
46444
46593
  };
46445
46594
 
46446
46595
  ;// CONCATENATED MODULE: ./src/components/DateRangeInput/DateRangeInput.module.css
@@ -46575,7 +46724,7 @@ var DateRangeInput_getInternalValue = function(value) {
46575
46724
  /**
46576
46725
  * @see https://vkcom.github.io/VKUI/#/DateRangeInput
46577
46726
  */ var DateRangeInput = function(_param) {
46578
- var shouldDisableDate = _param.shouldDisableDate, disableFuture = _param.disableFuture, disablePast = _param.disablePast, value = _param.value, onChange = _param.onChange, _param_calendarPlacement = _param.calendarPlacement, calendarPlacement = _param_calendarPlacement === void 0 ? 'bottom-start' : _param_calendarPlacement, style = _param.style, className = _param.className, _param_closeOnChange = _param.closeOnChange, closeOnChange = _param_closeOnChange === void 0 ? true : _param_closeOnChange, disablePickers = _param.disablePickers, getRootRef = _param.getRootRef, name = _param.name, autoFocus = _param.autoFocus, disabled = _param.disabled, onClick = _param.onClick, onFocus = _param.onFocus, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, _param_changeStartDayLabel = _param.changeStartDayLabel, changeStartDayLabel = _param_changeStartDayLabel === void 0 ? 'Изменить день начала' : _param_changeStartDayLabel, _param_changeStartMonthLabel = _param.changeStartMonthLabel, changeStartMonthLabel = _param_changeStartMonthLabel === void 0 ? 'Изменить месяц начала' : _param_changeStartMonthLabel, _param_changeStartYearLabel = _param.changeStartYearLabel, changeStartYearLabel = _param_changeStartYearLabel === void 0 ? 'Изменить год начала' : _param_changeStartYearLabel, _param_changeEndDayLabel = _param.changeEndDayLabel, changeEndDayLabel = _param_changeEndDayLabel === void 0 ? 'Изменить день окончания' : _param_changeEndDayLabel, _param_changeEndMonthLabel = _param.changeEndMonthLabel, changeEndMonthLabel = _param_changeEndMonthLabel === void 0 ? 'Изменить месяц окончания' : _param_changeEndMonthLabel, _param_changeEndYearLabel = _param.changeEndYearLabel, changeEndYearLabel = _param_changeEndYearLabel === void 0 ? 'Изменить год окончания' : _param_changeEndYearLabel, _param_clearFieldLabel = _param.clearFieldLabel, clearFieldLabel = _param_clearFieldLabel === void 0 ? 'Очистить поле' : _param_clearFieldLabel, _param_showCalendarLabel = _param.showCalendarLabel, showCalendarLabel = _param_showCalendarLabel === void 0 ? 'Показать календарь' : _param_showCalendarLabel, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, _param_disableCalendar = _param.disableCalendar, disableCalendar = _param_disableCalendar === void 0 ? false : _param_disableCalendar, renderDayContent = _param.renderDayContent, props = DateRangeInput_object_without_properties(_param, [
46727
+ var shouldDisableDate = _param.shouldDisableDate, disableFuture = _param.disableFuture, disablePast = _param.disablePast, value = _param.value, onChange = _param.onChange, _param_calendarPlacement = _param.calendarPlacement, calendarPlacement = _param_calendarPlacement === void 0 ? 'bottom-start' : _param_calendarPlacement, style = _param.style, className = _param.className, _param_closeOnChange = _param.closeOnChange, closeOnChange = _param_closeOnChange === void 0 ? true : _param_closeOnChange, disablePickers = _param.disablePickers, getRootRef = _param.getRootRef, name = _param.name, autoFocus = _param.autoFocus, disabled = _param.disabled, onClick = _param.onClick, onFocus = _param.onFocus, _param_prevMonthLabel = _param.prevMonthLabel, prevMonthLabel = _param_prevMonthLabel === void 0 ? 'Предыдущий месяц' : _param_prevMonthLabel, _param_nextMonthLabel = _param.nextMonthLabel, nextMonthLabel = _param_nextMonthLabel === void 0 ? 'Следующий месяц' : _param_nextMonthLabel, _param_changeDayLabel = _param.changeDayLabel, changeDayLabel = _param_changeDayLabel === void 0 ? 'Изменить день' : _param_changeDayLabel, _param_changeMonthLabel = _param.changeMonthLabel, changeMonthLabel = _param_changeMonthLabel === void 0 ? 'Изменить месяц' : _param_changeMonthLabel, _param_changeYearLabel = _param.changeYearLabel, changeYearLabel = _param_changeYearLabel === void 0 ? 'Изменить год' : _param_changeYearLabel, _param_changeStartDayLabel = _param.changeStartDayLabel, changeStartDayLabel = _param_changeStartDayLabel === void 0 ? 'Изменить день начала' : _param_changeStartDayLabel, _param_changeStartMonthLabel = _param.changeStartMonthLabel, changeStartMonthLabel = _param_changeStartMonthLabel === void 0 ? 'Изменить месяц начала' : _param_changeStartMonthLabel, _param_changeStartYearLabel = _param.changeStartYearLabel, changeStartYearLabel = _param_changeStartYearLabel === void 0 ? 'Изменить год начала' : _param_changeStartYearLabel, _param_changeEndDayLabel = _param.changeEndDayLabel, changeEndDayLabel = _param_changeEndDayLabel === void 0 ? 'Изменить день окончания' : _param_changeEndDayLabel, _param_changeEndMonthLabel = _param.changeEndMonthLabel, changeEndMonthLabel = _param_changeEndMonthLabel === void 0 ? 'Изменить месяц окончания' : _param_changeEndMonthLabel, _param_changeEndYearLabel = _param.changeEndYearLabel, changeEndYearLabel = _param_changeEndYearLabel === void 0 ? 'Изменить год окончания' : _param_changeEndYearLabel, _param_clearFieldLabel = _param.clearFieldLabel, clearFieldLabel = _param_clearFieldLabel === void 0 ? 'Очистить поле' : _param_clearFieldLabel, _param_showCalendarLabel = _param.showCalendarLabel, showCalendarLabel = _param_showCalendarLabel === void 0 ? 'Показать календарь' : _param_showCalendarLabel, prevMonthIcon = _param.prevMonthIcon, nextMonthIcon = _param.nextMonthIcon, _param_disableCalendar = _param.disableCalendar, disableCalendar = _param_disableCalendar === void 0 ? false : _param_disableCalendar, onCalendarOpenChanged = _param.onCalendarOpenChanged, renderDayContent = _param.renderDayContent, calendarTestsProps = _param.calendarTestsProps, startDateTestsProps = _param.startDateTestsProps, endDateTestsProps = _param.endDateTestsProps, props = DateRangeInput_object_without_properties(_param, [
46579
46728
  "shouldDisableDate",
46580
46729
  "disableFuture",
46581
46730
  "disablePast",
@@ -46608,7 +46757,11 @@ var DateRangeInput_getInternalValue = function(value) {
46608
46757
  "prevMonthIcon",
46609
46758
  "nextMonthIcon",
46610
46759
  "disableCalendar",
46611
- "renderDayContent"
46760
+ "onCalendarOpenChanged",
46761
+ "renderDayContent",
46762
+ "calendarTestsProps",
46763
+ "startDateTestsProps",
46764
+ "endDateTestsProps"
46612
46765
  ]);
46613
46766
  var daysStartRef = React.useRef(null);
46614
46767
  var monthsStartRef = React.useRef(null);
@@ -46681,7 +46834,8 @@ var DateRangeInput_getInternalValue = function(value) {
46681
46834
  onChange: onChange,
46682
46835
  onInternalValueChange: onInternalValueChange,
46683
46836
  getInternalValue: DateRangeInput_getInternalValue,
46684
- value: value
46837
+ value: value,
46838
+ onCalendarOpenChanged: onCalendarOpenChanged
46685
46839
  }), rootRef = _useDateInput.rootRef, calendarRef = _useDateInput.calendarRef, open = _useDateInput.open, openCalendar = _useDateInput.openCalendar, closeCalendar = _useDateInput.closeCalendar, internalValue = _useDateInput.internalValue, handleKeyDown = _useDateInput.handleKeyDown, setFocusedElement = _useDateInput.setFocusedElement, handleFieldEnter = _useDateInput.handleFieldEnter, clear = _useDateInput.clear, removeFocusFromField = _useDateInput.removeFocusFromField;
46686
46840
  var _useAdaptivity = useAdaptivity(), _useAdaptivity_sizeY = _useAdaptivity.sizeY, sizeY = _useAdaptivity_sizeY === void 0 ? 'none' : _useAdaptivity_sizeY;
46687
46841
  var handleRootRef = useExternRef(rootRef, getRootRef);
@@ -46723,47 +46877,53 @@ var DateRangeInput_getInternalValue = function(value) {
46723
46877
  index: 0,
46724
46878
  onElementSelect: setFocusedElement,
46725
46879
  value: internalValue[0],
46726
- label: changeStartDayLabel
46880
+ label: changeStartDayLabel,
46881
+ "data-testid": startDateTestsProps === null || startDateTestsProps === void 0 ? void 0 : startDateTestsProps.day
46727
46882
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, "."), /*#__PURE__*/ React.createElement(InputLike, {
46728
46883
  length: 2,
46729
46884
  getRootRef: monthsStartRef,
46730
46885
  index: 1,
46731
46886
  onElementSelect: setFocusedElement,
46732
46887
  value: internalValue[1],
46733
- label: changeStartMonthLabel
46888
+ label: changeStartMonthLabel,
46889
+ "data-testid": startDateTestsProps === null || startDateTestsProps === void 0 ? void 0 : startDateTestsProps.month
46734
46890
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, "."), /*#__PURE__*/ React.createElement(InputLike, {
46735
46891
  length: 4,
46736
46892
  getRootRef: yearsStartRef,
46737
46893
  index: 2,
46738
46894
  onElementSelect: setFocusedElement,
46739
46895
  value: internalValue[2],
46740
- label: changeStartYearLabel
46896
+ label: changeStartYearLabel,
46897
+ "data-testid": startDateTestsProps === null || startDateTestsProps === void 0 ? void 0 : startDateTestsProps.year
46741
46898
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, ' — '), /*#__PURE__*/ React.createElement(InputLike, {
46742
46899
  length: 2,
46743
46900
  getRootRef: daysEndRef,
46744
46901
  index: 3,
46745
46902
  onElementSelect: setFocusedElement,
46746
46903
  value: internalValue[3],
46747
- label: changeEndDayLabel
46904
+ label: changeEndDayLabel,
46905
+ "data-testid": endDateTestsProps === null || endDateTestsProps === void 0 ? void 0 : endDateTestsProps.day
46748
46906
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, "."), /*#__PURE__*/ React.createElement(InputLike, {
46749
46907
  length: 2,
46750
46908
  getRootRef: monthsEndRef,
46751
46909
  index: 4,
46752
46910
  onElementSelect: setFocusedElement,
46753
46911
  value: internalValue[4],
46754
- label: changeEndMonthLabel
46912
+ label: changeEndMonthLabel,
46913
+ "data-testid": endDateTestsProps === null || endDateTestsProps === void 0 ? void 0 : endDateTestsProps.month
46755
46914
  }), /*#__PURE__*/ React.createElement(InputLikeDivider, null, "."), /*#__PURE__*/ React.createElement(InputLike, {
46756
46915
  length: 4,
46757
46916
  getRootRef: yearsEndRef,
46758
46917
  index: 5,
46759
46918
  onElementSelect: setFocusedElement,
46760
46919
  value: internalValue[5],
46761
- label: changeEndYearLabel
46920
+ label: changeEndYearLabel,
46921
+ "data-testid": endDateTestsProps === null || endDateTestsProps === void 0 ? void 0 : endDateTestsProps.year
46762
46922
  })), open && !disableCalendar && /*#__PURE__*/ React.createElement(Popper, {
46763
46923
  targetRef: rootRef,
46764
46924
  offsetByMainAxis: 8,
46765
46925
  placement: calendarPlacement
46766
- }, /*#__PURE__*/ React.createElement(CalendarRange, {
46926
+ }, /*#__PURE__*/ React.createElement(CalendarRange, DateRangeInput_object_spread({
46767
46927
  value: value,
46768
46928
  onChange: onCalendarChange,
46769
46929
  disablePast: disablePast,
@@ -46780,7 +46940,7 @@ var DateRangeInput_getInternalValue = function(value) {
46780
46940
  prevMonthIcon: prevMonthIcon,
46781
46941
  nextMonthIcon: nextMonthIcon,
46782
46942
  renderDayContent: renderDayContent
46783
- })));
46943
+ }, calendarTestsProps))));
46784
46944
  };
46785
46945
 
46786
46946
  ;// CONCATENATED MODULE: ./src/components/Skeleton/Skeleton.module.css
@@ -47890,7 +48050,9 @@ function Popover_unsupported_iterable_to_array(o, minLen) {
47890
48050
  mount: !hidden,
47891
48051
  disabled: hidden,
47892
48052
  autoFocus: disableInteractive ? false : autoFocus,
47893
- restoreFocus: restoreFocus ? onRestoreFocus : false,
48053
+ restoreFocus: restoreFocus ? function() {
48054
+ return onRestoreFocus(restoreFocus);
48055
+ } : false,
47894
48056
  onClose: onEscapeKeyDown
47895
48057
  }), arrow, typeof content === 'function' ? content({
47896
48058
  onClose: onClose