@vkontakte/vkui 4.28.0 → 4.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +2 -0
- package/.cache/.eslintcache +1 -0
- package/.cache/.stylelintcache +1 -0
- package/.cache/.tsbuildinfo +58386 -0
- package/.cache/ts/src/appearance/constants.d.ts +1 -0
- package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +26 -0
- package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +8 -0
- package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +4 -0
- package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +4 -0
- package/.cache/ts/src/components/ActionSheet/types.d.ts +9 -0
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +20 -0
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +46 -0
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +10 -0
- package/.cache/ts/src/components/Alert/Alert.d.ts +24 -0
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +14 -0
- package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +9 -0
- package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +5 -0
- package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +23 -0
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +7 -0
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +3 -0
- package/.cache/ts/src/components/Avatar/Avatar.d.ts +22 -0
- package/.cache/ts/src/components/Badge/Badge.d.ts +6 -0
- package/.cache/ts/src/components/Banner/Banner.d.ts +65 -0
- package/.cache/ts/src/components/Button/Button.d.ts +20 -0
- package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +20 -0
- package/.cache/ts/src/components/Calendar/Calendar.d.ts +21 -0
- package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +22 -0
- package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +22 -0
- package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +16 -0
- package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +16 -0
- package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +11 -0
- package/.cache/ts/src/components/Card/Card.d.ts +7 -0
- package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +8 -0
- package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +12 -0
- package/.cache/ts/src/components/Cell/Cell.d.ts +47 -0
- package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
- package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +6 -0
- package/.cache/ts/src/components/Cell/useDraggable.d.ts +13 -0
- package/.cache/ts/src/components/CellButton/CellButton.d.ts +9 -0
- package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +10 -0
- package/.cache/ts/src/components/Chip/Chip.d.ts +16 -0
- package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +30 -0
- package/.cache/ts/src/components/ChipsInput/useChipsInput.d.ts +14 -0
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +40 -0
- package/.cache/ts/src/components/ChipsSelect/useChipsSelect.d.ts +22 -0
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +21 -0
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +16 -0
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +36 -0
- package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +34 -0
- package/.cache/ts/src/components/Counter/Counter.d.ts +11 -0
- package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +10 -0
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +65 -0
- package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +15 -0
- package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +15 -0
- package/.cache/ts/src/components/DateInput/DateInput.d.ts +12 -0
- package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +24 -0
- package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +18 -0
- package/.cache/ts/src/components/Div/Div.d.ts +6 -0
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +8 -0
- package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +3 -0
- package/.cache/ts/src/components/Epic/Epic.d.ts +10 -0
- package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +6 -0
- package/.cache/ts/src/components/File/File.d.ts +9 -0
- package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +19 -0
- package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +8 -0
- package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +8 -0
- package/.cache/ts/src/components/Footer/Footer.d.ts +5 -0
- package/.cache/ts/src/components/FormField/FormField.d.ts +14 -0
- package/.cache/ts/src/components/FormItem/FormItem.d.ts +14 -0
- package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +6 -0
- package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +13 -0
- package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +7 -0
- package/.cache/ts/src/components/Gallery/Gallery.d.ts +39 -0
- package/.cache/ts/src/components/Gradient/Gradient.d.ts +7 -0
- package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +8 -0
- package/.cache/ts/src/components/Group/Group.d.ts +23 -0
- package/.cache/ts/src/components/Header/Header.d.ts +18 -0
- package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +10 -0
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +19 -0
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +8 -0
- package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +29 -0
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +11 -0
- package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +7 -0
- package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +32 -0
- package/.cache/ts/src/components/Input/Input.d.ts +9 -0
- package/.cache/ts/src/components/InputLike/InputLike.d.ts +10 -0
- package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +3 -0
- package/.cache/ts/src/components/Link/Link.d.ts +6 -0
- package/.cache/ts/src/components/List/List.d.ts +4 -0
- package/.cache/ts/src/components/List/ListContext.d.ts +4 -0
- package/.cache/ts/src/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
- package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +39 -0
- package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +10 -0
- package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +32 -0
- package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +5 -0
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +22 -0
- package/.cache/ts/src/components/ModalPageHeader/ModalPageHeader.d.ts +8 -0
- package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +16 -0
- package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +10 -0
- package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +20 -0
- package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +16 -0
- package/.cache/ts/src/components/ModalRoot/constants.d.ts +3 -0
- package/.cache/ts/src/components/ModalRoot/types.d.ts +45 -0
- package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +37 -0
- package/.cache/ts/src/components/ModalRoot/withModalRootContext.d.ts +5 -0
- package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +15 -0
- package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +7 -0
- package/.cache/ts/src/components/Pagination/Pagination.d.ts +42 -0
- package/.cache/ts/src/components/Panel/Panel.d.ts +9 -0
- package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +21 -0
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +9 -0
- package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +8 -0
- package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +4 -0
- package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
- package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
- package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +18 -0
- package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +4 -0
- package/.cache/ts/src/components/PanelSpinner/PanelSpinner.d.ts +7 -0
- package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +23 -0
- package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +10 -0
- package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +10 -0
- package/.cache/ts/src/components/Popper/Popper.d.ts +32 -0
- package/.cache/ts/src/components/Progress/Progress.d.ts +8 -0
- package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +40 -0
- package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +37 -0
- package/.cache/ts/src/components/PullToRefresh/PullToRefreshSpinner.d.ts +11 -0
- package/.cache/ts/src/components/Radio/Radio.d.ts +9 -0
- package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +6 -0
- package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +6 -0
- package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +16 -0
- package/.cache/ts/src/components/Removable/Removable.d.ts +21 -0
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +37 -0
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +5 -0
- package/.cache/ts/src/components/Root/Root.d.ts +31 -0
- package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +6 -0
- package/.cache/ts/src/components/Search/Search.d.ts +17 -0
- package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +17 -0
- package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
- package/.cache/ts/src/components/Select/Select.d.ts +7 -0
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +14 -0
- package/.cache/ts/src/components/Separator/Separator.d.ts +11 -0
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +39 -0
- package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +8 -0
- package/.cache/ts/src/components/Slider/Slider.d.ts +5 -0
- package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +47 -0
- package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +11 -0
- package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +35 -0
- package/.cache/ts/src/components/Spacing/Spacing.d.ts +18 -0
- package/.cache/ts/src/components/Spinner/Spinner.d.ts +7 -0
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +22 -0
- package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +15 -0
- package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +7 -0
- package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +21 -0
- package/.cache/ts/src/components/Switch/Switch.d.ts +7 -0
- package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +11 -0
- package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +21 -0
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +10 -0
- package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +8 -0
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +42 -0
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +14 -0
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +11 -0
- package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +55 -0
- package/.cache/ts/src/components/Tooltip/TooltipContainer.d.ts +5 -0
- package/.cache/ts/src/components/Touch/Touch.d.ts +49 -0
- package/.cache/ts/src/components/Touch/TouchContext.d.ts +7 -0
- package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +14 -0
- package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +8 -0
- package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +13 -0
- package/.cache/ts/src/components/Typography/Text/Text.d.ts +8 -0
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +14 -0
- package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +23 -0
- package/.cache/ts/src/components/UsersStack/masks.d.ts +1 -0
- package/.cache/ts/src/components/View/View.d.ts +80 -0
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +66 -0
- package/.cache/ts/src/components/View/utils.d.ts +2 -0
- package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
- package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +23 -0
- package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +18 -0
- package/.cache/ts/src/helpers/avatar.d.ts +5 -0
- package/.cache/ts/src/helpers/getClassName.d.ts +2 -0
- package/.cache/ts/src/helpers/getScheme.d.ts +8 -0
- package/.cache/ts/src/helpers/math.d.ts +5 -0
- package/.cache/ts/src/helpers/scheme.d.ts +34 -0
- package/.cache/ts/src/helpers/typography.d.ts +1 -0
- package/.cache/ts/src/hoc/withAdaptivity.d.ts +13 -0
- package/.cache/ts/src/hoc/withContext.d.ts +2 -0
- package/.cache/ts/src/hoc/withInsets.d.ts +3 -0
- package/.cache/ts/src/hoc/withPlatform.d.ts +3 -0
- package/.cache/ts/src/hooks/useAdaptivity.d.ts +3 -0
- package/.cache/ts/src/hooks/useAppearance.d.ts +1 -0
- package/.cache/ts/src/hooks/useBooleanState.d.ts +6 -0
- package/.cache/ts/src/hooks/useBrowserInfo.d.ts +2 -0
- package/.cache/ts/src/hooks/useCalendar.d.ts +18 -0
- package/.cache/ts/src/hooks/useDateInput.d.ts +30 -0
- package/.cache/ts/src/hooks/useEffectDev.d.ts +2 -0
- package/.cache/ts/src/hooks/useEnsuredControl.d.ts +6 -0
- package/.cache/ts/src/hooks/useEventListener.d.ts +7 -0
- package/.cache/ts/src/hooks/useExternRef.d.ts +2 -0
- package/.cache/ts/src/hooks/useFocusVisible.d.ts +6 -0
- package/.cache/ts/src/hooks/useGlobalEventListener.d.ts +2 -0
- package/.cache/ts/src/hooks/useInsets.d.ts +8 -0
- package/.cache/ts/src/hooks/useKeyboard.d.ts +11 -0
- package/.cache/ts/src/hooks/useKeyboardInputTracker.d.ts +3 -0
- package/.cache/ts/src/hooks/useObjectMemo.d.ts +2 -0
- package/.cache/ts/src/hooks/useOrientationChange.d.ts +7 -0
- package/.cache/ts/src/hooks/usePagination.d.ts +34 -0
- package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +6 -0
- package/.cache/ts/src/hooks/usePlatform.d.ts +2 -0
- package/.cache/ts/src/hooks/useTimeout.d.ts +4 -0
- package/.cache/ts/src/hooks/useWaitTransitionFinish.d.ts +3 -0
- package/.cache/ts/src/index.d.ts +289 -0
- package/.cache/ts/src/lib/SSR.d.ts +14 -0
- package/.cache/ts/src/lib/accessibility.d.ts +10 -0
- package/.cache/ts/src/lib/animate.d.ts +15 -0
- package/.cache/ts/src/lib/browser.d.ts +11 -0
- package/.cache/ts/src/lib/calendar.d.ts +14 -0
- package/.cache/ts/src/lib/callMultiple.d.ts +1 -0
- package/.cache/ts/src/lib/classNames.d.ts +6 -0
- package/.cache/ts/src/lib/classScopingMode.d.ts +8 -0
- package/.cache/ts/src/lib/dom.d.ts +21 -0
- package/.cache/ts/src/lib/fx.d.ts +5 -0
- package/.cache/ts/src/lib/getNavId.d.ts +6 -0
- package/.cache/ts/src/lib/is.d.ts +1 -0
- package/.cache/ts/src/lib/isRefObject.d.ts +2 -0
- package/.cache/ts/src/lib/jsxRuntime.d.ts +8 -0
- package/.cache/ts/src/lib/offset.d.ts +7 -0
- package/.cache/ts/src/lib/platform.d.ts +19 -0
- package/.cache/ts/src/lib/polyfills.d.ts +6 -0
- package/.cache/ts/src/lib/prefixClass.d.ts +1 -0
- package/.cache/ts/src/lib/removeObjectKeys.d.ts +1 -0
- package/.cache/ts/src/lib/select.d.ts +7 -0
- package/.cache/ts/src/lib/styles.d.ts +1 -0
- package/.cache/ts/src/lib/supportEvents.d.ts +9 -0
- package/.cache/ts/src/lib/taptic.d.ts +2 -0
- package/.cache/ts/src/lib/testing.d.ts +1 -0
- package/.cache/ts/src/lib/touch.d.ts +9 -0
- package/.cache/ts/src/lib/useIsomorphicLayoutEffect.d.ts +2 -0
- package/.cache/ts/src/lib/utils.d.ts +16 -0
- package/.cache/ts/src/lib/warnOnce.d.ts +1 -0
- package/.cache/ts/src/testing/setup.d.ts +1 -0
- package/.cache/ts/src/testing/utils.d.ts +30 -0
- package/.cache/ts/src/tokenized/index.d.ts +24 -0
- package/.cache/ts/src/types.d.ts +34 -0
- package/.cache/ts/src/unstable/index.d.ts +17 -0
- package/.codesandbox/ci.json +5 -0
- package/.editorconfig +14 -0
- package/.eslintignore +6 -0
- package/.eslintrc.json +145 -0
- package/.gitattributes +1 -0
- package/.gitmodules +0 -0
- package/.prettierignore +14 -0
- package/.prettierrc.json +1 -0
- package/.stylelintignore +2 -0
- package/CONTRIBUTING.md +3 -2
- package/CSS_GUIDE.md +145 -0
- package/TESTING.md +58 -0
- package/babel.cjs.config.js +15 -0
- package/babel.config.js +72 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -7
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +3 -5
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js +5 -8
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +4 -8
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/CalendarDays/CalendarDays.js +2 -2
- package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +2 -5
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +2 -4
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -4
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +5 -7
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/Counter/Counter.js +3 -3
- package/dist/cjs/components/Counter/Counter.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +17 -9
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +2 -4
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/Footer/Footer.js +2 -4
- package/dist/cjs/components/Footer/Footer.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +2 -4
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormStatus/FormStatus.js +3 -8
- package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cjs/components/Group/Group.js +3 -5
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +9 -18
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js +5 -5
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +2 -4
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +3 -7
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +2 -5
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +3 -4
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.d.ts +8 -4
- package/dist/cjs/components/Typography/Caption/Caption.js +12 -14
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +3 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.d.ts +3 -1
- package/dist/cjs/components/Typography/Title/Title.js +3 -1
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +3 -4
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/helpers/typography.d.ts +1 -0
- package/dist/cjs/helpers/typography.js +25 -0
- package/dist/cjs/helpers/typography.js.map +1 -0
- package/dist/cjs/hooks/useOrientationChange.d.ts +7 -0
- package/dist/cjs/hooks/useOrientationChange.js +56 -0
- package/dist/cjs/hooks/useOrientationChange.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tokenized/index.d.ts +2 -0
- package/dist/cjs/tokenized/index.js +8 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +2 -5
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +2 -4
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/Alert/Alert.js +3 -6
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Button/Button.js +3 -7
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +1 -1
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +1 -4
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js +1 -3
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +1 -3
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +3 -5
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.js +2 -2
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +16 -8
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -3
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/Footer/Footer.js +1 -3
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +1 -3
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormStatus/FormStatus.js +2 -7
- package/dist/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/components/Group/Group.js +2 -4
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js +6 -15
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +2 -5
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +4 -5
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +1 -5
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/Radio/Radio.js +1 -4
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +2 -3
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +8 -4
- package/dist/components/Typography/Caption/Caption.js +10 -14
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts +3 -1
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +3 -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 +2 -3
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components.css +2 -2
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -5
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +2 -4
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +3 -6
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Button/Button.js +3 -7
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +1 -4
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.js +1 -3
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +1 -3
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +3 -5
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +2 -2
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +16 -8
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -3
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/Footer/Footer.js +1 -3
- package/dist/cssm/components/Footer/Footer.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +1 -3
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js +2 -7
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Group/Group.js +2 -4
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Header/Header.js +6 -15
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -5
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +4 -5
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -5
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +1 -4
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -3
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.d.ts +8 -4
- package/dist/cssm/components/Typography/Caption/Caption.js +10 -14
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +3 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.d.ts +3 -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 +2 -3
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/helpers/typography.d.ts +1 -0
- package/dist/cssm/helpers/typography.js +18 -0
- package/dist/cssm/helpers/typography.js.map +1 -0
- package/dist/cssm/hooks/useOrientationChange.d.ts +7 -0
- package/dist/cssm/hooks/useOrientationChange.js +42 -0
- package/dist/cssm/hooks/useOrientationChange.js.map +1 -0
- package/dist/cssm/index.d.ts +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/styles/components.css +2 -2
- package/dist/cssm/tokenized/index.d.ts +2 -0
- package/dist/cssm/tokenized/index.js +1 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/helpers/typography.d.ts +1 -0
- package/dist/helpers/typography.js +18 -0
- package/dist/helpers/typography.js.map +1 -0
- package/dist/hooks/useOrientationChange.d.ts +7 -0
- package/dist/hooks/useOrientationChange.js +42 -0
- package/dist/hooks/useOrientationChange.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tokenized/index.d.ts +2 -0
- package/dist/tokenized/index.js +1 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/vkui.css +2 -2
- package/dist/vkui.css.map +1 -1
- package/jest.unit.config.js +14 -0
- package/package.json +6 -9
- package/src/appearance/constants.ts +1 -0
- package/src/components/ActionSheet/ActionSheet.css +145 -0
- package/src/components/ActionSheet/ActionSheet.tsx +158 -0
- package/src/components/ActionSheet/ActionSheetContext.ts +18 -0
- package/src/components/ActionSheet/ActionSheetDropdown.tsx +33 -0
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +97 -0
- package/src/components/ActionSheet/Readme.md +256 -0
- package/src/components/ActionSheet/types.ts +16 -0
- package/src/components/ActionSheetItem/ActionSheetItem.css +306 -0
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +182 -0
- package/src/components/ActionSheetItem/Readme.md +2 -0
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +62 -0
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +138 -0
- package/src/components/AdaptivityProvider/Readme.md +3 -0
- package/src/components/Alert/Alert.css +297 -0
- package/src/components/Alert/Alert.tsx +288 -0
- package/src/components/Alert/Readme.md +133 -0
- package/src/components/AppRoot/AppRoot.css +20 -0
- package/src/components/AppRoot/AppRoot.tsx +205 -0
- package/src/components/AppRoot/AppRootContext.ts +13 -0
- package/src/components/AppRoot/AppRootPortal.tsx +24 -0
- package/src/components/AppRoot/Readme.md +9 -0
- package/src/components/AppRoot/ScrollContext.ts +44 -0
- package/src/components/AppearanceProvider/AppearanceProvider.tsx +61 -0
- package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +7 -0
- package/src/components/Avatar/Avatar.css +192 -0
- package/src/components/Avatar/Avatar.tsx +183 -0
- package/src/components/Avatar/Readme.md +838 -0
- package/src/components/Badge/Badge.css +21 -0
- package/src/components/Badge/Badge.tsx +27 -0
- package/src/components/Badge/Readme.md +55 -0
- package/src/components/Banner/Banner.css +154 -0
- package/src/components/Banner/Banner.tsx +220 -0
- package/src/components/Banner/Readme.md +215 -0
- package/src/components/Button/Button.css +594 -0
- package/src/components/Button/Button.tsx +225 -0
- package/src/components/Button/Readme.md +186 -0
- package/src/components/ButtonGroup/ButtonGroup.css +52 -0
- package/src/components/ButtonGroup/ButtonGroup.tsx +48 -0
- package/src/components/ButtonGroup/Readme.md +311 -0
- package/src/components/Calendar/Calendar.css +31 -0
- package/src/components/Calendar/Calendar.tsx +184 -0
- package/src/components/Calendar/Readme.md +124 -0
- package/src/components/CalendarDay/CalendarDay.css +85 -0
- package/src/components/CalendarDay/CalendarDay.tsx +114 -0
- package/src/components/CalendarDays/CalendarDays.css +31 -0
- package/src/components/CalendarDays/CalendarDays.tsx +131 -0
- package/src/components/CalendarHeader/CalendarHeader.css +50 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +167 -0
- package/src/components/CalendarRange/CalendarRange.css +27 -0
- package/src/components/CalendarRange/CalendarRange.tsx +278 -0
- package/src/components/CalendarRange/Readme.md +85 -0
- package/src/components/CalendarTime/CalendarTime.css +18 -0
- package/src/components/CalendarTime/CalendarTime.tsx +88 -0
- package/src/components/Card/Card.css +83 -0
- package/src/components/Card/Card.tsx +31 -0
- package/src/components/Card/Readme.md +39 -0
- package/src/components/CardGrid/CardGrid.css +82 -0
- package/src/components/CardGrid/CardGrid.tsx +41 -0
- package/src/components/CardGrid/Readme.md +41 -0
- package/src/components/CardScroll/CardScroll.css +47 -0
- package/src/components/CardScroll/CardScroll.tsx +116 -0
- package/src/components/CardScroll/Readme.md +62 -0
- package/src/components/Cell/Cell.css +56 -0
- package/src/components/Cell/Cell.tsx +204 -0
- package/src/components/Cell/CellCheckbox/CellCheckbox.css +17 -0
- package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +41 -0
- package/src/components/Cell/CellDragger/CellDragger.css +4 -0
- package/src/components/Cell/CellDragger/CellDragger.tsx +37 -0
- package/src/components/Cell/Readme.md +163 -0
- package/src/components/Cell/useDraggable.tsx +126 -0
- package/src/components/CellButton/CellButton.css +46 -0
- package/src/components/CellButton/CellButton.tsx +35 -0
- package/src/components/CellButton/Readme.md +53 -0
- package/src/components/Checkbox/Checkbox.css +127 -0
- package/src/components/Checkbox/Checkbox.tsx +102 -0
- package/src/components/Checkbox/Readme.md +20 -0
- package/src/components/Chip/Chip.css +56 -0
- package/src/components/Chip/Chip.tsx +69 -0
- package/src/components/Chip/Readme.md +81 -0
- package/src/components/ChipsInput/ChipsInput.css +72 -0
- package/src/components/ChipsInput/ChipsInput.tsx +238 -0
- package/src/components/ChipsInput/Readme.md +94 -0
- package/src/components/ChipsInput/useChipsInput.ts +90 -0
- package/src/components/ChipsSelect/ChipsSelect.css +23 -0
- package/src/components/ChipsSelect/ChipsSelect.tsx +452 -0
- package/src/components/ChipsSelect/Readme.md +115 -0
- package/src/components/ChipsSelect/useChipsSelect.ts +72 -0
- package/src/components/ClickPopper/ClickPopper.tsx +86 -0
- package/src/components/ConfigProvider/ConfigProvider.tsx +144 -0
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +48 -0
- package/src/components/ConfigProvider/Readme.md +1 -0
- package/src/components/ContentCard/ContentCard.css +39 -0
- package/src/components/ContentCard/ContentCard.tsx +152 -0
- package/src/components/ContentCard/Readme.md +65 -0
- package/src/components/Counter/Counter.css +161 -0
- package/src/components/Counter/Counter.tsx +76 -0
- package/src/components/Counter/Readme.md +114 -0
- package/src/components/CustomScrollView/CustomScrollView.css +62 -0
- package/src/components/CustomScrollView/CustomScrollView.tsx +168 -0
- package/src/components/CustomSelect/CustomSelect.css +24 -0
- package/src/components/CustomSelect/CustomSelect.tsx +778 -0
- package/src/components/CustomSelect/Readme.md +248 -0
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +38 -0
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +75 -0
- package/src/components/CustomSelectOption/CustomSelectOption.css +63 -0
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +88 -0
- package/src/components/CustomSelectOption/Readme.md +33 -0
- package/src/components/DateInput/DateInput.css +20 -0
- package/src/components/DateInput/DateInput.tsx +317 -0
- package/src/components/DateInput/Readme.md +116 -0
- package/src/components/DatePicker/DatePicker.css +30 -0
- package/src/components/DatePicker/DatePicker.tsx +238 -0
- package/src/components/DatePicker/Readme.md +40 -0
- package/src/components/DateRangeInput/DateRangeInput.css +16 -0
- package/src/components/DateRangeInput/DateRangeInput.tsx +350 -0
- package/src/components/DateRangeInput/Readme.md +96 -0
- package/src/components/Div/Div.css +7 -0
- package/src/components/Div/Div.tsx +26 -0
- package/src/components/Div/Readme.md +17 -0
- package/src/components/Dropdown/Dropdown.css +19 -0
- package/src/components/Dropdown/Dropdown.tsx +42 -0
- package/src/components/Dropdown/Readme.md +49 -0
- package/src/components/DropdownIcon/DropdownIcon.css +3 -0
- package/src/components/DropdownIcon/DropdownIcon.tsx +18 -0
- package/src/components/Epic/Epic.css +4 -0
- package/src/components/Epic/Epic.tsx +61 -0
- package/src/components/Epic/Readme.md +240 -0
- package/src/components/Epic/ScrollSaver.tsx +23 -0
- package/src/components/File/File.css +6 -0
- package/src/components/File/File.tsx +74 -0
- package/src/components/File/Readme.md +20 -0
- package/src/components/FixedLayout/FixedLayout.css +27 -0
- package/src/components/FixedLayout/FixedLayout.tsx +71 -0
- package/src/components/FixedLayout/Readme.md +117 -0
- package/src/components/FocusTrap/FocusTrap.tsx +144 -0
- package/src/components/FocusVisible/FocusVisible.css +72 -0
- package/src/components/FocusVisible/FocusVisible.tsx +18 -0
- package/src/components/Footer/Footer.css +8 -0
- package/src/components/Footer/Footer.tsx +17 -0
- package/src/components/Footer/Readme.md +23 -0
- package/src/components/FormField/FormField.css +152 -0
- package/src/components/FormField/FormField.tsx +76 -0
- package/src/components/FormField/Readme.md +42 -0
- package/src/components/FormItem/FormItem.css +83 -0
- package/src/components/FormItem/FormItem.tsx +85 -0
- package/src/components/FormItem/Readme.md +183 -0
- package/src/components/FormLayout/FormLayout.css +16 -0
- package/src/components/FormLayout/FormLayout.tsx +39 -0
- package/src/components/FormLayout/Readme.md +2 -0
- package/src/components/FormLayoutGroup/FormLayoutGroup.css +22 -0
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +71 -0
- package/src/components/FormLayoutGroup/Readme.md +63 -0
- package/src/components/FormStatus/FormStatus.css +34 -0
- package/src/components/FormStatus/FormStatus.tsx +45 -0
- package/src/components/FormStatus/Readme.md +23 -0
- package/src/components/Gallery/Gallery.css +71 -0
- package/src/components/Gallery/Gallery.tsx +562 -0
- package/src/components/Gallery/Readme.md +99 -0
- package/src/components/Gradient/Gradient.css +83 -0
- package/src/components/Gradient/Gradient.tsx +29 -0
- package/src/components/Gradient/Readme.md +55 -0
- package/src/components/GridAvatar/GridAvatar.css +37 -0
- package/src/components/GridAvatar/GridAvatar.tsx +53 -0
- package/src/components/GridAvatar/Readme.md +24 -0
- package/src/components/Group/Group.css +86 -0
- package/src/components/Group/Group.tsx +94 -0
- package/src/components/Group/Readme.md +156 -0
- package/src/components/Header/Header.css +152 -0
- package/src/components/Header/Header.tsx +171 -0
- package/src/components/Header/Readme.md +114 -0
- package/src/components/HorizontalCell/HorizontalCell.css +95 -0
- package/src/components/HorizontalCell/HorizontalCell.tsx +86 -0
- package/src/components/HorizontalCell/Readme.md +236 -0
- package/src/components/HorizontalScroll/HorizontalScroll.css +31 -0
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +217 -0
- package/src/components/HorizontalScroll/HorizontalScrollArrow.css +69 -0
- package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +35 -0
- package/src/components/HorizontalScroll/Readme.md +67 -0
- package/src/components/HoverPopper/HoverPopper.tsx +102 -0
- package/src/components/IconButton/IconButton.css +93 -0
- package/src/components/IconButton/IconButton.tsx +57 -0
- package/src/components/InfoRow/InfoRow.css +14 -0
- package/src/components/InfoRow/InfoRow.tsx +37 -0
- package/src/components/InfoRow/Readme.md +27 -0
- package/src/components/InitialsAvatar/InitialsAvatar.css +55 -0
- package/src/components/InitialsAvatar/InitialsAvatar.tsx +95 -0
- package/src/components/InitialsAvatar/Readme.md +20 -0
- package/src/components/Input/Input.css +52 -0
- package/src/components/Input/Input.tsx +54 -0
- package/src/components/Input/Readme.md +46 -0
- package/src/components/InputLike/InputLike.css +25 -0
- package/src/components/InputLike/InputLike.tsx +72 -0
- package/src/components/InputLike/InputLikeDivider.css +4 -0
- package/src/components/InputLike/InputLikeDivider.tsx +12 -0
- package/src/components/Link/Link.css +18 -0
- package/src/components/Link/Link.tsx +27 -0
- package/src/components/Link/Readme.md +8 -0
- package/src/components/List/List.css +2 -0
- package/src/components/List/List.tsx +31 -0
- package/src/components/List/ListContext.ts +6 -0
- package/src/components/List/Readme.md +22 -0
- package/src/components/LocaleProviderContext/LocaleProviderContext.tsx +5 -0
- package/src/components/MiniInfoCell/MiniInfoCell.css +67 -0
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +94 -0
- package/src/components/MiniInfoCell/Readme.md +150 -0
- package/src/components/ModalCard/ModalCard.css +77 -0
- package/src/components/ModalCard/ModalCard.tsx +93 -0
- package/src/components/ModalCard/Readme.md +9 -0
- package/src/components/ModalCardBase/ModalCardBase.css +94 -0
- package/src/components/ModalCardBase/ModalCardBase.tsx +141 -0
- package/src/components/ModalCardBase/Readme.md +38 -0
- package/src/components/ModalDismissButton/ModalDismissButton.css +37 -0
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +32 -0
- package/src/components/ModalDismissButton/Readme.md +53 -0
- package/src/components/ModalPage/ModalPage.css +146 -0
- package/src/components/ModalPage/ModalPage.tsx +131 -0
- package/src/components/ModalPage/Readme.md +9 -0
- package/src/components/ModalPageHeader/ModalPageHeader.css +24 -0
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +57 -0
- package/src/components/ModalPageHeader/Readme.md +46 -0
- package/src/components/ModalRoot/ModalRoot.css +67 -0
- package/src/components/ModalRoot/ModalRoot.tsx +816 -0
- package/src/components/ModalRoot/ModalRootAdaptive.tsx +42 -0
- package/src/components/ModalRoot/ModalRootContext.tsx +51 -0
- package/src/components/ModalRoot/ModalRootDesktop.tsx +261 -0
- package/src/components/ModalRoot/Readme.md +662 -0
- package/src/components/ModalRoot/constants.ts +4 -0
- package/src/components/ModalRoot/types.ts +53 -0
- package/src/components/ModalRoot/useModalManager.tsx +203 -0
- package/src/components/ModalRoot/withModalRootContext.tsx +19 -0
- package/src/components/NativeSelect/NativeSelect.tsx +113 -0
- package/src/components/NativeSelect/Readme.md +17 -0
- package/src/components/NavTransitionContext/NavTransitionContext.tsx +24 -0
- package/src/components/Pagination/Pagination.css +62 -0
- package/src/components/Pagination/Pagination.tsx +196 -0
- package/src/components/Pagination/Readme.md +110 -0
- package/src/components/Panel/Panel.css +116 -0
- package/src/components/Panel/Panel.tsx +58 -0
- package/src/components/Panel/Readme.md +97 -0
- package/src/components/PanelHeader/PanelHeader.css +271 -0
- package/src/components/PanelHeader/PanelHeader.tsx +142 -0
- package/src/components/PanelHeader/Readme.md +244 -0
- package/src/components/PanelHeaderBack/PanelHeaderBack.css +7 -0
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +60 -0
- package/src/components/PanelHeaderBack/Readme.md +9 -0
- package/src/components/PanelHeaderButton/PanelHeaderButton.css +102 -0
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +109 -0
- package/src/components/PanelHeaderButton/Readme.md +47 -0
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +35 -0
- package/src/components/PanelHeaderClose/Readme.md +9 -0
- package/src/components/PanelHeaderContent/PanelHeaderContent.css +107 -0
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +105 -0
- package/src/components/PanelHeaderContent/Readme.md +33 -0
- package/src/components/PanelHeaderContext/PanelHeaderContext.css +143 -0
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +85 -0
- package/src/components/PanelHeaderContext/Readme.md +110 -0
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +49 -0
- package/src/components/PanelHeaderEdit/Readme.md +1 -0
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +37 -0
- package/src/components/PanelHeaderSubmit/Readme.md +13 -0
- package/src/components/PanelSpinner/PanelSpinner.tsx +21 -0
- package/src/components/PanelSpinner/Readme.md +15 -0
- package/src/components/Placeholder/Placeholder.css +50 -0
- package/src/components/Placeholder/Placeholder.tsx +70 -0
- package/src/components/Placeholder/Readme.md +104 -0
- package/src/components/PopoutRoot/PopoutRoot.css +36 -0
- package/src/components/PopoutRoot/PopoutRoot.tsx +72 -0
- package/src/components/PopoutRoot/Readme.md +50 -0
- package/src/components/PopoutWrapper/PopoutWrapper.css +109 -0
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +77 -0
- package/src/components/PopoutWrapper/Readme.md +12 -0
- package/src/components/Popper/Popper.css +39 -0
- package/src/components/Popper/Popper.tsx +231 -0
- package/src/components/Popper/Readme.md +33 -0
- package/src/components/Progress/Progress.css +12 -0
- package/src/components/Progress/Progress.tsx +49 -0
- package/src/components/Progress/Readme.md +14 -0
- package/src/components/PromoBanner/PromoBanner.css +55 -0
- package/src/components/PromoBanner/PromoBanner.tsx +135 -0
- package/src/components/PromoBanner/Readme.md +25 -0
- package/src/components/PullToRefresh/PullToRefresh.css +98 -0
- package/src/components/PullToRefresh/PullToRefresh.tsx +353 -0
- package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +78 -0
- package/src/components/PullToRefresh/Readme.md +71 -0
- package/src/components/Radio/Radio.css +187 -0
- package/src/components/Radio/Radio.tsx +82 -0
- package/src/components/Radio/Readme.md +29 -0
- package/src/components/RadioGroup/RadioGroup.css +12 -0
- package/src/components/RadioGroup/RadioGroup.tsx +29 -0
- package/src/components/RadioGroup/Readme.md +56 -0
- package/src/components/RangeSlider/RangeSlider.tsx +54 -0
- package/src/components/RangeSlider/Readme.md +32 -0
- package/src/components/RangeSlider/UniversalSlider.tsx +162 -0
- package/src/components/Removable/Removable.css +125 -0
- package/src/components/Removable/Removable.tsx +176 -0
- package/src/components/RichCell/Readme.md +65 -0
- package/src/components/RichCell/RichCell.css +115 -0
- package/src/components/RichCell/RichCell.tsx +104 -0
- package/src/components/RichTooltip/Readme.md +59 -0
- package/src/components/RichTooltip/RichTooltip.css +10 -0
- package/src/components/RichTooltip/RichTooltip.tsx +32 -0
- package/src/components/Root/Readme.md +36 -0
- package/src/components/Root/Root.css +184 -0
- package/src/components/Root/Root.tsx +209 -0
- package/src/components/ScreenSpinner/Readme.md +43 -0
- package/src/components/ScreenSpinner/ScreenSpinner.css +31 -0
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +37 -0
- package/src/components/Search/Readme.md +235 -0
- package/src/components/Search/Search.css +359 -0
- package/src/components/Search/Search.tsx +196 -0
- package/src/components/SegmentedControl/Readme.md +94 -0
- package/src/components/SegmentedControl/SegmentedControl.css +42 -0
- package/src/components/SegmentedControl/SegmentedControl.tsx +105 -0
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +30 -0
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +42 -0
- package/src/components/Select/Readme.md +27 -0
- package/src/components/Select/Select.css +64 -0
- package/src/components/Select/Select.tsx +39 -0
- package/src/components/SelectMimicry/Readme.md +87 -0
- package/src/components/SelectMimicry/SelectMimicry.css +10 -0
- package/src/components/SelectMimicry/SelectMimicry.tsx +94 -0
- package/src/components/Separator/Readme.md +23 -0
- package/src/components/Separator/Separator.css +48 -0
- package/src/components/Separator/Separator.tsx +40 -0
- package/src/components/SimpleCell/Readme.md +136 -0
- package/src/components/SimpleCell/SimpleCell.css +258 -0
- package/src/components/SimpleCell/SimpleCell.tsx +132 -0
- package/src/components/SimpleCheckbox/Readme.md +25 -0
- package/src/components/SimpleCheckbox/SimpleCheckbox.css +129 -0
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +143 -0
- package/src/components/Slider/Readme.md +83 -0
- package/src/components/Slider/Slider.css +145 -0
- package/src/components/Slider/Slider.tsx +54 -0
- package/src/components/SliderSwitch/Readme.md +27 -0
- package/src/components/SliderSwitch/SliderSwitch.css +87 -0
- package/src/components/SliderSwitch/SliderSwitch.tsx +209 -0
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +53 -0
- package/src/components/Snackbar/Readme.md +145 -0
- package/src/components/Snackbar/Snackbar.css +159 -0
- package/src/components/Snackbar/Snackbar.tsx +254 -0
- package/src/components/Spacing/Readme.md +98 -0
- package/src/components/Spacing/Spacing.css +46 -0
- package/src/components/Spacing/Spacing.tsx +53 -0
- package/src/components/Spinner/Readme.md +11 -0
- package/src/components/Spinner/Spinner.css +33 -0
- package/src/components/Spinner/Spinner.tsx +53 -0
- package/src/components/SplitCol/Readme.md +1 -0
- package/src/components/SplitCol/SplitCol.css +28 -0
- package/src/components/SplitCol/SplitCol.tsx +75 -0
- package/src/components/SplitLayout/Readme.md +154 -0
- package/src/components/SplitLayout/SplitLayout.css +52 -0
- package/src/components/SplitLayout/SplitLayout.tsx +54 -0
- package/src/components/SubnavigationBar/Readme.md +264 -0
- package/src/components/SubnavigationBar/SubnavigationBar.css +32 -0
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +66 -0
- package/src/components/SubnavigationButton/Readme.md +128 -0
- package/src/components/SubnavigationButton/SubnavigationButton.css +103 -0
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +99 -0
- package/src/components/Switch/Readme.md +57 -0
- package/src/components/Switch/Switch.css +198 -0
- package/src/components/Switch/Switch.tsx +56 -0
- package/src/components/Tabbar/Readme.md +7 -0
- package/src/components/Tabbar/Tabbar.css +53 -0
- package/src/components/Tabbar/Tabbar.tsx +50 -0
- package/src/components/TabbarItem/Readme.md +102 -0
- package/src/components/TabbarItem/TabbarItem.css +127 -0
- package/src/components/TabbarItem/TabbarItem.tsx +94 -0
- package/src/components/Tabs/Readme.md +274 -0
- package/src/components/Tabs/Tabs.css +102 -0
- package/src/components/Tabs/Tabs.tsx +57 -0
- package/src/components/TabsItem/Readme.md +0 -0
- package/src/components/TabsItem/TabsItem.css +178 -0
- package/src/components/TabsItem/TabsItem.tsx +62 -0
- package/src/components/Tappable/Tappable.css +141 -0
- package/src/components/Tappable/Tappable.tsx +349 -0
- package/src/components/TextTooltip/Readme.md +11 -0
- package/src/components/TextTooltip/TextTooltip.css +18 -0
- package/src/components/TextTooltip/TextTooltip.tsx +58 -0
- package/src/components/Textarea/Readme.md +24 -0
- package/src/components/Textarea/Textarea.css +39 -0
- package/src/components/Textarea/Textarea.tsx +80 -0
- package/src/components/Tooltip/Readme.md +263 -0
- package/src/components/Tooltip/Tooltip.css +73 -0
- package/src/components/Tooltip/Tooltip.tsx +314 -0
- package/src/components/Tooltip/TooltipContainer.tsx +10 -0
- package/src/components/Touch/Readme.md +116 -0
- package/src/components/Touch/Touch.tsx +285 -0
- package/src/components/Touch/TouchContext.ts +11 -0
- package/src/components/Typography/Caption/Caption.css +97 -0
- package/src/components/Typography/Caption/Caption.tsx +53 -0
- package/src/components/Typography/Caption/Readme.md +29 -0
- package/src/components/Typography/Headline/Headline.css +25 -0
- package/src/components/Typography/Headline/Headline.tsx +36 -0
- package/src/components/Typography/Headline/Readme.md +24 -0
- package/src/components/Typography/Subhead/Readme.md +21 -0
- package/src/components/Typography/Subhead/Subhead.css +43 -0
- package/src/components/Typography/Subhead/Subhead.tsx +54 -0
- package/src/components/Typography/Text/Readme.md +22 -0
- package/src/components/Typography/Text/Text.css +25 -0
- package/src/components/Typography/Text/Text.tsx +49 -0
- package/src/components/Typography/Title/Readme.md +31 -0
- package/src/components/Typography/Title/Title.css +59 -0
- package/src/components/Typography/Title/Title.tsx +64 -0
- package/src/components/UsersStack/Readme.md +94 -0
- package/src/components/UsersStack/UsersStack.css +99 -0
- package/src/components/UsersStack/UsersStack.tsx +102 -0
- package/src/components/UsersStack/masks.tsx +46 -0
- package/src/components/View/Readme.md +98 -0
- package/src/components/View/View.css +125 -0
- package/src/components/View/View.tsx +673 -0
- package/src/components/View/ViewIOS.css +155 -0
- package/src/components/View/ViewInfinite.tsx +731 -0
- package/src/components/View/utils.ts +9 -0
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +9 -0
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +25 -0
- package/src/components/WriteBar/Readme.md +224 -0
- package/src/components/WriteBar/WriteBar.css +106 -0
- package/src/components/WriteBar/WriteBar.tsx +137 -0
- package/src/components/WriteBarIcon/Readme.md +11 -0
- package/src/components/WriteBarIcon/WriteBarIcon.css +75 -0
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +104 -0
- package/src/fonts/VK_Sans_Display_Medium.woff +0 -0
- package/src/fonts/VK_Sans_Display_Medium.woff2 +0 -0
- package/src/fonts/fonts.css +7 -0
- package/src/helpers/avatar.ts +10 -0
- package/src/helpers/getClassName.ts +8 -0
- package/src/helpers/getScheme.ts +27 -0
- package/src/helpers/math.ts +40 -0
- package/src/helpers/scheme.ts +86 -0
- package/src/helpers/typography.ts +24 -0
- package/src/hoc/withAdaptivity.tsx +86 -0
- package/src/hoc/withContext.tsx +14 -0
- package/src/hoc/withInsets.tsx +12 -0
- package/src/hoc/withPlatform.tsx +17 -0
- package/src/hooks/useAdaptivity.ts +12 -0
- package/src/hooks/useAppearance.ts +4 -0
- package/src/hooks/useBooleanState.ts +19 -0
- package/src/hooks/useBrowserInfo.ts +11 -0
- package/src/hooks/useCalendar.ts +78 -0
- package/src/hooks/useDateInput.ts +213 -0
- package/src/hooks/useEffectDev.ts +5 -0
- package/src/hooks/useEnsuredControl.ts +17 -0
- package/src/hooks/useEventListener.ts +62 -0
- package/src/hooks/useExternRef.ts +26 -0
- package/src/hooks/useFocusVisible.ts +31 -0
- package/src/hooks/useGlobalEventListener.ts +35 -0
- package/src/hooks/useInsets.ts +69 -0
- package/src/hooks/useKeyboard.ts +75 -0
- package/src/hooks/useKeyboardInputTracker.ts +64 -0
- package/src/hooks/useObjectMemo.ts +16 -0
- package/src/hooks/useOrientationChange.ts +39 -0
- package/src/hooks/usePagination.ts +96 -0
- package/src/hooks/usePatchChildrenRef.ts +39 -0
- package/src/hooks/usePlatform.ts +10 -0
- package/src/hooks/useTimeout.ts +33 -0
- package/src/hooks/useWaitTransitionFinish.ts +28 -0
- package/src/index.ts +334 -0
- package/src/lib/SSR.tsx +45 -0
- package/src/lib/accessibility.ts +87 -0
- package/src/lib/animate.ts +47 -0
- package/src/lib/browser.ts +44 -0
- package/src/lib/calendar.ts +123 -0
- package/src/lib/callMultiple.ts +4 -0
- package/src/lib/classNames.ts +44 -0
- package/src/lib/classScopingMode.ts +21 -0
- package/src/lib/dom.tsx +45 -0
- package/src/lib/fx.ts +7 -0
- package/src/lib/getNavId.ts +13 -0
- package/src/lib/is.ts +10 -0
- package/src/lib/isRefObject.ts +11 -0
- package/src/lib/jsxRuntime.d.ts +6 -0
- package/src/lib/jsxRuntime.ts +43 -0
- package/src/lib/offset.ts +17 -0
- package/src/lib/platform.ts +36 -0
- package/src/lib/polyfills.ts +96 -0
- package/src/lib/prefixClass.ts +34 -0
- package/src/lib/removeObjectKeys.ts +10 -0
- package/src/lib/select.ts +54 -0
- package/src/lib/styles.ts +12 -0
- package/src/lib/supportEvents.ts +38 -0
- package/src/lib/taptic.ts +9 -0
- package/src/lib/testing.ts +4 -0
- package/src/lib/touch.ts +59 -0
- package/src/lib/useIsomorphicLayoutEffect.ts +7 -0
- package/src/lib/utils.ts +99 -0
- package/src/lib/warnOnce.ts +9 -0
- package/src/styles/animations.css +19 -0
- package/src/styles/bright_light.css +244 -0
- package/src/styles/common.css +39 -0
- package/src/styles/components.css +152 -0
- package/src/styles/constants.css +72 -0
- package/src/styles/space_gray.css +243 -0
- package/src/styles/themes.css +10 -0
- package/src/styles/unstable.css +6 -0
- package/src/styles/vkcom_dark.css +249 -0
- package/src/styles/vkcom_light.css +254 -0
- package/src/testing/setup.ts +1 -0
- package/src/testing/utils.tsx +192 -0
- package/src/tokenized/index.ts +39 -0
- package/src/types.ts +43 -0
- package/src/unstable/index.ts +23 -0
- package/src/vkui.js +1 -0
- package/stylelint.config.js +46 -0
- package/tasks/generate_scheme.js +13 -0
- package/tasks/postcss-check-keyframes.js +36 -0
- package/tasks/postcss-scope-root.js +9 -0
- package/tasks/styleint-atomic.js +57 -0
- package/tokenized/index.d.ts +1 -0
- package/tokenized/package.json +4 -0
- package/tsconfig.dist.json +16 -0
- package/tsconfig.json +38 -0
- package/types/global.d.ts +7 -0
- package/unstable/index.d.ts +1 -0
- package/unstable/package.json +4 -0
- package/webpack.config.js +86 -0
- package/webpack.styles.config.js +67 -0
- package/dist/components.js.tmp +0 -24
- package/dist/default_scheme.js.tmp +0 -24
- package/dist/fonts.js.tmp +0 -24
- package/dist/stable.js.tmp +0 -166
- package/dist/unstable.js.tmp +0 -24
|
@@ -39,7 +39,7 @@ var _icons = require("@vkontakte/icons");
|
|
|
39
39
|
|
|
40
40
|
var _ActionSheetContext = require("../ActionSheet/ActionSheetContext");
|
|
41
41
|
|
|
42
|
-
var _Caption =
|
|
42
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
43
43
|
|
|
44
44
|
var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"));
|
|
45
45
|
|
|
@@ -114,10 +114,8 @@ var ActionSheetItemComponent = function ActionSheetItemComponent(_ref) {
|
|
|
114
114
|
weight: "3",
|
|
115
115
|
level: isCompact || (0, _utils.hasReactNode)(before) ? "3" : "2",
|
|
116
116
|
vkuiClass: "ActionSheetItem__meta"
|
|
117
|
-
}, meta)))), (0, _utils.hasReactNode)(subtitle) && (sizeY === _withAdaptivity.SizeType.COMPACT ? (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
118
|
-
|
|
119
|
-
vkuiClass: "ActionSheetItem__subtitle",
|
|
120
|
-
level: "1"
|
|
117
|
+
}, meta)))), (0, _utils.hasReactNode)(subtitle) && (sizeY === _withAdaptivity.SizeType.COMPACT ? (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
118
|
+
vkuiClass: "ActionSheetItem__subtitle"
|
|
121
119
|
}, subtitle) : (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
|
|
122
120
|
vkuiClass: "ActionSheetItem__subtitle"
|
|
123
121
|
}, subtitle))), selectable && (0, _jsxRuntime.createScopedElement)("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItemComponent","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","Boolean","SizeType","COMPACT","ANDROID","disabled","VKCOM","ActionSheetItem"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon16Done, Icon24Done } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport \"./ActionSheetItem.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n >,\n AdaptivityProps {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItemComponent: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoclose))\n }\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={classNames(\n getClassName(\"ActionSheetItem\", platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n \"ActionSheetItem--compact\": isCompact,\n \"ActionSheetItem--desktop\": isDesktop,\n \"ActionSheetItem--withSubtitle\": hasReactNode(subtitle),\n }\n )}\n Component={Component}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"ActionSheetItem__before\">{before}</div>\n )}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ? (\n <React.Fragment>\n <Text\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) && (\n <Text weight=\"regular\" vkuiClass=\"ActionSheetItem__meta\">\n {meta}\n </Text>\n )}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight={mode === \"cancel\" ? \"2\" : \"3\"}\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n )}\n {hasReactNode(meta) &&\n (platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight=\"3\"\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n ))}\n </React.Fragment>\n )}\n </div>\n {hasReactNode(subtitle) &&\n (sizeY === SizeType.COMPACT ? (\n <Caption\n weight=\"regular\"\n vkuiClass=\"ActionSheetItem__subtitle\"\n level=\"1\"\n >\n {subtitle}\n </Caption>\n ) : (\n <Subhead vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n ))}\n </div>\n {selectable && (\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoclose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport const ActionSheetItem = withAdaptivity(ActionSheetItemComponent, {\n sizeY: true,\n});\n"],"file":"ActionSheetItem.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItemComponent","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","Boolean","SizeType","COMPACT","ANDROID","disabled","VKCOM","ActionSheetItem"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon16Done, Icon24Done } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport \"./ActionSheetItem.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n >,\n AdaptivityProps {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItemComponent: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoclose))\n }\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={classNames(\n getClassName(\"ActionSheetItem\", platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n \"ActionSheetItem--compact\": isCompact,\n \"ActionSheetItem--desktop\": isDesktop,\n \"ActionSheetItem--withSubtitle\": hasReactNode(subtitle),\n }\n )}\n Component={Component}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"ActionSheetItem__before\">{before}</div>\n )}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ? (\n <React.Fragment>\n <Text\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) && (\n <Text weight=\"regular\" vkuiClass=\"ActionSheetItem__meta\">\n {meta}\n </Text>\n )}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight={mode === \"cancel\" ? \"2\" : \"3\"}\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n )}\n {hasReactNode(meta) &&\n (platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight=\"3\"\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n ))}\n </React.Fragment>\n )}\n </div>\n {hasReactNode(subtitle) &&\n (sizeY === SizeType.COMPACT ? (\n <Caption vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Caption>\n ) : (\n <Subhead vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n ))}\n </div>\n {selectable && (\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoclose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport const ActionSheetItem = withAdaptivity(ActionSheetItemComponent, {\n sizeY: true,\n});\n"],"file":"ActionSheetItem.js"}
|
|
@@ -53,7 +53,7 @@ var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"
|
|
|
53
53
|
|
|
54
54
|
var _Title = _interopRequireDefault(require("../Typography/Title/Title"));
|
|
55
55
|
|
|
56
|
-
var _Caption =
|
|
56
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
57
57
|
|
|
58
58
|
var _ModalDismissButton = _interopRequireDefault(require("../ModalDismissButton/ModalDismissButton"));
|
|
59
59
|
|
|
@@ -208,17 +208,14 @@ var AlertComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
208
208
|
value: function renderText(text) {
|
|
209
209
|
switch (this.props.platform) {
|
|
210
210
|
case _platform.VKCOM:
|
|
211
|
-
return (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
212
|
-
vkuiClass: "Alert__text"
|
|
213
|
-
level: "1",
|
|
214
|
-
weight: "regular"
|
|
211
|
+
return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
212
|
+
vkuiClass: "Alert__text"
|
|
215
213
|
}, text);
|
|
216
214
|
|
|
217
215
|
case _platform.IOS:
|
|
218
|
-
return (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
216
|
+
return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
219
217
|
vkuiClass: "Alert__text",
|
|
220
|
-
level: "2"
|
|
221
|
-
weight: "regular"
|
|
218
|
+
level: "2"
|
|
222
219
|
}, text);
|
|
223
220
|
|
|
224
221
|
case _platform.ANDROID:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"names":["AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","IOS","Component","href","mode","onItemClick","target","title","ANDROID","viewWidth","ViewWidth","DESKTOP","element","React","createRef","state","VKCOM","eventHandler","transitionEvent","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","Alert"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass AlertComponent extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"1\" weight=\"regular\">\n {text}\n </Caption>\n );\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\" weight=\"regular\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nexport const Alert = withPlatform(\n withAdaptivity(AlertComponent, {\n viewWidth: true,\n })\n);\n"],"file":"Alert.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"names":["AlertComponent","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","IOS","Component","href","mode","onItemClick","target","title","ANDROID","viewWidth","ViewWidth","DESKTOP","element","React","createRef","state","VKCOM","eventHandler","transitionEvent","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","Alert"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass AlertComponent extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return <Caption vkuiClass=\"Alert__text\">{text}</Caption>;\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nexport const Alert = withPlatform(\n withAdaptivity(AlertComponent, {\n viewWidth: true,\n })\n);\n"],"file":"Alert.js"}
|
|
@@ -31,7 +31,7 @@ var _Text = _interopRequireDefault(require("../Typography/Text/Text"));
|
|
|
31
31
|
|
|
32
32
|
var _Subhead = _interopRequireDefault(require("../Typography/Subhead/Subhead"));
|
|
33
33
|
|
|
34
|
-
var _Caption =
|
|
34
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
35
35
|
|
|
36
36
|
var _usePlatform = require("../../hooks/usePlatform");
|
|
37
37
|
|
|
@@ -92,16 +92,12 @@ var ButtonTypography = function ButtonTypography(props) {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
if (platform === _platform.VKCOM) {
|
|
95
|
-
return (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
96
|
-
level: "1",
|
|
97
|
-
weight: "regular"
|
|
98
|
-
}, restProps));
|
|
95
|
+
return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, restProps);
|
|
99
96
|
}
|
|
100
97
|
|
|
101
98
|
if (isCompact) {
|
|
102
|
-
return (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
103
|
-
|
|
104
|
-
weight: "medium"
|
|
99
|
+
return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, (0, _extends2.default)({
|
|
100
|
+
weight: "2"
|
|
105
101
|
}, restProps));
|
|
106
102
|
}
|
|
107
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["ButtonTypography","props","size","sizeY","platform","restProps","isCompact","SizeType","COMPACT","ANDROID","VKCOM","IOS","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","Button","stretched","align","children","before","after","getRootRef","Component","loading","onClick","hasIcons","Boolean","hasNewTokens","React","useContext","ConfigProviderContext","href","defaultProps","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Spinner from \"../Spinner/Spinner\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = (\n props: ButtonTypographyProps\n) => {\n const { size, sizeY, platform, ...restProps } = props;\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"medium\" {...restProps} />;\n }\n if (platform === ANDROID) {\n return <Headline weight=\"medium\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"medium\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption level=\"1\" weight=\"medium\" {...restProps} />;\n }\n\n return <Subhead weight=\"2\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst Button: React.FC<ButtonProps> = (props: ButtonProps) => {\n const platform = usePlatform();\n const {\n size,\n mode,\n appearance,\n stretched,\n align,\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n ...restProps\n } = props;\n const hasIcons = Boolean(before || after);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n {\n [\"Button--stretched\"]: stretched,\n [\"Button--with-icon\"]: hasIcons,\n [\"Button--singleIcon\"]: Boolean(\n (!children && !after && before) || (!children && after && !before)\n ),\n }\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && <span vkuiClass=\"Button__before\">{before}</span>}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && <span vkuiClass=\"Button__after\">{after}</span>}\n </span>\n </Tappable>\n );\n};\n\nButton.defaultProps = {\n mode: \"primary\",\n align: \"center\",\n size: \"s\",\n stretched: false,\n stopPropagation: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Button, {\n sizeY: true,\n});\n"],"file":"Button.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["ButtonTypography","props","size","sizeY","platform","restProps","isCompact","SizeType","COMPACT","ANDROID","VKCOM","IOS","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","Button","stretched","align","children","before","after","getRootRef","Component","loading","onClick","hasIcons","Boolean","hasNewTokens","React","useContext","ConfigProviderContext","href","defaultProps","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Spinner from \"../Spinner/Spinner\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = (\n props: ButtonTypographyProps\n) => {\n const { size, sizeY, platform, ...restProps } = props;\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"medium\" {...restProps} />;\n }\n if (platform === ANDROID) {\n return <Headline weight=\"medium\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"medium\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption weight=\"2\" {...restProps} />;\n }\n\n return <Subhead weight=\"2\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst Button: React.FC<ButtonProps> = (props: ButtonProps) => {\n const platform = usePlatform();\n const {\n size,\n mode,\n appearance,\n stretched,\n align,\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n ...restProps\n } = props;\n const hasIcons = Boolean(before || after);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n {\n [\"Button--stretched\"]: stretched,\n [\"Button--with-icon\"]: hasIcons,\n [\"Button--singleIcon\"]: Boolean(\n (!children && !after && before) || (!children && after && !before)\n ),\n }\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && <span vkuiClass=\"Button__before\">{before}</span>}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && <span vkuiClass=\"Button__after\">{after}</span>}\n </span>\n </Tappable>\n );\n};\n\nButton.defaultProps = {\n mode: \"primary\",\n align: \"center\",\n size: \"s\",\n stretched: false,\n stopPropagation: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Button, {\n sizeY: true,\n});\n"],"file":"Button.js"}
|
|
@@ -29,7 +29,7 @@ var _LocaleProviderContext = require("../LocaleProviderContext/LocaleProviderCon
|
|
|
29
29
|
|
|
30
30
|
var _classNames = require("../../lib/classNames");
|
|
31
31
|
|
|
32
|
-
var _Caption =
|
|
32
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
33
33
|
|
|
34
34
|
var _excluded = ["viewDate", "value", "weekStartsOn", "onDayChange", "isDaySelected", "isDayActive", "isDaySelectionEnd", "isDaySelectionStart", "onDayEnter", "onDayLeave", "isDayHinted", "isHintedDaySelectionStart", "isHintedDaySelectionEnd", "isDayFocused", "isDayDisabled", "size", "showNeighboringMonth"];
|
|
35
35
|
|
|
@@ -78,7 +78,7 @@ var CalendarDays = function CalendarDays(_ref) {
|
|
|
78
78
|
}), (0, _jsxRuntime.createScopedElement)("div", {
|
|
79
79
|
vkuiClass: (0, _classNames.classNames)("CalendarDays__row", "CalendarDays__row--size-".concat(size))
|
|
80
80
|
}, daysNames.map(function (dayName) {
|
|
81
|
-
return (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
81
|
+
return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
82
82
|
level: "1",
|
|
83
83
|
weight: "regular",
|
|
84
84
|
vkuiClass: "CalendarDays__weekday",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"names":["CalendarDays","viewDate","value","weekStartsOn","onDayChange","isDaySelected","isDayActive","isDaySelectionEnd","isDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","isHintedDaySelectionStart","isHintedDaySelectionEnd","isDayFocused","isDayDisabled","size","showNeighboringMonth","props","locale","React","useContext","LocaleProviderContext","ref","useRef","useState","Date","now","weeks","useMemo","daysNames","handleDayChange","useCallback","date","current","focus","map","dayName","week","i","day","sameMonth","toISOString"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAwBO,IAAMA,YAAyC,GAAG,SAA5CA,YAA4C,OAmBnD;AAAA,MAlBJC,QAkBI,QAlBJA,QAkBI;AAAA,MAjBJC,KAiBI,QAjBJA,KAiBI;AAAA,MAhBJC,YAgBI,QAhBJA,YAgBI;AAAA,MAfJC,WAeI,QAfJA,WAeI;AAAA,MAdJC,aAcI,QAdJA,aAcI;AAAA,MAbJC,WAaI,QAbJA,WAaI;AAAA,MAZJC,iBAYI,QAZJA,iBAYI;AAAA,MAXJC,mBAWI,QAXJA,mBAWI;AAAA,MAVJC,UAUI,QAVJA,UAUI;AAAA,MATJC,UASI,QATJA,UASI;AAAA,MARJC,WAQI,QARJA,WAQI;AAAA,MAPJC,yBAOI,QAPJA,yBAOI;AAAA,MANJC,uBAMI,QANJA,uBAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,aAII,QAJJA,aAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,mCAFJC,oBAEI;AAAA,MAFJA,oBAEI,sCAFmB,KAEnB;AAAA,MADDC,KACC;AACJ,MAAMC,MAAM,GAAGC,KAAK,CAACC,UAAN,CAAiBC,4CAAjB,CAAf;AACA,MAAMC,GAAG,GAAGH,KAAK,CAACI,MAAN,CAA6B,IAA7B,CAAZ;;AACA,wBAAcJ,KAAK,CAACK,QAAN,CAAe,IAAIC,IAAJ,EAAf,CAAd;AAAA;AAAA,MAAOC,GAAP;;AAEA,MAAMC,KAAK,GAAGR,KAAK,CAACS,OAAN,CACZ;AAAA,WAAM,wBAAS5B,QAAT,EAAmBE,YAAnB,CAAN;AAAA,GADY,EAEZ,CAACA,YAAD,EAAeF,QAAf,CAFY,CAAd;AAKA,MAAM6B,SAAS,GAAGV,KAAK,CAACS,OAAN,CAChB;AAAA,WAAM,4BAAaF,GAAb,EAAkBxB,YAAlB,EAAgCgB,MAAhC,CAAN;AAAA,GADgB,EAEhB,CAACA,MAAD,EAASQ,GAAT,EAAcxB,YAAd,CAFgB,CAAlB;AAKA,MAAM4B,eAAe,GAAGX,KAAK,CAACY,WAAN,CACtB,UAACC,IAAD,EAAgB;AAAA;;AACd7B,IAAAA,WAAW,CAAC6B,IAAD,CAAX;AAEA,oBAAAV,GAAG,CAACW,OAAJ,8DAAaC,KAAb;AACD,GALqB,EAMtB,CAAC/B,WAAD,CANsB,CAAxB;AASA,SACE,uEAASc,KAAT;AAAgB,IAAA,SAAS,EAAC,cAA1B;AAAyC,IAAA,GAAG,EAAEK;AAA9C,MACE;AACE,IAAA,SAAS,EAAE,4BACT,mBADS,oCAEkBP,IAFlB;AADb,KAMGc,SAAS,CAACM,GAAV,CAAc,UAACC,OAAD;AAAA,WACb,qCAAC,gBAAD;AACE,MAAA,KAAK,EAAC,GADR;AAEE,MAAA,MAAM,EAAC,SAFT;AAGE,MAAA,SAAS,EAAC,uBAHZ;AAIE,MAAA,GAAG,EAAEA;AAJP,OAMGA,OANH,CADa;AAAA,GAAd,CANH,CADF,EAmBGT,KAAK,CAACQ,GAAN,CAAU,UAACE,IAAD,EAAOC,CAAP;AAAA,WACT;AACE,MAAA,SAAS,EAAE,4BACT,mBADS,oCAEkBvB,IAFlB,EADb;AAKE,MAAA,GAAG,EAAEuB;AALP,OAOGD,IAAI,CAACF,GAAL,CAAS,UAACI,GAAD,EAAMD,CAAN,EAAY;AACpB,UAAME,SAAS,GAAG,0BAAYD,GAAZ,EAAiBvC,QAAjB,CAAlB;AACA,aACE,qCAAC,wBAAD;AACE,QAAA,GAAG,EAAEuC,GAAG,CAACE,WAAJ,EADP;AAEE,QAAA,GAAG,EAAEF,GAFP;AAGE,QAAA,KAAK,EAAE,wBAAUA,GAAV,EAAeb,GAAf,CAHT;AAIE,QAAA,MAAM,EAAErB,WAAW,CAACkC,GAAD,CAJrB;AAKE,QAAA,QAAQ,EAAET,eALZ;AAME,QAAA,MAAM,EAAE,CAACd,oBAAD,IAAyB,CAACwB,SANpC;AAOE,QAAA,QAAQ,EAAE1B,aAAa,CAACyB,GAAD,CAPzB;AAQE,QAAA,cAAc,EAAEhC,mBAAmB,CAACgC,GAAD,EAAMD,CAAN,CARrC;AASE,QAAA,YAAY,EAAEhC,iBAAiB,CAACiC,GAAD,EAAMD,CAAN,CATjC;AAUE,QAAA,oBAAoB,EAAE3B,yBAAF,aAAEA,yBAAF,uBAAEA,yBAAyB,CAAG4B,GAAH,EAAQD,CAAR,CAVjD;AAWE,QAAA,kBAAkB,EAAE1B,uBAAF,aAAEA,uBAAF,uBAAEA,uBAAuB,CAAG2B,GAAH,EAAQD,CAAR,CAX7C;AAYE,QAAA,QAAQ,EAAElC,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAGmC,GAAH,CAZzB;AAaE,QAAA,OAAO,EAAE1B,YAAY,CAAC0B,GAAD,CAbvB;AAcE,QAAA,OAAO,EAAE/B,UAdX;AAeE,QAAA,OAAO,EAAEC,UAfX;AAgBE,QAAA,MAAM,EAAEC,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAG6B,GAAH,CAhBrB;AAiBE,QAAA,SAAS,EAAEC,SAjBb;AAkBE,QAAA,IAAI,EAAEzB;AAlBR,QADF;AAsBD,KAxBA,CAPH,CADS;AAAA,GAAV,CAnBH,CADF;AAyDD,CApGM","sourcesContent":["import * as React from \"react\";\nimport { isSameDay, isSameMonth } from \"date-fns\";\nimport { CalendarDay } from \"../CalendarDay/CalendarDay\";\nimport { getDaysNames, getWeeks } from \"../../lib/calendar\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport \"./CalendarDays.css\";\n\nexport interface CalendarDaysProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value?: Date | Array<Date | null>;\n viewDate: Date;\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: \"s\" | \"m\";\n onDayChange(value: Date): void;\n isDayDisabled(value: Date): boolean;\n isDaySelectionStart(value: Date, dayOfWeek: number): boolean;\n isDaySelectionEnd(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionStart?(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionEnd?(value: Date, dayOfWeek: number): boolean;\n isDayActive(value: Date): boolean;\n isDayHinted?(value: Date): boolean;\n isDaySelected?(value: Date): boolean;\n isDayFocused(value: Date): boolean;\n onDayEnter?(value: Date): void;\n onDayLeave?(value: Date): void;\n}\n\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n viewDate,\n value,\n weekStartsOn,\n onDayChange,\n isDaySelected,\n isDayActive,\n isDaySelectionEnd,\n isDaySelectionStart,\n onDayEnter,\n onDayLeave,\n isDayHinted,\n isHintedDaySelectionStart,\n isHintedDaySelectionEnd,\n isDayFocused,\n isDayDisabled,\n size,\n showNeighboringMonth = false,\n ...props\n}) => {\n const locale = React.useContext(LocaleProviderContext);\n const ref = React.useRef<HTMLDivElement>(null);\n const [now] = React.useState(new Date());\n\n const weeks = React.useMemo(\n () => getWeeks(viewDate, weekStartsOn),\n [weekStartsOn, viewDate]\n );\n\n const daysNames = React.useMemo(\n () => getDaysNames(now, weekStartsOn, locale),\n [locale, now, weekStartsOn]\n );\n\n const handleDayChange = React.useCallback(\n (date: Date) => {\n onDayChange(date);\n\n ref.current?.focus();\n },\n [onDayChange]\n );\n\n return (\n <div {...props} vkuiClass=\"CalendarDays\" ref={ref}>\n <div\n vkuiClass={classNames(\n \"CalendarDays__row\",\n `CalendarDays__row--size-${size}`\n )}\n >\n {daysNames.map((dayName) => (\n <Caption\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"CalendarDays__weekday\"\n key={dayName}\n >\n {dayName}\n </Caption>\n ))}\n </div>\n\n {weeks.map((week, i) => (\n <div\n vkuiClass={classNames(\n \"CalendarDays__row\",\n `CalendarDays__row--size-${size}`\n )}\n key={i}\n >\n {week.map((day, i) => {\n const sameMonth = isSameMonth(day, viewDate);\n return (\n <CalendarDay\n key={day.toISOString()}\n day={day}\n today={isSameDay(day, now)}\n active={isDayActive(day)}\n onChange={handleDayChange}\n hidden={!showNeighboringMonth && !sameMonth}\n disabled={isDayDisabled(day)}\n selectionStart={isDaySelectionStart(day, i)}\n selectionEnd={isDaySelectionEnd(day, i)}\n hintedSelectionStart={isHintedDaySelectionStart?.(day, i)}\n hintedSelectionEnd={isHintedDaySelectionEnd?.(day, i)}\n selected={isDaySelected?.(day)}\n focused={isDayFocused(day)}\n onEnter={onDayEnter}\n onLeave={onDayLeave}\n hinted={isDayHinted?.(day)}\n sameMonth={sameMonth}\n size={size}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n"],"file":"CalendarDays.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CalendarDays/CalendarDays.tsx"],"names":["CalendarDays","viewDate","value","weekStartsOn","onDayChange","isDaySelected","isDayActive","isDaySelectionEnd","isDaySelectionStart","onDayEnter","onDayLeave","isDayHinted","isHintedDaySelectionStart","isHintedDaySelectionEnd","isDayFocused","isDayDisabled","size","showNeighboringMonth","props","locale","React","useContext","LocaleProviderContext","ref","useRef","useState","Date","now","weeks","useMemo","daysNames","handleDayChange","useCallback","date","current","focus","map","dayName","week","i","day","sameMonth","toISOString"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { isSameDay, isSameMonth } from \"date-fns\";\nimport { CalendarDay } from \"../CalendarDay/CalendarDay\";\nimport { getDaysNames, getWeeks } from \"../../lib/calendar\";\nimport { LocaleProviderContext } from \"../LocaleProviderContext/LocaleProviderContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./CalendarDays.css\";\n\nexport interface CalendarDaysProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value?: Date | Array<Date | null>;\n viewDate: Date;\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: \"s\" | \"m\";\n onDayChange(value: Date): void;\n isDayDisabled(value: Date): boolean;\n isDaySelectionStart(value: Date, dayOfWeek: number): boolean;\n isDaySelectionEnd(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionStart?(value: Date, dayOfWeek: number): boolean;\n isHintedDaySelectionEnd?(value: Date, dayOfWeek: number): boolean;\n isDayActive(value: Date): boolean;\n isDayHinted?(value: Date): boolean;\n isDaySelected?(value: Date): boolean;\n isDayFocused(value: Date): boolean;\n onDayEnter?(value: Date): void;\n onDayLeave?(value: Date): void;\n}\n\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n viewDate,\n value,\n weekStartsOn,\n onDayChange,\n isDaySelected,\n isDayActive,\n isDaySelectionEnd,\n isDaySelectionStart,\n onDayEnter,\n onDayLeave,\n isDayHinted,\n isHintedDaySelectionStart,\n isHintedDaySelectionEnd,\n isDayFocused,\n isDayDisabled,\n size,\n showNeighboringMonth = false,\n ...props\n}) => {\n const locale = React.useContext(LocaleProviderContext);\n const ref = React.useRef<HTMLDivElement>(null);\n const [now] = React.useState(new Date());\n\n const weeks = React.useMemo(\n () => getWeeks(viewDate, weekStartsOn),\n [weekStartsOn, viewDate]\n );\n\n const daysNames = React.useMemo(\n () => getDaysNames(now, weekStartsOn, locale),\n [locale, now, weekStartsOn]\n );\n\n const handleDayChange = React.useCallback(\n (date: Date) => {\n onDayChange(date);\n\n ref.current?.focus();\n },\n [onDayChange]\n );\n\n return (\n <div {...props} vkuiClass=\"CalendarDays\" ref={ref}>\n <div\n vkuiClass={classNames(\n \"CalendarDays__row\",\n `CalendarDays__row--size-${size}`\n )}\n >\n {daysNames.map((dayName) => (\n <Caption\n level=\"1\"\n weight=\"regular\"\n vkuiClass=\"CalendarDays__weekday\"\n key={dayName}\n >\n {dayName}\n </Caption>\n ))}\n </div>\n\n {weeks.map((week, i) => (\n <div\n vkuiClass={classNames(\n \"CalendarDays__row\",\n `CalendarDays__row--size-${size}`\n )}\n key={i}\n >\n {week.map((day, i) => {\n const sameMonth = isSameMonth(day, viewDate);\n return (\n <CalendarDay\n key={day.toISOString()}\n day={day}\n today={isSameDay(day, now)}\n active={isDayActive(day)}\n onChange={handleDayChange}\n hidden={!showNeighboringMonth && !sameMonth}\n disabled={isDayDisabled(day)}\n selectionStart={isDaySelectionStart(day, i)}\n selectionEnd={isDaySelectionEnd(day, i)}\n hintedSelectionStart={isHintedDaySelectionStart?.(day, i)}\n hintedSelectionEnd={isHintedDaySelectionEnd?.(day, i)}\n selected={isDaySelected?.(day)}\n focused={isDayFocused(day)}\n onEnter={onDayEnter}\n onLeave={onDayLeave}\n hinted={isDayHinted?.(day)}\n sameMonth={sameMonth}\n size={size}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n"],"file":"CalendarDays.js"}
|
|
@@ -35,7 +35,7 @@ var _Headline = _interopRequireDefault(require("../Typography/Headline/Headline"
|
|
|
35
35
|
|
|
36
36
|
var _utils = require("../../lib/utils");
|
|
37
37
|
|
|
38
|
-
var _Caption =
|
|
38
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
39
39
|
|
|
40
40
|
var _excluded = ["children", "className", "style", "getRootRef", "getRef", "description", "sizeY"];
|
|
41
41
|
|
|
@@ -74,10 +74,7 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
74
74
|
Component: "div"
|
|
75
75
|
}, (0, _jsxRuntime.createScopedElement)("div", {
|
|
76
76
|
vkuiClass: "Checkbox__children"
|
|
77
|
-
}, children), (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
78
|
-
level: "1",
|
|
79
|
-
Component: "span",
|
|
80
|
-
weight: "regular",
|
|
77
|
+
}, children), (0, _utils.hasReactNode)(description) && (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
81
78
|
vkuiClass: "Checkbox__description"
|
|
82
79
|
}, description))));
|
|
83
80
|
}; // eslint-disable-next-line import/no-default-export
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":["Checkbox","children","className","style","getRootRef","getRef","description","sizeY","restProps","platform","ContentComponent","VKCOM","SizeType","COMPACT","Text","Headline","disabled","IOS","ACTIVE_EFFECT_DELAY"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAQA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;AAWO,IAAMA,QAAgD,GAAG,SAAnDA,QAAmD,OAS3C;AAAA,MARnBC,QAQmB,QARnBA,QAQmB;AAAA,MAPnBC,SAOmB,QAPnBA,SAOmB;AAAA,MANnBC,KAMmB,QANnBA,KAMmB;AAAA,MALnBC,UAKmB,QALnBA,UAKmB;AAAA,MAJnBC,MAImB,QAJnBA,MAImB;AAAA,MAHnBC,WAGmB,QAHnBA,WAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,gBAAgB,GACpBD,QAAQ,KAAKE,eAAb,IAAsBJ,KAAK,KAAKK,yBAASC,OAAzC,GAAmDC,aAAnD,GAA0DC,iBAD5D;AAGA,SACE,qCAAC,iBAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBN,QAAzB,CADS,4BAEUF,KAFV,EAFb;AAME,IAAA,SAAS,EAAEL,SANb;AAOE,IAAA,KAAK,EAAEC,KAPT;AAQE,IAAA,QAAQ,EAAEK,SAAS,CAACQ,QARtB;AASE,IAAA,iBAAiB,EAAEP,QAAQ,KAAKQ,aAAb,GAAmB,GAAnB,GAAyBC,6BAT9C;AAUE,IAAA,UAAU,EAAEd;AAVd,KAYE,yEACMI,SADN;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,SAAS,EAAC,iBAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,KAAK,KAAKK,yBAASC,OAAnB,IAA8BJ,QAAQ,KAAKE,eAA3C,GACC,qCAAC,uBAAD,OADD,GAGC,qCAAC,uBAAD,OAJJ,CADF,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGJ,KAAK,KAAKK,yBAASC,OAAnB,IAA8BJ,QAAQ,KAAKE,eAA3C,GACC,qCAAC,wBAAD,OADD,GAGC,qCAAC,wBAAD,OAJJ,CARF,EAeE,qCAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAqCV,QAArC,CALF,EAMG,yBAAaK,WAAb,KACC,qCAAC,gBAAD;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":["Checkbox","children","className","style","getRootRef","getRef","description","sizeY","restProps","platform","ContentComponent","VKCOM","SizeType","COMPACT","Text","Headline","disabled","IOS","ACTIVE_EFFECT_DELAY"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAQA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;AAWO,IAAMA,QAAgD,GAAG,SAAnDA,QAAmD,OAS3C;AAAA,MARnBC,QAQmB,QARnBA,QAQmB;AAAA,MAPnBC,SAOmB,QAPnBA,SAOmB;AAAA,MANnBC,KAMmB,QANnBA,KAMmB;AAAA,MALnBC,UAKmB,QALnBA,UAKmB;AAAA,MAJnBC,MAImB,QAJnBA,MAImB;AAAA,MAHnBC,WAGmB,QAHnBA,WAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,gBAAgB,GACpBD,QAAQ,KAAKE,eAAb,IAAsBJ,KAAK,KAAKK,yBAASC,OAAzC,GAAmDC,aAAnD,GAA0DC,iBAD5D;AAGA,SACE,qCAAC,iBAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBN,QAAzB,CADS,4BAEUF,KAFV,EAFb;AAME,IAAA,SAAS,EAAEL,SANb;AAOE,IAAA,KAAK,EAAEC,KAPT;AAQE,IAAA,QAAQ,EAAEK,SAAS,CAACQ,QARtB;AASE,IAAA,iBAAiB,EAAEP,QAAQ,KAAKQ,aAAb,GAAmB,GAAnB,GAAyBC,6BAT9C;AAUE,IAAA,UAAU,EAAEd;AAVd,KAYE,yEACMI,SADN;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,SAAS,EAAC,iBAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,KAAK,KAAKK,yBAASC,OAAnB,IAA8BJ,QAAQ,KAAKE,eAA3C,GACC,qCAAC,uBAAD,OADD,GAGC,qCAAC,uBAAD,OAJJ,CADF,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGJ,KAAK,KAAKK,yBAASC,OAAnB,IAA8BJ,QAAQ,KAAKE,eAA3C,GACC,qCAAC,wBAAD,OADD,GAGC,qCAAC,wBAAD,OAJJ,CARF,EAeE,qCAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAqCV,QAArC,CALF,EAMG,yBAAaK,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAA4CA,WAA5C,CAPJ,CAfF,CAlBF,CADF;AA+CD,CA9DM,C,CAgEP;;;;;eACe,oCAAeN,QAAf,EAAyB;AACtCO,EAAAA,KAAK,EAAE;AAD+B,CAAzB,C","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\n\nimport {\n Icon20CheckBoxOn,\n Icon20CheckBoxOff,\n Icon24CheckBoxOn,\n Icon24CheckBoxOff,\n} from \"@vkontakte/icons\";\n\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport Text from \"../Typography/Text/Text\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./Checkbox.css\";\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nexport const Checkbox: React.FunctionComponent<CheckboxProps> = ({\n children,\n className,\n style,\n getRootRef,\n getRef,\n description,\n sizeY,\n ...restProps\n}: CheckboxProps) => {\n const platform = usePlatform();\n\n const ContentComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n vkuiClass={classNames(\n getClassName(\"Checkbox\", platform),\n `Checkbox--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n disabled={restProps.disabled}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n getRootRef={getRootRef}\n >\n <input\n {...restProps}\n type=\"checkbox\"\n vkuiClass=\"Checkbox__input\"\n ref={getRef}\n />\n <div vkuiClass=\"Checkbox__container\">\n <div vkuiClass=\"Checkbox__icon Checkbox__icon--on\">\n {sizeY === SizeType.COMPACT || platform === VKCOM ? (\n <Icon20CheckBoxOn />\n ) : (\n <Icon24CheckBoxOn />\n )}\n </div>\n <div vkuiClass=\"Checkbox__icon Checkbox__icon--off\">\n {sizeY === SizeType.COMPACT || platform === VKCOM ? (\n <Icon20CheckBoxOff />\n ) : (\n <Icon24CheckBoxOff />\n )}\n </div>\n <ContentComponent\n weight=\"regular\"\n vkuiClass=\"Checkbox__content\"\n Component=\"div\"\n >\n <div vkuiClass=\"Checkbox__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Checkbox__description\">{description}</Caption>\n )}\n </ContentComponent>\n </div>\n </Tappable>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Checkbox, {\n sizeY: true,\n});\n"],"file":"Checkbox.js"}
|
|
@@ -23,7 +23,7 @@ var _utils = require("../../lib/utils");
|
|
|
23
23
|
|
|
24
24
|
var _classNames = require("../../lib/classNames");
|
|
25
25
|
|
|
26
|
-
var _Caption =
|
|
26
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
27
27
|
|
|
28
28
|
var _Tappable = _interopRequireDefault(require("../Tappable/Tappable"));
|
|
29
29
|
|
|
@@ -59,9 +59,7 @@ var Chip = function Chip(_ref) {
|
|
|
59
59
|
role: "presentation"
|
|
60
60
|
}, (0, _utils.hasReactNode)(before) && (0, _jsxRuntime.createScopedElement)("div", {
|
|
61
61
|
vkuiClass: "Chip__before"
|
|
62
|
-
}, before), (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
63
|
-
level: "1",
|
|
64
|
-
weight: "regular",
|
|
62
|
+
}, before), (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
65
63
|
vkuiClass: "Chip__content",
|
|
66
64
|
title: title,
|
|
67
65
|
"aria-hidden": "true"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["Chip","value","option","removable","onRemove","noop","removeAriaLabel","before","after","children","restProps","onRemoveWrapper","React","useCallback","event","title"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAeO,IAAMA,IAAyB,GAAG,SAA5BA,IAA4B,OAUxB;AAAA,wBATfC,KASe;AAAA,MATfA,KASe,2BATP,EASO;AAAA,MARfC,MAQe,QARfA,MAQe;AAAA,4BAPfC,SAOe;AAAA,MAPfA,SAOe,+BAPH,IAOG;AAAA,2BANfC,QAMe;AAAA,MANfA,QAMe,8BANJC,WAMI;AAAA,kCALfC,eAKe;AAAA,MALfA,eAKe,qCALG,SAKH;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,IAIM;AAAA,MAHfC,KAGe,QAHfA,KAGe;AAAA,MAFfC,QAEe,QAFfA,QAEe;AAAA,MADZC,SACY;AACf,MAAMC,eAAe,GAAGC,KAAK,CAACC,WAAN,CACtB,UAACC,KAAD,EAA6B;AAC3BV,IAAAA,QAAQ,CAACU,KAAD,EAAQb,KAAR,CAAR;AACD,GAHqB,EAItB,CAACG,QAAD,EAAWH,KAAX,CAJsB,CAAxB;AAMA,MAAMc,KAAK,GAAG,iCAAqBN,QAArB,CAAd;AAEA,SACE;AACE,IAAA,SAAS,EAAE,4BAAW,MAAX,EAAmB;AAAE,yBAAmBN;AAArB,KAAnB,CADb;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,kBAAYY;AAHd,KAIML,SAJN,GAME;AAAK,IAAA,SAAS,EAAC,UAAf;AAA0B,IAAA,IAAI,EAAC;AAA/B,KACG,yBAAaH,MAAb,KAAwB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+BA,MAA/B,CAD3B,EAEE,qCAAC,gBAAD;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["Chip","value","option","removable","onRemove","noop","removeAriaLabel","before","after","children","restProps","onRemoveWrapper","React","useCallback","event","title"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAeO,IAAMA,IAAyB,GAAG,SAA5BA,IAA4B,OAUxB;AAAA,wBATfC,KASe;AAAA,MATfA,KASe,2BATP,EASO;AAAA,MARfC,MAQe,QARfA,MAQe;AAAA,4BAPfC,SAOe;AAAA,MAPfA,SAOe,+BAPH,IAOG;AAAA,2BANfC,QAMe;AAAA,MANfA,QAMe,8BANJC,WAMI;AAAA,kCALfC,eAKe;AAAA,MALfA,eAKe,qCALG,SAKH;AAAA,yBAJfC,MAIe;AAAA,MAJfA,MAIe,4BAJN,IAIM;AAAA,MAHfC,KAGe,QAHfA,KAGe;AAAA,MAFfC,QAEe,QAFfA,QAEe;AAAA,MADZC,SACY;AACf,MAAMC,eAAe,GAAGC,KAAK,CAACC,WAAN,CACtB,UAACC,KAAD,EAA6B;AAC3BV,IAAAA,QAAQ,CAACU,KAAD,EAAQb,KAAR,CAAR;AACD,GAHqB,EAItB,CAACG,QAAD,EAAWH,KAAX,CAJsB,CAAxB;AAMA,MAAMc,KAAK,GAAG,iCAAqBN,QAArB,CAAd;AAEA,SACE;AACE,IAAA,SAAS,EAAE,4BAAW,MAAX,EAAmB;AAAE,yBAAmBN;AAArB,KAAnB,CADb;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,kBAAYY;AAHd,KAIML,SAJN,GAME;AAAK,IAAA,SAAS,EAAC,UAAf;AAA0B,IAAA,IAAI,EAAC;AAA/B,KACG,yBAAaH,MAAb,KAAwB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+BA,MAA/B,CAD3B,EAEE,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC,eAAnB;AAAmC,IAAA,KAAK,EAAEQ,KAA1C;AAAiD,mBAAY;AAA7D,KACGN,QADH,CAFF,EAKG,yBAAaD,KAAb,KAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8BA,KAA9B,CAL1B,EAOGL,SAAS,IACR,qCAAC,iBAAD;AACE,IAAA,SAAS,EAAC,QADZ;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,OAAO,EAAEQ,eAHX;AAIE,IAAA,QAAQ,EAAE,KAJZ;AAKE,IAAA,SAAS,EAAE,KALb;AAME,4BAAeL,eAAf,cAAkCS,KAAlC;AANF,KAQE,qCAAC,mBAAD;AAAc,mBAAa;AAA3B,IARF,CARJ,CANF,CADF;AA6BD,CAhDM","sourcesContent":["import * as React from \"react\";\nimport { Icon16Cancel } from \"@vkontakte/icons\";\nimport { getTitleFromChildren, hasReactNode, noop } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport \"./Chip.css\";\n\ntype ChipValue = string | number;\n\nexport interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {\n value: ChipValue;\n option?: { value?: ChipValue };\n onRemove?: (event?: React.MouseEvent, value?: ChipValue) => void;\n removable?: boolean;\n removeAriaLabel?: string;\n before?: React.ReactNode;\n after?: React.ReactNode;\n}\n\nexport const Chip: React.FC<ChipProps> = ({\n value = \"\",\n option,\n removable = true,\n onRemove = noop,\n removeAriaLabel = \"Удалить\",\n before = null,\n after,\n children,\n ...restProps\n}: ChipProps) => {\n const onRemoveWrapper = React.useCallback(\n (event: React.MouseEvent) => {\n onRemove(event, value);\n },\n [onRemove, value]\n );\n const title = getTitleFromChildren(children);\n\n return (\n <div\n vkuiClass={classNames(\"Chip\", { \"Chip--removable\": removable })}\n role=\"option\"\n aria-label={title}\n {...restProps}\n >\n <div vkuiClass=\"Chip__in\" role=\"presentation\">\n {hasReactNode(before) && <div vkuiClass=\"Chip__before\">{before}</div>}\n <Caption vkuiClass=\"Chip__content\" title={title} aria-hidden=\"true\">\n {children}\n </Caption>\n {hasReactNode(after) && <div vkuiClass=\"Chip__after\">{after}</div>}\n\n {removable && (\n <Tappable\n Component=\"button\"\n vkuiClass=\"Chip__remove\"\n onClick={onRemoveWrapper}\n hasHover={false}\n hasActive={false}\n aria-label={`${removeAriaLabel} ${title}`}\n >\n <Icon16Cancel aria-hidden={true} />\n </Tappable>\n )}\n </div>\n </div>\n );\n};\n"],"file":"Chip.js"}
|
|
@@ -41,7 +41,7 @@ var _utils = require("../../lib/utils");
|
|
|
41
41
|
|
|
42
42
|
var _dom = require("../../lib/dom");
|
|
43
43
|
|
|
44
|
-
var _Caption =
|
|
44
|
+
var _Caption = require("../Typography/Caption/Caption");
|
|
45
45
|
|
|
46
46
|
var _prefixClass = require("../../lib/prefixClass");
|
|
47
47
|
|
|
@@ -333,9 +333,7 @@ var ChipsSelectComponent = function ChipsSelectComponent(props) {
|
|
|
333
333
|
onMouseEnter: function onMouseEnter() {
|
|
334
334
|
return setFocusedOptionIndex(0);
|
|
335
335
|
}
|
|
336
|
-
}, creatableText), !(filteredOptions !== null && filteredOptions !== void 0 && filteredOptions.length) && !showCreatable && emptyText ? (0, _jsxRuntime.createScopedElement)(_Caption.
|
|
337
|
-
level: "1",
|
|
338
|
-
weight: "regular",
|
|
336
|
+
}, creatableText), !(filteredOptions !== null && filteredOptions !== void 0 && filteredOptions.length) && !showCreatable && emptyText ? (0, _jsxRuntime.createScopedElement)(_Caption.Caption, {
|
|
339
337
|
vkuiClass: "ChipsSelect__empty"
|
|
340
338
|
}, emptyText) : filteredOptions.map(function (option, index) {
|
|
341
339
|
var label = getOptionLabel(option);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","chipsInputDefaultProps","emptyText","creatableText","onChangeStart","noop","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","defaultFilterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","React","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport ChipsInput, {\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающиего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames({\n [\"ChipsSelect__open\"]: opened,\n [\"ChipsSelect__open--popupDirectionTop\"]: isPopperDirectionTop,\n })}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ChipsSelect__empty\">\n {emptyText}\n </Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n"],"file":"ChipsSelect.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","chipsInputDefaultProps","emptyText","creatableText","onChangeStart","noop","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","defaultFilterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","React","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport ChipsInput, {\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающиего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames({\n [\"ChipsSelect__open\"]: opened,\n [\"ChipsSelect__open--popupDirectionTop\"]: isPopperDirectionTop,\n })}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption vkuiClass=\"ChipsSelect__empty\">{emptyText}</Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n"],"file":"ChipsSelect.js"}
|