@skbkontur/react-ui 5.1.7 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +2 -8
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +19 -15
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +25 -5
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -4
- package/cjs/components/FxInput/FxInput.d.ts +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -6
- package/cjs/components/MenuFooter/MenuFooter.js +47 -40
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -6
- package/cjs/components/MenuHeader/MenuHeader.js +49 -41
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +3 -0
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -0
- package/cjs/components/MenuItem/MenuItem.styles.js +18 -13
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -6
- package/cjs/components/MenuSeparator/MenuSeparator.js +24 -22
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.js +3 -3
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +20 -4
- package/cjs/components/Modal/Modal.js +79 -5
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +19 -0
- package/cjs/components/Modal/Modal.styles.js +172 -42
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +8 -1
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalContext.d.ts +1 -0
- package/cjs/components/Modal/ModalContext.js +1 -0
- package/cjs/components/Modal/ModalContext.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +17 -2
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +21 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js +18 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.js +11 -5
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +0 -1
- package/cjs/components/SidePage/SidePage.styles.js +51 -57
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +1 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +5 -5
- package/cjs/components/Toast/Toast.js +2 -2
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +3 -2
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -1
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -0
- package/cjs/internal/Popup/Popup.js +11 -1
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +4 -0
- package/cjs/internal/themes/BasicTheme.js +8 -2
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_2.js +29 -0
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_2.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_2.js +27 -0
- package/cjs/internal/themes/LightTheme5_2.js.map +1 -0
- package/cjs/lib/ModalStack.d.ts +7 -1
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +8 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +3 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +3 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +7 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +8 -6
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +2 -8
- package/components/DateInput/DateInput/DateInput.js +13 -7
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -4
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -1
- package/components/MenuFooter/MenuFooter/MenuFooter.js +7 -4
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +1 -6
- package/components/MenuHeader/MenuHeader/MenuHeader.js +7 -4
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +1 -6
- package/components/MenuItem/MenuItem/MenuItem.js +3 -1
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +16 -13
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/MenuItem/MenuItem.styles.d.ts +1 -0
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -4
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +1 -6
- package/components/MiniModal/MiniModal/MiniModal.js +3 -1
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/Modal/Modal/Modal.js +51 -11
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +20 -4
- package/components/Modal/Modal.styles/Modal.styles.js +98 -41
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +19 -0
- package/components/Modal/ModalBody/ModalBody.js +5 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalContext/ModalContext.js.map +1 -1
- package/components/Modal/ModalContext.d.ts +1 -0
- package/components/Modal/ModalFooter/ModalFooter.js +14 -2
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +12 -2
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +15 -8
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +3 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +51 -54
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +0 -1
- package/components/Sticky/Sticky/Sticky.js +1 -1
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Toast/Toast/Toast.js +2 -2
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +5 -5
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -1
- package/internal/Popup/Popup/Popup.js +12 -1
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/BasicTheme/BasicTheme.js +8 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +4 -0
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +27 -0
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -0
- package/internal/themes/DarkTheme5_2/package.json +6 -0
- package/internal/themes/DarkTheme5_2.d.ts +1 -0
- package/internal/themes/LightTheme5_2/LightTheme5_2.js +27 -0
- package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +1 -0
- package/internal/themes/LightTheme5_2/package.json +6 -0
- package/internal/themes/LightTheme5_2.d.ts +1 -0
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +7 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +3 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +4 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +3 -0
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/package.json +9 -9
- package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +0 -239
- package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +0 -26
- package/cjs/components/Button/__creevey__/Button.creevey.mts +0 -251
- package/cjs/components/Button/__docs__/Button.mdx +0 -27
- package/cjs/components/Calendar/__creevey__/Calendar.creevey.mts +0 -113
- package/cjs/components/Calendar/__docs__/Calendar.mdx +0 -27
- package/cjs/components/Calendar/__docs__/CalendarDay.mdx +0 -23
- package/cjs/components/Center/__docs__/Center.mdx +0 -23
- package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.mts +0 -243
- package/cjs/components/Checkbox/__docs__/Checkbox.mdx +0 -27
- package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.mts +0 -545
- package/cjs/components/ComboBox/__docs__/ComboBox.mdx +0 -27
- package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +0 -81
- package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +0 -27
- package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +0 -23
- package/cjs/components/DateInput/__creevey__/DateInput.creevey.mts +0 -156
- package/cjs/components/DateInput/__docs__/DateInput.mdx +0 -23
- package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.mts +0 -209
- package/cjs/components/DatePicker/__docs__/DatePicker.mdx +0 -27
- package/cjs/components/DateRangePicker/__creevey__/DateRangePicker.creevey.mts +0 -155
- package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -123
- package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.mts +0 -184
- package/cjs/components/Dropdown/__docs__/Dropdown.mdx +0 -27
- package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +0 -263
- package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +0 -27
- package/cjs/components/FileUploader/__docs__/FileUploader.mdx +0 -27
- package/cjs/components/FxInput/__creevey__/FxInput.creevey.mts +0 -21
- package/cjs/components/FxInput/__docs__/FxInput.mdx +0 -27
- package/cjs/components/Gapped/__docs__/Gapped.mdx +0 -23
- package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +0 -27
- package/cjs/components/Group/__creevey__/Group.creevey.mts +0 -19
- package/cjs/components/Group/__docs__/Group.mdx +0 -23
- package/cjs/components/Hint/__creevey__/Hint.creevey.mts +0 -68
- package/cjs/components/Hint/__docs__/Hint.mdx +0 -28
- package/cjs/components/Input/__creevey__/Input.creevey.mts +0 -239
- package/cjs/components/Input/__docs__/Input.mdx +0 -27
- package/cjs/components/Kebab/__creevey__/Kebab.creevey.mts +0 -147
- package/cjs/components/Kebab/__docs__/Kebab.mdx +0 -27
- package/cjs/components/Link/__creevey__/Link.creevey.mts +0 -162
- package/cjs/components/Link/__docs__/Link.mdx +0 -27
- package/cjs/components/Loader/__creevey__/Loader.creevey.mts +0 -35
- package/cjs/components/Loader/__docs__/Loader.mdx +0 -23
- package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +0 -221
- package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +0 -27
- package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +0 -23
- package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +0 -23
- package/cjs/components/MenuItem/__docs__/MenuItem.mdx +0 -23
- package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +0 -23
- package/cjs/components/MiniModal/__docs__/MiniModal.mdx +0 -27
- package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +0 -17
- package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +0 -17
- package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +0 -18
- package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +0 -11
- package/cjs/components/Modal/__creevey__/Modal.creevey.mts +0 -295
- package/cjs/components/Modal/__docs__/Modal.mdx +0 -27
- package/cjs/components/Modal/__docs__/ModalBody.mdx +0 -15
- package/cjs/components/Modal/__docs__/ModalFooter.mdx +0 -15
- package/cjs/components/Modal/__docs__/ModalHeader.mdx +0 -15
- package/cjs/components/Modal/__docs__/ModalSeparator.mdx +0 -15
- package/cjs/components/Paging/__creevey__/Paging.creevey.mts +0 -97
- package/cjs/components/Paging/__docs__/Paging.mdx +0 -27
- package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +0 -46
- package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +0 -27
- package/cjs/components/Radio/__creevey__/Radio.creevey.mts +0 -28
- package/cjs/components/Radio/__docs__/Radio.mdx +0 -27
- package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +0 -86
- package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +0 -27
- package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +0 -96
- package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +0 -247
- package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +0 -23
- package/cjs/components/Select/__creevey__/Select.creevey.mts +0 -293
- package/cjs/components/Select/__docs__/Select.mdx +0 -27
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +0 -421
- package/cjs/components/SidePage/__docs__/SidePage.mdx +0 -27
- package/cjs/components/SidePage/__docs__/SidePageBody.mdx +0 -16
- package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +0 -15
- package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +0 -15
- package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +0 -15
- package/cjs/components/SingleToast/__docs__/SingleToast.mdx +0 -27
- package/cjs/components/Spinner/__docs__/Spinner.mdx +0 -27
- package/cjs/components/Sticky/__creevey__/Sticky.creevey.mts +0 -98
- package/cjs/components/Sticky/__docs__/Sticky.mdx +0 -23
- package/cjs/components/Switcher/__creevey__/Switcher.creevey.mts +0 -24
- package/cjs/components/Switcher/__docs__/Switcher.mdx +0 -27
- package/cjs/components/Tabs/__creevey__/Tabs.creevey.mts +0 -239
- package/cjs/components/Tabs/__docs__/Tab.mdx +0 -27
- package/cjs/components/Tabs/__docs__/Tabs.mdx +0 -27
- package/cjs/components/Textarea/__creevey__/Textarea.creevey.mts +0 -177
- package/cjs/components/Textarea/__docs__/Textarea.mdx +0 -27
- package/cjs/components/Toast/__creevey__/Toast.creevey.mts +0 -77
- package/cjs/components/Toast/__docs__/Toast.mdx +0 -27
- package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +0 -93
- package/cjs/components/Toggle/__docs__/Toggle.mdx +0 -27
- package/cjs/components/Token/__docs__/Token.mdx +0 -27
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +0 -442
- package/cjs/components/TokenInput/__docs__/TokenInput.mdx +0 -27
- package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.mts +0 -533
- package/cjs/components/Tooltip/__docs__/Tooltip.mdx +0 -27
- package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +0 -131
- package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +0 -23
- package/cjs/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +0 -44
- package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +0 -48
- package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +0 -30
- package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +0 -25
- package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +0 -83
- package/cjs/internal/Menu/__creevey__/Menu.creevey.mts +0 -90
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +0 -7
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js +0 -89
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +0 -1
- package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +0 -37
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +0 -36
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +0 -4
- package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +0 -68
- package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.mts +0 -228
- package/components/Autocomplete/__creevey__/Autocomplete.creevey.d.mts +0 -1
- package/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +0 -239
- package/components/Autocomplete/__docs__/Autocomplete.mdx +0 -26
- package/components/Button/__creevey__/Button.creevey.d.mts +0 -1
- package/components/Button/__creevey__/Button.creevey.mts +0 -251
- package/components/Button/__docs__/Button.mdx +0 -27
- package/components/Calendar/__creevey__/Calendar.creevey.d.mts +0 -1
- package/components/Calendar/__creevey__/Calendar.creevey.mts +0 -113
- package/components/Calendar/__docs__/Calendar.mdx +0 -27
- package/components/Calendar/__docs__/CalendarDay.mdx +0 -23
- package/components/Center/__docs__/Center.mdx +0 -23
- package/components/Checkbox/__creevey__/Checkbox.creevey.d.mts +0 -1
- package/components/Checkbox/__creevey__/Checkbox.creevey.mts +0 -243
- package/components/Checkbox/__docs__/Checkbox.mdx +0 -27
- package/components/ComboBox/__creevey__/ComboBox.creevey.d.mts +0 -1
- package/components/ComboBox/__creevey__/ComboBox.creevey.mts +0 -545
- package/components/ComboBox/__docs__/ComboBox.mdx +0 -27
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.mts +0 -1
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +0 -81
- package/components/CurrencyInput/__docs__/CurrencyInput.mdx +0 -27
- package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +0 -23
- package/components/DateInput/__creevey__/DateInput.creevey.d.mts +0 -1
- package/components/DateInput/__creevey__/DateInput.creevey.mts +0 -156
- package/components/DateInput/__docs__/DateInput.mdx +0 -23
- package/components/DatePicker/__creevey__/DatePicker.creevey.d.mts +0 -1
- package/components/DatePicker/__creevey__/DatePicker.creevey.mts +0 -209
- package/components/DatePicker/__docs__/DatePicker.mdx +0 -27
- package/components/DateRangePicker/__creevey__/DateRangePicker.creevey.d.mts +0 -1
- package/components/DateRangePicker/__creevey__/DateRangePicker.creevey.mts +0 -155
- package/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -123
- package/components/Dropdown/__creevey__/Dropdown.creevey.d.mts +0 -1
- package/components/Dropdown/__creevey__/Dropdown.creevey.mts +0 -184
- package/components/Dropdown/__docs__/Dropdown.mdx +0 -27
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.mts +0 -1
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +0 -263
- package/components/DropdownMenu/__docs__/DropdownMenu.mdx +0 -27
- package/components/FileUploader/__docs__/FileUploader.mdx +0 -27
- package/components/FxInput/__creevey__/FxInput.creevey.d.mts +0 -1
- package/components/FxInput/__creevey__/FxInput.creevey.mts +0 -21
- package/components/FxInput/__docs__/FxInput.mdx +0 -27
- package/components/Gapped/__docs__/Gapped.mdx +0 -23
- package/components/GlobalLoader/__docs__/GlobalLoader.mdx +0 -27
- package/components/Group/__creevey__/Group.creevey.d.mts +0 -1
- package/components/Group/__creevey__/Group.creevey.mts +0 -19
- package/components/Group/__docs__/Group.mdx +0 -23
- package/components/Hint/__creevey__/Hint.creevey.d.mts +0 -1
- package/components/Hint/__creevey__/Hint.creevey.mts +0 -68
- package/components/Hint/__docs__/Hint.mdx +0 -28
- package/components/Input/__creevey__/Input.creevey.d.mts +0 -1
- package/components/Input/__creevey__/Input.creevey.mts +0 -239
- package/components/Input/__docs__/Input.mdx +0 -27
- package/components/Kebab/__creevey__/Kebab.creevey.d.mts +0 -1
- package/components/Kebab/__creevey__/Kebab.creevey.mts +0 -147
- package/components/Kebab/__docs__/Kebab.mdx +0 -27
- package/components/Link/__creevey__/Link.creevey.d.mts +0 -1
- package/components/Link/__creevey__/Link.creevey.mts +0 -162
- package/components/Link/__docs__/Link.mdx +0 -27
- package/components/Loader/__creevey__/Loader.creevey.d.mts +0 -1
- package/components/Loader/__creevey__/Loader.creevey.mts +0 -35
- package/components/Loader/__docs__/Loader.mdx +0 -23
- package/components/MaskedInput/__creevey__/MaskedInput.creevey.d.mts +0 -1
- package/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +0 -221
- package/components/MaskedInput/__docs__/MaskedInput.mdx +0 -27
- package/components/MenuFooter/__docs__/MenuFooter.mdx +0 -23
- package/components/MenuHeader/__docs__/MenuHeader.mdx +0 -23
- package/components/MenuItem/__docs__/MenuItem.mdx +0 -23
- package/components/MenuSeparator/__docs__/MenuSeparator.mdx +0 -23
- package/components/MiniModal/__docs__/MiniModal.mdx +0 -27
- package/components/MiniModal/__docs__/MiniModalBody.mdx +0 -17
- package/components/MiniModal/__docs__/MiniModalFooter.mdx +0 -17
- package/components/MiniModal/__docs__/MiniModalHeader.mdx +0 -18
- package/components/MiniModal/__docs__/MiniModalIndent.mdx +0 -11
- package/components/Modal/__creevey__/Modal.creevey.d.mts +0 -1
- package/components/Modal/__creevey__/Modal.creevey.mts +0 -295
- package/components/Modal/__docs__/Modal.mdx +0 -27
- package/components/Modal/__docs__/ModalBody.mdx +0 -15
- package/components/Modal/__docs__/ModalFooter.mdx +0 -15
- package/components/Modal/__docs__/ModalHeader.mdx +0 -15
- package/components/Modal/__docs__/ModalSeparator.mdx +0 -15
- package/components/Paging/__creevey__/Paging.creevey.d.mts +0 -1
- package/components/Paging/__creevey__/Paging.creevey.mts +0 -97
- package/components/Paging/__docs__/Paging.mdx +0 -27
- package/components/PasswordInput/__creevey__/PasswordInput.creevey.d.mts +0 -1
- package/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +0 -46
- package/components/PasswordInput/__docs__/PasswordInput.mdx +0 -27
- package/components/Radio/__creevey__/Radio.creevey.d.mts +0 -1
- package/components/Radio/__creevey__/Radio.creevey.mts +0 -28
- package/components/Radio/__docs__/Radio.mdx +0 -27
- package/components/RadioGroup/__creevey__/RadioGroup.creevey.d.mts +0 -1
- package/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +0 -86
- package/components/RadioGroup/__docs__/RadioGroup.mdx +0 -27
- package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +0 -96
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.mts +0 -1
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +0 -247
- package/components/ScrollContainer/__docs__/ScrollContainer.mdx +0 -23
- package/components/Select/__creevey__/Select.creevey.d.mts +0 -1
- package/components/Select/__creevey__/Select.creevey.mts +0 -293
- package/components/Select/__docs__/Select.mdx +0 -27
- package/components/SidePage/__creevey__/SidePage.creevey.d.mts +0 -1
- package/components/SidePage/__creevey__/SidePage.creevey.mts +0 -421
- package/components/SidePage/__docs__/SidePage.mdx +0 -27
- package/components/SidePage/__docs__/SidePageBody.mdx +0 -16
- package/components/SidePage/__docs__/SidePageContainer.mdx +0 -15
- package/components/SidePage/__docs__/SidePageFooter.mdx +0 -15
- package/components/SidePage/__docs__/SidePageHeader.mdx +0 -15
- package/components/SingleToast/__docs__/SingleToast.mdx +0 -27
- package/components/Spinner/__docs__/Spinner.mdx +0 -27
- package/components/Sticky/__creevey__/Sticky.creevey.d.mts +0 -1
- package/components/Sticky/__creevey__/Sticky.creevey.mts +0 -98
- package/components/Sticky/__docs__/Sticky.mdx +0 -23
- package/components/Switcher/__creevey__/Switcher.creevey.d.mts +0 -1
- package/components/Switcher/__creevey__/Switcher.creevey.mts +0 -24
- package/components/Switcher/__docs__/Switcher.mdx +0 -27
- package/components/Tabs/__creevey__/Tabs.creevey.d.mts +0 -1
- package/components/Tabs/__creevey__/Tabs.creevey.mts +0 -239
- package/components/Tabs/__docs__/Tab.mdx +0 -27
- package/components/Tabs/__docs__/Tabs.mdx +0 -27
- package/components/Textarea/__creevey__/Textarea.creevey.d.mts +0 -1
- package/components/Textarea/__creevey__/Textarea.creevey.mts +0 -177
- package/components/Textarea/__docs__/Textarea.mdx +0 -27
- package/components/Toast/__creevey__/Toast.creevey.d.mts +0 -1
- package/components/Toast/__creevey__/Toast.creevey.mts +0 -77
- package/components/Toast/__docs__/Toast.mdx +0 -27
- package/components/Toggle/__creevey__/Toggle.creevey.d.mts +0 -1
- package/components/Toggle/__creevey__/Toggle.creevey.mts +0 -93
- package/components/Toggle/__docs__/Toggle.mdx +0 -27
- package/components/Token/__docs__/Token.mdx +0 -27
- package/components/TokenInput/__creevey__/TokenInput.creevey.d.mts +0 -1
- package/components/TokenInput/__creevey__/TokenInput.creevey.mts +0 -442
- package/components/TokenInput/__docs__/TokenInput.mdx +0 -27
- package/components/Tooltip/__creevey__/Tooltip.creevey.d.mts +0 -1
- package/components/Tooltip/__creevey__/Tooltip.creevey.mts +0 -533
- package/components/Tooltip/__docs__/Tooltip.mdx +0 -27
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.mts +0 -1
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +0 -131
- package/components/TooltipMenu/__docs__/TooltipMenu.mdx +0 -23
- package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.d.mts +0 -1
- package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +0 -44
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.mts +0 -1
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +0 -48
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.mts +0 -1
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +0 -30
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.mts +0 -1
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +0 -25
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.mts +0 -1
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +0 -83
- package/internal/Menu/__creevey__/Menu.creevey.d.mts +0 -1
- package/internal/Menu/__creevey__/Menu.creevey.mts +0 -90
- package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js +0 -106
- package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +0 -1
- package/internal/PerformanceMetrics/PerformanceMetrics/package.json +0 -6
- package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +0 -7
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.mts +0 -1
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +0 -37
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +0 -1
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +0 -36
- package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +0 -4
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.mts +0 -1
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +0 -68
- package/internal/ZIndex/__creevey__/ZIndex.creevey.d.mts +0 -1
- package/internal/ZIndex/__creevey__/ZIndex.creevey.mts +0 -228
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_shallowequal","_globalObject","LayoutEvents","_interopRequireWildcard","_utils","_ZIndex","_CommonWrapper","_Emotion","_rootNode","_getDOMRect3","_createPropsGetter","_featureFlagsContext","_Sticky2","_class","_Sticky","MAX_REFLOW_RETRIES","StickyDataTids","exports","root","Sticky","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","fixed","deltaHeight","stopped","relativeTop","layoutSubscription","remove","reflowCounter","refWrapper","ref","wrapper","refInner","inner","reflow","_globalObject$documen","globalObject","document","documentElement","Error","windowHeight","innerHeight","clientHeight","_getDOMRect","getDOMRect","top","bottom","left","width","_getDOMRect2","height","_this$props","props","getStop","side","_this$state","prevFixed","_this$state$height","prevHeight","offset","Math","floor","setState","stop","stopRect","outerHeight","_inheritsLoose2","default","_proto","prototype","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","shallowEqual","featureFlags","stickyReduceLayoutEvents","emit","render","_this2","createElement","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","renderMain","_cx","children","_this$state2","innerStyle","isFunction","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","ZIndex","priority","applyZIndex","cx","style","wrapperRef","container","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","node","func","number","oneOf","isRequired"],"sources":["Sticky.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends Omit<CommonProps, 'children'> {\n /** Задает сторону залипания. */\n side: 'top' | 'bottom';\n\n /** Задает отступ от края экрана в пикселях, на который сдвигается элемент в залипшем состоянии.\n * @default 0 */\n offset?: number;\n\n /** Задает функцию, которая возвращает DOM-элемент, который нельзя пересекать. */\n getStop?: () => Nullable<HTMLElement>;\n\n /** @ignore */\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport const StickyDataTids = {\n root: 'Sticky__root',\n} as const;\n\ntype DefaultProps = Required<Pick<StickyProps, 'offset'>>;\n\n/**\n * `Sticky` позволяет закреплять элемент интерфейса в определенной позиции на экране при прокрутке страницы.\n * Это полезно для создания \"прилипающих\" элементов, которые остаются видимыми при прокрутке содержимого.\n */\n@rootNode\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n public static displayName = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps: DefaultProps = { offset: 0 };\n\n private getProps = createPropsGetter(Sticky.defaultProps);\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n private setRootNode!: TSetRootNode;\n public featureFlags!: ReactUIFeatureFlags;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n this.featureFlags.stickyReduceLayoutEvents ? this.reflow() : LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return this.renderMain();\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n let { children } = this.props;\n const { side } = this.props;\n const offset = this.getProps().offset;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={StickyDataTids.root} ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n /**\n * Пересчитать габариты и позицию залипшего элемента\n *\n * @public\n */\n public reflow = () => {\n if (!globalObject.document?.documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = globalObject.innerHeight || globalObject.document.documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left, width } = getDOMRect(this.wrapper);\n const { height } = getDOMRect(this.inner);\n const { getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const offset = this.getProps().offset;\n const fixed = side === 'top' ? top < offset : Math.floor(bottom) > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n this.setState({ width });\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = getDOMRect(stop);\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_shallowequal","_globalObject","LayoutEvents","_interopRequireWildcard","_utils","_ZIndex","_CommonWrapper","_Emotion","_rootNode","_getDOMRect3","_createPropsGetter","_featureFlagsContext","_Sticky2","_class","_Sticky","MAX_REFLOW_RETRIES","StickyDataTids","exports","root","Sticky","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","fixed","deltaHeight","stopped","relativeTop","layoutSubscription","remove","reflowCounter","refWrapper","ref","wrapper","refInner","inner","reflow","_globalObject$documen","globalObject","document","documentElement","Error","windowHeight","innerHeight","clientHeight","_getDOMRect","getDOMRect","top","bottom","left","width","_getDOMRect2","height","_this$props","props","getStop","side","_this$state","prevFixed","_this$state$height","prevHeight","offset","Math","ceil","floor","setState","stop","stopRect","outerHeight","_inheritsLoose2","default","_proto","prototype","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","shallowEqual","featureFlags","stickyReduceLayoutEvents","emit","render","_this2","createElement","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","renderMain","_cx","children","_this$state2","innerStyle","isFunction","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","ZIndex","priority","applyZIndex","cx","style","wrapperRef","container","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","node","func","number","oneOf","isRequired"],"sources":["Sticky.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends Omit<CommonProps, 'children'> {\n /** Задает сторону залипания. */\n side: 'top' | 'bottom';\n\n /** Задает отступ от края экрана в пикселях, на который сдвигается элемент в залипшем состоянии.\n * @default 0 */\n offset?: number;\n\n /** Задает функцию, которая возвращает DOM-элемент, который нельзя пересекать. */\n getStop?: () => Nullable<HTMLElement>;\n\n /** @ignore */\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport const StickyDataTids = {\n root: 'Sticky__root',\n} as const;\n\ntype DefaultProps = Required<Pick<StickyProps, 'offset'>>;\n\n/**\n * `Sticky` позволяет закреплять элемент интерфейса в определенной позиции на экране при прокрутке страницы.\n * Это полезно для создания \"прилипающих\" элементов, которые остаются видимыми при прокрутке содержимого.\n */\n@rootNode\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n public static displayName = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps: DefaultProps = { offset: 0 };\n\n private getProps = createPropsGetter(Sticky.defaultProps);\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n private setRootNode!: TSetRootNode;\n public featureFlags!: ReactUIFeatureFlags;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n this.featureFlags.stickyReduceLayoutEvents ? this.reflow() : LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return this.renderMain();\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n let { children } = this.props;\n const { side } = this.props;\n const offset = this.getProps().offset;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={StickyDataTids.root} ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n /**\n * Пересчитать габариты и позицию залипшего элемента\n *\n * @public\n */\n public reflow = () => {\n if (!globalObject.document?.documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = globalObject.innerHeight || globalObject.document.documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left, width } = getDOMRect(this.wrapper);\n const { height } = getDOMRect(this.inner);\n const { getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const offset = this.getProps().offset;\n const fixed = side === 'top' ? Math.ceil(top) < offset : Math.floor(bottom) > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n this.setState({ width });\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = getDOMRect(stop);\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ export interface Action {
|
|
|
10
10
|
'aria-label'?: string;
|
|
11
11
|
}
|
|
12
12
|
export interface ToastState {
|
|
13
|
-
notification: Nullable<
|
|
13
|
+
notification: Nullable<React.ReactNode>;
|
|
14
14
|
action: Nullable<Action>;
|
|
15
15
|
id: number;
|
|
16
16
|
showTime: Nullable<number>;
|
|
@@ -24,7 +24,7 @@ export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonPr
|
|
|
24
24
|
/** Задает объект с переменными темы. Он будет объединён с темой из контекста. */
|
|
25
25
|
theme?: ThemeIn;
|
|
26
26
|
}
|
|
27
|
-
export type ToastPush = (notification:
|
|
27
|
+
export type ToastPush = (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
|
|
28
28
|
export type ToastClose = () => void;
|
|
29
29
|
export declare const ToastDataTids: {
|
|
30
30
|
readonly toastStatic: "StaticToast";
|
|
@@ -63,13 +63,13 @@ export declare class Toast extends React.Component<ToastProps, ToastState> {
|
|
|
63
63
|
* Время показа можно задать вручную, передав `showTime`.
|
|
64
64
|
*
|
|
65
65
|
* @public
|
|
66
|
-
* @param {
|
|
67
|
-
* @param {Action} action `action` опциональный параметр формата `{ label:
|
|
66
|
+
* @param {React.ReactNode} notification
|
|
67
|
+
* @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`
|
|
68
68
|
* добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler
|
|
69
69
|
* @param {number} showTime Время существования Toast в миллисекундах
|
|
70
70
|
* @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.
|
|
71
71
|
*/
|
|
72
|
-
push(notification:
|
|
72
|
+
push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean): void;
|
|
73
73
|
/**
|
|
74
74
|
* @public
|
|
75
75
|
*/
|
|
@@ -231,8 +231,8 @@ Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/
|
|
|
231
231
|
* Время показа можно задать вручную, передав `showTime`.
|
|
232
232
|
*
|
|
233
233
|
* @public
|
|
234
|
-
* @param {
|
|
235
|
-
* @param {Action} action `action` опциональный параметр формата `{ label:
|
|
234
|
+
* @param {React.ReactNode} notification
|
|
235
|
+
* @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`
|
|
236
236
|
* добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler
|
|
237
237
|
* @param {number} showTime Время существования Toast в миллисекундах
|
|
238
238
|
* @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_globalObject","_ThemeFactory","_ThemeContext","_RenderContainer","_CommonWrapper","_currentEnvironment","_rootNode","_Toast2","_ToastView","_ToastStatic","_class","_Toast","ToastDataTids","exports","toastStatic","toastView","action","close","Toast","rootNode","_React$Component","props","_this","call","rootRef","React","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","globalObject","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose2","default","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","CSSTransition","key","classNames","enter","styles","enterActive","exit","exitActive","timeout","isTestEnv","nodeRef","CommonWrapper","_extends2","rootNodeRef","ToastView","ref","Component","__KONTUR_REACT_UI__","displayName","ToastStatic","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: string,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: string,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_globalObject","_ThemeFactory","_ThemeContext","_RenderContainer","_CommonWrapper","_currentEnvironment","_rootNode","_Toast2","_ToastView","_ToastStatic","_class","_Toast","ToastDataTids","exports","toastStatic","toastView","action","close","Toast","rootNode","_React$Component","props","_this","call","rootRef","React","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","globalObject","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose2","default","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","CSSTransition","key","classNames","enter","styles","enterActive","exit","exitActive","timeout","isTestEnv","nodeRef","CommonWrapper","_extends2","rootNodeRef","ToastView","ref","Component","__KONTUR_REACT_UI__","displayName","ToastStatic","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { Nullable } from '../../typings/utility-types';
|
|
2
3
|
import type { Action } from './Toast';
|
|
3
4
|
export declare class ToastStatic {
|
|
4
|
-
static push: (notification:
|
|
5
|
-
static _push: (notification:
|
|
5
|
+
static push: (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
|
|
6
|
+
static _push: (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
|
|
6
7
|
static close: () => void;
|
|
7
8
|
private static node;
|
|
8
9
|
private static instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_Toast","_ToastStatic","ToastStatic","exports","push","notification","action","showTime","showCloseIcon","node","globalObject","document","createElement","body","Error","appendChild","ReactDOM","render","default","Toast","ToastDataTids","toastStatic","ref","el","instance","_push","close"],"sources":["ToastStatic.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nimport type { Action } from './Toast';\nimport { Toast, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (\n notification:
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_Toast","_ToastStatic","ToastStatic","exports","push","notification","action","showTime","showCloseIcon","node","globalObject","document","createElement","body","Error","appendChild","ReactDOM","render","default","Toast","ToastDataTids","toastStatic","ref","el","instance","_push","close"],"sources":["ToastStatic.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nimport type { Action } from './Toast';\nimport { Toast, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n if (!ToastStatic.node && globalObject.document) {\n ToastStatic.node = globalObject.document.createElement('div');\n const { body } = globalObject.document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime, showCloseIcon),\n );\n } else {\n ToastStatic._push(notification, action, showTime, showCloseIcon);\n }\n };\n\n public static _push = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime, showCloseIcon);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"],"mappings":"iKAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;;;;AAKA,IAAAG,MAAA,GAAAH,OAAA,YAA+C,IAAAI,YAAA;;AAElCC,WAAW,GAAAC,OAAA,CAAAD,WAAA,YAAAA,YAAA,KAAAD,YAAA,GAAXC,WAAW,CAAXA,WAAW;AACRE,IAAI,GAAG;AACnBC,YAA6B;AAC7BC,MAAyB;AACzBC,QAAiB;AACjBC,aAAuB;AACpB;EACH,IAAI,CAACN,YAAW,CAACO,IAAI,IAAIC,0BAAY,CAACC,QAAQ,EAAE;IAC9CT,YAAW,CAACO,IAAI,GAAGC,0BAAY,CAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IAC7D,IAAQC,IAAI,GAAKH,0BAAY,CAACC,QAAQ,CAA9BE,IAAI;IACZ,IAAI,CAACA,IAAI,EAAE;MACT,MAAMC,KAAK,CAAC,0CAA0C,CAAC;IACzD;IACAD,IAAI,CAACE,WAAW,CAACb,YAAW,CAACO,IAAI,CAAC;;IAElCO,iBAAQ,CAACC,MAAM;MACbtB,MAAA,CAAAuB,OAAA,CAAAN,aAAA,CAACZ,MAAA,CAAAmB,KAAK,IAAC,YAAUC,oBAAa,CAACC,WAAY,EAACC,GAAG,EAAE,SAAAA,IAACC,EAAE,UAAMrB,YAAW,CAACsB,QAAQ,GAAGD,EAAE,EAAE,EAAE,CAAC;MACxFrB,YAAW,CAACO,IAAI;MAChB,oBAAMP,YAAW,CAACuB,KAAK,CAACpB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;IACxE,CAAC;EACH,CAAC,MAAM;IACLN,YAAW,CAACuB,KAAK,CAACpB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;EAClE;AACF,CAAC,CAvBUN,WAAW;;AAyBRuB,KAAK,GAAG;AACpBpB,YAA6B;AAC7BC,MAAyB;AACzBC,QAAiB;AACjBC,aAAuB;AACpB;EACH,IAAIN,YAAW,CAACsB,QAAQ,EAAE;IACxBtB,YAAW,CAACsB,QAAQ,CAACpB,IAAI,CAACC,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;EAC1E;AACF,CAAC,CAlCUN,WAAW;;AAoCRwB,KAAK,GAAG,YAAM;EAC1B,IAAIxB,YAAW,CAACsB,QAAQ,EAAE;IACxBtB,YAAW,CAACsB,QAAQ,CAACE,KAAK,CAAC,CAAC;EAC9B;AACF,CAAC,CAxCUxB,WAAW;;;AA2CPsB,QAAQ,GAAoB,IAAI","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import type { CommonProps } from '../../internal/CommonWrapper';
|
|
|
5
5
|
import type { Action } from './Toast';
|
|
6
6
|
export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
|
|
7
7
|
/** Задает контент тоста. */
|
|
8
|
-
children?:
|
|
8
|
+
children?: React.ReactNode;
|
|
9
9
|
/** Добавляет возможность действия и кнопку закрытия у тоста. */
|
|
10
10
|
action?: Nullable<Action>;
|
|
11
11
|
showCloseIcon?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_decorators","_ZIndex","_ThemeContext","_CommonWrapper","_rootNode","_CloseButtonIcon","_ToastView2","_Toast","_locale","_dec","_class","_ToastView","ToastView","exports","locale","ToastLocaleHelper","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","default","createElement","ToastDataTids","className","styles","theme","onClick","handler","label","close","closeWrapper","CloseButtonIcon","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","CommonWrapper","ZIndex","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","React","Component","propTypes","shape","string","isRequired","func"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?:
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_decorators","_ZIndex","_ThemeContext","_CommonWrapper","_rootNode","_CloseButtonIcon","_ToastView2","_Toast","_locale","_dec","_class","_ToastView","ToastView","exports","locale","ToastLocaleHelper","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","default","createElement","ToastDataTids","className","styles","theme","onClick","handler","label","close","closeWrapper","CloseButtonIcon","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","CommonWrapper","ZIndex","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","React","Component","propTypes","shape","string","isRequired","func"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: React.ReactNode;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -185,6 +185,7 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
|
|
|
185
185
|
private calculateWidth;
|
|
186
186
|
private content;
|
|
187
187
|
private renderContent;
|
|
188
|
+
private prepareDataVisualState;
|
|
188
189
|
private resetLocation;
|
|
189
190
|
private renderChildren;
|
|
190
191
|
private refPopupContentElement;
|
|
@@ -31,6 +31,7 @@ var _isInstanceOf = require("../../lib/isInstanceOf");
|
|
|
31
31
|
|
|
32
32
|
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
33
33
|
var _mergeRefs = require("../../lib/mergeRefs");
|
|
34
|
+
var _getVisualStateDataAttributes = require("../CommonWrapper/utils/getVisualStateDataAttributes");
|
|
34
35
|
|
|
35
36
|
var _PopupPin = require("./PopupPin");
|
|
36
37
|
|
|
@@ -593,6 +594,15 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
|
|
|
593
594
|
|
|
594
595
|
|
|
595
596
|
|
|
597
|
+
|
|
598
|
+
prepareDataVisualState = function () {var _this$state$location;
|
|
599
|
+
var position = (_this$state$location = _this.state.location) == null ? void 0 : _this$state$location.position;
|
|
600
|
+
if (position) {var _getVisualStateDataAt;
|
|
601
|
+
var attrName = "position-" + position.replace(' ', '-');
|
|
602
|
+
return (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)((_getVisualStateDataAt = {}, _getVisualStateDataAt[attrName] = true, _getVisualStateDataAt));
|
|
603
|
+
}
|
|
604
|
+
return {};
|
|
605
|
+
};_this.
|
|
596
606
|
|
|
597
607
|
resetLocation = function () {
|
|
598
608
|
_this.cancelDelayedUpdateLocation();
|
|
@@ -808,7 +818,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
|
|
|
808
818
|
element.addEventListener('click', this.handleClick);element.addEventListener('focusin', this.handleFocus);element.addEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = true;}};_proto.removeEventListeners = function removeEventListeners(element) {if (element && (0, _isInstanceOf.isInstanceOf)(element, _globalObject.globalObject.Element)) {// @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657
|
|
809
819
|
element.removeEventListener('mouseenter', this.handleMouseEnter); // @ts-expect-error: See the comment above
|
|
810
820
|
element.removeEventListener('mouseleave', this.handleMouseLeave); // @ts-expect-error: See the comment above
|
|
811
|
-
element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = false;}};_proto.renderContent = function renderContent(location) {var _this4 = this;var _this$props = this.props,maxWidth = _this$props.maxWidth,opened = _this$props.opened;var _this$getProps2 = this.getProps(),hasShadow = _this$getProps2.hasShadow,disableAnimations = _this$getProps2.disableAnimations,ignoreHover = _this$getProps2.ignoreHover;var children = this.renderChildren();var relativeShift = this.getRelativeShift();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = { maxWidth: maxWidth, top: location.coordinates.top + relativeShift.top, left: location.coordinates.left + relativeShift.left };return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation, nodeRef: this.refForTransition }, function (state) {var _this4$props$id, _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends3.default)({}, _this4.props, { rootNodeRef: _this4.setRootNode }), /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { id: (_this4$props$id = _this4.props.id) != null ? _this4$props$id : _this4.rootId, "data-tid": PopupDataTids.root, priority: _this4.props.priority, className: (0, _Emotion.cx)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup2.styles.popup(_this4.theme)] = true, _extends2[_Popup2.styles.shadow(_this4.theme)] = hasShadow, _extends2[_Popup2.styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup2.styles["transition-enter-" + direction](_this4.theme)] = true, _ref[_Popup2.styles.transitionEnter()] = state === 'entering', _ref[_Popup2.styles.transitionEnterActive()] = state === 'entered', _ref[_Popup2.styles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this4.handleMouseEnter, onMouseLeave: _this4.handleMouseLeave }, _this4.content(children), (!_this4.isMobileLayout || _this4.props.withoutMobile) && _this4.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props2 = this.props,pinSize = _this$props2.pinSize,backgroundColor = _this$props2.backgroundColor,borderColor = _this$props2.borderColor;var _this$getProps3 = this.getProps(),hasShadow = _this$getProps3.hasShadow,hasPin = _this$getProps3.hasPin;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return hasPin && !PopupNonPinnablePositions.includes(positionName) && /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupContentElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder });};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId = _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(this.updateLocation);};_proto.cancelDelayedUpdateLocation = function cancelDelayedUpdateLocation() {if (this.locationUpdateId) {_globalObject.globalObject.cancelAnimationFrame == null || _globalObject.globalObject.cancelAnimationFrame(this.locationUpdateId);this.locationUpdateId = null;}};_proto.locationEquals = function locationEquals(x, y) {if (x === y) {return true;}if ((0, _utils.isNullable)(x) || (0, _utils.isNullable)(y)) {return false;}if (!_client.isIE11 && !_client.isEdge) {return x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position;} // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность
|
|
821
|
+
element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = false;}};_proto.renderContent = function renderContent(location) {var _this4 = this;var _this$props = this.props,maxWidth = _this$props.maxWidth,opened = _this$props.opened;var _this$getProps2 = this.getProps(),hasShadow = _this$getProps2.hasShadow,disableAnimations = _this$getProps2.disableAnimations,ignoreHover = _this$getProps2.ignoreHover;var children = this.renderChildren();var relativeShift = this.getRelativeShift();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = { maxWidth: maxWidth, top: location.coordinates.top + relativeShift.top, left: location.coordinates.left + relativeShift.left };return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation, nodeRef: this.refForTransition }, function (state) {var _this4$props$id, _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends3.default)({}, _this4.props, { rootNodeRef: _this4.setRootNode }, _this4.prepareDataVisualState()), /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { id: (_this4$props$id = _this4.props.id) != null ? _this4$props$id : _this4.rootId, "data-tid": PopupDataTids.root, priority: _this4.props.priority, className: (0, _Emotion.cx)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup2.styles.popup(_this4.theme)] = true, _extends2[_Popup2.styles.shadow(_this4.theme)] = hasShadow, _extends2[_Popup2.styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup2.styles["transition-enter-" + direction](_this4.theme)] = true, _ref[_Popup2.styles.transitionEnter()] = state === 'entering', _ref[_Popup2.styles.transitionEnterActive()] = state === 'entered', _ref[_Popup2.styles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this4.handleMouseEnter, onMouseLeave: _this4.handleMouseLeave }, _this4.content(children), (!_this4.isMobileLayout || _this4.props.withoutMobile) && _this4.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props2 = this.props,pinSize = _this$props2.pinSize,backgroundColor = _this$props2.backgroundColor,borderColor = _this$props2.borderColor;var _this$getProps3 = this.getProps(),hasShadow = _this$getProps3.hasShadow,hasPin = _this$getProps3.hasPin;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return hasPin && !PopupNonPinnablePositions.includes(positionName) && /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupContentElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder });};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId = _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(this.updateLocation);};_proto.cancelDelayedUpdateLocation = function cancelDelayedUpdateLocation() {if (this.locationUpdateId) {_globalObject.globalObject.cancelAnimationFrame == null || _globalObject.globalObject.cancelAnimationFrame(this.locationUpdateId);this.locationUpdateId = null;}};_proto.locationEquals = function locationEquals(x, y) {if (x === y) {return true;}if ((0, _utils.isNullable)(x) || (0, _utils.isNullable)(y)) {return false;}if (!_client.isIE11 && !_client.isEdge) {return x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position;} // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность
|
|
812
822
|
// уйти в бесконечный ререндер
|
|
813
823
|
return x.position === y.position && Math.abs(x.coordinates.top - y.coordinates.top) <= 1 && Math.abs(x.coordinates.left - y.coordinates.left) <= 1;};_proto.reorderPropsPositionsWithPriorityPos = function reorderPropsPositionsWithPriorityPos() {var positions = this.props.positions ? this.props.positions : PopupPinnablePositions;var pos_ = '';if (this.props.pos) {pos_ = this.props.pos;} else {pos_ = positions[0];}var index = positions.findIndex(function (position) {return position.startsWith(pos_);});if (index === -1) {(0, _warning.default)(false, 'Unexpected position ' + pos_ + ' passed to Popup. Expected one of: ' + positions.join(', '));return positions;}return [].concat(positions.slice(index), positions.slice(0, index));};_proto.getLocation = function getLocation(popupElement, location) {var _this$getProps4 = this.getProps(),tryPreserveFirstRenderedPosition = _this$getProps4.tryPreserveFirstRenderedPosition;var positions = this.reorderPropsPositionsWithPriorityPos();var anchorElement = this.anchorElement;(0, _warning.default)(anchorElement && (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element), 'Anchor element is not defined or not instance of Element');if (!(anchorElement && (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element))) {return location;}var anchorRect = _PopupHelper.PopupHelper.getElementAbsoluteRect(anchorElement);var popupRect = _PopupHelper.PopupHelper.getElementAbsoluteRect(popupElement);var position;var coordinates;if (location && location !== DUMMY_LOCATION && location.position) {position = location.position;coordinates = this.getCoordinates(anchorRect, popupRect, position);var isFullyVisible = _PopupHelper.PopupHelper.isFullyVisible(coordinates, popupRect);var canBecomeVisible = !isFullyVisible && _PopupHelper.PopupHelper.canBecomeFullyVisible(position, coordinates);if ( // если нужно сохранить первоначальную позицию и Попап целиком
|
|
814
824
|
// находится в пределах вьюпорта (или может быть проскроллен в него)
|