@vkontakte/vkui 4.32.0 → 4.33.2

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 (927) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +363 -283
  4. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -2
  5. package/.cache/ts/src/components/Banner/Banner.d.ts +1 -2
  6. package/.cache/ts/src/components/BaseGallery/BaseGallery.d.ts +4 -0
  7. package/.cache/ts/src/components/BaseGallery/helpers.d.ts +12 -0
  8. package/.cache/ts/src/components/BaseGallery/types.d.ts +43 -0
  9. package/.cache/ts/src/components/CellButton/CellButton.d.ts +1 -2
  10. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +3 -1
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  12. package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +1 -2
  13. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -2
  14. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -3
  15. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -2
  16. package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +3 -4
  17. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -2
  18. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  19. package/.cache/ts/src/components/Gallery/Gallery.d.ts +6 -43
  20. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +4 -1
  21. package/.cache/ts/src/components/Group/Group.d.ts +4 -2
  22. package/.cache/ts/src/components/Header/Header.d.ts +1 -2
  23. package/.cache/ts/src/components/IconButton/IconButton.d.ts +5 -2
  24. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  25. package/.cache/ts/src/components/Link/Link.d.ts +1 -2
  26. package/.cache/ts/src/components/List/List.d.ts +1 -2
  27. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +4 -2
  28. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  29. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +4 -2
  30. package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +1 -1
  31. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  32. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  33. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  34. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  35. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  36. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -2
  37. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +2 -2
  38. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +1 -2
  39. package/.cache/ts/src/components/RichCell/RichCell.d.ts +4 -2
  40. package/.cache/ts/src/components/Root/Root.d.ts +1 -2
  41. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  42. package/.cache/ts/src/components/Search/Search.d.ts +1 -2
  43. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +4 -2
  44. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  45. package/.cache/ts/src/components/Slider/Slider.d.ts +1 -2
  46. package/.cache/ts/src/components/Spacing/Spacing.d.ts +2 -1
  47. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -2
  48. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -2
  49. package/.cache/ts/src/components/Tabs/Tabs.d.ts +4 -2
  50. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -2
  51. package/.cache/ts/src/components/Tappable/Tappable.d.ts +7 -4
  52. package/.cache/ts/src/components/Textarea/Textarea.d.ts +2 -3
  53. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +1 -2
  54. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
  55. package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +4 -2
  56. package/.cache/ts/src/components/View/View.d.ts +6 -3
  57. package/.cache/ts/src/index.d.ts +44 -44
  58. package/.cache/ts/src/lib/animate.d.ts +1 -1
  59. package/.cache/ts/src/tokenized/index.d.ts +44 -0
  60. package/README.md +1 -1
  61. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -1
  62. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +2 -2
  63. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  64. package/dist/cjs/components/Alert/Alert.js +8 -6
  65. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  66. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -2
  67. package/dist/cjs/components/Avatar/Avatar.js +6 -13
  68. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  69. package/dist/cjs/components/Banner/Banner.d.ts +1 -2
  70. package/dist/cjs/components/Banner/Banner.js +27 -36
  71. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  72. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +4 -0
  73. package/dist/cjs/components/BaseGallery/BaseGallery.js +399 -0
  74. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -0
  75. package/dist/cjs/components/BaseGallery/helpers.d.ts +12 -0
  76. package/dist/cjs/components/BaseGallery/helpers.js +62 -0
  77. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -0
  78. package/dist/cjs/components/BaseGallery/types.d.ts +43 -0
  79. package/dist/cjs/components/BaseGallery/types.js +6 -0
  80. package/dist/cjs/components/BaseGallery/types.js.map +1 -0
  81. package/dist/cjs/components/Button/Button.js +3 -3
  82. package/dist/cjs/components/Button/Button.js.map +1 -1
  83. package/dist/cjs/components/CalendarDay/CalendarDay.js +2 -4
  84. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  85. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +3 -5
  86. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  87. package/dist/cjs/components/Cell/Cell.js +2 -2
  88. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  89. package/dist/cjs/components/CellButton/CellButton.d.ts +1 -2
  90. package/dist/cjs/components/CellButton/CellButton.js +4 -12
  91. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  92. package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -1
  93. package/dist/cjs/components/Checkbox/Checkbox.js +69 -15
  94. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  95. package/dist/cjs/components/Chip/Chip.js +2 -2
  96. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  97. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  98. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +3 -5
  99. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  100. package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -2
  101. package/dist/cjs/components/ContentCard/ContentCard.js +38 -50
  102. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  103. package/dist/cjs/components/DateInput/DateInput.js +3 -3
  104. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  105. package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -2
  106. package/dist/cjs/components/DatePicker/DatePicker.js +6 -7
  107. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  108. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +3 -3
  109. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  110. package/dist/cjs/components/Epic/Epic.d.ts +1 -3
  111. package/dist/cjs/components/Epic/Epic.js +9 -11
  112. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  113. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +1 -2
  114. package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -11
  115. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  116. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +3 -4
  117. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  118. package/dist/cjs/components/FormItem/FormItem.js +3 -6
  119. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  120. package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -2
  121. package/dist/cjs/components/FormLayout/FormLayout.js +3 -5
  122. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  123. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  124. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -10
  125. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  126. package/dist/cjs/components/Gallery/Gallery.d.ts +6 -43
  127. package/dist/cjs/components/Gallery/Gallery.js +23 -565
  128. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  129. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +4 -1
  130. package/dist/cjs/components/GridAvatar/GridAvatar.js +9 -11
  131. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  132. package/dist/cjs/components/Group/Group.d.ts +4 -2
  133. package/dist/cjs/components/Group/Group.js +12 -14
  134. package/dist/cjs/components/Group/Group.js.map +1 -1
  135. package/dist/cjs/components/Header/Header.d.ts +1 -2
  136. package/dist/cjs/components/Header/Header.js +4 -8
  137. package/dist/cjs/components/Header/Header.js.map +1 -1
  138. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -4
  139. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  140. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -1
  141. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  142. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -4
  143. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  144. package/dist/cjs/components/IconButton/IconButton.d.ts +5 -2
  145. package/dist/cjs/components/IconButton/IconButton.js +14 -18
  146. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  147. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  148. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +2 -4
  149. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  150. package/dist/cjs/components/Link/Link.d.ts +1 -2
  151. package/dist/cjs/components/Link/Link.js +5 -7
  152. package/dist/cjs/components/Link/Link.js.map +1 -1
  153. package/dist/cjs/components/List/List.d.ts +1 -2
  154. package/dist/cjs/components/List/List.js +3 -5
  155. package/dist/cjs/components/List/List.js.map +1 -1
  156. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  157. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  158. package/dist/cjs/components/ModalCard/ModalCard.d.ts +4 -2
  159. package/dist/cjs/components/ModalCard/ModalCard.js +32 -29
  160. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  161. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +2 -2
  162. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  163. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  164. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +15 -12
  165. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  166. package/dist/cjs/components/ModalPage/ModalPage.d.ts +4 -2
  167. package/dist/cjs/components/ModalPage/ModalPage.js +34 -31
  168. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  169. package/dist/cjs/components/ModalRoot/ModalRoot.js +10 -4
  170. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  171. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
  172. package/dist/cjs/components/ModalRoot/ModalRootContext.js +2 -6
  173. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  174. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
  175. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  176. package/dist/cjs/components/ModalRoot/withModalRootContext.js +2 -2
  177. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  178. package/dist/cjs/components/Pagination/Pagination.js +2 -2
  179. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  180. package/dist/cjs/components/PanelHeader/PanelHeader.js +5 -5
  181. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  182. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  183. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +11 -11
  184. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  185. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  186. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  187. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  188. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +4 -8
  189. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  190. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -7
  192. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  193. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +2 -2
  194. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  195. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  196. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +8 -12
  197. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  198. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  199. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +4 -8
  200. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  201. package/dist/cjs/components/Placeholder/Placeholder.d.ts +1 -2
  202. package/dist/cjs/components/Placeholder/Placeholder.js +3 -5
  203. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -10
  205. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  206. package/dist/cjs/components/Popper/Popper.js +4 -1
  207. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  208. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +2 -2
  209. package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -9
  210. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  211. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -2
  212. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  213. package/dist/cjs/components/Radio/Radio.js +2 -4
  214. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  215. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +1 -2
  216. package/dist/cjs/components/RangeSlider/RangeSlider.js +3 -5
  217. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  218. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -6
  219. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  220. package/dist/cjs/components/Removable/Removable.js +10 -7
  221. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  222. package/dist/cjs/components/RichCell/RichCell.d.ts +4 -2
  223. package/dist/cjs/components/RichCell/RichCell.js +11 -11
  224. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  225. package/dist/cjs/components/Root/Root.d.ts +1 -2
  226. package/dist/cjs/components/Root/Root.js +6 -20
  227. package/dist/cjs/components/Root/Root.js.map +1 -1
  228. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  229. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +14 -14
  230. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  231. package/dist/cjs/components/Search/Search.d.ts +1 -2
  232. package/dist/cjs/components/Search/Search.js +19 -18
  233. package/dist/cjs/components/Search/Search.js.map +1 -1
  234. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +4 -2
  235. package/dist/cjs/components/SimpleCell/SimpleCell.js +10 -12
  236. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  237. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  238. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +3 -2
  239. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  240. package/dist/cjs/components/Slider/Slider.d.ts +1 -2
  241. package/dist/cjs/components/Slider/Slider.js +3 -5
  242. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  243. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -2
  244. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  245. package/dist/cjs/components/Spacing/Spacing.d.ts +2 -1
  246. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  247. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -2
  248. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  249. package/dist/cjs/components/Tabbar/Tabbar.d.ts +1 -2
  250. package/dist/cjs/components/Tabbar/Tabbar.js +8 -12
  251. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  252. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -2
  253. package/dist/cjs/components/TabbarItem/TabbarItem.js +5 -7
  254. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  255. package/dist/cjs/components/Tabs/Tabs.d.ts +4 -2
  256. package/dist/cjs/components/Tabs/Tabs.js +10 -13
  257. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  258. package/dist/cjs/components/TabsItem/TabsItem.d.ts +1 -2
  259. package/dist/cjs/components/TabsItem/TabsItem.js +6 -10
  260. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  261. package/dist/cjs/components/Tappable/Tappable.d.ts +7 -4
  262. package/dist/cjs/components/Tappable/Tappable.js +10 -9
  263. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  264. package/dist/cjs/components/Textarea/Textarea.d.ts +2 -3
  265. package/dist/cjs/components/Textarea/Textarea.js +14 -14
  266. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  267. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -2
  268. package/dist/cjs/components/Tooltip/Tooltip.js +8 -13
  269. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  270. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -1
  271. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  272. package/dist/cjs/components/UsersStack/UsersStack.d.ts +4 -2
  273. package/dist/cjs/components/UsersStack/UsersStack.js +51 -46
  274. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  275. package/dist/cjs/components/UsersStack/masks.js +1 -1
  276. package/dist/cjs/components/UsersStack/masks.js.map +1 -1
  277. package/dist/cjs/components/View/View.d.ts +6 -3
  278. package/dist/cjs/components/View/View.js +26 -43
  279. package/dist/cjs/components/View/View.js.map +1 -1
  280. package/dist/cjs/components/WriteBar/WriteBar.js +9 -29
  281. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  282. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  283. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  284. package/dist/cjs/index.d.ts +44 -44
  285. package/dist/cjs/index.js +88 -88
  286. package/dist/cjs/index.js.map +1 -1
  287. package/dist/cjs/lib/animate.d.ts +1 -1
  288. package/dist/cjs/lib/animate.js +1 -2
  289. package/dist/cjs/lib/animate.js.map +1 -1
  290. package/dist/cjs/lib/polyfills.js +20 -0
  291. package/dist/cjs/lib/polyfills.js.map +1 -1
  292. package/dist/cjs/tokenized/index.d.ts +44 -0
  293. package/dist/cjs/tokenized/index.js +176 -0
  294. package/dist/cjs/tokenized/index.js.map +1 -1
  295. package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
  296. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  297. package/dist/components/Alert/Alert.js +6 -4
  298. package/dist/components/Alert/Alert.js.map +1 -1
  299. package/dist/components/Avatar/Avatar.d.ts +1 -2
  300. package/dist/components/Avatar/Avatar.js +4 -11
  301. package/dist/components/Avatar/Avatar.js.map +1 -1
  302. package/dist/components/Banner/Banner.d.ts +1 -2
  303. package/dist/components/Banner/Banner.js +25 -35
  304. package/dist/components/Banner/Banner.js.map +1 -1
  305. package/dist/components/BaseGallery/BaseGallery.d.ts +4 -0
  306. package/dist/components/BaseGallery/BaseGallery.js +371 -0
  307. package/dist/components/BaseGallery/BaseGallery.js.map +1 -0
  308. package/dist/components/BaseGallery/helpers.d.ts +12 -0
  309. package/dist/components/BaseGallery/helpers.js +50 -0
  310. package/dist/components/BaseGallery/helpers.js.map +1 -0
  311. package/dist/components/BaseGallery/types.d.ts +43 -0
  312. package/dist/components/BaseGallery/types.js +2 -0
  313. package/dist/components/BaseGallery/types.js.map +1 -0
  314. package/dist/components/Button/Button.js +2 -2
  315. package/dist/components/Button/Button.js.map +1 -1
  316. package/dist/components/CalendarDay/CalendarDay.js +1 -1
  317. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  318. package/dist/components/CalendarHeader/CalendarHeader.js +1 -1
  319. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  320. package/dist/components/Cell/Cell.js +1 -1
  321. package/dist/components/Cell/Cell.js.map +1 -1
  322. package/dist/components/CellButton/CellButton.d.ts +1 -2
  323. package/dist/components/CellButton/CellButton.js +3 -10
  324. package/dist/components/CellButton/CellButton.js.map +1 -1
  325. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  326. package/dist/components/Checkbox/Checkbox.js +67 -15
  327. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  328. package/dist/components/Chip/Chip.js +1 -1
  329. package/dist/components/Chip/Chip.js.map +1 -1
  330. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  331. package/dist/components/ConfigProvider/ConfigProvider.js +2 -5
  332. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  333. package/dist/components/ContentCard/ContentCard.d.ts +1 -2
  334. package/dist/components/ContentCard/ContentCard.js +35 -46
  335. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  336. package/dist/components/DateInput/DateInput.js +1 -1
  337. package/dist/components/DateInput/DateInput.js.map +1 -1
  338. package/dist/components/DatePicker/DatePicker.d.ts +1 -2
  339. package/dist/components/DatePicker/DatePicker.js +4 -4
  340. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  341. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  342. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  343. package/dist/components/Epic/Epic.d.ts +1 -3
  344. package/dist/components/Epic/Epic.js +8 -6
  345. package/dist/components/Epic/Epic.js.map +1 -1
  346. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -2
  347. package/dist/components/FixedLayout/FixedLayout.js +5 -11
  348. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  349. package/dist/components/FocusVisible/FocusVisible.d.ts +3 -4
  350. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  351. package/dist/components/FormItem/FormItem.js +3 -6
  352. package/dist/components/FormItem/FormItem.js.map +1 -1
  353. package/dist/components/FormLayout/FormLayout.d.ts +1 -2
  354. package/dist/components/FormLayout/FormLayout.js +2 -5
  355. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  356. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  357. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  358. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  359. package/dist/components/Gallery/Gallery.d.ts +6 -43
  360. package/dist/components/Gallery/Gallery.js +20 -567
  361. package/dist/components/Gallery/Gallery.js.map +1 -1
  362. package/dist/components/GridAvatar/GridAvatar.d.ts +4 -1
  363. package/dist/components/GridAvatar/GridAvatar.js +8 -9
  364. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  365. package/dist/components/Group/Group.d.ts +4 -2
  366. package/dist/components/Group/Group.js +9 -10
  367. package/dist/components/Group/Group.js.map +1 -1
  368. package/dist/components/Header/Header.d.ts +1 -2
  369. package/dist/components/Header/Header.js +3 -8
  370. package/dist/components/Header/Header.js.map +1 -1
  371. package/dist/components/HorizontalCell/HorizontalCell.js +2 -2
  372. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  373. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
  374. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  375. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  376. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  377. package/dist/components/IconButton/IconButton.d.ts +5 -2
  378. package/dist/components/IconButton/IconButton.js +11 -13
  379. package/dist/components/IconButton/IconButton.js.map +1 -1
  380. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  381. package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
  382. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  383. package/dist/components/Link/Link.d.ts +1 -2
  384. package/dist/components/Link/Link.js +3 -6
  385. package/dist/components/Link/Link.js.map +1 -1
  386. package/dist/components/List/List.d.ts +1 -2
  387. package/dist/components/List/List.js +2 -5
  388. package/dist/components/List/List.js.map +1 -1
  389. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  390. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  391. package/dist/components/ModalCard/ModalCard.d.ts +4 -2
  392. package/dist/components/ModalCard/ModalCard.js +29 -25
  393. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  394. package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
  395. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  396. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  397. package/dist/components/ModalDismissButton/ModalDismissButton.js +10 -9
  398. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  399. package/dist/components/ModalPage/ModalPage.d.ts +4 -2
  400. package/dist/components/ModalPage/ModalPage.js +31 -28
  401. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  402. package/dist/components/ModalRoot/ModalRoot.js +9 -3
  403. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  404. package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
  405. package/dist/components/ModalRoot/ModalRootContext.js +1 -3
  406. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  407. package/dist/components/ModalRoot/ModalRootDesktop.js +1 -1
  408. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  409. package/dist/components/ModalRoot/withModalRootContext.js +1 -1
  410. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  411. package/dist/components/Pagination/Pagination.js +1 -1
  412. package/dist/components/Pagination/Pagination.js.map +1 -1
  413. package/dist/components/PanelHeader/PanelHeader.js +2 -2
  414. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  415. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  416. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  417. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  418. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  419. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  420. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  421. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  422. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  423. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  424. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  426. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  427. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  430. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  431. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  432. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  433. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  434. package/dist/components/Placeholder/Placeholder.d.ts +1 -2
  435. package/dist/components/Placeholder/Placeholder.js +2 -5
  436. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  437. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -9
  438. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  439. package/dist/components/Popper/Popper.js +4 -1
  440. package/dist/components/Popper/Popper.js.map +1 -1
  441. package/dist/components/PromoBanner/PromoBanner.d.ts +2 -2
  442. package/dist/components/PromoBanner/PromoBanner.js +4 -7
  443. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  444. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  445. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  446. package/dist/components/Radio/Radio.js +1 -1
  447. package/dist/components/Radio/Radio.js.map +1 -1
  448. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -2
  449. package/dist/components/RangeSlider/RangeSlider.js +2 -5
  450. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  451. package/dist/components/RangeSlider/UniversalSlider.js +1 -5
  452. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  453. package/dist/components/Removable/Removable.js +7 -4
  454. package/dist/components/Removable/Removable.js.map +1 -1
  455. package/dist/components/RichCell/RichCell.d.ts +4 -2
  456. package/dist/components/RichCell/RichCell.js +8 -7
  457. package/dist/components/RichCell/RichCell.js.map +1 -1
  458. package/dist/components/Root/Root.d.ts +1 -2
  459. package/dist/components/Root/Root.js +5 -19
  460. package/dist/components/Root/Root.js.map +1 -1
  461. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  462. package/dist/components/ScreenSpinner/ScreenSpinner.js +12 -13
  463. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  464. package/dist/components/Search/Search.d.ts +1 -2
  465. package/dist/components/Search/Search.js +17 -15
  466. package/dist/components/Search/Search.js.map +1 -1
  467. package/dist/components/SimpleCell/SimpleCell.d.ts +4 -2
  468. package/dist/components/SimpleCell/SimpleCell.js +7 -8
  469. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  470. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  471. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  472. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  473. package/dist/components/Slider/Slider.d.ts +1 -2
  474. package/dist/components/Slider/Slider.js +2 -5
  475. package/dist/components/Slider/Slider.js.map +1 -1
  476. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -1
  477. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  478. package/dist/components/Spacing/Spacing.d.ts +2 -1
  479. package/dist/components/Spacing/Spacing.js.map +1 -1
  480. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  481. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  482. package/dist/components/Tabbar/Tabbar.d.ts +1 -2
  483. package/dist/components/Tabbar/Tabbar.js +6 -11
  484. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  485. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -2
  486. package/dist/components/TabbarItem/TabbarItem.js +3 -6
  487. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  488. package/dist/components/Tabs/Tabs.d.ts +4 -2
  489. package/dist/components/Tabs/Tabs.js +8 -9
  490. package/dist/components/Tabs/Tabs.js.map +1 -1
  491. package/dist/components/TabsItem/TabsItem.d.ts +1 -2
  492. package/dist/components/TabsItem/TabsItem.js +4 -9
  493. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  494. package/dist/components/Tappable/Tappable.d.ts +7 -4
  495. package/dist/components/Tappable/Tappable.js +9 -6
  496. package/dist/components/Tappable/Tappable.js.map +1 -1
  497. package/dist/components/Textarea/Textarea.d.ts +2 -3
  498. package/dist/components/Textarea/Textarea.js +12 -9
  499. package/dist/components/Textarea/Textarea.js.map +1 -1
  500. package/dist/components/Tooltip/Tooltip.d.ts +1 -2
  501. package/dist/components/Tooltip/Tooltip.js +7 -13
  502. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  503. package/dist/components/Typography/Title/Title.d.ts +1 -1
  504. package/dist/components/Typography/Title/Title.js.map +1 -1
  505. package/dist/components/UsersStack/UsersStack.d.ts +4 -2
  506. package/dist/components/UsersStack/UsersStack.js +48 -39
  507. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  508. package/dist/components/UsersStack/masks.js +1 -1
  509. package/dist/components/UsersStack/masks.js.map +1 -1
  510. package/dist/components/View/View.d.ts +6 -3
  511. package/dist/components/View/View.js +25 -39
  512. package/dist/components/View/View.js.map +1 -1
  513. package/dist/components/WriteBar/WriteBar.js +9 -28
  514. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  515. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  516. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  517. package/dist/components.css +27 -9
  518. package/dist/components.css.map +1 -1
  519. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
  520. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  521. package/dist/cssm/components/Alert/Alert.js +6 -4
  522. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  523. package/dist/cssm/components/Avatar/Avatar.css +5 -1
  524. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -2
  525. package/dist/cssm/components/Avatar/Avatar.js +4 -11
  526. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  527. package/dist/cssm/components/Banner/Banner.css +5 -1
  528. package/dist/cssm/components/Banner/Banner.d.ts +1 -2
  529. package/dist/cssm/components/Banner/Banner.js +25 -35
  530. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  531. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -0
  532. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +4 -0
  533. package/dist/cssm/components/BaseGallery/BaseGallery.js +372 -0
  534. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -0
  535. package/dist/cssm/components/BaseGallery/helpers.d.ts +12 -0
  536. package/dist/cssm/components/BaseGallery/helpers.js +50 -0
  537. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -0
  538. package/dist/cssm/components/BaseGallery/types.d.ts +43 -0
  539. package/dist/cssm/components/BaseGallery/types.js +2 -0
  540. package/dist/cssm/components/BaseGallery/types.js.map +1 -0
  541. package/dist/cssm/components/Button/Button.css +1 -1
  542. package/dist/cssm/components/Button/Button.js +2 -2
  543. package/dist/cssm/components/Button/Button.js.map +1 -1
  544. package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
  545. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  546. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -1
  547. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  548. package/dist/cssm/components/Cell/Cell.js +1 -1
  549. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  550. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  551. package/dist/cssm/components/CellButton/CellButton.d.ts +1 -2
  552. package/dist/cssm/components/CellButton/CellButton.js +3 -10
  553. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  554. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  555. package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -1
  556. package/dist/cssm/components/Checkbox/Checkbox.js +67 -15
  557. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  558. package/dist/cssm/components/Chip/Chip.js +1 -1
  559. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  560. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  561. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -5
  562. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  563. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  564. package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -2
  565. package/dist/cssm/components/ContentCard/ContentCard.js +35 -46
  566. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  567. package/dist/cssm/components/DateInput/DateInput.js +1 -1
  568. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  569. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -2
  570. package/dist/cssm/components/DatePicker/DatePicker.js +4 -4
  571. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  572. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  573. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  574. package/dist/cssm/components/Epic/Epic.d.ts +1 -3
  575. package/dist/cssm/components/Epic/Epic.js +8 -6
  576. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  577. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  578. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -2
  579. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -11
  580. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  581. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  582. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +3 -4
  583. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  584. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  585. package/dist/cssm/components/FormItem/FormItem.js +3 -6
  586. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  587. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -2
  588. package/dist/cssm/components/FormLayout/FormLayout.js +2 -5
  589. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  590. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  591. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  592. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  593. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  594. package/dist/cssm/components/Gallery/Gallery.d.ts +6 -43
  595. package/dist/cssm/components/Gallery/Gallery.js +20 -568
  596. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  597. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +4 -1
  598. package/dist/cssm/components/GridAvatar/GridAvatar.js +8 -9
  599. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  600. package/dist/cssm/components/Group/Group.css +1 -1
  601. package/dist/cssm/components/Group/Group.d.ts +4 -2
  602. package/dist/cssm/components/Group/Group.js +9 -10
  603. package/dist/cssm/components/Group/Group.js.map +1 -1
  604. package/dist/cssm/components/Header/Header.d.ts +1 -2
  605. package/dist/cssm/components/Header/Header.js +3 -8
  606. package/dist/cssm/components/Header/Header.js.map +1 -1
  607. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -2
  608. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  609. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
  610. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  611. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  612. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  613. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  614. package/dist/cssm/components/IconButton/IconButton.d.ts +5 -2
  615. package/dist/cssm/components/IconButton/IconButton.js +11 -13
  616. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  617. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  618. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  619. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
  620. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  621. package/dist/cssm/components/Link/Link.d.ts +1 -2
  622. package/dist/cssm/components/Link/Link.js +3 -6
  623. package/dist/cssm/components/Link/Link.js.map +1 -1
  624. package/dist/cssm/components/List/List.d.ts +1 -2
  625. package/dist/cssm/components/List/List.js +2 -5
  626. package/dist/cssm/components/List/List.js.map +1 -1
  627. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  628. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  629. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  630. package/dist/cssm/components/ModalCard/ModalCard.d.ts +4 -2
  631. package/dist/cssm/components/ModalCard/ModalCard.js +29 -25
  632. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  633. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
  634. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  635. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  636. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +10 -9
  637. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  638. package/dist/cssm/components/ModalPage/ModalPage.d.ts +4 -2
  639. package/dist/cssm/components/ModalPage/ModalPage.js +31 -28
  640. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  641. package/dist/cssm/components/ModalRoot/ModalRoot.js +9 -3
  642. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  643. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +1 -1
  644. package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -3
  645. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  646. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +1 -1
  647. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  648. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  649. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  650. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  651. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  652. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  653. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
  654. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  655. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  656. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  657. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  658. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  659. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  660. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  661. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  662. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  663. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  664. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  665. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  666. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  667. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  668. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  669. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  670. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  671. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  672. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  673. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  674. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -2
  675. package/dist/cssm/components/Placeholder/Placeholder.js +2 -5
  676. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  677. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  678. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -9
  679. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  680. package/dist/cssm/components/Popper/Popper.js +4 -1
  681. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  682. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +2 -2
  683. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -7
  684. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  685. package/dist/cssm/components/PullToRefresh/PullToRefresh.css +1 -1
  686. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
  687. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  688. package/dist/cssm/components/Radio/Radio.js +1 -1
  689. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  690. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +1 -2
  691. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -5
  692. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  693. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -5
  694. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  695. package/dist/cssm/components/Removable/Removable.css +1 -1
  696. package/dist/cssm/components/Removable/Removable.js +7 -4
  697. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  698. package/dist/cssm/components/RichCell/RichCell.d.ts +4 -2
  699. package/dist/cssm/components/RichCell/RichCell.js +8 -7
  700. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  701. package/dist/cssm/components/Root/Root.css +1 -1
  702. package/dist/cssm/components/Root/Root.d.ts +1 -2
  703. package/dist/cssm/components/Root/Root.js +5 -19
  704. package/dist/cssm/components/Root/Root.js.map +1 -1
  705. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  706. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +12 -13
  707. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  708. package/dist/cssm/components/Search/Search.d.ts +1 -2
  709. package/dist/cssm/components/Search/Search.js +17 -15
  710. package/dist/cssm/components/Search/Search.js.map +1 -1
  711. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  712. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +4 -2
  713. package/dist/cssm/components/SimpleCell/SimpleCell.js +7 -8
  714. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  715. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  716. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  717. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  718. package/dist/cssm/components/Slider/Slider.css +3 -1
  719. package/dist/cssm/components/Slider/Slider.d.ts +1 -2
  720. package/dist/cssm/components/Slider/Slider.js +2 -5
  721. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  722. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -1
  723. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  724. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  725. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  726. package/dist/cssm/components/Spacing/Spacing.d.ts +2 -1
  727. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  728. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  729. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  730. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -2
  731. package/dist/cssm/components/Tabbar/Tabbar.js +6 -11
  732. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  733. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -2
  734. package/dist/cssm/components/TabbarItem/TabbarItem.js +3 -6
  735. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  736. package/dist/cssm/components/Tabs/Tabs.d.ts +4 -2
  737. package/dist/cssm/components/Tabs/Tabs.js +8 -9
  738. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  739. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -2
  740. package/dist/cssm/components/TabsItem/TabsItem.js +4 -9
  741. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  742. package/dist/cssm/components/Tappable/Tappable.css +5 -1
  743. package/dist/cssm/components/Tappable/Tappable.d.ts +7 -4
  744. package/dist/cssm/components/Tappable/Tappable.js +9 -6
  745. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  746. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  747. package/dist/cssm/components/Textarea/Textarea.d.ts +2 -3
  748. package/dist/cssm/components/Textarea/Textarea.js +12 -9
  749. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  750. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -2
  751. package/dist/cssm/components/Tooltip/Tooltip.js +7 -13
  752. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  753. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
  754. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  755. package/dist/cssm/components/UsersStack/UsersStack.css +5 -1
  756. package/dist/cssm/components/UsersStack/UsersStack.d.ts +4 -2
  757. package/dist/cssm/components/UsersStack/UsersStack.js +48 -39
  758. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  759. package/dist/cssm/components/UsersStack/masks.js +1 -1
  760. package/dist/cssm/components/UsersStack/masks.js.map +1 -1
  761. package/dist/cssm/components/View/View.css +1 -1
  762. package/dist/cssm/components/View/View.d.ts +6 -3
  763. package/dist/cssm/components/View/View.js +25 -39
  764. package/dist/cssm/components/View/View.js.map +1 -1
  765. package/dist/cssm/components/WriteBar/WriteBar.js +9 -28
  766. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  767. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  768. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  769. package/dist/cssm/index.d.ts +44 -44
  770. package/dist/cssm/index.js +44 -44
  771. package/dist/cssm/index.js.map +1 -1
  772. package/dist/cssm/lib/animate.d.ts +1 -1
  773. package/dist/cssm/lib/animate.js +1 -2
  774. package/dist/cssm/lib/animate.js.map +1 -1
  775. package/dist/cssm/lib/polyfills.js +20 -0
  776. package/dist/cssm/lib/polyfills.js.map +1 -1
  777. package/dist/cssm/styles/components.css +27 -9
  778. package/dist/cssm/tokenized/index.d.ts +44 -0
  779. package/dist/cssm/tokenized/index.js +22 -0
  780. package/dist/cssm/tokenized/index.js.map +1 -1
  781. package/dist/default_scheme.css.map +1 -1
  782. package/dist/index.d.ts +44 -44
  783. package/dist/index.js +44 -44
  784. package/dist/index.js.map +1 -1
  785. package/dist/lib/animate.d.ts +1 -1
  786. package/dist/lib/animate.js +1 -2
  787. package/dist/lib/animate.js.map +1 -1
  788. package/dist/lib/polyfills.js +20 -0
  789. package/dist/lib/polyfills.js.map +1 -1
  790. package/dist/tokenized/index.d.ts +44 -0
  791. package/dist/tokenized/index.js +22 -0
  792. package/dist/tokenized/index.js.map +1 -1
  793. package/dist/vkui.css +27 -9
  794. package/dist/vkui.css.map +1 -1
  795. package/package.json +3 -3
  796. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  797. package/src/components/Alert/Alert.tsx +6 -4
  798. package/src/components/Avatar/Avatar.css +27 -20
  799. package/src/components/Avatar/Avatar.tsx +3 -9
  800. package/src/components/Avatar/Readme.md +43 -304
  801. package/src/components/Banner/Banner.css +24 -25
  802. package/src/components/Banner/Banner.tsx +28 -42
  803. package/src/components/{Gallery/Gallery.css → BaseGallery/BaseGallery.css} +7 -3
  804. package/src/components/BaseGallery/BaseGallery.tsx +394 -0
  805. package/src/components/BaseGallery/helpers.ts +51 -0
  806. package/src/components/BaseGallery/types.ts +52 -0
  807. package/src/components/Button/Button.css +4 -0
  808. package/src/components/Button/Button.tsx +3 -2
  809. package/src/components/CalendarDay/CalendarDay.tsx +1 -1
  810. package/src/components/CalendarHeader/CalendarHeader.tsx +1 -1
  811. package/src/components/Cell/Cell.tsx +1 -1
  812. package/src/components/CellButton/CellButton.css +10 -4
  813. package/src/components/CellButton/CellButton.tsx +4 -13
  814. package/src/components/Checkbox/Checkbox.css +41 -55
  815. package/src/components/Checkbox/Checkbox.tsx +89 -30
  816. package/src/components/Checkbox/Readme.md +19 -0
  817. package/src/components/Chip/Chip.tsx +1 -1
  818. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -4
  819. package/src/components/ContentCard/ContentCard.css +10 -18
  820. package/src/components/ContentCard/ContentCard.tsx +44 -49
  821. package/src/components/ContentCard/Readme.md +6 -0
  822. package/src/components/DateInput/DateInput.tsx +1 -1
  823. package/src/components/DatePicker/DatePicker.tsx +4 -3
  824. package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
  825. package/src/components/Epic/Epic.tsx +7 -6
  826. package/src/components/FixedLayout/FixedLayout.css +1 -1
  827. package/src/components/FixedLayout/FixedLayout.tsx +5 -10
  828. package/src/components/FocusVisible/FocusVisible.css +1 -1
  829. package/src/components/FocusVisible/FocusVisible.tsx +2 -5
  830. package/src/components/FormItem/FormItem.css +22 -13
  831. package/src/components/FormItem/FormItem.tsx +3 -6
  832. package/src/components/FormLayout/FormLayout.tsx +3 -4
  833. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  834. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -9
  835. package/src/components/Gallery/Gallery.tsx +10 -512
  836. package/src/components/GridAvatar/GridAvatar.tsx +17 -15
  837. package/src/components/Group/Group.css +12 -0
  838. package/src/components/Group/Group.tsx +8 -11
  839. package/src/components/Group/Readme.md +129 -134
  840. package/src/components/Header/Header.tsx +2 -9
  841. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  842. package/src/components/HorizontalScroll/HorizontalScroll.tsx +4 -1
  843. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -1
  844. package/src/components/IconButton/IconButton.css +14 -19
  845. package/src/components/IconButton/IconButton.tsx +14 -16
  846. package/src/components/IconButton/Readme.md +51 -0
  847. package/src/components/InitialsAvatar/InitialsAvatar.css +26 -29
  848. package/src/components/InitialsAvatar/InitialsAvatar.tsx +2 -2
  849. package/src/components/Link/Link.tsx +5 -5
  850. package/src/components/List/List.tsx +3 -7
  851. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  852. package/src/components/ModalCard/ModalCard.css +1 -1
  853. package/src/components/ModalCard/ModalCard.tsx +31 -30
  854. package/src/components/ModalCardBase/ModalCardBase.tsx +1 -1
  855. package/src/components/ModalDismissButton/ModalDismissButton.tsx +7 -12
  856. package/src/components/ModalPage/ModalPage.tsx +32 -32
  857. package/src/components/ModalRoot/ModalRoot.tsx +9 -2
  858. package/src/components/ModalRoot/ModalRootContext.tsx +0 -3
  859. package/src/components/ModalRoot/ModalRootDesktop.tsx +2 -1
  860. package/src/components/ModalRoot/withModalRootContext.tsx +2 -1
  861. package/src/components/Pagination/Pagination.tsx +1 -1
  862. package/src/components/PanelHeader/PanelHeader.css +9 -0
  863. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  864. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +9 -8
  865. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  866. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +3 -11
  867. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  868. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
  869. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +4 -13
  870. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +3 -11
  871. package/src/components/Placeholder/Placeholder.tsx +3 -4
  872. package/src/components/PopoutWrapper/PopoutWrapper.css +4 -15
  873. package/src/components/PopoutWrapper/PopoutWrapper.tsx +5 -11
  874. package/src/components/Popper/Popper.tsx +3 -0
  875. package/src/components/PromoBanner/PromoBanner.tsx +3 -6
  876. package/src/components/PullToRefresh/PullToRefresh.css +1 -1
  877. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
  878. package/src/components/Radio/Radio.tsx +1 -1
  879. package/src/components/RangeSlider/RangeSlider.tsx +1 -4
  880. package/src/components/RangeSlider/Readme.md +19 -27
  881. package/src/components/RangeSlider/UniversalSlider.tsx +1 -4
  882. package/src/components/Removable/Removable.css +15 -19
  883. package/src/components/Removable/Removable.tsx +5 -3
  884. package/src/components/RichCell/RichCell.tsx +8 -7
  885. package/src/components/Root/Root.css +9 -14
  886. package/src/components/Root/Root.tsx +26 -21
  887. package/src/components/ScreenSpinner/ScreenSpinner.tsx +13 -13
  888. package/src/components/Search/Search.tsx +9 -14
  889. package/src/components/SimpleCell/SimpleCell.css +3 -52
  890. package/src/components/SimpleCell/SimpleCell.tsx +6 -7
  891. package/src/components/SimpleCheckbox/Readme.md +4 -0
  892. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +2 -1
  893. package/src/components/Slider/Readme.md +68 -76
  894. package/src/components/Slider/Slider.css +9 -49
  895. package/src/components/Slider/Slider.tsx +1 -4
  896. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -1
  897. package/src/components/Snackbar/Snackbar.css +6 -2
  898. package/src/components/Spacing/Spacing.css +1 -1
  899. package/src/components/Spacing/Spacing.tsx +2 -1
  900. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  901. package/src/components/Tabbar/Tabbar.tsx +6 -9
  902. package/src/components/TabbarItem/TabbarItem.tsx +2 -5
  903. package/src/components/Tabs/Tabs.tsx +7 -10
  904. package/src/components/TabsItem/TabsItem.tsx +3 -10
  905. package/src/components/Tappable/Readme.md +53 -0
  906. package/src/components/Tappable/Tappable.css +12 -27
  907. package/src/components/Tappable/Tappable.tsx +13 -8
  908. package/src/components/Textarea/Readme.md +1 -2
  909. package/src/components/Textarea/Textarea.css +12 -8
  910. package/src/components/Textarea/Textarea.tsx +54 -55
  911. package/src/components/Tooltip/Tooltip.tsx +4 -12
  912. package/src/components/Typography/Title/Title.tsx +1 -1
  913. package/src/components/UsersStack/Readme.md +0 -1
  914. package/src/components/UsersStack/UsersStack.css +12 -30
  915. package/src/components/UsersStack/UsersStack.tsx +49 -43
  916. package/src/components/UsersStack/masks.tsx +28 -5
  917. package/src/components/View/View.css +1 -13
  918. package/src/components/View/View.tsx +39 -43
  919. package/src/components/WriteBar/WriteBar.tsx +13 -27
  920. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  921. package/src/index.ts +44 -44
  922. package/src/lib/animate.ts +1 -2
  923. package/src/lib/polyfills.ts +17 -0
  924. package/src/styles/components.css +1 -1
  925. package/src/tokenized/index.ts +66 -0
  926. package/tasks/postcss-restructure-variable.js +11 -4
  927. package/dist/cssm/components/Gallery/Gallery.css +0 -1
@@ -10,10 +10,13 @@ import { usePlatform } from "../../hooks/usePlatform";
10
10
  /**
11
11
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderEdit
12
12
  */
13
- var PanelHeaderEdit = function PanelHeaderEdit(_ref) {
14
- var isActive = _ref.isActive,
15
- editLabel = _ref.editLabel,
16
- doneLabel = _ref.doneLabel,
13
+ export var PanelHeaderEdit = function PanelHeaderEdit(_ref) {
14
+ var _ref$isActive = _ref.isActive,
15
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive,
16
+ _ref$editLabel = _ref.editLabel,
17
+ editLabel = _ref$editLabel === void 0 ? "Редактировать" : _ref$editLabel,
18
+ _ref$doneLabel = _ref.doneLabel,
19
+ doneLabel = _ref$doneLabel === void 0 ? "Готово" : _ref$doneLabel,
17
20
  restProps = _objectWithoutProperties(_ref, _excluded);
18
21
 
19
22
  var iOSText = isActive ? doneLabel : editLabel;
@@ -23,12 +26,4 @@ var PanelHeaderEdit = function PanelHeaderEdit(_ref) {
23
26
  "aria-label": iOSText
24
27
  }, restProps), platform === ANDROID || platform === VKCOM ? createScopedElement(AndroidIcon, null) : iOSText);
25
28
  };
26
-
27
- PanelHeaderEdit.defaultProps = {
28
- isActive: false,
29
- editLabel: "Редактировать",
30
- doneLabel: "Готово"
31
- }; // eslint-disable-next-line import/no-default-export
32
-
33
- export default PanelHeaderEdit;
34
29
  //# sourceMappingURL=PanelHeaderEdit.js.map
@@ -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;AACA;AACA;AACA,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\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderEdit\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"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":["PanelHeaderButton","ANDROID","VKCOM","Icon28EditOutline","Icon28DoneOutline","usePlatform","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","iOSText","AndroidIcon","platform"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,QAAqD,kBAArD;AACA,SAASC,WAAT;;AAiBA;AACA;AACA;AACA,OAAO,IAAMC,eAA8D,GAAG,SAAjEA,eAAiE,OAKlD;AAAA,2BAJ1BC,QAI0B;AAAA,MAJ1BA,QAI0B,8BAJf,KAIe;AAAA,4BAH1BC,SAG0B;AAAA,MAH1BA,SAG0B,+BAHd,eAGc;AAAA,4BAF1BC,SAE0B;AAAA,MAF1BA,SAE0B,+BAFd,QAEc;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,CAfM","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\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderEdit\n */\nexport const PanelHeaderEdit: React.FunctionComponent<PanelHeaderEditProps> = ({\n isActive = false,\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"],"file":"PanelHeaderEdit.js"}
@@ -3,5 +3,4 @@ import { PanelHeaderButtonProps } from "../PanelHeaderButton/PanelHeaderButton";
3
3
  /**
4
4
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit
5
5
  */
6
- declare const PanelHeaderSubmit: React.FunctionComponent<PanelHeaderButtonProps>;
7
- export default PanelHeaderSubmit;
6
+ export declare const PanelHeaderSubmit: React.FunctionComponent<PanelHeaderButtonProps>;
@@ -11,8 +11,9 @@ import { getTitleFromChildren } from "../../lib/utils";
11
11
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit
12
12
  */
13
13
 
14
- var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
15
- var children = _ref.children,
14
+ export var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
15
+ var _ref$children = _ref.children,
16
+ children = _ref$children === void 0 ? "Готово" : _ref$children,
16
17
  restProps = _objectWithoutProperties(_ref, _excluded);
17
18
 
18
19
  var platform = usePlatform();
@@ -21,10 +22,4 @@ var PanelHeaderSubmit = function PanelHeaderSubmit(_ref) {
21
22
  primary: true
22
23
  }, restProps), platform === ANDROID || platform === VKCOM ? createScopedElement(Icon28DoneOutline, null) : children);
23
24
  };
24
-
25
- PanelHeaderSubmit.defaultProps = {
26
- children: "Готово"
27
- }; // eslint-disable-next-line import/no-default-export
28
-
29
- export default PanelHeaderSubmit;
30
25
  //# 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;AACA;AACA;;AACA,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\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit\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"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":["PanelHeaderButton","Icon28DoneOutline","ANDROID","VKCOM","usePlatform","getTitleFromChildren","PanelHeaderSubmit","children","restProps","platform"],"mappings":";;;;AACA,SACEA,iBADF;AAIA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,WAAT;AACA,SAASC,oBAAT;AAEA;AACA;AACA;;AACA,OAAO,IAAMC,iBAEZ,GAAG,SAFSA,iBAET,OAAmE;AAAA,2BAAhEC,QAAgE;AAAA,MAAhEA,QAAgE,8BAArD,QAAqD;AAAA,MAAxCC,SAAwC;;AACrE,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,CAlBM","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\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderSubmit\n */\nexport const PanelHeaderSubmit: React.FunctionComponent<\n PanelHeaderButtonProps\n> = ({ children = \"Готово\", ...restProps }: 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"],"file":"PanelHeaderSubmit.js"}
@@ -22,5 +22,4 @@ export interface PlaceholderProps extends React.HTMLAttributes<HTMLDivElement>,
22
22
  /**
23
23
  * @see https://vkcom.github.io/VKUI/#/Placeholder
24
24
  */
25
- declare const Placeholder: React.FC<PlaceholderProps>;
26
- export default Placeholder;
25
+ export declare const Placeholder: React.FC<PlaceholderProps>;
@@ -10,7 +10,7 @@ import { Headline } from "../Typography/Headline/Headline";
10
10
  /**
11
11
  * @see https://vkcom.github.io/VKUI/#/Placeholder
12
12
  */
13
- var Placeholder = function Placeholder(props) {
13
+ export var Placeholder = function Placeholder(props) {
14
14
  var icon = props.icon,
15
15
  header = props.header,
16
16
  action = props.action,
@@ -39,8 +39,5 @@ var Placeholder = function Placeholder(props) {
39
39
  }, children), hasReactNode(action) && createScopedElement("div", {
40
40
  vkuiClass: "Placeholder__action"
41
41
  }, action)));
42
- }; // eslint-disable-next-line import/no-default-export
43
-
44
-
45
- export default Placeholder;
42
+ };
46
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,SAASC,KAAT;AACA,SAASC,QAAT;;AAyBA;AACA;AACA;AACA,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,CAGE;AAHF;AAIE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAJvB,MAQE;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,GAAxB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,GAAjB;AAAqB,IAAA,SAAS,EAAC;AAA/B,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CARF,CADF;AA2BD,CAtCD,C,CAwCA;;;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\n/**\n * @see https://vkcom.github.io/VKUI/#/Placeholder\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 // eslint-disable-next-line vkui/no-object-expression-in-arguments\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=\"2\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"3\" 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"}
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,SAASC,KAAT;AACA,SAASC,QAAT;;AAyBA;AACA;AACA;AACA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CACrDC,KADqD,EAElD;AACH,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,CAGE;AAHF;AAIE,IAAA,SAAS,EAAEX,UAAU,CAAC,aAAD,EAAgB;AACnC,gCAA0BU;AADS,KAAhB;AAJvB,MAQE;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,GAAxB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGA,MADH,CAHJ,EAOGN,YAAY,CAACQ,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,GAAjB;AAAqB,IAAA,SAAS,EAAC;AAA/B,KACGA,QADH,CARJ,EAYGR,YAAY,CAACO,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,MAAtC,CAbJ,CARF,CADF;AA2BD,CAxCM","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\n/**\n * @see https://vkcom.github.io/VKUI/#/Placeholder\n */\nexport const Placeholder: React.FC<PlaceholderProps> = (\n props: PlaceholderProps\n) => {\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 // eslint-disable-next-line vkui/no-object-expression-in-arguments\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=\"2\" vkuiClass=\"Placeholder__header\">\n {header}\n </Title>\n )}\n {hasReactNode(children) && (\n <Headline weight=\"3\" 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"],"file":"Placeholder.js"}
@@ -4,7 +4,6 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
4
4
  var _excluded = ["alignY", "alignX", "closing", "hasMask", "fixed", "children", "onClick"];
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
- import { getClassName } from "../../helpers/getClassName";
8
7
  import { classNames } from "../../lib/classNames";
9
8
  import { IOS } from "../../lib/platform";
10
9
  import { useTimeout } from "../../hooks/useTimeout";
@@ -58,15 +57,8 @@ export var PopoutWrapper = function PopoutWrapper(_ref) {
58
57
  }, {
59
58
  passive: false
60
59
  });
61
- var baseClassNames = getClassName("PopoutWrapper", platform);
62
60
  return createScopedElement("div", _extends({}, restProps, {
63
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
64
- vkuiClass: classNames(baseClassNames, "PopoutWrapper--v-".concat(alignY), "PopoutWrapper--h-".concat(alignX), {
65
- "PopoutWrapper--closing": closing,
66
- "PopoutWrapper--opened": opened,
67
- "PopoutWrapper--fixed": fixed,
68
- "PopoutWrapper--masked": hasMask
69
- }),
61
+ vkuiClass: classNames("PopoutWrapper", "PopoutWrapper--v-".concat(alignY), "PopoutWrapper--h-".concat(alignX), closing && "PopoutWrapper--closing", opened && "PopoutWrapper--opened", fixed && "PopoutWrapper--fixed", hasMask && "PopoutWrapper--masked"),
70
62
  onAnimationEnd: opened ? undefined : onFadeInEnd,
71
63
  ref: elRef
72
64
  }), createScopedElement("div", {
@@ -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","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;;AAYA;AACA;AACA;AACA,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;AACA,IAAA,SAAS,EAAEd,UAAU,CACnB8B,cADmB,6BAECvB,MAFD,8BAGCC,MAHD,GAInB;AACE,gCAA0BC,OAD5B;AAEE,+BAAyBQ,MAF3B;AAGE,8BAAwBN,KAH1B;AAIE,+BAAyBD;AAJ3B,KAJmB,CAHvB;AAcE,IAAA,cAAc,EAAEO,MAAM,GAAGc,SAAH,GAAeV,WAdvC;AAeE,IAAA,GAAG,EAAEF;AAfP,MAiBE;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,CAjBF,CADF;AAwBD,CA1DM","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\n/**\n * @see https://vkcom.github.io/VKUI/#/PopoutWrapper\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 // eslint-disable-next-line vkui/no-object-expression-in-arguments\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"}
1
+ {"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":["React","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","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,GAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,sBAAT;AACA,SAASC,MAAT;;AAYA;AACA;AACA;AACA,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,wBAA4BJ,KAAK,CAACiB,QAAN,CAAe,CAACN,OAAhB,CAA5B;AAAA;AAAA,MAAOO,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,KAAK,GAAGpB,KAAK,CAACqB,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;AAIAF,EAAAA,KAAK,CAAC0B,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,SACE,wCACMf,SADN;AAEE,IAAA,SAAS,EAAEd,UAAU,CACnB,eADmB,6BAECO,MAFD,8BAGCC,MAHD,GAInBC,OAAO,IAAI,wBAJQ,EAKnBQ,MAAM,IAAI,uBALS,EAMnBN,KAAK,IAAI,sBANU,EAOnBD,OAAO,IAAI,uBAPQ,CAFvB;AAWE,IAAA,cAAc,EAAEO,MAAM,GAAGa,SAAH,GAAeT,WAXvC;AAYE,IAAA,GAAG,EAAEF;AAZP,MAcE;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,CAdF,CADF;AAqBD,CArDM","sourcesContent":["import * as React from \"react\";\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\n/**\n * @see https://vkcom.github.io/VKUI/#/PopoutWrapper\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 return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"PopoutWrapper\",\n `PopoutWrapper--v-${alignY}`,\n `PopoutWrapper--h-${alignX}`,\n closing && \"PopoutWrapper--closing\",\n opened && \"PopoutWrapper--opened\",\n fixed && \"PopoutWrapper--fixed\",\n hasMask && \"PopoutWrapper--masked\"\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"}
@@ -53,7 +53,10 @@ export var Popper = function Popper(_ref) {
53
53
  var setExternalRef = useExternRef(getRef, setPopperNode);
54
54
  var modifiers = React.useMemo(function () {
55
55
  var modifiers = [{
56
- name: "preventOverflow"
56
+ name: "preventOverflow",
57
+ options: {
58
+ mainAxis: false
59
+ }
57
60
  }, {
58
61
  name: "offset",
59
62
  options: {
@@ -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","minWidth","scrollWidth","undefined"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,SAAT,QAAoC,cAApC;AACA,SAASC,aAAT;AAEA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,YAAT;AACA,SAASC,yBAAT;AAiDA,IAAMC,aAAa,GAAG,CAAtB;AACA,IAAMC,WAAW,GAAG,EAApB;AACA,IAAMC,YAAY,GAAG,CAArB;AAEA;AACA;AACA;;AACA,OAAO,IAAMC,MAA6B,GAAG,SAAhCA,MAAgC,OAc1B;AAAA;;AAAA,MAbjBC,SAaiB,QAbjBA,SAaiB;AAAA,MAZjBC,QAYiB,QAZjBA,QAYiB;AAAA,MAXjBC,MAWiB,QAXjBA,MAWiB;AAAA,4BAVjBC,SAUiB;AAAA,MAVjBA,SAUiB,+BAVL,cAUK;AAAA,MATjBC,iBASiB,QATjBA,iBASiB;AAAA,MARjBC,KAQiB,QARjBA,KAQiB;AAAA,MAPjBC,cAOiB,QAPjBA,cAOiB;AAAA,MANjBC,SAMiB,QANjBA,SAMiB;AAAA,iCALjBC,cAKiB;AAAA,MALjBA,cAKiB,oCALA,CAKA;AAAA,iCAJjBC,cAIiB;AAAA,MAJjBA,cAIiB,oCAJA,CAIA;AAAA,8BAHjBC,WAGiB;AAAA,MAHjBA,WAGiB,iCAHH,IAGG;AAAA,MAFVC,UAEU,QAFjBC,KAEiB;AAAA,MADdC,SACc;;AACjB,wBAAoCxB,KAAK,CAACyB,QAAN,CAClC,IADkC,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAGA,yBACE3B,KAAK,CAACyB,QAAN,CAAe,CAAf,CADF;AAAA;AAAA,MAAOG,yBAAP;AAAA,MAAkCC,4BAAlC;;AAEA,MAAMC,QAAQ,GAAG3B,WAAW,EAA5B;AAEA,MAAM4B,cAAc,GAAG1B,YAAY,CAAiBQ,MAAjB,EAAyBc,aAAzB,CAAnC;AAEA,MAAMK,SAAS,GAAGhC,KAAK,CAACiC,OAAN,CAAc,YAAM;AACpC,QAAMD,SAAkC,GAAG,CACzC;AACEE,MAAAA,IAAI,EAAE;AADR,KADyC,EAIzC;AACEA,MAAAA,IAAI,EAAE,QADR;AAEEC,MAAAA,OAAO,EAAE;AACPC,QAAAA,MAAM,EAAE,CACNpB,KAAK,GAAGI,cAAc,GAAGQ,yBAApB,GAAgDR,cAD/C,EAENJ,KAAK,GAAGG,cAAc,GAAGV,YAApB,GAAmCU,cAFlC;AADD;AAFX,KAJyC,EAazC;AACEe,MAAAA,IAAI,EAAE;AADR,KAbyC,CAA3C;;AAkBA,QAAIlB,KAAJ,EAAW;AACTgB,MAAAA,SAAS,CAACK,IAAV,CAAe;AACbH,QAAAA,IAAI,EAAE,OADO;AAEbC,QAAAA,OAAO,EAAE;AACPG,UAAAA,OAAO,EAAE/B;AADF;AAFI,OAAf;AAMD;;AAED,QAAIW,SAAJ,EAAe;AACb,UAAMA,UAA2B,GAAG;AAClCgB,QAAAA,IAAI,EAAE,WAD4B;AAElCK,QAAAA,OAAO,EAAE,IAFyB;AAGlCC,QAAAA,KAAK,EAAE,aAH2B;AAIlCC,QAAAA,QAAQ,EAAE,CAAC,eAAD,CAJwB;AAKlCC,QAAAA,EAAE,EAAE,mBAAe;AAAA,cAAZC,KAAY,SAAZA,KAAY;AACjBA,UAAAA,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBC,KAApB,aAA+BH,KAAK,CAACI,KAAN,CAAYC,SAAZ,CAAsBF,KAArD;AACD,SAPiC;AAQlCG,QAAAA,MAAM,EAAE,uBAAe;AAAA,cAAZN,KAAY,SAAZA,KAAY;AACrBA,UAAAA,KAAK,CAACO,QAAN,CAAeL,MAAf,CAAsBtB,KAAtB,CAA4BuB,KAA5B,aACGH,KAAK,CAACO,QAAN,CAAeF,SAAhB,CAA0CG,WAD5C;AAGD;AAZiC,OAApC;AAeAnB,MAAAA,SAAS,CAACK,IAAV,CAAenB,UAAf;AACD;;AAED,WAAOc,SAAP;AACD,GAhDiB,EAgDf,CACDhB,KADC,EAEDE,SAFC,EAGDU,yBAHC,EAIDR,cAJC,EAKDD,cALC,CAhDe,CAAlB;;AAwDA,mBAAsClB,SAAS,CAC7CU,SAAS,CAACyC,OADmC,EAE7C1B,UAF6C,EAG7C;AACEZ,IAAAA,SAAS,EAATA,SADF;AAEEkB,IAAAA,SAAS,EAATA;AAFF,GAH6C,CAA/C;AAAA,MAAQY,MAAR,cAAQA,MAAR;AAAA,MAAgBD,KAAhB,cAAgBA,KAAhB;AAAA,MAAuBU,UAAvB,cAAuBA,UAAvB;;AASA,MAAMC,iBAAiB,GAAGX,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAE7B,SAAjC;AACA,MAAMyC,eAAe,GACnB,CAAC,CAACD,iBAAF,IAAuBA,iBAAiB,CAACE,QAAlB,CAA2B,GAA3B,CADzB,CA5EiB,CA6EyC;AAE1D;AACA;;AACAlD,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,QAAIU,KAAK,IAAIuC,eAAb,EAA8B;AAAA;;AAC5B,UAAME,kBAAkB,GACtBH,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,IAAAA,iBAAiB,CAAEI,UAAnB,CAA8B,QAA9B,KACAJ,iBADA,aACAA,iBADA,eACAA,iBAAiB,CAAEI,UAAnB,CAA8B,KAA9B,CADA,GAEI,UAFJ,GAGI,YAJN;AAMA,UAAMC,SAAS,GACbF,kBAAkB,KAAK,UAAvB,GAAoCjD,WAApC,GAAkDC,YADpD;AAEA,UAAMmD,UAAU,YACbH,kBAAkB,KAAK,UAAvB,yBACG9C,SAAS,CAACyC,OADb,uDACG,mBAAmBD,WADtB,0BAEGxC,SAAS,CAACyC,OAFb,wDAEG,oBAAmBS,YAHT,yCAG0B,CAH1C;;AAKA,UAAID,UAAU,GAAGD,SAAS,GAAG,IAAIpD,aAAjC,EAAgD;AAC9CsB,QAAAA,4BAA4B,CAACtB,aAAa,GAAGoD,SAAS,GAAG,CAA7B,CAA5B;AACD;AACF,KAjBD,MAiBO;AACL9B,MAAAA,4BAA4B,CAAC,CAAD,CAA5B;AACD;AACF,GArBwB,EAqBtB,CAACb,KAAD,EAAQuC,eAAR,CArBsB,CAAzB;AAuBAvD,EAAAA,KAAK,CAAC8D,SAAN,CAAgB,YAAM;AACpB,QAAIR,iBAAJ,EAAuB;AACrBvC,MAAAA,iBAAiB,IAAIA,iBAAiB,CAAC;AAAED,QAAAA,SAAS,EAAEwC;AAAb,OAAD,CAAtC;AACD;AACF,GAJD,EAIG,CAACvC,iBAAD,EAAoBuC,iBAApB,CAJH;AAMA,MAAMS,QAAQ,GACZ,wCACMvC,SADN,EAEM6B,UAAU,CAACR,MAFjB;AAGE,IAAA,SAAS,EAAEzC,YAAY,CAAC,QAAD,EAAW0B,QAAX,CAHzB;AAIE,IAAA,GAAG,EAAEC,cAJP;AAKE,IAAA,KAAK,gDACAT,UADA,GAEAsB,MAAM,CAACC,MAFP;AAGHmB,MAAAA,QAAQ,EAAE9C,SAAS,0BAAGP,SAAS,CAACyC,OAAb,wDAAG,oBAAmBa,WAAtB,GAAoCC;AAHpD;AALP,MAWGlD,KAAK,IACJ,wCACMqC,UAAU,CAACrC,KADjB;AAEE,IAAA,SAAS,EAAC,eAFZ;AAGE,yBAAmB,IAHrB;AAIE,IAAA,KAAK,EAAE4B,MAAM,CAAC5B;AAJhB,MAME;AACE,IAAA,SAAS,EAAC,kBADZ;AAEE,IAAA,SAAS,EAAEC,cAFb;AAGE,IAAA,KAAK,EAAC,IAHR;AAIE,IAAA,MAAM,EAAC,GAJT;AAKE,IAAA,OAAO,EAAC,UALV;AAME,IAAA,IAAI,EAAC,MANP;AAOE,IAAA,KAAK,EAAC;AAPR,KASE;AACE,IAAA,QAAQ,EAAC,SADX;AAEE,IAAA,QAAQ,EAAC,SAFX;AAGE,IAAA,CAAC,EAAC,gDAHJ;AAIE,IAAA,IAAI,EAAC;AAJP,IATF,CANF,CAZJ,EAoCE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCL,QAAlC,CApCF,CADF;AAyCA,SACE,oBAAC,aAAD;AAAe,IAAA,WAAW,EAAES,WAA5B;AAAyC,IAAA,SAAS,EAAC;AAAnD,KACG0C,QADH,CADF;AAKD,CA1KM","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\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\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"}
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","mainAxis","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\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\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 options: {\n mainAxis: false,\n },\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"}
@@ -39,5 +39,5 @@ export interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {
39
39
  /**
40
40
  * @see https://vkcom.github.io/VKUI/#/PromoBanner
41
41
  */
42
- declare const PromoBanner: (props: PromoBannerProps) => JSX.Element;
43
- export default PromoBanner;
42
+ export declare const PromoBanner: (props: PromoBannerProps) => JSX.Element;
43
+ export {};
@@ -8,8 +8,8 @@ import { createScopedElement } from "../../lib/jsxRuntime";
8
8
  import * as React from "react";
9
9
  import { Icon24Dismiss } from "@vkontakte/icons";
10
10
  import { Button } from "../Button/Button";
11
- import SimpleCell from "../SimpleCell/SimpleCell";
12
- import Avatar from "../Avatar/Avatar";
11
+ import { SimpleCell } from "../SimpleCell/SimpleCell";
12
+ 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";
@@ -19,7 +19,7 @@ var warn = warnOnce("PromoBanner");
19
19
  * @see https://vkcom.github.io/VKUI/#/PromoBanner
20
20
  */
21
21
 
22
- var PromoBanner = function PromoBanner(props) {
22
+ export var PromoBanner = function PromoBanner(props) {
23
23
  var platform = usePlatform();
24
24
 
25
25
  var _props$bannerData = props.bannerData,
@@ -83,8 +83,5 @@ var PromoBanner = function PromoBanner(props) {
83
83
  src: currentPixel,
84
84
  alt: ""
85
85
  })));
86
- }; // eslint-disable-next-line import/no-default-export
87
-
88
-
89
- export default PromoBanner;
86
+ };
90
87
  //# sourceMappingURL=PromoBanner.js.map
@@ -1 +1 @@
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\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PromoBanner\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 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 vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption vkuiClass=\"PromoBanner__age\">{ageRestrictions}+</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"}
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\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PromoBanner\n */\nexport const 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 vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption vkuiClass=\"PromoBanner__age\">{ageRestrictions}+</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"],"file":"PromoBanner.js"}
@@ -13,7 +13,7 @@ import { usePlatform } from "../../hooks/usePlatform";
13
13
  import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
14
14
  import { useScroll } from "../AppRoot/ScrollContext";
15
15
  import { Touch } from "../Touch/Touch";
16
- import FixedLayout from "../FixedLayout/FixedLayout";
16
+ import { FixedLayout } from "../FixedLayout/FixedLayout";
17
17
  import { PullToRefreshSpinner } from "./PullToRefreshSpinner";
18
18
  import TouchRootContext from "../Touch/TouchContext";
19
19
  import { usePrevious } from "../../hooks/usePrevious";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","useDOM","classNames","IOS","runTapticImpactOccurred","useIsomorphicLayoutEffect","usePlatform","useGlobalEventListener","useScroll","Touch","FixedLayout","PullToRefreshSpinner","TouchRootContext","usePrevious","useTimeout","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","TOUCH_MOVE_EVENT_PARAMS","passive","PullToRefresh","children","isFetching","onRefresh","restProps","platform","scroll","document","prevIsFetching","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","useState","spinnerY","setSpinnerY","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","onWindowTouchMove","resetRefreshingState","useCallback","onRefreshingFinish","setWaitFetchingTimeout","set","clearWaitFetchingTimeout","clear","undefined","runRefreshing","prevSpinnerY","onTouchStart","e","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","current","currentY","min","progress","abs","onTouchEnd","spinnerTransform","contentTransform","transform","WebkitTransform","opacity"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { DOMProps, useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { ScrollContextInterface, useScroll } from \"../AppRoot/ScrollContext\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport { PullToRefreshSpinner } from \"./PullToRefreshSpinner\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { usePrevious } from \"../../hooks/usePrevious\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\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\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n children?: React.ReactNode;\n}\n\nconst TOUCH_MOVE_EVENT_PARAMS = {\n cancelable: true,\n passive: false,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n ...restProps\n}: PullToRefreshProps) => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === IOS ? -10 : -45,\n max: platform === IOS ? 50 : 80,\n maxY: platform === IOS ? 400 : 80,\n refreshing: platform === IOS ? 36 : 50,\n positionMultiplier: platform === IOS ? 0.21 : 1,\n }),\n [platform]\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [touchDown, setTouchDown] = React.useState(false);\n const prevTouchDown = usePrevious(touchDown);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const onWindowTouchMove = (event: Event) => {\n if (refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n useGlobalEventListener(\n document,\n \"touchmove\",\n onWindowTouchMove,\n TOUCH_MOVE_EVENT_PARAMS\n );\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const { set: setWaitFetchingTimeout, clear: clearWaitFetchingTimeout } =\n useTimeout(onRefreshingFinish, 1000);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [prevIsFetching, isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearWaitFetchingTimeout();\n }\n }, [isFetching, prevIsFetching, clearWaitFetchingTimeout]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n setWaitFetchingTimeout();\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) =>\n platform === IOS ? prevSpinnerY : initParams.refreshing\n );\n\n onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }, [\n refreshing,\n onRefresh,\n setWaitFetchingTimeout,\n platform,\n initParams.refreshing,\n ]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n prevIsFetching,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n const onTouchStart = (e: TouchEvent) => {\n if (refreshing) {\n cancelEvent(e);\n }\n setTouchDown(true);\n };\n\n const onTouchMove = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = Math.max(\n start,\n Math.min(maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(Math.min(80, Math.max(0, progress)));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n if (progress > 85 && !refreshing && platform === IOS) {\n runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n };\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={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n vkuiClass={classNames(\n \"PullToRefresh\",\n platform === IOS && \"PullToRefresh--ios\",\n watching && \"PullToRefresh--watching\",\n refreshing && \"PullToRefresh--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 style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"file":"PullToRefresh.js"}
1
+ {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":["React","useDOM","classNames","IOS","runTapticImpactOccurred","useIsomorphicLayoutEffect","usePlatform","useGlobalEventListener","useScroll","Touch","FixedLayout","PullToRefreshSpinner","TouchRootContext","usePrevious","useTimeout","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","TOUCH_MOVE_EVENT_PARAMS","passive","PullToRefresh","children","isFetching","onRefresh","restProps","platform","scroll","document","prevIsFetching","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","useState","spinnerY","setSpinnerY","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","onWindowTouchMove","resetRefreshingState","useCallback","onRefreshingFinish","setWaitFetchingTimeout","set","clearWaitFetchingTimeout","clear","undefined","runRefreshing","prevSpinnerY","onTouchStart","e","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","current","currentY","min","progress","abs","onTouchEnd","spinnerTransform","contentTransform","transform","WebkitTransform","opacity"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AnyFunction, HasPlatform } from \"../../types\";\nimport { DOMProps, useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { runTapticImpactOccurred } from \"../../lib/taptic\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { ScrollContextInterface, useScroll } from \"../AppRoot/ScrollContext\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport { FixedLayout } from \"../FixedLayout/FixedLayout\";\nimport { PullToRefreshSpinner } from \"./PullToRefreshSpinner\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { usePrevious } from \"../../hooks/usePrevious\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\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\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasPlatform {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n children?: React.ReactNode;\n}\n\nconst TOUCH_MOVE_EVENT_PARAMS = {\n cancelable: true,\n passive: false,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n ...restProps\n}: PullToRefreshProps) => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === IOS ? -10 : -45,\n max: platform === IOS ? 50 : 80,\n maxY: platform === IOS ? 400 : 80,\n refreshing: platform === IOS ? 36 : 50,\n positionMultiplier: platform === IOS ? 0.21 : 1,\n }),\n [platform]\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [touchDown, setTouchDown] = React.useState(false);\n const prevTouchDown = usePrevious(touchDown);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const onWindowTouchMove = (event: Event) => {\n if (refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n useGlobalEventListener(\n document,\n \"touchmove\",\n onWindowTouchMove,\n TOUCH_MOVE_EVENT_PARAMS\n );\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const { set: setWaitFetchingTimeout, clear: clearWaitFetchingTimeout } =\n useTimeout(onRefreshingFinish, 1000);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [prevIsFetching, isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearWaitFetchingTimeout();\n }\n }, [isFetching, prevIsFetching, clearWaitFetchingTimeout]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n setWaitFetchingTimeout();\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) =>\n platform === IOS ? prevSpinnerY : initParams.refreshing\n );\n\n onRefresh();\n runTapticImpactOccurred(\"light\");\n }\n }, [\n refreshing,\n onRefresh,\n setWaitFetchingTimeout,\n platform,\n initParams.refreshing,\n ]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n prevIsFetching,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n const onTouchStart = (e: TouchEvent) => {\n if (refreshing) {\n cancelEvent(e);\n }\n setTouchDown(true);\n };\n\n const onTouchMove = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = Math.max(\n start,\n Math.min(maxY, start + shift * positionMultiplier)\n );\n const progress =\n currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(Math.min(80, Math.max(0, progress)));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n if (progress > 85 && !refreshing && platform === IOS) {\n runRefreshing();\n }\n } else if (\n isY &&\n pageYOffset === 0 &&\n shiftY > 0 &&\n !refreshing &&\n touchDown\n ) {\n cancelEvent(e);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n };\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={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n vkuiClass={classNames(\n \"PullToRefresh\",\n platform === IOS && \"PullToRefresh--ios\",\n watching && \"PullToRefresh--watching\",\n refreshing && \"PullToRefresh--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 style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"file":"PullToRefresh.js"}
@@ -2,7 +2,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  var _excluded = ["children", "description", "style", "className", "getRootRef", "sizeY"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
- import Tappable, { ACTIVE_EFFECT_DELAY } from "../Tappable/Tappable";
5
+ import { ACTIVE_EFFECT_DELAY, Tappable } from "../Tappable/Tappable";
6
6
  import { classNames } from "../../lib/classNames";
7
7
  import { IOS, VKCOM } from "../../lib/platform";
8
8
  import { usePlatform } from "../../hooks/usePlatform";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","VisuallyHiddenInput","Caption","Headline","Text","RadioIcon","props","RadioComponent","children","description","style","className","getRootRef","sizeY","restProps","platform","RadioTypography","COMPACT","disabled","Radio"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,SAASC,mBAAT;AACA,SAASC,OAAT;AACA,SAASC,QAAT;AACA,SAASC,IAAT;;AAGA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAA0C;AAC1D,SACE;AACE,IAAA,KAAK,EAAC,4BADR;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE;AAHF,KAIMA,KAJN,GAME;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,IAHJ;AAIE,IAAA,MAAM,EAAC,cAJT;AAKE,IAAA,WAAW,EAAC,GALd;AAME,IAAA,IAAI,EAAC;AANP,IANF,EAcE;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,KAHJ;AAIE,IAAA,SAAS,EAAC,YAJZ;AAKE,IAAA,IAAI,EAAC;AALP,IAdF,CADF;AAwBD,CAzBD;;AAmCA,IAAMC,cAAoC,GAAG,SAAvCA,cAAuC,CAACD,KAAD,EAAuB;AAClE,MACEE,QADF,GAQIF,KARJ,CACEE,QADF;AAAA,MAEEC,WAFF,GAQIH,KARJ,CAEEG,WAFF;AAAA,MAGEC,KAHF,GAQIJ,KARJ,CAGEI,KAHF;AAAA,MAIEC,SAJF,GAQIL,KARJ,CAIEK,SAJF;AAAA,MAKEC,UALF,GAQIN,KARJ,CAKEM,UALF;AAAA,MAMEC,KANF,GAQIP,KARJ,CAMEO,KANF;AAAA,MAOKC,SAPL,4BAQIR,KARJ;;AASA,MAAMS,QAAQ,GAAGlB,WAAW,EAA5B;AAEA,MAAMmB,eAAe,GACnBD,QAAQ,KAAKnB,KAAb,IAAsBiB,KAAK,KAAKd,QAAQ,CAACkB,OAAzC,GAAmDb,IAAnD,GAA0DD,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEO,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAEjB,UAAU,CAAC,OAAD,yBAA0BmB,KAA1B,EAJvB;AAKE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKpB,GAAb,GAAmB,GAAnB,GAAyBF,mBAL9C;AAME,IAAA,QAAQ,EAAEqB,SAAS,CAACI,QANtB;AAOE,IAAA,UAAU,EAAEN;AAPd,KASE,oBAAC,mBAAD,eACME,SADN;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,IAAI,EAAC;AAHP,KATF,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,IADF,EAEE,oBAAC,eAAD;AAAiB,IAAA,SAAS,EAAC,gBAA3B;AAA4C,IAAA,SAAS,EAAC;AAAtD,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCN,QAAlC,CADF,EAEGR,YAAY,CAACS,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAHJ,CAFF,CAdF,CADF;AA0BD,CAzCD;AA2CA;AACA;AACA;;;AACA,OAAO,IAAMU,KAAK,GAAGrB,cAAc,CAACS,cAAD,EAAiB;AAClDM,EAAAA,KAAK,EAAE;AAD2C,CAAjB,CAA5B","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n aria-hidden\n {...props}\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7.5\"\n vkuiClass=\"Radio__pin\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst RadioComponent: React.FC<RadioProps> = (props: RadioProps) => {\n const {\n children,\n description,\n style,\n className,\n getRootRef,\n sizeY,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const RadioTypography =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\"Radio\", `Radio--sizeY-${sizeY}`)}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"Radio__input\"\n type=\"radio\"\n />\n <div vkuiClass=\"Radio__container\">\n <RadioIcon vkuiClass=\"Radio__icon\" />\n <RadioTypography vkuiClass=\"Radio__content\" Component=\"div\">\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </RadioTypography>\n </div>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = withAdaptivity(RadioComponent, {\n sizeY: true,\n});\n"],"file":"Radio.js"}
1
+ {"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"names":["ACTIVE_EFFECT_DELAY","Tappable","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","VisuallyHiddenInput","Caption","Headline","Text","RadioIcon","props","RadioComponent","children","description","style","className","getRootRef","sizeY","restProps","platform","RadioTypography","COMPACT","disabled","Radio"],"mappings":";;;;AACA,SAASA,mBAAT,EAA8BC,QAA9B;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,SAASC,mBAAT;AACA,SAASC,OAAT;AACA,SAASC,QAAT;AACA,SAASC,IAAT;;AAGA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAA0C;AAC1D,SACE;AACE,IAAA,KAAK,EAAC,4BADR;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE;AAHF,KAIMA,KAJN,GAME;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,IAHJ;AAIE,IAAA,MAAM,EAAC,cAJT;AAKE,IAAA,WAAW,EAAC,GALd;AAME,IAAA,IAAI,EAAC;AANP,IANF,EAcE;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,KAHJ;AAIE,IAAA,SAAS,EAAC,YAJZ;AAKE,IAAA,IAAI,EAAC;AALP,IAdF,CADF;AAwBD,CAzBD;;AAmCA,IAAMC,cAAoC,GAAG,SAAvCA,cAAuC,CAACD,KAAD,EAAuB;AAClE,MACEE,QADF,GAQIF,KARJ,CACEE,QADF;AAAA,MAEEC,WAFF,GAQIH,KARJ,CAEEG,WAFF;AAAA,MAGEC,KAHF,GAQIJ,KARJ,CAGEI,KAHF;AAAA,MAIEC,SAJF,GAQIL,KARJ,CAIEK,SAJF;AAAA,MAKEC,UALF,GAQIN,KARJ,CAKEM,UALF;AAAA,MAMEC,KANF,GAQIP,KARJ,CAMEO,KANF;AAAA,MAOKC,SAPL,4BAQIR,KARJ;;AASA,MAAMS,QAAQ,GAAGlB,WAAW,EAA5B;AAEA,MAAMmB,eAAe,GACnBD,QAAQ,KAAKnB,KAAb,IAAsBiB,KAAK,KAAKd,QAAQ,CAACkB,OAAzC,GAAmDb,IAAnD,GAA0DD,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEO,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAEjB,UAAU,CAAC,OAAD,yBAA0BmB,KAA1B,EAJvB;AAKE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKpB,GAAb,GAAmB,GAAnB,GAAyBH,mBAL9C;AAME,IAAA,QAAQ,EAAEsB,SAAS,CAACI,QANtB;AAOE,IAAA,UAAU,EAAEN;AAPd,KASE,oBAAC,mBAAD,eACME,SADN;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,IAAI,EAAC;AAHP,KATF,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,IADF,EAEE,oBAAC,eAAD;AAAiB,IAAA,SAAS,EAAC,gBAA3B;AAA4C,IAAA,SAAS,EAAC;AAAtD,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCN,QAAlC,CADF,EAEGR,YAAY,CAACS,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAHJ,CAFF,CAdF,CADF;AA0BD,CAzCD;AA2CA;AACA;AACA;;;AACA,OAAO,IAAMU,KAAK,GAAGrB,cAAc,CAACS,cAAD,EAAiB;AAClDM,EAAAA,KAAK,EAAE;AAD2C,CAAjB,CAA5B","sourcesContent":["import * as React from \"react\";\nimport { ACTIVE_EFFECT_DELAY, Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n aria-hidden\n {...props}\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7.5\"\n vkuiClass=\"Radio__pin\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst RadioComponent: React.FC<RadioProps> = (props: RadioProps) => {\n const {\n children,\n description,\n style,\n className,\n getRootRef,\n sizeY,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const RadioTypography =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\"Radio\", `Radio--sizeY-${sizeY}`)}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"Radio__input\"\n type=\"radio\"\n />\n <div vkuiClass=\"Radio__container\">\n <RadioIcon vkuiClass=\"Radio__icon\" />\n <RadioTypography vkuiClass=\"Radio__content\" Component=\"div\">\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </RadioTypography>\n </div>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = withAdaptivity(RadioComponent, {\n sizeY: true,\n});\n"],"file":"Radio.js"}
@@ -5,5 +5,4 @@ export declare type RangeSliderProps = UniversalSliderProps<Value>;
5
5
  /**
6
6
  * @see https://vkcom.github.io/VKUI/#/RangeSlider
7
7
  */
8
- declare const RangeSlider: React.FC<RangeSliderProps>;
9
- export default RangeSlider;
8
+ export declare const RangeSlider: React.FC<RangeSliderProps>;
@@ -10,7 +10,7 @@ import { UniversalSlider } from "./UniversalSlider";
10
10
  /**
11
11
  * @see https://vkcom.github.io/VKUI/#/RangeSlider
12
12
  */
13
- var RangeSlider = function RangeSlider(_ref) {
13
+ export var RangeSlider = function RangeSlider(_ref) {
14
14
  var onChange = _ref.onChange,
15
15
  defaultValue = _ref.defaultValue,
16
16
  _ref$min = _ref.min,
@@ -51,8 +51,5 @@ var RangeSlider = function RangeSlider(_ref) {
51
51
  max: max,
52
52
  step: step
53
53
  }));
54
- }; // eslint-disable-next-line import/no-default-export
55
-
56
-
57
- export default RangeSlider;
54
+ };
58
55
  //# sourceMappingURL=RangeSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RangeSlider/RangeSlider.tsx"],"names":["React","clamp","UniversalSlider","RangeSlider","onChange","defaultValue","min","max","step","props","isControlled","Boolean","value","useState","localValue","setValue","start","end","useMemo","handleChange","useCallback","nextValue","event","disabled"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,KAAT;AACA,SAASC,eAAT;;AAKA;AACA;AACA;AACA,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,OAOxB;AAAA,MANtBC,QAMsB,QANtBA,QAMsB;AAAA,MALtBC,YAKsB,QALtBA,YAKsB;AAAA,sBAJtBC,GAIsB;AAAA,MAJtBA,GAIsB,yBAJhB,CAIgB;AAAA,sBAHtBC,GAGsB;AAAA,MAHtBA,GAGsB,yBAHhB,GAGgB;AAAA,uBAFtBC,IAEsB;AAAA,MAFtBA,IAEsB,0BAFf,CAEe;AAAA,MADnBC,KACmB;;AACtB,MAAMC,YAAY,GAAGC,OAAO,CAACF,KAAK,CAACG,KAAP,CAA5B;;AAEA,wBAA+BZ,KAAK,CAACa,QAAN,CAC7BR,YAAY,IAAK,CAACC,GAAD,EAAMC,GAAN,CADY,CAA/B;AAAA;AAAA,MAAOO,UAAP;AAAA,MAAmBC,QAAnB;;AAGA,cAAqBN,KAAK,CAACG,KAAN,IAAeE,UAApC;AAAA;AAAA,MAAOE,KAAP;AAAA,MAAcC,GAAd;;AACA,MAAML,KAAK,GAAGZ,KAAK,CAACkB,OAAN,CACZ;AAAA,WAAM,CAACjB,KAAK,CAACe,KAAD,EAAQV,GAAR,EAAaC,GAAb,CAAN,EAAyBN,KAAK,CAACgB,GAAD,EAAMX,GAAN,EAAWC,GAAX,CAA9B,CAAN;AAAA,GADY,EAEZ,CAACU,GAAD,EAAMV,GAAN,EAAWD,GAAX,EAAgBU,KAAhB,CAFY,CAAd;AAKA,MAAMG,YAA0C,GAAGnB,KAAK,CAACoB,WAAN,CACjD,UAACC,SAAD,EAAYC,KAAZ,EAAsB;AACpB,QACEb,KAAK,CAACc,QAAN,IACCX,KAAK,CAAC,CAAD,CAAL,KAAaS,SAAS,CAAC,CAAD,CAAtB,IAA6BT,KAAK,CAAC,CAAD,CAAL,KAAaS,SAAS,CAAC,CAAD,CAFtD,EAGE;AACA;AACD;;AACD,KAACX,YAAD,IAAiBK,QAAQ,CAACM,SAAD,CAAzB;AACAjB,IAAAA,QAAQ,IAAIA,QAAQ,CAACiB,SAAD,EAAYC,KAAZ,CAApB;AACD,GAVgD,EAWjD,CAACb,KAAK,CAACc,QAAP,EAAiBX,KAAjB,EAAwBF,YAAxB,EAAsCN,QAAtC,CAXiD,CAAnD;AAcA,SACE,oBAAC,eAAD,eACMK,KADN;AAEE,IAAA,KAAK,EAAEG,KAFT;AAGE,IAAA,QAAQ,EAAEO,YAHZ;AAIE,IAAA,GAAG,EAAEb,GAJP;AAKE,IAAA,GAAG,EAAEC,GALP;AAME,IAAA,IAAI,EAAEC;AANR,KADF;AAUD,CA3CD,C,CA6CA;;;AACA,eAAeL,WAAf","sourcesContent":["import * as React from \"react\";\nimport { clamp } from \"../../helpers/math\";\nimport { UniversalSlider, UniversalSliderProps } from \"./UniversalSlider\";\n\nexport type Value = [number, number];\nexport type RangeSliderProps = UniversalSliderProps<Value>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RangeSlider\n */\nconst RangeSlider: React.FC<RangeSliderProps> = ({\n onChange,\n defaultValue,\n min = 0,\n max = 100,\n step = 0,\n ...props\n}: RangeSliderProps) => {\n const isControlled = Boolean(props.value);\n\n const [localValue, setValue] = React.useState(\n defaultValue || ([min, max] as Value)\n );\n const [start, end] = props.value || localValue;\n const value = React.useMemo(\n () => [clamp(start, min, max), clamp(end, min, max)] as Value,\n [end, max, min, start]\n );\n\n const handleChange: RangeSliderProps[\"onChange\"] = React.useCallback(\n (nextValue, event) => {\n if (\n props.disabled ||\n (value[0] === nextValue[0] && value[1] === nextValue[1])\n ) {\n return;\n }\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n },\n [props.disabled, value, isControlled, onChange]\n );\n\n return (\n <UniversalSlider\n {...props}\n value={value}\n onChange={handleChange}\n min={min}\n max={max}\n step={step}\n />\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default RangeSlider;\n"],"file":"RangeSlider.js"}
1
+ {"version":3,"sources":["../../../src/components/RangeSlider/RangeSlider.tsx"],"names":["React","clamp","UniversalSlider","RangeSlider","onChange","defaultValue","min","max","step","props","isControlled","Boolean","value","useState","localValue","setValue","start","end","useMemo","handleChange","useCallback","nextValue","event","disabled"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,KAAT;AACA,SAASC,eAAT;;AAKA;AACA;AACA;AACA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,OAO/B;AAAA,MANtBC,QAMsB,QANtBA,QAMsB;AAAA,MALtBC,YAKsB,QALtBA,YAKsB;AAAA,sBAJtBC,GAIsB;AAAA,MAJtBA,GAIsB,yBAJhB,CAIgB;AAAA,sBAHtBC,GAGsB;AAAA,MAHtBA,GAGsB,yBAHhB,GAGgB;AAAA,uBAFtBC,IAEsB;AAAA,MAFtBA,IAEsB,0BAFf,CAEe;AAAA,MADnBC,KACmB;;AACtB,MAAMC,YAAY,GAAGC,OAAO,CAACF,KAAK,CAACG,KAAP,CAA5B;;AAEA,wBAA+BZ,KAAK,CAACa,QAAN,CAC7BR,YAAY,IAAK,CAACC,GAAD,EAAMC,GAAN,CADY,CAA/B;AAAA;AAAA,MAAOO,UAAP;AAAA,MAAmBC,QAAnB;;AAGA,cAAqBN,KAAK,CAACG,KAAN,IAAeE,UAApC;AAAA;AAAA,MAAOE,KAAP;AAAA,MAAcC,GAAd;;AACA,MAAML,KAAK,GAAGZ,KAAK,CAACkB,OAAN,CACZ;AAAA,WAAM,CAACjB,KAAK,CAACe,KAAD,EAAQV,GAAR,EAAaC,GAAb,CAAN,EAAyBN,KAAK,CAACgB,GAAD,EAAMX,GAAN,EAAWC,GAAX,CAA9B,CAAN;AAAA,GADY,EAEZ,CAACU,GAAD,EAAMV,GAAN,EAAWD,GAAX,EAAgBU,KAAhB,CAFY,CAAd;AAKA,MAAMG,YAA0C,GAAGnB,KAAK,CAACoB,WAAN,CACjD,UAACC,SAAD,EAAYC,KAAZ,EAAsB;AACpB,QACEb,KAAK,CAACc,QAAN,IACCX,KAAK,CAAC,CAAD,CAAL,KAAaS,SAAS,CAAC,CAAD,CAAtB,IAA6BT,KAAK,CAAC,CAAD,CAAL,KAAaS,SAAS,CAAC,CAAD,CAFtD,EAGE;AACA;AACD;;AACD,KAACX,YAAD,IAAiBK,QAAQ,CAACM,SAAD,CAAzB;AACAjB,IAAAA,QAAQ,IAAIA,QAAQ,CAACiB,SAAD,EAAYC,KAAZ,CAApB;AACD,GAVgD,EAWjD,CAACb,KAAK,CAACc,QAAP,EAAiBX,KAAjB,EAAwBF,YAAxB,EAAsCN,QAAtC,CAXiD,CAAnD;AAcA,SACE,oBAAC,eAAD,eACMK,KADN;AAEE,IAAA,KAAK,EAAEG,KAFT;AAGE,IAAA,QAAQ,EAAEO,YAHZ;AAIE,IAAA,GAAG,EAAEb,GAJP;AAKE,IAAA,GAAG,EAAEC,GALP;AAME,IAAA,IAAI,EAAEC;AANR,KADF;AAUD,CA3CM","sourcesContent":["import * as React from \"react\";\nimport { clamp } from \"../../helpers/math\";\nimport { UniversalSlider, UniversalSliderProps } from \"./UniversalSlider\";\n\nexport type Value = [number, number];\nexport type RangeSliderProps = UniversalSliderProps<Value>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RangeSlider\n */\nexport const RangeSlider: React.FC<RangeSliderProps> = ({\n onChange,\n defaultValue,\n min = 0,\n max = 100,\n step = 0,\n ...props\n}: RangeSliderProps) => {\n const isControlled = Boolean(props.value);\n\n const [localValue, setValue] = React.useState(\n defaultValue || ([min, max] as Value)\n );\n const [start, end] = props.value || localValue;\n const value = React.useMemo(\n () => [clamp(start, min, max), clamp(end, min, max)] as Value,\n [end, max, min, start]\n );\n\n const handleChange: RangeSliderProps[\"onChange\"] = React.useCallback(\n (nextValue, event) => {\n if (\n props.disabled ||\n (value[0] === nextValue[0] && value[1] === nextValue[1])\n ) {\n return;\n }\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n },\n [props.disabled, value, isControlled, onChange]\n );\n\n return (\n <UniversalSlider\n {...props}\n value={value}\n onChange={handleChange}\n min={min}\n max={max}\n step={step}\n />\n );\n};\n"],"file":"RangeSlider.js"}
@@ -5,12 +5,10 @@ var _excluded = ["min", "max", "step", "value", "defaultValue", "onChange", "get
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
7
  import { Touch } from "../Touch/Touch";
8
- import { getClassName } from "../../helpers/getClassName";
9
8
  import { classNames } from "../../lib/classNames";
10
9
  import { rescale } from "../../helpers/math";
11
10
  import { withAdaptivity } from "../../hoc/withAdaptivity";
12
11
  import { useExternRef } from "../../hooks/useExternRef";
13
- import { usePlatform } from "../../hooks/usePlatform";
14
12
 
15
13
  var UniversalSliderDumb = function UniversalSliderDumb(_ref) {
16
14
  var _ref$min = _ref.min,
@@ -27,8 +25,6 @@ var UniversalSliderDumb = function UniversalSliderDumb(_ref) {
27
25
  disabled = _ref.disabled,
28
26
  restProps = _objectWithoutProperties(_ref, _excluded);
29
27
 
30
- var platform = usePlatform();
31
-
32
28
  var _value = _slicedToArray(value, 2),
33
29
  start = _value[0],
34
30
  end = _value[1];
@@ -132,7 +128,7 @@ var UniversalSliderDumb = function UniversalSliderDumb(_ref) {
132
128
  onMove: onMove,
133
129
  onEnd: onEnd
134
130
  }, {
135
- vkuiClass: classNames(getClassName("Slider", platform), "Slider--sizeY-".concat(sizeY), disabled && "Slider--disabled")
131
+ vkuiClass: classNames("Slider", "Slider--sizeY-".concat(sizeY), disabled && "Slider--disabled")
136
132
  }), createScopedElement("div", {
137
133
  ref: container,
138
134
  vkuiClass: "Slider__in"