@vkontakte/vkui 4.24.0 → 4.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1490) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +1054 -490
  4. package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +6 -5
  5. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
  6. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +4 -4
  7. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -5
  8. package/.cache/ts/src/components/Alert/Alert.d.ts +5 -21
  9. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -2
  10. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -1
  11. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +1 -1
  12. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +6 -0
  13. package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +8 -0
  14. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -1
  15. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  16. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +1 -1
  17. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +9 -2
  18. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
  19. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -4
  20. package/.cache/ts/src/components/ChipsInput/useChipsInput.d.ts +3 -3
  21. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +2 -5
  22. package/.cache/ts/src/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  23. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  24. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +3 -1
  25. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +2 -29
  26. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  27. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -65
  28. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  29. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
  30. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +2 -43
  31. package/.cache/ts/src/components/Epic/Epic.d.ts +3 -3
  32. package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +0 -1
  33. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -1
  34. package/.cache/ts/src/components/Gallery/Gallery.d.ts +1 -1
  35. package/.cache/ts/src/components/Group/Group.d.ts +1 -1
  36. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +2 -2
  37. package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +1 -1
  38. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  39. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  40. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +2 -2
  41. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +2 -1
  42. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +2 -2
  43. package/.cache/ts/src/components/ModalPageHeader/ModalPageHeader.d.ts +2 -10
  44. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
  45. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +2 -2
  46. package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +1 -1
  47. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  48. package/.cache/ts/src/components/ModalRoot/types.d.ts +1 -1
  49. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +9 -9
  50. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +2 -2
  51. package/.cache/ts/src/components/Panel/Panel.d.ts +2 -2
  52. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
  53. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  54. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  55. package/.cache/ts/src/components/Popper/Popper.d.ts +2 -2
  56. package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  57. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  58. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
  59. package/.cache/ts/src/components/RichCell/RichCell.d.ts +1 -1
  60. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +2 -43
  61. package/.cache/ts/src/components/Search/Search.d.ts +1 -1
  62. package/.cache/ts/src/components/Select/Select.d.ts +2 -2
  63. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  64. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  65. package/.cache/ts/src/components/Slider/Slider.d.ts +1 -8
  66. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  67. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +2 -2
  68. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -1
  69. package/.cache/ts/src/components/Tabs/Tabs.d.ts +2 -2
  70. package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
  71. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +2 -37
  72. package/.cache/ts/src/components/Textarea/Textarea.d.ts +1 -1
  73. package/.cache/ts/src/components/Tooltip/TooltipContainer.d.ts +1 -1
  74. package/.cache/ts/src/components/UsersStack/masks.d.ts +1 -1
  75. package/.cache/ts/src/components/View/View.d.ts +9 -9
  76. package/.cache/ts/src/components/View/ViewInfinite.d.ts +11 -11
  77. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +1 -1
  78. package/.cache/ts/src/helpers/getScheme.d.ts +8 -0
  79. package/.cache/ts/src/helpers/scheme.d.ts +34 -0
  80. package/.cache/ts/src/hoc/withAdaptivity.d.ts +3 -2
  81. package/.cache/ts/src/hoc/withContext.d.ts +1 -1
  82. package/.cache/ts/src/hoc/withInsets.d.ts +3 -1
  83. package/.cache/ts/src/hoc/withPlatform.d.ts +3 -1
  84. package/.cache/ts/src/hooks/useAdaptivity.d.ts +2 -2
  85. package/.cache/ts/src/hooks/useAppearance.d.ts +1 -1
  86. package/.cache/ts/src/hooks/useEnsuredControl.d.ts +1 -1
  87. package/.cache/ts/src/hooks/useEventListener.d.ts +3 -3
  88. package/.cache/ts/src/hooks/useExternRef.d.ts +1 -1
  89. package/.cache/ts/src/hooks/useFocusVisible.d.ts +1 -1
  90. package/.cache/ts/src/hooks/useGlobalEventListener.d.ts +2 -2
  91. package/.cache/ts/src/hooks/useInsets.d.ts +7 -1
  92. package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +1 -1
  93. package/.cache/ts/src/hooks/usePlatform.d.ts +1 -1
  94. package/.cache/ts/src/hooks/useWaitTransitionFinish.d.ts +1 -1
  95. package/.cache/ts/src/index.d.ts +6 -4
  96. package/.cache/ts/src/lib/SSR.d.ts +1 -1
  97. package/.cache/ts/src/lib/accessibility.d.ts +1 -1
  98. package/.cache/ts/src/lib/dom.d.ts +3 -3
  99. package/.cache/ts/src/lib/getNavId.d.ts +1 -1
  100. package/.cache/ts/src/lib/jsxRuntime.d.ts +7 -3
  101. package/.cache/ts/src/lib/offset.d.ts +5 -5
  102. package/.cache/ts/src/lib/platform.d.ts +1 -1
  103. package/.cache/ts/src/lib/prefixClass.d.ts +1 -1
  104. package/.cache/ts/src/lib/select.d.ts +2 -2
  105. package/.cache/ts/src/lib/styles.d.ts +1 -1
  106. package/.cache/ts/src/lib/supportEvents.d.ts +1 -1
  107. package/.cache/ts/src/lib/utils.d.ts +1 -1
  108. package/.cache/ts/src/testing/utils.d.ts +2 -2
  109. package/.cache/ts/src/tokenized/index.d.ts +2 -0
  110. package/.eslintrc.json +11 -5
  111. package/VKUI_TOKENS_MIGRATION_GUIDE.md +76 -0
  112. package/dist/{5c1a8c271e68390145da2b270f47c843.woff → 5c1a8c271e68390145da.woff} +0 -0
  113. package/dist/{7082adfe0b49e2f8da5bf38d29e318ac.woff2 → 7082adfe0b49e2f8da5b.woff2} +0 -0
  114. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -2
  115. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  116. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +6 -5
  117. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  118. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
  119. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  120. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
  121. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +7 -11
  122. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  123. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +4 -4
  124. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js +4 -2
  125. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  126. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -5
  127. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +10 -5
  128. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  129. package/dist/cjs/components/Alert/Alert.d.ts +5 -21
  130. package/dist/cjs/components/Alert/Alert.js +33 -22
  131. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  132. package/dist/cjs/components/AppRoot/AppRoot.d.ts +1 -2
  133. package/dist/cjs/components/AppRoot/AppRoot.js +28 -18
  134. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  135. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -1
  136. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  137. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +1 -1
  138. package/dist/cjs/components/AppRoot/ScrollContext.js +6 -4
  139. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  140. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +6 -0
  141. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +50 -0
  142. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -0
  143. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +8 -0
  144. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js +14 -0
  145. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -0
  146. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
  147. package/dist/cjs/components/Avatar/Avatar.js +15 -16
  148. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  149. package/dist/cjs/components/Banner/Banner.js +3 -2
  150. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  151. package/dist/cjs/components/Button/Button.d.ts +1 -1
  152. package/dist/cjs/components/Button/Button.js +3 -5
  153. package/dist/cjs/components/Button/Button.js.map +1 -1
  154. package/dist/cjs/components/Card/Card.js +2 -1
  155. package/dist/cjs/components/Card/Card.js.map +1 -1
  156. package/dist/cjs/components/CardGrid/CardGrid.d.ts +1 -1
  157. package/dist/cjs/components/CardGrid/CardGrid.js +1 -1
  158. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  159. package/dist/cjs/components/CardScroll/CardScroll.d.ts +9 -2
  160. package/dist/cjs/components/CardScroll/CardScroll.js +19 -5
  161. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  162. package/dist/cjs/components/Cell/Cell.js +1 -1
  163. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  164. package/dist/cjs/components/Cell/useDraggable.js +58 -47
  165. package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
  166. package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -1
  167. package/dist/cjs/components/Checkbox/Checkbox.js +2 -1
  168. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  169. package/dist/cjs/components/Chip/Chip.js +2 -1
  170. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  171. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -4
  172. package/dist/cjs/components/ChipsInput/ChipsInput.js +73 -64
  173. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  174. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +3 -3
  175. package/dist/cjs/components/ChipsInput/useChipsInput.js +2 -2
  176. package/dist/cjs/components/ChipsInput/useChipsInput.js.map +1 -1
  177. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +2 -5
  178. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +78 -67
  179. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  180. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  181. package/dist/cjs/components/ChipsSelect/useChipsSelect.js +6 -3
  182. package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +1 -1
  183. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
  184. package/dist/cjs/components/ClickPopper/ClickPopper.js +7 -3
  185. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  186. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +3 -1
  187. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +55 -42
  188. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  189. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +2 -29
  190. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +1 -23
  191. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  192. package/dist/cjs/components/ContentCard/ContentCard.js +10 -1
  193. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  194. package/dist/cjs/components/Counter/Counter.js +1 -1
  195. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  196. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  197. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +24 -9
  198. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  199. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -65
  200. package/dist/cjs/components/CustomSelect/CustomSelect.js +98 -72
  201. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  202. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  203. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  204. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +4 -3
  205. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  206. package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -1
  207. package/dist/cjs/components/DatePicker/DatePicker.js +40 -26
  208. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  209. package/dist/cjs/components/Div/Div.js +2 -1
  210. package/dist/cjs/components/Div/Div.js.map +1 -1
  211. package/dist/cjs/components/Dropdown/Dropdown.d.ts +2 -43
  212. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  213. package/dist/cjs/components/Epic/Epic.d.ts +3 -3
  214. package/dist/cjs/components/Epic/Epic.js +7 -4
  215. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  216. package/dist/cjs/components/Epic/ScrollSaver.d.ts +0 -1
  217. package/dist/cjs/components/Epic/ScrollSaver.js +3 -1
  218. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  219. package/dist/cjs/components/File/File.js +5 -2
  220. package/dist/cjs/components/File/File.js.map +1 -1
  221. package/dist/cjs/components/FixedLayout/FixedLayout.js +5 -4
  222. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  223. package/dist/cjs/components/FocusTrap/FocusTrap.js +3 -3
  224. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  225. package/dist/cjs/components/FormItem/FormItem.js +3 -1
  226. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  227. package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -1
  228. package/dist/cjs/components/FormLayout/FormLayout.js +6 -7
  229. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  230. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +5 -2
  231. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  232. package/dist/cjs/components/Gallery/Gallery.d.ts +1 -1
  233. package/dist/cjs/components/Gallery/Gallery.js +129 -80
  234. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  235. package/dist/cjs/components/Gradient/Gradient.js +2 -1
  236. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  237. package/dist/cjs/components/Group/Group.d.ts +1 -1
  238. package/dist/cjs/components/Group/Group.js +1 -1
  239. package/dist/cjs/components/Group/Group.js.map +1 -1
  240. package/dist/cjs/components/Header/Header.js +4 -1
  241. package/dist/cjs/components/Header/Header.js.map +1 -1
  242. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +2 -2
  243. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +21 -9
  244. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  245. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -1
  246. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  247. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +1 -1
  248. package/dist/cjs/components/HoverPopper/HoverPopper.js +6 -3
  249. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  250. package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
  251. package/dist/cjs/components/IconButton/IconButton.js +9 -1
  252. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  253. package/dist/cjs/components/InfoRow/InfoRow.js +2 -1
  254. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  255. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +1 -1
  256. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  257. package/dist/cjs/components/Input/Input.d.ts +1 -1
  258. package/dist/cjs/components/Input/Input.js +1 -1
  259. package/dist/cjs/components/Input/Input.js.map +1 -1
  260. package/dist/cjs/components/Link/Link.js +2 -1
  261. package/dist/cjs/components/Link/Link.js.map +1 -1
  262. package/dist/cjs/components/List/List.js +2 -1
  263. package/dist/cjs/components/List/List.js.map +1 -1
  264. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -1
  265. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  266. package/dist/cjs/components/ModalCard/ModalCard.d.ts +2 -2
  267. package/dist/cjs/components/ModalCard/ModalCard.js +1 -1
  268. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  269. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +2 -1
  270. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  271. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +2 -1
  272. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  273. package/dist/cjs/components/ModalPage/ModalPage.d.ts +2 -2
  274. package/dist/cjs/components/ModalPage/ModalPage.js +2 -2
  275. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  276. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +2 -10
  277. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +32 -32
  278. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  279. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +1 -1
  280. package/dist/cjs/components/ModalRoot/ModalRoot.js +116 -47
  281. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  282. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +2 -2
  283. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  284. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
  285. package/dist/cjs/components/ModalRoot/ModalRootContext.js +20 -15
  286. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  287. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  288. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +35 -16
  289. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  290. package/dist/cjs/components/ModalRoot/constants.js +1 -1
  291. package/dist/cjs/components/ModalRoot/types.d.ts +1 -1
  292. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  293. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +9 -9
  294. package/dist/cjs/components/ModalRoot/useModalManager.js +11 -9
  295. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  296. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  297. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +2 -2
  298. package/dist/cjs/components/NativeSelect/NativeSelect.js +5 -2
  299. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  300. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js +1 -1
  301. package/dist/cjs/components/Panel/Panel.d.ts +2 -2
  302. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  303. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +1 -1
  304. package/dist/cjs/components/PanelHeader/PanelHeader.js +23 -23
  305. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  306. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  307. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
  308. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  309. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +14 -5
  310. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  311. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +2 -1
  312. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  313. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -2
  314. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  315. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  316. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  317. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -1
  318. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  319. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -1
  320. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  321. package/dist/cjs/components/PanelSpinner/PanelSpinner.js +1 -1
  322. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  323. package/dist/cjs/components/Placeholder/Placeholder.js +2 -1
  324. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  325. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  326. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +2 -2
  327. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  328. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +3 -3
  329. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  330. package/dist/cjs/components/Popper/Popper.d.ts +2 -2
  331. package/dist/cjs/components/Popper/Popper.js +11 -5
  332. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  333. package/dist/cjs/components/Progress/Progress.js +4 -5
  334. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  335. package/dist/cjs/components/PromoBanner/PromoBanner.js +9 -1
  336. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  337. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  338. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +11 -8
  339. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  340. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +12 -20
  341. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  342. package/dist/cjs/components/Radio/Radio.d.ts +1 -1
  343. package/dist/cjs/components/Radio/Radio.js +2 -1
  344. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  345. package/dist/cjs/components/RangeSlider/RangeSlider.js +18 -11
  346. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  347. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +1 -1
  348. package/dist/cjs/components/RangeSlider/UniversalSlider.js +18 -13
  349. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  350. package/dist/cjs/components/Removable/Removable.js +6 -3
  351. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  352. package/dist/cjs/components/RichCell/RichCell.d.ts +1 -1
  353. package/dist/cjs/components/RichCell/RichCell.js +2 -1
  354. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  355. package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +2 -43
  356. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  357. package/dist/cjs/components/Root/Root.js +17 -12
  358. package/dist/cjs/components/Root/Root.js.map +1 -1
  359. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +2 -1
  360. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  361. package/dist/cjs/components/Search/Search.d.ts +1 -1
  362. package/dist/cjs/components/Search/Search.js +12 -9
  363. package/dist/cjs/components/Search/Search.js.map +1 -1
  364. package/dist/cjs/components/Select/Select.d.ts +2 -2
  365. package/dist/cjs/components/Select/Select.js +2 -1
  366. package/dist/cjs/components/Select/Select.js.map +1 -1
  367. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  368. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +3 -3
  369. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  370. package/dist/cjs/components/Separator/Separator.js +2 -1
  371. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  372. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +1 -1
  373. package/dist/cjs/components/SimpleCell/SimpleCell.js +2 -1
  374. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  375. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +7 -6
  376. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  377. package/dist/cjs/components/Slider/Slider.d.ts +1 -8
  378. package/dist/cjs/components/Slider/Slider.js +20 -15
  379. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  380. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  381. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +14 -7
  382. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  383. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -1
  384. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  385. package/dist/cjs/components/Snackbar/Snackbar.d.ts +2 -2
  386. package/dist/cjs/components/Snackbar/Snackbar.js +12 -4
  387. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  388. package/dist/cjs/components/Spinner/Spinner.js +1 -1
  389. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  390. package/dist/cjs/components/SplitCol/SplitCol.d.ts +1 -1
  391. package/dist/cjs/components/SplitCol/SplitCol.js +2 -2
  392. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  393. package/dist/cjs/components/Tabbar/Tabbar.js +2 -1
  394. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  395. package/dist/cjs/components/TabbarItem/TabbarItem.js +10 -2
  396. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  397. package/dist/cjs/components/Tabs/Tabs.d.ts +2 -2
  398. package/dist/cjs/components/Tabs/Tabs.js +1 -1
  399. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  400. package/dist/cjs/components/TabsItem/TabsItem.js +2 -1
  401. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  402. package/dist/cjs/components/Tappable/Tappable.d.ts +1 -1
  403. package/dist/cjs/components/Tappable/Tappable.js +9 -6
  404. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  405. package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +2 -37
  406. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  407. package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
  408. package/dist/cjs/components/Textarea/Textarea.js +4 -4
  409. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  410. package/dist/cjs/components/Tooltip/Tooltip.js +26 -10
  411. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  412. package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +1 -1
  413. package/dist/cjs/components/Tooltip/TooltipContainer.js +1 -1
  414. package/dist/cjs/components/Touch/Touch.js +38 -21
  415. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  416. package/dist/cjs/components/Touch/TouchContext.js +2 -1
  417. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  418. package/dist/cjs/components/Typography/Caption/Caption.js +2 -1
  419. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  420. package/dist/cjs/components/Typography/Headline/Headline.js +2 -1
  421. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  422. package/dist/cjs/components/Typography/Subhead/Subhead.js +2 -1
  423. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  424. package/dist/cjs/components/Typography/Text/Text.js +2 -1
  425. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  426. package/dist/cjs/components/Typography/Title/Title.js +2 -1
  427. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  428. package/dist/cjs/components/UsersStack/UsersStack.js +5 -3
  429. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  430. package/dist/cjs/components/UsersStack/masks.d.ts +1 -1
  431. package/dist/cjs/components/UsersStack/masks.js +1 -1
  432. package/dist/cjs/components/UsersStack/masks.js.map +1 -1
  433. package/dist/cjs/components/View/View.d.ts +9 -9
  434. package/dist/cjs/components/View/View.js +100 -49
  435. package/dist/cjs/components/View/View.js.map +1 -1
  436. package/dist/cjs/components/View/ViewInfinite.d.ts +11 -11
  437. package/dist/cjs/components/View/ViewInfinite.js +73 -38
  438. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  439. package/dist/cjs/components/WriteBar/WriteBar.d.ts +1 -1
  440. package/dist/cjs/components/WriteBar/WriteBar.js +3 -4
  441. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  442. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +1 -1
  443. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  444. package/dist/cjs/helpers/getScheme.d.ts +8 -0
  445. package/dist/cjs/helpers/getScheme.js +37 -0
  446. package/dist/cjs/helpers/getScheme.js.map +1 -0
  447. package/dist/cjs/helpers/math.js +1 -1
  448. package/dist/cjs/helpers/scheme.d.ts +34 -0
  449. package/dist/cjs/helpers/scheme.js +75 -0
  450. package/dist/cjs/helpers/scheme.js.map +1 -0
  451. package/dist/cjs/hoc/withAdaptivity.d.ts +3 -2
  452. package/dist/cjs/hoc/withAdaptivity.js +4 -5
  453. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  454. package/dist/cjs/hoc/withContext.d.ts +1 -1
  455. package/dist/cjs/hoc/withContext.js +1 -2
  456. package/dist/cjs/hoc/withContext.js.map +1 -1
  457. package/dist/cjs/hoc/withInsets.d.ts +3 -1
  458. package/dist/cjs/hoc/withInsets.js +1 -2
  459. package/dist/cjs/hoc/withInsets.js.map +1 -1
  460. package/dist/cjs/hoc/withPlatform.d.ts +3 -1
  461. package/dist/cjs/hoc/withPlatform.js +1 -2
  462. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  463. package/dist/cjs/hooks/useAdaptivity.d.ts +2 -2
  464. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  465. package/dist/cjs/hooks/useAppearance.d.ts +1 -1
  466. package/dist/cjs/hooks/useEnsuredControl.d.ts +1 -1
  467. package/dist/cjs/hooks/useEnsuredControl.js +1 -1
  468. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  469. package/dist/cjs/hooks/useEventListener.d.ts +3 -3
  470. package/dist/cjs/hooks/useEventListener.js +2 -2
  471. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  472. package/dist/cjs/hooks/useExternRef.d.ts +1 -1
  473. package/dist/cjs/hooks/useExternRef.js +6 -3
  474. package/dist/cjs/hooks/useExternRef.js.map +1 -1
  475. package/dist/cjs/hooks/useFocusVisible.d.ts +1 -1
  476. package/dist/cjs/hooks/useGlobalEventListener.d.ts +2 -2
  477. package/dist/cjs/hooks/useGlobalEventListener.js +6 -2
  478. package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
  479. package/dist/cjs/hooks/useInsets.d.ts +7 -1
  480. package/dist/cjs/hooks/useInsets.js.map +1 -1
  481. package/dist/cjs/hooks/useKeyboard.js +37 -29
  482. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  483. package/dist/cjs/hooks/usePatchChildrenRef.d.ts +1 -1
  484. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  485. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  486. package/dist/cjs/hooks/usePlatform.d.ts +1 -1
  487. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  488. package/dist/cjs/hooks/useTimeout.js +4 -2
  489. package/dist/cjs/hooks/useTimeout.js.map +1 -1
  490. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -1
  491. package/dist/cjs/hooks/useWaitTransitionFinish.js +5 -2
  492. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  493. package/dist/cjs/index.d.ts +6 -4
  494. package/dist/cjs/index.js +287 -277
  495. package/dist/cjs/index.js.map +1 -1
  496. package/dist/cjs/lib/SSR.d.ts +1 -1
  497. package/dist/cjs/lib/SSR.js +1 -1
  498. package/dist/cjs/lib/SSR.js.map +1 -1
  499. package/dist/cjs/lib/accessibility.d.ts +1 -1
  500. package/dist/cjs/lib/accessibility.js +4 -2
  501. package/dist/cjs/lib/accessibility.js.map +1 -1
  502. package/dist/cjs/lib/animate.js +1 -0
  503. package/dist/cjs/lib/animate.js.map +1 -1
  504. package/dist/cjs/lib/browser.js +1 -1
  505. package/dist/cjs/lib/dom.d.ts +3 -3
  506. package/dist/cjs/lib/dom.js +6 -4
  507. package/dist/cjs/lib/dom.js.map +1 -1
  508. package/dist/cjs/lib/getNavId.d.ts +1 -1
  509. package/dist/cjs/lib/is.js +3 -1
  510. package/dist/cjs/lib/is.js.map +1 -1
  511. package/dist/cjs/lib/isRefObject.js.map +1 -1
  512. package/dist/cjs/lib/jsxRuntime.d.ts +7 -3
  513. package/dist/cjs/lib/jsxRuntime.js +3 -5
  514. package/dist/cjs/lib/jsxRuntime.js.map +1 -1
  515. package/dist/cjs/lib/offset.d.ts +5 -5
  516. package/dist/cjs/lib/offset.js +5 -5
  517. package/dist/cjs/lib/offset.js.map +1 -1
  518. package/dist/cjs/lib/platform.d.ts +1 -1
  519. package/dist/cjs/lib/platform.js +1 -1
  520. package/dist/cjs/lib/platform.js.map +1 -1
  521. package/dist/cjs/lib/polyfills.js.map +1 -1
  522. package/dist/cjs/lib/prefixClass.d.ts +1 -1
  523. package/dist/cjs/lib/prefixClass.js.map +1 -1
  524. package/dist/cjs/lib/select.d.ts +2 -2
  525. package/dist/cjs/lib/select.js +5 -3
  526. package/dist/cjs/lib/select.js.map +1 -1
  527. package/dist/cjs/lib/styles.d.ts +1 -1
  528. package/dist/cjs/lib/styles.js.map +1 -1
  529. package/dist/cjs/lib/supportEvents.d.ts +1 -1
  530. package/dist/cjs/lib/supportEvents.js.map +1 -1
  531. package/dist/cjs/lib/touch.js +2 -1
  532. package/dist/cjs/lib/touch.js.map +1 -1
  533. package/dist/cjs/lib/utils.d.ts +1 -1
  534. package/dist/cjs/lib/utils.js +6 -6
  535. package/dist/cjs/lib/utils.js.map +1 -1
  536. package/dist/cjs/tokenized/index.d.ts +2 -0
  537. package/dist/cjs/tokenized/index.js +16 -0
  538. package/dist/cjs/tokenized/index.js.map +1 -0
  539. package/dist/cjs/unstable/index.js +8 -8
  540. package/dist/components/ActionSheet/ActionSheet.js +4 -2
  541. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  542. package/dist/components/ActionSheet/ActionSheetContext.d.ts +6 -5
  543. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  544. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
  545. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  546. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
  547. package/dist/components/ActionSheetItem/ActionSheetItem.js +6 -7
  548. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  549. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +4 -4
  550. package/dist/components/AdaptivityProvider/AdaptivityContext.js +3 -1
  551. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  552. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -5
  553. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +10 -3
  554. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  555. package/dist/components/Alert/Alert.d.ts +5 -21
  556. package/dist/components/Alert/Alert.js +32 -18
  557. package/dist/components/Alert/Alert.js.map +1 -1
  558. package/dist/components/AppRoot/AppRoot.d.ts +1 -2
  559. package/dist/components/AppRoot/AppRoot.js +26 -16
  560. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  561. package/dist/components/AppRoot/AppRootContext.d.ts +1 -1
  562. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  563. package/dist/components/AppRoot/ScrollContext.d.ts +1 -1
  564. package/dist/components/AppRoot/ScrollContext.js +5 -3
  565. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  566. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +6 -0
  567. package/dist/components/AppearanceProvider/AppearanceProvider.js +33 -0
  568. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -0
  569. package/dist/components/AppearanceProvider/AppearanceProviderContext.d.ts +8 -0
  570. package/dist/components/AppearanceProvider/AppearanceProviderContext.js +3 -0
  571. package/dist/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -0
  572. package/dist/components/Avatar/Avatar.d.ts +1 -1
  573. package/dist/components/Avatar/Avatar.js +12 -13
  574. package/dist/components/Avatar/Avatar.js.map +1 -1
  575. package/dist/components/Banner/Banner.js +3 -2
  576. package/dist/components/Banner/Banner.js.map +1 -1
  577. package/dist/components/Button/Button.d.ts +1 -1
  578. package/dist/components/Button/Button.js +4 -4
  579. package/dist/components/Button/Button.js.map +1 -1
  580. package/dist/components/Card/Card.js +2 -1
  581. package/dist/components/Card/Card.js.map +1 -1
  582. package/dist/components/CardGrid/CardGrid.d.ts +1 -1
  583. package/dist/components/CardGrid/CardGrid.js +2 -1
  584. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  585. package/dist/components/CardScroll/CardScroll.d.ts +9 -2
  586. package/dist/components/CardScroll/CardScroll.js +18 -4
  587. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  588. package/dist/components/Cell/Cell.js +1 -1
  589. package/dist/components/Cell/Cell.js.map +1 -1
  590. package/dist/components/Cell/useDraggable.js +58 -46
  591. package/dist/components/Cell/useDraggable.js.map +1 -1
  592. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  593. package/dist/components/Checkbox/Checkbox.js +2 -1
  594. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  595. package/dist/components/Chip/Chip.js +2 -1
  596. package/dist/components/Chip/Chip.js.map +1 -1
  597. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -4
  598. package/dist/components/ChipsInput/ChipsInput.js +71 -62
  599. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  600. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  601. package/dist/components/ChipsInput/useChipsInput.js +2 -2
  602. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  603. package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -5
  604. package/dist/components/ChipsSelect/ChipsSelect.js +80 -67
  605. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  606. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  607. package/dist/components/ChipsSelect/useChipsSelect.js +6 -3
  608. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  609. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  610. package/dist/components/ClickPopper/ClickPopper.js +7 -3
  611. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  612. package/dist/components/ConfigProvider/ConfigProvider.d.ts +3 -1
  613. package/dist/components/ConfigProvider/ConfigProvider.js +53 -41
  614. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  615. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +2 -29
  616. package/dist/components/ConfigProvider/ConfigProviderContext.js +0 -20
  617. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  618. package/dist/components/ContentCard/ContentCard.js +9 -1
  619. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  620. package/dist/components/Counter/Counter.js +2 -1
  621. package/dist/components/Counter/Counter.js.map +1 -1
  622. package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  623. package/dist/components/CustomScrollView/CustomScrollView.js +24 -9
  624. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  625. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -65
  626. package/dist/components/CustomSelect/CustomSelect.js +98 -72
  627. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  628. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  629. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  630. package/dist/components/CustomSelectOption/CustomSelectOption.js +4 -3
  631. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  632. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  633. package/dist/components/DatePicker/DatePicker.js +41 -26
  634. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  635. package/dist/components/Div/Div.js +2 -1
  636. package/dist/components/Div/Div.js.map +1 -1
  637. package/dist/components/Dropdown/Dropdown.d.ts +2 -43
  638. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  639. package/dist/components/Epic/Epic.d.ts +3 -3
  640. package/dist/components/Epic/Epic.js +7 -4
  641. package/dist/components/Epic/Epic.js.map +1 -1
  642. package/dist/components/Epic/ScrollSaver.d.ts +0 -1
  643. package/dist/components/Epic/ScrollSaver.js +2 -1
  644. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  645. package/dist/components/File/File.js +5 -2
  646. package/dist/components/File/File.js.map +1 -1
  647. package/dist/components/FixedLayout/FixedLayout.js +5 -4
  648. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  649. package/dist/components/FocusTrap/FocusTrap.js +3 -3
  650. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  651. package/dist/components/FormItem/FormItem.js +3 -1
  652. package/dist/components/FormItem/FormItem.js.map +1 -1
  653. package/dist/components/FormLayout/FormLayout.d.ts +1 -1
  654. package/dist/components/FormLayout/FormLayout.js +6 -7
  655. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  656. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -2
  657. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  658. package/dist/components/Gallery/Gallery.d.ts +1 -1
  659. package/dist/components/Gallery/Gallery.js +129 -80
  660. package/dist/components/Gallery/Gallery.js.map +1 -1
  661. package/dist/components/Gradient/Gradient.js +2 -1
  662. package/dist/components/Gradient/Gradient.js.map +1 -1
  663. package/dist/components/Group/Group.d.ts +1 -1
  664. package/dist/components/Group/Group.js +2 -1
  665. package/dist/components/Group/Group.js.map +1 -1
  666. package/dist/components/Header/Header.js +4 -1
  667. package/dist/components/Header/Header.js.map +1 -1
  668. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +2 -2
  669. package/dist/components/HorizontalScroll/HorizontalScroll.js +19 -9
  670. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  671. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +2 -1
  672. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  673. package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
  674. package/dist/components/HoverPopper/HoverPopper.js +6 -3
  675. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  676. package/dist/components/IconButton/IconButton.d.ts +1 -1
  677. package/dist/components/IconButton/IconButton.js +9 -1
  678. package/dist/components/IconButton/IconButton.js.map +1 -1
  679. package/dist/components/InfoRow/InfoRow.js +2 -1
  680. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  681. package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
  682. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  683. package/dist/components/Input/Input.d.ts +1 -1
  684. package/dist/components/Input/Input.js +2 -1
  685. package/dist/components/Input/Input.js.map +1 -1
  686. package/dist/components/Link/Link.js +2 -1
  687. package/dist/components/Link/Link.js.map +1 -1
  688. package/dist/components/List/List.js +2 -1
  689. package/dist/components/List/List.js.map +1 -1
  690. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  691. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  692. package/dist/components/ModalCard/ModalCard.d.ts +2 -2
  693. package/dist/components/ModalCard/ModalCard.js +2 -1
  694. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  695. package/dist/components/ModalCardBase/ModalCardBase.d.ts +2 -1
  696. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  697. package/dist/components/ModalDismissButton/ModalDismissButton.js +2 -1
  698. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  699. package/dist/components/ModalPage/ModalPage.d.ts +2 -2
  700. package/dist/components/ModalPage/ModalPage.js +3 -2
  701. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  702. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +2 -10
  703. package/dist/components/ModalPageHeader/ModalPageHeader.js +28 -29
  704. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  705. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  706. package/dist/components/ModalRoot/ModalRoot.js +116 -47
  707. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  708. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -2
  709. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  710. package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
  711. package/dist/components/ModalRoot/ModalRootContext.js +19 -14
  712. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  713. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  714. package/dist/components/ModalRoot/ModalRootDesktop.js +35 -16
  715. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  716. package/dist/components/ModalRoot/types.d.ts +1 -1
  717. package/dist/components/ModalRoot/types.js.map +1 -1
  718. package/dist/components/ModalRoot/useModalManager.d.ts +9 -9
  719. package/dist/components/ModalRoot/useModalManager.js +11 -11
  720. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  721. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  722. package/dist/components/NativeSelect/NativeSelect.d.ts +2 -2
  723. package/dist/components/NativeSelect/NativeSelect.js +5 -2
  724. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  725. package/dist/components/Panel/Panel.d.ts +2 -2
  726. package/dist/components/Panel/Panel.js.map +1 -1
  727. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  728. package/dist/components/PanelHeader/PanelHeader.js +23 -22
  729. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  730. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  731. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +2 -1
  732. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  733. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +13 -6
  734. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  735. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -1
  736. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  737. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +5 -2
  738. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  739. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  740. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  741. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -1
  742. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  743. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -1
  744. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  745. package/dist/components/PanelSpinner/PanelSpinner.js +2 -1
  746. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  747. package/dist/components/Placeholder/Placeholder.js +2 -1
  748. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  749. package/dist/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  750. package/dist/components/PopoutRoot/PopoutRoot.js +1 -1
  751. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  752. package/dist/components/PopoutWrapper/PopoutWrapper.js +3 -3
  753. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  754. package/dist/components/Popper/Popper.d.ts +2 -2
  755. package/dist/components/Popper/Popper.js +11 -5
  756. package/dist/components/Popper/Popper.js.map +1 -1
  757. package/dist/components/Progress/Progress.js +4 -5
  758. package/dist/components/Progress/Progress.js.map +1 -1
  759. package/dist/components/PromoBanner/PromoBanner.js +8 -1
  760. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  761. package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  762. package/dist/components/PullToRefresh/PullToRefresh.js +11 -8
  763. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  764. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +13 -17
  765. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  766. package/dist/components/Radio/Radio.d.ts +1 -1
  767. package/dist/components/Radio/Radio.js +2 -1
  768. package/dist/components/Radio/Radio.js.map +1 -1
  769. package/dist/components/RangeSlider/RangeSlider.js +18 -11
  770. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  771. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  772. package/dist/components/RangeSlider/UniversalSlider.js +18 -13
  773. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  774. package/dist/components/Removable/Removable.js +6 -3
  775. package/dist/components/Removable/Removable.js.map +1 -1
  776. package/dist/components/RichCell/RichCell.d.ts +1 -1
  777. package/dist/components/RichCell/RichCell.js +2 -1
  778. package/dist/components/RichCell/RichCell.js.map +1 -1
  779. package/dist/components/RichTooltip/RichTooltip.d.ts +2 -43
  780. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  781. package/dist/components/Root/Root.js +17 -12
  782. package/dist/components/Root/Root.js.map +1 -1
  783. package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -1
  784. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  785. package/dist/components/Search/Search.d.ts +1 -1
  786. package/dist/components/Search/Search.js +13 -9
  787. package/dist/components/Search/Search.js.map +1 -1
  788. package/dist/components/Select/Select.d.ts +2 -2
  789. package/dist/components/Select/Select.js +2 -1
  790. package/dist/components/Select/Select.js.map +1 -1
  791. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  792. package/dist/components/SelectMimicry/SelectMimicry.js +4 -3
  793. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  794. package/dist/components/Separator/Separator.js +2 -1
  795. package/dist/components/Separator/Separator.js.map +1 -1
  796. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  797. package/dist/components/SimpleCell/SimpleCell.js +2 -1
  798. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  799. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +7 -6
  800. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  801. package/dist/components/Slider/Slider.d.ts +1 -8
  802. package/dist/components/Slider/Slider.js +20 -15
  803. package/dist/components/Slider/Slider.js.map +1 -1
  804. package/dist/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  805. package/dist/components/SliderSwitch/SliderSwitch.js +14 -7
  806. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  807. package/dist/components/SliderSwitch/SliderSwitchButton.js +2 -1
  808. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  809. package/dist/components/Snackbar/Snackbar.d.ts +2 -2
  810. package/dist/components/Snackbar/Snackbar.js +12 -4
  811. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  812. package/dist/components/Spinner/Spinner.js +2 -1
  813. package/dist/components/Spinner/Spinner.js.map +1 -1
  814. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  815. package/dist/components/SplitCol/SplitCol.js +1 -1
  816. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  817. package/dist/components/Tabbar/Tabbar.js +2 -1
  818. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  819. package/dist/components/TabbarItem/TabbarItem.js +9 -2
  820. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  821. package/dist/components/Tabs/Tabs.d.ts +2 -2
  822. package/dist/components/Tabs/Tabs.js +2 -1
  823. package/dist/components/Tabs/Tabs.js.map +1 -1
  824. package/dist/components/TabsItem/TabsItem.js +2 -1
  825. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  826. package/dist/components/Tappable/Tappable.d.ts +1 -1
  827. package/dist/components/Tappable/Tappable.js +9 -6
  828. package/dist/components/Tappable/Tappable.js.map +1 -1
  829. package/dist/components/TextTooltip/TextTooltip.d.ts +2 -37
  830. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  831. package/dist/components/Textarea/Textarea.d.ts +1 -1
  832. package/dist/components/Textarea/Textarea.js +5 -4
  833. package/dist/components/Textarea/Textarea.js.map +1 -1
  834. package/dist/components/Tooltip/Tooltip.js +26 -10
  835. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  836. package/dist/components/Tooltip/TooltipContainer.d.ts +1 -1
  837. package/dist/components/Touch/Touch.js +38 -21
  838. package/dist/components/Touch/Touch.js.map +1 -1
  839. package/dist/components/Touch/TouchContext.js +2 -1
  840. package/dist/components/Touch/TouchContext.js.map +1 -1
  841. package/dist/components/Typography/Caption/Caption.js +2 -1
  842. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  843. package/dist/components/Typography/Headline/Headline.js +2 -1
  844. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  845. package/dist/components/Typography/Subhead/Subhead.js +2 -1
  846. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  847. package/dist/components/Typography/Text/Text.js +2 -1
  848. package/dist/components/Typography/Text/Text.js.map +1 -1
  849. package/dist/components/Typography/Title/Title.js +2 -1
  850. package/dist/components/Typography/Title/Title.js.map +1 -1
  851. package/dist/components/UsersStack/UsersStack.js +6 -3
  852. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  853. package/dist/components/UsersStack/masks.d.ts +1 -1
  854. package/dist/components/UsersStack/masks.js +1 -1
  855. package/dist/components/UsersStack/masks.js.map +1 -1
  856. package/dist/components/View/View.d.ts +9 -9
  857. package/dist/components/View/View.js +99 -48
  858. package/dist/components/View/View.js.map +1 -1
  859. package/dist/components/View/ViewInfinite.d.ts +11 -11
  860. package/dist/components/View/ViewInfinite.js +70 -36
  861. package/dist/components/View/ViewInfinite.js.map +1 -1
  862. package/dist/components/WriteBar/WriteBar.d.ts +1 -1
  863. package/dist/components/WriteBar/WriteBar.js +3 -4
  864. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  865. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  866. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  867. package/dist/components.css +17 -14
  868. package/dist/components.css.map +1 -1
  869. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -2
  870. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  871. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  872. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
  873. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  874. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +6 -7
  875. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  876. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js +3 -1
  877. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  878. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +10 -3
  879. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  880. package/dist/cssm/components/Alert/Alert.js +32 -18
  881. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  882. package/dist/cssm/components/AppRoot/AppRoot.js +26 -16
  883. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  884. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  885. package/dist/cssm/components/AppRoot/ScrollContext.js +5 -3
  886. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  887. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +33 -0
  888. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -0
  889. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js +3 -0
  890. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -0
  891. package/dist/cssm/components/Avatar/Avatar.js +12 -13
  892. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  893. package/dist/cssm/components/Banner/Banner.js +3 -2
  894. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  895. package/dist/cssm/components/Button/Button.css +9 -11
  896. package/dist/cssm/components/Button/Button.js +4 -4
  897. package/dist/cssm/components/Button/Button.js.map +1 -1
  898. package/dist/cssm/components/Card/Card.css +6 -1
  899. package/dist/cssm/components/Card/Card.js +2 -1
  900. package/dist/cssm/components/Card/Card.js.map +1 -1
  901. package/dist/cssm/components/CardGrid/CardGrid.js +2 -1
  902. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  903. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  904. package/dist/cssm/components/CardScroll/CardScroll.js +18 -4
  905. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  906. package/dist/cssm/components/Cell/Cell.js +1 -1
  907. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  908. package/dist/cssm/components/Cell/useDraggable.js +58 -46
  909. package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
  910. package/dist/cssm/components/Checkbox/Checkbox.js +2 -1
  911. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  912. package/dist/cssm/components/Chip/Chip.js +2 -1
  913. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  914. package/dist/cssm/components/ChipsInput/ChipsInput.js +71 -62
  915. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  916. package/dist/cssm/components/ChipsInput/useChipsInput.js +2 -2
  917. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  918. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +80 -67
  919. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  920. package/dist/cssm/components/ChipsSelect/useChipsSelect.js +6 -3
  921. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  922. package/dist/cssm/components/ClickPopper/ClickPopper.js +7 -3
  923. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  924. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +53 -41
  925. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  926. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +0 -20
  927. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  928. package/dist/cssm/components/ContentCard/ContentCard.js +9 -1
  929. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  930. package/dist/cssm/components/Counter/Counter.js +2 -1
  931. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  932. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +24 -9
  933. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  934. package/dist/cssm/components/CustomSelect/CustomSelect.js +98 -72
  935. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  936. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
  937. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  938. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +4 -3
  939. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  940. package/dist/cssm/components/DatePicker/DatePicker.js +41 -26
  941. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  942. package/dist/cssm/components/Div/Div.js +2 -1
  943. package/dist/cssm/components/Div/Div.js.map +1 -1
  944. package/dist/cssm/components/Dropdown/Dropdown.js +1 -3
  945. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  946. package/dist/cssm/components/Epic/Epic.js +7 -4
  947. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  948. package/dist/cssm/components/Epic/ScrollSaver.js +2 -1
  949. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  950. package/dist/cssm/components/File/File.js +5 -2
  951. package/dist/cssm/components/File/File.js.map +1 -1
  952. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -4
  953. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  954. package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -3
  955. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  956. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  957. package/dist/cssm/components/FormItem/FormItem.js +3 -1
  958. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  959. package/dist/cssm/components/FormLayout/FormLayout.js +6 -7
  960. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  961. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  962. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -2
  963. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  964. package/dist/cssm/components/Gallery/Gallery.js +129 -80
  965. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  966. package/dist/cssm/components/Gradient/Gradient.js +2 -1
  967. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  968. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  969. package/dist/cssm/components/Group/Group.js +2 -1
  970. package/dist/cssm/components/Group/Group.js.map +1 -1
  971. package/dist/cssm/components/Header/Header.js +4 -1
  972. package/dist/cssm/components/Header/Header.js.map +1 -1
  973. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +19 -9
  974. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  975. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  976. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +2 -1
  977. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  978. package/dist/cssm/components/HoverPopper/HoverPopper.js +6 -3
  979. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  980. package/dist/cssm/components/IconButton/IconButton.js +9 -1
  981. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  982. package/dist/cssm/components/InfoRow/InfoRow.js +2 -1
  983. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  984. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
  985. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  986. package/dist/cssm/components/Input/Input.js +2 -1
  987. package/dist/cssm/components/Input/Input.js.map +1 -1
  988. package/dist/cssm/components/Link/Link.js +2 -1
  989. package/dist/cssm/components/Link/Link.js.map +1 -1
  990. package/dist/cssm/components/List/List.js +2 -1
  991. package/dist/cssm/components/List/List.js.map +1 -1
  992. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  993. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  994. package/dist/cssm/components/ModalCard/ModalCard.js +2 -1
  995. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  996. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  997. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +2 -1
  998. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  999. package/dist/cssm/components/ModalPage/ModalPage.js +3 -2
  1000. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  1001. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  1002. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +28 -29
  1003. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  1004. package/dist/cssm/components/ModalRoot/ModalRoot.js +116 -47
  1005. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  1006. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  1007. package/dist/cssm/components/ModalRoot/ModalRootContext.js +19 -14
  1008. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  1009. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +35 -16
  1010. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  1011. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  1012. package/dist/cssm/components/ModalRoot/useModalManager.js +11 -11
  1013. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  1014. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  1015. package/dist/cssm/components/NativeSelect/NativeSelect.js +5 -2
  1016. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  1017. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  1018. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  1019. package/dist/cssm/components/PanelHeader/PanelHeader.js +23 -22
  1020. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  1021. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -1
  1022. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  1023. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +13 -6
  1024. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  1025. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -1
  1026. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  1027. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  1028. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +5 -2
  1029. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  1030. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  1031. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  1032. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -1
  1033. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  1034. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -1
  1035. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  1036. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +2 -1
  1037. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  1038. package/dist/cssm/components/Placeholder/Placeholder.js +2 -1
  1039. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  1040. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +1 -1
  1041. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  1042. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +3 -3
  1043. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  1044. package/dist/cssm/components/Popper/Popper.js +11 -5
  1045. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  1046. package/dist/cssm/components/Progress/Progress.js +4 -5
  1047. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  1048. package/dist/cssm/components/PromoBanner/PromoBanner.js +8 -1
  1049. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  1050. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +11 -8
  1051. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  1052. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +13 -17
  1053. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  1054. package/dist/cssm/components/Radio/Radio.js +2 -1
  1055. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  1056. package/dist/cssm/components/RangeSlider/RangeSlider.js +18 -11
  1057. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  1058. package/dist/cssm/components/RangeSlider/UniversalSlider.js +18 -13
  1059. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  1060. package/dist/cssm/components/Removable/Removable.js +6 -3
  1061. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  1062. package/dist/cssm/components/RichCell/RichCell.js +2 -1
  1063. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  1064. package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -3
  1065. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  1066. package/dist/cssm/components/Root/Root.js +17 -12
  1067. package/dist/cssm/components/Root/Root.js.map +1 -1
  1068. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -1
  1069. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  1070. package/dist/cssm/components/Search/Search.css +1 -1
  1071. package/dist/cssm/components/Search/Search.js +13 -9
  1072. package/dist/cssm/components/Search/Search.js.map +1 -1
  1073. package/dist/cssm/components/Select/Select.js +2 -1
  1074. package/dist/cssm/components/Select/Select.js.map +1 -1
  1075. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -3
  1076. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  1077. package/dist/cssm/components/Separator/Separator.js +2 -1
  1078. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  1079. package/dist/cssm/components/SimpleCell/SimpleCell.js +2 -1
  1080. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  1081. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +7 -6
  1082. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  1083. package/dist/cssm/components/Slider/Slider.js +20 -15
  1084. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  1085. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +14 -7
  1086. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  1087. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +2 -1
  1088. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  1089. package/dist/cssm/components/Snackbar/Snackbar.js +12 -4
  1090. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  1091. package/dist/cssm/components/Spinner/Spinner.js +2 -1
  1092. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  1093. package/dist/cssm/components/SplitCol/SplitCol.js +1 -1
  1094. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  1095. package/dist/cssm/components/Tabbar/Tabbar.css +1 -1
  1096. package/dist/cssm/components/Tabbar/Tabbar.js +2 -1
  1097. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1098. package/dist/cssm/components/TabbarItem/TabbarItem.js +9 -2
  1099. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1100. package/dist/cssm/components/Tabs/Tabs.js +2 -1
  1101. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1102. package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
  1103. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1104. package/dist/cssm/components/Tappable/Tappable.css +1 -1
  1105. package/dist/cssm/components/Tappable/Tappable.js +9 -6
  1106. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  1107. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -3
  1108. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  1109. package/dist/cssm/components/Textarea/Textarea.js +5 -4
  1110. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1111. package/dist/cssm/components/Tooltip/Tooltip.js +26 -10
  1112. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1113. package/dist/cssm/components/Touch/Touch.js +38 -21
  1114. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1115. package/dist/cssm/components/Touch/TouchContext.js +2 -1
  1116. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  1117. package/dist/cssm/components/Typography/Caption/Caption.js +2 -1
  1118. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1119. package/dist/cssm/components/Typography/Headline/Headline.js +2 -1
  1120. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1121. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -1
  1122. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1123. package/dist/cssm/components/Typography/Text/Text.js +2 -1
  1124. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1125. package/dist/cssm/components/Typography/Title/Title.js +2 -1
  1126. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1127. package/dist/cssm/components/UsersStack/UsersStack.js +6 -3
  1128. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1129. package/dist/cssm/components/UsersStack/masks.js +1 -1
  1130. package/dist/cssm/components/UsersStack/masks.js.map +1 -1
  1131. package/dist/cssm/components/View/View.js +99 -48
  1132. package/dist/cssm/components/View/View.js.map +1 -1
  1133. package/dist/cssm/components/View/ViewInfinite.js +70 -36
  1134. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1135. package/dist/cssm/components/WriteBar/WriteBar.js +3 -4
  1136. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1137. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  1138. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1139. package/dist/cssm/fonts/fonts.css +1 -1
  1140. package/dist/cssm/helpers/getScheme.js +28 -0
  1141. package/dist/cssm/helpers/getScheme.js.map +1 -0
  1142. package/dist/cssm/helpers/scheme.js +61 -0
  1143. package/dist/cssm/helpers/scheme.js.map +1 -0
  1144. package/dist/cssm/hoc/withAdaptivity.js +3 -4
  1145. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  1146. package/dist/cssm/hoc/withContext.js +1 -2
  1147. package/dist/cssm/hoc/withContext.js.map +1 -1
  1148. package/dist/cssm/hoc/withInsets.js +1 -2
  1149. package/dist/cssm/hoc/withInsets.js.map +1 -1
  1150. package/dist/cssm/hoc/withPlatform.js +1 -2
  1151. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  1152. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  1153. package/dist/cssm/hooks/useEnsuredControl.js +1 -1
  1154. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1155. package/dist/cssm/hooks/useEventListener.js +2 -2
  1156. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1157. package/dist/cssm/hooks/useExternRef.js +6 -3
  1158. package/dist/cssm/hooks/useExternRef.js.map +1 -1
  1159. package/dist/cssm/hooks/useGlobalEventListener.js +6 -2
  1160. package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
  1161. package/dist/cssm/hooks/useInsets.js.map +1 -1
  1162. package/dist/cssm/hooks/useKeyboard.js +36 -29
  1163. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  1164. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  1165. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  1166. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  1167. package/dist/cssm/hooks/useTimeout.js +4 -2
  1168. package/dist/cssm/hooks/useTimeout.js.map +1 -1
  1169. package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -2
  1170. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1171. package/dist/cssm/index.js +6 -4
  1172. package/dist/cssm/index.js.map +1 -1
  1173. package/dist/cssm/lib/SSR.js +1 -1
  1174. package/dist/cssm/lib/SSR.js.map +1 -1
  1175. package/dist/cssm/lib/accessibility.js +3 -1
  1176. package/dist/cssm/lib/accessibility.js.map +1 -1
  1177. package/dist/cssm/lib/animate.js +1 -0
  1178. package/dist/cssm/lib/animate.js.map +1 -1
  1179. package/dist/cssm/lib/dom.js +2 -2
  1180. package/dist/cssm/lib/dom.js.map +1 -1
  1181. package/dist/cssm/lib/is.js +3 -1
  1182. package/dist/cssm/lib/is.js.map +1 -1
  1183. package/dist/cssm/lib/isRefObject.js.map +1 -1
  1184. package/dist/cssm/lib/jsxRuntime.js +3 -3
  1185. package/dist/cssm/lib/jsxRuntime.js.map +1 -1
  1186. package/dist/cssm/lib/offset.js +5 -5
  1187. package/dist/cssm/lib/offset.js.map +1 -1
  1188. package/dist/cssm/lib/platform.js.map +1 -1
  1189. package/dist/cssm/lib/polyfills.js.map +1 -1
  1190. package/dist/cssm/lib/prefixClass.js.map +1 -1
  1191. package/dist/cssm/lib/select.js +5 -3
  1192. package/dist/cssm/lib/select.js.map +1 -1
  1193. package/dist/cssm/lib/styles.js.map +1 -1
  1194. package/dist/cssm/lib/supportEvents.js.map +1 -1
  1195. package/dist/cssm/lib/utils.js +1 -1
  1196. package/dist/cssm/lib/utils.js.map +1 -1
  1197. package/dist/cssm/styles/bright_light.css +1 -1
  1198. package/dist/cssm/styles/components.css +17 -14
  1199. package/dist/cssm/styles/constants.css +3 -3
  1200. package/dist/cssm/styles/space_gray.css +1 -1
  1201. package/dist/cssm/styles/themes.css +4 -4
  1202. package/dist/cssm/styles/vkcom_dark.css +2 -2
  1203. package/dist/cssm/styles/vkcom_light.css +3 -3
  1204. package/dist/cssm/tokenized/index.js +2 -0
  1205. package/dist/cssm/tokenized/index.js.map +1 -0
  1206. package/dist/default_scheme.css +1 -1
  1207. package/dist/default_scheme.css.map +1 -1
  1208. package/dist/fonts.css +1 -1
  1209. package/dist/fonts.css.map +1 -1
  1210. package/dist/helpers/getScheme.d.ts +8 -0
  1211. package/dist/helpers/getScheme.js +28 -0
  1212. package/dist/helpers/getScheme.js.map +1 -0
  1213. package/dist/helpers/scheme.d.ts +34 -0
  1214. package/dist/helpers/scheme.js +61 -0
  1215. package/dist/helpers/scheme.js.map +1 -0
  1216. package/dist/hoc/withAdaptivity.d.ts +3 -2
  1217. package/dist/hoc/withAdaptivity.js +3 -4
  1218. package/dist/hoc/withAdaptivity.js.map +1 -1
  1219. package/dist/hoc/withContext.d.ts +1 -1
  1220. package/dist/hoc/withContext.js +1 -2
  1221. package/dist/hoc/withContext.js.map +1 -1
  1222. package/dist/hoc/withInsets.d.ts +3 -1
  1223. package/dist/hoc/withInsets.js +1 -2
  1224. package/dist/hoc/withInsets.js.map +1 -1
  1225. package/dist/hoc/withPlatform.d.ts +3 -1
  1226. package/dist/hoc/withPlatform.js +1 -2
  1227. package/dist/hoc/withPlatform.js.map +1 -1
  1228. package/dist/hooks/useAdaptivity.d.ts +2 -2
  1229. package/dist/hooks/useAdaptivity.js.map +1 -1
  1230. package/dist/hooks/useAppearance.d.ts +1 -1
  1231. package/dist/hooks/useEnsuredControl.d.ts +1 -1
  1232. package/dist/hooks/useEnsuredControl.js +1 -1
  1233. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1234. package/dist/hooks/useEventListener.d.ts +3 -3
  1235. package/dist/hooks/useEventListener.js +2 -2
  1236. package/dist/hooks/useEventListener.js.map +1 -1
  1237. package/dist/hooks/useExternRef.d.ts +1 -1
  1238. package/dist/hooks/useExternRef.js +6 -3
  1239. package/dist/hooks/useExternRef.js.map +1 -1
  1240. package/dist/hooks/useFocusVisible.d.ts +1 -1
  1241. package/dist/hooks/useGlobalEventListener.d.ts +2 -2
  1242. package/dist/hooks/useGlobalEventListener.js +6 -2
  1243. package/dist/hooks/useGlobalEventListener.js.map +1 -1
  1244. package/dist/hooks/useInsets.d.ts +7 -1
  1245. package/dist/hooks/useInsets.js.map +1 -1
  1246. package/dist/hooks/useKeyboard.js +36 -29
  1247. package/dist/hooks/useKeyboard.js.map +1 -1
  1248. package/dist/hooks/usePatchChildrenRef.d.ts +1 -1
  1249. package/dist/hooks/usePatchChildrenRef.js +1 -1
  1250. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1251. package/dist/hooks/usePlatform.d.ts +1 -1
  1252. package/dist/hooks/usePlatform.js.map +1 -1
  1253. package/dist/hooks/useTimeout.js +4 -2
  1254. package/dist/hooks/useTimeout.js.map +1 -1
  1255. package/dist/hooks/useWaitTransitionFinish.d.ts +1 -1
  1256. package/dist/hooks/useWaitTransitionFinish.js +5 -2
  1257. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1258. package/dist/index.d.ts +6 -4
  1259. package/dist/index.js +6 -4
  1260. package/dist/index.js.map +1 -1
  1261. package/dist/lib/SSR.d.ts +1 -1
  1262. package/dist/lib/SSR.js +1 -1
  1263. package/dist/lib/SSR.js.map +1 -1
  1264. package/dist/lib/accessibility.d.ts +1 -1
  1265. package/dist/lib/accessibility.js +3 -1
  1266. package/dist/lib/accessibility.js.map +1 -1
  1267. package/dist/lib/animate.js +1 -0
  1268. package/dist/lib/animate.js.map +1 -1
  1269. package/dist/lib/dom.d.ts +3 -3
  1270. package/dist/lib/dom.js +2 -2
  1271. package/dist/lib/dom.js.map +1 -1
  1272. package/dist/lib/getNavId.d.ts +1 -1
  1273. package/dist/lib/is.js +3 -1
  1274. package/dist/lib/is.js.map +1 -1
  1275. package/dist/lib/isRefObject.js.map +1 -1
  1276. package/dist/lib/jsxRuntime.d.ts +7 -3
  1277. package/dist/lib/jsxRuntime.js +3 -3
  1278. package/dist/lib/jsxRuntime.js.map +1 -1
  1279. package/dist/lib/offset.d.ts +5 -5
  1280. package/dist/lib/offset.js +5 -5
  1281. package/dist/lib/offset.js.map +1 -1
  1282. package/dist/lib/platform.d.ts +1 -1
  1283. package/dist/lib/platform.js.map +1 -1
  1284. package/dist/lib/polyfills.js.map +1 -1
  1285. package/dist/lib/prefixClass.d.ts +1 -1
  1286. package/dist/lib/prefixClass.js.map +1 -1
  1287. package/dist/lib/select.d.ts +2 -2
  1288. package/dist/lib/select.js +5 -3
  1289. package/dist/lib/select.js.map +1 -1
  1290. package/dist/lib/styles.d.ts +1 -1
  1291. package/dist/lib/styles.js.map +1 -1
  1292. package/dist/lib/supportEvents.d.ts +1 -1
  1293. package/dist/lib/supportEvents.js.map +1 -1
  1294. package/dist/lib/utils.d.ts +1 -1
  1295. package/dist/lib/utils.js +1 -1
  1296. package/dist/lib/utils.js.map +1 -1
  1297. package/dist/tokenized/index.d.ts +2 -0
  1298. package/dist/tokenized/index.js +2 -0
  1299. package/dist/tokenized/index.js.map +1 -0
  1300. package/dist/unstable.css.map +1 -1
  1301. package/dist/vkui.css +21 -18
  1302. package/dist/vkui.css.map +1 -1
  1303. package/package.json +39 -37
  1304. package/postcss.config.js +10 -1
  1305. package/src/components/ActionSheet/ActionSheet.tsx +3 -3
  1306. package/src/components/ActionSheet/ActionSheetContext.ts +11 -7
  1307. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +5 -7
  1308. package/src/components/ActionSheetItem/ActionSheetItem.tsx +14 -9
  1309. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +6 -4
  1310. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +18 -13
  1311. package/src/components/Alert/Alert.tsx +33 -20
  1312. package/src/components/AppRoot/AppRoot.tsx +25 -19
  1313. package/src/components/AppRoot/AppRootContext.ts +1 -1
  1314. package/src/components/AppRoot/ScrollContext.ts +9 -9
  1315. package/src/components/AppearanceProvider/AppearanceProvider.tsx +44 -0
  1316. package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +12 -0
  1317. package/src/components/Avatar/Avatar.tsx +8 -14
  1318. package/src/components/Banner/Banner.tsx +2 -1
  1319. package/src/components/Button/Button.css +9 -39
  1320. package/src/components/Button/Button.tsx +5 -5
  1321. package/src/components/Card/Card.css +14 -22
  1322. package/src/components/Card/Card.tsx +1 -0
  1323. package/src/components/CardGrid/CardGrid.tsx +1 -0
  1324. package/src/components/CardScroll/CardScroll.css +10 -23
  1325. package/src/components/CardScroll/CardScroll.tsx +27 -6
  1326. package/src/components/Cell/Cell.tsx +1 -1
  1327. package/src/components/Cell/useDraggable.tsx +53 -45
  1328. package/src/components/Checkbox/Checkbox.tsx +1 -0
  1329. package/src/components/Chip/Chip.tsx +1 -0
  1330. package/src/components/ChipsInput/ChipsInput.tsx +50 -45
  1331. package/src/components/ChipsInput/useChipsInput.ts +10 -9
  1332. package/src/components/ChipsSelect/ChipsSelect.tsx +78 -53
  1333. package/src/components/ChipsSelect/Readme.md +44 -57
  1334. package/src/components/ChipsSelect/useChipsSelect.ts +16 -10
  1335. package/src/components/ClickPopper/ClickPopper.tsx +11 -7
  1336. package/src/components/ConfigProvider/ConfigProvider.tsx +69 -57
  1337. package/src/components/ConfigProvider/ConfigProviderContext.tsx +1 -40
  1338. package/src/components/ContentCard/ContentCard.tsx +7 -0
  1339. package/src/components/Counter/Counter.tsx +1 -0
  1340. package/src/components/CustomScrollView/CustomScrollView.tsx +27 -20
  1341. package/src/components/CustomSelect/CustomSelect.tsx +70 -49
  1342. package/src/components/CustomSelect/Readme.md +1 -1
  1343. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +2 -2
  1344. package/src/components/CustomSelectOption/CustomSelectOption.tsx +3 -2
  1345. package/src/components/DatePicker/DatePicker.tsx +14 -18
  1346. package/src/components/Div/Div.tsx +1 -0
  1347. package/src/components/Dropdown/Dropdown.tsx +4 -45
  1348. package/src/components/Epic/Epic.tsx +14 -9
  1349. package/src/components/Epic/ScrollSaver.tsx +1 -2
  1350. package/src/components/File/File.tsx +2 -1
  1351. package/src/components/FixedLayout/FixedLayout.tsx +4 -3
  1352. package/src/components/FocusTrap/FocusTrap.tsx +10 -8
  1353. package/src/components/FormItem/FormItem.tsx +5 -1
  1354. package/src/components/FormLayout/FormLayout.tsx +9 -9
  1355. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +6 -1
  1356. package/src/components/Gallery/Gallery.tsx +71 -63
  1357. package/src/components/Gradient/Gradient.tsx +1 -0
  1358. package/src/components/Group/Group.tsx +1 -0
  1359. package/src/components/Header/Header.tsx +3 -0
  1360. package/src/components/HorizontalScroll/HorizontalScroll.tsx +27 -8
  1361. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +3 -1
  1362. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -0
  1363. package/src/components/HoverPopper/HoverPopper.tsx +6 -4
  1364. package/src/components/IconButton/IconButton.tsx +9 -0
  1365. package/src/components/InfoRow/InfoRow.tsx +1 -0
  1366. package/src/components/InitialsAvatar/InitialsAvatar.tsx +1 -1
  1367. package/src/components/Input/Input.tsx +1 -0
  1368. package/src/components/Link/Link.tsx +1 -0
  1369. package/src/components/List/List.tsx +1 -0
  1370. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  1371. package/src/components/ModalCard/ModalCard.tsx +8 -2
  1372. package/src/components/ModalCardBase/ModalCardBase.tsx +5 -3
  1373. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -0
  1374. package/src/components/ModalPage/ModalPage.tsx +9 -3
  1375. package/src/components/ModalPageHeader/ModalPageHeader.css +9 -228
  1376. package/src/components/ModalPageHeader/ModalPageHeader.tsx +31 -41
  1377. package/src/components/ModalRoot/ModalRoot.tsx +93 -62
  1378. package/src/components/ModalRoot/ModalRootAdaptive.tsx +7 -4
  1379. package/src/components/ModalRoot/ModalRootContext.tsx +12 -8
  1380. package/src/components/ModalRoot/ModalRootDesktop.tsx +33 -19
  1381. package/src/components/ModalRoot/types.ts +1 -1
  1382. package/src/components/ModalRoot/useModalManager.tsx +31 -19
  1383. package/src/components/ModalRoot/withModalRootContext.tsx +4 -2
  1384. package/src/components/NativeSelect/NativeSelect.tsx +10 -7
  1385. package/src/components/Panel/Panel.tsx +7 -10
  1386. package/src/components/PanelHeader/PanelHeader.css +7 -3
  1387. package/src/components/PanelHeader/PanelHeader.tsx +11 -19
  1388. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
  1389. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +19 -7
  1390. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +1 -0
  1391. package/src/components/PanelHeaderContent/PanelHeaderContent.css +16 -5
  1392. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -0
  1393. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +3 -3
  1394. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -0
  1395. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +1 -0
  1396. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -0
  1397. package/src/components/Placeholder/Placeholder.tsx +1 -0
  1398. package/src/components/PopoutRoot/PopoutRoot.tsx +8 -5
  1399. package/src/components/PopoutWrapper/PopoutWrapper.tsx +3 -3
  1400. package/src/components/Popper/Popper.tsx +18 -14
  1401. package/src/components/Progress/Progress.tsx +2 -5
  1402. package/src/components/PromoBanner/PromoBanner.tsx +9 -0
  1403. package/src/components/PullToRefresh/PullToRefresh.tsx +14 -7
  1404. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +7 -14
  1405. package/src/components/Radio/Radio.tsx +1 -0
  1406. package/src/components/RangeSlider/RangeSlider.tsx +20 -13
  1407. package/src/components/RangeSlider/UniversalSlider.tsx +16 -14
  1408. package/src/components/Removable/Removable.tsx +15 -8
  1409. package/src/components/RichCell/RichCell.tsx +1 -0
  1410. package/src/components/RichTooltip/RichTooltip.tsx +2 -44
  1411. package/src/components/Root/Root.tsx +33 -11
  1412. package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -0
  1413. package/src/components/Search/Search.tsx +8 -7
  1414. package/src/components/Select/Select.tsx +7 -2
  1415. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -2
  1416. package/src/components/Separator/Separator.tsx +1 -0
  1417. package/src/components/SimpleCell/SimpleCell.tsx +1 -0
  1418. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -5
  1419. package/src/components/Slider/Slider.tsx +23 -19
  1420. package/src/components/SliderSwitch/SliderSwitch.tsx +7 -4
  1421. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
  1422. package/src/components/Snackbar/Readme.md +26 -0
  1423. package/src/components/Snackbar/Snackbar.tsx +15 -10
  1424. package/src/components/Spinner/Spinner.tsx +1 -0
  1425. package/src/components/SplitCol/SplitCol.tsx +2 -2
  1426. package/src/components/Tabbar/Tabbar.tsx +1 -0
  1427. package/src/components/TabbarItem/TabbarItem.tsx +9 -1
  1428. package/src/components/Tabs/Tabs.tsx +1 -0
  1429. package/src/components/TabsItem/TabsItem.tsx +1 -0
  1430. package/src/components/Tappable/Tappable.tsx +6 -5
  1431. package/src/components/TextTooltip/TextTooltip.tsx +3 -38
  1432. package/src/components/Textarea/Textarea.tsx +4 -3
  1433. package/src/components/Tooltip/Tooltip.tsx +20 -11
  1434. package/src/components/Touch/Touch.tsx +25 -12
  1435. package/src/components/Touch/TouchContext.ts +1 -0
  1436. package/src/components/Typography/Caption/Caption.tsx +1 -0
  1437. package/src/components/Typography/Headline/Headline.tsx +1 -0
  1438. package/src/components/Typography/Subhead/Subhead.tsx +1 -0
  1439. package/src/components/Typography/Text/Text.tsx +1 -0
  1440. package/src/components/Typography/Title/Title.tsx +1 -0
  1441. package/src/components/UsersStack/UsersStack.tsx +9 -1
  1442. package/src/components/UsersStack/masks.tsx +2 -2
  1443. package/src/components/View/View.tsx +98 -55
  1444. package/src/components/View/ViewInfinite.tsx +94 -66
  1445. package/src/components/WriteBar/WriteBar.tsx +5 -5
  1446. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  1447. package/src/helpers/getScheme.ts +27 -0
  1448. package/src/helpers/scheme.ts +86 -0
  1449. package/src/hoc/withAdaptivity.tsx +13 -6
  1450. package/src/hoc/withContext.tsx +4 -5
  1451. package/src/hoc/withInsets.tsx +7 -5
  1452. package/src/hoc/withPlatform.tsx +9 -5
  1453. package/src/hooks/useAdaptivity.ts +2 -1
  1454. package/src/hooks/useEnsuredControl.ts +2 -2
  1455. package/src/hooks/useEventListener.ts +32 -25
  1456. package/src/hooks/useExternRef.ts +10 -4
  1457. package/src/hooks/useGlobalEventListener.ts +19 -13
  1458. package/src/hooks/useInsets.ts +8 -1
  1459. package/src/hooks/useKeyboard.ts +33 -30
  1460. package/src/hooks/usePatchChildrenRef.ts +3 -3
  1461. package/src/hooks/usePlatform.ts +1 -1
  1462. package/src/hooks/useTimeout.ts +15 -11
  1463. package/src/hooks/useWaitTransitionFinish.ts +5 -3
  1464. package/src/index.ts +5 -5
  1465. package/src/lib/SSR.tsx +2 -2
  1466. package/src/lib/accessibility.ts +1 -1
  1467. package/src/lib/animate.ts +1 -0
  1468. package/src/lib/dom.tsx +3 -3
  1469. package/src/lib/isRefObject.ts +1 -1
  1470. package/src/lib/jsxRuntime.ts +5 -7
  1471. package/src/lib/offset.ts +10 -10
  1472. package/src/lib/platform.ts +5 -1
  1473. package/src/lib/polyfills.ts +2 -2
  1474. package/src/lib/prefixClass.ts +1 -1
  1475. package/src/lib/select.ts +4 -4
  1476. package/src/lib/styles.ts +1 -1
  1477. package/src/lib/supportEvents.ts +1 -1
  1478. package/src/lib/utils.ts +4 -2
  1479. package/src/styles/bright_light.css +2 -1
  1480. package/src/styles/space_gray.css +2 -1
  1481. package/src/styles/themes.css +6 -0
  1482. package/src/styles/vkcom_dark.css +2 -1
  1483. package/src/styles/vkcom_light.css +2 -1
  1484. package/src/testing/utils.tsx +4 -5
  1485. package/src/tokenized/index.ts +2 -0
  1486. package/tokenized/index.d.ts +1 -0
  1487. package/tokenized/package.json +4 -0
  1488. package/tsconfig.json +1 -3
  1489. package/webpack.config.js +10 -8
  1490. package/webpack.styles.config.js +5 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":["PanelHeaderButton","ANDROID","VKCOM","Icon28EditOutline","Icon28DoneOutline","usePlatform","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","iOSText","AndroidIcon","platform","defaultProps"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,QAAqD,kBAArD;AACA,SAASC,WAAT;;AAiBA,IAAMC,eAA8D,GAAG,SAAjEA,eAAiE,OAK3C;AAAA,MAJ1BC,QAI0B,QAJ1BA,QAI0B;AAAA,MAH1BC,SAG0B,QAH1BA,SAG0B;AAAA,MAF1BC,SAE0B,QAF1BA,SAE0B;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,OAAO,GAAGJ,QAAQ,GAAGE,SAAH,GAAeD,SAAvC;AACA,MAAMI,WAAW,GAAGL,QAAQ,GAAGH,iBAAH,GAAuBD,iBAAnD;AACA,MAAMU,QAAQ,GAAGR,WAAW,EAA5B;AAEA,SACE,oBAAC,iBAAD;AAAmB,kBAAYM;AAA/B,KAA4CD,SAA5C,GACGG,QAAQ,KAAKZ,OAAb,IAAwBY,QAAQ,KAAKX,KAArC,GAA6C,oBAAC,WAAD,OAA7C,GAA+DS,OADlE,CADF;AAKD,CAfD;;AAiBAL,eAAe,CAACQ,YAAhB,GAA+B;AAC7BP,EAAAA,QAAQ,EAAE,KADmB;AAE7BC,EAAAA,SAAS,EAAE,eAFkB;AAG7BC,EAAAA,SAAS,EAAE;AAHkB,CAA/B;AAMA,eAAeH,eAAf","sourcesContent":["import * as React from \"react\";\nimport {\n PanelHeaderButton,\n PanelHeaderButtonProps,\n} from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon28EditOutline, Icon28DoneOutline } from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\n\nexport interface PanelHeaderEditProps extends PanelHeaderButtonProps {\n /**\n * Включен ли режим редактирования\n */\n isActive?: boolean;\n /**\n * iOS only. Текст кнопки, когда режим редактирования не активен\n */\n editLabel?: string;\n /**\n * iOS only. Текст кнопки при активном режиме редактирования для выхода из него\n */\n doneLabel?: string;\n}\n\nconst PanelHeaderEdit: React.FunctionComponent<PanelHeaderEditProps> = ({\n isActive,\n editLabel,\n doneLabel,\n ...restProps\n}: PanelHeaderEditProps) => {\n const iOSText = isActive ? doneLabel : editLabel;\n const AndroidIcon = isActive ? Icon28DoneOutline : Icon28EditOutline;\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton aria-label={iOSText} {...restProps}>\n {platform === ANDROID || platform === VKCOM ? <AndroidIcon /> : iOSText}\n </PanelHeaderButton>\n );\n};\n\nPanelHeaderEdit.defaultProps = {\n isActive: false,\n editLabel: \"Редактировать\",\n doneLabel: \"Готово\",\n};\n\nexport default PanelHeaderEdit;\n"],"file":"PanelHeaderEdit.js"}
1
+ {"version":3,"sources":["../../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":["PanelHeaderButton","ANDROID","VKCOM","Icon28EditOutline","Icon28DoneOutline","usePlatform","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","iOSText","AndroidIcon","platform","defaultProps"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,QAAqD,kBAArD;AACA,SAASC,WAAT;;AAiBA,IAAMC,eAA8D,GAAG,SAAjEA,eAAiE,OAK3C;AAAA,MAJ1BC,QAI0B,QAJ1BA,QAI0B;AAAA,MAH1BC,SAG0B,QAH1BA,SAG0B;AAAA,MAF1BC,SAE0B,QAF1BA,SAE0B;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,OAAO,GAAGJ,QAAQ,GAAGE,SAAH,GAAeD,SAAvC;AACA,MAAMI,WAAW,GAAGL,QAAQ,GAAGH,iBAAH,GAAuBD,iBAAnD;AACA,MAAMU,QAAQ,GAAGR,WAAW,EAA5B;AAEA,SACE,oBAAC,iBAAD;AAAmB,kBAAYM;AAA/B,KAA4CD,SAA5C,GACGG,QAAQ,KAAKZ,OAAb,IAAwBY,QAAQ,KAAKX,KAArC,GAA6C,oBAAC,WAAD,OAA7C,GAA+DS,OADlE,CADF;AAKD,CAfD;;AAiBAL,eAAe,CAACQ,YAAhB,GAA+B;AAC7BP,EAAAA,QAAQ,EAAE,KADmB;AAE7BC,EAAAA,SAAS,EAAE,eAFkB;AAG7BC,EAAAA,SAAS,EAAE;AAHkB,CAA/B,C,CAMA;;AACA,eAAeH,eAAf","sourcesContent":["import * as React from \"react\";\nimport {\n PanelHeaderButton,\n PanelHeaderButtonProps,\n} from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon28EditOutline, Icon28DoneOutline } from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\n\nexport interface PanelHeaderEditProps extends PanelHeaderButtonProps {\n /**\n * Включен ли режим редактирования\n */\n isActive?: boolean;\n /**\n * iOS only. Текст кнопки, когда режим редактирования не активен\n */\n editLabel?: string;\n /**\n * iOS only. Текст кнопки при активном режиме редактирования для выхода из него\n */\n doneLabel?: string;\n}\n\nconst PanelHeaderEdit: React.FunctionComponent<PanelHeaderEditProps> = ({\n isActive,\n editLabel,\n doneLabel,\n ...restProps\n}: PanelHeaderEditProps) => {\n const iOSText = isActive ? doneLabel : editLabel;\n const AndroidIcon = isActive ? Icon28DoneOutline : Icon28EditOutline;\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton aria-label={iOSText} {...restProps}>\n {platform === ANDROID || platform === VKCOM ? <AndroidIcon /> : iOSText}\n </PanelHeaderButton>\n );\n};\n\nPanelHeaderEdit.defaultProps = {\n isActive: false,\n editLabel: \"Редактировать\",\n doneLabel: \"Готово\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PanelHeaderEdit;\n"],"file":"PanelHeaderEdit.js"}
@@ -21,6 +21,7 @@ var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
21
21
 
22
22
  PanelHeaderSubmit.defaultProps = {
23
23
  children: "Готово"
24
- };
24
+ }; // eslint-disable-next-line import/no-default-export
25
+
25
26
  export default PanelHeaderSubmit;
26
27
  //# sourceMappingURL=PanelHeaderSubmit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":["PanelHeaderButton","Icon28DoneOutline","ANDROID","VKCOM","usePlatform","getTitleFromChildren","PanelHeaderSubmit","children","restProps","platform","defaultProps"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,WAAT;AACA,SAASC,oBAAT;;AAEA,IAAMC,iBAAkE,GAAG,SAArEA,iBAAqE,OAG7C;AAAA,MAF5BC,QAE4B,QAF5BA,QAE4B;AAAA,MADzBC,SACyB;;AAC5B,MAAMC,QAAQ,GAAGL,WAAW,EAA5B;AAEA,SACE,oBAAC,iBAAD;AACE,kBAAYC,oBAAoB,CAACE,QAAD,CADlC;AAEE,IAAA,OAAO;AAFT,KAGMC,SAHN,GAKGC,QAAQ,KAAKP,OAAb,IAAwBO,QAAQ,KAAKN,KAArC,GACC,oBAAC,iBAAD,OADD,GAGCI,QARJ,CADF;AAaD,CAnBD;;AAqBAD,iBAAiB,CAACI,YAAlB,GAAiC;AAC/BH,EAAAA,QAAQ,EAAE;AADqB,CAAjC;AAIA,eAAeD,iBAAf","sourcesContent":["import * as React from \"react\";\nimport {\n PanelHeaderButton,\n PanelHeaderButtonProps,\n} from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { Icon28DoneOutline } from \"@vkontakte/icons\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren } from \"../../lib/utils\";\n\nconst PanelHeaderSubmit: React.FunctionComponent<PanelHeaderButtonProps> = ({\n children,\n ...restProps\n}: PanelHeaderButtonProps) => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton\n aria-label={getTitleFromChildren(children)}\n primary\n {...restProps}\n >\n {platform === ANDROID || platform === VKCOM ? (\n <Icon28DoneOutline />\n ) : (\n children\n )}\n </PanelHeaderButton>\n );\n};\n\nPanelHeaderSubmit.defaultProps = {\n children: \"Готово\",\n};\n\nexport default PanelHeaderSubmit;\n"],"file":"PanelHeaderSubmit.js"}
1
+ {"version":3,"sources":["../../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":["PanelHeaderButton","Icon28DoneOutline","ANDROID","VKCOM","usePlatform","getTitleFromChildren","PanelHeaderSubmit","children","restProps","platform","defaultProps"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,WAAT;AACA,SAASC,oBAAT;;AAEA,IAAMC,iBAAkE,GAAG,SAArEA,iBAAqE,OAG7C;AAAA,MAF5BC,QAE4B,QAF5BA,QAE4B;AAAA,MADzBC,SACyB;;AAC5B,MAAMC,QAAQ,GAAGL,WAAW,EAA5B;AAEA,SACE,oBAAC,iBAAD;AACE,kBAAYC,oBAAoB,CAACE,QAAD,CADlC;AAEE,IAAA,OAAO;AAFT,KAGMC,SAHN,GAKGC,QAAQ,KAAKP,OAAb,IAAwBO,QAAQ,KAAKN,KAArC,GACC,oBAAC,iBAAD,OADD,GAGCI,QARJ,CADF;AAaD,CAnBD;;AAqBAD,iBAAiB,CAACI,YAAlB,GAAiC;AAC/BH,EAAAA,QAAQ,EAAE;AADqB,CAAjC,C,CAIA;;AACA,eAAeD,iBAAf","sourcesContent":["import * as React from \"react\";\nimport {\n PanelHeaderButton,\n PanelHeaderButtonProps,\n} from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { Icon28DoneOutline } from \"@vkontakte/icons\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getTitleFromChildren } from \"../../lib/utils\";\n\nconst PanelHeaderSubmit: React.FunctionComponent<PanelHeaderButtonProps> = ({\n children,\n ...restProps\n}: PanelHeaderButtonProps) => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton\n aria-label={getTitleFromChildren(children)}\n primary\n {...restProps}\n >\n {platform === ANDROID || platform === VKCOM ? (\n <Icon28DoneOutline />\n ) : (\n children\n )}\n </PanelHeaderButton>\n );\n};\n\nPanelHeaderSubmit.defaultProps = {\n children: \"Готово\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PanelHeaderSubmit;\n"],"file":"PanelHeaderSubmit.js"}
@@ -22,6 +22,7 @@ var PanelSpinner = function PanelSpinner(_ref) {
22
22
 
23
23
  PanelSpinner.defaultProps = {
24
24
  height: 96
25
- };
25
+ }; // eslint-disable-next-line import/no-default-export
26
+
26
27
  export default /*#__PURE__*/React.memo(PanelSpinner);
27
28
  //# sourceMappingURL=PanelSpinner.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelSpinner/PanelSpinner.tsx"],"names":["React","Spinner","PanelSpinner","height","style","restProps","defaultProps","memo"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,OAAP;;AAMA,IAAMC,YAAwD,GAAG,SAA3DA,YAA2D,OAIxC;AAAA,MAHvBC,MAGuB,QAHvBA,MAGuB;AAAA,MAFvBC,KAEuB,QAFvBA,KAEuB;AAAA,MADpBC,SACoB;;AACvB,SAAO,oBAAC,OAAD;AAAS,IAAA,IAAI,EAAC;AAAd,KAA4BA,SAA5B;AAAuC,IAAA,KAAK;AAAIF,MAAAA,MAAM,EAANA;AAAJ,OAAeC,KAAf;AAA5C,KAAP;AACD,CAND;;AAQAF,YAAY,CAACI,YAAb,GAA4B;AAC1BH,EAAAA,MAAM,EAAE;AADkB,CAA5B;AAIA,4BAAeH,KAAK,CAACO,IAAN,CAAWL,YAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport Spinner, { SpinnerProps } from \"../Spinner/Spinner\";\n\nexport interface PanelSpinnerProps extends SpinnerProps {\n height?: number;\n}\n\nconst PanelSpinner: React.FunctionComponent<PanelSpinnerProps> = ({\n height,\n style,\n ...restProps\n}: PanelSpinnerProps) => {\n return <Spinner size=\"regular\" {...restProps} style={{ height, ...style }} />;\n};\n\nPanelSpinner.defaultProps = {\n height: 96,\n};\n\nexport default React.memo(PanelSpinner);\n"],"file":"PanelSpinner.js"}
1
+ {"version":3,"sources":["../../../../src/components/PanelSpinner/PanelSpinner.tsx"],"names":["React","Spinner","PanelSpinner","height","style","restProps","defaultProps","memo"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,OAAP;;AAMA,IAAMC,YAAwD,GAAG,SAA3DA,YAA2D,OAIxC;AAAA,MAHvBC,MAGuB,QAHvBA,MAGuB;AAAA,MAFvBC,KAEuB,QAFvBA,KAEuB;AAAA,MADpBC,SACoB;;AACvB,SAAO,oBAAC,OAAD;AAAS,IAAA,IAAI,EAAC;AAAd,KAA4BA,SAA5B;AAAuC,IAAA,KAAK;AAAIF,MAAAA,MAAM,EAANA;AAAJ,OAAeC,KAAf;AAA5C,KAAP;AACD,CAND;;AAQAF,YAAY,CAACI,YAAb,GAA4B;AAC1BH,EAAAA,MAAM,EAAE;AADkB,CAA5B,C,CAIA;;AACA,4BAAeH,KAAK,CAACO,IAAN,CAAWL,YAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport Spinner, { SpinnerProps } from \"../Spinner/Spinner\";\n\nexport interface PanelSpinnerProps extends SpinnerProps {\n height?: number;\n}\n\nconst PanelSpinner: React.FunctionComponent<PanelSpinnerProps> = ({\n height,\n style,\n ...restProps\n}: PanelSpinnerProps) => {\n return <Spinner size=\"regular\" {...restProps} style={{ height, ...style }} />;\n};\n\nPanelSpinner.defaultProps = {\n height: 96,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(PanelSpinner);\n"],"file":"PanelSpinner.js"}
@@ -36,7 +36,8 @@ var Placeholder = function Placeholder(props) {
36
36
  }, children), hasReactNode(action) && createScopedElement("div", {
37
37
  vkuiClass: "Placeholder__action"
38
38
  }, action)));
39
- };
39
+ }; // eslint-disable-next-line import/no-default-export
40
+
40
41
 
41
42
  export default Placeholder;
42
43
  //# sourceMappingURL=Placeholder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;AAEA;;AAuBA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAACC,KAAD,EAA6B;AAC3E,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAHvB,MAOE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,QAAxB;AAAiC,IAAA,SAAS,EAAC;AAA3C,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CAPF,CADF;AA0BD,CArCD;;AAuCA,eAAeJ,WAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\nconst Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"medium\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"regular\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default Placeholder;\n"],"file":"Placeholder.js"}
1
+ {"version":3,"sources":["../../../../src/components/Placeholder/Placeholder.tsx"],"names":["classNames","hasReactNode","Title","Headline","Placeholder","props","icon","header","action","children","stretched","getRootRef","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,OAAOC,KAAP;AACA,OAAOC,QAAP;AAEA;;AAuBA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAACC,KAAD,EAA6B;AAC3E,MACEC,IADF,GAQID,KARJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAQIF,KARJ,CAEEE,MAFF;AAAA,MAGEC,MAHF,GAQIH,KARJ,CAGEG,MAHF;AAAA,MAIEC,QAJF,GAQIJ,KARJ,CAIEI,QAJF;AAAA,MAKEC,SALF,GAQIL,KARJ,CAKEK,SALF;AAAA,MAMEC,UANF,GAQIN,KARJ,CAMEM,UANF;AAAA,MAOKC,SAPL,4BAQIP,KARJ;;AAUA,SACE,wCACMO,SADN;AAEE,IAAA,GAAG,EAAED,UAFP;AAGE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAHvB,MAOE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,YAAY,CAACK,IAAD,CAAZ,IAAsB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,IAApC,CADzB,EAEGL,YAAY,CAACM,MAAD,CAAZ,IACC,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC,QAAxB;AAAiC,IAAA,SAAS,EAAC;AAA3C,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CAPF,CADF;AA0BD,CArCD,C,CAuCA;;;AACA,eAAeJ,WAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Title from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { HasRootRef } from \"../../types\";\nimport \"./Placeholder.css\";\n\nexport interface PlaceholderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера\n */\n header?: React.ReactNode;\n /**\n * Кнопка действия\n */\n action?: React.ReactNode;\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер\n */\n stretched?: boolean;\n}\n\nconst Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {\n const {\n icon,\n header,\n action,\n children,\n stretched,\n getRootRef,\n ...restProps\n } = props;\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\"Placeholder\", {\n \"Placeholder--stretched\": stretched,\n })}\n >\n <div vkuiClass=\"Placeholder__in\">\n {hasReactNode(icon) && <div vkuiClass=\"Placeholder__icon\">{icon}</div>}\n {hasReactNode(header) && (\n <Title level=\"2\" weight=\"medium\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"regular\" vkuiClass=\"Placeholder__text\">\n {children}\n </Headline>\n )}\n {hasReactNode(action) && (\n <div vkuiClass=\"Placeholder__action\">{action}</div>\n )}\n </div>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Placeholder;\n"],"file":"Placeholder.js"}
@@ -23,7 +23,7 @@ export var PopoutRootComponent = function PopoutRootComponent(props) {
23
23
  var isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);
24
24
  React.useEffect(function () {
25
25
  popout && blurActiveElement(document);
26
- }, [!!popout]);
26
+ }, [document, popout]);
27
27
  return createScopedElement("div", _extends({}, restProps, {
28
28
  vkuiClass: "PopoutRoot",
29
29
  ref: getRootRef
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PopoutRoot/PopoutRoot.tsx"],"names":["React","withAdaptivity","ViewWidth","ViewHeight","AppRootPortal","blurActiveElement","useDOM","PopoutRootComponent","props","popout","modal","viewWidth","viewHeight","hasMouse","children","getRootRef","restProps","document","isDesktop","SMALL_TABLET","MEDIUM","useEffect","displayName","PopoutRoot"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SACEC,cADF,EAEEC,SAFF,EAGEC,UAHF;AAMA,SAASC,aAAT;AACA,SAASC,iBAAT,EAA4BC,MAA5B;AACA;AAUA,OAAO,IAAMC,mBAA8C,GAAG,SAAjDA,mBAAiD,CAC5DC,KAD4D,EAEzD;AACH,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,KAFF,GASIF,KATJ,CAEEE,KAFF;AAAA,MAGEC,SAHF,GASIH,KATJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;AAAA,MAKEC,QALF,GASIL,KATJ,CAKEK,QALF;AAAA,MAMEC,QANF,GASIN,KATJ,CAMEM,QANF;AAAA,MAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,gBAAqBF,MAAM,EAA3B;AAAA,MAAQW,QAAR,WAAQA,QAAR;;AAEA,MAAMC,SAAS,GACbP,SAAS,IAAIT,SAAS,CAACiB,YAAvB,KACCN,QAAQ,IAAID,UAAU,IAAIT,UAAU,CAACiB,MADtC,CADF;AAIApB,EAAAA,KAAK,CAACqB,SAAN,CAAgB,YAAM;AACpBZ,IAAAA,MAAM,IAAIJ,iBAAiB,CAACY,QAAD,CAA3B;AACD,GAFD,EAEG,CAAC,CAAC,CAACR,MAAH,CAFH;AAIA,SACE,wCAASO,SAAT;AAAoB,IAAA,SAAS,EAAC,YAA9B;AAA2C,IAAA,GAAG,EAAED;AAAhD,MACGD,QADH,EAEE,oBAAC,aAAD,QACG,CAAC,CAACL,MAAF,IACC;AACE,IAAA,SAAS,EACPS,SAAS,GAAG,sBAAH,GAA4B;AAFzC,KAKGT,MALH,CAFJ,EAUG,CAAC,CAACC,KAAF,IAAW;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,KAApC,CAVd,CAFF,CADF;AAiBD,CAxCM;AA0CPH,mBAAmB,CAACe,WAApB,GAAkC,YAAlC;AAEA,OAAO,IAAMC,UAAU,GAAGtB,cAAc,CAACM,mBAAD,EAAsB;AAC5DI,EAAAA,SAAS,EAAE,IADiD;AAE5DC,EAAAA,UAAU,EAAE,IAFgD;AAG5DC,EAAAA,QAAQ,EAAE;AAHkD,CAAtB,CAAjC","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport {\n withAdaptivity,\n ViewWidth,\n ViewHeight,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { blurActiveElement, useDOM } from \"../../lib/dom\";\nimport \"./PopoutRoot.css\";\n\nexport interface PopoutRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRootRef<HTMLDivElement> {\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n}\n\nexport const PopoutRootComponent: React.FC<PopoutRootProps> = (\n props: PopoutRootProps\n) => {\n const {\n popout,\n modal,\n viewWidth,\n viewHeight,\n hasMouse,\n children,\n getRootRef,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n React.useEffect(() => {\n popout && blurActiveElement(document);\n }, [!!popout]);\n\n return (\n <div {...restProps} vkuiClass=\"PopoutRoot\" ref={getRootRef}>\n {children}\n <AppRootPortal>\n {!!popout && (\n <div\n vkuiClass={\n isDesktop ? \"PopoutRoot--absolute\" : \"PopoutRoot__popout\"\n }\n >\n {popout}\n </div>\n )}\n {!!modal && <div vkuiClass=\"PopoutRoot__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\nPopoutRootComponent.displayName = \"PopoutRoot\";\n\nexport const PopoutRoot = withAdaptivity(PopoutRootComponent, {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"PopoutRoot.js"}
1
+ {"version":3,"sources":["../../../../src/components/PopoutRoot/PopoutRoot.tsx"],"names":["React","withAdaptivity","ViewWidth","ViewHeight","AppRootPortal","blurActiveElement","useDOM","PopoutRootComponent","props","popout","modal","viewWidth","viewHeight","hasMouse","children","getRootRef","restProps","document","isDesktop","SMALL_TABLET","MEDIUM","useEffect","displayName","PopoutRoot"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SACEC,cADF,EAEEC,SAFF,EAGEC,UAHF;AAKA,SAASC,aAAT;AACA,SAASC,iBAAT,EAA4BC,MAA5B;AAKA;AAUA,OAAO,IAAMC,mBAEZ,GAAG,SAFSA,mBAET,CAACC,KAAD,EAAW;AACb,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,KAFF,GASIF,KATJ,CAEEE,KAFF;AAAA,MAGEC,SAHF,GASIH,KATJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;AAAA,MAKEC,QALF,GASIL,KATJ,CAKEK,QALF;AAAA,MAMEC,QANF,GASIN,KATJ,CAMEM,QANF;AAAA,MAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,gBAAqBF,MAAM,EAA3B;AAAA,MAAQW,QAAR,WAAQA,QAAR;;AAEA,MAAMC,SAAS,GACbP,SAAS,IAAIT,SAAS,CAACiB,YAAvB,KACCN,QAAQ,IAAID,UAAU,IAAIT,UAAU,CAACiB,MADtC,CADF;AAIApB,EAAAA,KAAK,CAACqB,SAAN,CAAgB,YAAM;AACpBZ,IAAAA,MAAM,IAAIJ,iBAAiB,CAACY,QAAD,CAA3B;AACD,GAFD,EAEG,CAACA,QAAD,EAAWR,MAAX,CAFH;AAIA,SACE,wCAASO,SAAT;AAAoB,IAAA,SAAS,EAAC,YAA9B;AAA2C,IAAA,GAAG,EAAED;AAAhD,MACGD,QADH,EAEE,oBAAC,aAAD,QACG,CAAC,CAACL,MAAF,IACC;AACE,IAAA,SAAS,EACPS,SAAS,GAAG,sBAAH,GAA4B;AAFzC,KAKGT,MALH,CAFJ,EAUG,CAAC,CAACC,KAAF,IAAW;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,KAApC,CAVd,CAFF,CADF;AAiBD,CAxCM;AA0CPH,mBAAmB,CAACe,WAApB,GAAkC,YAAlC;AAEA,OAAO,IAAMC,UAAU,GAAGtB,cAAc,CAACM,mBAAD,EAAsB;AAC5DI,EAAAA,SAAS,EAAE,IADiD;AAE5DC,EAAAA,UAAU,EAAE,IAFgD;AAG5DC,EAAAA,QAAQ,EAAE;AAHkD,CAAtB,CAAjC","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport {\n withAdaptivity,\n ViewWidth,\n ViewHeight,\n} from \"../../hoc/withAdaptivity\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { blurActiveElement, useDOM } from \"../../lib/dom\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./PopoutRoot.css\";\n\nexport interface PopoutRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRootRef<HTMLDivElement> {\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n}\n\nexport const PopoutRootComponent: React.FC<\n PopoutRootProps & AdaptivityContextInterface\n> = (props) => {\n const {\n popout,\n modal,\n viewWidth,\n viewHeight,\n hasMouse,\n children,\n getRootRef,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n React.useEffect(() => {\n popout && blurActiveElement(document);\n }, [document, popout]);\n\n return (\n <div {...restProps} vkuiClass=\"PopoutRoot\" ref={getRootRef}>\n {children}\n <AppRootPortal>\n {!!popout && (\n <div\n vkuiClass={\n isDesktop ? \"PopoutRoot--absolute\" : \"PopoutRoot__popout\"\n }\n >\n {popout}\n </div>\n )}\n {!!modal && <div vkuiClass=\"PopoutRoot__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\nPopoutRootComponent.displayName = \"PopoutRoot\";\n\nexport const PopoutRoot = withAdaptivity(PopoutRootComponent, {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"PopoutRoot.js"}
@@ -34,7 +34,7 @@ export var PopoutWrapper = function PopoutWrapper(_ref) {
34
34
  opened = _React$useState2[0],
35
35
  setOpened = _React$useState2[1];
36
36
 
37
- var elRef = React.useRef();
37
+ var elRef = React.useRef(null);
38
38
 
39
39
  var onFadeInEnd = function onFadeInEnd(e) {
40
40
  if (!e || e.animationName === "vkui-animation-full-fade-in") {
@@ -45,7 +45,7 @@ export var PopoutWrapper = function PopoutWrapper(_ref) {
45
45
  var animationFinishFallback = useTimeout(onFadeInEnd, platform === IOS ? 300 : 200);
46
46
  React.useEffect(function () {
47
47
  !opened && animationFinishFallback.set();
48
- }, []);
48
+ }, [animationFinishFallback, opened]);
49
49
 
50
50
  var _useDOM = useDOM(),
51
51
  window = _useDOM.window;
@@ -63,7 +63,7 @@ export var PopoutWrapper = function PopoutWrapper(_ref) {
63
63
  "PopoutWrapper--fixed": fixed,
64
64
  "PopoutWrapper--masked": hasMask
65
65
  }),
66
- onAnimationEnd: opened ? null : onFadeInEnd,
66
+ onAnimationEnd: opened ? undefined : onFadeInEnd,
67
67
  ref: elRef
68
68
  }), createScopedElement("div", {
69
69
  vkuiClass: "PopoutWrapper__container"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","getClassName","classNames","IOS","useTimeout","usePlatform","useGlobalEventListener","useDOM","PopoutWrapper","alignY","alignX","closing","hasMask","fixed","children","onClick","restProps","platform","useState","opened","setOpened","elRef","useRef","onFadeInEnd","e","animationName","animationFinishFallback","useEffect","set","window","preventDefault","passive","baseClassNames"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAASC,MAAT;AACA;AAWA,OAAO,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C,OASjC;AAAA,yBARxBC,MAQwB;AAAA,MARxBA,MAQwB,4BARf,QAQe;AAAA,yBAPxBC,MAOwB;AAAA,MAPxBA,MAOwB,4BAPf,QAOe;AAAA,0BANxBC,OAMwB;AAAA,MANxBA,OAMwB,6BANd,KAMc;AAAA,0BALxBC,OAKwB;AAAA,MALxBA,OAKwB,6BALd,IAKc;AAAA,wBAJxBC,KAIwB;AAAA,MAJxBA,KAIwB,2BAJhB,IAIgB;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,OAEwB,QAFxBA,OAEwB;AAAA,MADrBC,SACqB;;AACxB,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,wBAA4BL,KAAK,CAACkB,QAAN,CAAe,CAACN,OAAhB,CAA5B;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,KAAK,GAAGrB,KAAK,CAACsB,MAAN,EAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAA8B;AAChD,QAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,aAAF,KAAoB,6BAA9B,EAA6D;AAC3DL,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF,GAJD;;AAKA,MAAMM,uBAAuB,GAAGtB,UAAU,CACxCmB,WADwC,EAExCN,QAAQ,KAAKd,GAAb,GAAmB,GAAnB,GAAyB,GAFe,CAA1C;AAIAH,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpB,KAACR,MAAD,IAAWO,uBAAuB,CAACE,GAAxB,EAAX;AACD,GAFD,EAEG,EAFH;;AAIA,gBAAmBrB,MAAM,EAAzB;AAAA,MAAQsB,MAAR,WAAQA,MAAR;;AACAvB,EAAAA,sBAAsB,CAACuB,MAAD,EAAS,WAAT,EAAsB,UAACL,CAAD;AAAA,WAAOA,CAAC,CAACM,cAAF,EAAP;AAAA,GAAtB,EAAiD;AACrEC,IAAAA,OAAO,EAAE;AAD4D,GAAjD,CAAtB;AAIA,MAAMC,cAAc,GAAG/B,YAAY,CAAC,eAAD,EAAkBgB,QAAlB,CAAnC;AAEA,SACE,wCACMD,SADN;AAEE,IAAA,SAAS,EAAEd,UAAU,CACnB8B,cADmB,6BAECvB,MAFD,8BAGCC,MAHD,GAInB;AACE,gCAA0BC,OAD5B;AAEE,+BAAyBQ,MAF3B;AAGE,8BAAwBN,KAH1B;AAIE,+BAAyBD;AAJ3B,KAJmB,CAFvB;AAaE,IAAA,cAAc,EAAEO,MAAM,GAAG,IAAH,GAAUI,WAblC;AAcE,IAAA,GAAG,EAAEF;AAdP,MAgBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAwC,IAAA,OAAO,EAAEN;AAAjD,IADF,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAyCD,QAAzC,CAFF,CAhBF,CADF;AAuBD,CAzDM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./PopoutWrapper.css\";\n\nexport interface PopoutWrapperProps\n extends React.HTMLAttributes<HTMLDivElement> {\n hasMask?: boolean;\n fixed?: boolean;\n alignY?: \"top\" | \"center\" | \"bottom\";\n alignX?: \"left\" | \"center\" | \"right\";\n closing?: boolean;\n}\n\nexport const PopoutWrapper: React.FC<PopoutWrapperProps> = ({\n alignY = \"center\",\n alignX = \"center\",\n closing = false,\n hasMask = true,\n fixed = true,\n children,\n onClick,\n ...restProps\n}: PopoutWrapperProps) => {\n const platform = usePlatform();\n const [opened, setOpened] = React.useState(!hasMask);\n const elRef = React.useRef<HTMLDivElement>();\n\n const onFadeInEnd = (e?: React.AnimationEvent) => {\n if (!e || e.animationName === \"vkui-animation-full-fade-in\") {\n setOpened(true);\n }\n };\n const animationFinishFallback = useTimeout(\n onFadeInEnd,\n platform === IOS ? 300 : 200\n );\n React.useEffect(() => {\n !opened && animationFinishFallback.set();\n }, []);\n\n const { window } = useDOM();\n useGlobalEventListener(window, \"touchmove\", (e) => e.preventDefault(), {\n passive: false,\n });\n\n const baseClassNames = getClassName(\"PopoutWrapper\", platform);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n baseClassNames,\n `PopoutWrapper--v-${alignY}`,\n `PopoutWrapper--h-${alignX}`,\n {\n \"PopoutWrapper--closing\": closing,\n \"PopoutWrapper--opened\": opened,\n \"PopoutWrapper--fixed\": fixed,\n \"PopoutWrapper--masked\": hasMask,\n }\n )}\n onAnimationEnd={opened ? null : onFadeInEnd}\n ref={elRef}\n >\n <div vkuiClass=\"PopoutWrapper__container\">\n <div vkuiClass=\"PopoutWrapper__overlay\" onClick={onClick} />\n <div vkuiClass=\"PopoutWrapper__content\">{children}</div>\n </div>\n </div>\n );\n};\n"],"file":"PopoutWrapper.js"}
1
+ {"version":3,"sources":["../../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","getClassName","classNames","IOS","useTimeout","usePlatform","useGlobalEventListener","useDOM","PopoutWrapper","alignY","alignX","closing","hasMask","fixed","children","onClick","restProps","platform","useState","opened","setOpened","elRef","useRef","onFadeInEnd","e","animationName","animationFinishFallback","useEffect","set","window","preventDefault","passive","baseClassNames","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAASC,MAAT;AACA;AAWA,OAAO,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C,OASjC;AAAA,yBARxBC,MAQwB;AAAA,MARxBA,MAQwB,4BARf,QAQe;AAAA,yBAPxBC,MAOwB;AAAA,MAPxBA,MAOwB,4BAPf,QAOe;AAAA,0BANxBC,OAMwB;AAAA,MANxBA,OAMwB,6BANd,KAMc;AAAA,0BALxBC,OAKwB;AAAA,MALxBA,OAKwB,6BALd,IAKc;AAAA,wBAJxBC,KAIwB;AAAA,MAJxBA,KAIwB,2BAJhB,IAIgB;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,OAEwB,QAFxBA,OAEwB;AAAA,MADrBC,SACqB;;AACxB,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,wBAA4BL,KAAK,CAACkB,QAAN,CAAe,CAACN,OAAhB,CAA5B;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,KAAK,GAAGrB,KAAK,CAACsB,MAAN,CAA6B,IAA7B,CAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAA8B;AAChD,QAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,aAAF,KAAoB,6BAA9B,EAA6D;AAC3DL,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF,GAJD;;AAKA,MAAMM,uBAAuB,GAAGtB,UAAU,CACxCmB,WADwC,EAExCN,QAAQ,KAAKd,GAAb,GAAmB,GAAnB,GAAyB,GAFe,CAA1C;AAIAH,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpB,KAACR,MAAD,IAAWO,uBAAuB,CAACE,GAAxB,EAAX;AACD,GAFD,EAEG,CAACF,uBAAD,EAA0BP,MAA1B,CAFH;;AAIA,gBAAmBZ,MAAM,EAAzB;AAAA,MAAQsB,MAAR,WAAQA,MAAR;;AACAvB,EAAAA,sBAAsB,CAACuB,MAAD,EAAS,WAAT,EAAsB,UAACL,CAAD;AAAA,WAAOA,CAAC,CAACM,cAAF,EAAP;AAAA,GAAtB,EAAiD;AACrEC,IAAAA,OAAO,EAAE;AAD4D,GAAjD,CAAtB;AAIA,MAAMC,cAAc,GAAG/B,YAAY,CAAC,eAAD,EAAkBgB,QAAlB,CAAnC;AAEA,SACE,wCACMD,SADN;AAEE,IAAA,SAAS,EAAEd,UAAU,CACnB8B,cADmB,6BAECvB,MAFD,8BAGCC,MAHD,GAInB;AACE,gCAA0BC,OAD5B;AAEE,+BAAyBQ,MAF3B;AAGE,8BAAwBN,KAH1B;AAIE,+BAAyBD;AAJ3B,KAJmB,CAFvB;AAaE,IAAA,cAAc,EAAEO,MAAM,GAAGc,SAAH,GAAeV,WAbvC;AAcE,IAAA,GAAG,EAAEF;AAdP,MAgBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAwC,IAAA,OAAO,EAAEN;AAAjD,IADF,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAyCD,QAAzC,CAFF,CAhBF,CADF;AAuBD,CAzDM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./PopoutWrapper.css\";\n\nexport interface PopoutWrapperProps\n extends React.HTMLAttributes<HTMLDivElement> {\n hasMask?: boolean;\n fixed?: boolean;\n alignY?: \"top\" | \"center\" | \"bottom\";\n alignX?: \"left\" | \"center\" | \"right\";\n closing?: boolean;\n}\n\nexport const PopoutWrapper: React.FC<PopoutWrapperProps> = ({\n alignY = \"center\",\n alignX = \"center\",\n closing = false,\n hasMask = true,\n fixed = true,\n children,\n onClick,\n ...restProps\n}: PopoutWrapperProps) => {\n const platform = usePlatform();\n const [opened, setOpened] = React.useState(!hasMask);\n const elRef = React.useRef<HTMLDivElement>(null);\n\n const onFadeInEnd = (e?: React.AnimationEvent) => {\n if (!e || e.animationName === \"vkui-animation-full-fade-in\") {\n setOpened(true);\n }\n };\n const animationFinishFallback = useTimeout(\n onFadeInEnd,\n platform === IOS ? 300 : 200\n );\n React.useEffect(() => {\n !opened && animationFinishFallback.set();\n }, [animationFinishFallback, opened]);\n\n const { window } = useDOM();\n useGlobalEventListener(window, \"touchmove\", (e) => e.preventDefault(), {\n passive: false,\n });\n\n const baseClassNames = getClassName(\"PopoutWrapper\", platform);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n baseClassNames,\n `PopoutWrapper--v-${alignY}`,\n `PopoutWrapper--h-${alignX}`,\n {\n \"PopoutWrapper--closing\": closing,\n \"PopoutWrapper--opened\": opened,\n \"PopoutWrapper--fixed\": fixed,\n \"PopoutWrapper--masked\": hasMask,\n }\n )}\n onAnimationEnd={opened ? undefined : onFadeInEnd}\n ref={elRef}\n >\n <div vkuiClass=\"PopoutWrapper__container\">\n <div vkuiClass=\"PopoutWrapper__overlay\" onClick={onClick} />\n <div vkuiClass=\"PopoutWrapper__content\">{children}</div>\n </div>\n </div>\n );\n};\n"],"file":"PopoutWrapper.js"}
@@ -16,6 +16,8 @@ var ARROW_PADDING = 8;
16
16
  var ARROW_WIDTH = 20;
17
17
  var ARROW_HEIGHT = 8;
18
18
  export var Popper = function Popper(_ref) {
19
+ var _targetRef$current3;
20
+
19
21
  var targetRef = _ref.targetRef,
20
22
  children = _ref.children,
21
23
  getRef = _ref.getRef,
@@ -86,7 +88,7 @@ export var Popper = function Popper(_ref) {
86
88
  }
87
89
 
88
90
  return modifiers;
89
- }, [arrow, sameWidth, smallTargetOffsetSkidding, offsetSkidding, offsetDistance, ARROW_HEIGHT, ARROW_PADDING]);
91
+ }, [arrow, sameWidth, smallTargetOffsetSkidding, offsetSkidding, offsetDistance]);
90
92
 
91
93
  var _usePopper = usePopper(targetRef.current, popperNode, {
92
94
  placement: placement,
@@ -103,9 +105,11 @@ export var Popper = function Popper(_ref) {
103
105
 
104
106
  useIsomorphicLayoutEffect(function () {
105
107
  if (arrow && isEdgePlacement) {
106
- var placementDirection = resolvedPlacement.startsWith("bottom") || resolvedPlacement.startsWith("top") ? "vertical" : "horizontal";
108
+ var _ref4, _targetRef$current, _targetRef$current2;
109
+
110
+ var placementDirection = resolvedPlacement !== null && resolvedPlacement !== void 0 && resolvedPlacement.startsWith("bottom") || resolvedPlacement !== null && resolvedPlacement !== void 0 && resolvedPlacement.startsWith("top") ? "vertical" : "horizontal";
107
111
  var arrowSize = placementDirection === "vertical" ? ARROW_WIDTH : ARROW_HEIGHT;
108
- var targetSize = placementDirection === "vertical" ? targetRef.current.offsetWidth : targetRef.current.offsetHeight;
112
+ var targetSize = (_ref4 = placementDirection === "vertical" ? (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.offsetWidth : (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.offsetHeight) !== null && _ref4 !== void 0 ? _ref4 : 0;
109
113
 
110
114
  if (targetSize < arrowSize + 2 * ARROW_PADDING) {
111
115
  setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);
@@ -120,11 +124,13 @@ export var Popper = function Popper(_ref) {
120
124
  placement: resolvedPlacement
121
125
  });
122
126
  }
123
- }, [resolvedPlacement]);
127
+ }, [onPlacementChange, resolvedPlacement]);
124
128
  var dropdown = createScopedElement("div", _extends({}, restProps, attributes.popper, {
125
129
  vkuiClass: getClassName("Popper", platform),
126
130
  ref: setExternalRef,
127
- style: _objectSpread(_objectSpread({}, compStyles), styles.popper)
131
+ style: _objectSpread(_objectSpread(_objectSpread({}, compStyles), styles.popper), {}, {
132
+ minWidth: sameWidth ? (_targetRef$current3 = targetRef.current) === null || _targetRef$current3 === void 0 ? void 0 : _targetRef$current3.scrollWidth : undefined
133
+ })
128
134
  }), arrow && createScopedElement("div", _extends({}, attributes.arrow, {
129
135
  vkuiClass: "Popper__arrow",
130
136
  "data-popper-arrow": true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Popper/Popper.tsx"],"names":["React","usePopper","AppRootPortal","usePlatform","getClassName","useExternRef","useIsomorphicLayoutEffect","ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","restProps","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRef<HTMLElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef?: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\nexport const Popper: React.FC<PopperProps> = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState(null);\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n ARROW_HEIGHT,\n ARROW_PADDING,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован скраю\n\n // Если поппер рисуется скраю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement.startsWith(\"bottom\") ||\n resolvedPlacement.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n placementDirection === \"vertical\"\n ? targetRef.current.offsetWidth\n : targetRef.current.offsetHeight;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{ ...compStyles, ...styles.popper }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
1
+ {"version":3,"sources":["../../../../src/components/Popper/Popper.tsx"],"names":["React","usePopper","AppRootPortal","usePlatform","getClassName","useExternRef","useIsomorphicLayoutEffect","ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","restProps","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\nexport const Popper: React.FC<PopperProps> = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован скраю\n\n // Если поппер рисуется скраю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
@@ -9,7 +9,8 @@ var PROGRESS_MIN_VALUE = 0;
9
9
  var PROGRESS_MAX_VALUE = 100;
10
10
 
11
11
  var Progress = function Progress(_ref) {
12
- var value = _ref.value,
12
+ var _ref$value = _ref.value,
13
+ value = _ref$value === void 0 ? 0 : _ref$value,
13
14
  getRootRef = _ref.getRootRef,
14
15
  restProps = _objectWithoutProperties(_ref, _excluded);
15
16
 
@@ -33,10 +34,8 @@ var Progress = function Progress(_ref) {
33
34
  },
34
35
  "aria-hidden": "true"
35
36
  }));
36
- };
37
+ }; // eslint-disable-next-line import/no-default-export
38
+
37
39
 
38
- Progress.defaultProps = {
39
- value: 0
40
- };
41
40
  export default Progress;
42
41
  //# sourceMappingURL=Progress.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Progress/Progress.tsx"],"names":["getClassName","usePlatform","PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","restProps","platform","progress","Math","max","min","width","defaultProps"],"mappings":";;;;AACA,SAASA,YAAT;AAEA,SAASC,WAAT;AACA;AAQA,IAAMC,kBAAkB,GAAG,CAA3B;AACA,IAAMC,kBAAkB,GAAG,GAA3B;;AAEA,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAIrB;AAAA,MAHnBC,KAGmB,QAHnBA,KAGmB;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGP,WAAW,EAA5B;AAEA,MAAMQ,QAAQ,GAAGC,IAAI,CAACC,GAAL,CACfT,kBADe,EAEfQ,IAAI,CAACE,GAAL,CAASP,KAAT,EAAgBF,kBAAhB,CAFe,CAAjB;AAKA,SACE;AACE,qBAAeE;AADjB,KAEME,SAFN;AAGE,IAAA,IAAI,EAAC,aAHP;AAIE,qBAAeL,kBAJjB;AAKE,qBAAeC,kBALjB;AAME,IAAA,GAAG,EAAEG,UANP;AAOE,IAAA,SAAS,EAAEN,YAAY,CAAC,UAAD,EAAaQ,QAAb;AAPzB,MASE;AAAK,IAAA,SAAS,EAAC,cAAf;AAA8B,mBAAY;AAA1C,IATF,EAUE;AACE,IAAA,SAAS,EAAC,cADZ;AAEE,IAAA,KAAK,EAAE;AAAEK,MAAAA,KAAK,YAAKJ,QAAL;AAAP,KAFT;AAGE,mBAAY;AAHd,IAVF,CADF;AAkBD,CA9BD;;AAgCAL,QAAQ,CAACU,YAAT,GAAwB;AACtBT,EAAAA,KAAK,EAAE;AADe,CAAxB;AAIA,eAAeD,QAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Progress.css\";\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n value?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\nconst Progress: React.FC<ProgressProps> = ({\n value,\n getRootRef,\n ...restProps\n}: ProgressProps) => {\n const platform = usePlatform();\n\n const progress = Math.max(\n PROGRESS_MIN_VALUE,\n Math.min(value, PROGRESS_MAX_VALUE)\n );\n\n return (\n <div\n aria-valuenow={value}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n ref={getRootRef}\n vkuiClass={getClassName(\"Progress\", platform)}\n >\n <div vkuiClass=\"Progress__bg\" aria-hidden=\"true\" />\n <div\n vkuiClass=\"Progress__in\"\n style={{ width: `${progress}%` }}\n aria-hidden=\"true\"\n />\n </div>\n );\n};\n\nProgress.defaultProps = {\n value: 0,\n};\n\nexport default Progress;\n"],"file":"Progress.js"}
1
+ {"version":3,"sources":["../../../../src/components/Progress/Progress.tsx"],"names":["getClassName","usePlatform","PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","restProps","platform","progress","Math","max","min","width"],"mappings":";;;;AACA,SAASA,YAAT;AAEA,SAASC,WAAT;AACA;AAQA,IAAMC,kBAAkB,GAAG,CAA3B;AACA,IAAMC,kBAAkB,GAAG,GAA3B;;AAEA,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAIrB;AAAA,wBAHnBC,KAGmB;AAAA,MAHnBA,KAGmB,2BAHX,CAGW;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGP,WAAW,EAA5B;AAEA,MAAMQ,QAAQ,GAAGC,IAAI,CAACC,GAAL,CACfT,kBADe,EAEfQ,IAAI,CAACE,GAAL,CAASP,KAAT,EAAgBF,kBAAhB,CAFe,CAAjB;AAKA,SACE;AACE,qBAAeE;AADjB,KAEME,SAFN;AAGE,IAAA,IAAI,EAAC,aAHP;AAIE,qBAAeL,kBAJjB;AAKE,qBAAeC,kBALjB;AAME,IAAA,GAAG,EAAEG,UANP;AAOE,IAAA,SAAS,EAAEN,YAAY,CAAC,UAAD,EAAaQ,QAAb;AAPzB,MASE;AAAK,IAAA,SAAS,EAAC,cAAf;AAA8B,mBAAY;AAA1C,IATF,EAUE;AACE,IAAA,SAAS,EAAC,cADZ;AAEE,IAAA,KAAK,EAAE;AAAEK,MAAAA,KAAK,YAAKJ,QAAL;AAAP,KAFT;AAGE,mBAAY;AAHd,IAVF,CADF;AAkBD,CA9BD,C,CAgCA;;;AACA,eAAeL,QAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Progress.css\";\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n value?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\nconst Progress: React.FC<ProgressProps> = ({\n value = 0,\n getRootRef,\n ...restProps\n}: ProgressProps) => {\n const platform = usePlatform();\n\n const progress = Math.max(\n PROGRESS_MIN_VALUE,\n Math.min(value, PROGRESS_MAX_VALUE)\n );\n\n return (\n <div\n aria-valuenow={value}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n ref={getRootRef}\n vkuiClass={getClassName(\"Progress\", platform)}\n >\n <div vkuiClass=\"Progress__bg\" aria-hidden=\"true\" />\n <div\n vkuiClass=\"Progress__in\"\n style={{ width: `${progress}%` }}\n aria-hidden=\"true\"\n />\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Progress;\n"],"file":"Progress.js"}
@@ -13,7 +13,9 @@ import Avatar from "../Avatar/Avatar";
13
13
  import Caption from "../Typography/Caption/Caption";
14
14
  import { usePlatform } from "../../hooks/usePlatform";
15
15
  import { getClassName } from "../../helpers/getClassName";
16
+ import { warnOnce } from "../../lib/warnOnce";
16
17
  import "./PromoBanner.css";
18
+ var warn = warnOnce("PromoBanner");
17
19
 
18
20
  var PromoBanner = function PromoBanner(props) {
19
21
  var platform = usePlatform();
@@ -25,6 +27,10 @@ var PromoBanner = function PromoBanner(props) {
25
27
 
26
28
  var ageRestrictions = bannerData.ageRestrictions != null ? parseInt(bannerData.ageRestrictions) : bannerData.ageRestriction;
27
29
 
30
+ if (bannerData.ageRestriction && process.env.NODE_ENV === "development") {
31
+ warn("Свойство bannerData.ageRestriction устарело и будет удалено в 5.0.0. Используйте bannerData.ageRestrictions");
32
+ }
33
+
28
34
  var _React$useState = React.useState(""),
29
35
  _React$useState2 = _slicedToArray(_React$useState, 2),
30
36
  currentPixel = _React$useState2[0],
@@ -79,7 +85,8 @@ var PromoBanner = function PromoBanner(props) {
79
85
  src: currentPixel,
80
86
  alt: ""
81
87
  })));
82
- };
88
+ }; // eslint-disable-next-line import/no-default-export
89
+
83
90
 
84
91
  export default PromoBanner;
85
92
  //# sourceMappingURL=PromoBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport Button from \"../Button/Button\";\nimport SimpleCell from \"../SimpleCell/SimpleCell\";\nimport Avatar from \"../Avatar/Avatar\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport \"./PromoBanner.css\";\n\ntype StatsType =\n | \"playbackStarted\" // Начало показа\n | \"click\"; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string; // eslint-disable-line camelcase\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n /** @deprecated */\n ageRestriction?: number;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\nconst PromoBanner = (props: PromoBannerProps) => {\n const platform = usePlatform();\n const { bannerData = {}, onClose, ...restProps } = props;\n\n const ageRestrictions =\n bannerData.ageRestrictions != null\n ? parseInt(bannerData.ageRestrictions)\n : bannerData.ageRestriction;\n\n const [currentPixel, setCurrentPixel] = React.useState(\"\");\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce(\n (acc, item) => ({ ...acc, [item.type]: item.url }),\n {}\n )\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics]\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || \"\"),\n [statsPixels.click]\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div vkuiClass={getClassName(\"PromoBanner\", platform)} {...restProps}>\n <div vkuiClass=\"PromoBanner__head\">\n <Caption weight=\"regular\" level=\"1\" vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption weight=\"regular\" level=\"1\" vkuiClass=\"PromoBanner__age\">\n {ageRestrictions}+\n </Caption>\n )}\n\n {!props.isCloseButtonHidden && (\n <div vkuiClass=\"PromoBanner__close\" onClick={props.onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n <Avatar\n mode=\"image\"\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n />\n }\n after={<Button mode=\"outline\">{bannerData.ctaText}</Button>}\n description={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div vkuiClass=\"PromoBanner__pixels\">\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n\nexport default PromoBanner;\n"],"file":"PromoBanner.js"}
1
+ {"version":3,"sources":["../../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport Button from \"../Button/Button\";\nimport SimpleCell from \"../SimpleCell/SimpleCell\";\nimport Avatar from \"../Avatar/Avatar\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./PromoBanner.css\";\n\ntype StatsType =\n | \"playbackStarted\" // Начало показа\n | \"click\"; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string; // eslint-disable-line camelcase\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n /** @deprecated */\n ageRestriction?: number;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\nconst warn = warnOnce(\"PromoBanner\");\nconst PromoBanner = (props: PromoBannerProps) => {\n const platform = usePlatform();\n const { bannerData = {}, onClose, ...restProps } = props;\n\n const ageRestrictions =\n bannerData.ageRestrictions != null\n ? parseInt(bannerData.ageRestrictions)\n : bannerData.ageRestriction;\n\n if (bannerData.ageRestriction && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство bannerData.ageRestriction устарело и будет удалено в 5.0.0. Используйте bannerData.ageRestrictions\"\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState(\"\");\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce(\n (acc, item) => ({ ...acc, [item.type]: item.url }),\n {}\n )\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics]\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || \"\"),\n [statsPixels.click]\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div vkuiClass={getClassName(\"PromoBanner\", platform)} {...restProps}>\n <div vkuiClass=\"PromoBanner__head\">\n <Caption weight=\"regular\" level=\"1\" vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption weight=\"regular\" level=\"1\" vkuiClass=\"PromoBanner__age\">\n {ageRestrictions}+\n </Caption>\n )}\n\n {!props.isCloseButtonHidden && (\n <div vkuiClass=\"PromoBanner__close\" onClick={props.onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n <Avatar\n mode=\"image\"\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n />\n }\n after={<Button mode=\"outline\">{bannerData.ctaText}</Button>}\n description={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div vkuiClass=\"PromoBanner__pixels\">\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PromoBanner;\n"],"file":"PromoBanner.js"}
@@ -59,7 +59,7 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
59
59
 
60
60
  _defineProperty(_assertThisInitialized(_this), "contentRef", void 0);
61
61
 
62
- _defineProperty(_assertThisInitialized(_this), "waitFetchingTimeout", void 0);
62
+ _defineProperty(_assertThisInitialized(_this), "waitFetchingTimeout", undefined);
63
63
 
64
64
  _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
65
65
  if (_this.state.refreshing) {
@@ -79,14 +79,14 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
79
79
  });
80
80
 
81
81
  _defineProperty(_assertThisInitialized(_this), "onTouchMove", function (e) {
82
+ var _this$props$scroll;
83
+
82
84
  var isY = e.isY,
83
85
  shiftY = e.shiftY;
84
86
  var _this$params = _this.params,
85
87
  start = _this$params.start,
86
88
  max = _this$params.max;
87
-
88
- var pageYOffset = _this.props.scroll.getScroll().y;
89
-
89
+ var pageYOffset = (_this$props$scroll = _this.props.scroll) === null || _this$props$scroll === void 0 ? void 0 : _this$props$scroll.getScroll().y;
90
90
  var _this$state = _this.state,
91
91
  refreshing = _this$state.refreshing,
92
92
  watching = _this$state.watching,
@@ -185,7 +185,9 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
185
185
  });
186
186
  }
187
187
 
188
- clearTimeout(this.waitFetchingTimeout);
188
+ if (this.waitFetchingTimeout) {
189
+ clearTimeout(this.waitFetchingTimeout);
190
+ }
189
191
  }
190
192
  }, {
191
193
  key: "componentDidUpdate",
@@ -194,7 +196,7 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
194
196
  this.onRefreshingFinish();
195
197
  }
196
198
 
197
- if (!prevProps.isFetching && this.props.isFetching) {
199
+ if (!prevProps.isFetching && this.props.isFetching && this.waitFetchingTimeout) {
198
200
  clearTimeout(this.waitFetchingTimeout);
199
201
  }
200
202
 
@@ -294,7 +296,7 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
294
296
  opacity: watching || refreshing || canRefresh ? 1 : 0
295
297
  },
296
298
  on: refreshing,
297
- progress: refreshing ? null : spinnerProgress
299
+ progress: refreshing ? undefined : spinnerProgress
298
300
  })), createScopedElement("div", {
299
301
  vkuiClass: "PullToRefresh__content",
300
302
  ref: this.contentRef,
@@ -307,7 +309,8 @@ var PullToRefresh = /*#__PURE__*/function (_React$PureComponent) {
307
309
  }]);
308
310
 
309
311
  return PullToRefresh;
310
- }(React.PureComponent);
312
+ }(React.PureComponent); // eslint-disable-next-line import/no-default-export
313
+
311
314
 
312
315
  export default withContext(withPlatform(withDOM(PullToRefresh)), ScrollContext, "scroll");
313
316
  //# sourceMappingURL=PullToRefresh.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","Touch","TouchRootContext","FixedLayout","classNames","IOS","ANDROID","VKCOM","getClassName","PullToRefreshSpinner","withPlatform","canUseDOM","withDOM","runTapticImpactOccurred","withContext","ScrollContext","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","PullToRefresh","props","e","state","refreshing","setState","touchDown","isY","shiftY","params","start","max","pageYOffset","scroll","getScroll","y","watching","positionMultiplier","shift","Math","touchY","currentY","min","maxY","progress","abs","spinnerY","spinnerProgress","canRefresh","contentShift","platform","runRefreshing","resetRefreshingState","contentRef","createRef","document","addEventListener","onWindowTouchMove","passive","removeEventListener","clearTimeout","waitFetchingTimeout","prevProps","prevState","isFetching","onRefreshingFinish","onRefresh","setTimeout","children","window","restProps","spinnerTransform","contentTransform","onTouchStart","onTouchMove","onTouchEnd","transform","WebkitTransform","opacity","PureComponent"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchProps, TouchEvent } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport PullToRefreshSpinner from \"./PullToRefreshSpinner\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { canUseDOM, DOMProps, withDOM } from \"../../lib/dom\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport \"./PullToRefresh.css\";\n\nexport interface PullToRefreshProps extends TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nexport interface PullToRefreshState {\n watching: boolean;\n refreshing: boolean;\n canRefresh: boolean;\n\n touchDown: boolean;\n\n touchY: number;\n spinnerY: PullToRefreshParams[\"start\"];\n spinnerProgress: number;\n contentShift: number;\n}\n\nexport interface PullToRefreshParams {\n start: number;\n max: number;\n maxY: number;\n refreshing: number;\n positionMultiplier: number;\n}\n\nexport type TouchEventHandler = (event: TouchEvent) => void;\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nclass PullToRefresh extends React.PureComponent<\n PullToRefreshProps & DOMProps,\n PullToRefreshState\n> {\n constructor(props: PullToRefreshProps) {\n super(props);\n\n this.params = {\n start: props.platform === ANDROID || props.platform === VKCOM ? -45 : -10,\n max: props.platform === ANDROID || props.platform === VKCOM ? 80 : 50,\n maxY: props.platform === ANDROID || props.platform === VKCOM ? 80 : 400,\n refreshing:\n props.platform === ANDROID || props.platform === VKCOM ? 50 : 36,\n\n positionMultiplier:\n props.platform === ANDROID || props.platform === VKCOM ? 1 : 0.21,\n };\n\n this.state = {\n watching: false,\n refreshing: false,\n canRefresh: false,\n\n touchDown: false,\n\n touchY: 0,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n };\n\n this.contentRef = React.createRef();\n }\n\n params: PullToRefreshParams;\n contentRef: React.RefObject<HTMLDivElement>;\n waitFetchingTimeout: ReturnType<typeof setTimeout>;\n\n get document() {\n return this.props.document;\n }\n\n componentDidMount() {\n if (canUseDOM) {\n this.document.addEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n }\n\n componentWillUnmount() {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n if (canUseDOM) {\n this.document.removeEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n clearTimeout(this.waitFetchingTimeout);\n }\n\n componentDidUpdate(\n prevProps: PullToRefreshProps,\n prevState: PullToRefreshState\n ) {\n if (prevProps.isFetching && !this.props.isFetching) {\n this.onRefreshingFinish();\n }\n if (!prevProps.isFetching && this.props.isFetching) {\n clearTimeout(this.waitFetchingTimeout);\n }\n\n if (prevState.touchDown && !this.state.touchDown) {\n const { refreshing, canRefresh } = this.state;\n if (!refreshing && canRefresh) {\n this.runRefreshing();\n } else if (refreshing && !this.props.isFetching) {\n // only iOS can start refresh before gesture end\n this.resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n this.setState({\n spinnerY: refreshing ? this.params.refreshing : this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n }\n }\n\n onTouchStart: TouchEventHandler = (e: TouchEvent) => {\n if (this.state.refreshing) {\n cancelEvent(e);\n }\n this.setState({ touchDown: true });\n };\n\n onWindowTouchMove: EventListener = (event: Event) => {\n if (this.state.refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n onTouchMove: TouchEventHandler = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = this.params;\n const pageYOffset = this.props.scroll.getScroll().y;\n\n const { refreshing, watching, touchDown } = this.state;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier } = this.params;\n\n const shift = Math.max(0, shiftY - this.state.touchY);\n\n const currentY = Math.max(\n start,\n Math.min(this.params.maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n this.setState({\n spinnerY: currentY,\n spinnerProgress: Math.min(80, Math.max(0, progress)),\n canRefresh: progress > 80,\n contentShift: (currentY + 10) * 2.3,\n });\n\n if (progress > 85 && !refreshing && this.props.platform === IOS) {\n this.runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n this.setState({\n watching: true,\n touchY: shiftY,\n spinnerY: start,\n spinnerProgress: 0,\n });\n }\n };\n\n onTouchEnd = () => {\n this.setState({\n watching: false,\n touchDown: false,\n });\n };\n\n runRefreshing() {\n if (!this.state.refreshing && this.props.onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n this.waitFetchingTimeout = setTimeout(this.onRefreshingFinish, 1000);\n this.setState({\n refreshing: true,\n spinnerY:\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? this.params.refreshing\n : this.state.spinnerY,\n });\n\n this.props.onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }\n\n onRefreshingFinish: VoidFunction = () => {\n if (!this.state.touchDown) {\n this.resetRefreshingState();\n }\n };\n\n resetRefreshingState() {\n this.setState({\n watching: false,\n canRefresh: false,\n refreshing: false,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n\n render() {\n const {\n children,\n onRefresh,\n isFetching,\n platform,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n watching,\n refreshing,\n spinnerY,\n spinnerProgress,\n canRefresh,\n touchDown,\n contentShift,\n } = this.state;\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = \"\";\n\n if (platform === IOS && refreshing && !touchDown) {\n contentTransform = \"translate3d(0, 100px, 0)\";\n } else if (platform === IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={this.onTouchStart}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n vkuiClass={classNames(getClassName(\"PullToRefresh\", platform), {\n \"PullToRefresh--watching\": watching,\n \"PullToRefresh--refreshing\": refreshing,\n })}\n >\n <FixedLayout vkuiClass=\"PullToRefresh__controls\">\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? null : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n vkuiClass=\"PullToRefresh__content\"\n ref={this.contentRef}\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n }\n}\n\nexport default withContext(\n withPlatform(withDOM<PullToRefreshProps>(PullToRefresh)),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"PullToRefresh.js"}
1
+ {"version":3,"sources":["../../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","Touch","TouchRootContext","FixedLayout","classNames","IOS","ANDROID","VKCOM","getClassName","PullToRefreshSpinner","withPlatform","canUseDOM","withDOM","runTapticImpactOccurred","withContext","ScrollContext","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","PullToRefresh","props","undefined","e","state","refreshing","setState","touchDown","isY","shiftY","params","start","max","pageYOffset","scroll","getScroll","y","watching","positionMultiplier","shift","Math","touchY","currentY","min","maxY","progress","abs","spinnerY","spinnerProgress","canRefresh","contentShift","platform","runRefreshing","resetRefreshingState","contentRef","createRef","document","addEventListener","onWindowTouchMove","passive","removeEventListener","waitFetchingTimeout","clearTimeout","prevProps","prevState","isFetching","onRefreshingFinish","onRefresh","setTimeout","children","window","restProps","spinnerTransform","contentTransform","onTouchStart","onTouchMove","onTouchEnd","transform","WebkitTransform","opacity","PureComponent"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchProps, TouchEvent } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport PullToRefreshSpinner from \"./PullToRefreshSpinner\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { canUseDOM, DOMProps, withDOM } from \"../../lib/dom\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport \"./PullToRefresh.css\";\n\nexport interface PullToRefreshProps extends TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nexport interface PullToRefreshState {\n watching: boolean;\n refreshing: boolean;\n canRefresh: boolean;\n\n touchDown: boolean;\n\n touchY: number;\n spinnerY: PullToRefreshParams[\"start\"];\n spinnerProgress: number;\n contentShift: number;\n}\n\nexport interface PullToRefreshParams {\n start: number;\n max: number;\n maxY: number;\n refreshing: number;\n positionMultiplier: number;\n}\n\nexport type TouchEventHandler = (event: TouchEvent) => void;\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nclass PullToRefresh extends React.PureComponent<\n PullToRefreshProps & DOMProps,\n PullToRefreshState\n> {\n constructor(props: PullToRefreshProps) {\n super(props);\n\n this.params = {\n start: props.platform === ANDROID || props.platform === VKCOM ? -45 : -10,\n max: props.platform === ANDROID || props.platform === VKCOM ? 80 : 50,\n maxY: props.platform === ANDROID || props.platform === VKCOM ? 80 : 400,\n refreshing:\n props.platform === ANDROID || props.platform === VKCOM ? 50 : 36,\n\n positionMultiplier:\n props.platform === ANDROID || props.platform === VKCOM ? 1 : 0.21,\n };\n\n this.state = {\n watching: false,\n refreshing: false,\n canRefresh: false,\n\n touchDown: false,\n\n touchY: 0,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n };\n\n this.contentRef = React.createRef();\n }\n\n params: PullToRefreshParams;\n contentRef: React.RefObject<HTMLDivElement>;\n waitFetchingTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n componentDidMount() {\n if (canUseDOM) {\n this.document!.addEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n }\n\n componentWillUnmount() {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n if (canUseDOM) {\n this.document!.removeEventListener(\"touchmove\", this.onWindowTouchMove, {\n // @ts-ignore\n cancelable: true,\n passive: false,\n });\n }\n if (this.waitFetchingTimeout) {\n clearTimeout(this.waitFetchingTimeout);\n }\n }\n\n componentDidUpdate(\n prevProps: PullToRefreshProps,\n prevState: PullToRefreshState\n ) {\n if (prevProps.isFetching && !this.props.isFetching) {\n this.onRefreshingFinish();\n }\n if (\n !prevProps.isFetching &&\n this.props.isFetching &&\n this.waitFetchingTimeout\n ) {\n clearTimeout(this.waitFetchingTimeout);\n }\n\n if (prevState.touchDown && !this.state.touchDown) {\n const { refreshing, canRefresh } = this.state;\n if (!refreshing && canRefresh) {\n this.runRefreshing();\n } else if (refreshing && !this.props.isFetching) {\n // only iOS can start refresh before gesture end\n this.resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n this.setState({\n spinnerY: refreshing ? this.params.refreshing : this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n }\n }\n\n onTouchStart: TouchEventHandler = (e: TouchEvent) => {\n if (this.state.refreshing) {\n cancelEvent(e);\n }\n this.setState({ touchDown: true });\n };\n\n onWindowTouchMove: EventListener = (event: Event) => {\n if (this.state.refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n onTouchMove: TouchEventHandler = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = this.params;\n const pageYOffset = this.props.scroll?.getScroll().y;\n\n const { refreshing, watching, touchDown } = this.state;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier } = this.params;\n\n const shift = Math.max(0, shiftY - this.state.touchY);\n\n const currentY = Math.max(\n start,\n Math.min(this.params.maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n this.setState({\n spinnerY: currentY,\n spinnerProgress: Math.min(80, Math.max(0, progress)),\n canRefresh: progress > 80,\n contentShift: (currentY + 10) * 2.3,\n });\n\n if (progress > 85 && !refreshing && this.props.platform === IOS) {\n this.runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n this.setState({\n watching: true,\n touchY: shiftY,\n spinnerY: start,\n spinnerProgress: 0,\n });\n }\n };\n\n onTouchEnd = () => {\n this.setState({\n watching: false,\n touchDown: false,\n });\n };\n\n runRefreshing() {\n if (!this.state.refreshing && this.props.onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n this.waitFetchingTimeout = setTimeout(this.onRefreshingFinish, 1000);\n this.setState({\n refreshing: true,\n spinnerY:\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? this.params.refreshing\n : this.state.spinnerY,\n });\n\n this.props.onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }\n\n onRefreshingFinish: VoidFunction = () => {\n if (!this.state.touchDown) {\n this.resetRefreshingState();\n }\n };\n\n resetRefreshingState() {\n this.setState({\n watching: false,\n canRefresh: false,\n refreshing: false,\n spinnerY: this.params.start,\n spinnerProgress: 0,\n contentShift: 0,\n });\n }\n\n render() {\n const {\n children,\n onRefresh,\n isFetching,\n platform,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n watching,\n refreshing,\n spinnerY,\n spinnerProgress,\n canRefresh,\n touchDown,\n contentShift,\n } = this.state;\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = \"\";\n\n if (platform === IOS && refreshing && !touchDown) {\n contentTransform = \"translate3d(0, 100px, 0)\";\n } else if (platform === IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={this.onTouchStart}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n vkuiClass={classNames(getClassName(\"PullToRefresh\", platform), {\n \"PullToRefresh--watching\": watching,\n \"PullToRefresh--refreshing\": refreshing,\n })}\n >\n <FixedLayout vkuiClass=\"PullToRefresh__controls\">\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n vkuiClass=\"PullToRefresh__content\"\n ref={this.contentRef}\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withPlatform(withDOM<PullToRefreshProps>(PullToRefresh)),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"PullToRefresh.js"}