@vkontakte/vkui 7.9.2 → 7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +1 -0
  2. package/dist/components/Button/Button.js +6 -4
  3. package/dist/components/Button/Button.js.map +1 -1
  4. package/dist/components/CarouselBase/CarouselBase.d.ts +1 -1
  5. package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
  6. package/dist/components/CarouselBase/CarouselBase.js +14 -6
  7. package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
  8. package/dist/components/CarouselBase/ScrollArrows.d.ts +1 -2
  9. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  10. package/dist/components/CarouselBase/ScrollArrows.js +2 -2
  11. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  12. package/dist/components/Clickable/useState.d.ts +15 -0
  13. package/dist/components/Clickable/useState.d.ts.map +1 -1
  14. package/dist/components/Clickable/useState.js +1 -1
  15. package/dist/components/Clickable/useState.js.map +1 -1
  16. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  17. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  18. package/dist/components/Footer/Footer.d.ts.map +1 -1
  19. package/dist/components/Footer/Footer.js +2 -1
  20. package/dist/components/Footer/Footer.js.map +1 -1
  21. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  22. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  23. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -10
  24. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  25. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +6 -2
  26. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  27. package/dist/components/SubnavigationBar/SubnavigationBar.js +6 -3
  28. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  29. package/dist/components/Typography/Typography.d.ts +5 -1
  30. package/dist/components/Typography/Typography.d.ts.map +1 -1
  31. package/dist/components/Typography/Typography.js +9 -3
  32. package/dist/components/Typography/Typography.js.map +1 -1
  33. package/dist/components.css +1 -1
  34. package/dist/components.css.map +1 -1
  35. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +4 -4
  36. package/dist/cssm/components/Alert/Alert.module.css +4 -4
  37. package/dist/cssm/components/Button/Button.js +3 -1
  38. package/dist/cssm/components/Button/Button.js.map +1 -1
  39. package/dist/cssm/components/CarouselBase/CarouselBase.js +10 -5
  40. package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
  41. package/dist/cssm/components/CarouselBase/CarouselBase.module.css +1 -1
  42. package/dist/cssm/components/CarouselBase/ScrollArrows.js +2 -2
  43. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  44. package/dist/cssm/components/CellButton/CellButton.module.css +4 -2
  45. package/dist/cssm/components/Clickable/useState.js +1 -1
  46. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  47. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  48. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  49. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +2 -2
  50. package/dist/cssm/components/DateInput/DateInput.module.css +3 -2
  51. package/dist/cssm/components/Epic/Epic.module.css +2 -1
  52. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +6 -3
  53. package/dist/cssm/components/Flex/Flex.module.css +12 -4
  54. package/dist/cssm/components/Footer/Footer.js +1 -0
  55. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  56. package/dist/cssm/components/Footer/Footer.module.css +0 -1
  57. package/dist/cssm/components/FormField/FormField.module.css +10 -6
  58. package/dist/cssm/components/FormItem/FormItem.module.css +24 -12
  59. package/dist/cssm/components/GridAvatar/GridAvatar.module.css +1 -1
  60. package/dist/cssm/components/Group/Group.module.css +5 -2
  61. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +4 -2
  62. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +14 -8
  63. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  64. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +3 -3
  65. package/dist/cssm/components/IconButton/IconButton.module.css +6 -2
  66. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +4 -2
  67. package/dist/cssm/components/ModalCard/ModalCard.module.css +2 -1
  68. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +14 -10
  69. package/dist/cssm/components/ModalPage/ModalPage.module.css +2 -1
  70. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +5 -3
  71. package/dist/cssm/components/Panel/Panel.module.css +4 -2
  72. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
  73. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +2 -2
  74. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +2 -2
  75. package/dist/cssm/components/Removable/Removable.module.css +9 -4
  76. package/dist/cssm/components/Root/Root.module.css +8 -8
  77. package/dist/cssm/components/Search/Search.module.css +2 -3
  78. package/dist/cssm/components/Snackbar/Snackbar.module.css +4 -2
  79. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +15 -15
  80. package/dist/cssm/components/SplitLayout/SplitLayout.module.css +8 -4
  81. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +4 -3
  82. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  83. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +9 -0
  84. package/dist/cssm/components/Switch/Switch.module.css +32 -20
  85. package/dist/cssm/components/Typography/Typography.js +7 -2
  86. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  87. package/dist/cssm/components/Typography/Typography.module.css +12 -0
  88. package/dist/cssm/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js +1 -1
  89. package/dist/cssm/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js.map +1 -1
  90. package/dist/cssm/hooks/useKeyboardInputTracker.js +4 -4
  91. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  92. package/dist/cssm/index.js +1 -0
  93. package/dist/cssm/index.js.map +1 -1
  94. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  95. package/dist/cssm/lib/animation/useReducedMotion.js +7 -2
  96. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  97. package/dist/cssm/lib/dom.js +2 -2
  98. package/dist/cssm/lib/dom.js.map +1 -1
  99. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  100. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js +1 -1
  101. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js.map +1 -1
  102. package/dist/cssm/styles/constants.css +2 -1
  103. package/dist/cssm/styles/customMedias.generated.css +21 -21
  104. package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.d.ts.map +1 -1
  105. package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js +1 -1
  106. package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js.map +1 -1
  107. package/dist/hooks/useKeyboardInputTracker.d.ts.map +1 -1
  108. package/dist/hooks/useKeyboardInputTracker.js +4 -4
  109. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  110. package/dist/index.d.ts +1 -0
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +1 -0
  113. package/dist/index.js.map +1 -1
  114. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  115. package/dist/lib/adaptivity/functions.js.map +1 -1
  116. package/dist/lib/animation/useReducedMotion.d.ts +6 -0
  117. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  118. package/dist/lib/animation/useReducedMotion.js +7 -2
  119. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  120. package/dist/lib/dom.d.ts.map +1 -1
  121. package/dist/lib/dom.js +2 -2
  122. package/dist/lib/dom.js.map +1 -1
  123. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +1 -1
  124. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  125. package/dist/lib/sheet/controllers/BottomSheetController.js +1 -1
  126. package/dist/lib/sheet/controllers/BottomSheetController.js.map +1 -1
  127. package/dist/vkui.css +1 -1
  128. package/dist/vkui.css.map +1 -1
  129. package/package.json +2 -1
  130. package/src/components/ActionSheet/ActionSheet.module.css +4 -4
  131. package/src/components/Alert/Alert.module.css +4 -4
  132. package/src/components/Button/Button.tsx +1 -1
  133. package/src/components/CarouselBase/CarouselBase.module.css +1 -1
  134. package/src/components/CarouselBase/CarouselBase.module.css.d.ts.map +1 -1
  135. package/src/components/CarouselBase/CarouselBase.tsx +10 -4
  136. package/src/components/CarouselBase/ScrollArrows.tsx +1 -3
  137. package/src/components/CellButton/CellButton.module.css +2 -1
  138. package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -1
  139. package/src/components/Clickable/useState.tsx +8 -3
  140. package/src/components/CustomSelect/CustomSelect.tsx +1 -1
  141. package/src/components/CustomSelectOption/CustomSelectOption.module.css +1 -1
  142. package/src/components/DateInput/DateInput.module.css +3 -2
  143. package/src/components/DateInput/DateInput.module.css.d.ts.map +1 -1
  144. package/src/components/Epic/Epic.module.css +2 -1
  145. package/src/components/FixedLayout/FixedLayout.module.css +4 -2
  146. package/src/components/FixedLayout/FixedLayout.module.css.d.ts.map +1 -1
  147. package/src/components/Flex/Flex.module.css +6 -2
  148. package/src/components/Flex/Flex.module.css.d.ts.map +1 -1
  149. package/src/components/Footer/Footer.module.css +0 -1
  150. package/src/components/Footer/Footer.tsx +1 -0
  151. package/src/components/FormField/FormField.module.css +10 -6
  152. package/src/components/FormField/FormField.module.css.d.ts.map +1 -1
  153. package/src/components/FormItem/FormItem.module.css +12 -6
  154. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  155. package/src/components/GridAvatar/GridAvatar.module.css +1 -1
  156. package/src/components/GridAvatar/GridAvatar.module.css.d.ts.map +1 -1
  157. package/src/components/Group/Group.module.css +5 -2
  158. package/src/components/Group/Group.module.css.d.ts.map +1 -1
  159. package/src/components/HorizontalCell/HorizontalCell.module.css +4 -2
  160. package/src/components/HorizontalCell/HorizontalCell.module.css.d.ts.map +1 -1
  161. package/src/components/HorizontalScroll/HorizontalScroll.module.css +3 -3
  162. package/src/components/HorizontalScroll/HorizontalScroll.module.css.d.ts.map +1 -1
  163. package/src/components/HorizontalScroll/HorizontalScroll.tsx +15 -7
  164. package/src/components/IconButton/IconButton.module.css +6 -2
  165. package/src/components/IconButton/IconButton.module.css.d.ts.map +1 -1
  166. package/src/components/MiniInfoCell/MiniInfoCell.module.css +4 -2
  167. package/src/components/MiniInfoCell/MiniInfoCell.module.css.d.ts.map +1 -1
  168. package/src/components/ModalCard/ModalCard.module.css +2 -1
  169. package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -1
  170. package/src/components/ModalCardBase/ModalCardBase.module.css +7 -5
  171. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  172. package/src/components/ModalPage/ModalPage.module.css +2 -1
  173. package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
  174. package/src/components/ModalPageHeader/ModalPageHeader.module.css +5 -2
  175. package/src/components/ModalPageHeader/ModalPageHeader.module.css.d.ts.map +1 -1
  176. package/src/components/Panel/Panel.module.css +2 -1
  177. package/src/components/Panel/Panel.module.css.d.ts.map +1 -1
  178. package/src/components/PanelHeader/PanelHeader.module.css +1 -1
  179. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  180. package/src/components/PanelHeaderButton/PanelHeaderButton.module.css +2 -2
  181. package/src/components/PopoutWrapper/PopoutWrapper.module.css +2 -2
  182. package/src/components/Removable/Removable.module.css +9 -4
  183. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  184. package/src/components/Root/Root.module.css +8 -8
  185. package/src/components/Search/Search.module.css +2 -2
  186. package/src/components/Snackbar/Snackbar.module.css +4 -2
  187. package/src/components/Snackbar/Snackbar.module.css.d.ts.map +1 -1
  188. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +15 -15
  189. package/src/components/SplitLayout/SplitLayout.module.css +4 -2
  190. package/src/components/SplitLayout/SplitLayout.module.css.d.ts.map +1 -1
  191. package/src/components/SubnavigationBar/SubnavigationBar.module.css +9 -0
  192. package/src/components/SubnavigationBar/SubnavigationBar.module.css.d.ts.map +1 -1
  193. package/src/components/SubnavigationBar/SubnavigationBar.tsx +14 -3
  194. package/src/components/Switch/Switch.module.css +32 -20
  195. package/src/components/Switch/Switch.module.css.d.ts.map +1 -1
  196. package/src/components/Typography/Typography.module.css +12 -0
  197. package/src/components/Typography/Typography.module.css.d.ts.map +1 -1
  198. package/src/components/Typography/Typography.tsx +12 -0
  199. package/src/hooks/useDraggableWithDomApi/useDraggableWithDomApi.ts +7 -1
  200. package/src/hooks/useKeyboardInputTracker.ts +20 -4
  201. package/src/index.ts +1 -0
  202. package/src/lib/adaptivity/functions.ts +36 -6
  203. package/src/lib/animation/useReducedMotion.ts +7 -1
  204. package/src/lib/dom.tsx +11 -2
  205. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +1 -1
  206. package/src/lib/sheet/controllers/BottomSheetController.ts +1 -1
  207. package/src/styles/constants.css +2 -1
  208. package/src/styles/customMedias.generated.css +21 -21
  209. package/dist/cssm/hooks/useAdaptivityHasPointer.js +0 -15
  210. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +0 -1
  211. package/dist/hooks/useAdaptivityHasPointer.d.ts +0 -9
  212. package/dist/hooks/useAdaptivityHasPointer.d.ts.map +0 -1
  213. package/dist/hooks/useAdaptivityHasPointer.js +0 -15
  214. package/dist/hooks/useAdaptivityHasPointer.js.map +0 -1
  215. package/src/hooks/useAdaptivityHasPointer.ts +0 -25
@@ -5,12 +5,17 @@
5
5
  --vkui_internal--Switch__handle_shift_x_direction: 1;
6
6
  --vkui_internal--Switch__handle_shift_x: calc(
7
7
  var(--vkui_internal--Switch__handle_shift_x_direction) *
8
- var(--vkui_internal--Switch__track_outline_width)
8
+ var(--vkui_internal--Switch__track_outline_width)
9
+ );
10
+ --vkui_internal--Switch__handle_shift_y: calc(
11
+ var(--vkui_internal--Switch__track_height) -
12
+ var(--vkui_internal--Switch__handle_height) -
13
+ var(--vkui_internal--Switch__track_outline_width)
14
+ );
15
+ --vkui_internal--Switch__handle_scale: calc(
16
+ var(--vkui_internal--Switch__handle_widthNoUnit--not-checked) /
17
+ var(--vkui_internal--Switch__handle_heightNoUnit)
9
18
  );
10
- /* prettier-ignore */
11
- --vkui_internal--Switch__handle_shift_y: calc(var(--vkui_internal--Switch__track_height) - var(--vkui_internal--Switch__handle_height) - var(--vkui_internal--Switch__track_outline_width));
12
- /* prettier-ignore */
13
- --vkui_internal--Switch__handle_scale: calc(var(--vkui_internal--Switch__handle_widthNoUnit--not-checked) / var(--vkui_internal--Switch__handle_heightNoUnit));
14
19
 
15
20
  position: relative;
16
21
  display: block;
@@ -101,11 +106,8 @@
101
106
  --vkui_internal--Switch__handle_scale_duration: 200ms;
102
107
  --vkui_internal--Switch__handle_shift_x_duration: 200ms;
103
108
  --vkui_internal--Switch__handle_shift_x_easing: cubic-bezier(0.36, -0.24, 0.26, 1.32);
104
- /* prettier-ignore */
105
109
  --vkui_internal--Switch__handle_shadow:
106
- 0 3px 8px rgb(0, 0, 0, 0.15),
107
- 0 3px 1px rgb(0, 0, 0, 0.06),
108
- inset 0 0 0 0.5px rgb(0, 0, 0, 0.04);
110
+ 0 3px 8px rgb(0, 0, 0, 0.15), 0 3px 1px rgb(0, 0, 0, 0.06), inset 0 0 0 0.5px rgb(0, 0, 0, 0.04);
109
111
  }
110
112
 
111
113
  .ios.sizeYCompact {
@@ -145,10 +147,18 @@
145
147
  --vkui_internal--Switch__track_color: var(--vkui--color_background_accent);
146
148
 
147
149
  /* Switch__handle */
148
- /* prettier-ignore */
149
- --vkui_internal--Switch__handle_shift_x: calc(var(--vkui_internal--Switch__handle_shift_x_direction) * calc(var(--vkui_internal--Switch__track_width) - var(--vkui_internal--Switch__handle_width) - var(--vkui_internal--Switch__track_outline_width)));
150
- /* prettier-ignore */
151
- --vkui_internal--Switch__handle_scale: calc(var(--vkui_internal--Switch__handle_widthNoUnit--checked) / var(--vkui_internal--Switch__handle_heightNoUnit));
150
+ --vkui_internal--Switch__handle_shift_x: calc(
151
+ var(--vkui_internal--Switch__handle_shift_x_direction) *
152
+ calc(
153
+ var(--vkui_internal--Switch__track_width) -
154
+ var(--vkui_internal--Switch__handle_width) -
155
+ var(--vkui_internal--Switch__track_outline_width)
156
+ )
157
+ );
158
+ --vkui_internal--Switch__handle_scale: calc(
159
+ var(--vkui_internal--Switch__handle_widthNoUnit--checked) /
160
+ var(--vkui_internal--Switch__handle_heightNoUnit)
161
+ );
152
162
  --vkui_internal--Switch__track_shadow_visibility: 0;
153
163
  --vkui_internal--Switch__handle_color: var(--vkui--color_icon_contrast);
154
164
  }
@@ -187,10 +197,12 @@
187
197
  inline-size: var(--vkui_internal--Switch__handle_width);
188
198
  block-size: var(--vkui_internal--Switch__handle_height);
189
199
  border-radius: 9999px;
190
- /* prettier-ignore */
191
- transform: translate(var(--vkui_internal--Switch__handle_shift_x), var(--vkui_internal--Switch__handle_shift_y));
192
- /* prettier-ignore */
193
- transition: transform var(--vkui_internal--Switch__handle_shift_x_duration) var(--vkui_internal--Switch__handle_shift_x_easing);
200
+ transform: translate(
201
+ var(--vkui_internal--Switch__handle_shift_x),
202
+ var(--vkui_internal--Switch__handle_shift_y)
203
+ );
204
+ transition: transform var(--vkui_internal--Switch__handle_shift_x_duration)
205
+ var(--vkui_internal--Switch__handle_shift_x_easing);
194
206
  }
195
207
 
196
208
  .handle::after {
@@ -202,8 +214,9 @@
202
214
  box-shadow: var(--vkui_internal--Switch__handle_shadow);
203
215
  transform: scale(var(--vkui_internal--Switch__handle_scale));
204
216
  transition-timing-function: var(--vkui_internal--Switch__handle_shift_x_easing), linear;
205
- /* prettier-ignore */
206
- transition-duration: var(--vkui_internal--Switch__handle_scale_duration), var(--vkui_internal--Switch__handle_color_duration);
217
+ transition-duration:
218
+ var(--vkui_internal--Switch__handle_scale_duration),
219
+ var(--vkui_internal--Switch__handle_color_duration);
207
220
  transition-property: transform, background-color;
208
221
  }
209
222
 
@@ -224,7 +237,6 @@
224
237
  opacity: var(--vkui_internal--Switch__handleRipple_opacity);
225
238
  transform: translate(calc(-50% * var(--vkui_internal--Switch__handle_shift_x_direction)), -50%);
226
239
  transition-timing-function: linear;
227
- /* prettier-ignore */
228
240
  transition-duration:
229
241
  var(--vkui_internal--Switch__handleRipple_opacity_duration),
230
242
  var(--vkui_internal--Switch__handleRipple_color_duration);
@@ -8,15 +8,20 @@ const stylesWeight = {
8
8
  '2': styles.weight2,
9
9
  '3': styles.weight3
10
10
  };
11
+ const stylesAlign = {
12
+ start: styles.alignStart,
13
+ center: styles.alignCenter,
14
+ end: styles.alignEnd
15
+ };
11
16
  export function weightClassNames(weight, useAccentWeight = false) {
12
17
  if (!weight) {
13
18
  return '';
14
19
  }
15
20
  return classNames(stylesWeight[weight], useAccentWeight && styles.accent);
16
21
  }
17
- export const Typography = ({ weight, useAccentWeight, Component = 'span', normalize, inline, ...restProps })=>/*#__PURE__*/ _jsx(RootComponent, {
22
+ export const Typography = ({ weight, useAccentWeight, Component = 'span', normalize, inline, align, ...restProps })=>/*#__PURE__*/ _jsx(RootComponent, {
18
23
  Component: Component,
19
- baseClassName: classNames(styles.host, normalize && styles.normalize, inline && styles.inline, weightClassNames(weight, useAccentWeight)),
24
+ baseClassName: classNames(styles.host, normalize && styles.normalize, inline && styles.inline, weightClassNames(weight, useAccentWeight), align && stylesAlign[align]),
20
25
  ...restProps
21
26
  });
22
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Typography.module.css';\n\nconst stylesWeight = {\n '1': styles.weight1,\n '2': styles.weight2,\n '3': styles.weight3,\n};\n\nexport function weightClassNames(weight: '1' | '2' | '3' | undefined, useAccentWeight = false) {\n if (!weight) {\n return '';\n }\n\n return classNames(stylesWeight[weight], useAccentWeight && styles.accent);\n}\n\nexport interface HasCaps {\n /**\n * Отображение текста в верхнем регистре.\n */\n caps?: boolean;\n}\n\nexport interface TypographyProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent,\n HasRootRef<HTMLElement> {\n /**\n * Задаёт начертание шрифта, отличное от стандартного.\n */\n weight?: '1' | '2' | '3';\n /**\n * Включает акцентный тип начертания шрифта.\n * Используются токены fontWeightAccent[1, 2, 3]\n * Используется только вместе с `weight`.\n */\n useAccentWeight?: boolean;\n /**\n * Убирает внешние отступы.\n */\n normalize?: boolean;\n /**\n * Делает блок инлайновым.\n */\n inline?: boolean;\n}\n\nexport const Typography = ({\n weight,\n useAccentWeight,\n Component = 'span',\n normalize,\n inline,\n ...restProps\n}: TypographyProps): React.ReactNode => (\n <RootComponent\n Component={Component}\n baseClassName={classNames(\n styles.host,\n normalize && styles.normalize,\n inline && styles.inline,\n weightClassNames(weight, useAccentWeight),\n )}\n {...restProps}\n />\n);\n"],"names":["React","classNames","RootComponent","styles","stylesWeight","weight1","weight2","weight3","weightClassNames","weight","useAccentWeight","accent","Typography","Component","normalize","inline","restProps","baseClassName","host"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,0BAA0B;AAE7C,MAAMC,eAAe;IACnB,KAAKD,OAAOE,OAAO;IACnB,KAAKF,OAAOG,OAAO;IACnB,KAAKH,OAAOI,OAAO;AACrB;AAEA,OAAO,SAASC,iBAAiBC,MAAmC,EAAEC,kBAAkB,KAAK;IAC3F,IAAI,CAACD,QAAQ;QACX,OAAO;IACT;IAEA,OAAOR,WAAWG,YAAY,CAACK,OAAO,EAAEC,mBAAmBP,OAAOQ,MAAM;AAC1E;AAiCA,OAAO,MAAMC,aAAa,CAAC,EACzBH,MAAM,EACNC,eAAe,EACfG,YAAY,MAAM,EAClBC,SAAS,EACTC,MAAM,EACN,GAAGC,WACa,iBAChB,KAACd;QACCW,WAAWA;QACXI,eAAehB,WACbE,OAAOe,IAAI,EACXJ,aAAaX,OAAOW,SAAS,EAC7BC,UAAUZ,OAAOY,MAAM,EACvBP,iBAAiBC,QAAQC;QAE1B,GAAGM,SAAS;OAEf"}
1
+ {"version":3,"sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Typography.module.css';\n\nconst stylesWeight = {\n '1': styles.weight1,\n '2': styles.weight2,\n '3': styles.weight3,\n};\n\nconst stylesAlign = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n};\n\nexport function weightClassNames(weight: '1' | '2' | '3' | undefined, useAccentWeight = false) {\n if (!weight) {\n return '';\n }\n\n return classNames(stylesWeight[weight], useAccentWeight && styles.accent);\n}\n\nexport interface HasCaps {\n /**\n * Отображение текста в верхнем регистре.\n */\n caps?: boolean;\n}\n\nexport interface TypographyProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent,\n HasRootRef<HTMLElement> {\n /**\n * Задаёт начертание шрифта, отличное от стандартного.\n */\n weight?: '1' | '2' | '3';\n /**\n * Включает акцентный тип начертания шрифта.\n * Используются токены fontWeightAccent[1, 2, 3]\n * Используется только вместе с `weight`.\n */\n useAccentWeight?: boolean;\n /**\n * Убирает внешние отступы.\n */\n normalize?: boolean;\n /**\n * Делает блок инлайновым.\n */\n inline?: boolean;\n /**\n * Выравнивание текста. Не имеет эффекта при inline={true}.\n */\n align?: 'start' | 'center' | 'end';\n}\n\nexport const Typography = ({\n weight,\n useAccentWeight,\n Component = 'span',\n normalize,\n inline,\n align,\n ...restProps\n}: TypographyProps): React.ReactNode => (\n <RootComponent\n Component={Component}\n baseClassName={classNames(\n styles.host,\n normalize && styles.normalize,\n inline && styles.inline,\n weightClassNames(weight, useAccentWeight),\n align && stylesAlign[align],\n )}\n {...restProps}\n />\n);\n"],"names":["React","classNames","RootComponent","styles","stylesWeight","weight1","weight2","weight3","stylesAlign","start","alignStart","center","alignCenter","end","alignEnd","weightClassNames","weight","useAccentWeight","accent","Typography","Component","normalize","inline","align","restProps","baseClassName","host"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,0BAA0B;AAE7C,MAAMC,eAAe;IACnB,KAAKD,OAAOE,OAAO;IACnB,KAAKF,OAAOG,OAAO;IACnB,KAAKH,OAAOI,OAAO;AACrB;AAEA,MAAMC,cAAc;IAClBC,OAAON,OAAOO,UAAU;IACxBC,QAAQR,OAAOS,WAAW;IAC1BC,KAAKV,OAAOW,QAAQ;AACtB;AAEA,OAAO,SAASC,iBAAiBC,MAAmC,EAAEC,kBAAkB,KAAK;IAC3F,IAAI,CAACD,QAAQ;QACX,OAAO;IACT;IAEA,OAAOf,WAAWG,YAAY,CAACY,OAAO,EAAEC,mBAAmBd,OAAOe,MAAM;AAC1E;AAqCA,OAAO,MAAMC,aAAa,CAAC,EACzBH,MAAM,EACNC,eAAe,EACfG,YAAY,MAAM,EAClBC,SAAS,EACTC,MAAM,EACNC,KAAK,EACL,GAAGC,WACa,iBAChB,KAACtB;QACCkB,WAAWA;QACXK,eAAexB,WACbE,OAAOuB,IAAI,EACXL,aAAalB,OAAOkB,SAAS,EAC7BC,UAAUnB,OAAOmB,MAAM,EACvBP,iBAAiBC,QAAQC,kBACzBM,SAASf,WAAW,CAACe,MAAM;QAE5B,GAAGC,SAAS;OAEf"}
@@ -45,3 +45,15 @@
45
45
  .accent.host b {
46
46
  font-weight: var(--vkui--font_weight_accent1);
47
47
  }
48
+
49
+ .alignStart {
50
+ text-align: start;
51
+ }
52
+
53
+ .alignCenter {
54
+ text-align: center;
55
+ }
56
+
57
+ .alignEnd {
58
+ text-align: end;
59
+ }
@@ -68,7 +68,7 @@ export const useDraggableWithDomApi = ({ elRef: draggingElRef, onDragFinish })=>
68
68
  el,
69
69
  shifted: itemStartIndexRef.current !== ITEM_INITIAL_INDEX && itemStartIndexRef.current < index,
70
70
  draggingElRect
71
- }); // prettier-ignore
71
+ });
72
72
  }
73
73
  });
74
74
  if (placeholderItemRef.current) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useDraggableWithDomApi/useDraggableWithDomApi.ts"],"sourcesContent":["import * as React from 'react';\nimport type { CustomTouchEvent } from '../../components/Touch/Touch';\nimport { getBoundingClientRect, getNearestOverflowAncestor, getNodeScroll } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { createAutoScrollController, getAutoScrollingData } from './autoScroll';\nimport {\n AUTO_SCROLL_START_DELAY,\n DATA_DRAGGABLE_PLACEHOLDER_KEY,\n ITEM_INITIAL_INDEX,\n} from './constants';\nimport type {\n Direction,\n DraggingItem,\n PlaceholderItem,\n SiblingItem,\n UseDraggable,\n UseDraggableProps,\n} from './types';\nimport {\n getTargetIsOverOrUnderElData,\n setDraggingItemShiftStyles,\n setInitialDraggingItemStyles,\n setInitialPlaceholderItemStyles,\n setInitialSiblingItemStyles,\n setSiblingItemsShiftStyles,\n unsetInitialDraggingItemStyles,\n unsetInitialPlaceholderItemStyles,\n unsetInitialSiblingItemStyles,\n} from './utils';\n\nexport const useDraggableWithDomApi = <T extends HTMLElement>({\n elRef: draggingElRef,\n onDragFinish,\n}: UseDraggableProps<T>): UseDraggable => {\n const [dragging, setDragging] = React.useState(false);\n const lastClientYRef = React.useRef(0);\n const lastDragShiftYRef = React.useRef(0);\n\n const scrollElRef = React.useRef<Element | Window | null>(null);\n const lastScrollTopRef = React.useRef<number>(0);\n const scrollControllerRef = React.useRef<ReturnType<typeof createAutoScrollController> | null>(\n null,\n );\n const initializeScrollRefs = (draggableEl: HTMLElement) => {\n const node = getNearestOverflowAncestor(draggableEl);\n if (node) {\n scrollElRef.current = node;\n lastScrollTopRef.current = getNodeScroll(node).scrollTop;\n scrollControllerRef.current = createAutoScrollController(scrollElRef.current);\n }\n };\n const cleanupScrollRefs = () => {\n lastScrollTopRef.current = 0;\n scrollControllerRef.current?.stop();\n scrollElRef.current = scrollControllerRef.current = null;\n };\n\n const lastDragDirectionRef = React.useRef<Direction | undefined>(undefined);\n const toggleDragDirection = (prevShiftY: number, nextShiftY: number) => {\n const shiftYDiff = prevShiftY - nextShiftY;\n if (shiftYDiff < 0) {\n return 'down';\n }\n if (shiftYDiff > 0) {\n return 'up';\n }\n return lastDragDirectionRef.current;\n };\n\n const itemStartIndexRef = React.useRef<number>(ITEM_INITIAL_INDEX);\n const itemEndIndexRef = React.useRef<number>(ITEM_INITIAL_INDEX);\n const draggingItemRef = React.useRef<DraggingItem | null>(null);\n const placeholderItemRef = React.useRef<PlaceholderItem | null>(null);\n const siblingItemsRef = React.useRef<SiblingItem[]>([]);\n const itemsGapRef = React.useRef<number>(0);\n const initializeItems = (draggingEl: HTMLElement) => {\n const draggingElRect = getBoundingClientRect(draggingEl, true);\n const parentElement = draggingEl.parentElement;\n itemsGapRef.current = parentElement ? parseInt(parentElement.style.gridGap) : 0;\n\n const { children } = parentElement || { children: [] };\n Array.prototype.forEach.call(children, (el: HTMLElement, index) => {\n if (el === draggingEl) {\n itemStartIndexRef.current = itemEndIndexRef.current = index;\n draggingItemRef.current = { index, el, draggingElRect };\n } else if (el.getAttribute(DATA_DRAGGABLE_PLACEHOLDER_KEY) !== null) {\n placeholderItemRef.current = { index, el, draggingElRect };\n } else {\n siblingItemsRef.current.push({ index, el, shifted: itemStartIndexRef.current !== ITEM_INITIAL_INDEX && itemStartIndexRef.current < index, draggingElRect }); // prettier-ignore\n }\n });\n if (placeholderItemRef.current) {\n setInitialPlaceholderItemStyles(placeholderItemRef.current); // 1. reflow\n }\n if (draggingItemRef.current) {\n setInitialDraggingItemStyles(draggingItemRef.current); // 2. repaint\n }\n siblingItemsRef.current.forEach((sibling) =>\n setInitialSiblingItemStyles(sibling, itemsGapRef.current),\n ); // 2. repaint\n };\n const cleanupItems = () => {\n if (placeholderItemRef.current) {\n unsetInitialPlaceholderItemStyles(placeholderItemRef.current); // 1. reflow\n }\n if (draggingItemRef.current) {\n unsetInitialDraggingItemStyles(draggingItemRef.current); // 2. repaint\n }\n siblingItemsRef.current.forEach(unsetInitialSiblingItemStyles); // 2. repaint\n siblingItemsRef.current = [];\n placeholderItemRef.current = draggingItemRef.current = null;\n\n const swappedItemIndexRange = { from: itemStartIndexRef.current, to: itemEndIndexRef.current };\n itemStartIndexRef.current = itemEndIndexRef.current = ITEM_INITIAL_INDEX;\n return swappedItemIndexRange;\n };\n const getShiftAndUnshiftItemsPreparedData = (\n clientY: number,\n ): [Array<[SiblingItem, Direction]>, Array<[SiblingItem, Direction]>] => {\n const shiftItemEls: Array<[SiblingItem, Direction]> = [];\n const unshiftItemEls: Array<[SiblingItem, Direction]> = [];\n itemEndIndexRef.current = itemStartIndexRef.current;\n siblingItemsRef.current.forEach((siblingItem) => {\n const { isOverEl, isUnderEl } = getTargetIsOverOrUnderElData(\n clientY,\n getBoundingClientRect(siblingItem.el),\n );\n if (itemStartIndexRef.current < siblingItem.index) {\n if (isOverEl) {\n itemEndIndexRef.current = itemEndIndexRef.current + 1;\n if (lastDragDirectionRef.current === 'down' && siblingItem.shifted) {\n siblingItem.shifted = false;\n shiftItemEls.push([siblingItem, 'up']);\n }\n }\n if (isUnderEl) {\n if (lastDragDirectionRef.current === 'up' && !siblingItem.shifted) {\n siblingItem.shifted = true;\n unshiftItemEls.push([siblingItem, 'down']);\n }\n }\n } else if (itemStartIndexRef.current > siblingItem.index) {\n if (isUnderEl) {\n itemEndIndexRef.current = itemEndIndexRef.current - 1;\n if (lastDragDirectionRef.current === 'up' && !siblingItem.shifted) {\n siblingItem.shifted = true;\n shiftItemEls.push([siblingItem, 'down']);\n }\n }\n if (isOverEl) {\n if (lastDragDirectionRef.current === 'down' && siblingItem.shifted) {\n siblingItem.shifted = false;\n unshiftItemEls.push([siblingItem, 'up']);\n }\n }\n }\n });\n return [shiftItemEls, unshiftItemEls];\n };\n const setShiftAndUnshiftItemStyles = (\n shiftItemEls: Array<[SiblingItem, Direction]>,\n unshiftItemEls: Array<[SiblingItem, Direction]>,\n ) => {\n shiftItemEls.forEach((item) => setSiblingItemsShiftStyles(item, itemsGapRef.current));\n unshiftItemEls.forEach((item) => setSiblingItemsShiftStyles(item, itemsGapRef.current));\n };\n\n const schedulingAutoScrollTimeoutIdRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const clearSchedulingAutoScrollTimeout = () => {\n if (schedulingAutoScrollTimeoutIdRef.current) {\n clearTimeout(schedulingAutoScrollTimeoutIdRef.current);\n schedulingAutoScrollTimeoutIdRef.current = null;\n }\n };\n const tryAutoScroll = () => {\n if (scrollControllerRef.current) {\n scrollControllerRef.current.tryAutoScroll(() => {\n return scrollElRef.current\n ? getAutoScrollingData(lastClientYRef.current, scrollElRef.current)\n : {\n shouldScrolling: false,\n y: 0,\n };\n });\n }\n };\n const schedulingAutoScroll = () => {\n clearSchedulingAutoScrollTimeout();\n schedulingAutoScrollTimeoutIdRef.current = setTimeout(() => {\n schedulingAutoScrollTimeoutIdRef.current = null;\n tryAutoScroll();\n }, AUTO_SCROLL_START_DELAY);\n };\n\n const onDragStart = (event: CustomTouchEvent) => {\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n };\n\n const onDragMove = (event: CustomTouchEvent) => {\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n\n const draggingEl = draggingElRef.current;\n\n if (!draggingEl) {\n return;\n }\n\n if (dragging) {\n lastDragDirectionRef.current = toggleDragDirection(lastDragShiftYRef.current, event.shiftY);\n lastDragShiftYRef.current = event.shiftY;\n lastClientYRef.current = event.clientY;\n\n if (scrollControllerRef.current && scrollControllerRef.current.isRunning) {\n setDraggingItemShiftStyles(draggingEl, lastDragShiftYRef.current);\n } else {\n const [shiftItemEls, unshiftItemEls] = getShiftAndUnshiftItemsPreparedData(\n lastClientYRef.current,\n );\n setDraggingItemShiftStyles(draggingEl, lastDragShiftYRef.current);\n setShiftAndUnshiftItemStyles(shiftItemEls, unshiftItemEls);\n schedulingAutoScroll();\n }\n } else {\n setDragging((prevDragging) => {\n // На случай, если onDragMove успеет вызваться ещё раз до того, как `dragging` выставится в\n // `true`\n if (prevDragging) {\n return prevDragging;\n }\n cleanupItems();\n initializeScrollRefs(draggingEl);\n initializeItems(draggingEl);\n return true;\n });\n }\n };\n\n const onDragEnd = (event: CustomTouchEvent) => {\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n\n clearSchedulingAutoScrollTimeout();\n cleanupScrollRefs();\n\n lastClientYRef.current = lastDragShiftYRef.current = 0;\n lastDragDirectionRef.current = undefined;\n\n if (dragging) {\n const swappedItemRange = cleanupItems();\n if (onDragFinish) {\n onDragFinish(swappedItemRange);\n }\n setDragging(false);\n }\n };\n\n const handleScroll = React.useCallback(() => {\n if (!draggingElRef.current || !scrollElRef.current) {\n return;\n }\n\n const nextScrollTop = getNodeScroll(scrollElRef.current).scrollTop;\n lastDragDirectionRef.current = toggleDragDirection(lastScrollTopRef.current, nextScrollTop);\n const scrollDiff = lastScrollTopRef.current - nextScrollTop;\n const clientYWithScrollOffset = lastClientYRef.current + scrollDiff;\n lastScrollTopRef.current = nextScrollTop;\n\n const [shiftItemEls, unshiftItemEls] =\n getShiftAndUnshiftItemsPreparedData(clientYWithScrollOffset);\n setShiftAndUnshiftItemStyles(shiftItemEls, unshiftItemEls);\n }, [draggingElRef]);\n\n useIsomorphicLayoutEffect(\n function recalculateOnScroll() {\n const scrollEl = scrollElRef.current;\n if (!dragging || !scrollEl) {\n return;\n }\n scrollEl.addEventListener('scroll', handleScroll);\n return () => {\n if (scrollEl) {\n scrollEl.removeEventListener('scroll', handleScroll);\n }\n };\n },\n [dragging, handleScroll],\n );\n\n useIsomorphicLayoutEffect(\n () =>\n function componentWillUnmount() {\n if (placeholderItemRef.current) {\n unsetInitialPlaceholderItemStyles(placeholderItemRef.current);\n }\n },\n [],\n );\n\n return { dragging, onDragStart, onDragMove, onDragEnd };\n};\n"],"names":["React","getBoundingClientRect","getNearestOverflowAncestor","getNodeScroll","useIsomorphicLayoutEffect","createAutoScrollController","getAutoScrollingData","AUTO_SCROLL_START_DELAY","DATA_DRAGGABLE_PLACEHOLDER_KEY","ITEM_INITIAL_INDEX","getTargetIsOverOrUnderElData","setDraggingItemShiftStyles","setInitialDraggingItemStyles","setInitialPlaceholderItemStyles","setInitialSiblingItemStyles","setSiblingItemsShiftStyles","unsetInitialDraggingItemStyles","unsetInitialPlaceholderItemStyles","unsetInitialSiblingItemStyles","useDraggableWithDomApi","elRef","draggingElRef","onDragFinish","dragging","setDragging","useState","lastClientYRef","useRef","lastDragShiftYRef","scrollElRef","lastScrollTopRef","scrollControllerRef","initializeScrollRefs","draggableEl","node","current","scrollTop","cleanupScrollRefs","stop","lastDragDirectionRef","undefined","toggleDragDirection","prevShiftY","nextShiftY","shiftYDiff","itemStartIndexRef","itemEndIndexRef","draggingItemRef","placeholderItemRef","siblingItemsRef","itemsGapRef","initializeItems","draggingEl","draggingElRect","parentElement","parseInt","style","gridGap","children","Array","prototype","forEach","call","el","index","getAttribute","push","shifted","sibling","cleanupItems","swappedItemIndexRange","from","to","getShiftAndUnshiftItemsPreparedData","clientY","shiftItemEls","unshiftItemEls","siblingItem","isOverEl","isUnderEl","setShiftAndUnshiftItemStyles","item","schedulingAutoScrollTimeoutIdRef","clearSchedulingAutoScrollTimeout","clearTimeout","tryAutoScroll","shouldScrolling","y","schedulingAutoScroll","setTimeout","onDragStart","event","originalEvent","stopPropagation","preventDefault","onDragMove","shiftY","isRunning","prevDragging","onDragEnd","swappedItemRange","handleScroll","useCallback","nextScrollTop","scrollDiff","clientYWithScrollOffset","recalculateOnScroll","scrollEl","addEventListener","removeEventListener","componentWillUnmount"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/hooks/useDraggableWithDomApi/useDraggableWithDomApi.ts"],"sourcesContent":["import * as React from 'react';\nimport type { CustomTouchEvent } from '../../components/Touch/Touch';\nimport { getBoundingClientRect, getNearestOverflowAncestor, getNodeScroll } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { createAutoScrollController, getAutoScrollingData } from './autoScroll';\nimport {\n AUTO_SCROLL_START_DELAY,\n DATA_DRAGGABLE_PLACEHOLDER_KEY,\n ITEM_INITIAL_INDEX,\n} from './constants';\nimport type {\n Direction,\n DraggingItem,\n PlaceholderItem,\n SiblingItem,\n UseDraggable,\n UseDraggableProps,\n} from './types';\nimport {\n getTargetIsOverOrUnderElData,\n setDraggingItemShiftStyles,\n setInitialDraggingItemStyles,\n setInitialPlaceholderItemStyles,\n setInitialSiblingItemStyles,\n setSiblingItemsShiftStyles,\n unsetInitialDraggingItemStyles,\n unsetInitialPlaceholderItemStyles,\n unsetInitialSiblingItemStyles,\n} from './utils';\n\nexport const useDraggableWithDomApi = <T extends HTMLElement>({\n elRef: draggingElRef,\n onDragFinish,\n}: UseDraggableProps<T>): UseDraggable => {\n const [dragging, setDragging] = React.useState(false);\n const lastClientYRef = React.useRef(0);\n const lastDragShiftYRef = React.useRef(0);\n\n const scrollElRef = React.useRef<Element | Window | null>(null);\n const lastScrollTopRef = React.useRef<number>(0);\n const scrollControllerRef = React.useRef<ReturnType<typeof createAutoScrollController> | null>(\n null,\n );\n const initializeScrollRefs = (draggableEl: HTMLElement) => {\n const node = getNearestOverflowAncestor(draggableEl);\n if (node) {\n scrollElRef.current = node;\n lastScrollTopRef.current = getNodeScroll(node).scrollTop;\n scrollControllerRef.current = createAutoScrollController(scrollElRef.current);\n }\n };\n const cleanupScrollRefs = () => {\n lastScrollTopRef.current = 0;\n scrollControllerRef.current?.stop();\n scrollElRef.current = scrollControllerRef.current = null;\n };\n\n const lastDragDirectionRef = React.useRef<Direction | undefined>(undefined);\n const toggleDragDirection = (prevShiftY: number, nextShiftY: number) => {\n const shiftYDiff = prevShiftY - nextShiftY;\n if (shiftYDiff < 0) {\n return 'down';\n }\n if (shiftYDiff > 0) {\n return 'up';\n }\n return lastDragDirectionRef.current;\n };\n\n const itemStartIndexRef = React.useRef<number>(ITEM_INITIAL_INDEX);\n const itemEndIndexRef = React.useRef<number>(ITEM_INITIAL_INDEX);\n const draggingItemRef = React.useRef<DraggingItem | null>(null);\n const placeholderItemRef = React.useRef<PlaceholderItem | null>(null);\n const siblingItemsRef = React.useRef<SiblingItem[]>([]);\n const itemsGapRef = React.useRef<number>(0);\n const initializeItems = (draggingEl: HTMLElement) => {\n const draggingElRect = getBoundingClientRect(draggingEl, true);\n const parentElement = draggingEl.parentElement;\n itemsGapRef.current = parentElement ? parseInt(parentElement.style.gridGap) : 0;\n\n const { children } = parentElement || { children: [] };\n Array.prototype.forEach.call(children, (el: HTMLElement, index) => {\n if (el === draggingEl) {\n itemStartIndexRef.current = itemEndIndexRef.current = index;\n draggingItemRef.current = { index, el, draggingElRect };\n } else if (el.getAttribute(DATA_DRAGGABLE_PLACEHOLDER_KEY) !== null) {\n placeholderItemRef.current = { index, el, draggingElRect };\n } else {\n siblingItemsRef.current.push({\n index,\n el,\n shifted:\n itemStartIndexRef.current !== ITEM_INITIAL_INDEX && itemStartIndexRef.current < index,\n draggingElRect,\n });\n }\n });\n if (placeholderItemRef.current) {\n setInitialPlaceholderItemStyles(placeholderItemRef.current); // 1. reflow\n }\n if (draggingItemRef.current) {\n setInitialDraggingItemStyles(draggingItemRef.current); // 2. repaint\n }\n siblingItemsRef.current.forEach((sibling) =>\n setInitialSiblingItemStyles(sibling, itemsGapRef.current),\n ); // 2. repaint\n };\n const cleanupItems = () => {\n if (placeholderItemRef.current) {\n unsetInitialPlaceholderItemStyles(placeholderItemRef.current); // 1. reflow\n }\n if (draggingItemRef.current) {\n unsetInitialDraggingItemStyles(draggingItemRef.current); // 2. repaint\n }\n siblingItemsRef.current.forEach(unsetInitialSiblingItemStyles); // 2. repaint\n siblingItemsRef.current = [];\n placeholderItemRef.current = draggingItemRef.current = null;\n\n const swappedItemIndexRange = { from: itemStartIndexRef.current, to: itemEndIndexRef.current };\n itemStartIndexRef.current = itemEndIndexRef.current = ITEM_INITIAL_INDEX;\n return swappedItemIndexRange;\n };\n const getShiftAndUnshiftItemsPreparedData = (\n clientY: number,\n ): [Array<[SiblingItem, Direction]>, Array<[SiblingItem, Direction]>] => {\n const shiftItemEls: Array<[SiblingItem, Direction]> = [];\n const unshiftItemEls: Array<[SiblingItem, Direction]> = [];\n itemEndIndexRef.current = itemStartIndexRef.current;\n siblingItemsRef.current.forEach((siblingItem) => {\n const { isOverEl, isUnderEl } = getTargetIsOverOrUnderElData(\n clientY,\n getBoundingClientRect(siblingItem.el),\n );\n if (itemStartIndexRef.current < siblingItem.index) {\n if (isOverEl) {\n itemEndIndexRef.current = itemEndIndexRef.current + 1;\n if (lastDragDirectionRef.current === 'down' && siblingItem.shifted) {\n siblingItem.shifted = false;\n shiftItemEls.push([siblingItem, 'up']);\n }\n }\n if (isUnderEl) {\n if (lastDragDirectionRef.current === 'up' && !siblingItem.shifted) {\n siblingItem.shifted = true;\n unshiftItemEls.push([siblingItem, 'down']);\n }\n }\n } else if (itemStartIndexRef.current > siblingItem.index) {\n if (isUnderEl) {\n itemEndIndexRef.current = itemEndIndexRef.current - 1;\n if (lastDragDirectionRef.current === 'up' && !siblingItem.shifted) {\n siblingItem.shifted = true;\n shiftItemEls.push([siblingItem, 'down']);\n }\n }\n if (isOverEl) {\n if (lastDragDirectionRef.current === 'down' && siblingItem.shifted) {\n siblingItem.shifted = false;\n unshiftItemEls.push([siblingItem, 'up']);\n }\n }\n }\n });\n return [shiftItemEls, unshiftItemEls];\n };\n const setShiftAndUnshiftItemStyles = (\n shiftItemEls: Array<[SiblingItem, Direction]>,\n unshiftItemEls: Array<[SiblingItem, Direction]>,\n ) => {\n shiftItemEls.forEach((item) => setSiblingItemsShiftStyles(item, itemsGapRef.current));\n unshiftItemEls.forEach((item) => setSiblingItemsShiftStyles(item, itemsGapRef.current));\n };\n\n const schedulingAutoScrollTimeoutIdRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const clearSchedulingAutoScrollTimeout = () => {\n if (schedulingAutoScrollTimeoutIdRef.current) {\n clearTimeout(schedulingAutoScrollTimeoutIdRef.current);\n schedulingAutoScrollTimeoutIdRef.current = null;\n }\n };\n const tryAutoScroll = () => {\n if (scrollControllerRef.current) {\n scrollControllerRef.current.tryAutoScroll(() => {\n return scrollElRef.current\n ? getAutoScrollingData(lastClientYRef.current, scrollElRef.current)\n : {\n shouldScrolling: false,\n y: 0,\n };\n });\n }\n };\n const schedulingAutoScroll = () => {\n clearSchedulingAutoScrollTimeout();\n schedulingAutoScrollTimeoutIdRef.current = setTimeout(() => {\n schedulingAutoScrollTimeoutIdRef.current = null;\n tryAutoScroll();\n }, AUTO_SCROLL_START_DELAY);\n };\n\n const onDragStart = (event: CustomTouchEvent) => {\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n };\n\n const onDragMove = (event: CustomTouchEvent) => {\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n\n const draggingEl = draggingElRef.current;\n\n if (!draggingEl) {\n return;\n }\n\n if (dragging) {\n lastDragDirectionRef.current = toggleDragDirection(lastDragShiftYRef.current, event.shiftY);\n lastDragShiftYRef.current = event.shiftY;\n lastClientYRef.current = event.clientY;\n\n if (scrollControllerRef.current && scrollControllerRef.current.isRunning) {\n setDraggingItemShiftStyles(draggingEl, lastDragShiftYRef.current);\n } else {\n const [shiftItemEls, unshiftItemEls] = getShiftAndUnshiftItemsPreparedData(\n lastClientYRef.current,\n );\n setDraggingItemShiftStyles(draggingEl, lastDragShiftYRef.current);\n setShiftAndUnshiftItemStyles(shiftItemEls, unshiftItemEls);\n schedulingAutoScroll();\n }\n } else {\n setDragging((prevDragging) => {\n // На случай, если onDragMove успеет вызваться ещё раз до того, как `dragging` выставится в\n // `true`\n if (prevDragging) {\n return prevDragging;\n }\n cleanupItems();\n initializeScrollRefs(draggingEl);\n initializeItems(draggingEl);\n return true;\n });\n }\n };\n\n const onDragEnd = (event: CustomTouchEvent) => {\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n\n clearSchedulingAutoScrollTimeout();\n cleanupScrollRefs();\n\n lastClientYRef.current = lastDragShiftYRef.current = 0;\n lastDragDirectionRef.current = undefined;\n\n if (dragging) {\n const swappedItemRange = cleanupItems();\n if (onDragFinish) {\n onDragFinish(swappedItemRange);\n }\n setDragging(false);\n }\n };\n\n const handleScroll = React.useCallback(() => {\n if (!draggingElRef.current || !scrollElRef.current) {\n return;\n }\n\n const nextScrollTop = getNodeScroll(scrollElRef.current).scrollTop;\n lastDragDirectionRef.current = toggleDragDirection(lastScrollTopRef.current, nextScrollTop);\n const scrollDiff = lastScrollTopRef.current - nextScrollTop;\n const clientYWithScrollOffset = lastClientYRef.current + scrollDiff;\n lastScrollTopRef.current = nextScrollTop;\n\n const [shiftItemEls, unshiftItemEls] =\n getShiftAndUnshiftItemsPreparedData(clientYWithScrollOffset);\n setShiftAndUnshiftItemStyles(shiftItemEls, unshiftItemEls);\n }, [draggingElRef]);\n\n useIsomorphicLayoutEffect(\n function recalculateOnScroll() {\n const scrollEl = scrollElRef.current;\n if (!dragging || !scrollEl) {\n return;\n }\n scrollEl.addEventListener('scroll', handleScroll);\n return () => {\n if (scrollEl) {\n scrollEl.removeEventListener('scroll', handleScroll);\n }\n };\n },\n [dragging, handleScroll],\n );\n\n useIsomorphicLayoutEffect(\n () =>\n function componentWillUnmount() {\n if (placeholderItemRef.current) {\n unsetInitialPlaceholderItemStyles(placeholderItemRef.current);\n }\n },\n [],\n );\n\n return { dragging, onDragStart, onDragMove, onDragEnd };\n};\n"],"names":["React","getBoundingClientRect","getNearestOverflowAncestor","getNodeScroll","useIsomorphicLayoutEffect","createAutoScrollController","getAutoScrollingData","AUTO_SCROLL_START_DELAY","DATA_DRAGGABLE_PLACEHOLDER_KEY","ITEM_INITIAL_INDEX","getTargetIsOverOrUnderElData","setDraggingItemShiftStyles","setInitialDraggingItemStyles","setInitialPlaceholderItemStyles","setInitialSiblingItemStyles","setSiblingItemsShiftStyles","unsetInitialDraggingItemStyles","unsetInitialPlaceholderItemStyles","unsetInitialSiblingItemStyles","useDraggableWithDomApi","elRef","draggingElRef","onDragFinish","dragging","setDragging","useState","lastClientYRef","useRef","lastDragShiftYRef","scrollElRef","lastScrollTopRef","scrollControllerRef","initializeScrollRefs","draggableEl","node","current","scrollTop","cleanupScrollRefs","stop","lastDragDirectionRef","undefined","toggleDragDirection","prevShiftY","nextShiftY","shiftYDiff","itemStartIndexRef","itemEndIndexRef","draggingItemRef","placeholderItemRef","siblingItemsRef","itemsGapRef","initializeItems","draggingEl","draggingElRect","parentElement","parseInt","style","gridGap","children","Array","prototype","forEach","call","el","index","getAttribute","push","shifted","sibling","cleanupItems","swappedItemIndexRange","from","to","getShiftAndUnshiftItemsPreparedData","clientY","shiftItemEls","unshiftItemEls","siblingItem","isOverEl","isUnderEl","setShiftAndUnshiftItemStyles","item","schedulingAutoScrollTimeoutIdRef","clearSchedulingAutoScrollTimeout","clearTimeout","tryAutoScroll","shouldScrolling","y","schedulingAutoScroll","setTimeout","onDragStart","event","originalEvent","stopPropagation","preventDefault","onDragMove","shiftY","isRunning","prevDragging","onDragEnd","swappedItemRange","handleScroll","useCallback","nextScrollTop","scrollDiff","clientYWithScrollOffset","recalculateOnScroll","scrollEl","addEventListener","removeEventListener","componentWillUnmount"],"mappings":"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"}
@@ -44,14 +44,14 @@ const EVENT_OPTIONS = {
44
44
  keyboardFocusingStartedRef.current = false;
45
45
  };
46
46
  document.addEventListener('keydown', handleKeydown, EVENT_OPTIONS);
47
- document.addEventListener(ENABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomEnableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore
48
- document.addEventListener(DISABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomDisableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore
47
+ document.addEventListener(ENABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomEnableKeyboardEvent, EVENT_OPTIONS);
48
+ document.addEventListener(DISABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomDisableKeyboardEvent, EVENT_OPTIONS);
49
49
  document.addEventListener('mousedown', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);
50
50
  document.addEventListener('touchstart', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);
51
51
  return ()=>{
52
52
  document.removeEventListener('keydown', handleKeydown, EVENT_OPTIONS);
53
- document.removeEventListener(ENABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomEnableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore
54
- document.removeEventListener(DISABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomDisableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore
53
+ document.removeEventListener(ENABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomEnableKeyboardEvent, EVENT_OPTIONS);
54
+ document.removeEventListener(DISABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomDisableKeyboardEvent, EVENT_OPTIONS);
55
55
  document.removeEventListener('mousedown', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);
56
56
  document.removeEventListener('touchstart', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);
57
57
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useKeyboardInputTracker.ts"],"sourcesContent":["import * as React from 'react';\nimport { isKeyboardFocusingStarted } from '../lib/accessibility';\nimport { useDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport const ENABLE_KEYBOARD_INPUT_EVENT_NAME = 'enableKeyboardInput';\nexport const DISABLE_KEYBOARD_INPUT_EVENT_NAME = 'disableKeyboardInput';\n\nconst EVENT_OPTIONS = {\n passive: true,\n capture: true,\n};\n\n/**\n * Чтобы оптимизировать рендер, сохраняем в ref.\n *\n * В контекст можно передать через getter, подробнее в примере ниже.\n *\n * ```tsx\n * const keyboardInputTrackerRef = useKeyboardInputTracker();\n * <SomeContext.Provider value={{\n * get keyboardInput() {\n * return keyboardInputTrackerRef.current;\n * }\n * }}>\n * {children}\n * </SomeContext.Provider>\n * ```\n *\n * @private\n */\nexport function useKeyboardInputTracker(): React.RefObject<boolean> {\n const { document } = useDOM();\n const keyboardFocusingStartedRef = React.useRef(false);\n\n useIsomorphicLayoutEffect(() => {\n /* istanbul ignore if: невозможный кейс, т.к. в SSR эффекты не вызываются. Проверка на будущее, если вдруг эффект будет вызываться. */\n if (!document) {\n return;\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (isKeyboardFocusingStarted(event)) {\n keyboardFocusingStartedRef.current = true;\n }\n };\n\n const handleCustomEnableKeyboardEvent = () => {\n keyboardFocusingStartedRef.current = true;\n };\n\n const handleCustomDisableKeyboardEvent = () => {\n keyboardFocusingStartedRef.current = false;\n };\n\n document.addEventListener('keydown', handleKeydown, EVENT_OPTIONS);\n document.addEventListener(ENABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomEnableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore\n document.addEventListener(DISABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomDisableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore\n document.addEventListener('mousedown', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n document.addEventListener('touchstart', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n\n return () => {\n document.removeEventListener('keydown', handleKeydown, EVENT_OPTIONS);\n document.removeEventListener(ENABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomEnableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore\n document.removeEventListener(DISABLE_KEYBOARD_INPUT_EVENT_NAME, handleCustomDisableKeyboardEvent, EVENT_OPTIONS); // prettier-ignore\n document.removeEventListener('mousedown', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n document.removeEventListener('touchstart', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n };\n }, [document]);\n\n return keyboardFocusingStartedRef;\n}\n"],"names":["React","isKeyboardFocusingStarted","useDOM","useIsomorphicLayoutEffect","ENABLE_KEYBOARD_INPUT_EVENT_NAME","DISABLE_KEYBOARD_INPUT_EVENT_NAME","EVENT_OPTIONS","passive","capture","useKeyboardInputTracker","document","keyboardFocusingStartedRef","useRef","handleKeydown","event","current","handleCustomEnableKeyboardEvent","handleCustomDisableKeyboardEvent","addEventListener","removeEventListener"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,0BAAuB;AACjE,SAASC,MAAM,QAAQ,gBAAa;AACpC,SAASC,yBAAyB,QAAQ,sCAAmC;AAE7E,OAAO,MAAMC,mCAAmC,sBAAsB;AACtE,OAAO,MAAMC,oCAAoC,uBAAuB;AAExE,MAAMC,gBAAgB;IACpBC,SAAS;IACTC,SAAS;AACX;AAEA;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC;IACd,MAAM,EAAEC,QAAQ,EAAE,GAAGR;IACrB,MAAMS,6BAA6BX,MAAMY,MAAM,CAAC;IAEhDT,0BAA0B;QACxB,oIAAoI,GACpI,IAAI,CAACO,UAAU;YACb;QACF;QAEA,MAAMG,gBAAgB,CAACC;YACrB,IAAIb,0BAA0Ba,QAAQ;gBACpCH,2BAA2BI,OAAO,GAAG;YACvC;QACF;QAEA,MAAMC,kCAAkC;YACtCL,2BAA2BI,OAAO,GAAG;QACvC;QAEA,MAAME,mCAAmC;YACvCN,2BAA2BI,OAAO,GAAG;QACvC;QAEAL,SAASQ,gBAAgB,CAAC,WAAWL,eAAeP;QACpDI,SAASQ,gBAAgB,CAACd,kCAAkCY,iCAAiCV,gBAAgB,kBAAkB;QAC/HI,SAASQ,gBAAgB,CAACb,mCAAmCY,kCAAkCX,gBAAgB,kBAAkB;QACjII,SAASQ,gBAAgB,CAAC,aAAaD,kCAAkCX;QACzEI,SAASQ,gBAAgB,CAAC,cAAcD,kCAAkCX;QAE1E,OAAO;YACLI,SAASS,mBAAmB,CAAC,WAAWN,eAAeP;YACvDI,SAASS,mBAAmB,CAACf,kCAAkCY,iCAAiCV,gBAAgB,kBAAkB;YAClII,SAASS,mBAAmB,CAACd,mCAAmCY,kCAAkCX,gBAAgB,kBAAkB;YACpII,SAASS,mBAAmB,CAAC,aAAaF,kCAAkCX;YAC5EI,SAASS,mBAAmB,CAAC,cAAcF,kCAAkCX;QAC/E;IACF,GAAG;QAACI;KAAS;IAEb,OAAOC;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useKeyboardInputTracker.ts"],"sourcesContent":["import * as React from 'react';\nimport { isKeyboardFocusingStarted } from '../lib/accessibility';\nimport { useDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport const ENABLE_KEYBOARD_INPUT_EVENT_NAME = 'enableKeyboardInput';\nexport const DISABLE_KEYBOARD_INPUT_EVENT_NAME = 'disableKeyboardInput';\n\nconst EVENT_OPTIONS = {\n passive: true,\n capture: true,\n};\n\n/**\n * Чтобы оптимизировать рендер, сохраняем в ref.\n *\n * В контекст можно передать через getter, подробнее в примере ниже.\n *\n * ```tsx\n * const keyboardInputTrackerRef = useKeyboardInputTracker();\n * <SomeContext.Provider value={{\n * get keyboardInput() {\n * return keyboardInputTrackerRef.current;\n * }\n * }}>\n * {children}\n * </SomeContext.Provider>\n * ```\n *\n * @private\n */\nexport function useKeyboardInputTracker(): React.RefObject<boolean> {\n const { document } = useDOM();\n const keyboardFocusingStartedRef = React.useRef(false);\n\n useIsomorphicLayoutEffect(() => {\n /* istanbul ignore if: невозможный кейс, т.к. в SSR эффекты не вызываются. Проверка на будущее, если вдруг эффект будет вызываться. */\n if (!document) {\n return;\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (isKeyboardFocusingStarted(event)) {\n keyboardFocusingStartedRef.current = true;\n }\n };\n\n const handleCustomEnableKeyboardEvent = () => {\n keyboardFocusingStartedRef.current = true;\n };\n\n const handleCustomDisableKeyboardEvent = () => {\n keyboardFocusingStartedRef.current = false;\n };\n\n document.addEventListener('keydown', handleKeydown, EVENT_OPTIONS);\n document.addEventListener(\n ENABLE_KEYBOARD_INPUT_EVENT_NAME,\n handleCustomEnableKeyboardEvent,\n EVENT_OPTIONS,\n );\n document.addEventListener(\n DISABLE_KEYBOARD_INPUT_EVENT_NAME,\n handleCustomDisableKeyboardEvent,\n EVENT_OPTIONS,\n );\n document.addEventListener('mousedown', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n document.addEventListener('touchstart', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n\n return () => {\n document.removeEventListener('keydown', handleKeydown, EVENT_OPTIONS);\n document.removeEventListener(\n ENABLE_KEYBOARD_INPUT_EVENT_NAME,\n handleCustomEnableKeyboardEvent,\n EVENT_OPTIONS,\n );\n document.removeEventListener(\n DISABLE_KEYBOARD_INPUT_EVENT_NAME,\n handleCustomDisableKeyboardEvent,\n EVENT_OPTIONS,\n );\n document.removeEventListener('mousedown', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n document.removeEventListener('touchstart', handleCustomDisableKeyboardEvent, EVENT_OPTIONS);\n };\n }, [document]);\n\n return keyboardFocusingStartedRef;\n}\n"],"names":["React","isKeyboardFocusingStarted","useDOM","useIsomorphicLayoutEffect","ENABLE_KEYBOARD_INPUT_EVENT_NAME","DISABLE_KEYBOARD_INPUT_EVENT_NAME","EVENT_OPTIONS","passive","capture","useKeyboardInputTracker","document","keyboardFocusingStartedRef","useRef","handleKeydown","event","current","handleCustomEnableKeyboardEvent","handleCustomDisableKeyboardEvent","addEventListener","removeEventListener"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,0BAAuB;AACjE,SAASC,MAAM,QAAQ,gBAAa;AACpC,SAASC,yBAAyB,QAAQ,sCAAmC;AAE7E,OAAO,MAAMC,mCAAmC,sBAAsB;AACtE,OAAO,MAAMC,oCAAoC,uBAAuB;AAExE,MAAMC,gBAAgB;IACpBC,SAAS;IACTC,SAAS;AACX;AAEA;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC;IACd,MAAM,EAAEC,QAAQ,EAAE,GAAGR;IACrB,MAAMS,6BAA6BX,MAAMY,MAAM,CAAC;IAEhDT,0BAA0B;QACxB,oIAAoI,GACpI,IAAI,CAACO,UAAU;YACb;QACF;QAEA,MAAMG,gBAAgB,CAACC;YACrB,IAAIb,0BAA0Ba,QAAQ;gBACpCH,2BAA2BI,OAAO,GAAG;YACvC;QACF;QAEA,MAAMC,kCAAkC;YACtCL,2BAA2BI,OAAO,GAAG;QACvC;QAEA,MAAME,mCAAmC;YACvCN,2BAA2BI,OAAO,GAAG;QACvC;QAEAL,SAASQ,gBAAgB,CAAC,WAAWL,eAAeP;QACpDI,SAASQ,gBAAgB,CACvBd,kCACAY,iCACAV;QAEFI,SAASQ,gBAAgB,CACvBb,mCACAY,kCACAX;QAEFI,SAASQ,gBAAgB,CAAC,aAAaD,kCAAkCX;QACzEI,SAASQ,gBAAgB,CAAC,cAAcD,kCAAkCX;QAE1E,OAAO;YACLI,SAASS,mBAAmB,CAAC,WAAWN,eAAeP;YACvDI,SAASS,mBAAmB,CAC1Bf,kCACAY,iCACAV;YAEFI,SAASS,mBAAmB,CAC1Bd,mCACAY,kCACAX;YAEFI,SAASS,mBAAmB,CAAC,aAAaF,kCAAkCX;YAC5EI,SAASS,mBAAmB,CAAC,cAAcF,kCAAkCX;QAC/E;IACF,GAAG;QAACI;KAAS;IAEb,OAAOC;AACT"}
@@ -201,6 +201,7 @@ export { useNavDirection } from "./components/NavTransitionDirectionContext/NavT
201
201
  export { useNavId } from "./components/NavIdContext/useNavId.js";
202
202
  export { useCSSKeyframesAnimationController as unstable_useCSSKeyframesAnimationController } from "./lib/animation/index.js";
203
203
  export { useFocusVisible } from "./hooks/useFocusVisible.js";
204
+ export { useReducedMotion as unstable_useReducedMotion } from "./lib/animation/index.js";
204
205
  /**
205
206
  * Utils
206
207
  */ export { classNames } from "@vkontakte/vkjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/constants.css';\nimport './styles/adaptivity.module.css';\nimport './styles/dynamicTokens.css';\nimport './styles/focusVisible.module.css';\nimport './styles/animationFades.module.css';\nimport './styles/transformOriginByPlacement.module.css';\nimport './styles/gaps.module.css';\nimport './styles/layout.css';\n\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { AppRootPortal } from './components/AppRoot/AppRootPortal';\nexport type { AppRootProps } from './components/AppRoot/AppRoot';\nexport type { SafeAreaInsets } from './components/AppRoot/types';\n\n/**\n * Typography\n */\nexport type { TypographyProps } from './components/Typography/Typography';\nexport { DisplayTitle } from './components/Typography/DisplayTitle/DisplayTitle';\nexport type { DisplayTitleProps } from './components/Typography/DisplayTitle/DisplayTitle';\nexport { Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { Paragraph } from './components/Typography/Paragraph/Paragraph';\nexport type { ParagraphProps } from './components/Typography/Paragraph/Paragraph';\nexport { Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\nexport { Footnote } from './components/Typography/Footnote/Footnote';\nexport type { FootnoteProps } from './components/Typography/Footnote/Footnote';\nexport { Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { EllipsisText } from './components/Typography/EllipsisText/EllipsisText';\nexport type { EllipsisTextProps } from './components/Typography/EllipsisText/EllipsisText';\n/**\n * Service\n */\nexport { UnstyledTextField } from './components/UnstyledTextField/UnstyledTextField';\nexport type {\n UnstyledTextFieldAsInputProps,\n UnstyledTextFieldAsTextareaProps,\n UnstyledTextFieldBaseProps,\n UnstyledTextFieldProps,\n} from './components/UnstyledTextField/UnstyledTextField';\nexport { Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\nexport {\n ImageBaseContext,\n ImageBase,\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './components/ImageBase/ImageBase';\nexport type {\n ImageBaseProps,\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseFloatElementProps,\n FloatElementPlacement,\n FloatElementIndentation,\n} from './components/ImageBase/ImageBase';\n\n/**\n * Primitives\n */\nexport { Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { ToolButton } from './components/ToolButton/ToolButton';\nexport type { ToolButtonProps } from './components/ToolButton/ToolButton';\n\n/**\n * Layout\n */\nexport { Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { ScrollArrow } from './components/ScrollArrow/ScrollArrow';\nexport type { ScrollArrowProps } from './components/ScrollArrow/ScrollArrow';\nexport { HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { AspectRatio } from './components/AspectRatio/AspectRatio';\nexport type { AspectRatioProps } from './components/AspectRatio/AspectRatio';\nexport { Flex } from './components/Flex/Flex';\nexport type { FlexProps } from './components/Flex/Flex';\nexport type { FlexItemProps } from './components/Flex/FlexItem/FlexItem';\nexport { SimpleGrid } from './components/SimpleGrid/SimpleGrid';\nexport type { SimpleGridProps } from './components/SimpleGrid/SimpleGrid';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type {\n ActionSheetProps,\n ActionSheetOnCloseOptions,\n} from './components/ActionSheet/ActionSheet';\nexport { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';\nexport { ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport { ScreenSpinnerContext } from './components/ScreenSpinner/context';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerContextProps } from './components/ScreenSpinner/context';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\nexport { Tooltip } from './components/Tooltip/Tooltip';\nexport { useTooltip } from './components/Tooltip/useTooltip';\nexport type {\n TooltipProps,\n TooltipOnShownChange,\n TooltipArrowProps,\n} from './components/Tooltip/Tooltip';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRoot';\nexport type {\n ModalRootProps,\n ModalRootContextInterface,\n UseModalRootContext,\n} from './components/ModalRoot/types';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { useModalRootContext } from './components/ModalRoot/useModalRootContext';\nexport { ModalPageContent } from './components/ModalPageContent/ModalPageContent';\nexport { ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps, ModalPageCloseReason } from './components/ModalPage/types';\nexport { ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps, ModalCardCloseReason } from './components/ModalCard/types';\nexport { ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\nexport { ModalOutsideButton } from './components/ModalOutsideButton/ModalOutsideButton';\nexport type { ModalOutsideButtonProps } from './components/ModalOutsideButton/ModalOutsideButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { ContentBadge } from './components/ContentBadge/ContentBadge';\nexport type { ContentBadgeProps } from './components/ContentBadge/ContentBadge';\nexport { ButtonGroup } from './components/ButtonGroup/ButtonGroup';\nexport type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';\nexport { Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { List } from './components/List/List';\nexport type { ListProps } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport type { CellCheckboxProps } from './components/Cell/CellCheckbox/CellCheckbox';\nexport { RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { CellButtonGroup } from './components/CellButtonGroup/CellButtonGroup';\nexport type { CellButtonGroupProps } from './components/CellButtonGroup/CellButtonGroup';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { HorizontalCellShowMore } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport type { HorizontalCellShowMoreProps } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { Avatar } from './components/Avatar/Avatar';\nexport type { GetInitialsFontSizeType } from './components/Avatar/helpers';\nexport type {\n AvatarProps,\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n AvatarOverlayProps,\n} from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps, GridAvatarBadgeProps } from './components/GridAvatar/GridAvatar';\nexport { Image } from './components/Image/Image';\nexport type { ImageProps, ImageBadgeProps, ImageOverlayProps } from './components/Image/Image';\nexport { Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { Search } from './components/Search/Search';\nexport type { SearchProps, RenderIconButtonFn } from './components/Search/Search';\nexport { Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { Mark } from './components/Mark/Mark';\nexport type { MarkProps } from './components/Mark/Mark';\nexport { OnboardingTooltip } from './components/OnboardingTooltip/OnboardingTooltip';\nexport type { OnboardingTooltipProps } from './components/OnboardingTooltip/OnboardingTooltip';\nexport { OnboardingTooltipContainer } from './components/OnboardingTooltip/OnboardingTooltipContainer';\nexport { Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { UsersStack } from './components/UsersStack/UsersStack';\nexport type {\n UsersStackProps,\n UsersStackPhoto,\n UsersStackRenderWrapperProps,\n} from './components/UsersStack/UsersStack';\nexport { Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { Box } from './components/Box/Box';\nexport type { BoxProps } from './components/Box/Box';\nexport { Placeholder } from './components/Placeholder/Placeholder';\nexport type {\n PlaceholderProps,\n PlaceholderContainerProps,\n PlaceholderIconProps,\n PlaceholderTitleProps,\n PlaceholderDescriptionProps,\n PlaceholderActionsProps,\n} from './components/Placeholder/Placeholder';\nexport { Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\nexport { Pagination } from './components/Pagination/Pagination';\nexport type { PaginationProps } from './components/Pagination/Pagination';\nexport type { CustomPaginationPageButtonProps } from './components/Pagination/PaginationPage/PaginationPageButton';\nexport type { CustomPaginationNavigationButton } from './components/Pagination/PaginationNavigationButton/PaginationNavigationButton';\nexport { Accordion } from './components/Accordion/Accordion';\nexport type { AccordionProps } from './components/Accordion/Accordion';\nexport { AccordionContext, useAccordionContext } from './components/Accordion/AccordionContext';\nexport type { AccordionSummaryProps } from './components/Accordion/AccordionSummary';\nexport type { AccordionContentProps } from './components/Accordion/AccordionContent';\n\n/**\n * Forms\n */\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemTopProps } from './components/FormItem/FormItemTop/FormItemTop';\nexport type { FormItemTopLabelProps } from './components/FormItem/FormItemTop/FormItemTopLabel';\nexport type { FormItemTopAsideProps } from './components/FormItem/FormItemTop/FormItemTopAside';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps, FieldIconsAlign } from './components/FormField/FormField';\nexport { FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { DropZone } from './components/DropZone/DropZone';\nexport type { DropZoneProps } from './components/DropZone/DropZone';\nexport { Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport type { ChipProps } from './components/ChipsInputBase/Chip/Chip';\nexport { Chip } from './components/ChipsInputBase/Chip/Chip';\nexport type {\n ChipOption,\n RenderChipProps,\n ChipOptionValue,\n ChipOptionLabel,\n} from './components/ChipsInputBase/types';\nexport { ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { ChipsSelect } from './components/ChipsSelect/ChipsSelect';\nexport type { ChipsSelectProps } from './components/ChipsSelect/ChipsSelect';\nexport type { FormFieldClearButtonProps } from './components/FormFieldClearButton/FormFieldClearButton';\nexport { Slider } from './components/Slider/Slider';\nexport type { SliderBaseProps, SliderProps, SliderMultipleProps } from './components/Slider/Slider';\nexport { Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { SelectionControl } from './components/SelectionControl/SelectionControl';\nexport type { SelectionControlProps } from './components/SelectionControl/SelectionControl';\nexport { Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { RadioGroup } from './components/RadioGroup/RadioGroup';\nexport type { RadioGroupProps } from './components/RadioGroup/RadioGroup';\nexport { Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport type { CheckboxInputIconType } from './components/Checkbox/CheckboxInput/CheckboxInput';\nexport { Select } from './components/Select/Select';\nexport { SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type {\n SelectProps,\n CustomSelectClearButtonProps,\n} from './components/CustomSelect/CustomSelect';\nexport type {\n CustomSelectOptionInterface,\n CustomSelectRenderOption,\n} from './components/CustomSelect/types';\nexport { CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { SegmentedControl } from './components/SegmentedControl/SegmentedControl';\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from './components/SegmentedControl/SegmentedControl';\nexport { Calendar } from './components/Calendar/Calendar';\nexport type { CalendarProps } from './components/Calendar/Calendar';\nexport { CalendarRange } from './components/CalendarRange/CalendarRange';\nexport type { CalendarRangeProps } from './components/CalendarRange/CalendarRange';\nexport { DateInput } from './components/DateInput/DateInput';\nexport type { DateInputProps } from './components/DateInput/DateInput';\nexport { DateRangeInput } from './components/DateRangeInput/DateRangeInput';\nexport type { DateRangeInputProps } from './components/DateRangeInput/DateRangeInput';\nexport { Skeleton } from './components/Skeleton/Skeleton';\nexport type { SkeletonProps } from './components/Skeleton/Skeleton';\n\n/**\n * Helpers\n */\nexport { Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport {\n DEFAULT_ARROW_HEIGHT as DEFAULT_ICON_ARROW_HEIGHT,\n DEFAULT_ARROW_WIDTH as DEFAULT_ICON_ARROW_WIDTH,\n DEFAULT_ARROW_PADDING as DEFAULT_ICON_ARROW_PADDING,\n DefaultIcon,\n} from './components/FloatingArrow/DefaultIcon';\nexport { FloatingArrow } from './components/FloatingArrow/FloatingArrow';\nexport type { FloatingArrowProps } from './components/FloatingArrow/FloatingArrow';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps, CustomTouchEvent } from './components/Touch/Touch';\nexport { PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport type { PanelHeaderCloseProps } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport type { PanelHeaderBackProps } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport type { PanelHeaderSubmitProps } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\nexport { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden';\nexport type { VisuallyHiddenProps } from './components/VisuallyHidden/VisuallyHidden';\nexport { AdaptiveIconRenderer } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\nexport type { AdaptiveIconRendererProps } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\n\n/**\n * Wrappers\n */\nexport { AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport type { AdaptivityProviderProps } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n useConfigProvider,\n ConfigProviderContext,\n} from './components/ConfigProvider/ConfigProviderContext';\nexport { ColorSchemeProvider } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport type { ColorSchemeProviderProps } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport { ColorScheme } from './lib/colorScheme';\nexport type { ColorSchemeType } from './lib/colorScheme';\nexport { DOMContext } from './lib/dom';\nexport { LocaleProvider } from './components/LocaleProvider/LocaleProvider';\nexport { DirectionProvider } from './components/DirectionProvider/DirectionProvider';\nexport type { LocaleProviderProps } from './components/LocaleProvider/LocaleProvider';\nexport type { DirectionProviderProps } from './components/DirectionProvider/DirectionProvider';\nexport { PlatformProvider } from './components/PlatformProvider/PlatformProvider';\nexport type { PlatformProviderProps } from './components/PlatformProvider/PlatformProvider';\nexport { Popover } from './components/Popover/Popover';\nexport type {\n PopoverProps,\n PopoverOnShownChange,\n PopoverArrowProps,\n PopoverContentRenderProp,\n} from './components/Popover/Popover';\nexport { usePopover } from './components/Popover/usePopover';\n\n/**\n * HOCs\n */\nexport { withPlatform } from './hoc/withPlatform';\n\n/**\n * Hooks\n */\nexport { usePlatform } from './hooks/usePlatform';\nexport { useConfigDirection as useDirection } from './hooks/useConfigDirection';\nexport { useLocale } from './hooks/useLocale';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport {\n type UseAdaptivityConditionalRender,\n useAdaptivityConditionalRender,\n} from './hooks/useAdaptivityConditionalRender';\nexport {\n type UseAdaptivityWithJSMediaQueries,\n useAdaptivityWithJSMediaQueries,\n} from './hooks/useAdaptivityWithJSMediaQueries';\nexport { useColorScheme } from './hooks/useColorScheme';\nexport { usePagination } from './hooks/usePagination';\nexport { type Orientation, useOrientationChange } from './hooks/useOrientationChange';\nexport { usePatchChildren } from './hooks/usePatchChildren';\nexport { useTodayDate } from './hooks/useTodayDate';\nexport { useScrollLock, useManualScroll as useScroll } from './components/AppRoot/ScrollContext';\nexport { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';\nexport { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useNavId } from './components/NavIdContext/useNavId';\nexport type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useCSSKeyframesAnimationController as unstable_useCSSKeyframesAnimationController } from './lib/animation';\nexport { useFocusVisible } from './hooks/useFocusVisible';\n\n/**\n * Utils\n */\nexport { classNames } from '@vkontakte/vkjs';\nexport { animate } from './lib/animate';\nexport { defaultFilterFn as filterFnForSelect } from './lib/select';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport type { SSRWrapperProps } from './lib/SSR';\nexport { platform, Platform } from './lib/platform';\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n getViewWidthByViewportWidth,\n getViewHeightByViewportHeight,\n} from './lib/adaptivity';\nexport {\n type Placement as FloatingPlacement,\n type PlacementWithAuto as FloatingPlacementWithAuto,\n} from './lib/floating';\nexport type { AdaptivityProps } from './components/AdaptivityProvider/AdaptivityContext';\nexport { calcInitialsAvatarColor } from './helpers/avatar';\nexport { CustomScrollView } from './components/CustomScrollView/CustomScrollView';\nexport type { CustomScrollViewProps } from './components/CustomScrollView/CustomScrollView';\nexport { Popper } from './components/Popper/Popper';\nexport type { PopperProps } from './components/Popper/Popper';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasRef, HasRootRef } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { TransitionContextProps } from './components/NavTransitionContext/NavTransitionContext';\n\n/**\n * Unstable\n */\nexport { ViewInfinite as unstable_ViewInfinite } from './components/View/ViewInfinite';\nexport type { ViewInfiniteProps as unstable_ViewInfiniteProps } from './components/View/ViewInfinite';\nexport { ModalPageFooter as unstable_ModalPageFooter } from './components/ModalPageFooter/ModalPageFooter';\nexport type { ModalPageFooterProps as unstable_ModalPageFooterProps } from './components/ModalPageFooter/ModalPageFooter';\n\nimport './styles/common.css';\n"],"names":["AppRoot","AppRootPortal","DisplayTitle","Title","Headline","Text","Paragraph","Subhead","Footnote","Caption","EllipsisText","UnstyledTextField","Tappable","FixedLayout","ImageBaseContext","ImageBase","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","Button","IconButton","ToolButton","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","ScrollArrow","HorizontalScroll","AspectRatio","Flex","SimpleGrid","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ActionSheetDefaultIosCloseItem","ScreenSpinner","ScreenSpinnerContext","Snackbar","Tooltip","useTooltip","ModalRoot","withModalRootContext","ModalRootContext","useModalRootContext","ModalPageContent","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","ModalOutsideButton","Badge","ContentBadge","ButtonGroup","Card","CardGrid","CardScroll","ContentCard","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","CellButton","CellButtonGroup","HorizontalCell","HorizontalCellShowMore","Footer","InfoRow","Gallery","Avatar","GridAvatar","Image","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Mark","OnboardingTooltip","OnboardingTooltipContainer","Counter","UsersStack","Separator","Spacing","Box","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","Pagination","Accordion","AccordionContext","useAccordionContext","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","DropZone","Input","Chip","ChipsInput","ChipsSelect","Slider","Textarea","SelectionControl","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","SegmentedControl","Calendar","CalendarRange","DateInput","DateRangeInput","Skeleton","Div","DEFAULT_ARROW_HEIGHT","DEFAULT_ICON_ARROW_HEIGHT","DEFAULT_ARROW_WIDTH","DEFAULT_ICON_ARROW_WIDTH","DEFAULT_ARROW_PADDING","DEFAULT_ICON_ARROW_PADDING","DefaultIcon","FloatingArrow","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","VisuallyHidden","AdaptiveIconRenderer","AdaptivityProvider","ConfigProvider","useConfigProvider","ConfigProviderContext","ColorSchemeProvider","ColorScheme","DOMContext","LocaleProvider","DirectionProvider","PlatformProvider","Popover","usePopover","withPlatform","usePlatform","useConfigDirection","useDirection","useLocale","useAdaptivity","useAdaptivityConditionalRender","useAdaptivityWithJSMediaQueries","useColorScheme","usePagination","useOrientationChange","usePatchChildren","useTodayDate","useScrollLock","useManualScroll","useScroll","useNavTransition","useNavDirection","useNavId","useCSSKeyframesAnimationController","unstable_useCSSKeyframesAnimationController","useFocusVisible","classNames","animate","defaultFilterFn","filterFnForSelect","removeObjectKeys","SSRWrapper","platform","Platform","ViewWidth","ViewHeight","SizeType","getViewWidthByViewportWidth","getViewHeightByViewportHeight","calcInitialsAvatarColor","CustomScrollView","Popper","ViewInfinite","unstable_ViewInfinite","ModalPageFooter","unstable_ModalPageFooter"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/constants.css';\nimport './styles/adaptivity.module.css';\nimport './styles/dynamicTokens.css';\nimport './styles/focusVisible.module.css';\nimport './styles/animationFades.module.css';\nimport './styles/transformOriginByPlacement.module.css';\nimport './styles/gaps.module.css';\nimport './styles/layout.css';\n\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { AppRootPortal } from './components/AppRoot/AppRootPortal';\nexport type { AppRootProps } from './components/AppRoot/AppRoot';\nexport type { SafeAreaInsets } from './components/AppRoot/types';\n\n/**\n * Typography\n */\nexport type { TypographyProps } from './components/Typography/Typography';\nexport { DisplayTitle } from './components/Typography/DisplayTitle/DisplayTitle';\nexport type { DisplayTitleProps } from './components/Typography/DisplayTitle/DisplayTitle';\nexport { Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { Paragraph } from './components/Typography/Paragraph/Paragraph';\nexport type { ParagraphProps } from './components/Typography/Paragraph/Paragraph';\nexport { Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\nexport { Footnote } from './components/Typography/Footnote/Footnote';\nexport type { FootnoteProps } from './components/Typography/Footnote/Footnote';\nexport { Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { EllipsisText } from './components/Typography/EllipsisText/EllipsisText';\nexport type { EllipsisTextProps } from './components/Typography/EllipsisText/EllipsisText';\n/**\n * Service\n */\nexport { UnstyledTextField } from './components/UnstyledTextField/UnstyledTextField';\nexport type {\n UnstyledTextFieldAsInputProps,\n UnstyledTextFieldAsTextareaProps,\n UnstyledTextFieldBaseProps,\n UnstyledTextFieldProps,\n} from './components/UnstyledTextField/UnstyledTextField';\nexport { Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\nexport {\n ImageBaseContext,\n ImageBase,\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './components/ImageBase/ImageBase';\nexport type {\n ImageBaseProps,\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseFloatElementProps,\n FloatElementPlacement,\n FloatElementIndentation,\n} from './components/ImageBase/ImageBase';\n\n/**\n * Primitives\n */\nexport { Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { ToolButton } from './components/ToolButton/ToolButton';\nexport type { ToolButtonProps } from './components/ToolButton/ToolButton';\n\n/**\n * Layout\n */\nexport { Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { ScrollArrow } from './components/ScrollArrow/ScrollArrow';\nexport type { ScrollArrowProps } from './components/ScrollArrow/ScrollArrow';\nexport { HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { AspectRatio } from './components/AspectRatio/AspectRatio';\nexport type { AspectRatioProps } from './components/AspectRatio/AspectRatio';\nexport { Flex } from './components/Flex/Flex';\nexport type { FlexProps } from './components/Flex/Flex';\nexport type { FlexItemProps } from './components/Flex/FlexItem/FlexItem';\nexport { SimpleGrid } from './components/SimpleGrid/SimpleGrid';\nexport type { SimpleGridProps } from './components/SimpleGrid/SimpleGrid';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type {\n ActionSheetProps,\n ActionSheetOnCloseOptions,\n} from './components/ActionSheet/ActionSheet';\nexport { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';\nexport { ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport { ScreenSpinnerContext } from './components/ScreenSpinner/context';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerContextProps } from './components/ScreenSpinner/context';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\nexport { Tooltip } from './components/Tooltip/Tooltip';\nexport { useTooltip } from './components/Tooltip/useTooltip';\nexport type {\n TooltipProps,\n TooltipOnShownChange,\n TooltipArrowProps,\n} from './components/Tooltip/Tooltip';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRoot';\nexport type {\n ModalRootProps,\n ModalRootContextInterface,\n UseModalRootContext,\n} from './components/ModalRoot/types';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { useModalRootContext } from './components/ModalRoot/useModalRootContext';\nexport { ModalPageContent } from './components/ModalPageContent/ModalPageContent';\nexport { ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps, ModalPageCloseReason } from './components/ModalPage/types';\nexport { ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps, ModalCardCloseReason } from './components/ModalCard/types';\nexport { ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\nexport { ModalOutsideButton } from './components/ModalOutsideButton/ModalOutsideButton';\nexport type { ModalOutsideButtonProps } from './components/ModalOutsideButton/ModalOutsideButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { ContentBadge } from './components/ContentBadge/ContentBadge';\nexport type { ContentBadgeProps } from './components/ContentBadge/ContentBadge';\nexport { ButtonGroup } from './components/ButtonGroup/ButtonGroup';\nexport type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';\nexport { Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { List } from './components/List/List';\nexport type { ListProps } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport type { CellCheckboxProps } from './components/Cell/CellCheckbox/CellCheckbox';\nexport { RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { CellButtonGroup } from './components/CellButtonGroup/CellButtonGroup';\nexport type { CellButtonGroupProps } from './components/CellButtonGroup/CellButtonGroup';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { HorizontalCellShowMore } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport type { HorizontalCellShowMoreProps } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { Avatar } from './components/Avatar/Avatar';\nexport type { GetInitialsFontSizeType } from './components/Avatar/helpers';\nexport type {\n AvatarProps,\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n AvatarOverlayProps,\n} from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps, GridAvatarBadgeProps } from './components/GridAvatar/GridAvatar';\nexport { Image } from './components/Image/Image';\nexport type { ImageProps, ImageBadgeProps, ImageOverlayProps } from './components/Image/Image';\nexport { Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { Search } from './components/Search/Search';\nexport type { SearchProps, RenderIconButtonFn } from './components/Search/Search';\nexport { Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { Mark } from './components/Mark/Mark';\nexport type { MarkProps } from './components/Mark/Mark';\nexport { OnboardingTooltip } from './components/OnboardingTooltip/OnboardingTooltip';\nexport type { OnboardingTooltipProps } from './components/OnboardingTooltip/OnboardingTooltip';\nexport { OnboardingTooltipContainer } from './components/OnboardingTooltip/OnboardingTooltipContainer';\nexport { Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { UsersStack } from './components/UsersStack/UsersStack';\nexport type {\n UsersStackProps,\n UsersStackPhoto,\n UsersStackRenderWrapperProps,\n} from './components/UsersStack/UsersStack';\nexport { Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { Box } from './components/Box/Box';\nexport type { BoxProps } from './components/Box/Box';\nexport { Placeholder } from './components/Placeholder/Placeholder';\nexport type {\n PlaceholderProps,\n PlaceholderContainerProps,\n PlaceholderIconProps,\n PlaceholderTitleProps,\n PlaceholderDescriptionProps,\n PlaceholderActionsProps,\n} from './components/Placeholder/Placeholder';\nexport { Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\nexport { Pagination } from './components/Pagination/Pagination';\nexport type { PaginationProps } from './components/Pagination/Pagination';\nexport type { CustomPaginationPageButtonProps } from './components/Pagination/PaginationPage/PaginationPageButton';\nexport type { CustomPaginationNavigationButton } from './components/Pagination/PaginationNavigationButton/PaginationNavigationButton';\nexport { Accordion } from './components/Accordion/Accordion';\nexport type { AccordionProps } from './components/Accordion/Accordion';\nexport { AccordionContext, useAccordionContext } from './components/Accordion/AccordionContext';\nexport type { AccordionSummaryProps } from './components/Accordion/AccordionSummary';\nexport type { AccordionContentProps } from './components/Accordion/AccordionContent';\n\n/**\n * Forms\n */\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemTopProps } from './components/FormItem/FormItemTop/FormItemTop';\nexport type { FormItemTopLabelProps } from './components/FormItem/FormItemTop/FormItemTopLabel';\nexport type { FormItemTopAsideProps } from './components/FormItem/FormItemTop/FormItemTopAside';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps, FieldIconsAlign } from './components/FormField/FormField';\nexport { FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { DropZone } from './components/DropZone/DropZone';\nexport type { DropZoneProps } from './components/DropZone/DropZone';\nexport { Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport type { ChipProps } from './components/ChipsInputBase/Chip/Chip';\nexport { Chip } from './components/ChipsInputBase/Chip/Chip';\nexport type {\n ChipOption,\n RenderChipProps,\n ChipOptionValue,\n ChipOptionLabel,\n} from './components/ChipsInputBase/types';\nexport { ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { ChipsSelect } from './components/ChipsSelect/ChipsSelect';\nexport type { ChipsSelectProps } from './components/ChipsSelect/ChipsSelect';\nexport type { FormFieldClearButtonProps } from './components/FormFieldClearButton/FormFieldClearButton';\nexport { Slider } from './components/Slider/Slider';\nexport type { SliderBaseProps, SliderProps, SliderMultipleProps } from './components/Slider/Slider';\nexport { Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { SelectionControl } from './components/SelectionControl/SelectionControl';\nexport type { SelectionControlProps } from './components/SelectionControl/SelectionControl';\nexport { Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { RadioGroup } from './components/RadioGroup/RadioGroup';\nexport type { RadioGroupProps } from './components/RadioGroup/RadioGroup';\nexport { Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport type { CheckboxInputIconType } from './components/Checkbox/CheckboxInput/CheckboxInput';\nexport { Select } from './components/Select/Select';\nexport { SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type {\n SelectProps,\n CustomSelectClearButtonProps,\n} from './components/CustomSelect/CustomSelect';\nexport type {\n CustomSelectOptionInterface,\n CustomSelectRenderOption,\n} from './components/CustomSelect/types';\nexport { CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { SegmentedControl } from './components/SegmentedControl/SegmentedControl';\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from './components/SegmentedControl/SegmentedControl';\nexport { Calendar } from './components/Calendar/Calendar';\nexport type { CalendarProps } from './components/Calendar/Calendar';\nexport { CalendarRange } from './components/CalendarRange/CalendarRange';\nexport type { CalendarRangeProps } from './components/CalendarRange/CalendarRange';\nexport { DateInput } from './components/DateInput/DateInput';\nexport type { DateInputProps } from './components/DateInput/DateInput';\nexport { DateRangeInput } from './components/DateRangeInput/DateRangeInput';\nexport type { DateRangeInputProps } from './components/DateRangeInput/DateRangeInput';\nexport { Skeleton } from './components/Skeleton/Skeleton';\nexport type { SkeletonProps } from './components/Skeleton/Skeleton';\n\n/**\n * Helpers\n */\nexport { Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport {\n DEFAULT_ARROW_HEIGHT as DEFAULT_ICON_ARROW_HEIGHT,\n DEFAULT_ARROW_WIDTH as DEFAULT_ICON_ARROW_WIDTH,\n DEFAULT_ARROW_PADDING as DEFAULT_ICON_ARROW_PADDING,\n DefaultIcon,\n} from './components/FloatingArrow/DefaultIcon';\nexport { FloatingArrow } from './components/FloatingArrow/FloatingArrow';\nexport type { FloatingArrowProps } from './components/FloatingArrow/FloatingArrow';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps, CustomTouchEvent } from './components/Touch/Touch';\nexport { PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport type { PanelHeaderCloseProps } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport type { PanelHeaderBackProps } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport type { PanelHeaderSubmitProps } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\nexport { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden';\nexport type { VisuallyHiddenProps } from './components/VisuallyHidden/VisuallyHidden';\nexport { AdaptiveIconRenderer } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\nexport type { AdaptiveIconRendererProps } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\n\n/**\n * Wrappers\n */\nexport { AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport type { AdaptivityProviderProps } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n useConfigProvider,\n ConfigProviderContext,\n} from './components/ConfigProvider/ConfigProviderContext';\nexport { ColorSchemeProvider } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport type { ColorSchemeProviderProps } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport { ColorScheme } from './lib/colorScheme';\nexport type { ColorSchemeType } from './lib/colorScheme';\nexport { DOMContext } from './lib/dom';\nexport { LocaleProvider } from './components/LocaleProvider/LocaleProvider';\nexport { DirectionProvider } from './components/DirectionProvider/DirectionProvider';\nexport type { LocaleProviderProps } from './components/LocaleProvider/LocaleProvider';\nexport type { DirectionProviderProps } from './components/DirectionProvider/DirectionProvider';\nexport { PlatformProvider } from './components/PlatformProvider/PlatformProvider';\nexport type { PlatformProviderProps } from './components/PlatformProvider/PlatformProvider';\nexport { Popover } from './components/Popover/Popover';\nexport type {\n PopoverProps,\n PopoverOnShownChange,\n PopoverArrowProps,\n PopoverContentRenderProp,\n} from './components/Popover/Popover';\nexport { usePopover } from './components/Popover/usePopover';\n\n/**\n * HOCs\n */\nexport { withPlatform } from './hoc/withPlatform';\n\n/**\n * Hooks\n */\nexport { usePlatform } from './hooks/usePlatform';\nexport { useConfigDirection as useDirection } from './hooks/useConfigDirection';\nexport { useLocale } from './hooks/useLocale';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport {\n type UseAdaptivityConditionalRender,\n useAdaptivityConditionalRender,\n} from './hooks/useAdaptivityConditionalRender';\nexport {\n type UseAdaptivityWithJSMediaQueries,\n useAdaptivityWithJSMediaQueries,\n} from './hooks/useAdaptivityWithJSMediaQueries';\nexport { useColorScheme } from './hooks/useColorScheme';\nexport { usePagination } from './hooks/usePagination';\nexport { type Orientation, useOrientationChange } from './hooks/useOrientationChange';\nexport { usePatchChildren } from './hooks/usePatchChildren';\nexport { useTodayDate } from './hooks/useTodayDate';\nexport { useScrollLock, useManualScroll as useScroll } from './components/AppRoot/ScrollContext';\nexport { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';\nexport { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useNavId } from './components/NavIdContext/useNavId';\nexport type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useCSSKeyframesAnimationController as unstable_useCSSKeyframesAnimationController } from './lib/animation';\nexport { useFocusVisible } from './hooks/useFocusVisible';\nexport { useReducedMotion as unstable_useReducedMotion } from './lib/animation';\n\n/**\n * Utils\n */\nexport { classNames } from '@vkontakte/vkjs';\nexport { animate } from './lib/animate';\nexport { defaultFilterFn as filterFnForSelect } from './lib/select';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport type { SSRWrapperProps } from './lib/SSR';\nexport { platform, Platform } from './lib/platform';\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n getViewWidthByViewportWidth,\n getViewHeightByViewportHeight,\n} from './lib/adaptivity';\nexport {\n type Placement as FloatingPlacement,\n type PlacementWithAuto as FloatingPlacementWithAuto,\n} from './lib/floating';\nexport type { AdaptivityProps } from './components/AdaptivityProvider/AdaptivityContext';\nexport { calcInitialsAvatarColor } from './helpers/avatar';\nexport { CustomScrollView } from './components/CustomScrollView/CustomScrollView';\nexport type { CustomScrollViewProps } from './components/CustomScrollView/CustomScrollView';\nexport { Popper } from './components/Popper/Popper';\nexport type { PopperProps } from './components/Popper/Popper';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasRef, HasRootRef } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { TransitionContextProps } from './components/NavTransitionContext/NavTransitionContext';\n\n/**\n * Unstable\n */\nexport { ViewInfinite as unstable_ViewInfinite } from './components/View/ViewInfinite';\nexport type { ViewInfiniteProps as unstable_ViewInfiniteProps } from './components/View/ViewInfinite';\nexport { ModalPageFooter as unstable_ModalPageFooter } from './components/ModalPageFooter/ModalPageFooter';\nexport type { ModalPageFooterProps as unstable_ModalPageFooterProps } from './components/ModalPageFooter/ModalPageFooter';\n\nimport './styles/common.css';\n"],"names":["AppRoot","AppRootPortal","DisplayTitle","Title","Headline","Text","Paragraph","Subhead","Footnote","Caption","EllipsisText","UnstyledTextField","Tappable","FixedLayout","ImageBaseContext","ImageBase","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","Button","IconButton","ToolButton","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","ScrollArrow","HorizontalScroll","AspectRatio","Flex","SimpleGrid","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ActionSheetDefaultIosCloseItem","ScreenSpinner","ScreenSpinnerContext","Snackbar","Tooltip","useTooltip","ModalRoot","withModalRootContext","ModalRootContext","useModalRootContext","ModalPageContent","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","ModalOutsideButton","Badge","ContentBadge","ButtonGroup","Card","CardGrid","CardScroll","ContentCard","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","CellButton","CellButtonGroup","HorizontalCell","HorizontalCellShowMore","Footer","InfoRow","Gallery","Avatar","GridAvatar","Image","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Mark","OnboardingTooltip","OnboardingTooltipContainer","Counter","UsersStack","Separator","Spacing","Box","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","Pagination","Accordion","AccordionContext","useAccordionContext","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","DropZone","Input","Chip","ChipsInput","ChipsSelect","Slider","Textarea","SelectionControl","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","SegmentedControl","Calendar","CalendarRange","DateInput","DateRangeInput","Skeleton","Div","DEFAULT_ARROW_HEIGHT","DEFAULT_ICON_ARROW_HEIGHT","DEFAULT_ARROW_WIDTH","DEFAULT_ICON_ARROW_WIDTH","DEFAULT_ARROW_PADDING","DEFAULT_ICON_ARROW_PADDING","DefaultIcon","FloatingArrow","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","VisuallyHidden","AdaptiveIconRenderer","AdaptivityProvider","ConfigProvider","useConfigProvider","ConfigProviderContext","ColorSchemeProvider","ColorScheme","DOMContext","LocaleProvider","DirectionProvider","PlatformProvider","Popover","usePopover","withPlatform","usePlatform","useConfigDirection","useDirection","useLocale","useAdaptivity","useAdaptivityConditionalRender","useAdaptivityWithJSMediaQueries","useColorScheme","usePagination","useOrientationChange","usePatchChildren","useTodayDate","useScrollLock","useManualScroll","useScroll","useNavTransition","useNavDirection","useNavId","useCSSKeyframesAnimationController","unstable_useCSSKeyframesAnimationController","useFocusVisible","useReducedMotion","unstable_useReducedMotion","classNames","animate","defaultFilterFn","filterFnForSelect","removeObjectKeys","SSRWrapper","platform","Platform","ViewWidth","ViewHeight","SizeType","getViewWidthByViewportWidth","getViewHeightByViewportHeight","calcInitialsAvatarColor","CustomScrollView","Popper","ViewInfinite","unstable_ViewInfinite","ModalPageFooter","unstable_ModalPageFooter"],"mappings":"AAAA,OAAO,yBAAyB;AAChC,OAAO,iCAAiC;AACxC,OAAO,6BAA6B;AACpC,OAAO,mCAAmC;AAC1C,OAAO,qCAAqC;AAC5C,OAAO,iDAAiD;AACxD,OAAO,2BAA2B;AAClC,OAAO,sBAAsB;AAE7B,SAASA,OAAO,QAAQ,kCAA+B;AACvD,SAASC,aAAa,QAAQ,wCAAqC;AAQnE,SAASC,YAAY,QAAQ,uDAAoD;AAEjF,SAASC,KAAK,QAAQ,yCAAsC;AAE5D,SAASC,QAAQ,QAAQ,+CAA4C;AAErE,SAASC,IAAI,QAAQ,uCAAoC;AAEzD,SAASC,SAAS,QAAQ,iDAA8C;AAExE,SAASC,OAAO,QAAQ,6CAA0C;AAElE,SAASC,QAAQ,QAAQ,+CAA4C;AAErE,SAASC,OAAO,QAAQ,6CAA0C;AAElE,SAASC,YAAY,QAAQ,uDAAoD;AAEjF;;CAEC,GACD,SAASC,iBAAiB,QAAQ,sDAAmD;AAOrF,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SACEC,gBAAgB,EAChBC,SAAS,EACTC,+BAA+B,EAC/BC,kCAAkC,EAClCC,iCAAiC,QAC5B,sCAAmC;AAY1C;;CAEC,GACD,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,UAAU,QAAQ,wCAAqC;AAGhE;;CAEC,GACD,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,iBAAiB,QAAQ,sDAAmD;AAErF,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SAASC,kBAAkB,QAAQ,wDAAqD;AAExF,SAASC,kBAAkB,QAAQ,wDAAqD;AAExF,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SAASC,gBAAgB,QAAQ,oDAAiD;AAElF,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SAASC,IAAI,QAAQ,4BAAyB;AAG9C,SAASC,UAAU,QAAQ,wCAAqC;AAGhE;;CAEC,GACD,SAASC,aAAa,QAAQ,8CAA2C;AAEzE,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,WAAW,QAAQ,0CAAuC;AAKnE,SAASC,eAAe,QAAQ,kDAA+C;AAE/E,SAASC,8BAA8B,QAAQ,6DAA0D;AACzG,SAASC,aAAa,QAAQ,8CAA2C;AACzE,SAASC,oBAAoB,QAAQ,wCAAqC;AAG1E,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,OAAO,QAAQ,kCAA+B;AACvD,SAASC,UAAU,QAAQ,qCAAkC;AAO7D;;CAEC,GACD,SAASC,SAAS,QAAQ,sCAAmC;AAM7D,SAASC,oBAAoB,QAAQ,iDAA8C;AACnF,SAASC,gBAAgB,QAAQ,6CAA0C;AAC3E,SAASC,mBAAmB,QAAQ,gDAA6C;AACjF,SAASC,gBAAgB,QAAQ,oDAAiD;AAClF,SAASC,SAAS,QAAQ,sCAAmC;AAE7D,SAASC,eAAe,QAAQ,kDAA+C;AAE/E,SAASC,SAAS,QAAQ,sCAAmC;AAE7D,SAASC,kBAAkB,QAAQ,wDAAqD;AAExF,SAASC,kBAAkB,QAAQ,wDAAqD;AAGxF;;CAEC,GACD,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,YAAY,QAAQ,4CAAyC;AAEtE,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,WAAW,QAAQ,0CAAuC;AAEnE,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,IAAI,QAAQ,4BAAyB;AAG9C,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,eAAe,QAAQ,kDAA+C;AAE/E,SAASC,cAAc,QAAQ,gDAA6C;AAE5E,SAASC,sBAAsB,QAAQ,iFAA8E;AAErH,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,OAAO,QAAQ,kCAA+B;AAEvD,SAASC,OAAO,QAAQ,kCAA+B;AAEvD,SAASC,MAAM,QAAQ,gCAA6B;AAQpD,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,OAAO,QAAQ,kCAA+B;AAEvD,SAASC,aAAa,QAAQ,8CAA2C;AAEzE,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,iBAAiB,QAAQ,sDAAmD;AAErF,SAASC,0BAA0B,QAAQ,+DAA4D;AACvG,SAASC,OAAO,QAAQ,kCAA+B;AAEvD,SAASC,UAAU,QAAQ,wCAAqC;AAMhE,SAASC,SAAS,QAAQ,sCAAmC;AAE7D,SAASC,OAAO,QAAQ,kCAA+B;AAEvD,SAASC,GAAG,QAAQ,0BAAuB;AAE3C,SAASC,WAAW,QAAQ,0CAAuC;AASnE,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,YAAY,QAAQ,4CAAyC;AAEtE,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,YAAY,QAAQ,4CAAyC;AAEtE,SAASC,gBAAgB,QAAQ,oDAAiD;AAElF,SAASC,mBAAmB,QAAQ,0DAAuD;AAE3F,SAASC,UAAU,QAAQ,wCAAqC;AAIhE,SAASC,SAAS,QAAQ,sCAAmC;AAE7D,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ,6CAA0C;AAIhG;;CAEC,GACD,SAASC,QAAQ,QAAQ,oCAAiC;AAK1D,SAASC,SAAS,QAAQ,sCAAmC;AAE7D,SAASC,eAAe,QAAQ,kDAA+C;AAE/E,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,IAAI,QAAQ,4BAAyB;AAE9C,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,KAAK,QAAQ,8BAA2B;AAGjD,SAASC,IAAI,QAAQ,2CAAwC;AAO7D,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,WAAW,QAAQ,0CAAuC;AAGnE,SAASC,MAAM,QAAQ,gCAA6B;AAEpD,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,gBAAgB,QAAQ,oDAAiD;AAElF,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SAASC,QAAQ,QAAQ,oCAAiC;AAG1D,SAASC,MAAM,QAAQ,gCAA6B;AACpD,SAASC,aAAa,QAAQ,8CAA2C;AAEzE,SAASC,YAAY,QAAQ,4CAAyC;AAEtE,SAASC,YAAY,QAAQ,4CAAyC;AAStE,SAASC,kBAAkB,QAAQ,wDAAqD;AAExF,SAASC,gBAAgB,QAAQ,oDAAiD;AAMlF,SAASC,QAAQ,QAAQ,oCAAiC;AAE1D,SAASC,aAAa,QAAQ,8CAA2C;AAEzE,SAASC,SAAS,QAAQ,sCAAmC;AAE7D,SAASC,cAAc,QAAQ,gDAA6C;AAE5E,SAASC,QAAQ,QAAQ,oCAAiC;AAG1D;;CAEC,GACD,SAASC,GAAG,QAAQ,0BAAuB;AAE3C,SACEC,wBAAwBC,yBAAyB,EACjDC,uBAAuBC,wBAAwB,EAC/CC,yBAAyBC,0BAA0B,EACnDC,WAAW,QACN,4CAAyC;AAChD,SAASC,aAAa,QAAQ,8CAA2C;AAEzE,SAASC,KAAK,QAAQ,8BAA2B;AAEjD,SAASC,YAAY,QAAQ,4CAAyC;AAEtE,SAASC,gBAAgB,QAAQ,oDAAiD;AAElF,SAASC,eAAe,QAAQ,kDAA+C;AAE/E,SAASC,iBAAiB,QAAQ,sDAAmD;AAErF,SAASC,eAAe,QAAQ,kDAA+C;AAE/E,SAASC,aAAa,QAAQ,8CAA2C;AAEzE,SAASC,cAAc,QAAQ,gDAA6C;AAE5E,SAASC,oBAAoB,QAAQ,4DAAyD;AAG9F;;CAEC,GACD,SAASC,kBAAkB,QAAQ,wDAAqD;AAExF,SAASC,cAAc,QAAQ,gDAA6C;AAE5E,SACEC,iBAAiB,EACjBC,qBAAqB,QAChB,uDAAoD;AAC3D,SAASC,mBAAmB,QAAQ,0DAAuD;AAE3F,SAASC,WAAW,QAAQ,6BAAoB;AAEhD,SAASC,UAAU,QAAQ,eAAY;AACvC,SAASC,cAAc,QAAQ,gDAA6C;AAC5E,SAASC,iBAAiB,QAAQ,sDAAmD;AAGrF,SAASC,gBAAgB,QAAQ,oDAAiD;AAElF,SAASC,OAAO,QAAQ,kCAA+B;AAOvD,SAASC,UAAU,QAAQ,qCAAkC;AAE7D;;CAEC,GACD,SAASC,YAAY,QAAQ,wBAAqB;AAElD;;CAEC,GACD,SAASC,WAAW,QAAQ,yBAAsB;AAClD,SAASC,sBAAsBC,YAAY,QAAQ,gCAA6B;AAChF,SAASC,SAAS,QAAQ,uBAAoB;AAC9C,SAASC,aAAa,QAAQ,2BAAwB;AACtD,SAEEC,8BAA8B,QACzB,kDAAyC;AAChD,SAEEC,+BAA+B,QAC1B,6CAA0C;AACjD,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,aAAa,QAAQ,2BAAwB;AACtD,SAA2BC,oBAAoB,QAAQ,kCAA+B;AACtF,SAASC,gBAAgB,QAAQ,8BAA2B;AAC5D,SAASC,YAAY,QAAQ,0BAAuB;AACpD,SAASC,aAAa,EAAEC,mBAAmBC,SAAS,QAAQ,wCAAqC;AACjG,SAASC,gBAAgB,QAAQ,4DAAyD;AAC1F,SAASC,eAAe,QAAQ,8EAA2E;AAC3G,SAASC,QAAQ,QAAQ,wCAAqC;AAE9D,SAASC,sCAAsCC,2CAA2C,QAAQ,2BAAkB;AACpH,SAASC,eAAe,QAAQ,6BAA0B;AAC1D,SAASC,oBAAoBC,yBAAyB,QAAQ,2BAAkB;AAEhF;;CAEC,GACD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,OAAO,QAAQ,mBAAgB;AACxC,SAASC,mBAAmBC,iBAAiB,QAAQ,kBAAe;AACpE,SAASC,gBAAgB,QAAQ,4BAAyB;AAC1D,SAASC,UAAU,QAAQ,eAAY;AAEvC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,oBAAiB;AACpD,SACEC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,2BAA2B,EAC3BC,6BAA6B,QACxB,4BAAmB;AAM1B,SAASC,uBAAuB,QAAQ,sBAAmB;AAC3D,SAASC,gBAAgB,QAAQ,oDAAiD;AAElF,SAASC,MAAM,QAAQ,gCAA6B;AAWpD;;CAEC,GACD,SAASC,gBAAgBC,qBAAqB,QAAQ,oCAAiC;AAEvF,SAASC,mBAAmBC,wBAAwB,QAAQ,kDAA+C;AAG3G,OAAO,sBAAsB"}