@vkontakte/vkui 4.35.4 → 4.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1275) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +21771 -18514
  4. package/.cache/ts/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  5. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  6. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  7. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -1
  8. package/.cache/ts/src/components/Calendar/Calendar.d.ts +3 -2
  9. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +4 -2
  10. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +3 -1
  11. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +6 -1
  12. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
  13. package/.cache/ts/src/components/Chip/Chip.d.ts +12 -5
  14. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +5 -26
  15. package/.cache/ts/src/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  16. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +6 -4
  17. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  18. package/.cache/ts/src/components/DateInput/DateInput.d.ts +4 -2
  19. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  20. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  21. package/.cache/ts/src/components/FormField/FormField.d.ts +2 -1
  22. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  23. package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -0
  24. package/.cache/ts/src/components/Group/Group.d.ts +5 -1
  25. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  26. package/.cache/ts/src/components/List/List.d.ts +2 -1
  27. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +13 -1
  28. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +3 -2
  29. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  30. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  31. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  32. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +34 -1
  33. package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +3 -2
  34. package/.cache/ts/src/components/Tappable/Tappable.d.ts +2 -1
  35. package/.cache/ts/src/components/Textarea/Textarea.d.ts +3 -2
  36. package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +7 -1
  37. package/.cache/ts/src/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  38. package/{dist/cssm/components/ChipsSelect → .cache/ts/src/hooks}/useChipsSelect.d.ts +4 -4
  39. package/.cache/ts/src/index.d.ts +5 -0
  40. package/.cache/ts/src/tokenized/index.d.ts +58 -0
  41. package/.eslintrc.json +2 -1
  42. package/README.md +3 -2
  43. package/dist/appearance/constants.js.map +1 -1
  44. package/dist/cjs/appearance/constants.js.map +1 -1
  45. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
  46. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  47. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  48. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +24 -0
  49. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  50. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +10 -8
  51. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  52. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -5
  53. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  54. package/dist/cjs/components/ActionSheet/types.js.map +1 -1
  55. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +15 -39
  56. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  57. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  58. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
  59. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  60. package/dist/cjs/components/Alert/Alert.js +11 -12
  61. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  62. package/dist/cjs/components/AppRoot/AppRoot.js +2 -5
  63. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  64. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  65. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  66. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  67. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  68. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
  69. package/dist/cjs/components/Avatar/Avatar.js +4 -17
  70. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  71. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  72. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  73. package/dist/cjs/components/BaseGallery/BaseGallery.js +11 -10
  74. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  75. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  76. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  77. package/dist/cjs/components/Button/Button.js.map +1 -1
  78. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  79. package/dist/cjs/components/Calendar/Calendar.js +9 -3
  80. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  81. package/dist/cjs/components/CalendarDay/CalendarDay.js +14 -23
  82. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  83. package/dist/cjs/components/CalendarDays/CalendarDays.js +4 -3
  84. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  85. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +10 -4
  86. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  87. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  88. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  89. package/dist/cjs/components/Card/Card.js.map +1 -1
  90. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  91. package/dist/cjs/components/CardScroll/CardScroll.js +2 -5
  92. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  93. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  94. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  95. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  96. package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
  97. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  98. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  99. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  100. package/dist/cjs/components/ChipsInput/ChipsInput.js +15 -198
  101. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  102. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +215 -0
  103. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  104. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +49 -28
  105. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  106. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  107. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  108. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  109. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  110. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  111. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  112. package/dist/cjs/components/CustomSelect/CustomSelect.js +32 -31
  113. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  114. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  115. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  116. package/dist/cjs/components/DateInput/DateInput.js +4 -2
  117. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  118. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  119. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +4 -2
  120. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  121. package/dist/cjs/components/Div/Div.js.map +1 -1
  122. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  123. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +16 -7
  124. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  125. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  126. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  127. package/dist/cjs/components/File/File.js.map +1 -1
  128. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  129. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  130. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  131. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  132. package/dist/cjs/components/FormField/FormField.js +4 -2
  133. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  134. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  135. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  136. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +12 -3
  137. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  138. package/dist/cjs/components/FormStatus/FormStatus.js +4 -6
  139. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  140. package/dist/cjs/components/Gallery/Gallery.js +2 -0
  141. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  142. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  143. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  144. package/dist/cjs/components/Group/Group.js +4 -2
  145. package/dist/cjs/components/Group/Group.js.map +1 -1
  146. package/dist/cjs/components/Header/Header.js +3 -11
  147. package/dist/cjs/components/Header/Header.js.map +1 -1
  148. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  149. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  150. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  151. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  152. package/dist/cjs/components/IconButton/IconButton.js +4 -3
  153. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  154. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  155. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  156. package/dist/cjs/components/Input/Input.js +4 -2
  157. package/dist/cjs/components/Input/Input.js.map +1 -1
  158. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  159. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  160. package/dist/cjs/components/Link/Link.js.map +1 -1
  161. package/dist/cjs/components/List/List.js.map +1 -1
  162. package/dist/cjs/components/List/ListContext.js.map +1 -1
  163. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -1
  164. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  165. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  166. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  167. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -6
  168. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  169. package/dist/cjs/components/ModalPage/ModalPage.js +11 -10
  170. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  171. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +3 -4
  172. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  173. package/dist/cjs/components/ModalRoot/ModalRoot.js +4 -18
  174. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  175. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  176. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  177. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +3 -11
  178. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  179. package/dist/cjs/components/ModalRoot/constants.js.map +1 -1
  180. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  181. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  182. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  183. package/dist/cjs/components/NativeSelect/NativeSelect.js +4 -2
  184. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  185. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  186. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  187. package/dist/cjs/components/Panel/Panel.js +4 -10
  188. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  189. package/dist/cjs/components/PanelHeader/PanelHeader.js +2 -11
  190. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  191. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +2 -7
  192. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  193. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  194. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  195. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  196. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  197. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +4 -2
  198. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  199. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +4 -8
  200. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  201. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  202. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  203. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  204. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  205. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  206. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  207. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  208. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  209. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  210. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
  211. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  212. package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -7
  213. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  214. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  215. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  216. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  217. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  218. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  219. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  220. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  221. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  222. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  223. package/dist/cjs/components/Root/Root.js.map +1 -1
  224. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -1
  225. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -1
  226. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  227. package/dist/cjs/components/Search/Search.js +7 -9
  228. package/dist/cjs/components/Search/Search.js.map +1 -1
  229. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  230. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  231. package/dist/cjs/components/Select/Select.js.map +1 -1
  232. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -2
  233. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  234. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  235. package/dist/cjs/components/SimpleCell/SimpleCell.js +30 -8
  236. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  237. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  238. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  239. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +2 -5
  240. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  241. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -7
  242. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  243. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  244. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  245. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  246. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  247. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  248. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +1 -6
  249. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  250. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +17 -16
  251. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  252. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  253. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  254. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  255. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  256. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  257. package/dist/cjs/components/Tappable/Tappable.js +8 -16
  258. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  259. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  260. package/dist/cjs/components/Textarea/Textarea.js +4 -2
  261. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  262. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  263. package/dist/cjs/components/Tooltip/TooltipContainer.js.map +1 -1
  264. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  265. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  266. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  267. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  268. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  269. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  270. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  271. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  272. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  273. package/dist/cjs/components/UsersStack/UsersStack.js +75 -37
  274. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  275. package/dist/cjs/components/View/View.js +2 -7
  276. package/dist/cjs/components/View/View.js.map +1 -1
  277. package/dist/cjs/components/View/ViewInfinite.js +1 -10
  278. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  279. package/dist/cjs/components/View/utils.js.map +1 -1
  280. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -4
  281. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  282. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  283. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  284. package/dist/cjs/helpers/avatar.js.map +1 -1
  285. package/dist/cjs/helpers/getClassName.js.map +1 -1
  286. package/dist/cjs/helpers/getScheme.js.map +1 -1
  287. package/dist/cjs/helpers/math.js.map +1 -1
  288. package/dist/cjs/helpers/scheme.js.map +1 -1
  289. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  290. package/dist/cjs/hoc/withContext.js.map +1 -1
  291. package/dist/cjs/hoc/withInsets.js.map +1 -1
  292. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  293. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  294. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  295. package/dist/cjs/hooks/useBooleanState.js.map +1 -1
  296. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
  297. package/dist/cjs/hooks/useBrowserInfo.js.map +1 -1
  298. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  299. package/dist/cjs/{components/ChipsInput → hooks}/useChipsInput.js +0 -0
  300. package/dist/cjs/hooks/useChipsInput.js.map +1 -0
  301. package/dist/cjs/{components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
  302. package/dist/cjs/hooks/useChipsSelect.js.map +1 -0
  303. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  304. package/dist/cjs/hooks/useEffectDev.js.map +1 -1
  305. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  306. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  307. package/dist/cjs/hooks/useExternRef.js.map +1 -1
  308. package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
  309. package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
  310. package/dist/cjs/hooks/useInsets.js.map +1 -1
  311. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  312. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  313. package/dist/cjs/hooks/useObjectMemo.js.map +1 -1
  314. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  315. package/dist/cjs/hooks/usePagination.js.map +1 -1
  316. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  317. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  318. package/dist/cjs/hooks/usePrevious.js.map +1 -1
  319. package/dist/cjs/hooks/useTimeout.js.map +1 -1
  320. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  321. package/dist/cjs/index.js +16 -0
  322. package/dist/cjs/index.js.map +1 -1
  323. package/dist/cjs/lib/SSR.js.map +1 -1
  324. package/dist/cjs/lib/accessibility.js.map +1 -1
  325. package/dist/cjs/lib/animate.js +2 -2
  326. package/dist/cjs/lib/animate.js.map +1 -1
  327. package/dist/cjs/lib/browser.js.map +1 -1
  328. package/dist/cjs/lib/calendar.js.map +1 -1
  329. package/dist/cjs/lib/callMultiple.js.map +1 -1
  330. package/dist/cjs/lib/classNames.js.map +1 -1
  331. package/dist/cjs/lib/classScopingMode.js.map +1 -1
  332. package/dist/cjs/lib/date.js.map +1 -1
  333. package/dist/cjs/lib/dom.js.map +1 -1
  334. package/dist/cjs/lib/fx.js.map +1 -1
  335. package/dist/cjs/lib/getNavId.js.map +1 -1
  336. package/dist/cjs/lib/is.js.map +1 -1
  337. package/dist/cjs/lib/isRefObject.js.map +1 -1
  338. package/dist/cjs/lib/jsxRuntime.d.js.map +1 -1
  339. package/dist/cjs/lib/jsxRuntime.js.map +1 -1
  340. package/dist/cjs/lib/offset.js.map +1 -1
  341. package/dist/cjs/lib/platform.js.map +1 -1
  342. package/dist/cjs/lib/polyfills.js.map +1 -1
  343. package/dist/cjs/lib/prefixClass.js.map +1 -1
  344. package/dist/cjs/lib/removeObjectKeys.js.map +1 -1
  345. package/dist/cjs/lib/select.js.map +1 -1
  346. package/dist/cjs/lib/styles.js.map +1 -1
  347. package/dist/cjs/lib/supportEvents.js.map +1 -1
  348. package/dist/cjs/lib/taptic.js.map +1 -1
  349. package/dist/cjs/lib/testing.js +2 -2
  350. package/dist/cjs/lib/testing.js.map +1 -1
  351. package/dist/cjs/lib/touch.js +2 -2
  352. package/dist/cjs/lib/touch.js.map +1 -1
  353. package/dist/cjs/lib/useIsomorphicLayoutEffect.js.map +1 -1
  354. package/dist/cjs/lib/utils.js.map +1 -1
  355. package/dist/cjs/lib/warnOnce.js.map +1 -1
  356. package/dist/cjs/tokenized/index.js +240 -0
  357. package/dist/cjs/tokenized/index.js.map +1 -1
  358. package/dist/cjs/types.js.map +1 -1
  359. package/dist/cjs/unstable/index.js.map +1 -1
  360. package/dist/components/ActionSheet/ActionSheet.js +4 -4
  361. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  362. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  363. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  364. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
  365. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  366. package/dist/components/ActionSheet/ActionSheetDropdown.js +7 -7
  367. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  368. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
  369. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  370. package/dist/components/ActionSheet/types.js.map +1 -1
  371. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  372. package/dist/components/ActionSheetItem/ActionSheetItem.js +16 -36
  373. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  374. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  375. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  376. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
  377. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  378. package/dist/components/Alert/Alert.js +12 -12
  379. package/dist/components/Alert/Alert.js.map +1 -1
  380. package/dist/components/AppRoot/AppRoot.js +2 -5
  381. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  382. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  383. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  384. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  385. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  386. package/dist/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
  387. package/dist/components/Avatar/Avatar.js +4 -17
  388. package/dist/components/Avatar/Avatar.js.map +1 -1
  389. package/dist/components/Badge/Badge.js.map +1 -1
  390. package/dist/components/Banner/Banner.js.map +1 -1
  391. package/dist/components/BaseGallery/BaseGallery.js +11 -10
  392. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  393. package/dist/components/BaseGallery/helpers.js.map +1 -1
  394. package/dist/components/BaseGallery/types.js.map +1 -1
  395. package/dist/components/Button/Button.js.map +1 -1
  396. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  397. package/dist/components/Calendar/Calendar.d.ts +3 -2
  398. package/dist/components/Calendar/Calendar.js +9 -3
  399. package/dist/components/Calendar/Calendar.js.map +1 -1
  400. package/dist/components/CalendarDay/CalendarDay.d.ts +4 -2
  401. package/dist/components/CalendarDay/CalendarDay.js +11 -23
  402. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  403. package/dist/components/CalendarDays/CalendarDays.d.ts +3 -1
  404. package/dist/components/CalendarDays/CalendarDays.js +4 -3
  405. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  406. package/dist/components/CalendarHeader/CalendarHeader.d.ts +6 -1
  407. package/dist/components/CalendarHeader/CalendarHeader.js +7 -4
  408. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  409. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  410. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  411. package/dist/components/Card/Card.js.map +1 -1
  412. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  413. package/dist/components/CardScroll/CardScroll.js +1 -3
  414. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  415. package/dist/components/Cell/Cell.js.map +1 -1
  416. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  417. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  418. package/dist/components/Cell/useDraggable.js.map +1 -1
  419. package/dist/components/CellButton/CellButton.js.map +1 -1
  420. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  421. package/dist/components/Chip/Chip.d.ts +12 -5
  422. package/dist/components/Chip/Chip.js.map +1 -1
  423. package/dist/components/ChipsInput/ChipsInput.d.ts +5 -26
  424. package/dist/components/ChipsInput/ChipsInput.js +14 -183
  425. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  426. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  427. package/dist/components/ChipsInputBase/ChipsInputBase.js +188 -0
  428. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  429. package/dist/components/ChipsSelect/ChipsSelect.d.ts +6 -4
  430. package/dist/components/ChipsSelect/ChipsSelect.js +47 -27
  431. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  432. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  433. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  434. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  435. package/dist/components/Counter/Counter.js.map +1 -1
  436. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  437. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  438. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  439. package/dist/components/CustomSelect/CustomSelect.js +32 -31
  440. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  441. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  442. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  443. package/dist/components/DateInput/DateInput.d.ts +4 -2
  444. package/dist/components/DateInput/DateInput.js +4 -2
  445. package/dist/components/DateInput/DateInput.js.map +1 -1
  446. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  447. package/dist/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  448. package/dist/components/DateRangeInput/DateRangeInput.js +4 -2
  449. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  450. package/dist/components/Div/Div.js.map +1 -1
  451. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  452. package/dist/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  453. package/dist/components/DropdownIcon/DropdownIcon.js +15 -7
  454. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  455. package/dist/components/Epic/Epic.js.map +1 -1
  456. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  457. package/dist/components/File/File.js.map +1 -1
  458. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  459. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  460. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  461. package/dist/components/Footer/Footer.js.map +1 -1
  462. package/dist/components/FormField/FormField.d.ts +2 -1
  463. package/dist/components/FormField/FormField.js +4 -2
  464. package/dist/components/FormField/FormField.js.map +1 -1
  465. package/dist/components/FormItem/FormItem.js.map +1 -1
  466. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  467. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  468. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
  469. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  470. package/dist/components/FormStatus/FormStatus.d.ts +1 -0
  471. package/dist/components/FormStatus/FormStatus.js +4 -4
  472. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  473. package/dist/components/Gallery/Gallery.js +2 -0
  474. package/dist/components/Gallery/Gallery.js.map +1 -1
  475. package/dist/components/Gradient/Gradient.js.map +1 -1
  476. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  477. package/dist/components/Group/Group.d.ts +5 -1
  478. package/dist/components/Group/Group.js +4 -2
  479. package/dist/components/Group/Group.js.map +1 -1
  480. package/dist/components/Header/Header.js +3 -10
  481. package/dist/components/Header/Header.js.map +1 -1
  482. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  483. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  484. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  485. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  486. package/dist/components/IconButton/IconButton.js +4 -3
  487. package/dist/components/IconButton/IconButton.js.map +1 -1
  488. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  489. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  490. package/dist/components/Input/Input.d.ts +1 -1
  491. package/dist/components/Input/Input.js +4 -2
  492. package/dist/components/Input/Input.js.map +1 -1
  493. package/dist/components/InputLike/InputLike.js.map +1 -1
  494. package/dist/components/InputLike/InputLikeDivider.js.map +1 -1
  495. package/dist/components/Link/Link.js.map +1 -1
  496. package/dist/components/List/List.d.ts +2 -1
  497. package/dist/components/List/List.js.map +1 -1
  498. package/dist/components/List/ListContext.js.map +1 -1
  499. package/dist/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -1
  500. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  501. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  502. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  503. package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -4
  504. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  505. package/dist/components/ModalPage/ModalPage.d.ts +13 -1
  506. package/dist/components/ModalPage/ModalPage.js +12 -10
  507. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  508. package/dist/components/ModalPageHeader/ModalPageHeader.js +3 -3
  509. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  510. package/dist/components/ModalRoot/ModalRoot.js +4 -18
  511. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  512. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  513. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  514. package/dist/components/ModalRoot/ModalRootDesktop.js +3 -11
  515. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  516. package/dist/components/ModalRoot/constants.js.map +1 -1
  517. package/dist/components/ModalRoot/types.js.map +1 -1
  518. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  519. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  520. package/dist/components/NativeSelect/NativeSelect.d.ts +3 -2
  521. package/dist/components/NativeSelect/NativeSelect.js +4 -2
  522. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  523. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  524. package/dist/components/Pagination/Pagination.js.map +1 -1
  525. package/dist/components/Panel/Panel.js +4 -8
  526. package/dist/components/Panel/Panel.js.map +1 -1
  527. package/dist/components/PanelHeader/PanelHeader.js +2 -11
  528. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  529. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
  530. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  531. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  532. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  533. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  534. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  535. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +4 -3
  536. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  537. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
  538. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  539. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  540. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  541. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  542. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  543. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  544. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  545. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  546. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  547. package/dist/components/Popper/Popper.js.map +1 -1
  548. package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
  549. package/dist/components/Progress/Progress.js.map +1 -1
  550. package/dist/components/PromoBanner/PromoBanner.js +2 -5
  551. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  552. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  553. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  554. package/dist/components/Radio/Radio.js.map +1 -1
  555. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  556. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  557. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  558. package/dist/components/Removable/Removable.js.map +1 -1
  559. package/dist/components/RichCell/RichCell.js.map +1 -1
  560. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  561. package/dist/components/Root/Root.js.map +1 -1
  562. package/dist/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -1
  563. package/dist/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -1
  564. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  565. package/dist/components/Search/Search.js +6 -8
  566. package/dist/components/Search/Search.js.map +1 -1
  567. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  568. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  569. package/dist/components/Select/Select.d.ts +1 -1
  570. package/dist/components/Select/Select.js.map +1 -1
  571. package/dist/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  572. package/dist/components/SelectMimicry/SelectMimicry.js +4 -2
  573. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  574. package/dist/components/Separator/Separator.js.map +1 -1
  575. package/dist/components/SimpleCell/SimpleCell.d.ts +34 -1
  576. package/dist/components/SimpleCell/SimpleCell.js +29 -8
  577. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  578. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  579. package/dist/components/Slider/Slider.js.map +1 -1
  580. package/dist/components/SliderSwitch/SliderSwitch.js +1 -4
  581. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  582. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -5
  583. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  584. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  585. package/dist/components/Spacing/Spacing.js.map +1 -1
  586. package/dist/components/Spinner/Spinner.js.map +1 -1
  587. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  588. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  589. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -4
  590. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  591. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +3 -2
  592. package/dist/components/SubnavigationButton/SubnavigationButton.js +16 -15
  593. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  594. package/dist/components/Switch/Switch.js.map +1 -1
  595. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  596. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  597. package/dist/components/Tabs/Tabs.js.map +1 -1
  598. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  599. package/dist/components/Tappable/Tappable.d.ts +2 -1
  600. package/dist/components/Tappable/Tappable.js +3 -10
  601. package/dist/components/Tappable/Tappable.js.map +1 -1
  602. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  603. package/dist/components/Textarea/Textarea.d.ts +3 -2
  604. package/dist/components/Textarea/Textarea.js +4 -2
  605. package/dist/components/Textarea/Textarea.js.map +1 -1
  606. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  607. package/dist/components/Tooltip/TooltipContainer.js.map +1 -1
  608. package/dist/components/Touch/Touch.js.map +1 -1
  609. package/dist/components/Touch/TouchContext.js.map +1 -1
  610. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  611. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  612. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  613. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  614. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  615. package/dist/components/Typography/Text/Text.js.map +1 -1
  616. package/dist/components/Typography/Title/Title.js.map +1 -1
  617. package/dist/components/UsersStack/UsersStack.d.ts +7 -1
  618. package/dist/components/UsersStack/UsersStack.js +73 -31
  619. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  620. package/dist/components/View/View.js +2 -7
  621. package/dist/components/View/View.js.map +1 -1
  622. package/dist/components/View/ViewInfinite.js +1 -10
  623. package/dist/components/View/ViewInfinite.js.map +1 -1
  624. package/dist/components/View/utils.js.map +1 -1
  625. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -3
  626. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  627. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  628. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  629. package/dist/components.css +124 -17
  630. package/dist/components.css.map +1 -1
  631. package/dist/cssm/appearance/constants.js.map +1 -1
  632. package/dist/cssm/components/ActionSheet/ActionSheet.css +3 -1
  633. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
  634. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  635. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  636. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  637. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
  638. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  639. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +7 -7
  640. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  641. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
  642. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  643. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  644. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +7 -1
  645. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  646. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +16 -36
  647. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  648. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  649. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  650. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
  651. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  652. package/dist/cssm/components/Alert/Alert.css +7 -1
  653. package/dist/cssm/components/Alert/Alert.js +12 -12
  654. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  655. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  656. package/dist/cssm/components/AppRoot/AppRoot.js +2 -5
  657. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  660. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  661. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  662. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
  663. package/dist/cssm/components/Avatar/Avatar.js +4 -17
  664. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  665. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  666. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  667. package/dist/cssm/components/BaseGallery/BaseGallery.js +11 -10
  668. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  669. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  670. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  671. package/dist/cssm/components/Button/Button.js.map +1 -1
  672. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  673. package/dist/cssm/components/Calendar/Calendar.d.ts +3 -2
  674. package/dist/cssm/components/Calendar/Calendar.js +9 -3
  675. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  676. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +4 -2
  677. package/dist/cssm/components/CalendarDay/CalendarDay.js +11 -23
  678. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  679. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +3 -1
  680. package/dist/cssm/components/CalendarDays/CalendarDays.js +4 -3
  681. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  682. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +6 -1
  683. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +7 -4
  684. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  685. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  686. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  687. package/dist/cssm/components/Card/Card.js.map +1 -1
  688. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  689. package/dist/cssm/components/CardScroll/CardScroll.js +1 -3
  690. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  691. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  692. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  693. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  694. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  695. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  696. package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
  697. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  698. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  699. package/dist/cssm/components/Chip/Chip.css +1 -1
  700. package/dist/cssm/components/Chip/Chip.d.ts +12 -5
  701. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  702. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  703. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +5 -26
  704. package/dist/cssm/components/ChipsInput/ChipsInput.js +14 -183
  705. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  706. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.css +1 -0
  707. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  708. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +189 -0
  709. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  710. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  711. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +6 -4
  712. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +47 -27
  713. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  714. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  715. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  716. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  717. package/dist/cssm/components/Counter/Counter.css +3 -1
  718. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  719. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  720. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  721. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  722. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  723. package/dist/cssm/components/CustomSelect/CustomSelect.js +32 -31
  724. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  725. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  726. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  727. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  728. package/dist/cssm/components/DateInput/DateInput.d.ts +4 -2
  729. package/dist/cssm/components/DateInput/DateInput.js +4 -2
  730. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  731. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  732. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  733. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  734. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -2
  735. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  736. package/dist/cssm/components/Div/Div.js.map +1 -1
  737. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  738. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  739. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +15 -8
  740. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  741. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  742. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  743. package/dist/cssm/components/File/File.js.map +1 -1
  744. package/dist/cssm/components/FixedLayout/FixedLayout.css +7 -1
  745. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  746. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  747. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  748. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  749. package/dist/cssm/components/FormField/FormField.css +4 -4
  750. package/dist/cssm/components/FormField/FormField.d.ts +2 -1
  751. package/dist/cssm/components/FormField/FormField.js +4 -2
  752. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  753. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  754. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  755. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  756. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  757. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  758. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
  759. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  760. package/dist/cssm/components/FormStatus/FormStatus.css +3 -1
  761. package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -0
  762. package/dist/cssm/components/FormStatus/FormStatus.js +4 -4
  763. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  764. package/dist/cssm/components/Gallery/Gallery.js +2 -0
  765. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  766. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  767. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  768. package/dist/cssm/components/Group/Group.css +1 -1
  769. package/dist/cssm/components/Group/Group.d.ts +5 -1
  770. package/dist/cssm/components/Group/Group.js +4 -2
  771. package/dist/cssm/components/Group/Group.js.map +1 -1
  772. package/dist/cssm/components/Header/Header.css +1 -1
  773. package/dist/cssm/components/Header/Header.js +3 -10
  774. package/dist/cssm/components/Header/Header.js.map +1 -1
  775. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  776. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  777. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  778. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  779. package/dist/cssm/components/IconButton/IconButton.js +4 -3
  780. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  781. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  782. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  783. package/dist/cssm/components/Input/Input.css +1 -1
  784. package/dist/cssm/components/Input/Input.d.ts +1 -1
  785. package/dist/cssm/components/Input/Input.js +4 -2
  786. package/dist/cssm/components/Input/Input.js.map +1 -1
  787. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  788. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  789. package/dist/cssm/components/Link/Link.css +1 -1
  790. package/dist/cssm/components/Link/Link.js.map +1 -1
  791. package/dist/cssm/components/List/List.d.ts +2 -1
  792. package/dist/cssm/components/List/List.js +1 -1
  793. package/dist/cssm/components/List/List.js.map +1 -1
  794. package/dist/cssm/components/List/ListContext.js.map +1 -1
  795. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -1
  796. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  797. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  798. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  799. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  800. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -4
  801. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  802. package/dist/cssm/components/ModalPage/ModalPage.css +5 -1
  803. package/dist/cssm/components/ModalPage/ModalPage.d.ts +13 -1
  804. package/dist/cssm/components/ModalPage/ModalPage.js +12 -10
  805. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  806. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  807. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
  808. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  809. package/dist/cssm/components/ModalRoot/ModalRoot.css +4 -1
  810. package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -18
  811. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  812. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  813. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  814. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +3 -11
  815. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  816. package/dist/cssm/components/ModalRoot/constants.js.map +1 -1
  817. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  818. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  819. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  820. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +3 -2
  821. package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -2
  822. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  823. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  824. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  825. package/dist/cssm/components/Panel/Panel.css +19 -1
  826. package/dist/cssm/components/Panel/Panel.js +4 -8
  827. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  828. package/dist/cssm/components/PanelHeader/PanelHeader.css +9 -1
  829. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -11
  830. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  831. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
  832. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  833. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  834. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  835. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  836. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  837. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  838. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +5 -1
  839. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +4 -3
  840. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  841. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  842. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
  843. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  844. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  845. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  846. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  847. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  848. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  849. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  850. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  851. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  852. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  853. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
  854. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  855. package/dist/cssm/components/PromoBanner/PromoBanner.css +3 -1
  856. package/dist/cssm/components/PromoBanner/PromoBanner.js +2 -5
  857. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  858. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  859. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  860. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  861. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  862. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  863. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  864. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  865. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  866. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  867. package/dist/cssm/components/Root/Root.js.map +1 -1
  868. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -1
  869. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -1
  870. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  871. package/dist/cssm/components/Search/Search.css +27 -1
  872. package/dist/cssm/components/Search/Search.js +6 -8
  873. package/dist/cssm/components/Search/Search.js.map +1 -1
  874. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  875. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  876. package/dist/cssm/components/Select/Select.css +1 -1
  877. package/dist/cssm/components/Select/Select.d.ts +1 -1
  878. package/dist/cssm/components/Select/Select.js.map +1 -1
  879. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  880. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -2
  881. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  882. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  883. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  884. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +34 -1
  885. package/dist/cssm/components/SimpleCell/SimpleCell.js +29 -8
  886. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  887. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  888. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  889. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -4
  890. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  891. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -5
  892. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  893. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  894. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  895. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  896. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  897. package/dist/cssm/components/SplitLayout/SplitLayout.css +7 -1
  898. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  899. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  900. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -4
  901. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  902. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +9 -1
  903. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +3 -2
  904. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +16 -15
  905. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  906. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  907. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  908. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  909. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  910. package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
  911. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  912. package/dist/cssm/components/Tappable/Tappable.d.ts +2 -1
  913. package/dist/cssm/components/Tappable/Tappable.js +3 -10
  914. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  915. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  916. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  917. package/dist/cssm/components/Textarea/Textarea.d.ts +3 -2
  918. package/dist/cssm/components/Textarea/Textarea.js +4 -2
  919. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  920. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  921. package/dist/cssm/components/Tooltip/TooltipContainer.js.map +1 -1
  922. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  923. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  924. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  925. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  926. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  927. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  928. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  929. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  930. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  931. package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
  932. package/dist/cssm/components/UsersStack/UsersStack.d.ts +7 -1
  933. package/dist/cssm/components/UsersStack/UsersStack.js +73 -31
  934. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  935. package/dist/cssm/components/View/View.js +2 -7
  936. package/dist/cssm/components/View/View.js.map +1 -1
  937. package/dist/cssm/components/View/ViewInfinite.js +1 -10
  938. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  939. package/dist/cssm/components/View/utils.js.map +1 -1
  940. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -3
  941. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  942. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  943. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  944. package/dist/cssm/helpers/avatar.js.map +1 -1
  945. package/dist/cssm/helpers/getClassName.js.map +1 -1
  946. package/dist/cssm/helpers/getScheme.js.map +1 -1
  947. package/dist/cssm/helpers/math.js.map +1 -1
  948. package/dist/cssm/helpers/scheme.js.map +1 -1
  949. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  950. package/dist/cssm/hoc/withContext.js.map +1 -1
  951. package/dist/cssm/hoc/withInsets.js.map +1 -1
  952. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  953. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  954. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  955. package/dist/cssm/hooks/useBooleanState.js.map +1 -1
  956. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
  957. package/dist/cssm/hooks/useBrowserInfo.js.map +1 -1
  958. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  959. package/dist/cssm/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  960. package/dist/{components/ChipsInput → cssm/hooks}/useChipsInput.js +0 -0
  961. package/dist/cssm/hooks/useChipsInput.js.map +1 -0
  962. package/{.cache/ts/src/components/ChipsSelect → dist/cssm/hooks}/useChipsSelect.d.ts +4 -4
  963. package/dist/{components/ChipsSelect → cssm/hooks}/useChipsSelect.js +1 -1
  964. package/dist/cssm/hooks/useChipsSelect.js.map +1 -0
  965. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  966. package/dist/cssm/hooks/useEffectDev.js.map +1 -1
  967. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  968. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  969. package/dist/cssm/hooks/useExternRef.js.map +1 -1
  970. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  971. package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
  972. package/dist/cssm/hooks/useInsets.js.map +1 -1
  973. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  974. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  975. package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
  976. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  977. package/dist/cssm/hooks/usePagination.js.map +1 -1
  978. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  979. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  980. package/dist/cssm/hooks/usePrevious.js.map +1 -1
  981. package/dist/cssm/hooks/useTimeout.js.map +1 -1
  982. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  983. package/dist/cssm/index.d.ts +5 -0
  984. package/dist/cssm/index.js +2 -0
  985. package/dist/cssm/index.js.map +1 -1
  986. package/dist/cssm/lib/SSR.js.map +1 -1
  987. package/dist/cssm/lib/accessibility.js.map +1 -1
  988. package/dist/cssm/lib/animate.js +1 -1
  989. package/dist/cssm/lib/animate.js.map +1 -1
  990. package/dist/cssm/lib/browser.js.map +1 -1
  991. package/dist/cssm/lib/calendar.js.map +1 -1
  992. package/dist/cssm/lib/callMultiple.js.map +1 -1
  993. package/dist/cssm/lib/classNames.js.map +1 -1
  994. package/dist/cssm/lib/classScopingMode.js.map +1 -1
  995. package/dist/cssm/lib/date.js.map +1 -1
  996. package/dist/cssm/lib/dom.js.map +1 -1
  997. package/dist/cssm/lib/fx.js.map +1 -1
  998. package/dist/cssm/lib/getNavId.js.map +1 -1
  999. package/dist/cssm/lib/is.js.map +1 -1
  1000. package/dist/cssm/lib/isRefObject.js.map +1 -1
  1001. package/dist/cssm/lib/jsxRuntime.d.js.map +1 -1
  1002. package/dist/cssm/lib/jsxRuntime.js.map +1 -1
  1003. package/dist/cssm/lib/offset.js.map +1 -1
  1004. package/dist/cssm/lib/platform.js.map +1 -1
  1005. package/dist/cssm/lib/polyfills.js.map +1 -1
  1006. package/dist/cssm/lib/prefixClass.js.map +1 -1
  1007. package/dist/cssm/lib/removeObjectKeys.js.map +1 -1
  1008. package/dist/cssm/lib/select.js.map +1 -1
  1009. package/dist/cssm/lib/styles.js.map +1 -1
  1010. package/dist/cssm/lib/supportEvents.js.map +1 -1
  1011. package/dist/cssm/lib/taptic.js.map +1 -1
  1012. package/dist/cssm/lib/testing.js +1 -1
  1013. package/dist/cssm/lib/testing.js.map +1 -1
  1014. package/dist/cssm/lib/touch.js +1 -1
  1015. package/dist/cssm/lib/touch.js.map +1 -1
  1016. package/dist/cssm/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1017. package/dist/cssm/lib/utils.js.map +1 -1
  1018. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1019. package/dist/cssm/styles/components.css +124 -17
  1020. package/dist/cssm/styles/themes.css +1 -1
  1021. package/dist/cssm/styles/unstable.css +1 -1
  1022. package/dist/cssm/styles/vkcom_dark.css +1 -1
  1023. package/dist/cssm/styles/vkcom_light.css +1 -1
  1024. package/dist/cssm/tokenized/index.d.ts +58 -0
  1025. package/dist/cssm/tokenized/index.js +30 -0
  1026. package/dist/cssm/tokenized/index.js.map +1 -1
  1027. package/dist/cssm/types.js.map +1 -1
  1028. package/dist/cssm/unstable/index.js.map +1 -1
  1029. package/dist/helpers/avatar.js.map +1 -1
  1030. package/dist/helpers/getClassName.js.map +1 -1
  1031. package/dist/helpers/getScheme.js.map +1 -1
  1032. package/dist/helpers/math.js.map +1 -1
  1033. package/dist/helpers/scheme.js.map +1 -1
  1034. package/dist/hoc/withAdaptivity.js.map +1 -1
  1035. package/dist/hoc/withContext.js.map +1 -1
  1036. package/dist/hoc/withInsets.js.map +1 -1
  1037. package/dist/hoc/withPlatform.js.map +1 -1
  1038. package/dist/hooks/useAdaptivity.js.map +1 -1
  1039. package/dist/hooks/useAppearance.js.map +1 -1
  1040. package/dist/hooks/useBooleanState.js.map +1 -1
  1041. package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
  1042. package/dist/hooks/useBrowserInfo.js.map +1 -1
  1043. package/dist/hooks/useCalendar.js.map +1 -1
  1044. package/dist/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  1045. package/dist/{cssm/components/ChipsInput → hooks}/useChipsInput.js +0 -0
  1046. package/dist/hooks/useChipsInput.js.map +1 -0
  1047. package/dist/{components/ChipsSelect → hooks}/useChipsSelect.d.ts +4 -4
  1048. package/dist/{cssm/components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
  1049. package/dist/hooks/useChipsSelect.js.map +1 -0
  1050. package/dist/hooks/useDateInput.js.map +1 -1
  1051. package/dist/hooks/useEffectDev.js.map +1 -1
  1052. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1053. package/dist/hooks/useEventListener.js.map +1 -1
  1054. package/dist/hooks/useExternRef.js.map +1 -1
  1055. package/dist/hooks/useFocusVisible.js.map +1 -1
  1056. package/dist/hooks/useGlobalEventListener.js.map +1 -1
  1057. package/dist/hooks/useInsets.js.map +1 -1
  1058. package/dist/hooks/useKeyboard.js.map +1 -1
  1059. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  1060. package/dist/hooks/useObjectMemo.js.map +1 -1
  1061. package/dist/hooks/useOrientationChange.js.map +1 -1
  1062. package/dist/hooks/usePagination.js.map +1 -1
  1063. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1064. package/dist/hooks/usePlatform.js.map +1 -1
  1065. package/dist/hooks/usePrevious.js.map +1 -1
  1066. package/dist/hooks/useTimeout.js.map +1 -1
  1067. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1068. package/dist/index.d.ts +5 -0
  1069. package/dist/index.js +2 -0
  1070. package/dist/index.js.map +1 -1
  1071. package/dist/lib/SSR.js.map +1 -1
  1072. package/dist/lib/accessibility.js.map +1 -1
  1073. package/dist/lib/animate.js +1 -1
  1074. package/dist/lib/animate.js.map +1 -1
  1075. package/dist/lib/browser.js.map +1 -1
  1076. package/dist/lib/calendar.js.map +1 -1
  1077. package/dist/lib/callMultiple.js.map +1 -1
  1078. package/dist/lib/classNames.js.map +1 -1
  1079. package/dist/lib/classScopingMode.js.map +1 -1
  1080. package/dist/lib/date.js.map +1 -1
  1081. package/dist/lib/dom.js.map +1 -1
  1082. package/dist/lib/fx.js.map +1 -1
  1083. package/dist/lib/getNavId.js.map +1 -1
  1084. package/dist/lib/is.js.map +1 -1
  1085. package/dist/lib/isRefObject.js.map +1 -1
  1086. package/dist/lib/jsxRuntime.d.js.map +1 -1
  1087. package/dist/lib/jsxRuntime.js.map +1 -1
  1088. package/dist/lib/offset.js.map +1 -1
  1089. package/dist/lib/platform.js.map +1 -1
  1090. package/dist/lib/polyfills.js.map +1 -1
  1091. package/dist/lib/prefixClass.js.map +1 -1
  1092. package/dist/lib/removeObjectKeys.js.map +1 -1
  1093. package/dist/lib/select.js.map +1 -1
  1094. package/dist/lib/styles.js.map +1 -1
  1095. package/dist/lib/supportEvents.js.map +1 -1
  1096. package/dist/lib/taptic.js.map +1 -1
  1097. package/dist/lib/testing.js +1 -1
  1098. package/dist/lib/testing.js.map +1 -1
  1099. package/dist/lib/touch.js +1 -1
  1100. package/dist/lib/touch.js.map +1 -1
  1101. package/dist/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1102. package/dist/lib/utils.js.map +1 -1
  1103. package/dist/lib/warnOnce.js.map +1 -1
  1104. package/dist/tokenized/index.d.ts +58 -0
  1105. package/dist/tokenized/index.js +30 -0
  1106. package/dist/tokenized/index.js.map +1 -1
  1107. package/dist/types.js.map +1 -1
  1108. package/dist/unstable/index.js.map +1 -1
  1109. package/dist/unstable.css +1 -1
  1110. package/dist/unstable.css.map +1 -1
  1111. package/dist/vkui.css +125 -18
  1112. package/dist/vkui.css.map +1 -1
  1113. package/package.json +24 -25
  1114. package/src/components/ActionSheet/ActionSheet.css +31 -59
  1115. package/src/components/ActionSheet/ActionSheet.tsx +4 -7
  1116. package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +12 -0
  1117. package/src/components/ActionSheet/ActionSheetDropdown.tsx +9 -6
  1118. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +4 -4
  1119. package/src/components/ActionSheet/Readme.md +6 -30
  1120. package/src/components/ActionSheetItem/ActionSheetItem.css +67 -120
  1121. package/src/components/ActionSheetItem/ActionSheetItem.tsx +42 -71
  1122. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +5 -5
  1123. package/src/components/Alert/Alert.css +79 -79
  1124. package/src/components/Alert/Alert.tsx +14 -14
  1125. package/src/components/Alert/Readme.md +83 -104
  1126. package/src/components/AppRoot/AppRoot.css +2 -1
  1127. package/src/components/AppRoot/AppRoot.tsx +1 -4
  1128. package/src/components/Avatar/Avatar.tsx +15 -17
  1129. package/src/components/Avatar/Readme.md +11 -11
  1130. package/src/components/BaseGallery/BaseGallery.tsx +9 -5
  1131. package/src/components/Calendar/Calendar.tsx +10 -1
  1132. package/src/components/Calendar/Readme.md +3 -0
  1133. package/src/components/CalendarDay/CalendarDay.tsx +30 -22
  1134. package/src/components/CalendarDays/CalendarDays.tsx +7 -1
  1135. package/src/components/CalendarHeader/CalendarHeader.tsx +9 -1
  1136. package/src/components/CalendarRange/Readme.md +3 -0
  1137. package/src/components/CardScroll/CardScroll.tsx +1 -2
  1138. package/src/components/Cell/CellCheckbox/CellCheckbox.css +2 -2
  1139. package/src/components/Cell/CellDragger/CellDragger.css +1 -1
  1140. package/src/components/Chip/Chip.css +1 -0
  1141. package/src/components/Chip/Chip.tsx +14 -2
  1142. package/src/components/ChipsInput/ChipsInput.css +0 -71
  1143. package/src/components/ChipsInput/ChipsInput.tsx +20 -220
  1144. package/src/components/ChipsInputBase/ChipsInputBase.css +73 -0
  1145. package/src/components/ChipsInputBase/ChipsInputBase.tsx +206 -0
  1146. package/src/components/ChipsSelect/ChipsSelect.css +8 -0
  1147. package/src/components/ChipsSelect/ChipsSelect.tsx +53 -39
  1148. package/src/components/Counter/Counter.css +13 -0
  1149. package/src/components/CustomSelect/CustomSelect.css +1 -0
  1150. package/src/components/CustomSelect/CustomSelect.tsx +2 -3
  1151. package/src/components/CustomSelect/Readme.md +8 -2
  1152. package/src/components/DateInput/DateInput.css +1 -1
  1153. package/src/components/DateInput/DateInput.tsx +6 -3
  1154. package/src/components/DateInput/Readme.md +13 -0
  1155. package/src/components/DateRangeInput/DateRangeInput.css +1 -1
  1156. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -3
  1157. package/src/components/DateRangeInput/Readme.md +13 -0
  1158. package/src/components/DropdownIcon/DropdownIcon.tsx +22 -8
  1159. package/src/components/Epic/Readme.md +10 -5
  1160. package/src/components/FixedLayout/FixedLayout.css +19 -3
  1161. package/src/components/FormField/FormField.css +58 -6
  1162. package/src/components/FormField/FormField.tsx +3 -0
  1163. package/src/components/FormItem/FormItem.css +5 -3
  1164. package/src/components/FormLayoutGroup/FormLayoutGroup.css +35 -0
  1165. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +13 -2
  1166. package/src/components/FormLayoutGroup/Readme.md +58 -48
  1167. package/src/components/FormStatus/FormStatus.css +8 -5
  1168. package/src/components/FormStatus/FormStatus.tsx +4 -8
  1169. package/src/components/FormStatus/Readme.md +4 -0
  1170. package/src/components/Gallery/Gallery.tsx +1 -0
  1171. package/src/components/Gallery/Readme.md +64 -18
  1172. package/src/components/Gradient/Readme.md +1 -1
  1173. package/src/components/Group/Group.css +11 -2
  1174. package/src/components/Group/Group.tsx +7 -1
  1175. package/src/components/Group/Readme.md +2 -2
  1176. package/src/components/Header/Header.css +10 -11
  1177. package/src/components/Header/Header.tsx +9 -8
  1178. package/src/components/HorizontalCell/Readme.md +1 -1
  1179. package/src/components/IconButton/IconButton.tsx +2 -2
  1180. package/src/components/Input/Input.css +1 -1
  1181. package/src/components/Input/Input.tsx +2 -0
  1182. package/src/components/Link/Link.css +2 -1
  1183. package/src/components/List/List.tsx +3 -4
  1184. package/src/components/ModalDismissButton/ModalDismissButton.css +6 -6
  1185. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -5
  1186. package/src/components/ModalDismissButton/Readme.md +1 -1
  1187. package/src/components/ModalPage/ModalPage.css +69 -63
  1188. package/src/components/ModalPage/ModalPage.tsx +24 -11
  1189. package/src/components/ModalPageHeader/ModalPageHeader.css +9 -12
  1190. package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -2
  1191. package/src/components/ModalRoot/ModalRoot.css +14 -2
  1192. package/src/components/ModalRoot/ModalRoot.tsx +24 -24
  1193. package/src/components/ModalRoot/ModalRootDesktop.tsx +12 -14
  1194. package/src/components/ModalRoot/Readme.md +8 -3
  1195. package/src/components/NativeSelect/NativeSelect.tsx +5 -2
  1196. package/src/components/Panel/Panel.css +54 -24
  1197. package/src/components/Panel/Panel.tsx +7 -9
  1198. package/src/components/PanelHeader/PanelHeader.css +20 -8
  1199. package/src/components/PanelHeader/PanelHeader.tsx +11 -12
  1200. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -5
  1201. package/src/components/PanelHeaderButton/PanelHeaderButton.css +8 -15
  1202. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +6 -6
  1203. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +2 -6
  1204. package/src/components/PanelHeaderContent/PanelHeaderContent.css +14 -26
  1205. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +10 -3
  1206. package/src/components/PanelHeaderContent/Readme.md +5 -1
  1207. package/src/components/PanelHeaderContext/PanelHeaderContext.css +9 -25
  1208. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +11 -7
  1209. package/src/components/PanelHeaderContext/Readme.md +85 -101
  1210. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +2 -2
  1211. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +2 -6
  1212. package/src/components/PromoBanner/PromoBanner.css +10 -22
  1213. package/src/components/PromoBanner/PromoBanner.tsx +2 -6
  1214. package/src/components/RichTooltip/Readme.md +2 -2
  1215. package/src/components/Search/Search.css +134 -48
  1216. package/src/components/Search/Search.tsx +13 -8
  1217. package/src/components/Select/Select.css +2 -2
  1218. package/src/components/SelectMimicry/Readme.md +3 -3
  1219. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -1
  1220. package/src/components/SimpleCell/Readme.md +3 -3
  1221. package/src/components/SimpleCell/SimpleCell.css +6 -1
  1222. package/src/components/SimpleCell/SimpleCell.tsx +71 -8
  1223. package/src/components/SliderSwitch/SliderSwitch.tsx +5 -5
  1224. package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -7
  1225. package/src/components/Snackbar/Readme.md +12 -3
  1226. package/src/components/SplitLayout/Readme.md +1 -1
  1227. package/src/components/SplitLayout/SplitLayout.css +8 -2
  1228. package/src/components/SubnavigationBar/SubnavigationBar.css +7 -19
  1229. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -8
  1230. package/src/components/SubnavigationButton/Readme.md +133 -116
  1231. package/src/components/SubnavigationButton/SubnavigationButton.css +95 -49
  1232. package/src/components/SubnavigationButton/SubnavigationButton.tsx +22 -18
  1233. package/src/components/TabbarItem/Readme.md +6 -1
  1234. package/src/components/Tabs/Readme.md +10 -2
  1235. package/src/components/TabsItem/TabsItem.css +9 -3
  1236. package/src/components/Tappable/Tappable.tsx +22 -22
  1237. package/src/components/Textarea/Textarea.css +1 -1
  1238. package/src/components/Textarea/Textarea.tsx +5 -2
  1239. package/src/components/Tooltip/Readme.md +9 -9
  1240. package/src/components/Touch/Readme.md +4 -4
  1241. package/src/components/UsersStack/UsersStack.css +42 -0
  1242. package/src/components/UsersStack/UsersStack.tsx +80 -18
  1243. package/src/components/View/Readme.md +5 -5
  1244. package/src/components/View/View.tsx +2 -9
  1245. package/src/components/View/ViewInfinite.tsx +14 -14
  1246. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +1 -6
  1247. package/src/{components/ChipsInput → hooks}/useChipsInput.ts +5 -8
  1248. package/src/{components/ChipsSelect → hooks}/useChipsSelect.ts +4 -4
  1249. package/src/index.ts +5 -0
  1250. package/src/lib/animate.ts +1 -1
  1251. package/src/lib/testing.ts +1 -1
  1252. package/src/lib/touch.ts +1 -1
  1253. package/src/styles/components.css +1 -0
  1254. package/src/styles/vkcom_dark.css +8 -8
  1255. package/src/styles/vkcom_light.css +34 -34
  1256. package/src/testing/utils.tsx +1 -1
  1257. package/src/tokenized/index.ts +88 -0
  1258. package/.cache/ts/src/components/UsersStack/masks.d.ts +0 -1
  1259. package/dist/cjs/components/ChipsInput/useChipsInput.js.map +0 -1
  1260. package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +0 -1
  1261. package/dist/cjs/components/UsersStack/masks.js +0 -29
  1262. package/dist/cjs/components/UsersStack/masks.js.map +0 -1
  1263. package/dist/components/ChipsInput/useChipsInput.js.map +0 -1
  1264. package/dist/components/ChipsSelect/useChipsSelect.js.map +0 -1
  1265. package/dist/components/UsersStack/masks.d.ts +0 -1
  1266. package/dist/components/UsersStack/masks.js +0 -20
  1267. package/dist/components/UsersStack/masks.js.map +0 -1
  1268. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +0 -1
  1269. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +0 -1
  1270. package/dist/cssm/components/DropdownIcon/DropdownIcon.css +0 -1
  1271. package/dist/cssm/components/UsersStack/masks.d.ts +0 -1
  1272. package/dist/cssm/components/UsersStack/masks.js +0 -20
  1273. package/dist/cssm/components/UsersStack/masks.js.map +0 -1
  1274. package/src/components/DropdownIcon/DropdownIcon.css +0 -3
  1275. package/src/components/UsersStack/masks.tsx +0 -69
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","ElementScrollController","GlobalScrollController","noop","warnOnce","useKeyboardInputTracker","useInsets","ConfigProviderContext","isRefObject","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","portalRoot","portalRootProp","disablePortal","props","isKeyboardInputActive","rootRef","useRef","useState","setPortalRoot","document","insets","useContext","appearance","noConflict","process","env","NODE_ENV","portal","current","createElement","classList","add","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","ScrollController","useMemo","content","appRoot","keyboardInput","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n /** Элемент используемый в качестве root для порталов\n * При передаче своего элемента необходимо задать ему class=\"vkui__portal-root\" и добавить в DOM\n */\n // TODO: v5.0.0 изменить тип на HTMLElement\n portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n portalRoot: portalRootProp = null,\n disablePortal,\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n classScopingMode.noConflict = noLegacyClasses;\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLDivElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === \"full\") {\n document!.documentElement.classList.add(\"vkui\");\n\n return () => {\n document!.documentElement.classList.remove(\"vkui\");\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n\nAppRoot.displayName = \"AppRoot\";\n"],"file":"AppRoot.js"}
1
+ {"version":3,"file":"AppRoot.js","names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","ElementScrollController","GlobalScrollController","noop","warnOnce","useKeyboardInputTracker","useInsets","ConfigProviderContext","isRefObject","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","portalRoot","portalRootProp","disablePortal","props","isKeyboardInputActive","rootRef","useRef","useState","setPortalRoot","document","insets","useContext","appearance","noConflict","process","env","NODE_ENV","portal","current","createElement","classList","add","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","ScrollController","useMemo","content","appRoot","keyboardInput","displayName"],"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n /** Элемент используемый в качестве root для порталов\n * При передаче своего элемента необходимо задать ему class=\"vkui__portal-root\" и добавить в DOM\n */\n // TODO: v5.0.0 изменить тип на HTMLElement\n portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n portalRoot: portalRootProp = null,\n disablePortal,\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n classScopingMode.noConflict = noLegacyClasses;\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLDivElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === \"full\") {\n document!.documentElement.classList.add(\"vkui\");\n\n return () => {\n document!.documentElement.classList.remove(\"vkui\");\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n vkuiClass={classNames(\"AppRoot\", !hasMouse && \"AppRoot--no-mouse\")}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n\nAppRoot.displayName = \"AppRoot\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRootContext.ts"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAWA,OAAO,IAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAN,CAA6C;AACzEC,EAAAA,UAAU,EAAE;AAD6D,CAA7C,CAAvB","sourcesContent":["import * as React from \"react\";\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement | null;\n embedded?: boolean;\n mode?: \"partial\" | \"embedded\" | \"full\";\n keyboardInput?: boolean;\n disablePortal?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"file":"AppRootContext.js"}
1
+ {"version":3,"file":"AppRootContext.js","names":["React","AppRootContext","createContext","portalRoot"],"sources":["../../../src/components/AppRoot/AppRootContext.ts"],"sourcesContent":["import * as React from \"react\";\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement | null;\n embedded?: boolean;\n mode?: \"partial\" | \"embedded\" | \"full\";\n keyboardInput?: boolean;\n disablePortal?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAWA,OAAO,IAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAN,CAA6C;EACzEC,UAAU,EAAE;AAD6D,CAA7C,CAAvB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppearanceProvider","useAppearance","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode","disablePortal","appearance"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,aAAT;AAQA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAIH;AAAA;;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,SAEwB,QAFxBA,SAEwB;AAAA,MADxBC,WACwB,QADxBA,WACwB;;AACxB,0BAA4CR,KAAK,CAACS,UAAN,CAAiBP,cAAjB,CAA5C;AAAA,MAAQQ,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;AAAA,MAA0BC,aAA1B,qBAA0BA,aAA1B;;AACA,MAAMC,UAAU,GAAGT,aAAa,EAAhC;AAEAI,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;AACA,SAAO,CAACC,aAAD,IAAkBF,UAAlB,IAAgCF,WAAhC,gBACLP,YAAY,CACV,oBAAC,kBAAD;AAAoB,IAAA,UAAU,EAAEY;AAAhC,KACE;AAAK,IAAA,SAAS,EAAEN;AAAhB,KAA4BD,QAA5B,CADF,CADU,EAIVI,UAJU,CADP,GAQL,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CARF;AAUD,CAnBM","sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\n\nexport interface AppRootPortalProps {\n className?: string;\n forcePortal?: boolean;\n children?: React.ReactNode;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return !disablePortal && portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"file":"AppRootPortal.js"}
1
+ {"version":3,"file":"AppRootPortal.js","names":["React","createPortal","AppRootContext","AppearanceProvider","useAppearance","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode","disablePortal","appearance"],"sources":["../../../src/components/AppRoot/AppRootPortal.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\n\nexport interface AppRootPortalProps {\n className?: string;\n forcePortal?: boolean;\n children?: React.ReactNode;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return !disablePortal && portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,aAAT;AAQA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAIH;EAAA;;EAAA,IAHxBC,QAGwB,QAHxBA,QAGwB;EAAA,IAFxBC,SAEwB,QAFxBA,SAEwB;EAAA,IADxBC,WACwB,QADxBA,WACwB;;EACxB,wBAA4CR,KAAK,CAACS,UAAN,CAAiBP,cAAjB,CAA5C;EAAA,IAAQQ,UAAR,qBAAQA,UAAR;EAAA,IAAoBC,IAApB,qBAAoBA,IAApB;EAAA,IAA0BC,aAA1B,qBAA0BA,aAA1B;;EACA,IAAMC,UAAU,GAAGT,aAAa,EAAhC;EAEAI,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;EACA,OAAO,CAACC,aAAD,IAAkBF,UAAlB,IAAgCF,WAAhC,gBACLP,YAAY,CACV,oBAAC,kBAAD;IAAoB,UAAU,EAAEY;EAAhC,GACE;IAAK,SAAS,EAAEN;EAAhB,GAA4BD,QAA5B,CADF,CADU,EAIVI,UAJU,CADP,GAQL,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CARF;AAUD,CAnBM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/ScrollContext.tsx"],"names":["React","noop","useIsomorphicLayoutEffect","clamp","useDOM","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","createContext","getScroll","x","y","scrollTo","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","body","scrollWidth","innerWidth","scrollHeight","innerHeight","current","forEach","fn","scrollY","scrollX","documentElement","clientWidth","clientHeight","parseInt","scrollController","useMemo","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLockEffect","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","useScrollLock","enabled"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\nimport { useDOM } from \"../../lib/dom\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n [window]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n [document, window]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n [elRef]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList\n) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"file":"ScrollContext.js"}
1
+ {"version":3,"file":"ScrollContext.js","names":["React","noop","useIsomorphicLayoutEffect","clamp","useDOM","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","createContext","getScroll","x","y","scrollTo","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","body","scrollWidth","innerWidth","scrollHeight","innerHeight","current","forEach","fn","scrollY","scrollX","documentElement","clientWidth","clientHeight","parseInt","scrollController","useMemo","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLockEffect","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","useScrollLock","enabled"],"sources":["../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\nimport { useDOM } from \"../../lib/dom\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n [window]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n [document, window]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n [elRef]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList\n) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AACA,SAASC,QAAT;AAOA,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,QADyC,EAEzCC,UAFyC,EAG9B;AACX,MAAIC,cAAJ;;AACA,UAAQF,QAAR;AACE,SAAKF,QAAQ,CAACK,OAAd;AACED,MAAAA,cAAc,GAAG,QAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACM,GAAd;AACEF,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACO,KAAd;AACEH,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF;AACEA,MAAAA,cAAc,GAAGF,QAAjB;AAXJ;;AAcA,yBAAgBE,cAAhB,eAAmCD,UAAnC;AACD,CApBM;AAsBP;AACA;AACA;;AACA,OAAO,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB,OAGH;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,6BAD7BN,UAC6B;AAAA,MAD7BA,UAC6B,gCADhB,OACgB;AAC7B,MAAMD,QAAQ,GAAGH,WAAW,EAA5B;AACA,MAAMW,MAAM,GAAGb,SAAS,CAAC;AACvBK,IAAAA,QAAQ,EAARA,QADuB;AAEvBC,IAAAA,UAAU,EAAVA;AAFuB,GAAD,CAAxB;AAKA,SACE,oBAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEA;AAA3C,KACGR,KAAK,CAACgB,QAAN,CAAeC,GAAf,CAAmBH,QAAnB,EAA6B,UAACI,KAAD,EAAW;AACvC,sBAAIlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOlB,KAAK,CAACoB,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAElB,gBAAgB,CACzBe,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBN,MAFkB,GAGzBT,2BAA2B,CAACC,QAAD,EAAWC,UAAX,CAHF;AADI,OAA1B,CAAP;AAOD;;AACD,WAAOU,KAAP;AACD,GAXA,CADH,CADF;AAgBD,CA1BM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n children?: React.ReactNode;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({\n children,\n appearance = \"light\",\n}: AppearanceProviderProps) => {\n const platform = usePlatform();\n const scheme = getScheme({\n platform,\n appearance,\n });\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${scheme}`,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
1
+ {"version":3,"file":"AppearanceProvider.js","names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"sources":["../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n children?: React.ReactNode;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({\n children,\n appearance = \"light\",\n}: AppearanceProviderProps) => {\n const platform = usePlatform();\n const scheme = getScheme({\n platform,\n appearance,\n });\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${scheme}`,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AACA,SAASC,QAAT;AAOA,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,QADyC,EAEzCC,UAFyC,EAG9B;EACX,IAAIC,cAAJ;;EACA,QAAQF,QAAR;IACE,KAAKF,QAAQ,CAACK,OAAd;MACED,cAAc,GAAG,QAAjB;MACA;;IACF,KAAKJ,QAAQ,CAACM,GAAd;MACEF,cAAc,GAAG,OAAjB;MACA;;IACF,KAAKJ,QAAQ,CAACO,KAAd;MACEH,cAAc,GAAG,OAAjB;MACA;;IACF;MACEA,cAAc,GAAGF,QAAjB;EAXJ;;EAcA,uBAAgBE,cAAhB,eAAmCD,UAAnC;AACD,CApBM;AAsBP;AACA;AACA;;AACA,OAAO,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB,OAGH;EAAA,IAF7BC,QAE6B,QAF7BA,QAE6B;EAAA,2BAD7BN,UAC6B;EAAA,IAD7BA,UAC6B,gCADhB,OACgB;EAC7B,IAAMD,QAAQ,GAAGH,WAAW,EAA5B;EACA,IAAMW,MAAM,GAAGb,SAAS,CAAC;IACvBK,QAAQ,EAARA,QADuB;IAEvBC,UAAU,EAAVA;EAFuB,CAAD,CAAxB;EAKA,OACE,oBAAC,yBAAD,CAA2B,QAA3B;IAAoC,KAAK,EAAEA;EAA3C,GACGR,KAAK,CAACgB,QAAN,CAAeC,GAAf,CAAmBH,QAAnB,EAA6B,UAACI,KAAD,EAAW;IACvC,kBAAIlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;MAC/B,oBAAOlB,KAAK,CAACoB,YAAN,CAAmBF,KAAnB,EAA0B;QAC/BG,SAAS,EAAElB,gBAAgB,CACzBe,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBN,MAFkB,GAGzBT,2BAA2B,CAACC,QAAD,EAAWC,UAAX,CAHF;MADI,CAA1B,CAAP;IAOD;;IACD,OAAOU,KAAP;EACD,CAXA,CADH,CADF;AAgBD,CA1BM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProviderContext.tsx"],"names":["React","Appearance","AppearanceProviderContext","createContext","LIGHT"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT;AAEA,OAAO,IAAMC,yBAAyB,gBAAGF,KAAK,CAACG,aAAN,CACvCF,UAAU,CAACG,KAD4B,CAAlC","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { Appearance } from \"../../helpers/scheme\";\n\nexport const AppearanceProviderContext = React.createContext<AppearanceType>(\n Appearance.LIGHT\n);\n"],"file":"AppearanceProviderContext.js"}
1
+ {"version":3,"file":"AppearanceProviderContext.js","names":["React","Appearance","AppearanceProviderContext","createContext","LIGHT"],"sources":["../../../src/components/AppearanceProvider/AppearanceProviderContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { Appearance } from \"../../helpers/scheme\";\n\nexport const AppearanceProviderContext = React.createContext<AppearanceType>(\n Appearance.LIGHT\n);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT;AAEA,OAAO,IAAMC,yBAAyB,gBAAGF,KAAK,CAACG,aAAN,CACvCF,UAAU,CAACG,KAD4B,CAAlC"}
@@ -88,11 +88,7 @@ export var Avatar = function Avatar(_ref) {
88
88
 
89
89
  var hasSrc = src || srcSet;
90
90
  return createScopedElement("div", _extends({}, restProps, {
91
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
92
- vkuiClass: classNames("Avatar", "Avatar--type-".concat(mode), "Avatar--sz-".concat(size), {
93
- "Avatar--shadow": shadow,
94
- "Avatar--failed": failedImage
95
- }),
91
+ vkuiClass: classNames("Avatar", "Avatar--type-".concat(mode), "Avatar--sz-".concat(size), shadow && "Avatar--shadow", failedImage && "Avatar--failed"),
96
92
  className: className,
97
93
  ref: getRootRef,
98
94
  role: hasSrc ? "img" : "presentation",
@@ -122,23 +118,14 @@ export var Avatar = function Avatar(_ref) {
122
118
  }), children && createScopedElement("div", {
123
119
  vkuiClass: "Avatar__children"
124
120
  }, children), overlayIcon && createScopedElement(Tappable, {
125
- Component: "button" // eslint-disable-next-line vkui/no-object-expression-in-arguments
126
- ,
127
- vkuiClass: classNames("Avatar__overlay", {
128
- "Avatar__overlay--visible": overlayAction === "always",
129
- "Avatar__overlay--light": overlayMode === "light",
130
- "Avatar__overlay--dark": overlayMode === "dark"
131
- }),
121
+ Component: "button",
122
+ vkuiClass: classNames("Avatar__overlay", overlayAction === "always" && "Avatar__overlay--visible", overlayMode === "light" && "Avatar__overlay--light", overlayMode === "dark" && "Avatar__overlay--dark"),
132
123
  hoverMode: "Avatar__overlay--visible",
133
124
  focusVisibleMode: "Avatar__overlay--focus-visible",
134
125
  hasActive: false,
135
126
  onClick: onClick
136
127
  }, overlayIcon), badge && createScopedElement("div", {
137
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
138
- vkuiClass: classNames("Avatar__badge", {
139
- "Avatar__badge--large": size >= 96,
140
- "Avatar__badge--shadow": badge !== "online" && badge !== "online-mobile"
141
- })
128
+ vkuiClass: classNames("Avatar__badge", size >= 96 && "Avatar__badge--large", badge !== "online" && badge !== "online-mobile" && "Avatar__badge--shadow")
142
129
  }, badge === "online" ? createScopedElement("div", {
143
130
  vkuiClass: "Avatar__badge-online"
144
131
  }, createScopedElement(Icon12Circle, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Avatar/Avatar.tsx"],"names":["React","Icon12Circle","Icon12OnlineMobile","classNames","useAdaptivity","Tappable","AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","badge","overlayIcon","overlayMode","passedOverlayAction","overlayAction","onClick","restProps","hasMouse","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon12Circle, Icon12OnlineMobile } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./Avatar.css\";\n\nexport interface AvatarProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: \"default\" | \"image\" | \"app\";\n shadow?: boolean;\n badge?: \"online\" | \"online-mobile\" | JSX.Element;\n overlayIcon?: JSX.Element;\n overlayMode?: \"dark\" | \"light\";\n /**\n * Поведение показа overlay: \"hover\" - при наведении, \"always\" - всегда\n */\n overlayAction?: \"hover\" | \"always\";\n}\n\nexport const AVATAR_DEFAULT_SIZE = 48;\nexport const AVATAR_DEFAULT_SHADOW = true;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Avatar\n */\nexport const Avatar = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size = AVATAR_DEFAULT_SIZE,\n shadow = AVATAR_DEFAULT_SHADOW,\n mode = \"default\",\n className,\n children,\n getRootRef,\n style,\n \"aria-label\": ariaLabel,\n badge,\n overlayIcon,\n overlayMode = \"light\",\n overlayAction: passedOverlayAction,\n onClick,\n ...restProps\n}: AvatarProps) => {\n const { hasMouse } = useAdaptivity();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const overlayAction = passedOverlayAction ?? (hasMouse ? \"hover\" : \"always\");\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = \"50%\";\n\n switch (mode) {\n case \"image\":\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case \"app\":\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n \"Avatar\",\n `Avatar--type-${mode}`,\n `Avatar--sz-${size}`,\n {\n \"Avatar--shadow\": shadow,\n \"Avatar--failed\": failedImage,\n }\n )}\n className={className}\n ref={getRootRef}\n role={hasSrc ? \"img\" : \"presentation\"}\n aria-label={alt || ariaLabel}\n onClick={!overlayIcon ? onClick : undefined}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc && (\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n )}\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n {overlayIcon && (\n <Tappable\n Component=\"button\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Avatar__overlay\", {\n \"Avatar__overlay--visible\": overlayAction === \"always\",\n \"Avatar__overlay--light\": overlayMode === \"light\",\n \"Avatar__overlay--dark\": overlayMode === \"dark\",\n })}\n hoverMode=\"Avatar__overlay--visible\"\n focusVisibleMode=\"Avatar__overlay--focus-visible\"\n hasActive={false}\n onClick={onClick}\n >\n {overlayIcon}\n </Tappable>\n )}\n {badge && (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Avatar__badge\", {\n \"Avatar__badge--large\": size >= 96,\n \"Avatar__badge--shadow\":\n badge !== \"online\" && badge !== \"online-mobile\",\n })}\n >\n {badge === \"online\" ? (\n <div vkuiClass=\"Avatar__badge-online\">\n <Icon12Circle\n width={size >= 72 ? 15 : 12}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : badge === \"online-mobile\" ? (\n <div vkuiClass=\"Avatar__badge-online-mobile\">\n <Icon12OnlineMobile\n width={size >= 72 ? 9 : 8}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : (\n badge\n )}\n </div>\n )}\n </div>\n );\n};\n"],"file":"Avatar.js"}
1
+ {"version":3,"file":"Avatar.js","names":["React","Icon12Circle","Icon12OnlineMobile","classNames","useAdaptivity","Tappable","AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","badge","overlayIcon","overlayMode","passedOverlayAction","overlayAction","onClick","restProps","hasMouse","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","undefined"],"sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Icon12Circle, Icon12OnlineMobile } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./Avatar.css\";\n\nexport interface AvatarProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: \"default\" | \"image\" | \"app\";\n shadow?: boolean;\n badge?: \"online\" | \"online-mobile\" | JSX.Element;\n overlayIcon?: JSX.Element;\n overlayMode?: \"dark\" | \"light\";\n /**\n * Поведение показа overlay: \"hover\" - при наведении, \"always\" - всегда\n */\n overlayAction?: \"hover\" | \"always\";\n}\n\nexport const AVATAR_DEFAULT_SIZE = 48;\nexport const AVATAR_DEFAULT_SHADOW = true;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Avatar\n */\nexport const Avatar = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size = AVATAR_DEFAULT_SIZE,\n shadow = AVATAR_DEFAULT_SHADOW,\n mode = \"default\",\n className,\n children,\n getRootRef,\n style,\n \"aria-label\": ariaLabel,\n badge,\n overlayIcon,\n overlayMode = \"light\",\n overlayAction: passedOverlayAction,\n onClick,\n ...restProps\n}: AvatarProps) => {\n const { hasMouse } = useAdaptivity();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const overlayAction = passedOverlayAction ?? (hasMouse ? \"hover\" : \"always\");\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = \"50%\";\n\n switch (mode) {\n case \"image\":\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case \"app\":\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Avatar\",\n `Avatar--type-${mode}`,\n `Avatar--sz-${size}`,\n shadow && \"Avatar--shadow\",\n failedImage && \"Avatar--failed\"\n )}\n className={className}\n ref={getRootRef}\n role={hasSrc ? \"img\" : \"presentation\"}\n aria-label={alt || ariaLabel}\n onClick={!overlayIcon ? onClick : undefined}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc && (\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n )}\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n {overlayIcon && (\n <Tappable\n Component=\"button\"\n vkuiClass={classNames(\n \"Avatar__overlay\",\n overlayAction === \"always\" && \"Avatar__overlay--visible\",\n overlayMode === \"light\" && \"Avatar__overlay--light\",\n overlayMode === \"dark\" && \"Avatar__overlay--dark\"\n )}\n hoverMode=\"Avatar__overlay--visible\"\n focusVisibleMode=\"Avatar__overlay--focus-visible\"\n hasActive={false}\n onClick={onClick}\n >\n {overlayIcon}\n </Tappable>\n )}\n {badge && (\n <div\n vkuiClass={classNames(\n \"Avatar__badge\",\n size >= 96 && \"Avatar__badge--large\",\n badge !== \"online\" &&\n badge !== \"online-mobile\" &&\n \"Avatar__badge--shadow\"\n )}\n >\n {badge === \"online\" ? (\n <div vkuiClass=\"Avatar__badge-online\">\n <Icon12Circle\n width={size >= 72 ? 15 : 12}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : badge === \"online-mobile\" ? (\n <div vkuiClass=\"Avatar__badge-online-mobile\">\n <Icon12OnlineMobile\n width={size >= 72 ? 9 : 8}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : (\n badge\n )}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,EAAuBC,kBAAvB,QAAiD,kBAAjD;AACA,SAASC,UAAT;AACA,SAASC,aAAT;AACA,SAASC,QAAT;AAuBA,OAAO,IAAMC,mBAAmB,GAAG,EAA5B;AACP,OAAO,IAAMC,qBAAqB,GAAG,IAA9B;AAEP;AACA;AACA;;AACA,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,OA2BH;EAAA,IA1BjBC,GA0BiB,QA1BjBA,GA0BiB;EAAA,IAzBjBC,WAyBiB,QAzBjBA,WAyBiB;EAAA,IAxBjBC,QAwBiB,QAxBjBA,QAwBiB;EAAA,IAvBjBC,MAuBiB,QAvBjBA,MAuBiB;EAAA,IAtBjBC,OAsBiB,QAtBjBA,OAsBiB;EAAA,IArBjBC,cAqBiB,QArBjBA,cAqBiB;EAAA,IApBjBC,KAoBiB,QApBjBA,KAoBiB;EAAA,IAnBjBC,GAmBiB,QAnBjBA,GAmBiB;EAAA,IAlBjBC,MAkBiB,QAlBjBA,MAkBiB;EAAA,IAjBjBC,MAiBiB,QAjBjBA,MAiBiB;EAAA,IAhBjBC,KAgBiB,QAhBjBA,KAgBiB;EAAA,IAfjBC,MAeiB,QAfjBA,MAeiB;EAAA,qBAdjBC,IAciB;EAAA,IAdjBA,IAciB,0BAdVf,mBAcU;EAAA,uBAbjBgB,MAaiB;EAAA,IAbjBA,MAaiB,4BAbRf,qBAaQ;EAAA,qBAZjBgB,IAYiB;EAAA,IAZjBA,IAYiB,0BAZV,SAYU;EAAA,IAXjBC,SAWiB,QAXjBA,SAWiB;EAAA,IAVjBC,QAUiB,QAVjBA,QAUiB;EAAA,IATjBC,UASiB,QATjBA,UASiB;EAAA,IARjBC,KAQiB,QARjBA,KAQiB;EAAA,IAPHC,SAOG,QAPjB,YAOiB;EAAA,IANjBC,KAMiB,QANjBA,KAMiB;EAAA,IALjBC,WAKiB,QALjBA,WAKiB;EAAA,4BAJjBC,WAIiB;EAAA,IAJjBA,WAIiB,iCAJH,OAIG;EAAA,IAHFC,mBAGE,QAHjBC,aAGiB;EAAA,IAFjBC,OAEiB,QAFjBA,OAEiB;EAAA,IADdC,SACc;;EACjB,qBAAqB/B,aAAa,EAAlC;EAAA,IAAQgC,QAAR,kBAAQA,QAAR;;EACA,sBAAsCpC,KAAK,CAACqC,QAAN,CAAe,KAAf,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EAEA,IAAMN,aAAa,GAAGD,mBAAH,aAAGA,mBAAH,cAAGA,mBAAH,GAA2BI,QAAQ,GAAG,OAAH,GAAa,QAAnE;;EAEA,IAAMI,YAAY,GAAG,SAAfA,YAAe,GAAM;IACzBD,cAAc,CAAC,IAAD,CAAd;EACD,CAFD;;EAIA,IAAME,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxBF,cAAc,CAAC,KAAD,CAAd;EACD,CAFD;;EAIA,IAAIG,YAA6B,GAAG,KAApC;;EAEA,QAAQnB,IAAR;IACE,KAAK,OAAL;MACEF,IAAI,GAAG,EAAP,KAAcqB,YAAY,GAAG,CAA7B;MACArB,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BqB,YAAY,GAAG,CAA3C;MACArB,IAAI,IAAI,EAAR,KAAeqB,YAAY,GAAG,CAA9B;MACA;;IACF,KAAK,KAAL;MACErB,IAAI,IAAI,EAAR,KAAeqB,YAAY,GAAG,CAA9B;MACArB,IAAI,GAAG,EAAP,IAAaA,IAAI,GAAG,EAApB,KAA2BqB,YAAY,GAAG,EAA1C;MACArB,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BqB,YAAY,GAAG,EAA3C;MACArB,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BqB,YAAY,GAAG,EAA3C;MACArB,IAAI,IAAI,EAAR,KAAeqB,YAAY,GAAG,EAA9B;MACA;;IACF;MACE;EAdJ;;EAiBA,IAAMC,MAAM,GAAG3B,GAAG,IAAIC,MAAtB;EAEA,OACE,wCACMkB,SADN;IAEE,SAAS,EAAEhC,UAAU,CACnB,QADmB,yBAEHoB,IAFG,wBAGLF,IAHK,GAInBC,MAAM,IAAI,gBAJS,EAKnBgB,WAAW,IAAI,gBALI,CAFvB;IASE,SAAS,EAAEd,SATb;IAUE,GAAG,EAAEE,UAVP;IAWE,IAAI,EAAEiB,MAAM,GAAG,KAAH,GAAW,cAXzB;IAYE,cAAYlC,GAAG,IAAImB,SAZrB;IAaE,OAAO,EAAE,CAACE,WAAD,GAAeI,OAAf,GAAyBU,SAbpC;IAcE,KAAK,kCAAOjB,KAAP;MAAcR,KAAK,EAAEE,IAArB;MAA2BT,MAAM,EAAES,IAAnC;MAAyCqB,YAAY,EAAZA;IAAzC;EAdP,IAgBGC,MAAM,IACL;IACE,WAAW,EAAEjC,WADf;IAEE,QAAQ,EAAEC,QAFZ;IAGE,MAAM,EAAEC,MAHV;IAIE,OAAO,EAAEC,OAJX;IAKE,cAAc,EAAEC,cALlB;IAME,KAAK,EAAEC,KANT;IAOE,GAAG,EAAEC,GAPP;IAQE,MAAM,EAAEC,MARV;IASE,MAAM,EAAEC,MATV;IAUE,KAAK,EAAEC,KAVT;IAWE,GAAG,EAAEC,MAXP;IAYE,OAAO,EAAEoB,YAZX;IAaE,MAAM,EAAEC,WAbV;IAcE,SAAS,EAAC,aAdZ;IAeE,GAAG,EAAC;EAfN,EAjBJ,EAmCGhB,QAAQ,IAAI;IAAK,SAAS,EAAC;EAAf,GAAmCA,QAAnC,CAnCf,EAoCGK,WAAW,IACV,oBAAC,QAAD;IACE,SAAS,EAAC,QADZ;IAEE,SAAS,EAAE3B,UAAU,CACnB,iBADmB,EAEnB8B,aAAa,KAAK,QAAlB,IAA8B,0BAFX,EAGnBF,WAAW,KAAK,OAAhB,IAA2B,wBAHR,EAInBA,WAAW,KAAK,MAAhB,IAA0B,uBAJP,CAFvB;IAQE,SAAS,EAAC,0BARZ;IASE,gBAAgB,EAAC,gCATnB;IAUE,SAAS,EAAE,KAVb;IAWE,OAAO,EAAEG;EAXX,GAaGJ,WAbH,CArCJ,EAqDGD,KAAK,IACJ;IACE,SAAS,EAAE1B,UAAU,CACnB,eADmB,EAEnBkB,IAAI,IAAI,EAAR,IAAc,sBAFK,EAGnBQ,KAAK,KAAK,QAAV,IACEA,KAAK,KAAK,eADZ,IAEE,uBALiB;EADvB,GASGA,KAAK,KAAK,QAAV,GACC;IAAK,SAAS,EAAC;EAAf,GACE,oBAAC,YAAD;IACE,KAAK,EAAER,IAAI,IAAI,EAAR,GAAa,EAAb,GAAkB,EAD3B;IAEE,MAAM,EAAEA,IAAI,IAAI,EAAR,GAAa,EAAb,GAAkB;EAF5B,EADF,CADD,GAOGQ,KAAK,KAAK,eAAV,GACF;IAAK,SAAS,EAAC;EAAf,GACE,oBAAC,kBAAD;IACE,KAAK,EAAER,IAAI,IAAI,EAAR,GAAa,CAAb,GAAiB,CAD1B;IAEE,MAAM,EAAEA,IAAI,IAAI,EAAR,GAAa,EAAb,GAAkB;EAF5B,EADF,CADE,GAQFQ,KAxBJ,CAtDJ,CADF;AAqFD,CAnJM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Badge/Badge.tsx"],"names":["classNames","Badge","mode","restProps"],"mappings":";;;;AACA,SAASA,UAAT;;AAOA;AACA;AACA;AACA,OAAO,IAAMC,KAAK,GAAG,SAARA,KAAQ;AAAA,uBAAGC,IAAH;AAAA,MAAGA,IAAH,0BAAU,KAAV;AAAA,MAAoBC,SAApB;;AAAA,SACnB;AAAM,IAAA,SAAS,EAAEH,UAAU,CAAC,OAAD,mBAAoBE,IAApB;AAA3B,KAA4DC,SAA5D,EADmB;AAAA,CAAd","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Badge.css\";\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLElement> {\n mode: \"new\" | \"prominent\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = \"new\", ...restProps }: BadgeProps) => (\n <span vkuiClass={classNames(\"Badge\", `Badge--${mode}`)} {...restProps} />\n);\n"],"file":"Badge.js"}
1
+ {"version":3,"file":"Badge.js","names":["classNames","Badge","mode","restProps"],"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Badge.css\";\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLElement> {\n mode: \"new\" | \"prominent\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = \"new\", ...restProps }: BadgeProps) => (\n <span vkuiClass={classNames(\"Badge\", `Badge--${mode}`)} {...restProps} />\n);\n"],"mappings":";;;;AACA,SAASA,UAAT;;AAOA;AACA;AACA;AACA,OAAO,IAAMC,KAAK,GAAG,SAARA,KAAQ;EAAA,qBAAGC,IAAH;EAAA,IAAGA,IAAH,0BAAU,KAAV;EAAA,IAAoBC,SAApB;;EAAA,OACnB;IAAM,SAAS,EAAEH,UAAU,CAAC,OAAD,mBAAoBE,IAApB;EAA3B,GAA4DC,SAA5D,EADmB;AAAA,CAAd"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"names":["React","classNames","usePlatform","IOS","hasReactNode","Icon24Chevron","Icon24DismissSubstract","Icon24DismissDark","Icon24Cancel","Tappable","IconButton","Headline","Subhead","Text","Title","Banner","mode","imageTheme","size","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","restProps","platform","HeaderTypography","SubheaderTypography","IconDismissIOS","content","Children","count"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Title } from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = \"tint\",\n imageTheme = \"dark\",\n size = \"s\",\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = \"Скрыть\",\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const HeaderTypography = size === \"m\" ? Title : Headline;\n const SubheaderTypography = size === \"m\" ? Text : Subhead;\n\n const IconDismissIOS =\n mode === \"image\" ? Icon24DismissDark : Icon24DismissSubstract;\n\n const content = (\n <React.Fragment>\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <HeaderTypography\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n weight=\"2\"\n level={size === \"m\" ? \"2\" : \"1\"}\n >\n {header}\n </HeaderTypography>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"span\" vkuiClass=\"Banner__subheader\">\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && <Text vkuiClass=\"Banner__text\">{text}</Text>}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n </React.Fragment>\n );\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n \"Banner\",\n platform === IOS && \"Banner--ios\",\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n mode === \"image\" && imageTheme === \"dark\" && \"Banner--inverted\"\n )}\n >\n {asideMode === \"expand\" ? (\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n role=\"button\"\n >\n {content}\n\n <div vkuiClass=\"Banner__aside\">\n <Icon24Chevron />\n </div>\n </Tappable>\n ) : (\n <div vkuiClass=\"Banner__in\">\n {content}\n\n {asideMode === \"dismiss\" && (\n <div vkuiClass=\"Banner__aside\">\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === IOS ? <IconDismissIOS /> : <Icon24Cancel />}\n </IconButton>\n </div>\n )}\n </div>\n )}\n </section>\n );\n};\n"],"file":"Banner.js"}
1
+ {"version":3,"file":"Banner.js","names":["React","classNames","usePlatform","IOS","hasReactNode","Icon24Chevron","Icon24DismissSubstract","Icon24DismissDark","Icon24Cancel","Tappable","IconButton","Headline","Subhead","Text","Title","Banner","mode","imageTheme","size","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","restProps","platform","HeaderTypography","SubheaderTypography","IconDismissIOS","content","Children","count"],"sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Title } from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = \"tint\",\n imageTheme = \"dark\",\n size = \"s\",\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = \"Скрыть\",\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const HeaderTypography = size === \"m\" ? Title : Headline;\n const SubheaderTypography = size === \"m\" ? Text : Subhead;\n\n const IconDismissIOS =\n mode === \"image\" ? Icon24DismissDark : Icon24DismissSubstract;\n\n const content = (\n <React.Fragment>\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <HeaderTypography\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n weight=\"2\"\n level={size === \"m\" ? \"2\" : \"1\"}\n >\n {header}\n </HeaderTypography>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"span\" vkuiClass=\"Banner__subheader\">\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && <Text vkuiClass=\"Banner__text\">{text}</Text>}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n </React.Fragment>\n );\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n \"Banner\",\n platform === IOS && \"Banner--ios\",\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n mode === \"image\" && imageTheme === \"dark\" && \"Banner--inverted\"\n )}\n >\n {asideMode === \"expand\" ? (\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n role=\"button\"\n >\n {content}\n\n <div vkuiClass=\"Banner__aside\">\n <Icon24Chevron />\n </div>\n </Tappable>\n ) : (\n <div vkuiClass=\"Banner__in\">\n {content}\n\n {asideMode === \"dismiss\" && (\n <div vkuiClass=\"Banner__aside\">\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === IOS ? <IconDismissIOS /> : <Icon24Cancel />}\n </IconButton>\n </div>\n )}\n </div>\n )}\n </section>\n );\n};\n"],"mappings":"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"}
@@ -32,7 +32,7 @@ var SHIFT_DEFAULT_STATE = {
32
32
  indent: 0
33
33
  };
34
34
  export var BaseGallery = function BaseGallery(_ref) {
35
- var _layoutState$current$8;
35
+ var _layoutState$current$9;
36
36
 
37
37
  var _ref$bullets = _ref.bullets,
38
38
  bullets = _ref$bullets === void 0 ? false : _ref$bullets,
@@ -141,7 +141,7 @@ export var BaseGallery = function BaseGallery(_ref) {
141
141
  };
142
142
 
143
143
  var initializeSlides = function initializeSlides() {
144
- var _React$Children$map, _rootRef$current$offs, _rootRef$current, _viewportRef$current$, _viewportRef$current;
144
+ var _React$Children$map, _rootRef$current$offs, _rootRef$current, _viewportRef$current$, _viewportRef$current, _layoutState$current$7, _localSlides$slideInd;
145
145
 
146
146
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
147
147
  var localSlides = (_React$Children$map = React.Children.map(children, function (_item, i) {
@@ -154,24 +154,25 @@ export var BaseGallery = function BaseGallery(_ref) {
154
154
  };
155
155
  })) !== null && _React$Children$map !== void 0 ? _React$Children$map : [];
156
156
  var localContainerWidth = (_rootRef$current$offs = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.offsetWidth) !== null && _rootRef$current$offs !== void 0 ? _rootRef$current$offs : 0;
157
- var localviewportOffsetWidth = (_viewportRef$current$ = (_viewportRef$current = viewportRef.current) === null || _viewportRef$current === void 0 ? void 0 : _viewportRef$current.offsetWidth) !== null && _viewportRef$current$ !== void 0 ? _viewportRef$current$ : 0;
157
+ var localViewportOffsetWidth = (_viewportRef$current$ = (_viewportRef$current = viewportRef.current) === null || _viewportRef$current === void 0 ? void 0 : _viewportRef$current.offsetWidth) !== null && _viewportRef$current$ !== void 0 ? _viewportRef$current$ : 0;
158
158
  var localLayerWidth = localSlides.reduce(function (val, slide) {
159
159
  return slide.width + val;
160
160
  }, 0);
161
+ var adjustShiftX = localSlides.length <= layoutState.current.slides.length || ((_layoutState$current$7 = layoutState.current.slides[slideIndex]) === null || _layoutState$current$7 === void 0 ? void 0 : _layoutState$current$7.coordX) !== ((_localSlides$slideInd = localSlides[slideIndex]) === null || _localSlides$slideInd === void 0 ? void 0 : _localSlides$slideInd.coordX);
161
162
  layoutState.current = {
162
163
  containerWidth: localContainerWidth,
163
- viewportOffsetWidth: localviewportOffsetWidth,
164
+ viewportOffsetWidth: localViewportOffsetWidth,
164
165
  layerWidth: localLayerWidth,
165
166
  max: calcMax({
166
167
  slides: localSlides,
167
- viewportOffsetWidth: localviewportOffsetWidth,
168
+ viewportOffsetWidth: localViewportOffsetWidth,
168
169
  isCenterWithCustomWidth: isCenterWithCustomWidth
169
170
  }),
170
171
  min: calcMin({
171
172
  containerWidth: localContainerWidth,
172
173
  layerWidth: localLayerWidth,
173
174
  slides: localSlides,
174
- viewportOffsetWidth: localviewportOffsetWidth,
175
+ viewportOffsetWidth: localViewportOffsetWidth,
175
176
  isCenterWithCustomWidth: isCenterWithCustomWidth,
176
177
  align: align
177
178
  }),
@@ -182,7 +183,7 @@ export var BaseGallery = function BaseGallery(_ref) {
182
183
  var _options$animation;
183
184
 
184
185
  return _objectSpread(_objectSpread({}, prevState), {}, {
185
- shiftX: calculateIndent(slideIndex),
186
+ shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,
186
187
  animation: (_options$animation = options.animation) !== null && _options$animation !== void 0 ? _options$animation : prevState.shiftX === validateIndent(prevState.shiftX)
187
188
  });
188
189
  });
@@ -229,10 +230,10 @@ export var BaseGallery = function BaseGallery(_ref) {
229
230
 
230
231
 
231
232
  var getTarget = function getTarget(e) {
232
- var _layoutState$current$7;
233
+ var _layoutState$current$8;
233
234
 
234
235
  var expectDeltaX = shiftState.deltaX / e.duration * 240 * 0.6;
235
- var shift = shiftState.shiftX + shiftState.deltaX + expectDeltaX - ((_layoutState$current$7 = layoutState.current.max) !== null && _layoutState$current$7 !== void 0 ? _layoutState$current$7 : 0);
236
+ var shift = shiftState.shiftX + shiftState.deltaX + expectDeltaX - ((_layoutState$current$8 = layoutState.current.max) !== null && _layoutState$current$8 !== void 0 ? _layoutState$current$8 : 0);
236
237
  var direction = shiftState.deltaX < 0 ? 1 : -1; // Находим ближайшую границу слайда к текущему отступу
237
238
 
238
239
  var targetIndex = layoutState.current.slides.reduce(function (val, item, index) {
@@ -326,7 +327,7 @@ export var BaseGallery = function BaseGallery(_ref) {
326
327
 
327
328
  var canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;
328
329
  var canSlideRight = !layoutState.current.isFullyVisible && ( // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side
329
- align === "left" && layoutState.current.containerWidth - shiftState.shiftX < ((_layoutState$current$8 = layoutState.current.layerWidth) !== null && _layoutState$current$8 !== void 0 ? _layoutState$current$8 : 0) || // otherwise we need to check current slide index (align = right or align = center)
330
+ align === "left" && layoutState.current.containerWidth - shiftState.shiftX < ((_layoutState$current$9 = layoutState.current.layerWidth) !== null && _layoutState$current$9 !== void 0 ? _layoutState$current$9 : 0) || // otherwise we need to check current slide index (align = right or align = center)
330
331
  align !== "left" && slideIndex < layoutState.current.slides.length - 1);
331
332
  return createScopedElement("div", _extends({}, restProps, {
332
333
  vkuiClass: classNames("Gallery", "Gallery--".concat(align), shiftState.dragging && "Gallery--dragging", slideWidth === "custom" && "Gallery--custom-width"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"names":["React","classNames","Touch","HorizontalScrollArrow","useExternRef","useDOM","useAdaptivity","useIsomorphicLayoutEffect","useGlobalEventListener","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","onEndProp","onEnd","align","showArrows","getRef","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasMouse","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localviewportOffsetWidth","localLayerWidth","reduce","val","slide","prevState","onResize","slideLeft","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","el"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HorizontalScrollArrow } from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { calcMax, calcMin } from \"./helpers\";\nimport {\n BaseGalleryProps,\n GallerySlidesState,\n LayoutState,\n ShiftingState,\n} from \"./types\";\nimport \"./BaseGallery.css\";\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = \"100%\",\n slideIndex = 0,\n isDraggable = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n onEnd: onEndProp,\n align = \"left\",\n showArrows,\n getRef,\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] =\n React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const { hasMouse } = useAdaptivity();\n\n const isCenterWithCustomWidth = slideWidth === \"custom\" && align === \"center\";\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(\n children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localviewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localviewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localviewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localviewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: calculateIndent(slideIndex),\n animation:\n options.animation ??\n prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, \"resize\", onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = () => {\n onChange?.(slideIndex - 1);\n onPrevClick?.();\n };\n\n const slideRight = () => {\n onChange?.(slideIndex + 1);\n onNextClick?.();\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX +\n shiftState.deltaX +\n expectDeltaX -\n (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(\n layoutState.current.slides[val].coordX + shift\n );\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (\n Math.abs(shiftState.deltaX) >\n layoutState.current.slides[targetSlide].width * 0.05\n ) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = () => {\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggable && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n // TODO исправить в рамках issue #2698\n onDragStart?.(e);\n\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n\n // TODO исправить в рамках issue #2698\n onEndProp?.({ targetIndex });\n };\n\n const indent = shiftState.dragging\n ? calculateDragIndent()\n : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft =\n !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < layoutState.current.slides.length - 1));\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Gallery\",\n `Gallery--${align}`,\n shiftState.dragging && \"Gallery--dragging\",\n slideWidth === \"custom\" && \"Gallery--custom-width\"\n )}\n ref={rootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n vkuiClass={classNames(\n \"Gallery__bullet\",\n index === slideIndex && \"Gallery__bullet--active\"\n )}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={slideLeft} />\n )}\n {showArrows && hasMouse && canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={slideRight} />\n )}\n </div>\n );\n};\n"],"file":"BaseGallery.js"}
1
+ {"version":3,"file":"BaseGallery.js","names":["React","classNames","Touch","HorizontalScrollArrow","useExternRef","useDOM","useAdaptivity","useIsomorphicLayoutEffect","useGlobalEventListener","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","onEndProp","onEnd","align","showArrows","getRef","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasMouse","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","prevState","onResize","slideLeft","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","el"],"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HorizontalScrollArrow } from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { calcMax, calcMin } from \"./helpers\";\nimport {\n BaseGalleryProps,\n GallerySlidesState,\n LayoutState,\n ShiftingState,\n} from \"./types\";\nimport \"./BaseGallery.css\";\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = \"100%\",\n slideIndex = 0,\n isDraggable = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n onEnd: onEndProp,\n align = \"left\",\n showArrows,\n getRef,\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] =\n React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const { hasMouse } = useAdaptivity();\n\n const isCenterWithCustomWidth = slideWidth === \"custom\" && align === \"center\";\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(\n children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !==\n localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation:\n options.animation ??\n prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, \"resize\", onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = () => {\n onChange?.(slideIndex - 1);\n onPrevClick?.();\n };\n\n const slideRight = () => {\n onChange?.(slideIndex + 1);\n onNextClick?.();\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX +\n shiftState.deltaX +\n expectDeltaX -\n (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(\n layoutState.current.slides[val].coordX + shift\n );\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (\n Math.abs(shiftState.deltaX) >\n layoutState.current.slides[targetSlide].width * 0.05\n ) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = () => {\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggable && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n // TODO исправить в рамках issue #2698\n onDragStart?.(e);\n\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n\n // TODO исправить в рамках issue #2698\n onEndProp?.({ targetIndex });\n };\n\n const indent = shiftState.dragging\n ? calculateDragIndent()\n : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft =\n !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < layoutState.current.slides.length - 1));\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Gallery\",\n `Gallery--${align}`,\n shiftState.dragging && \"Gallery--dragging\",\n slideWidth === \"custom\" && \"Gallery--custom-width\"\n )}\n ref={rootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n vkuiClass={classNames(\n \"Gallery__bullet\",\n index === slideIndex && \"Gallery__bullet--active\"\n )}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={slideLeft} />\n )}\n {showArrows && hasMouse && canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={slideRight} />\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,KAAT;AACA,SAASC,qBAAT;AACA,SAASC,YAAT;AACA,SAASC,MAAT;AACA,SAASC,aAAT;AACA,SAASC,yBAAT;AACA,SAASC,sBAAT;AACA,SAASC,OAAT,EAAkBC,OAAlB;AASA,IAAMC,kBAAkB,GAAG,IAA3B;AAEA,IAAMC,oBAAoB,GAAG;EAC3BC,cAAc,EAAE,CADW;EAE3BC,mBAAmB,EAAE,CAFM;EAG3BC,UAAU,EAAE,CAHe;EAI3BC,GAAG,EAAE,CAJsB;EAK3BC,GAAG,EAAE,CALsB;EAM3BC,MAAM,EAAE,EANmB;EAO3BC,cAAc,EAAE;AAPW,CAA7B;AAUA,IAAMC,mBAAmB,GAAG;EAC1BC,SAAS,EAAEC,SADe;EAE1BC,MAAM,EAAE,CAFkB;EAG1BC,QAAQ,EAAE,KAHgB;EAI1BC,MAAM,EAAE,CAJkB;EAK1BC,MAAM,EAAE;AALkB,CAA5B;AAQA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,OAiBH;EAAA;;EAAA,wBAhBtBC,OAgBsB;EAAA,IAhBtBA,OAgBsB,6BAhBZ,KAgBY;EAAA,IAftBC,UAesB,QAftBA,UAesB;EAAA,IAdtBC,QAcsB,QAdtBA,QAcsB;EAAA,2BAbtBC,UAasB;EAAA,IAbtBA,UAasB,gCAbT,MAaS;EAAA,2BAZtBC,UAYsB;EAAA,IAZtBA,UAYsB,gCAZT,CAYS;EAAA,4BAXtBC,WAWsB;EAAA,IAXtBA,WAWsB,iCAXR,IAWQ;EAAA,IAVtBC,WAUsB,QAVtBA,WAUsB;EAAA,IATtBC,SASsB,QATtBA,SASsB;EAAA,IARtBC,QAQsB,QARtBA,QAQsB;EAAA,IAPtBC,WAOsB,QAPtBA,WAOsB;EAAA,IANtBC,WAMsB,QANtBA,WAMsB;EAAA,IALfC,SAKe,QALtBC,KAKsB;EAAA,sBAJtBC,KAIsB;EAAA,IAJtBA,KAIsB,2BAJd,MAIc;EAAA,IAHtBC,UAGsB,QAHtBA,UAGsB;EAAA,IAFtBC,MAEsB,QAFtBA,MAEsB;EAAA,IADnBC,SACmB;;EACtB,IAAMC,WAAW,GAAG7C,KAAK,CAAC8C,MAAN,CAAoD,EAApD,CAApB;EACA,IAAMC,WAAW,GAAG/C,KAAK,CAAC8C,MAAN,CAA0BlC,oBAA1B,CAApB;;EACA,sBACEZ,KAAK,CAACgD,QAAN,CAA8B5B,mBAA9B,CADF;EAAA;EAAA,IAAO6B,UAAP;EAAA,IAAmBC,aAAnB;;EAGA,IAAMC,OAAO,GAAG/C,YAAY,CAACyB,UAAD,CAA5B;EACA,IAAMuB,WAAW,GAAGhD,YAAY,CAACuC,MAAD,CAAhC;;EAEA,cAAmBtC,MAAM,EAAzB;EAAA,IAAQgD,MAAR,WAAQA,MAAR;;EACA,qBAAqB/C,aAAa,EAAlC;EAAA,IAAQgD,QAAR,kBAAQA,QAAR;;EAEA,IAAMC,uBAAuB,GAAGxB,UAAU,KAAK,QAAf,IAA2BU,KAAK,KAAK,QAArE;;EAEA,IAAMe,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAmB;IAAA;;IACxC,IAAMC,QAAQ,4BAAGX,WAAW,CAACY,OAAZ,CAAoB1C,GAAvB,yEAA8B,CAA5C;IACA,IAAM2C,QAAQ,6BAAGb,WAAW,CAACY,OAAZ,CAAoB3C,GAAvB,2EAA8B,CAA5C;;IAEA,IAAIyC,KAAK,GAAGG,QAAZ,EAAsB;MACpB,OAAOA,QAAP;IACD,CAFD,MAEO,IAAIH,KAAK,GAAGC,QAAZ,EAAsB;MAC3B,OAAOA,QAAP;IACD;;IAED,OAAOD,KAAP;EACD,CAXD;EAaA;AACF;AACA;;;EACE,IAAMI,eAAe,GAAG,SAAlBA,eAAkB,CAACC,WAAD,EAAyB;IAAA;;IAC/C,IAAIf,WAAW,CAACY,OAAZ,CAAoBxC,cAAxB,EAAwC;MACtC,OAAO,CAAP;IACD;;IAED,IAAM4C,WAAW,GAAG,0BAAAhB,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,0EAA4B8C,MAA5B,GAChBjB,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2B4C,WAA3B,CADgB,GAEhB,IAFJ;;IAIA,IAAIC,WAAJ,EAAiB;MACf,IAAQE,MAAR,GAA0BF,WAA1B,CAAQE,MAAR;MAAA,IAAgBC,KAAhB,GAA0BH,WAA1B,CAAgBG,KAAhB;;MAEA,IAAIX,uBAAJ,EAA6B;QAAA;;QAC3B,IAAMY,aAAa,6BAAGpB,WAAW,CAACY,OAAZ,CAAoB7C,mBAAvB,2EAA8C,CAAjE;QACA,OAAOqD,aAAa,GAAG,CAAhB,GAAoBF,MAApB,GAA6BC,KAAK,GAAG,CAA5C;MACD;;MAED,OAAOV,cAAc,CAAC,CAAC,CAAD,GAAKS,MAAN,CAArB;IACD;;IAED,OAAO,CAAP;EACD,CArBD;EAuBA;AACF;AACA;;;EACE,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;IAAA;;IAChC,IAAMV,QAAQ,6BAAGX,WAAW,CAACY,OAAZ,CAAoB1C,GAAvB,2EAA8B,CAA5C;IACA,IAAM2C,QAAQ,6BAAGb,WAAW,CAACY,OAAZ,CAAoB3C,GAAvB,2EAA8B,CAA5C;IACA,IAAMU,MAAM,GAAGuB,UAAU,CAAC1B,MAAX,GAAoB0B,UAAU,CAACxB,MAA9C;;IAEA,IAAIC,MAAM,GAAGgC,QAAb,EAAuB;MACrB,OAAOA,QAAQ,GAAGW,MAAM,CAAC,CAAC3C,MAAM,GAAGgC,QAAV,IAAsB,CAAvB,CAAxB;IACD,CAFD,MAEO,IAAIhC,MAAM,GAAGkC,QAAb,EAAuB;MAC5B,OAAOA,QAAQ,GAAGS,MAAM,CAAC,CAAC3C,MAAM,GAAGkC,QAAV,IAAsB,CAAvB,CAAxB;IACD;;IAED,OAAOlC,MAAP;EACD,CAZD;;EAcA,IAAM4C,gBAAgB,GAAG,SAAnBA,gBAAmB,GAA2C;IAAA;;IAAA,IAA1CC,OAA0C,uEAAP,EAAO;IAClE,IAAMC,WAAW,0BACfxE,KAAK,CAACyE,QAAN,CAAeC,GAAf,CACE5C,QADF,EAEE,UAAC6C,KAAD,EAAyBC,CAAzB,EAA2D;MAAA;;MACzD,IAAMC,IAAI,GAAGhC,WAAW,CAACc,OAAZ,iBAA6BiB,CAA7B,EAAb;MACA,OAAO;QACLX,MAAM,sBAAEY,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEC,UAAR,+DAAsB,CADvB;QAELZ,KAAK,uBAAEW,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEE,WAAR,iEAAuB;MAFvB,CAAP;IAID,CARH,CADe,qEAUV,EAVP;IAYA,IAAMC,mBAAmB,gDAAG7B,OAAO,CAACQ,OAAX,qDAAG,iBAAiBoB,WAApB,yEAAmC,CAA5D;IACA,IAAME,wBAAwB,oDAAG7B,WAAW,CAACO,OAAf,yDAAG,qBAAqBoB,WAAxB,yEAAuC,CAArE;IACA,IAAMG,eAAe,GAAGV,WAAW,CAACW,MAAZ,CACtB,UAACC,GAAD,EAAcC,KAAd;MAAA,OAA4CA,KAAK,CAACnB,KAAN,GAAckB,GAA1D;IAAA,CADsB,EAEtB,CAFsB,CAAxB;IAIA,IAAME,YAAY,GAChBd,WAAW,CAACR,MAAZ,IAAsBjB,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2B8C,MAAjD,IACA,2BAAAjB,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2Bc,UAA3B,mFAAwCiC,MAAxC,gCACEO,WAAW,CAACxC,UAAD,CADb,0DACE,sBAAyBiC,MAD3B,CAFF;IAKAlB,WAAW,CAACY,OAAZ,GAAsB;MACpB9C,cAAc,EAAEmE,mBADI;MAEpBlE,mBAAmB,EAAEmE,wBAFD;MAGpBlE,UAAU,EAAEmE,eAHQ;MAIpBjE,GAAG,EAAER,OAAO,CAAC;QACXS,MAAM,EAAEsD,WADG;QAEX1D,mBAAmB,EAAEmE,wBAFV;QAGX1B,uBAAuB,EAAvBA;MAHW,CAAD,CAJQ;MASpBvC,GAAG,EAAEN,OAAO,CAAC;QACXG,cAAc,EAAEmE,mBADL;QAEXjE,UAAU,EAAEmE,eAFD;QAGXhE,MAAM,EAAEsD,WAHG;QAIX1D,mBAAmB,EAAEmE,wBAJV;QAKX1B,uBAAuB,EAAvBA,uBALW;QAMXd,KAAK,EAALA;MANW,CAAD,CATQ;MAiBpBvB,MAAM,EAAEsD,WAjBY;MAkBpBrD,cAAc,EAAE+D,eAAe,IAAIF;IAlBf,CAAtB;IAqBA9B,aAAa,CAAC,UAACqC,SAAD;MAAA;;MAAA,uCACTA,SADS;QAEZhE,MAAM,EAAE+D,YAAY,GAAGzB,eAAe,CAAC7B,UAAD,CAAlB,GAAiCuD,SAAS,CAAChE,MAFnD;QAGZF,SAAS,wBACPkD,OAAO,CAAClD,SADD,mEAEPkE,SAAS,CAAChE,MAAV,KAAqBiC,cAAc,CAAC+B,SAAS,CAAChE,MAAX;MALzB;IAAA,CAAD,CAAb;EAOD,CApDD;;EAsDA,IAAMiE,QAAQ,GAAG,SAAXA,QAAW,GAAM;IACrB,IAAIvC,UAAU,CAAC5B,SAAX,KAAyBC,SAA7B,EAAwC;MACtCgD,gBAAgB,CAAC;QAAEjD,SAAS,EAAE;MAAb,CAAD,CAAhB;IACD;EACF,CAJD;;EAMAb,sBAAsB,CAAC6C,MAAD,EAAS,QAAT,EAAmBmC,QAAnB,CAAtB;EAEAjF,yBAAyB,CAAC,YAAM;IAC9B+D,gBAAgB,CAAC;MAAEjD,SAAS,EAAE;IAAb,CAAD,CAAhB;EACD,CAFwB,EAEtB,CAACS,QAAD,EAAWW,KAAX,EAAkBV,UAAlB,CAFsB,CAAzB;EAIAxB,yBAAyB,CAAC,YAAM;IAC9B,IAAI0C,UAAU,CAAC5B,SAAX,KAAyBC,SAA7B,EAAwC;MACtC4B,aAAa,CAAC,UAACqC,SAAD;QAAA,uCACTA,SADS;UAEZlE,SAAS,EAAE,IAFC;UAGZI,MAAM,EAAE,CAHI;UAIZF,MAAM,EAAEsC,eAAe,CAAC7B,UAAD,aAACA,UAAD,cAACA,UAAD,GAAe,CAAf;QAJX;MAAA,CAAD,CAAb;IAMD;EACF,CATwB,EAStB,CAACA,UAAD,CATsB,CAAzB;;EAWA,IAAMyD,SAAS,GAAG,SAAZA,SAAY,GAAM;IACtBrD,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGJ,UAAU,GAAG,CAAhB,CAAR;IACAK,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW;EACZ,CAHD;;EAKA,IAAMqD,UAAU,GAAG,SAAbA,UAAa,GAAM;IACvBtD,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGJ,UAAU,GAAG,CAAhB,CAAR;IACAM,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW;EACZ,CAHD;EAKA;AACF;AACA;;;EACE,IAAMqD,SAAS,GAAG,SAAZA,SAAY,CAACC,CAAD,EAAmB;IAAA;;IACnC,IAAMC,YAAY,GAAI5C,UAAU,CAACxB,MAAX,GAAoBmE,CAAC,CAACE,QAAvB,GAAmC,GAAnC,GAAyC,GAA9D;IACA,IAAMC,KAAK,GACT9C,UAAU,CAAC1B,MAAX,GACA0B,UAAU,CAACxB,MADX,GAEAoE,YAFA,8BAGC9C,WAAW,CAACY,OAAZ,CAAoB1C,GAHrB,2EAG4B,CAH5B,CADF;IAKA,IAAM+E,SAAS,GAAG/C,UAAU,CAACxB,MAAX,GAAoB,CAApB,GAAwB,CAAxB,GAA4B,CAAC,CAA/C,CAPmC,CASnC;;IACA,IAAIqC,WAAW,GAAGf,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2BiE,MAA3B,CAChB,UAACC,GAAD,EAAca,IAAd,EAAwCC,KAAxC,EAA0D;MACxD,IAAMC,aAAa,GAAGC,IAAI,CAACC,GAAL,CACpBtD,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2BkE,GAA3B,EAAgCnB,MAAhC,GAAyC8B,KADrB,CAAtB;MAGA,IAAMO,YAAY,GAAGF,IAAI,CAACC,GAAL,CAASJ,IAAI,CAAChC,MAAL,GAAc8B,KAAvB,CAArB;MAEA,OAAOI,aAAa,GAAGG,YAAhB,GAA+BlB,GAA/B,GAAqCc,KAA5C;IACD,CARe,EAShBlE,UATgB,CAAlB;;IAYA,IAAI8B,WAAW,KAAK9B,UAApB,EAAgC;MAC9B,IAAI+B,WAAW,GAAG/B,UAAU,GAAGgE,SAA/B;;MAEA,IAAIjC,WAAW,IAAI,CAAf,IAAoBA,WAAW,GAAGhB,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2B8C,MAAjE,EAAyE;QACvE,IACEoC,IAAI,CAACC,GAAL,CAASpD,UAAU,CAACxB,MAApB,IACAsB,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2B6C,WAA3B,EAAwCG,KAAxC,GAAgD,IAFlD,EAGE;UACAJ,WAAW,GAAGC,WAAd;QACD;MACF;IACF;;IAED,OAAOD,WAAP;EACD,CApCD;;EAsCA,IAAMyC,OAAO,GAAG,SAAVA,OAAU,GAAM;IACpBrD,aAAa,CAAC,UAACqC,SAAD;MAAA,uCAAqBA,SAArB;QAAgClE,SAAS,EAAE;MAA3C;IAAA,CAAD,CAAb;EACD,CAFD;;EAIA,IAAMmF,OAAO,GAAG,SAAVA,OAAU,CAACZ,CAAD,EAAmB;IACjC,IAAI3D,WAAW,IAAI,CAACc,WAAW,CAACY,OAAZ,CAAoBxC,cAAxC,EAAwD;MACtDyE,CAAC,CAACa,aAAF,CAAgBC,cAAhB;;MAEA,IAAId,CAAC,CAACe,QAAN,EAAgB;QACd;QACAzE,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAG0D,CAAH,CAAX;;QAEA,IAAI3C,UAAU,CAACxB,MAAX,KAAsBmE,CAAC,CAACrE,MAA5B,EAAoC;UAClC2B,aAAa,CAAC,UAACqC,SAAD;YAAA,uCACTA,SADS;cAEZ9D,MAAM,EAAEmE,CAAC,CAACrE,MAFE;cAGZC,QAAQ,EAAEoE,CAAC,CAACe;YAHA;UAAA,CAAD,CAAb;QAKD;MACF;IACF;EACF,CAjBD;;EAmBA,IAAMnE,KAAK,GAAG,SAARA,KAAQ,CAACoD,CAAD,EAAmB;IAC/B,IAAM9B,WAAW,GAAG8B,CAAC,CAACgB,OAAF,GAAYjB,SAAS,CAACC,CAAD,CAArB,GAA2B5D,UAA3B,aAA2BA,UAA3B,cAA2BA,UAA3B,GAAyC,CAA7D;IACAG,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAGyD,CAAH,CAAT;IAEA,IAAMiB,cAAsC,GAAG;MAC7CxF,SAAS,EAAE,IADkC;MAE7CG,QAAQ,EAAE,KAFmC;MAG7CC,MAAM,EAAE;IAHqC,CAA/C;IAMA,IAAMqF,WAAW,GAAG1C,mBAAmB,EAAvC;;IACA,IAAIN,WAAW,KAAK9B,UAApB,EAAgC;MAC9B;MACA6E,cAAc,CAACtF,MAAf,GAAwBuF,WAAxB;IACD;;IAED5D,aAAa,CAAC,UAACqC,SAAD;MAAA,uCAAqBA,SAArB,GAAmCsB,cAAnC;IAAA,CAAD,CAAb;;IACA,IAAI/C,WAAW,KAAK9B,UAApB,EAAgC;MAC9BI,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG0B,WAAH,CAAR;IACD,CAnB8B,CAqB/B;;;IACAvB,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAG;MAAEuB,WAAW,EAAXA;IAAF,CAAH,CAAT;EACD,CAvBD;;EAyBA,IAAMpC,MAAM,GAAGuB,UAAU,CAACzB,QAAX,GACX4C,mBAAmB,EADR,GAEXnB,UAAU,CAAC1B,MAFf;EAIA,IAAMwF,UAAU,GAAG;IACjBC,eAAe,uBAAgBtF,MAAhB,QADE;IAEjBuF,SAAS,uBAAgBvF,MAAhB,QAFQ;IAGjBwF,gBAAgB,EAAEjE,UAAU,CAAC5B,SAAX,+BACOV,kBADP,qCAEd,MALa;IAMjBwG,UAAU,EAAElE,UAAU,CAAC5B,SAAX,uBACKV,kBADL,qCAER;EARa,CAAnB;;EAWA,IAAMyG,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAkCrF,UAAlC,EAAyD;IAC3Ea,WAAW,CAACc,OAAZ,iBAA6B3B,UAA7B,KAA6CqF,QAA7C;EACD,CAFD,CArQsB,CAyQtB;;;EACA,IAAMC,YAAY,GAChB,CAACvE,WAAW,CAACY,OAAZ,CAAoBxC,cAArB,IAAuC8B,UAAU,CAAC1B,MAAX,GAAoB,CAD7D;EAGA,IAAMgG,aAAa,GACjB,CAACxE,WAAW,CAACY,OAAZ,CAAoBxC,cAArB,MACA;EACEsB,KAAK,KAAK,MAAV,IACAM,WAAW,CAACY,OAAZ,CAAoB9C,cAApB,GAAqCoC,UAAU,CAAC1B,MAAhD,8BACGwB,WAAW,CAACY,OAAZ,CAAoB5C,UADvB,2EACqC,CADrC,CADD,IAGC;EACC0B,KAAK,KAAK,MAAV,IAAoBT,UAAU,GAAGe,WAAW,CAACY,OAAZ,CAAoBzC,MAApB,CAA2B8C,MAA3B,GAAoC,CANxE,CADF;EASA,OACE,wCACMpB,SADN;IAEE,SAAS,EAAE3C,UAAU,CACnB,SADmB,qBAEPwC,KAFO,GAGnBQ,UAAU,CAACzB,QAAX,IAAuB,mBAHJ,EAInBO,UAAU,KAAK,QAAf,IAA2B,uBAJR,CAFvB;IAQE,GAAG,EAAEoB;EARP,IAUE,oBAAC,KAAD;IACE,SAAS,EAAC,mBADZ;IAEE,QAAQ,EAAEoD,OAFZ;IAGE,OAAO,EAAEC,OAHX;IAIE,KAAK,EAAEhE,KAJT;IAKE,KAAK,EAAE;MAAE0B,KAAK,EAAEnC,UAAU,KAAK,QAAf,GAA0B,MAA1B,GAAmCA;IAA5C,CALT;IAME,UAAU,EAAEqB,WANd;IAOE,YAAY;EAPd,GASE;IAAK,SAAS,EAAC,gBAAf;IAAgC,KAAK,EAAE2D;EAAvC,GACG/G,KAAK,CAACyE,QAAN,CAAeC,GAAf,CAAmB5C,QAAnB,EAA6B,UAACmE,IAAD,EAAwBrB,CAAxB;IAAA,OAC5B;MACE,SAAS,EAAC,gBADZ;MAEE,GAAG,kBAAWA,CAAX,CAFL;MAGE,GAAG,EAAE,aAAC4C,EAAD;QAAA,OAAQJ,WAAW,CAACI,EAAD,EAAK5C,CAAL,CAAnB;MAAA;IAHP,GAKGqB,IALH,CAD4B;EAAA,CAA7B,CADH,CATF,CAVF,EAgCGrE,OAAO,IACN;IACE,eAAY,MADd;IAEE,SAAS,EAAE3B,UAAU,CACnB,kBADmB,8BAEE2B,OAFF;EAFvB,GAOG5B,KAAK,CAACyE,QAAN,CAAeC,GAAf,CACC5C,QADD,EAEC,UAAC6C,KAAD,EAAyBuB,KAAzB;IAAA,OACE;MACE,SAAS,EAAEjG,UAAU,CACnB,iBADmB,EAEnBiG,KAAK,KAAKlE,UAAV,IAAwB,yBAFL,CADvB;MAKE,GAAG,EAAEkE;IALP,EADF;EAAA,CAFD,CAPH,CAjCJ,EAuDGxD,UAAU,IAAIY,QAAd,IAA0BgE,YAA1B,IACC,oBAAC,qBAAD;IAAuB,SAAS,EAAC,MAAjC;IAAwC,OAAO,EAAE7B;EAAjD,EAxDJ,EA0DG/C,UAAU,IAAIY,QAAd,IAA0BiE,aAA1B,IACC,oBAAC,qBAAD;IAAuB,SAAS,EAAC,OAAjC;IAAyC,OAAO,EAAE7B;EAAlD,EA3DJ,CADF;AAgED,CAvWM"}