@vkontakte/vkui 4.24.0 → 4.25.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.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +1185 -653
- package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +6 -5
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +4 -4
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -5
- package/.cache/ts/src/components/Alert/Alert.d.ts +4 -21
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -1
- package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -1
- package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +1 -1
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +6 -0
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +8 -0
- package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -1
- package/.cache/ts/src/components/Button/Button.d.ts +1 -1
- package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +1 -1
- package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +1 -1
- package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
- package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -4
- package/.cache/ts/src/components/ChipsInput/useChipsInput.d.ts +3 -3
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +2 -5
- package/.cache/ts/src/components/ChipsSelect/useChipsSelect.d.ts +8 -8
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +3 -1
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -28
- package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -65
- package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +2 -43
- package/.cache/ts/src/components/Epic/Epic.d.ts +3 -3
- package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +0 -1
- package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -1
- package/.cache/ts/src/components/Gallery/Gallery.d.ts +1 -1
- package/.cache/ts/src/components/Group/Group.d.ts +1 -1
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
- package/.cache/ts/src/components/Input/Input.d.ts +1 -1
- package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +3 -3
- package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +2 -1
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +3 -3
- package/.cache/ts/src/components/ModalPageHeader/ModalPageHeader.d.ts +2 -10
- package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +3 -3
- package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/types.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +9 -9
- package/.cache/ts/src/components/ModalRoot/withModalRootContext.d.ts +1 -1
- package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +3 -3
- package/.cache/ts/src/components/Panel/Panel.d.ts +3 -3
- package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +3 -3
- package/.cache/ts/src/components/Popper/Popper.d.ts +2 -2
- package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
- package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +1 -1
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +2 -43
- package/.cache/ts/src/components/Search/Search.d.ts +1 -1
- package/.cache/ts/src/components/Select/Select.d.ts +3 -3
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/.cache/ts/src/components/Slider/Slider.d.ts +1 -8
- package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +1 -1
- package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +3 -3
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -1
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +2 -2
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +2 -37
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +1 -1
- package/.cache/ts/src/components/Tooltip/TooltipContainer.d.ts +1 -1
- package/.cache/ts/src/components/UsersStack/masks.d.ts +1 -1
- package/.cache/ts/src/components/View/View.d.ts +9 -9
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +11 -11
- package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +1 -1
- package/.cache/ts/src/helpers/getScheme.d.ts +8 -0
- package/.cache/ts/src/helpers/scheme.d.ts +34 -0
- package/.cache/ts/src/hoc/withAdaptivity.d.ts +3 -2
- package/.cache/ts/src/hoc/withContext.d.ts +1 -1
- package/.cache/ts/src/hoc/withInsets.d.ts +3 -1
- package/.cache/ts/src/hoc/withPlatform.d.ts +3 -1
- package/.cache/ts/src/hooks/useAdaptivity.d.ts +2 -2
- package/.cache/ts/src/hooks/useAppearance.d.ts +1 -1
- package/.cache/ts/src/hooks/useEnsuredControl.d.ts +1 -1
- package/.cache/ts/src/hooks/useEventListener.d.ts +3 -3
- package/.cache/ts/src/hooks/useExternRef.d.ts +1 -1
- package/.cache/ts/src/hooks/useFocusVisible.d.ts +1 -1
- package/.cache/ts/src/hooks/useGlobalEventListener.d.ts +2 -2
- package/.cache/ts/src/hooks/useInsets.d.ts +7 -1
- package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +1 -1
- package/.cache/ts/src/hooks/usePlatform.d.ts +1 -1
- package/.cache/ts/src/hooks/useWaitTransitionFinish.d.ts +1 -1
- package/.cache/ts/src/index.d.ts +3 -1
- package/.cache/ts/src/lib/SSR.d.ts +1 -1
- package/.cache/ts/src/lib/accessibility.d.ts +1 -1
- package/.cache/ts/src/lib/dom.d.ts +3 -3
- package/.cache/ts/src/lib/getNavId.d.ts +1 -1
- package/.cache/ts/src/lib/jsxRuntime.d.ts +7 -3
- package/.cache/ts/src/lib/offset.d.ts +5 -5
- package/.cache/ts/src/lib/prefixClass.d.ts +1 -1
- package/.cache/ts/src/lib/select.d.ts +2 -2
- package/.cache/ts/src/lib/styles.d.ts +1 -1
- package/.cache/ts/src/lib/supportEvents.d.ts +1 -1
- package/.cache/ts/src/lib/utils.d.ts +1 -1
- package/.cache/ts/src/testing/utils.d.ts +2 -2
- package/.cache/ts/src/tokenized/tokenized.d.ts +2 -0
- package/.eslintrc.json +11 -5
- package/dist/{5c1a8c271e68390145da2b270f47c843.woff → 5c1a8c271e68390145da.woff} +0 -0
- package/dist/{7082adfe0b49e2f8da5bf38d29e318ac.woff2 → 7082adfe0b49e2f8da5b.woff2} +0 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -2
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +6 -5
- package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +3 -3
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +4 -4
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js +4 -2
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -5
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +13 -6
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.d.ts +4 -21
- package/dist/cjs/components/Alert/Alert.js +32 -18
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.d.ts +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +29 -16
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -1
- package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.d.ts +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js +6 -4
- package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +6 -0
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +50 -0
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -0
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +8 -0
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js +14 -0
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -0
- package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cjs/components/Avatar/Avatar.js +15 -16
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js +3 -2
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/Button/Button.d.ts +1 -1
- package/dist/cjs/components/Button/Button.js +2 -2
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Card/Card.js +2 -1
- package/dist/cjs/components/Card/Card.js.map +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.d.ts +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.d.ts +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js +9 -1
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.js +1 -1
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/Cell/useDraggable.js +58 -47
- package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +2 -1
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +2 -1
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -4
- package/dist/cjs/components/ChipsInput/ChipsInput.js +73 -64
- package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +3 -3
- package/dist/cjs/components/ChipsInput/useChipsInput.js +2 -2
- package/dist/cjs/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +2 -5
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +78 -67
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +8 -8
- package/dist/cjs/components/ChipsSelect/useChipsSelect.js +6 -3
- package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
- package/dist/cjs/components/ClickPopper/ClickPopper.js +7 -3
- package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +3 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -45
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +1 -28
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +1 -23
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +2 -1
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/Counter/Counter.js +1 -1
- package/dist/cjs/components/Counter/Counter.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js +24 -9
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -65
- package/dist/cjs/components/CustomSelect/CustomSelect.js +98 -72
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +3 -2
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.js +40 -26
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/Div/Div.js +2 -1
- package/dist/cjs/components/Div/Div.js.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.d.ts +2 -43
- package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.d.ts +3 -3
- package/dist/cjs/components/Epic/Epic.js +7 -4
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.d.ts +0 -1
- package/dist/cjs/components/Epic/ScrollSaver.js +3 -1
- package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cjs/components/File/File.js +5 -2
- package/dist/cjs/components/File/File.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js +5 -4
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FocusTrap/FocusTrap.js +3 -3
- package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +3 -1
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -1
- package/dist/cjs/components/FormLayout/FormLayout.js +6 -7
- package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +5 -2
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/Gallery/Gallery.d.ts +1 -1
- package/dist/cjs/components/Gallery/Gallery.js +129 -80
- package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
- package/dist/cjs/components/Gradient/Gradient.js +2 -1
- package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
- package/dist/cjs/components/Group/Group.d.ts +1 -1
- package/dist/cjs/components/Group/Group.js +1 -1
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +4 -1
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +16 -8
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.js +6 -3
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +1 -1
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js +2 -1
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +1 -1
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
- package/dist/cjs/components/Input/Input.d.ts +1 -1
- package/dist/cjs/components/Input/Input.js +1 -1
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/Link/Link.js +2 -1
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/List/List.js +2 -1
- package/dist/cjs/components/List/List.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.d.ts +3 -3
- package/dist/cjs/components/ModalCard/ModalCard.js +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +2 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +2 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +3 -3
- package/dist/cjs/components/ModalPage/ModalPage.js +2 -2
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +2 -10
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +32 -32
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +116 -47
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +3 -3
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootContext.js +20 -15
- package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +35 -16
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/constants.js +1 -1
- package/dist/cjs/components/ModalRoot/types.d.ts +1 -1
- package/dist/cjs/components/ModalRoot/types.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.d.ts +9 -9
- package/dist/cjs/components/ModalRoot/useModalManager.js +11 -9
- package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +1 -1
- package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +3 -3
- package/dist/cjs/components/NativeSelect/NativeSelect.js +5 -2
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js +1 -1
- package/dist/cjs/components/Panel/Panel.d.ts +3 -3
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +23 -23
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +2 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -2
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/PanelSpinner/PanelSpinner.js +1 -1
- package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js +2 -1
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +3 -3
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.d.ts +2 -2
- package/dist/cjs/components/Popper/Popper.js +11 -5
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js +4 -5
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +11 -8
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +12 -20
- package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.d.ts +1 -1
- package/dist/cjs/components/Radio/Radio.js +2 -1
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RangeSlider/RangeSlider.js +18 -11
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js +18 -13
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +6 -3
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.d.ts +1 -1
- package/dist/cjs/components/RichCell/RichCell.js +2 -1
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +2 -43
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/Root/Root.js +12 -12
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +2 -1
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cjs/components/Search/Search.d.ts +1 -1
- package/dist/cjs/components/Search/Search.js +12 -9
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/Select/Select.d.ts +3 -3
- package/dist/cjs/components/Select/Select.js +2 -1
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +3 -3
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/Separator/Separator.js +2 -1
- package/dist/cjs/components/Separator/Separator.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +2 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +7 -6
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.d.ts +1 -8
- package/dist/cjs/components/Slider/Slider.js +20 -15
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js +14 -7
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.d.ts +3 -3
- package/dist/cjs/components/Snackbar/Snackbar.js +12 -4
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.d.ts +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +2 -2
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js +2 -1
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.d.ts +2 -2
- package/dist/cjs/components/Tabs/Tabs.js +1 -1
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js +2 -1
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cjs/components/Tappable/Tappable.js +9 -6
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +2 -37
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +4 -4
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +26 -10
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +1 -1
- package/dist/cjs/components/Tooltip/TooltipContainer.js +1 -1
- package/dist/cjs/components/Touch/Touch.js +38 -21
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/components/Touch/TouchContext.js +2 -1
- package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.js +2 -1
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.js +2 -1
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js +2 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.js +2 -1
- package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.js +2 -1
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +5 -3
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/UsersStack/masks.d.ts +1 -1
- package/dist/cjs/components/UsersStack/masks.js +1 -1
- package/dist/cjs/components/UsersStack/masks.js.map +1 -1
- package/dist/cjs/components/View/View.d.ts +9 -9
- package/dist/cjs/components/View/View.js +71 -31
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.d.ts +11 -11
- package/dist/cjs/components/View/ViewInfinite.js +73 -38
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.d.ts +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +3 -4
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/helpers/getScheme.d.ts +8 -0
- package/dist/cjs/helpers/getScheme.js +37 -0
- package/dist/cjs/helpers/getScheme.js.map +1 -0
- package/dist/cjs/helpers/math.js +1 -1
- package/dist/cjs/helpers/scheme.d.ts +34 -0
- package/dist/cjs/helpers/scheme.js +75 -0
- package/dist/cjs/helpers/scheme.js.map +1 -0
- package/dist/cjs/hoc/withAdaptivity.d.ts +3 -2
- package/dist/cjs/hoc/withAdaptivity.js +4 -5
- package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
- package/dist/cjs/hoc/withContext.d.ts +1 -1
- package/dist/cjs/hoc/withContext.js +1 -2
- package/dist/cjs/hoc/withContext.js.map +1 -1
- package/dist/cjs/hoc/withInsets.d.ts +3 -1
- package/dist/cjs/hoc/withInsets.js +1 -2
- package/dist/cjs/hoc/withInsets.js.map +1 -1
- package/dist/cjs/hoc/withPlatform.d.ts +3 -1
- package/dist/cjs/hoc/withPlatform.js +1 -2
- package/dist/cjs/hoc/withPlatform.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivity.d.ts +2 -2
- package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
- package/dist/cjs/hooks/useAppearance.d.ts +1 -1
- package/dist/cjs/hooks/useEnsuredControl.d.ts +1 -1
- package/dist/cjs/hooks/useEnsuredControl.js +1 -1
- package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cjs/hooks/useEventListener.d.ts +3 -3
- package/dist/cjs/hooks/useEventListener.js +2 -2
- package/dist/cjs/hooks/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useExternRef.d.ts +1 -1
- package/dist/cjs/hooks/useExternRef.js +6 -3
- package/dist/cjs/hooks/useExternRef.js.map +1 -1
- package/dist/cjs/hooks/useFocusVisible.d.ts +1 -1
- package/dist/cjs/hooks/useGlobalEventListener.d.ts +2 -2
- package/dist/cjs/hooks/useGlobalEventListener.js +6 -2
- package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/cjs/hooks/useInsets.d.ts +7 -1
- package/dist/cjs/hooks/useInsets.js.map +1 -1
- package/dist/cjs/hooks/useKeyboard.js +37 -29
- package/dist/cjs/hooks/useKeyboard.js.map +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.d.ts +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cjs/hooks/usePlatform.d.ts +1 -1
- package/dist/cjs/hooks/usePlatform.js.map +1 -1
- package/dist/cjs/hooks/useTimeout.js +4 -2
- package/dist/cjs/hooks/useTimeout.js.map +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.js +5 -2
- package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +284 -274
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/SSR.d.ts +1 -1
- package/dist/cjs/lib/SSR.js +1 -1
- package/dist/cjs/lib/SSR.js.map +1 -1
- package/dist/cjs/lib/accessibility.d.ts +1 -1
- package/dist/cjs/lib/accessibility.js +4 -2
- package/dist/cjs/lib/accessibility.js.map +1 -1
- package/dist/cjs/lib/animate.js +1 -0
- package/dist/cjs/lib/animate.js.map +1 -1
- package/dist/cjs/lib/browser.js +1 -1
- package/dist/cjs/lib/dom.d.ts +3 -3
- package/dist/cjs/lib/dom.js +6 -4
- package/dist/cjs/lib/dom.js.map +1 -1
- package/dist/cjs/lib/getNavId.d.ts +1 -1
- package/dist/cjs/lib/is.js +3 -1
- package/dist/cjs/lib/is.js.map +1 -1
- package/dist/cjs/lib/isRefObject.js.map +1 -1
- package/dist/cjs/lib/jsxRuntime.d.ts +7 -3
- package/dist/cjs/lib/jsxRuntime.js +3 -5
- package/dist/cjs/lib/jsxRuntime.js.map +1 -1
- package/dist/cjs/lib/offset.d.ts +5 -5
- package/dist/cjs/lib/offset.js +5 -5
- package/dist/cjs/lib/offset.js.map +1 -1
- package/dist/cjs/lib/platform.js +1 -1
- package/dist/cjs/lib/polyfills.js.map +1 -1
- package/dist/cjs/lib/prefixClass.d.ts +1 -1
- package/dist/cjs/lib/prefixClass.js.map +1 -1
- package/dist/cjs/lib/select.d.ts +2 -2
- package/dist/cjs/lib/select.js +5 -3
- package/dist/cjs/lib/select.js.map +1 -1
- package/dist/cjs/lib/styles.d.ts +1 -1
- package/dist/cjs/lib/styles.js.map +1 -1
- package/dist/cjs/lib/supportEvents.d.ts +1 -1
- package/dist/cjs/lib/supportEvents.js.map +1 -1
- package/dist/cjs/lib/touch.js +2 -1
- package/dist/cjs/lib/touch.js.map +1 -1
- package/dist/cjs/lib/utils.d.ts +1 -1
- package/dist/cjs/lib/utils.js +6 -6
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/tokenized/tokenized.d.ts +2 -0
- package/dist/cjs/tokenized/tokenized.js +16 -0
- package/dist/cjs/tokenized/tokenized.js.map +1 -0
- package/dist/cjs/unstable/index.js +8 -8
- package/dist/components/ActionSheet/ActionSheet.js +4 -2
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.d.ts +6 -5
- package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +4 -4
- package/dist/components/AdaptivityProvider/AdaptivityContext.js +3 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -5
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +12 -4
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +4 -21
- package/dist/components/Alert/Alert.js +32 -18
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +1 -1
- package/dist/components/AppRoot/AppRoot.js +28 -16
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +1 -1
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts +1 -1
- package/dist/components/AppRoot/ScrollContext.js +5 -3
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +6 -0
- package/dist/components/AppearanceProvider/AppearanceProvider.js +33 -0
- package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -0
- package/dist/components/AppearanceProvider/AppearanceProviderContext.d.ts +8 -0
- package/dist/components/AppearanceProvider/AppearanceProviderContext.js +3 -0
- package/dist/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -0
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +12 -13
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Banner/Banner.js +3 -2
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +3 -2
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Card/Card.js +2 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.d.ts +1 -1
- package/dist/components/CardGrid/CardGrid.js +2 -1
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +1 -1
- package/dist/components/CardScroll/CardScroll.js +10 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.js +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/useDraggable.js +58 -46
- package/dist/components/Cell/useDraggable.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +2 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js +2 -1
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -4
- package/dist/components/ChipsInput/ChipsInput.js +71 -62
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
- package/dist/components/ChipsInput/useChipsInput.js +2 -2
- package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -5
- package/dist/components/ChipsSelect/ChipsSelect.js +80 -67
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
- package/dist/components/ChipsSelect/useChipsSelect.js +6 -3
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
- package/dist/components/ClickPopper/ClickPopper.js +7 -3
- package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +3 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +23 -44
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -28
- package/dist/components/ConfigProvider/ConfigProviderContext.js +0 -20
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +2 -1
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.js +2 -1
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +24 -9
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +1 -65
- package/dist/components/CustomSelect/CustomSelect.js +98 -72
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +3 -2
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.js +41 -26
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/Div/Div.js +2 -1
- package/dist/components/Div/Div.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +2 -43
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +3 -3
- package/dist/components/Epic/Epic.js +7 -4
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts +0 -1
- package/dist/components/Epic/ScrollSaver.js +2 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.js +5 -2
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +5 -4
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.js +3 -3
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +3 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayout/FormLayout.d.ts +1 -1
- package/dist/components/FormLayout/FormLayout.js +6 -7
- package/dist/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -2
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +1 -1
- package/dist/components/Gallery/Gallery.js +129 -80
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Gradient/Gradient.js +2 -1
- package/dist/components/Gradient/Gradient.js.map +1 -1
- package/dist/components/Group/Group.d.ts +1 -1
- package/dist/components/Group/Group.js +2 -1
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js +4 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +16 -8
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +2 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/components/HoverPopper/HoverPopper.js +6 -3
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/IconButton/IconButton.js +2 -1
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.js +2 -1
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
- package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +2 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Link/Link.js +2 -1
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.js +2 -1
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +3 -3
- package/dist/components/ModalCard/ModalCard.js +2 -1
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +2 -1
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +2 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +3 -3
- package/dist/components/ModalPage/ModalPage.js +3 -2
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +2 -10
- package/dist/components/ModalPageHeader/ModalPageHeader.js +28 -29
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +116 -47
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +3 -3
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js +19 -14
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +35 -16
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +9 -9
- package/dist/components/ModalRoot/useModalManager.js +11 -11
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.d.ts +1 -1
- package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +3 -3
- package/dist/components/NativeSelect/NativeSelect.js +5 -2
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +3 -3
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +23 -22
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +2 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +5 -2
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.js +2 -1
- package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.js +2 -1
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.d.ts +3 -3
- package/dist/components/PopoutRoot/PopoutRoot.js +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +2 -2
- package/dist/components/Popper/Popper.js +11 -5
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.js +4 -5
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +2 -1
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +11 -8
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.js +13 -17
- package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Radio/Radio.js +2 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.js +18 -11
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js +18 -13
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/Removable/Removable.js +6 -3
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +1 -1
- package/dist/components/RichCell/RichCell.js +2 -1
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/RichTooltip/RichTooltip.d.ts +2 -43
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/components/Root/Root.js +12 -12
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js +13 -9
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Select/Select.d.ts +3 -3
- package/dist/components/Select/Select.js +2 -1
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +4 -3
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/Separator/Separator.js +2 -1
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +2 -1
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js +7 -6
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -8
- package/dist/components/Slider/Slider.js +20 -15
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.d.ts +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.js +14 -7
- package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.js +2 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +3 -3
- package/dist/components/Snackbar/Snackbar.js +12 -4
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spinner/Spinner.js +2 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +1 -1
- package/dist/components/SplitCol/SplitCol.js +1 -1
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.js +2 -1
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +2 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +2 -2
- package/dist/components/Tabs/Tabs.js +2 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +2 -1
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +1 -1
- package/dist/components/Tappable/Tappable.js +9 -6
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.d.ts +2 -37
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/Textarea/Textarea.js +5 -4
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +26 -10
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/TooltipContainer.d.ts +1 -1
- package/dist/components/Touch/Touch.js +38 -21
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Touch/TouchContext.js +2 -1
- package/dist/components/Touch/TouchContext.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.js +2 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.js +2 -1
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.js +2 -1
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.js +2 -1
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/Typography/Title/Title.js +2 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +6 -3
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/UsersStack/masks.d.ts +1 -1
- package/dist/components/UsersStack/masks.js +1 -1
- package/dist/components/UsersStack/masks.js.map +1 -1
- package/dist/components/View/View.d.ts +9 -9
- package/dist/components/View/View.js +70 -30
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +11 -11
- package/dist/components/View/ViewInfinite.js +70 -36
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +1 -1
- package/dist/components/WriteBar/WriteBar.js +3 -4
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +5 -5
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -2
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js +3 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +12 -4
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +32 -18
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +28 -16
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js +5 -3
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +33 -0
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -0
- package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js +3 -0
- package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -0
- package/dist/cssm/components/Avatar/Avatar.js +12 -13
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +3 -2
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.js +3 -2
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Card/Card.js +2 -1
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.js +2 -1
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +10 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +1 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/useDraggable.js +58 -46
- package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +2 -1
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.js +2 -1
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +71 -62
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/useChipsInput.js +2 -2
- package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +80 -67
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js +6 -3
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/ClickPopper/ClickPopper.js +7 -3
- package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +23 -44
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +0 -20
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +2 -1
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +2 -1
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +24 -9
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +98 -72
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +3 -2
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.js +41 -26
- package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cssm/components/Div/Div.js +2 -1
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.js +1 -3
- package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.js +7 -4
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js +2 -1
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.js +5 -2
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -4
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -3
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +3 -1
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.js +6 -7
- package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -2
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js +129 -80
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Gradient/Gradient.js +2 -1
- package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
- package/dist/cssm/components/Group/Group.js +2 -1
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Header/Header.js +4 -1
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +16 -8
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +2 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js +6 -3
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +2 -1
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js +2 -1
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
- package/dist/cssm/components/Input/Input.js +2 -1
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/Link/Link.js +2 -1
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.js +2 -1
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +2 -1
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +2 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +3 -2
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +28 -29
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +116 -47
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js +19 -14
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +35 -16
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +11 -11
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +5 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +23 -22
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +5 -2
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js +2 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js +2 -1
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +11 -5
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js +4 -5
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +2 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +11 -8
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +13 -17
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +2 -1
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RangeSlider/RangeSlider.js +18 -11
- package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js +18 -13
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js +6 -3
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js +2 -1
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -3
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cssm/components/Root/Root.js +12 -12
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/Search/Search.css +1 -1
- package/dist/cssm/components/Search/Search.js +13 -9
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Select/Select.js +2 -1
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -3
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.js +2 -1
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +2 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +7 -6
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.js +20 -15
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js +14 -7
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +2 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +12 -4
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.js +2 -1
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.css +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +2 -1
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +2 -1
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.css +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +9 -6
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -3
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +5 -4
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +26 -10
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +38 -21
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Touch/TouchContext.js +2 -1
- package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js +2 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js +2 -1
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.js +2 -1
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.js +2 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +6 -3
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/masks.js +1 -1
- package/dist/cssm/components/UsersStack/masks.js.map +1 -1
- package/dist/cssm/components/View/View.js +70 -30
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +70 -36
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +3 -4
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/fonts/fonts.css +1 -1
- package/dist/cssm/helpers/getScheme.js +28 -0
- package/dist/cssm/helpers/getScheme.js.map +1 -0
- package/dist/cssm/helpers/scheme.js +61 -0
- package/dist/cssm/helpers/scheme.js.map +1 -0
- package/dist/cssm/hoc/withAdaptivity.js +3 -4
- package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
- package/dist/cssm/hoc/withContext.js +1 -2
- package/dist/cssm/hoc/withContext.js.map +1 -1
- package/dist/cssm/hoc/withInsets.js +1 -2
- package/dist/cssm/hoc/withInsets.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.js +1 -2
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
- package/dist/cssm/hooks/useEnsuredControl.js +1 -1
- package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cssm/hooks/useEventListener.js +2 -2
- package/dist/cssm/hooks/useEventListener.js.map +1 -1
- package/dist/cssm/hooks/useExternRef.js +6 -3
- package/dist/cssm/hooks/useExternRef.js.map +1 -1
- package/dist/cssm/hooks/useGlobalEventListener.js +6 -2
- package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/cssm/hooks/useInsets.js.map +1 -1
- package/dist/cssm/hooks/useKeyboard.js +36 -29
- package/dist/cssm/hooks/useKeyboard.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cssm/hooks/usePlatform.js.map +1 -1
- package/dist/cssm/hooks/useTimeout.js +4 -2
- package/dist/cssm/hooks/useTimeout.js.map +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -2
- package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cssm/index.js +3 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js +1 -1
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/accessibility.js +3 -1
- package/dist/cssm/lib/accessibility.js.map +1 -1
- package/dist/cssm/lib/animate.js +1 -0
- package/dist/cssm/lib/animate.js.map +1 -1
- package/dist/cssm/lib/dom.js +2 -2
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/lib/is.js +3 -1
- package/dist/cssm/lib/is.js.map +1 -1
- package/dist/cssm/lib/isRefObject.js.map +1 -1
- package/dist/cssm/lib/jsxRuntime.js +3 -3
- package/dist/cssm/lib/jsxRuntime.js.map +1 -1
- package/dist/cssm/lib/offset.js +5 -5
- package/dist/cssm/lib/offset.js.map +1 -1
- package/dist/cssm/lib/polyfills.js.map +1 -1
- package/dist/cssm/lib/prefixClass.js.map +1 -1
- package/dist/cssm/lib/select.js +5 -3
- package/dist/cssm/lib/select.js.map +1 -1
- package/dist/cssm/lib/styles.js.map +1 -1
- package/dist/cssm/lib/supportEvents.js.map +1 -1
- package/dist/cssm/lib/utils.js +1 -1
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/styles/bright_light.css +1 -1
- package/dist/cssm/styles/components.css +5 -5
- package/dist/cssm/styles/constants.css +3 -3
- package/dist/cssm/styles/space_gray.css +1 -1
- package/dist/cssm/styles/themes.css +4 -4
- package/dist/cssm/styles/vkcom_dark.css +2 -2
- package/dist/cssm/styles/vkcom_light.css +3 -3
- package/dist/cssm/tokenized/tokenized.js +2 -0
- package/dist/cssm/tokenized/tokenized.js.map +1 -0
- package/dist/default_scheme.css +1 -1
- package/dist/default_scheme.css.map +1 -1
- package/dist/fonts.css +1 -1
- package/dist/fonts.css.map +1 -1
- package/dist/helpers/getScheme.d.ts +8 -0
- package/dist/helpers/getScheme.js +28 -0
- package/dist/helpers/getScheme.js.map +1 -0
- package/dist/helpers/scheme.d.ts +34 -0
- package/dist/helpers/scheme.js +61 -0
- package/dist/helpers/scheme.js.map +1 -0
- package/dist/hoc/withAdaptivity.d.ts +3 -2
- package/dist/hoc/withAdaptivity.js +3 -4
- package/dist/hoc/withAdaptivity.js.map +1 -1
- package/dist/hoc/withContext.d.ts +1 -1
- package/dist/hoc/withContext.js +1 -2
- package/dist/hoc/withContext.js.map +1 -1
- package/dist/hoc/withInsets.d.ts +3 -1
- package/dist/hoc/withInsets.js +1 -2
- package/dist/hoc/withInsets.js.map +1 -1
- package/dist/hoc/withPlatform.d.ts +3 -1
- package/dist/hoc/withPlatform.js +1 -2
- package/dist/hoc/withPlatform.js.map +1 -1
- package/dist/hooks/useAdaptivity.d.ts +2 -2
- package/dist/hooks/useAdaptivity.js.map +1 -1
- package/dist/hooks/useAppearance.d.ts +1 -1
- package/dist/hooks/useEnsuredControl.d.ts +1 -1
- package/dist/hooks/useEnsuredControl.js +1 -1
- package/dist/hooks/useEnsuredControl.js.map +1 -1
- package/dist/hooks/useEventListener.d.ts +3 -3
- package/dist/hooks/useEventListener.js +2 -2
- package/dist/hooks/useEventListener.js.map +1 -1
- package/dist/hooks/useExternRef.d.ts +1 -1
- package/dist/hooks/useExternRef.js +6 -3
- package/dist/hooks/useExternRef.js.map +1 -1
- package/dist/hooks/useFocusVisible.d.ts +1 -1
- package/dist/hooks/useGlobalEventListener.d.ts +2 -2
- package/dist/hooks/useGlobalEventListener.js +6 -2
- package/dist/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/hooks/useInsets.d.ts +7 -1
- package/dist/hooks/useInsets.js.map +1 -1
- package/dist/hooks/useKeyboard.js +36 -29
- package/dist/hooks/useKeyboard.js.map +1 -1
- package/dist/hooks/usePatchChildrenRef.d.ts +1 -1
- package/dist/hooks/usePatchChildrenRef.js +1 -1
- package/dist/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/hooks/usePlatform.d.ts +1 -1
- package/dist/hooks/usePlatform.js.map +1 -1
- package/dist/hooks/useTimeout.js +4 -2
- package/dist/hooks/useTimeout.js.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.d.ts +1 -1
- package/dist/hooks/useWaitTransitionFinish.js +5 -2
- package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.d.ts +1 -1
- package/dist/lib/SSR.js +1 -1
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/accessibility.d.ts +1 -1
- package/dist/lib/accessibility.js +3 -1
- package/dist/lib/accessibility.js.map +1 -1
- package/dist/lib/animate.js +1 -0
- package/dist/lib/animate.js.map +1 -1
- package/dist/lib/dom.d.ts +3 -3
- package/dist/lib/dom.js +2 -2
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/getNavId.d.ts +1 -1
- package/dist/lib/is.js +3 -1
- package/dist/lib/is.js.map +1 -1
- package/dist/lib/isRefObject.js.map +1 -1
- package/dist/lib/jsxRuntime.d.ts +7 -3
- package/dist/lib/jsxRuntime.js +3 -3
- package/dist/lib/jsxRuntime.js.map +1 -1
- package/dist/lib/offset.d.ts +5 -5
- package/dist/lib/offset.js +5 -5
- package/dist/lib/offset.js.map +1 -1
- package/dist/lib/polyfills.js.map +1 -1
- package/dist/lib/prefixClass.d.ts +1 -1
- package/dist/lib/prefixClass.js.map +1 -1
- package/dist/lib/select.d.ts +2 -2
- package/dist/lib/select.js +5 -3
- package/dist/lib/select.js.map +1 -1
- package/dist/lib/styles.d.ts +1 -1
- package/dist/lib/styles.js.map +1 -1
- package/dist/lib/supportEvents.d.ts +1 -1
- package/dist/lib/supportEvents.js.map +1 -1
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/tokenized/tokenized.d.ts +2 -0
- package/dist/tokenized/tokenized.js +2 -0
- package/dist/tokenized/tokenized.js.map +1 -0
- package/dist/unstable.css.map +1 -1
- package/dist/vkui.css +9 -9
- package/dist/vkui.css.map +1 -1
- package/package.json +37 -35
- package/src/components/ActionSheet/ActionSheet.tsx +3 -3
- package/src/components/ActionSheet/ActionSheetContext.ts +11 -7
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +5 -7
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +10 -4
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +6 -4
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +19 -13
- package/src/components/Alert/Alert.tsx +24 -17
- package/src/components/AppRoot/AppRoot.tsx +26 -17
- package/src/components/AppRoot/AppRootContext.ts +1 -1
- package/src/components/AppRoot/ScrollContext.ts +9 -9
- package/src/components/AppearanceProvider/AppearanceProvider.tsx +44 -0
- package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +12 -0
- package/src/components/Avatar/Avatar.tsx +8 -14
- package/src/components/Banner/Banner.tsx +2 -1
- package/src/components/Button/Button.tsx +3 -2
- package/src/components/Card/Card.tsx +1 -0
- package/src/components/CardGrid/CardGrid.tsx +1 -0
- package/src/components/CardScroll/CardScroll.tsx +12 -2
- package/src/components/Cell/Cell.tsx +1 -1
- package/src/components/Cell/useDraggable.tsx +53 -45
- package/src/components/Checkbox/Checkbox.tsx +1 -0
- package/src/components/Chip/Chip.tsx +1 -0
- package/src/components/ChipsInput/ChipsInput.tsx +50 -45
- package/src/components/ChipsInput/useChipsInput.ts +10 -9
- package/src/components/ChipsSelect/ChipsSelect.tsx +78 -53
- package/src/components/ChipsSelect/Readme.md +44 -57
- package/src/components/ChipsSelect/useChipsSelect.ts +16 -10
- package/src/components/ClickPopper/ClickPopper.tsx +11 -7
- package/src/components/ConfigProvider/ConfigProvider.tsx +32 -56
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +1 -40
- package/src/components/ContentCard/ContentCard.tsx +1 -0
- package/src/components/Counter/Counter.tsx +1 -0
- package/src/components/CustomScrollView/CustomScrollView.tsx +27 -20
- package/src/components/CustomSelect/CustomSelect.tsx +70 -49
- package/src/components/CustomSelect/Readme.md +1 -1
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +2 -2
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +2 -1
- package/src/components/DatePicker/DatePicker.tsx +14 -18
- package/src/components/Div/Div.tsx +1 -0
- package/src/components/Dropdown/Dropdown.tsx +4 -45
- package/src/components/Epic/Epic.tsx +9 -9
- package/src/components/Epic/ScrollSaver.tsx +1 -2
- package/src/components/File/File.tsx +2 -1
- package/src/components/FixedLayout/FixedLayout.tsx +4 -3
- package/src/components/FocusTrap/FocusTrap.tsx +10 -8
- package/src/components/FormItem/FormItem.tsx +5 -1
- package/src/components/FormLayout/FormLayout.tsx +9 -9
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +6 -1
- package/src/components/Gallery/Gallery.tsx +71 -63
- package/src/components/Gradient/Gradient.tsx +1 -0
- package/src/components/Group/Group.tsx +1 -0
- package/src/components/Header/Header.tsx +3 -0
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +19 -6
- package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -0
- package/src/components/HoverPopper/HoverPopper.tsx +6 -4
- package/src/components/IconButton/IconButton.tsx +1 -0
- package/src/components/InfoRow/InfoRow.tsx +1 -0
- package/src/components/InitialsAvatar/InitialsAvatar.tsx +1 -1
- package/src/components/Input/Input.tsx +1 -0
- package/src/components/Link/Link.tsx +1 -0
- package/src/components/List/List.tsx +1 -0
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
- package/src/components/ModalCard/ModalCard.tsx +3 -2
- package/src/components/ModalCardBase/ModalCardBase.tsx +5 -3
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -0
- package/src/components/ModalPage/ModalPage.tsx +4 -3
- package/src/components/ModalPageHeader/ModalPageHeader.css +9 -228
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +31 -41
- package/src/components/ModalRoot/ModalRoot.tsx +93 -62
- package/src/components/ModalRoot/ModalRootAdaptive.tsx +3 -5
- package/src/components/ModalRoot/ModalRootContext.tsx +12 -8
- package/src/components/ModalRoot/ModalRootDesktop.tsx +33 -19
- package/src/components/ModalRoot/types.ts +1 -1
- package/src/components/ModalRoot/useModalManager.tsx +31 -19
- package/src/components/ModalRoot/withModalRootContext.tsx +5 -3
- package/src/components/NativeSelect/NativeSelect.tsx +5 -7
- package/src/components/Panel/Panel.tsx +5 -11
- package/src/components/PanelHeader/PanelHeader.css +7 -3
- package/src/components/PanelHeader/PanelHeader.tsx +11 -19
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +1 -0
- package/src/components/PanelHeaderContent/PanelHeaderContent.css +16 -5
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -0
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +3 -3
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -0
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +1 -0
- package/src/components/PanelSpinner/PanelSpinner.tsx +1 -0
- package/src/components/Placeholder/Placeholder.tsx +1 -0
- package/src/components/PopoutRoot/PopoutRoot.tsx +3 -3
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +3 -3
- package/src/components/Popper/Popper.tsx +18 -14
- package/src/components/Progress/Progress.tsx +2 -5
- package/src/components/PromoBanner/PromoBanner.tsx +1 -0
- package/src/components/PullToRefresh/PullToRefresh.tsx +14 -7
- package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +7 -14
- package/src/components/Radio/Radio.tsx +1 -0
- package/src/components/RangeSlider/RangeSlider.tsx +20 -13
- package/src/components/RangeSlider/UniversalSlider.tsx +16 -14
- package/src/components/Removable/Removable.tsx +15 -8
- package/src/components/RichCell/RichCell.tsx +1 -0
- package/src/components/RichTooltip/RichTooltip.tsx +2 -44
- package/src/components/Root/Root.tsx +21 -9
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -0
- package/src/components/Search/Search.tsx +8 -7
- package/src/components/Select/Select.tsx +6 -2
- package/src/components/SelectMimicry/SelectMimicry.tsx +3 -2
- package/src/components/Separator/Separator.tsx +1 -0
- package/src/components/SimpleCell/SimpleCell.tsx +1 -0
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -5
- package/src/components/Slider/Slider.tsx +23 -19
- package/src/components/SliderSwitch/SliderSwitch.tsx +7 -4
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
- package/src/components/Snackbar/Readme.md +26 -0
- package/src/components/Snackbar/Snackbar.tsx +10 -10
- package/src/components/Spinner/Spinner.tsx +1 -0
- package/src/components/SplitCol/SplitCol.tsx +2 -2
- package/src/components/Tabbar/Tabbar.tsx +1 -0
- package/src/components/TabbarItem/TabbarItem.tsx +1 -0
- package/src/components/Tabs/Tabs.tsx +1 -0
- package/src/components/TabsItem/TabsItem.tsx +1 -0
- package/src/components/Tappable/Tappable.tsx +6 -5
- package/src/components/TextTooltip/TextTooltip.tsx +3 -38
- package/src/components/Textarea/Textarea.tsx +4 -3
- package/src/components/Tooltip/Tooltip.tsx +20 -11
- package/src/components/Touch/Touch.tsx +25 -12
- package/src/components/Touch/TouchContext.ts +1 -0
- package/src/components/Typography/Caption/Caption.tsx +1 -0
- package/src/components/Typography/Headline/Headline.tsx +1 -0
- package/src/components/Typography/Subhead/Subhead.tsx +1 -0
- package/src/components/Typography/Text/Text.tsx +1 -0
- package/src/components/Typography/Title/Title.tsx +1 -0
- package/src/components/UsersStack/UsersStack.tsx +9 -1
- package/src/components/UsersStack/masks.tsx +2 -2
- package/src/components/View/View.tsx +83 -53
- package/src/components/View/ViewInfinite.tsx +94 -66
- package/src/components/WriteBar/WriteBar.tsx +5 -5
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
- package/src/helpers/getScheme.ts +27 -0
- package/src/helpers/scheme.ts +86 -0
- package/src/hoc/withAdaptivity.tsx +13 -6
- package/src/hoc/withContext.tsx +4 -5
- package/src/hoc/withInsets.tsx +7 -5
- package/src/hoc/withPlatform.tsx +9 -5
- package/src/hooks/useAdaptivity.ts +2 -1
- package/src/hooks/useEnsuredControl.ts +2 -2
- package/src/hooks/useEventListener.ts +32 -25
- package/src/hooks/useExternRef.ts +10 -4
- package/src/hooks/useGlobalEventListener.ts +19 -13
- package/src/hooks/useInsets.ts +8 -1
- package/src/hooks/useKeyboard.ts +33 -30
- package/src/hooks/usePatchChildrenRef.ts +3 -3
- package/src/hooks/usePlatform.ts +1 -1
- package/src/hooks/useTimeout.ts +15 -11
- package/src/hooks/useWaitTransitionFinish.ts +5 -3
- package/src/index.ts +2 -2
- package/src/lib/SSR.tsx +2 -2
- package/src/lib/accessibility.ts +1 -1
- package/src/lib/animate.ts +1 -0
- package/src/lib/dom.tsx +3 -3
- package/src/lib/isRefObject.ts +1 -1
- package/src/lib/jsxRuntime.ts +5 -7
- package/src/lib/offset.ts +10 -10
- package/src/lib/polyfills.ts +2 -2
- package/src/lib/prefixClass.ts +1 -1
- package/src/lib/select.ts +4 -4
- package/src/lib/styles.ts +1 -1
- package/src/lib/supportEvents.ts +1 -1
- package/src/lib/utils.ts +4 -2
- package/src/styles/bright_light.css +2 -1
- package/src/styles/space_gray.css +2 -1
- package/src/styles/vkcom_dark.css +2 -1
- package/src/styles/vkcom_light.css +2 -1
- package/src/testing/utils.tsx +4 -5
- package/src/tokenized/tokenized.ts +2 -0
- package/tokenized/index.d.ts +1 -0
- package/tokenized/package.json +4 -0
- package/tsconfig.json +1 -3
- package/types/global.d.ts +5 -0
- package/webpack.config.js +10 -8
- package/webpack.styles.config.js +5 -2
|
@@ -17,7 +17,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
17
17
|
|
|
18
18
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _objectSpread6 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
21
21
|
|
|
22
22
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
23
23
|
|
|
@@ -87,12 +87,12 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
87
87
|
(0, _classCallCheck2.default)(this, ViewInfinite);
|
|
88
88
|
_this = _super.call(this, props);
|
|
89
89
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "scrolls", scrollsCache[(0, _getNavId.getNavId)(_this.props, warn)] || {});
|
|
90
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "transitionFinishTimeout",
|
|
91
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "animationFinishTimeout",
|
|
90
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "transitionFinishTimeout", undefined);
|
|
91
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "animationFinishTimeout", undefined);
|
|
92
92
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "panelNodes", {});
|
|
93
93
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "transitionEndHandler", function (e) {
|
|
94
|
-
if (!e || ["vkui-animation-ios-next-forward", "vkui-animation-ios-prev-back", "vkui-animation-view-next-forward", "vkui-animation-view-prev-back"].includes(e.animationName)) {
|
|
95
|
-
_this.flushTransition(_this.state.prevPanel, _this.state.isBack);
|
|
94
|
+
if ((!e || ["vkui-animation-ios-next-forward", "vkui-animation-ios-prev-back", "vkui-animation-view-next-forward", "vkui-animation-view-prev-back"].includes(e.animationName)) && _this.state.prevPanel !== null) {
|
|
95
|
+
_this.flushTransition(_this.state.prevPanel, Boolean(_this.state.isBack));
|
|
96
96
|
}
|
|
97
97
|
});
|
|
98
98
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "swipingBackTransitionEndHandler", function (e) {
|
|
@@ -111,7 +111,7 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMoveX", function (e) {
|
|
114
|
-
if ((0, _utils.swipeBackExcluded)(e)) {
|
|
114
|
+
if ((0, _utils.swipeBackExcluded)(e) || !_this.window) {
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
117
|
|
|
@@ -119,20 +119,26 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
119
119
|
platform = _this$props.platform,
|
|
120
120
|
configProvider = _this$props.configProvider;
|
|
121
121
|
|
|
122
|
-
if (platform === _platform.IOS && !configProvider.isWebView && (e.startX <= 70 || e.startX >= _this.window.innerWidth - 70) && !_this.state.browserSwipe) {
|
|
122
|
+
if (platform === _platform.IOS && !(configProvider !== null && configProvider !== void 0 && configProvider.isWebView) && (e.startX <= 70 || e.startX >= _this.window.innerWidth - 70) && !_this.state.browserSwipe) {
|
|
123
123
|
_this.setState({
|
|
124
124
|
browserSwipe: true
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
if (platform === _platform.IOS && configProvider.isWebView && _this.props.onSwipeBack) {
|
|
128
|
+
if (platform === _platform.IOS && configProvider !== null && configProvider !== void 0 && configProvider.isWebView && _this.props.onSwipeBack) {
|
|
129
|
+
var _this$props$history$l, _this$props$history;
|
|
130
|
+
|
|
129
131
|
if (_this.state.animated && e.startX <= 70) {
|
|
130
132
|
return;
|
|
131
133
|
}
|
|
132
134
|
|
|
133
|
-
if (e.startX <= 70 && !_this.state.swipingBack && _this.props.history.length > 1) {
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
if (e.startX <= 70 && !_this.state.swipingBack && ((_this$props$history$l = (_this$props$history = _this.props.history) === null || _this$props$history === void 0 ? void 0 : _this$props$history.length) !== null && _this$props$history$l !== void 0 ? _this$props$history$l : 0) > 1) {
|
|
136
|
+
if (_this.state.activePanel !== null) {
|
|
137
|
+
var _this$props$scroll;
|
|
138
|
+
|
|
139
|
+
var prevScrolls = _this.scrolls[_this.state.activePanel] || [];
|
|
140
|
+
_this.scrolls = (0, _objectSpread6.default)((0, _objectSpread6.default)({}, _this.scrolls), {}, (0, _defineProperty2.default)({}, _this.state.activePanel, [].concat((0, _toConsumableArray2.default)(prevScrolls), [(_this$props$scroll = _this.props.scroll) === null || _this$props$scroll === void 0 ? void 0 : _this$props$scroll.getScroll().y])));
|
|
141
|
+
}
|
|
136
142
|
|
|
137
143
|
_this.setState({
|
|
138
144
|
swipingBack: true,
|
|
@@ -160,7 +166,7 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
160
166
|
}
|
|
161
167
|
});
|
|
162
168
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onEnd", function (e) {
|
|
163
|
-
if (_this.state.swipingBack) {
|
|
169
|
+
if (_this.state.swipingBack && _this.window) {
|
|
164
170
|
var speed = _this.state.swipeBackShift / e.duration * 1000;
|
|
165
171
|
|
|
166
172
|
if (_this.state.swipeBackShift === 0) {
|
|
@@ -229,6 +235,8 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
229
235
|
this.props.modal && !prevProps.modal && this.blurActiveElement(); // Нужен переход
|
|
230
236
|
|
|
231
237
|
if (prevProps.activePanel !== this.props.activePanel && !prevState.swipingBack && !prevState.browserSwipe) {
|
|
238
|
+
var _this$props$scroll2;
|
|
239
|
+
|
|
232
240
|
var isBack = false;
|
|
233
241
|
|
|
234
242
|
if (this.props.isBackCheck) {
|
|
@@ -247,7 +255,7 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
247
255
|
|
|
248
256
|
this.blurActiveElement();
|
|
249
257
|
var prevScrolls = this.scrolls[prevProps.activePanel] || [];
|
|
250
|
-
var scrolls = (0,
|
|
258
|
+
var scrolls = (0, _objectSpread6.default)((0, _objectSpread6.default)({}, this.scrolls), {}, (0, _defineProperty2.default)({}, prevProps.activePanel, [].concat((0, _toConsumableArray2.default)(prevScrolls), [(_this$props$scroll2 = this.props.scroll) === null || _this$props$scroll2 === void 0 ? void 0 : _this$props$scroll2.getScroll().y])));
|
|
251
259
|
this.scrolls = scrolls;
|
|
252
260
|
|
|
253
261
|
if (this.shouldDisableTransitionMotion()) {
|
|
@@ -263,7 +271,10 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
263
271
|
}); // Фолбек анимации перехода
|
|
264
272
|
|
|
265
273
|
if (!_supportEvents.animationEvent.supported) {
|
|
266
|
-
|
|
274
|
+
if (this.animationFinishTimeout) {
|
|
275
|
+
clearTimeout(this.animationFinishTimeout);
|
|
276
|
+
}
|
|
277
|
+
|
|
267
278
|
this.animationFinishTimeout = setTimeout(this.transitionEndHandler, this.props.platform === _platform.ANDROID || this.props.platform === _platform.VKCOM ? 300 : 600);
|
|
268
279
|
}
|
|
269
280
|
}
|
|
@@ -271,14 +282,22 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
271
282
|
|
|
272
283
|
|
|
273
284
|
if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {
|
|
274
|
-
var _objectSpread4;
|
|
275
|
-
|
|
276
285
|
var nextPanel = this.state.swipeBackNextPanel;
|
|
277
286
|
var prevPanel = this.state.swipeBackPrevPanel;
|
|
278
|
-
var
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
287
|
+
var scrollPosition = undefined;
|
|
288
|
+
this.scrolls = (0, _objectSpread6.default)({}, this.scrolls);
|
|
289
|
+
|
|
290
|
+
if (prevPanel !== null) {
|
|
291
|
+
var prevPanelScrolls = (0, _toConsumableArray2.default)(this.scrolls[prevPanel] || []).slice(0, -1);
|
|
292
|
+
this.scrolls[prevPanel] = prevPanelScrolls;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
if (nextPanel !== null) {
|
|
296
|
+
var newPanelScrolls = (0, _toConsumableArray2.default)(this.scrolls[nextPanel] || []);
|
|
297
|
+
scrollPosition = newPanelScrolls.pop();
|
|
298
|
+
this.scrolls[nextPanel] = newPanelScrolls;
|
|
299
|
+
}
|
|
300
|
+
|
|
282
301
|
this.setState({
|
|
283
302
|
swipeBackPrevPanel: null,
|
|
284
303
|
swipeBackNextPanel: null,
|
|
@@ -289,8 +308,9 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
289
308
|
activePanel: nextPanel,
|
|
290
309
|
visiblePanels: [nextPanel]
|
|
291
310
|
}, function () {
|
|
292
|
-
_this2
|
|
311
|
+
var _this2$props$scroll;
|
|
293
312
|
|
|
313
|
+
(_this2$props$scroll = _this2.props.scroll) === null || _this2$props$scroll === void 0 ? void 0 : _this2$props$scroll.scrollTo(0, scrollPosition);
|
|
294
314
|
prevProps.onTransition && prevProps.onTransition({
|
|
295
315
|
isBack: true,
|
|
296
316
|
from: prevPanel,
|
|
@@ -310,13 +330,15 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
310
330
|
} // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)
|
|
311
331
|
|
|
312
332
|
|
|
313
|
-
if (prevState.swipeBackResult === SwipeBackResults.fail && !this.state.swipeBackResult) {
|
|
333
|
+
if (prevState.swipeBackResult === SwipeBackResults.fail && !this.state.swipeBackResult && this.state.activePanel !== null) {
|
|
334
|
+
var _this$props$scroll3;
|
|
335
|
+
|
|
314
336
|
var _newPanelScrolls = (0, _toConsumableArray2.default)(this.scrolls[this.state.activePanel] || []);
|
|
315
337
|
|
|
316
338
|
var _scrollPosition = _newPanelScrolls.pop();
|
|
317
339
|
|
|
318
|
-
this.scrolls = (0,
|
|
319
|
-
this.props.scroll.scrollTo(0, _scrollPosition);
|
|
340
|
+
this.scrolls = (0, _objectSpread6.default)((0, _objectSpread6.default)({}, this.scrolls), {}, (0, _defineProperty2.default)({}, this.state.activePanel, _newPanelScrolls));
|
|
341
|
+
(_this$props$scroll3 = this.props.scroll) === null || _this$props$scroll3 === void 0 ? void 0 : _this$props$scroll3.scrollTo(0, _scrollPosition);
|
|
320
342
|
} // Закончился Safari свайп
|
|
321
343
|
|
|
322
344
|
|
|
@@ -334,29 +356,40 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
334
356
|
}, {
|
|
335
357
|
key: "shouldDisableTransitionMotion",
|
|
336
358
|
value: function shouldDisableTransitionMotion() {
|
|
337
|
-
|
|
359
|
+
var _this$props$configPro, _this$props$splitCol;
|
|
360
|
+
|
|
361
|
+
return ((_this$props$configPro = this.props.configProvider) === null || _this$props$configPro === void 0 ? void 0 : _this$props$configPro.transitionMotionEnabled) === false || !((_this$props$splitCol = this.props.splitCol) !== null && _this$props$splitCol !== void 0 && _this$props$splitCol.animate);
|
|
338
362
|
}
|
|
339
363
|
}, {
|
|
340
364
|
key: "waitTransitionFinish",
|
|
341
365
|
value: function waitTransitionFinish(elem, eventHandler) {
|
|
342
|
-
if (_supportEvents.transitionEvent.supported) {
|
|
366
|
+
if (_supportEvents.transitionEvent.supported && _supportEvents.transitionEvent.name && elem) {
|
|
343
367
|
elem.removeEventListener(_supportEvents.transitionEvent.name, eventHandler);
|
|
344
368
|
elem.addEventListener(_supportEvents.transitionEvent.name, eventHandler);
|
|
345
369
|
} else {
|
|
346
|
-
|
|
370
|
+
if (this.transitionFinishTimeout) {
|
|
371
|
+
clearTimeout(this.transitionFinishTimeout);
|
|
372
|
+
}
|
|
373
|
+
|
|
347
374
|
this.transitionFinishTimeout = setTimeout(eventHandler, this.props.platform === _platform.ANDROID || this.props.platform === _platform.VKCOM ? 300 : 600);
|
|
348
375
|
}
|
|
349
376
|
}
|
|
350
377
|
}, {
|
|
351
378
|
key: "blurActiveElement",
|
|
352
379
|
value: function blurActiveElement() {
|
|
353
|
-
|
|
380
|
+
var _this$document;
|
|
381
|
+
|
|
382
|
+
if (typeof this.window !== "undefined" && (_this$document = this.document) !== null && _this$document !== void 0 && _this$document.activeElement) {
|
|
354
383
|
this.document.activeElement.blur();
|
|
355
384
|
}
|
|
356
385
|
}
|
|
357
386
|
}, {
|
|
358
387
|
key: "pickPanel",
|
|
359
388
|
value: function pickPanel(id) {
|
|
389
|
+
if (id === null) {
|
|
390
|
+
return undefined;
|
|
391
|
+
}
|
|
392
|
+
|
|
360
393
|
return this.panelNodes[id];
|
|
361
394
|
}
|
|
362
395
|
}, {
|
|
@@ -370,9 +403,9 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
370
403
|
var scrollPosition = isBack ? newPanelScrolls.pop() : 0;
|
|
371
404
|
|
|
372
405
|
if (isBack) {
|
|
373
|
-
var
|
|
406
|
+
var _objectSpread5;
|
|
374
407
|
|
|
375
|
-
this.scrolls = (0,
|
|
408
|
+
this.scrolls = (0, _objectSpread6.default)((0, _objectSpread6.default)({}, this.scrolls), {}, (_objectSpread5 = {}, (0, _defineProperty2.default)(_objectSpread5, prevPanel, prevPanelScrolls), (0, _defineProperty2.default)(_objectSpread5, activePanel, newPanelScrolls), _objectSpread5));
|
|
376
409
|
}
|
|
377
410
|
|
|
378
411
|
this.setState({
|
|
@@ -383,8 +416,9 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
383
416
|
animated: false,
|
|
384
417
|
isBack: undefined
|
|
385
418
|
}, function () {
|
|
386
|
-
_this3
|
|
419
|
+
var _this3$props$scroll;
|
|
387
420
|
|
|
421
|
+
(_this3$props$scroll = _this3.props.scroll) === null || _this3$props$scroll === void 0 ? void 0 : _this3$props$scroll.scrollTo(0, isBack ? scrollPosition : 0);
|
|
388
422
|
_this3.props.onTransition && _this3.props.onTransition({
|
|
389
423
|
isBack: isBack,
|
|
390
424
|
from: prevPanel,
|
|
@@ -413,7 +447,7 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
413
447
|
}, {
|
|
414
448
|
key: "calcPanelSwipeStyles",
|
|
415
449
|
value: function calcPanelSwipeStyles(panelId) {
|
|
416
|
-
if (!_dom.canUseDOM) {
|
|
450
|
+
if (!_dom.canUseDOM || !this.window) {
|
|
417
451
|
return {};
|
|
418
452
|
}
|
|
419
453
|
|
|
@@ -489,7 +523,7 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
489
523
|
var hasModal = !!modal;
|
|
490
524
|
var panels = this.panels.filter(function (panel) {
|
|
491
525
|
var panelId = (0, _getNavId.getNavId)(panel.props, warn);
|
|
492
|
-
return _this4.state.visiblePanels.includes(panelId) || panelId === swipeBackPrevPanel || panelId === swipeBackNextPanel;
|
|
526
|
+
return panelId !== undefined && _this4.state.visiblePanels.includes(panelId) || panelId === swipeBackPrevPanel || panelId === swipeBackNextPanel;
|
|
493
527
|
}).sort(function (panel) {
|
|
494
528
|
var panelId = (0, _getNavId.getNavId)(panel.props, warn);
|
|
495
529
|
var isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;
|
|
@@ -524,7 +558,7 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
524
558
|
var isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;
|
|
525
559
|
var compensateScroll = isPrev || panelId === swipeBackNextPanel || panelId === nextPanel && isBack;
|
|
526
560
|
var isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);
|
|
527
|
-
var scrollList = _this4.scrolls[panelId] || [];
|
|
561
|
+
var scrollList = panelId && _this4.scrolls[panelId] || [];
|
|
528
562
|
var scroll = scrollList[scrollList.length - 1] || 0;
|
|
529
563
|
return (0, _jsxRuntime.createScopedElement)("div", {
|
|
530
564
|
vkuiClass: (0, _classNames.classNames)("View__panel", {
|
|
@@ -536,16 +570,16 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
536
570
|
"View__panel--swipe-back-success": swipeBackResult === SwipeBackResults.success,
|
|
537
571
|
"View__panel--swipe-back-failed": swipeBackResult === SwipeBackResults.fail
|
|
538
572
|
}),
|
|
539
|
-
onAnimationEnd: isTransitionTarget ? _this4.transitionEndHandler :
|
|
573
|
+
onAnimationEnd: isTransitionTarget ? _this4.transitionEndHandler : undefined,
|
|
540
574
|
ref: function ref(el) {
|
|
541
|
-
return _this4.panelNodes[panelId] = el;
|
|
575
|
+
return panelId !== undefined && (_this4.panelNodes[panelId] = el);
|
|
542
576
|
},
|
|
543
577
|
style: _this4.calcPanelSwipeStyles(panelId),
|
|
544
578
|
key: panelId
|
|
545
579
|
}, (0, _jsxRuntime.createScopedElement)("div", {
|
|
546
580
|
vkuiClass: "View__panel-in",
|
|
547
581
|
style: {
|
|
548
|
-
marginTop: compensateScroll ? -scroll :
|
|
582
|
+
marginTop: compensateScroll ? -scroll : undefined
|
|
549
583
|
}
|
|
550
584
|
}, (0, _jsxRuntime.createScopedElement)(_NavTransitionContext.NavTransitionProvider, {
|
|
551
585
|
entering: panelId === nextPanel || panelId === swipeBackNextPanel
|
|
@@ -558,7 +592,8 @@ var ViewInfinite = /*#__PURE__*/function (_React$Component) {
|
|
|
558
592
|
}
|
|
559
593
|
}]);
|
|
560
594
|
return ViewInfinite;
|
|
561
|
-
}(React.Component);
|
|
595
|
+
}(React.Component); // eslint-disable-next-line import/no-default-export
|
|
596
|
+
|
|
562
597
|
|
|
563
598
|
(0, _defineProperty2.default)(ViewInfinite, "defaultProps", {
|
|
564
599
|
history: []
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"names":["warn","SwipeBackResults","scrollsCache","ViewInfinite","props","e","includes","animationName","flushTransition","state","prevPanel","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","platform","configProvider","IOS","isWebView","startX","window","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","prevScrolls","scrolls","activePanel","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","undefined","nextPanel","document","React","Children","toArray","children","id","prevProps","prevState","popout","blurActiveElement","modal","isBackCheck","from","to","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","animationEvent","supported","clearTimeout","animationFinishTimeout","setTimeout","transitionEndHandler","ANDROID","VKCOM","prevPanelScrolls","newPanelScrolls","scrollPosition","pop","scrollTo","onTransition","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","transitionEvent","removeEventListener","name","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","canUseDOM","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","sort","isPrevPanel","isNextPanel","disableAnimation","modifiers","onMoveX","onEnd","compensateScroll","isTransitionTarget","scrollList","el","calcPanelSwipeStyles","marginTop","Component","SplitColContext","ConfigProviderContext","ScrollContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nconst warn = warnOnce(\"ViewInfinite\");\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: number[];\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nlet scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string; to: string };\n\nexport interface ViewInfiniteProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n isBackCheck?(params: TransitionParams): boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: string[];\n activePanel: string;\n isBack: boolean;\n prevPanel: string;\n nextPanel: string;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string;\n swipeBackPrevPanel: string;\n swipeBackResult: SwipeBackResults;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfinite extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private scrolls = scrollsCache[getNavId(this.props, warn)] || {};\n private transitionFinishTimeout: ReturnType<typeof setTimeout>;\n private animationFinishTimeout: ReturnType<typeof setTimeout>;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n }\n\n componentDidUpdate(\n prevProps: ViewInfiniteProps,\n prevState: ViewInfiniteState\n ) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) =>\n id === prevProps.activePanel || id === this.props.activePanel\n );\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [\n ...prevScrolls,\n this.props.scroll.getScroll().y,\n ],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n clearTimeout(this.animationFinishTimeout);\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(\n 0,\n -1\n );\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [nextPanel]: newPanelScrolls,\n [prevPanel]: prevPanelScrolls,\n };\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider.transitionMotionEnabled === false ||\n !this.props.splitCol.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported) {\n elem.removeEventListener(transitionEvent.name, eventHandler);\n elem.addEventListener(transitionEvent.name, eventHandler);\n } else {\n clearTimeout(this.transitionFinishTimeout);\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string) {\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n !e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)\n ) {\n this.flushTransition(this.state.prevPanel, this.state.isBack);\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes(\"transform\") &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e)) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider.isWebView &&\n (e.startX <= 70 || e.startX >= this.window.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider.isWebView &&\n this.props.onSwipeBack\n ) {\n if (this.state.animated && e.startX <= 70) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n this.props.history.length > 1\n ) {\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [\n ...prevScrolls,\n this.props.scroll.getScroll().y,\n ],\n };\n\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string): React.CSSProperties {\n if (!canUseDOM) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n this.state.visiblePanels.includes(panelId) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel =\n panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && this.state.animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = this.scrolls[panelId] || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : null\n }\n ref={(el) => (this.panelNodes[panelId] = el)}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{ marginTop: compensateScroll ? -scroll : null }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\nexport default withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfinite)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"ViewInfinite.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"names":["warn","SwipeBackResults","scrollsCache","ViewInfinite","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","window","platform","configProvider","IOS","isWebView","startX","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","prevScrolls","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","React","Children","toArray","children","id","prevProps","prevState","popout","blurActiveElement","modal","isBackCheck","from","to","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","animationEvent","supported","animationFinishTimeout","clearTimeout","setTimeout","transitionEndHandler","ANDROID","VKCOM","scrollPosition","prevPanelScrolls","newPanelScrolls","pop","scrollTo","onTransition","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","transitionEvent","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","canUseDOM","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","sort","isPrevPanel","isNextPanel","disableAnimation","modifiers","onMoveX","onEnd","compensateScroll","isTransitionTarget","scrollList","el","calcPanelSwipeStyles","marginTop","Component","SplitColContext","ConfigProviderContext","ScrollContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;;AAGA,IAAMA,IAAI,GAAG,wBAAS,cAAT,CAAb;IAEKC,gB;;WAAAA,gB;AAAAA,EAAAA,gB,CAAAA,gB;AAAAA,EAAAA,gB,CAAAA,gB;GAAAA,gB,KAAAA,gB;;AAeL,IAAIC,YAA0B,GAAG,EAAjC;;IA2DMC,Y;;;;;AAIJ,wBAAYC,KAAZ,EAAsC;AAAA;;AAAA;AACpC,8BAAMA,KAAN;AADoC,0FA2BpBF,YAAY,CAAC,wBAAS,MAAKE,KAAd,EAAqBJ,IAArB,CAAD,CAAZ,IAAsD,EA3BlC;AAAA,0GA4BgBK,SA5BhB;AAAA,yGA6BeA,SA7Bf;AAAA,6FA2CgB,EA3ChB;AAAA,uGAqSf,UAACC,CAAD,EAAoC;AACzD,UACE,CAAC,CAACA,CAAD,IACC,CACE,iCADF,EAEE,8BAFF,EAGE,kCAHF,EAIE,+BAJF,EAKEC,QALF,CAKWD,CAAC,CAACE,aALb,CADF,KAOA,MAAKC,KAAL,CAAWC,SAAX,KAAyB,IAR3B,EASE;AACA,cAAKC,eAAL,CAAqB,MAAKF,KAAL,CAAWC,SAAhC,EAA2CE,OAAO,CAAC,MAAKH,KAAL,CAAWI,MAAZ,CAAlD;AACD;AACF,KAlTqC;AAAA,kHAoTJ,UAACP,CAAD,EAA+B;AAC/D;AACA,UACE,CAACA,CAAD,IACCA,CAAC,CAACQ,YAAF,CAAeP,QAAf,CAAwB,WAAxB,KACCD,CAAC,CAACS,MAAF,KAAa,MAAKC,SAAL,CAAe,MAAKP,KAAL,CAAWQ,kBAA1B,CAHjB,EAIE;AACA,gBAAQ,MAAKR,KAAL,CAAWS,eAAnB;AACE,eAAKjB,gBAAgB,CAACkB,IAAtB;AACE,kBAAKC,iBAAL;;AACA;;AACF,eAAKnB,gBAAgB,CAACoB,OAAtB;AACE,kBAAKC,kBAAL;;AALJ;AAOD;AACF,KAnUqC;AAAA,0FAqV5B,UAAChB,CAAD,EAAyB;AACjC,UAAI,8BAAkBA,CAAlB,KAAwB,CAAC,MAAKiB,MAAlC,EAA0C;AACxC;AACD;;AAED,wBAAqC,MAAKnB,KAA1C;AAAA,UAAQoB,QAAR,eAAQA,QAAR;AAAA,UAAkBC,cAAlB,eAAkBA,cAAlB;;AAEA,UACED,QAAQ,KAAKE,aAAb,IACA,EAACD,cAAD,aAACA,cAAD,eAACA,cAAc,CAAEE,SAAjB,CADA,KAECrB,CAAC,CAACsB,MAAF,IAAY,EAAZ,IAAkBtB,CAAC,CAACsB,MAAF,IAAY,MAAKL,MAAL,CAAYM,UAAZ,GAAyB,EAFxD,KAGA,CAAC,MAAKpB,KAAL,CAAWqB,YAJd,EAKE;AACA,cAAKC,QAAL,CAAc;AAAED,UAAAA,YAAY,EAAE;AAAhB,SAAd;AACD;;AAED,UACEN,QAAQ,KAAKE,aAAb,IACAD,cADA,aACAA,cADA,eACAA,cAAc,CAAEE,SADhB,IAEA,MAAKvB,KAAL,CAAW4B,WAHb,EAIE;AAAA;;AACA,YAAI,MAAKvB,KAAL,CAAWwB,QAAX,IAAuB3B,CAAC,CAACsB,MAAF,IAAY,EAAvC,EAA2C;AACzC;AACD;;AAED,YACEtB,CAAC,CAACsB,MAAF,IAAY,EAAZ,IACA,CAAC,MAAKnB,KAAL,CAAWyB,WADZ,IAEA,iDAAC,MAAK9B,KAAL,CAAW+B,OAAZ,wDAAC,oBAAoBC,MAArB,yEAA+B,CAA/B,IAAoC,CAHtC,EAIE;AACA,cAAI,MAAK3B,KAAL,CAAW4B,WAAX,KAA2B,IAA/B,EAAqC;AAAA;;AACnC,gBAAMC,WAAW,GAAG,MAAKC,OAAL,CAAa,MAAK9B,KAAL,CAAW4B,WAAxB,KAAwC,EAA5D;AACA,kBAAKE,OAAL,+DACK,MAAKA,OADV,yCAEG,MAAK9B,KAAL,CAAW4B,WAFd,6CAGOC,WAHP,0BAII,MAAKlC,KAAL,CAAWoC,MAJf,uDAII,mBAAmBC,SAAnB,GAA+BC,CAJnC;AAOD;;AAED,gBAAKX,QAAL,CAAc;AACZG,YAAAA,WAAW,EAAE,IADD;AAEZS,YAAAA,eAAe,EAAErC,CAAC,CAACsB,MAFP;AAGZgB,YAAAA,kBAAkB,EAAE,MAAKnC,KAAL,CAAW4B,WAHnB;AAIZpB,YAAAA,kBAAkB,EAAE,MAAKb,KAAL,CAAW+B,OAAX,CAAoBU,KAApB,CAA0B,CAAC,CAA3B,EAA8B,CAA9B;AAJR,WAAd;AAMD;;AACD,YAAI,MAAKpC,KAAL,CAAWyB,WAAf,EAA4B;AAC1B,cAAIY,cAAJ;;AACA,cAAIxC,CAAC,CAACyC,MAAF,GAAW,CAAf,EAAkB;AAChBD,YAAAA,cAAc,GAAG,CAAjB;AACD,WAFD,MAEO,IACLxC,CAAC,CAACyC,MAAF,GACA,MAAKxB,MAAL,CAAYM,UAAZ,GAAyB,MAAKpB,KAAL,CAAWkC,eAF/B,EAGL;AACAG,YAAAA,cAAc,GAAG,MAAKvB,MAAL,CAAYM,UAA7B;AACD,WALM,MAKA;AACLiB,YAAAA,cAAc,GAAGxC,CAAC,CAACyC,MAAnB;AACD;;AACD,gBAAKhB,QAAL,CAAc;AAAEe,YAAAA,cAAc,EAAdA;AAAF,WAAd;AACD;AACF;AACF,KApZqC;AAAA,wFAsZ9B,UAACxC,CAAD,EAAyB;AAC/B,UAAI,MAAKG,KAAL,CAAWyB,WAAX,IAA0B,MAAKX,MAAnC,EAA2C;AACzC,YAAMyB,KAAK,GAAI,MAAKvC,KAAL,CAAWqC,cAAX,GAA4BxC,CAAC,CAAC2C,QAA/B,GAA2C,IAAzD;;AACA,YAAI,MAAKxC,KAAL,CAAWqC,cAAX,KAA8B,CAAlC,EAAqC;AACnC,gBAAK1B,iBAAL;AACD,SAFD,MAEO,IAAI,MAAKX,KAAL,CAAWqC,cAAX,IAA6B,MAAKvB,MAAL,CAAYM,UAA7C,EAAyD;AAC9D,gBAAKP,kBAAL;AACD,SAFM,MAEA,IACL0B,KAAK,GAAG,GAAR,IACA,MAAKvC,KAAL,CAAWkC,eAAX,GAA6B,MAAKlC,KAAL,CAAWqC,cAAxC,GACE,MAAKvB,MAAL,CAAYM,UAAZ,GAAyB,CAHtB,EAIL;AACA,gBAAKE,QAAL,CAAc;AAAEb,YAAAA,eAAe,EAAEjB,gBAAgB,CAACoB;AAApC,WAAd;AACD,SANM,MAMA;AACL,gBAAKU,QAAL,CAAc;AAAEb,YAAAA,eAAe,EAAEjB,gBAAgB,CAACkB;AAApC,WAAd;AACD;AACF;AACF,KAvaqC;AAGpC,UAAKV,KAAL,GAAa;AACXwB,MAAAA,QAAQ,EAAE,KADC;AAGXiB,MAAAA,aAAa,EAAE,CAAC9C,KAAK,CAACiC,WAAP,CAHJ;AAIXA,MAAAA,WAAW,EAAEjC,KAAK,CAACiC,WAJR;AAKXxB,MAAAA,MAAM,EAAER,SALG;AAMXK,MAAAA,SAAS,EAAE,IANA;AAOXyC,MAAAA,SAAS,EAAE,IAPA;AASXjB,MAAAA,WAAW,EAAE,KATF;AAUXS,MAAAA,eAAe,EAAE,CAVN;AAWXG,MAAAA,cAAc,EAAE,CAXL;AAYX7B,MAAAA,kBAAkB,EAAE,IAZT;AAaX2B,MAAAA,kBAAkB,EAAE,IAbT;AAcX1B,MAAAA,eAAe,EAAE,IAdN;AAgBXY,MAAAA,YAAY,EAAE;AAhBH,KAAb;AAHoC;AAqBrC;;;;SAUD,eAAe;AACb,aAAO,KAAK1B,KAAL,CAAWgD,QAAlB;AACD;;;SAED,eAAa;AACX,aAAO,KAAKhD,KAAL,CAAWmB,MAAlB;AACD;;;SAED,eAAa;AACX,aAAO8B,KAAK,CAACC,QAAN,CAAeC,OAAf,CAAuB,KAAKnD,KAAL,CAAWoD,QAAlC,CAAP;AACD;;;WAID,gCAAuB;AACrB,UAAMC,EAAE,GAAG,wBAAS,KAAKrD,KAAd,CAAX;;AACA,UAAIqD,EAAJ,EAAQ;AACNvD,QAAAA,YAAY,CAACuD,EAAD,CAAZ,GAAmB,KAAKlB,OAAxB;AACD;AACF;;;WAED,4BACEmB,SADF,EAEEC,SAFF,EAGE;AAAA;;AACA,WAAKvD,KAAL,CAAWwD,MAAX,IAAqB,CAACF,SAAS,CAACE,MAAhC,IAA0C,KAAKC,iBAAL,EAA1C;AACA,WAAKzD,KAAL,CAAW0D,KAAX,IAAoB,CAACJ,SAAS,CAACI,KAA/B,IAAwC,KAAKD,iBAAL,EAAxC,CAFA,CAIA;;AACA,UACEH,SAAS,CAACrB,WAAV,KAA0B,KAAKjC,KAAL,CAAWiC,WAArC,IACA,CAACsB,SAAS,CAACzB,WADX,IAEA,CAACyB,SAAS,CAAC7B,YAHb,EAIE;AAAA;;AACA,YAAIjB,MAAM,GAAG,KAAb;;AAEA,YAAI,KAAKT,KAAL,CAAW2D,WAAf,EAA4B;AAC1BlD,UAAAA,MAAM,GAAG,KAAKT,KAAL,CAAW2D,WAAX,CAAuB;AAC9BC,YAAAA,IAAI,EAAEN,SAAS,CAACrB,WADc;AAE9B4B,YAAAA,EAAE,EAAE,KAAK7D,KAAL,CAAWiC;AAFe,WAAvB,CAAT;AAID,SALD,MAKO;AACL,cAAM6B,YAAY,GAAG,KAAKC,MAAL,CAClBC,GADkB,CACd,UAACC,KAAD;AAAA,mBAAW,wBAASA,KAAK,CAACjE,KAAf,EAAsBJ,IAAtB,CAAX;AAAA,WADc,EAElBsE,IAFkB,CAGjB,UAACb,EAAD;AAAA,mBACEA,EAAE,KAAKC,SAAS,CAACrB,WAAjB,IAAgCoB,EAAE,KAAK,MAAI,CAACrD,KAAL,CAAWiC,WADpD;AAAA,WAHiB,CAArB;AAMAxB,UAAAA,MAAM,GAAGqD,YAAY,KAAK,KAAK9D,KAAL,CAAWiC,WAArC;AACD;;AAED,aAAKwB,iBAAL;AAEA,YAAMvB,WAAW,GAAG,KAAKC,OAAL,CAAamB,SAAS,CAACrB,WAAvB,KAAuC,EAA3D;AACA,YAAME,OAAO,+DACR,KAAKA,OADG,yCAEVmB,SAAS,CAACrB,WAFA,6CAGNC,WAHM,2BAIT,KAAKlC,KAAL,CAAWoC,MAJF,wDAIT,oBAAmBC,SAAnB,GAA+BC,CAJtB,IAAb;AAOA,aAAKH,OAAL,GAAeA,OAAf;;AAEA,YAAI,KAAKgC,6BAAL,EAAJ,EAA0C;AACxC,eAAK5D,eAAL,CAAqB+C,SAAS,CAACrB,WAA/B,EAA4CxB,MAA5C;AACD,SAFD,MAEO;AACL,eAAKkB,QAAL,CAAc;AACZmB,YAAAA,aAAa,EAAE,CAACQ,SAAS,CAACrB,WAAX,EAAwB,KAAKjC,KAAL,CAAWiC,WAAnC,CADH;AAEZ3B,YAAAA,SAAS,EAAEgD,SAAS,CAACrB,WAFT;AAGZc,YAAAA,SAAS,EAAE,KAAK/C,KAAL,CAAWiC,WAHV;AAIZA,YAAAA,WAAW,EAAE,IAJD;AAKZJ,YAAAA,QAAQ,EAAE,IALE;AAMZpB,YAAAA,MAAM,EAANA;AANY,WAAd,EADK,CAUL;;AACA,cAAI,CAAC2D,8BAAeC,SAApB,EAA+B;AAC7B,gBAAI,KAAKC,sBAAT,EAAiC;AAC/BC,cAAAA,YAAY,CAAC,KAAKD,sBAAN,CAAZ;AACD;;AACD,iBAAKA,sBAAL,GAA8BE,UAAU,CACtC,KAAKC,oBADiC,EAEtC,KAAKzE,KAAL,CAAWoB,QAAX,KAAwBsD,iBAAxB,IAAmC,KAAK1E,KAAL,CAAWoB,QAAX,KAAwBuD,eAA3D,GACI,GADJ,GAEI,GAJkC,CAAxC;AAMD;AACF;AACF,OAhED,CAkEA;;;AACA,UACErB,SAAS,CAACrB,WAAV,KAA0B,KAAKjC,KAAL,CAAWiC,WAArC,IACAsB,SAAS,CAACzB,WAFZ,EAGE;AACA,YAAMiB,SAAS,GAAG,KAAK1C,KAAL,CAAWQ,kBAA7B;AACA,YAAMP,SAAS,GAAG,KAAKD,KAAL,CAAWmC,kBAA7B;AACA,YAAIoC,cAAkC,GAAG3E,SAAzC;AAEA,aAAKkC,OAAL,mCACK,KAAKA,OADV;;AAIA,YAAI7B,SAAS,KAAK,IAAlB,EAAwB;AACtB,cAAMuE,gBAAgB,GAAG,iCAAK,KAAK1C,OAAL,CAAa7B,SAAb,KAA2B,EAAhC,EAAqCmC,KAArC,CACvB,CADuB,EAEvB,CAAC,CAFsB,CAAzB;AAIA,eAAKN,OAAL,CAAa7B,SAAb,IAA0BuE,gBAA1B;AACD;;AACD,YAAI9B,SAAS,KAAK,IAAlB,EAAwB;AACtB,cAAM+B,eAAe,oCAAQ,KAAK3C,OAAL,CAAaY,SAAb,KAA2B,EAAnC,CAArB;AACA6B,UAAAA,cAAc,GAAGE,eAAe,CAACC,GAAhB,EAAjB;AACA,eAAK5C,OAAL,CAAaY,SAAb,IAA0B+B,eAA1B;AACD;;AAED,aAAKnD,QAAL,CACE;AACEa,UAAAA,kBAAkB,EAAE,IADtB;AAEE3B,UAAAA,kBAAkB,EAAE,IAFtB;AAGEiB,UAAAA,WAAW,EAAE,KAHf;AAIEhB,UAAAA,eAAe,EAAE,IAJnB;AAKEyB,UAAAA,eAAe,EAAE,CALnB;AAMEG,UAAAA,cAAc,EAAE,CANlB;AAOET,UAAAA,WAAW,EAAEc,SAPf;AAQED,UAAAA,aAAa,EAAE,CAACC,SAAD;AARjB,SADF,EAWE,YAAM;AAAA;;AACJ,iCAAA,MAAI,CAAC/C,KAAL,CAAWoC,MAAX,4EAAmB4C,QAAnB,CAA4B,CAA5B,EAA+BJ,cAA/B;AACAtB,UAAAA,SAAS,CAAC2B,YAAV,IACE3B,SAAS,CAAC2B,YAAV,CAAuB;AACrBxE,YAAAA,MAAM,EAAE,IADa;AAErBmD,YAAAA,IAAI,EAAEtD,SAFe;AAGrBuD,YAAAA,EAAE,EAAEd;AAHiB,WAAvB,CADF;AAMD,SAnBH;AAqBD,OAjHD,CAmHA;;;AACA,UAAI,CAACQ,SAAS,CAACzB,WAAX,IAA0B,KAAKzB,KAAL,CAAWyB,WAAzC,EAAsD;AACpD,aAAK9B,KAAL,CAAWkF,gBAAX,IAA+B,KAAKlF,KAAL,CAAWkF,gBAAX,EAA/B;AACD,OAtHD,CAwHA;;;AACA,UAAI,CAAC3B,SAAS,CAACzC,eAAX,IAA8B,KAAKT,KAAL,CAAWS,eAA7C,EAA8D;AAC5D,aAAKqE,oBAAL,CACE,KAAKvE,SAAL,CAAe,KAAKP,KAAL,CAAWQ,kBAA1B,CADF,EAEE,KAAKuE,+BAFP;AAID,OA9HD,CAgIA;;;AACA,UACE7B,SAAS,CAACzC,eAAV,KAA8BjB,gBAAgB,CAACkB,IAA/C,IACA,CAAC,KAAKV,KAAL,CAAWS,eADZ,IAEA,KAAKT,KAAL,CAAW4B,WAAX,KAA2B,IAH7B,EAIE;AAAA;;AACA,YAAM6C,gBAAe,oCAAQ,KAAK3C,OAAL,CAAa,KAAK9B,KAAL,CAAW4B,WAAxB,KAAwC,EAAhD,CAArB;;AACA,YAAM2C,eAAc,GAAGE,gBAAe,CAACC,GAAhB,EAAvB;;AACA,aAAK5C,OAAL,+DACK,KAAKA,OADV,yCAEG,KAAK9B,KAAL,CAAW4B,WAFd,EAE4B6C,gBAF5B;AAKA,oCAAK9E,KAAL,CAAWoC,MAAX,4EAAmB4C,QAAnB,CAA4B,CAA5B,EAA+BJ,eAA/B;AACD,OA9ID,CAgJA;;;AACA,UACEtB,SAAS,CAACrB,WAAV,KAA0B,KAAKjC,KAAL,CAAWiC,WAArC,IACA,KAAK5B,KAAL,CAAWqB,YAFb,EAGE;AACA,aAAKC,QAAL,CAAc;AACZD,UAAAA,YAAY,EAAE,KADF;AAEZqB,UAAAA,SAAS,EAAE,IAFC;AAGZzC,UAAAA,SAAS,EAAE,IAHC;AAIZuB,UAAAA,QAAQ,EAAE,KAJE;AAKZiB,UAAAA,aAAa,EAAE,CAAC,KAAK9C,KAAL,CAAWiC,WAAZ,CALH;AAMZA,UAAAA,WAAW,EAAE,KAAKjC,KAAL,CAAWiC;AANZ,SAAd;AAQD;AACF;;;WAED,yCAAyC;AAAA;;AACvC,aACE,+BAAKjC,KAAL,CAAWqB,cAAX,gFAA2BgE,uBAA3B,MAAuD,KAAvD,IACA,0BAAC,KAAKrF,KAAL,CAAWsF,QAAZ,iDAAC,qBAAqBC,OAAtB,CAFF;AAID;;;WAED,8BACEC,IADF,EAEEC,YAFF,EAGQ;AACN,UAAIC,+BAAgBrB,SAAhB,IAA6BqB,+BAAgBC,IAA7C,IAAqDH,IAAzD,EAA+D;AAC7DA,QAAAA,IAAI,CAACI,mBAAL,CACEF,+BAAgBC,IADlB,EAEEF,YAFF;AAIAD,QAAAA,IAAI,CAACK,gBAAL,CACEH,+BAAgBC,IADlB,EAEEF,YAFF;AAID,OATD,MASO;AACL,YAAI,KAAKK,uBAAT,EAAkC;AAChCvB,UAAAA,YAAY,CAAC,KAAKuB,uBAAN,CAAZ;AACD;;AAED,aAAKA,uBAAL,GAA+BtB,UAAU,CACvCiB,YADuC,EAEvC,KAAKzF,KAAL,CAAWoB,QAAX,KAAwBsD,iBAAxB,IAAmC,KAAK1E,KAAL,CAAWoB,QAAX,KAAwBuD,eAA3D,GACI,GADJ,GAEI,GAJmC,CAAzC;AAMD;AACF;;;WAED,6BAA0B;AAAA;;AACxB,UAAI,OAAO,KAAKxD,MAAZ,KAAuB,WAAvB,sBAAsC,KAAK6B,QAA3C,2CAAsC,eAAe+C,aAAzD,EAAwE;AACrE,aAAK/C,QAAL,CAAc+C,aAAf,CAA6CC,IAA7C;AACD;AACF;;;WAED,mBAAU3C,EAAV,EAA6B;AAC3B,UAAIA,EAAE,KAAK,IAAX,EAAiB;AACf,eAAOpD,SAAP;AACD;;AACD,aAAO,KAAKgG,UAAL,CAAgB5C,EAAhB,CAAP;AACD;;;WAED,yBAAgB/C,SAAhB,EAAmCG,MAAnC,EAAoD;AAAA;;AAClD,UAAMwB,WAAW,GAAG,KAAKjC,KAAL,CAAWiC,WAA/B;AAEA,UAAM4C,gBAAgB,GAAG,iCAAK,KAAK1C,OAAL,CAAa7B,SAAb,KAA2B,EAAhC,EAAqCmC,KAArC,CAA2C,CAA3C,EAA8C,CAAC,CAA/C,CAAzB;AACA,UAAMqC,eAAe,oCAAQ,KAAK3C,OAAL,CAAaF,WAAb,KAA6B,EAArC,CAArB;AACA,UAAM2C,cAAc,GAAGnE,MAAM,GAAGqE,eAAe,CAACC,GAAhB,EAAH,GAA2B,CAAxD;;AACA,UAAItE,MAAJ,EAAY;AAAA;;AACV,aAAK0B,OAAL,+DACK,KAAKA,OADV,2EAEG7B,SAFH,EAEeuE,gBAFf,iDAGG5C,WAHH,EAGiB6C,eAHjB;AAKD;;AAED,WAAKnD,QAAL,CACE;AACErB,QAAAA,SAAS,EAAE,IADb;AAEEyC,QAAAA,SAAS,EAAE,IAFb;AAGED,QAAAA,aAAa,EAAE,CAACb,WAAD,CAHjB;AAIEA,QAAAA,WAAW,EAAEA,WAJf;AAKEJ,QAAAA,QAAQ,EAAE,KALZ;AAMEpB,QAAAA,MAAM,EAAER;AANV,OADF,EASE,YAAM;AAAA;;AACJ,+BAAA,MAAI,CAACD,KAAL,CAAWoC,MAAX,4EAAmB4C,QAAnB,CAA4B,CAA5B,EAA+BvE,MAAM,GAAGmE,cAAH,GAAoB,CAAzD;AACA,QAAA,MAAI,CAAC5E,KAAL,CAAWiF,YAAX,IACE,MAAI,CAACjF,KAAL,CAAWiF,YAAX,CAAwB;AAAExE,UAAAA,MAAM,EAANA,MAAF;AAAUmD,UAAAA,IAAI,EAAEtD,SAAhB;AAA2BuD,UAAAA,EAAE,EAAE5B;AAA/B,SAAxB,CADF;AAED,OAbH;AAeD;;;WAkCD,8BAA2B;AACzB,WAAKjC,KAAL,CAAW4B,WAAX,IAA0B,KAAK5B,KAAL,CAAW4B,WAAX,EAA1B;AACD;;;WAED,6BAA0B;AACxB,WAAK5B,KAAL,CAAWgB,iBAAX,IAAgC,KAAKhB,KAAL,CAAWgB,iBAAX,EAAhC;AACA,WAAKW,QAAL,CAAc;AACZa,QAAAA,kBAAkB,EAAE,IADR;AAEZ3B,QAAAA,kBAAkB,EAAE,IAFR;AAGZiB,QAAAA,WAAW,EAAE,KAHD;AAIZhB,QAAAA,eAAe,EAAE,IAJL;AAKZyB,QAAAA,eAAe,EAAE,CALL;AAMZG,QAAAA,cAAc,EAAE;AANJ,OAAd;AAQD;;;WAsFD,8BAAqBwD,OAArB,EAAuE;AACrE,UAAI,CAACC,cAAD,IAAc,CAAC,KAAKhF,MAAxB,EAAgC;AAC9B,eAAO,EAAP;AACD;;AAED,UAAMiF,MAAM,GAAGF,OAAO,KAAK,KAAK7F,KAAL,CAAWmC,kBAAtC;AACA,UAAM6D,MAAM,GAAGH,OAAO,KAAK,KAAK7F,KAAL,CAAWQ,kBAAtC;;AAEA,UAAK,CAACuF,MAAD,IAAW,CAACC,MAAb,IAAwB,KAAKhG,KAAL,CAAWS,eAAvC,EAAwD;AACtD,eAAO,EAAP;AACD;;AAED,UAAIwF,kBAAkB,aAAM,KAAKjG,KAAL,CAAWqC,cAAjB,OAAtB;AACA,UAAI6D,kBAAkB,aACpB,CAAC,EAAD,GAAO,KAAKlG,KAAL,CAAWqC,cAAX,GAA4B,GAA7B,GAAoC,KAAKvB,MAAL,CAAYM,UAAhD,GAA6D,CAD/C,MAAtB;AAGA,UAAI+E,eAAe,GAChB,OAAO,KAAKrF,MAAL,CAAYM,UAAZ,GAAyB,KAAKpB,KAAL,CAAWqC,cAA3C,CAAD,GACA,KAAKvB,MAAL,CAAYM,UAFd;;AAIA,UAAI,KAAKpB,KAAL,CAAWS,eAAf,EAAgC;AAC9B,eAAOsF,MAAM,GACT;AAAEK,UAAAA,SAAS,sCAA+BD,eAA/B;AAAX,SADS,GAET,EAFJ;AAGD;;AAED,UAAIH,MAAJ,EAAY;AACV,eAAO;AACLK,UAAAA,SAAS,wBAAiBH,kBAAjB,YADJ;AAELI,UAAAA,eAAe,wBAAiBJ,kBAAjB;AAFV,SAAP;AAID;;AACD,UAAIH,MAAJ,EAAY;AACV,eAAO;AACLM,UAAAA,SAAS,wBAAiBJ,kBAAjB,YADJ;AAELK,UAAAA,eAAe,wBAAiBL,kBAAjB,YAFV;AAGLG,UAAAA,SAAS,sCAA+BD,eAA/B;AAHJ,SAAP;AAKD;;AAED,aAAO,EAAP;AACD;;;WAED,kBAAS;AAAA;;AACP,yBAmBI,KAAKxG,KAnBT;AAAA,UACEwD,MADF,gBACEA,MADF;AAAA,UAEEE,KAFF,gBAEEA,KAFF;AAAA,UAGEtC,QAHF,gBAGEA,QAHF;AAAA,UAIewF,EAJf,gBAIE3E,WAJF;AAAA,UAKEqD,QALF,gBAKEA,QALF;AAAA,UAMEjE,cANF,gBAMEA,cANF;AAAA,UAOEU,OAPF,gBAOEA,OAPF;AAAA,UAQEsB,EARF,gBAQEA,EARF;AAAA,UASEwD,GATF,gBASEA,GATF;AAAA,UAUE5B,YAVF,gBAUEA,YAVF;AAAA,UAWErD,WAXF,gBAWEA,WAXF;AAAA,UAYEsD,gBAZF,gBAYEA,gBAZF;AAAA,UAaElE,iBAbF,gBAaEA,iBAbF;AAAA,UAcEG,MAdF,gBAcEA,MAdF;AAAA,UAeE6B,QAfF,gBAeEA,QAfF;AAAA,UAgBEZ,MAhBF,gBAgBEA,MAhBF;AAAA,UAiBEuB,WAjBF,gBAiBEA,WAjBF;AAAA,UAkBKmD,SAlBL;AAoBA,wBAUI,KAAKzG,KAVT;AAAA,UACEC,SADF,eACEA,SADF;AAAA,UAEEyC,SAFF,eAEEA,SAFF;AAAA,UAGEd,WAHF,eAGEA,WAHF;AAAA,UAIExB,MAJF,eAIEA,MAJF;AAAA,UAKEoB,QALF,eAKEA,QALF;AAAA,UAMEW,kBANF,eAMEA,kBANF;AAAA,UAOE3B,kBAPF,eAOEA,kBAPF;AAAA,UAQEC,eARF,eAQEA,eARF;AAAA,UASEgB,WATF,eASEA,WATF;AAYA,UAAMiF,SAAS,GAAG,CAAC,CAACvD,MAApB;AACA,UAAMwD,QAAQ,GAAG,CAAC,CAACtD,KAAnB;AAEA,UAAMK,MAAM,GAAG,KAAKA,MAAL,CACZkD,MADY,CACL,UAAChD,KAAD,EAAW;AACjB,YAAMiC,OAAO,GAAG,wBAASjC,KAAK,CAACjE,KAAf,EAAsBJ,IAAtB,CAAhB;AAEA,eACGsG,OAAO,KAAKjG,SAAZ,IACC,MAAI,CAACI,KAAL,CAAWyC,aAAX,CAAyB3C,QAAzB,CAAkC+F,OAAlC,CADF,IAEAA,OAAO,KAAK1D,kBAFZ,IAGA0D,OAAO,KAAKrF,kBAJd;AAMD,OAVY,EAWZqG,IAXY,CAWP,UAACjD,KAAD,EAAW;AACf,YAAMiC,OAAO,GAAG,wBAASjC,KAAK,CAACjE,KAAf,EAAsBJ,IAAtB,CAAhB;AACA,YAAMuH,WAAW,GACfjB,OAAO,KAAK5F,SAAZ,IAAyB4F,OAAO,KAAK1D,kBADvC;AAEA,YAAM4E,WAAW,GACflB,OAAO,KAAKnD,SAAZ,IAAyBmD,OAAO,KAAKrF,kBADvC;;AAGA,YAAIuG,WAAJ,EAAiB;AACf,iBAAOtF,WAAW,IAAI,MAAI,CAACzB,KAAL,CAAWI,MAA1B,GAAmC,CAAC,CAApC,GAAwC,CAA/C;AACD;;AAED,YAAI0G,WAAJ,EAAiB;AACf,iBAAOrF,WAAW,IAAI,MAAI,CAACzB,KAAL,CAAWI,MAA1B,GAAmC,CAAnC,GAAuC,CAAC,CAA/C;AACD;;AAED,eAAO,CAAP;AACD,OA3BY,CAAf;AA6BA,UAAM4G,gBAAgB,GAAG,KAAKlD,6BAAL,EAAzB;AAEA,UAAMmD,SAAS,GAAG;AAChB,0BAAkB,CAACD,gBAAD,IAAqB,KAAKhH,KAAL,CAAWwB,QADlC;AAEhB,8BAAsB,CAACwF,gBAAD,IAAqB,KAAKhH,KAAL,CAAWyB,WAFtC;AAGhB,2BAAmBuF;AAHH,OAAlB;AAMA,aACE,qCAAC,YAAD;AACE,QAAA,SAAS,EAAC;AADZ,SAEMP,SAFN;AAGE,QAAA,SAAS,EAAE,4BAAW,gCAAa,MAAb,EAAqB1F,QAArB,CAAX,EAA2CkG,SAA3C,CAHb;AAIE,QAAA,OAAO,EAAE,KAAKC,OAJhB;AAKE,QAAA,KAAK,EAAE,KAAKC;AALd,UAOE;AAAK,QAAA,SAAS,EAAC;AAAf,SACGzD,MAAM,CAACC,GAAP,CAAW,UAACC,KAAD,EAA+B;AACzC,YAAMiC,OAAO,GAAG,wBAASjC,KAAK,CAACjE,KAAf,EAAsBJ,IAAtB,CAAhB;AACA,YAAMwG,MAAM,GACVF,OAAO,KAAK5F,SAAZ,IAAyB4F,OAAO,KAAK1D,kBADvC;AAEA,YAAMiF,gBAAgB,GACpBrB,MAAM,IACNF,OAAO,KAAKrF,kBADZ,IAECqF,OAAO,KAAKnD,SAAZ,IAAyBtC,MAH5B;AAIA,YAAMiH,kBAAkB,GACtB7F,QAAQ,IAAIqE,OAAO,MAAMzF,MAAM,GAAGH,SAAH,GAAeyC,SAA3B,CADrB;AAEA,YAAM4E,UAAU,GAAIzB,OAAO,IAAI,MAAI,CAAC/D,OAAL,CAAa+D,OAAb,CAAZ,IAAsC,EAAzD;AACA,YAAM9D,MAAM,GAAGuF,UAAU,CAACA,UAAU,CAAC3F,MAAX,GAAoB,CAArB,CAAV,IAAqC,CAApD;AAEA,eACE;AACE,UAAA,SAAS,EAAE,4BAAW,aAAX,EAA0B;AACnC,mCAAuBkE,OAAO,KAAKjE,WADA;AAEnC,iCAAqBiE,OAAO,KAAK5F,SAFE;AAGnC,iCAAqB4F,OAAO,KAAKnD,SAHE;AAInC,4CACEmD,OAAO,KAAK1D,kBALqB;AAMnC,4CACE0D,OAAO,KAAKrF,kBAPqB;AAQnC,+CACEC,eAAe,KAAKjB,gBAAgB,CAACoB,OATJ;AAUnC,8CACEH,eAAe,KAAKjB,gBAAgB,CAACkB;AAXJ,WAA1B,CADb;AAcE,UAAA,cAAc,EACZ2G,kBAAkB,GAAG,MAAI,CAACjD,oBAAR,GAA+BxE,SAfrD;AAiBE,UAAA,GAAG,EAAE,aAAC2H,EAAD;AAAA,mBACH1B,OAAO,KAAKjG,SAAZ,KAA0B,MAAI,CAACgG,UAAL,CAAgBC,OAAhB,IAA2B0B,EAArD,CADG;AAAA,WAjBP;AAoBE,UAAA,KAAK,EAAE,MAAI,CAACC,oBAAL,CAA0B3B,OAA1B,CApBT;AAqBE,UAAA,GAAG,EAAEA;AArBP,WAuBE;AACE,UAAA,SAAS,EAAC,gBADZ;AAEE,UAAA,KAAK,EAAE;AAAE4B,YAAAA,SAAS,EAAEL,gBAAgB,GAAG,CAACrF,MAAJ,GAAanC;AAA1C;AAFT,WAIE,qCAAC,2CAAD;AACE,UAAA,QAAQ,EACNiG,OAAO,KAAKnD,SAAZ,IAAyBmD,OAAO,KAAKrF;AAFzC,WAKGoD,KALH,CAJF,CAvBF,CADF;AAsCD,OAnDA,CADH,CAPF,EA6DE,qCAAC,4BAAD,QACG8C,SAAS,IAAI;AAAK,QAAA,SAAS,EAAC;AAAf,SAA+BvD,MAA/B,CADhB,EAEGwD,QAAQ,IAAI;AAAK,QAAA,SAAS,EAAC;AAAf,SAA8BtD,KAA9B,CAFf,CA7DF,CADF;AAoED;;;EArmBwBT,KAAK,CAAC8E,S,GAwmBjC;;;8BAxmBMhI,Y,kBA2B8C;AAChDgC,EAAAA,OAAO,EAAE;AADuC,C;;eA8kBrC,8BACb,8BACE,8BACE,gCAAa,kBAA2BhC,YAA3B,CAAb,CADF,EAEEiI,yBAFF,EAGE,UAHF,CADF,EAMEC,4CANF,EAOE,gBAPF,CADa,EAUbC,4BAVa,EAWb,QAXa,C","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nconst warn = warnOnce(\"ViewInfinite\");\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nlet scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n isBackCheck?(params: TransitionParams): boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfinite extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n }\n\n componentDidUpdate(\n prevProps: ViewInfiniteProps,\n prevState: ViewInfiniteState\n ) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) =>\n id === prevProps.activePanel || id === this.props.activePanel\n );\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll().y,\n ],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(\n 0,\n -1\n );\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes(\"transform\") &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e) || !this.window) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if (this.state.animated && e.startX <= 70) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll().y,\n ],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined &&\n this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel =\n panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && this.state.animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfinite)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"ViewInfinite.js"}
|
|
@@ -3,7 +3,7 @@ import { HasRef, HasRootRef } from "../../types";
|
|
|
3
3
|
import "./WriteBar.css";
|
|
4
4
|
export interface WriteBarProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLTextAreaElement> {
|
|
5
5
|
/**
|
|
6
|
-
* Содержимое, отображаемое
|
|
6
|
+
* Содержимое, отображаемое слева от поля ввода.
|
|
7
7
|
*/
|
|
8
8
|
before?: React.ReactNode;
|
|
9
9
|
/**
|
|
@@ -49,8 +49,7 @@ var WriteBar = function WriteBar(props) {
|
|
|
49
49
|
|
|
50
50
|
var textareaRef = (0, _useExternRef.useExternRef)(getRef);
|
|
51
51
|
var textareaMinHeightRef = React.useRef(null);
|
|
52
|
-
|
|
53
|
-
var resize = function resize() {
|
|
52
|
+
var resize = React.useCallback(function () {
|
|
54
53
|
var textareaEl = textareaRef.current;
|
|
55
54
|
|
|
56
55
|
if (!textareaEl) {
|
|
@@ -80,7 +79,7 @@ var WriteBar = function WriteBar(props) {
|
|
|
80
79
|
if ((0, _utils.isFunction)(onHeightChange)) {
|
|
81
80
|
onHeightChange();
|
|
82
81
|
}
|
|
83
|
-
};
|
|
82
|
+
}, [onHeightChange, textareaRef, window]);
|
|
84
83
|
|
|
85
84
|
var onTextareaChange = function onTextareaChange(event) {
|
|
86
85
|
if ((0, _utils.isFunction)(onChange)) {
|
|
@@ -94,7 +93,7 @@ var WriteBar = function WriteBar(props) {
|
|
|
94
93
|
|
|
95
94
|
React.useEffect(function () {
|
|
96
95
|
resize();
|
|
97
|
-
}, [value]);
|
|
96
|
+
}, [resize, value]);
|
|
98
97
|
return (0, _jsxRuntime.createScopedElement)("div", {
|
|
99
98
|
ref: getRootRef,
|
|
100
99
|
vkuiClass: (0, _getClassName.getClassName)("WriteBar", platform),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/WriteBar/WriteBar.tsx"],"names":["WriteBar","props","platform","className","style","before","inlineAfter","after","value","onChange","getRootRef","getRef","onHeightChange","restProps","isControlledOutside","window","textareaRef","textareaMinHeightRef","React","useRef","resize","textareaEl","current","offsetHeight","scrollHeight","getComputedStyle","paddingTop","parseInt","paddingBottom","diff","height","String","Math","max","onTextareaChange","event","useEffect","e","preventDefault"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AA4BO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,CAACC,KAAD,EAA0B;AACzE,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MACEC,SADF,GAeIF,KAfJ,CACEE,SADF;AAAA,MAEEC,KAFF,GAeIH,KAfJ,CAEEG,KAFF;AAAA,MAIEC,MAJF,GAeIJ,KAfJ,CAIEI,MAJF;AAAA,MAKEC,WALF,GAeIL,KAfJ,CAKEK,WALF;AAAA,MAMEC,KANF,GAeIN,KAfJ,CAMEM,KANF;AAAA,MAQEC,KARF,GAeIP,KAfJ,CAQEO,KARF;AAAA,MASEC,QATF,GAeIR,KAfJ,CASEQ,QATF;AAAA,MAWEC,UAXF,GAeIT,KAfJ,CAWES,UAXF;AAAA,MAYEC,MAZF,GAeIV,KAfJ,CAYEU,MAZF;AAAA,MAaEC,cAbF,GAeIX,KAfJ,CAaEW,cAbF;AAAA,MAcKC,SAdL,0CAeIZ,KAfJ;AAiBA,MAAMa,mBAAmB,GAAGN,KAAK,IAAI,IAArC;;AAEA,gBAAmB,kBAAnB;AAAA,MAAQO,MAAR,WAAQA,MAAR;;AACA,MAAMC,WAAW,GAAG,gCAAaL,MAAb,CAApB;AACA,MAAMM,oBAAoB,GAAGC,KAAK,CAACC,MAAN,CAA4B,IAA5B,CAA7B
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/WriteBar/WriteBar.tsx"],"names":["WriteBar","props","platform","className","style","before","inlineAfter","after","value","onChange","getRootRef","getRef","onHeightChange","restProps","isControlledOutside","window","textareaRef","textareaMinHeightRef","React","useRef","resize","useCallback","textareaEl","current","offsetHeight","scrollHeight","getComputedStyle","paddingTop","parseInt","paddingBottom","diff","height","String","Math","max","onTextareaChange","event","useEffect","e","preventDefault"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { hasReactNode, isFunction } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./WriteBar.css\";\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS)\n */\n inlineAfter?: React.ReactNode;\n /**\n * Содержимое, отображаемое справа от поля ввода\n */\n after?: React.ReactNode;\n /**\n * Вызывается при смене высоты поля ввода\n */\n onHeightChange?: VoidFunction;\n\n children?: never;\n}\n\nexport const WriteBar: React.FC<WriteBarProps> = (props: WriteBarProps) => {\n const platform = usePlatform();\n const {\n className,\n style,\n\n before,\n inlineAfter,\n after,\n\n value,\n onChange,\n\n getRootRef,\n getRef,\n onHeightChange,\n ...restProps\n } = props;\n\n const isControlledOutside = value != null;\n\n const { window } = useDOM();\n const textareaRef = useExternRef(getRef);\n const textareaMinHeightRef = React.useRef<number | null>(null);\n\n const resize = React.useCallback(() => {\n const textareaEl = textareaRef.current;\n if (!textareaEl) {\n return;\n }\n\n const { offsetHeight, scrollHeight } = textareaEl;\n const style = window!.getComputedStyle(textareaEl);\n const paddingTop = parseInt(style.paddingTop);\n const paddingBottom = parseInt(style.paddingBottom);\n\n if (textareaMinHeightRef.current === null) {\n textareaMinHeightRef.current = offsetHeight;\n }\n\n let diff = paddingTop + paddingBottom + 10;\n\n if (scrollHeight + diff <= offsetHeight) {\n diff = 0;\n }\n\n textareaEl.style.height = \"0px\";\n\n const height = textareaEl.scrollHeight - diff / 4;\n textareaEl.style.height =\n String(Math.max(height, textareaMinHeightRef.current)) + \"px\";\n\n if (isFunction(onHeightChange)) {\n onHeightChange();\n }\n }, [onHeightChange, textareaRef, window]);\n\n const onTextareaChange: React.ChangeEventHandler<HTMLTextAreaElement> = (\n event\n ) => {\n if (isFunction(onChange)) {\n onChange(event);\n }\n\n if (!isControlledOutside) {\n resize();\n }\n };\n\n React.useEffect(() => {\n resize();\n }, [resize, value]);\n\n return (\n <div\n ref={getRootRef}\n vkuiClass={getClassName(\"WriteBar\", platform)}\n className={className}\n style={style}\n >\n <form vkuiClass=\"WriteBar__form\" onSubmit={(e) => e.preventDefault()}>\n {hasReactNode(before) && (\n <div vkuiClass=\"WriteBar__before\">{before}</div>\n )}\n\n <div vkuiClass=\"WriteBar__formIn\">\n <textarea\n {...restProps}\n vkuiClass=\"WriteBar__textarea\"\n onChange={onTextareaChange}\n ref={textareaRef}\n value={value}\n />\n\n {hasReactNode(inlineAfter) && (\n <div vkuiClass=\"WriteBar__inlineAfter\">{inlineAfter}</div>\n )}\n </div>\n\n {hasReactNode(after) && <div vkuiClass=\"WriteBar__after\">{after}</div>}\n </form>\n </div>\n );\n};\n"],"file":"WriteBar.js"}
|
|
@@ -44,7 +44,7 @@ var WriteBarIcon = function WriteBarIcon(_ref) {
|
|
|
44
44
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
45
45
|
var platform = (0, _usePlatform.usePlatform)();
|
|
46
46
|
var icon;
|
|
47
|
-
var ariaLabel;
|
|
47
|
+
var ariaLabel = undefined;
|
|
48
48
|
|
|
49
49
|
switch (mode) {
|
|
50
50
|
case "attach":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"names":["warn","IS_DEV","process","env","NODE_ENV","WriteBarIcon","mode","children","count","restProps","platform","icon","ariaLabel","IOS"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AAoBA,IAAMA,IAAI,GAAG,wBAAS,cAAT,CAAb;AACA,IAAMC,MAAM,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAxC;;AAEO,IAAMC,YAAyC,GAAG,SAA5CA,YAA4C,OAKhC;AAAA,MAJvBC,IAIuB,QAJvBA,IAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,MAFvBC,KAEuB,QAFvBA,KAEuB;AAAA,MADpBC,SACoB;AACvB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAIC,IAAJ;AACA,MAAIC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"names":["warn","IS_DEV","process","env","NODE_ENV","WriteBarIcon","mode","children","count","restProps","platform","icon","ariaLabel","undefined","IOS"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AAoBA,IAAMA,IAAI,GAAG,wBAAS,cAAT,CAAb;AACA,IAAMC,MAAM,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAxC;;AAEO,IAAMC,YAAyC,GAAG,SAA5CA,YAA4C,OAKhC;AAAA,MAJvBC,IAIuB,QAJvBA,IAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,MAFvBC,KAEuB,QAFvBA,KAEuB;AAAA,MADpBC,SACoB;AACvB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAIC,IAAJ;AACA,MAAIC,SAA6B,GAAGC,SAApC;;AAEA,UAAQP,IAAR;AACE,SAAK,QAAL;AACEK,MAAAA,IAAI,GACFD,QAAQ,KAAKI,aAAb,GAAmB,qCAAC,6BAAD,OAAnB,GAAgD,qCAAC,0BAAD,OADlD;AAEAF,MAAAA,SAAS,GAAG,iBAAZ;AACA;;AAEF,SAAK,MAAL;AACED,MAAAA,IAAI,GAAGD,QAAQ,KAAKI,aAAb,GAAmB,qCAAC,yBAAD,OAAnB,GAA4C,qCAAC,iBAAD,OAAnD;AACAF,MAAAA,SAAS,GAAG,WAAZ;AACA;;AAEF,SAAK,MAAL;AACED,MAAAA,IAAI,GACFD,QAAQ,KAAKI,aAAb,GACE,qCAAC,yBAAD,OADF,GAGE,qCAAC,+BAAD,OAJJ;AAMAF,MAAAA,SAAS,GAAG,QAAZ;AACA;;AAEF;AACE;AAvBJ;;AA0BA,MAAIX,MAAM,IAAI,CAACQ,SAAS,CAAC,YAAD,CAApB,IAAsC,CAACG,SAA3C,EAAsD;AACpDZ,IAAAA,IAAI,CACF,sGADE,CAAJ;AAGD;;AAED,SACE,qCAAC,iBAAD;AACE,kBAAYY;AADd,KAEMH,SAFN;AAGE,IAAA,SAAS,EAAC,QAHZ;AAIE,IAAA,QAAQ,EAAE,KAJZ;AAKE,IAAA,UAAU,EAAC,sBALb;AAME,IAAA,SAAS,EAAE,6BAAW,gCAAa,cAAb,EAA6BC,QAA7B,CAAX,4DACSJ,IADT,GACkB,CAAC,CAACA,IADpB;AANb,MAUE;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGK,IAAI,IAAIJ,QADX,EAEG,yBAAaC,KAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC,uBAAnB;AAA2C,IAAA,IAAI,EAAC;AAAhD,KACGA,KADH,CAHJ,CAVF,CADF;AAqBD,CAhEM","sourcesContent":["import * as React from \"react\";\nimport {\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS } from \"../../lib/platform\";\nimport Counter from \"../Counter/Counter\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./WriteBarIcon.css\";\n\nexport interface WriteBarIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: \"attach\" | \"send\" | \"done\";\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce(\"WriteBarIcon\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nexport const WriteBarIcon: React.FC<WriteBarIconProps> = ({\n mode,\n children,\n count,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n\n let icon: React.ReactNode;\n let ariaLabel: string | undefined = undefined;\n\n switch (mode) {\n case \"attach\":\n icon =\n platform === IOS ? <Icon28AddCircleOutline /> : <Icon28AttachOutline />;\n ariaLabel = \"Прикрепить файл\";\n break;\n\n case \"send\":\n icon = platform === IOS ? <Icon48WritebarSend /> : <Icon24Send />;\n ariaLabel = \"Отправить\";\n break;\n\n case \"done\":\n icon =\n platform === IOS ? (\n <Icon48WritebarDone />\n ) : (\n <Icon28CheckCircleOutline />\n );\n ariaLabel = \"Готово\";\n break;\n\n default:\n break;\n }\n\n if (IS_DEV && !restProps[\"aria-label\"] && !ariaLabel) {\n warn(\n \"[WriteBarIcon/a11y] У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.\"\n );\n }\n\n return (\n <Tappable\n aria-label={ariaLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode=\"WriteBarIcon__active\"\n vkuiClass={classNames(getClassName(\"WriteBarIcon\", platform), {\n [`WriteBarIcon--${mode}`]: !!mode,\n })}\n >\n <span vkuiClass=\"WriteBarIcon__in\">\n {icon || children}\n {hasReactNode(count) && (\n <Counter vkuiClass=\"WriteBarIcon__counter\" size=\"s\">\n {count}\n </Counter>\n )}\n </span>\n </Tappable>\n );\n};\n"],"file":"WriteBarIcon.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AppearanceType } from "@vkontakte/vk-bridge";
|
|
2
|
+
import { PlatformType } from "../lib/platform";
|
|
3
|
+
import { Scheme } from "./scheme";
|
|
4
|
+
export interface GetSchemeProps {
|
|
5
|
+
platform?: PlatformType;
|
|
6
|
+
appearance: AppearanceType;
|
|
7
|
+
}
|
|
8
|
+
export declare function getScheme({ platform, appearance }: GetSchemeProps): Scheme;
|