@skbkontur/react-ui 2.17.6 → 2.17.7-sidepage-header
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 +2194 -2183
- package/README.md +61 -61
- package/cjs/components/Autocomplete/Autocomplete.js +23 -23
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +7 -7
- package/cjs/components/Autocomplete/index.js.map +1 -1
- package/cjs/components/Button/Button.js +4 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +89 -89
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/Corners.js.map +1 -1
- package/cjs/components/Button/index.js.map +1 -1
- package/cjs/components/Center/Center.js +3 -3
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Center/Center.md +5 -5
- package/cjs/components/Center/Center.styles.js.map +1 -1
- package/cjs/components/Center/index.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +9 -9
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.md +63 -63
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/Checkbox/index.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.js +20 -20
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +432 -432
- package/cjs/components/ComboBox/index.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +7 -7
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.md +20 -20
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
- package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/constants.js.map +1 -1
- package/cjs/components/CurrencyInput/index.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/index.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.md +104 -104
- package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
- package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
- package/cjs/components/DateInput/index.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.js +15 -15
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +310 -310
- package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
- package/cjs/components/DatePicker/index.js.map +1 -1
- package/cjs/components/DatePicker/locale/index.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.js +24 -24
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.md +12 -12
- package/cjs/components/Dropdown/index.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +73 -73
- package/cjs/components/DropdownMenu/index.js.map +1 -1
- package/cjs/components/Fias/Fias.js +2 -2
- package/cjs/components/Fias/Fias.js.map +1 -1
- package/cjs/components/Fias/Fias.md +451 -451
- package/cjs/components/Fias/Fias.styles.js.map +1 -1
- package/cjs/components/Fias/FiasModal.js.map +1 -1
- package/cjs/components/Fias/FiasSearch/FiasSearch.js +2 -2
- package/cjs/components/Fias/FiasSearch/FiasSearch.js.map +1 -1
- package/cjs/components/Fias/FiasSearch/FiasSearch.md +78 -78
- package/cjs/components/Fias/Form/FiasComboBox.js.map +1 -1
- package/cjs/components/Fias/Form/FiasCountrySelector.js.map +1 -1
- package/cjs/components/Fias/Form/FiasForm.js.map +1 -1
- package/cjs/components/Fias/Form/FiasForm.styles.js.map +1 -1
- package/cjs/components/Fias/api/FiasAPI.js.map +1 -1
- package/cjs/components/Fias/api/FiasAPIResultFactory.js.map +1 -1
- package/cjs/components/Fias/api/FiasMockAPI.js.map +1 -1
- package/cjs/components/Fias/api/data.json +285 -285
- package/cjs/components/Fias/constants/abbreviations.js.map +1 -1
- package/cjs/components/Fias/index.js.map +1 -1
- package/cjs/components/Fias/locale/index.js.map +1 -1
- package/cjs/components/Fias/locale/locales/ru.js.map +1 -1
- package/cjs/components/Fias/logger/FiasLogger.js.map +1 -1
- package/cjs/components/Fias/models/FiasAddress.js.map +1 -1
- package/cjs/components/Fias/models/FiasAddressElement.js.map +1 -1
- package/cjs/components/Fias/models/FiasData.js.map +1 -1
- package/cjs/components/Fias/types.js.map +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInput.md +13 -13
- package/cjs/components/FxInput/index.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +8 -8
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Gapped/index.js.map +1 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +26 -26
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Group/index.js.map +1 -1
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.md +3 -3
- package/cjs/components/Hint/Hint.styles.js.map +1 -1
- package/cjs/components/Hint/index.js.map +1 -1
- package/cjs/components/Input/Input.js +13 -13
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/index.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +6 -6
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +45 -45
- package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
- package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
- package/cjs/components/Kebab/index.js.map +1 -1
- package/cjs/components/Link/Link.js +5 -5
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +11 -11
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Link/index.js.map +1 -1
- package/cjs/components/Loader/Loader.js +20 -20
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/Loader.md +25 -25
- package/cjs/components/Loader/Loader.styles.js.map +1 -1
- package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
- package/cjs/components/Loader/index.js.map +1 -1
- package/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/cjs/components/LocaleProvider/index.js.map +1 -1
- package/cjs/components/Logotype/Logotype.js +2 -2
- package/cjs/components/Logotype/Logotype.js.map +1 -1
- package/cjs/components/Logotype/Logotype.md +33 -33
- package/cjs/components/Logotype/Logotype.styles.js.map +1 -1
- package/cjs/components/Logotype/ProductWidget.js.map +1 -1
- package/cjs/components/Logotype/index.js.map +1 -1
- package/cjs/components/Logotype/locale/index.js.map +1 -1
- package/cjs/components/Logotype/locale/locales/en.js.map +1 -1
- package/cjs/components/Logotype/locale/locales/ru.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.js +2 -2
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
- package/cjs/components/MenuHeader/index.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +2 -2
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +7 -7
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/MenuItem/index.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.js +2 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
- package/cjs/components/MenuSeparator/index.js.map +1 -1
- package/cjs/components/Modal/Modal.js +13 -13
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.md +37 -37
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +4 -4
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalContext.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +4 -4
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +4 -4
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/helpers.js.map +1 -1
- package/cjs/components/Modal/index.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.js +10 -10
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.md +43 -43
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Paging/PagingHelper.js.map +1 -1
- package/cjs/components/Paging/index.js.map +1 -1
- package/cjs/components/Paging/locale/index.js.map +1 -1
- package/cjs/components/Paging/locale/locales/en.js.map +1 -1
- package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +6 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
- package/cjs/components/PasswordInput/index.js.map +1 -1
- package/cjs/components/Radio/Radio.js +4 -4
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.md +14 -14
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/Radio/index.js.map +1 -1
- package/cjs/components/RadioGroup/Prevent.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +46 -46
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/RadioGroup/index.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js +6 -6
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +94 -94
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/index.js.map +1 -1
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -2
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +23 -23
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/index.js.map +1 -1
- package/cjs/components/Select/locale/index.js.map +1 -1
- package/cjs/components/Select/locale/locales/en.js.map +1 -1
- package/cjs/components/Select/locale/locales/ru.js.map +1 -1
- package/cjs/components/Select/selectTheme.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +2 -0
- package/cjs/components/SidePage/SidePage.js +21 -16
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.md +48 -48
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.js +4 -4
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.js +4 -4
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageContext.d.ts +2 -0
- package/cjs/components/SidePage/SidePageContext.js +3 -0
- package/cjs/components/SidePage/SidePageContext.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.js +4 -4
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +5 -0
- package/cjs/components/SidePage/SidePageHeader.js +24 -7
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/helpers.js.map +1 -1
- package/cjs/components/SidePage/index.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +16 -16
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +34 -34
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Spinner/index.js.map +1 -1
- package/cjs/components/Spinner/locale/index.js.map +1 -1
- package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
- package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +1 -1
- package/cjs/components/Sticky/Sticky.js +4 -4
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Sticky/Sticky.md +27 -27
- package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
- package/cjs/components/Sticky/index.js.map +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.md +10 -10
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/index.js.map +1 -1
- package/cjs/components/Switcher/switcherTheme.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
- package/cjs/components/Tabs/Tab.js +14 -14
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +4 -4
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +36 -36
- package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/components/Tabs/TabsContext.js.map +1 -1
- package/cjs/components/Tabs/index.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +12 -12
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.md +25 -25
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
- package/cjs/components/Textarea/index.js.map +1 -1
- package/cjs/components/ThemeConsumer/ThemeConsumer.js.map +1 -1
- package/cjs/components/ThemeConsumer/index.js.map +1 -1
- package/cjs/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/cjs/components/ThemeProvider/index.js.map +1 -1
- package/cjs/components/Toast/Toast.js +19 -19
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +41 -41
- package/cjs/components/Toast/Toast.styles.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +4 -4
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toast/index.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +2 -2
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +24 -24
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/Toggle/index.js.map +1 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/Token/index.js.map +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.js +3 -3
- package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +17 -17
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +77 -77
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
- package/cjs/components/TokenInput/index.js.map +1 -1
- package/cjs/components/TokenInput/locale/index.js.map +1 -1
- package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
- package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +8 -8
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +301 -301
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/Tooltip/index.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +7 -7
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +115 -115
- package/cjs/components/TooltipMenu/index.js.map +1 -1
- package/cjs/components/TopBar/TopBar.js +38 -38
- package/cjs/components/TopBar/TopBar.js.map +1 -1
- package/cjs/components/TopBar/TopBar.md +111 -111
- package/cjs/components/TopBar/TopBar.styles.js.map +1 -1
- package/cjs/components/TopBar/TopBarButtonItem.js +4 -4
- package/cjs/components/TopBar/TopBarButtonItem.js.map +1 -1
- package/cjs/components/TopBar/TopBarDivider.js +4 -4
- package/cjs/components/TopBar/TopBarDivider.js.map +1 -1
- package/cjs/components/TopBar/TopBarDropdown.js +4 -4
- package/cjs/components/TopBar/TopBarDropdown.js.map +1 -1
- package/cjs/components/TopBar/TopBarEnd.js +4 -4
- package/cjs/components/TopBar/TopBarEnd.js.map +1 -1
- package/cjs/components/TopBar/TopBarItem.js +4 -4
- package/cjs/components/TopBar/TopBarItem.js.map +1 -1
- package/cjs/components/TopBar/TopBarLogout.js +4 -4
- package/cjs/components/TopBar/TopBarLogout.js.map +1 -1
- package/cjs/components/TopBar/TopBarOrganizations.js +4 -4
- package/cjs/components/TopBar/TopBarOrganizations.js.map +1 -1
- package/cjs/components/TopBar/TopBarStart.js +4 -4
- package/cjs/components/TopBar/TopBarStart.js.map +1 -1
- package/cjs/components/TopBar/TopBarUser.js +6 -6
- package/cjs/components/TopBar/TopBarUser.js.map +1 -1
- package/cjs/components/TopBar/index.js.map +1 -1
- package/cjs/components/TopBar/locale/index.js.map +1 -1
- package/cjs/components/TopBar/locale/locales/en.js.map +1 -1
- package/cjs/components/TopBar/locale/locales/ru.js.map +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/internal/BGRuler.js +5 -5
- package/cjs/internal/BGRuler.js.map +1 -1
- package/cjs/internal/Calendar/Calendar.js +3 -3
- package/cjs/internal/Calendar/Calendar.js.map +1 -1
- package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
- package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
- package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
- package/cjs/internal/Calendar/DayCellView.js.map +1 -1
- package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
- package/cjs/internal/Calendar/Month.js.map +1 -1
- package/cjs/internal/Calendar/MonthView.js.map +1 -1
- package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
- package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/internal/Calendar/config.js.map +1 -1
- package/cjs/internal/Calendar/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/index.js.map +1 -1
- package/cjs/internal/ComponentCombinator.js.map +1 -1
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +10 -10
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
- package/cjs/internal/CustomComboBox/index.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +2 -2
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DateSelect/index.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/index.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/FocusTrap/index.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
- package/cjs/internal/InputLikeText/HiddenInput.js +4 -4
- package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +6 -6
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InputLikeText/index.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
- package/cjs/internal/InternalMenu/index.js.map +1 -1
- package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +6 -6
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
- package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
- package/cjs/internal/MaskedInput/index.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +10 -10
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/Menu/index.js.map +1 -1
- package/cjs/internal/Menu/isActiveElement.js.map +1 -1
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
- package/cjs/internal/Popup/Popup.js +31 -31
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/Popup.styles.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.js +16 -16
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
- package/cjs/internal/Popup/index.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
- package/cjs/internal/PopupMenu/index.js.map +1 -1
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/index.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/RenderLayer/index.js.map +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
- package/cjs/internal/ResizeDetector/index.js.map +1 -1
- package/cjs/internal/SpinnerOld/SpinnerOld.js +12 -12
- package/cjs/internal/SpinnerOld/SpinnerOld.js.map +1 -1
- package/cjs/internal/SpinnerOld/SpinnerOld.styles.js.map +1 -1
- package/cjs/internal/SpinnerOld/SpinnerOldCloudIcon.js.map +1 -1
- package/cjs/internal/SpinnerOld/index.js.map +1 -1
- package/cjs/internal/SpinnerOld/locale/index.js.map +1 -1
- package/cjs/internal/SpinnerOld/locale/locales/en.js.map +1 -1
- package/cjs/internal/SpinnerOld/locale/locales/ru.js.map +1 -1
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.md +7 -7
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
- package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/ZIndex/index.js.map +1 -1
- package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/icons/20px/Icon.js +2 -2
- package/cjs/internal/icons/20px/Icon.js.map +1 -1
- package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
- package/cjs/internal/icons/20px/index.js.map +1 -1
- package/cjs/internal/icons/20px/svg.js.map +1 -1
- package/cjs/internal/icons/CloudIcon.js.map +1 -1
- package/cjs/internal/icons/CrossIcon.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/FlatTheme.js.map +1 -1
- package/cjs/internal/themes/Theme8px.js.map +1 -1
- package/cjs/lib/ConditionalHandler.js +2 -2
- package/cjs/lib/ConditionalHandler.js.map +1 -1
- package/cjs/lib/LayoutEvents.js.map +1 -1
- package/cjs/lib/MockDate.js.map +1 -1
- package/cjs/lib/ModalStack.js +4 -4
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/Supports.js.map +1 -1
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/animation/presets.js.map +1 -1
- package/cjs/lib/animation/stepper.js.map +1 -1
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/createPropsGetter.js.map +1 -1
- package/cjs/lib/currentEnvironment.js.map +1 -1
- package/cjs/lib/date/InternalDate.js +3 -3
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateSetter.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/constants.js.map +1 -1
- package/cjs/lib/date/localeSets.js.map +1 -1
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/dom/getFocusableElements.js +33 -33
- package/cjs/lib/dom/getFocusableElements.js.map +1 -1
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +26 -26
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
- package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/events/stopPropagation.js.map +1 -1
- package/cjs/lib/events/tabListener.js.map +1 -1
- package/cjs/lib/extractKeyboardAction.js.map +1 -1
- package/cjs/lib/filterProps.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +9 -9
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/LOCALECONTEXT.md +246 -246
- package/cjs/lib/locale/LocaleContext.js.map +1 -1
- package/cjs/lib/locale/LocaleHelper.js.map +1 -1
- package/cjs/lib/locale/constants.js.map +1 -1
- package/cjs/lib/locale/decorators.js.map +1 -1
- package/cjs/lib/locale/index.js.map +1 -1
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/memo.js.map +1 -1
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/polyfillPlaceholder.js.map +1 -1
- package/cjs/lib/reactGetTextContent.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorFunctions.js.map +1 -1
- package/cjs/lib/styles/ColorHelpers.js.map +1 -1
- package/cjs/lib/styles/ColorKeywords.js.map +1 -1
- package/cjs/lib/styles/ColorObject.js.map +1 -1
- package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
- package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
- package/cjs/lib/styles/Mixins.js.map +1 -1
- package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +248 -248
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/theming/themes/DefaultTheme8px.js.map +1 -1
- package/cjs/lib/theming/themes/FlatTheme.js.map +1 -1
- package/cjs/lib/theming/themes/FlatTheme8px.js.map +1 -1
- package/cjs/lib/utils.js +2 -2
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/typings/console.d.ts +3 -3
- package/cjs/typings/event-types.d.ts +4 -4
- package/cjs/typings/fonts.d.ts +12 -12
- package/cjs/typings/global.d.ts +6 -6
- package/cjs/typings/images.d.ts +1 -1
- package/cjs/typings/normalize-wheel.d.ts +5 -5
- package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
- package/cjs/typings/utility-types.d.ts +14 -14
- package/components/Autocomplete/Autocomplete/Autocomplete.js +23 -23
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.md +7 -7
- package/components/Autocomplete/index/index.js.map +1 -1
- package/components/Button/Button/Button.js +4 -4
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.md +89 -89
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Corners/Corners.js.map +1 -1
- package/components/Button/index/index.js.map +1 -1
- package/components/Center/Center/Center.js +3 -3
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.md +5 -5
- package/components/Center/Center.styles/Center.styles.js.map +1 -1
- package/components/Center/index/index.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +9 -9
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.md +63 -63
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/index/index.js.map +1 -1
- package/components/ComboBox/ComboBox/ComboBox.js +20 -20
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.md +432 -432
- package/components/ComboBox/index/index.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +7 -7
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.md +20 -20
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
- package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
- package/components/CurrencyInput/constants/constants.js.map +1 -1
- package/components/CurrencyInput/index/index.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/index/index.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.md +104 -104
- package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
- package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
- package/components/DateInput/index/index.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +15 -15
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.md +310 -310
- package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
- package/components/DatePicker/index/index.js.map +1 -1
- package/components/DatePicker/locale/index/index.js.map +1 -1
- package/components/DatePicker/locale/locales/en/en.js.map +1 -1
- package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +24 -24
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.md +12 -12
- package/components/Dropdown/index/index.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -2
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.md +73 -73
- package/components/DropdownMenu/index/index.js.map +1 -1
- package/components/Fias/Fias/Fias.js +2 -2
- package/components/Fias/Fias/Fias.js.map +1 -1
- package/components/Fias/Fias.md +451 -451
- package/components/Fias/Fias.styles/Fias.styles.js.map +1 -1
- package/components/Fias/FiasModal/FiasModal.js.map +1 -1
- package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js +2 -2
- package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js.map +1 -1
- package/components/Fias/FiasSearch/FiasSearch.md +78 -78
- package/components/Fias/Form/FiasComboBox/FiasComboBox.js.map +1 -1
- package/components/Fias/Form/FiasCountrySelector/FiasCountrySelector.js.map +1 -1
- package/components/Fias/Form/FiasForm/FiasForm.js.map +1 -1
- package/components/Fias/Form/FiasForm.styles/FiasForm.styles.js.map +1 -1
- package/components/Fias/api/FiasAPI/FiasAPI.js.map +1 -1
- package/components/Fias/api/FiasAPIResultFactory/FiasAPIResultFactory.js.map +1 -1
- package/components/Fias/api/FiasMockAPI/FiasMockAPI.js.map +1 -1
- package/components/Fias/api/data.json +285 -285
- package/components/Fias/constants/abbreviations/abbreviations.js.map +1 -1
- package/components/Fias/index/index.js.map +1 -1
- package/components/Fias/locale/index/index.js.map +1 -1
- package/components/Fias/locale/locales/ru/ru.js.map +1 -1
- package/components/Fias/logger/FiasLogger/FiasLogger.js.map +1 -1
- package/components/Fias/models/FiasAddress/FiasAddress.js.map +1 -1
- package/components/Fias/models/FiasAddressElement/FiasAddressElement.js.map +1 -1
- package/components/Fias/models/FiasData/FiasData.js.map +1 -1
- package/components/Fias/types/types.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.md +13 -13
- package/components/FxInput/index/index.js.map +1 -1
- package/components/Gapped/Gapped/Gapped.js +8 -8
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/index/index.js.map +1 -1
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.md +26 -26
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/index/index.js.map +1 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.md +3 -3
- package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
- package/components/Hint/index/index.js.map +1 -1
- package/components/Input/Input/Input.js +13 -13
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/index/index.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +6 -6
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.md +45 -45
- package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
- package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
- package/components/Kebab/index/index.js.map +1 -1
- package/components/Link/Link/Link.js +5 -5
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.md +11 -11
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/index/index.js.map +1 -1
- package/components/Loader/Loader/Loader.js +20 -20
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.md +25 -25
- package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
- package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
- package/components/Loader/index/index.js.map +1 -1
- package/components/LocaleProvider/LocaleProvider/LocaleProvider.js.map +1 -1
- package/components/LocaleProvider/index/index.js.map +1 -1
- package/components/Logotype/Logotype/Logotype.js +2 -2
- package/components/Logotype/Logotype/Logotype.js.map +1 -1
- package/components/Logotype/Logotype.md +33 -33
- package/components/Logotype/Logotype.styles/Logotype.styles.js.map +1 -1
- package/components/Logotype/ProductWidget/ProductWidget.js.map +1 -1
- package/components/Logotype/index/index.js.map +1 -1
- package/components/Logotype/locale/index/index.js.map +1 -1
- package/components/Logotype/locale/locales/en/en.js.map +1 -1
- package/components/Logotype/locale/locales/ru/ru.js.map +1 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js +2 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
- package/components/MenuHeader/index/index.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +2 -2
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.md +7 -7
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/MenuItem/index/index.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +2 -2
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
- package/components/MenuSeparator/index/index.js.map +1 -1
- package/components/Modal/Modal/Modal.js +13 -13
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.md +37 -37
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/ModalBody/ModalBody.js +4 -4
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalContext/ModalContext.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +4 -4
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +4 -4
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/helpers/helpers.js.map +1 -1
- package/components/Modal/index/index.js.map +1 -1
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging/Paging.js +10 -10
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.md +43 -43
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
- package/components/Paging/index/index.js.map +1 -1
- package/components/Paging/locale/index/index.js.map +1 -1
- package/components/Paging/locale/locales/en/en.js.map +1 -1
- package/components/Paging/locale/locales/ru/ru.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -6
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
- package/components/PasswordInput/index/index.js.map +1 -1
- package/components/Radio/Radio/Radio.js +4 -4
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.md +14 -14
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/Radio/index/index.js.map +1 -1
- package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +46 -46
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/index/index.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -6
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.md +94 -94
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/index/index.js.map +1 -1
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Select/Select.js +2 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.md +23 -23
- package/components/Select/Select.styles/Select.styles.js.map +1 -1
- package/components/Select/index/index.js.map +1 -1
- package/components/Select/locale/index/index.js.map +1 -1
- package/components/Select/locale/locales/en/en.js.map +1 -1
- package/components/Select/locale/locales/ru/ru.js.map +1 -1
- package/components/Select/selectTheme/selectTheme.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +22 -15
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +2 -0
- package/components/SidePage/SidePage.md +48 -48
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePageBody/SidePageBody.js +4 -4
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js +4 -4
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
- package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
- package/components/SidePage/SidePageContext.d.ts +2 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +23 -6
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +5 -0
- package/components/SidePage/helpers/helpers.js.map +1 -1
- package/components/SidePage/index/index.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +16 -16
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.md +34 -34
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Spinner/index/index.js.map +1 -1
- package/components/Spinner/locale/index/index.js.map +1 -1
- package/components/Spinner/locale/locales/en/en.js.map +1 -1
- package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +4 -4
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +1 -1
- package/components/Sticky/Sticky.md +27 -27
- package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
- package/components/Sticky/index/index.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.md +10 -10
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/index/index.js.map +1 -1
- package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +14 -14
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +4 -4
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.md +36 -36
- package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
- package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/components/Tabs/index/index.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +12 -12
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.md +25 -25
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
- package/components/Textarea/index/index.js.map +1 -1
- package/components/ThemeConsumer/ThemeConsumer/ThemeConsumer.js.map +1 -1
- package/components/ThemeConsumer/index/index.js.map +1 -1
- package/components/ThemeProvider/ThemeProvider/ThemeProvider.js.map +1 -1
- package/components/ThemeProvider/index/index.js.map +1 -1
- package/components/Toast/Toast/Toast.js +19 -19
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.md +41 -41
- package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastView/ToastView.js +4 -4
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/index/index.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +2 -2
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.md +24 -24
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Toggle/index/index.js.map +1 -1
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/Token/index/index.js.map +1 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -3
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +28 -17
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.md +77 -77
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
- package/components/TokenInput/index/index.js.map +1 -1
- package/components/TokenInput/locale/index/index.js.map +1 -1
- package/components/TokenInput/locale/locales/en/en.js.map +1 -1
- package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +8 -8
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.md +301 -301
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/index/index.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -7
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.md +115 -115
- package/components/TooltipMenu/index/index.js.map +1 -1
- package/components/TopBar/TopBar/TopBar.js +38 -38
- package/components/TopBar/TopBar/TopBar.js.map +1 -1
- package/components/TopBar/TopBar.md +111 -111
- package/components/TopBar/TopBar.styles/TopBar.styles.js.map +1 -1
- package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js +4 -4
- package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js.map +1 -1
- package/components/TopBar/TopBarDivider/TopBarDivider.js +4 -4
- package/components/TopBar/TopBarDivider/TopBarDivider.js.map +1 -1
- package/components/TopBar/TopBarDropdown/TopBarDropdown.js +4 -4
- package/components/TopBar/TopBarDropdown/TopBarDropdown.js.map +1 -1
- package/components/TopBar/TopBarEnd/TopBarEnd.js +4 -4
- package/components/TopBar/TopBarEnd/TopBarEnd.js.map +1 -1
- package/components/TopBar/TopBarItem/TopBarItem.js +4 -4
- package/components/TopBar/TopBarItem/TopBarItem.js.map +1 -1
- package/components/TopBar/TopBarLogout/TopBarLogout.js +4 -4
- package/components/TopBar/TopBarLogout/TopBarLogout.js.map +1 -1
- package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js +4 -4
- package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js.map +1 -1
- package/components/TopBar/TopBarStart/TopBarStart.js +4 -4
- package/components/TopBar/TopBarStart/TopBarStart.js.map +1 -1
- package/components/TopBar/TopBarUser/TopBarUser.js +6 -6
- package/components/TopBar/TopBarUser/TopBarUser.js.map +1 -1
- package/components/TopBar/index/index.js.map +1 -1
- package/components/TopBar/locale/index/index.js.map +1 -1
- package/components/TopBar/locale/locales/en/en.js.map +1 -1
- package/components/TopBar/locale/locales/ru/ru.js.map +1 -1
- package/index.js.map +1 -1
- package/internal/BGRuler/BGRuler.js +5 -5
- package/internal/BGRuler/BGRuler.js.map +1 -1
- package/internal/Calendar/Calendar/Calendar.js +3 -3
- package/internal/Calendar/Calendar/Calendar.js.map +1 -1
- package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
- package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
- package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
- package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
- package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
- package/internal/Calendar/Month/Month.js.map +1 -1
- package/internal/Calendar/MonthView/MonthView.js.map +1 -1
- package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
- package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/internal/Calendar/config/config.js.map +1 -1
- package/internal/Calendar/index/index.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/index/index.js.map +1 -1
- package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -10
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
- package/internal/CustomComboBox/index/index.js.map +1 -1
- package/internal/CustomComboBox/locale/index/index.js.map +1 -1
- package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
- package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +2 -2
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/index/index.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/index/index.js.map +1 -1
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/index/index.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/IgnoreLayerClick/index/index.js.map +1 -1
- package/internal/InputLikeText/HiddenInput/HiddenInput.js +4 -4
- package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +6 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/index/index.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
- package/internal/InternalMenu/index/index.js.map +1 -1
- package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +6 -6
- package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
- package/internal/MaskCharLowLine/index/index.js.map +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
- package/internal/MaskedInput/index/index.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +10 -10
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/Menu/index/index.js.map +1 -1
- package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
- package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +31 -31
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupPin/PopupPin.js +16 -16
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
- package/internal/Popup/index/index.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
- package/internal/PopupMenu/index/index.js.map +1 -1
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/index/index.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/index/index.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
- package/internal/ResizeDetector/index/index.js.map +1 -1
- package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js +12 -12
- package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js.map +1 -1
- package/internal/SpinnerOld/SpinnerOld.styles/SpinnerOld.styles.js.map +1 -1
- package/internal/SpinnerOld/SpinnerOldCloudIcon/SpinnerOldCloudIcon.js.map +1 -1
- package/internal/SpinnerOld/index/index.js.map +1 -1
- package/internal/SpinnerOld/locale/index/index.js.map +1 -1
- package/internal/SpinnerOld/locale/locales/en/en.js.map +1 -1
- package/internal/SpinnerOld/locale/locales/ru/ru.js.map +1 -1
- package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
- package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
- package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
- package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
- package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.md +7 -7
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
- package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
- package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
- package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
- package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/index/index.js.map +1 -1
- package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/20px/Icon/Icon.js +2 -2
- package/internal/icons/20px/Icon/Icon.js.map +1 -1
- package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
- package/internal/icons/20px/index/index.js.map +1 -1
- package/internal/icons/20px/svg/svg.js.map +1 -1
- package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
- package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
- package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
- package/internal/themes/Theme8px/Theme8px.js.map +1 -1
- package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
- package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
- package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
- package/lib/MockDate/MockDate.js.map +1 -1
- package/lib/ModalStack/ModalStack.js +4 -4
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/Supports/Supports.js.map +1 -1
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/animation/index/index.js.map +1 -1
- package/lib/animation/presets/presets.js.map +1 -1
- package/lib/animation/stepper/stepper.js.map +1 -1
- package/lib/client/client.js.map +1 -1
- package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
- package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
- package/lib/date/InternalDate/InternalDate.js +3 -3
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/constants/constants.js.map +1 -1
- package/lib/date/localeSets/localeSets.js.map +1 -1
- package/lib/date/types/types.js.map +1 -1
- package/lib/dom/getFocusableElements/getFocusableElements.js +33 -33
- package/lib/dom/getFocusableElements/getFocusableElements.js.map +1 -1
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +26 -26
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
- package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
- package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
- package/lib/events/tabListener/tabListener.js.map +1 -1
- package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
- package/lib/filterProps/filterProps.js.map +1 -1
- package/lib/listenFocusOutside/listenFocusOutside.js +9 -9
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/locale/LOCALECONTEXT.md +246 -246
- package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
- package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
- package/lib/locale/constants/constants.js.map +1 -1
- package/lib/locale/decorators/decorators.js.map +1 -1
- package/lib/locale/index/index.js.map +1 -1
- package/lib/locale/types/types.js.map +1 -1
- package/lib/memo/memo.js.map +1 -1
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
- package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
- package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
- package/lib/styles/ColorObject/ColorObject.js.map +1 -1
- package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
- package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
- package/lib/styles/Mixins/Mixins.js.map +1 -1
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.md +248 -248
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +1 -1
- package/lib/theming/themes/FlatTheme/FlatTheme.js.map +1 -1
- package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +1 -1
- package/lib/utils/utils.js +2 -2
- package/lib/utils/utils.js.map +1 -1
- package/package.json +2 -5
- package/typings/console.d.ts +3 -3
- package/typings/event-types.d.ts +4 -4
- package/typings/fonts.d.ts +12 -12
- package/typings/global.d.ts +6 -6
- package/typings/images.d.ts +1 -1
- package/typings/normalize-wheel.d.ts +5 -5
- package/typings/stylis-plugin-extra-scope.d.ts +3 -3
- package/typings/utility-types.d.ts +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Popup.tsx"],"names":["React","findDOMNode","PropTypes","Transition","raf","warning","cn","LayoutEvents","ZIndex","RenderContainer","isFunction","isIE11","isEdge","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","PopupPin","PopupHelper","jsStyles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","anchorInstance","refAnchorElement","instance","element","extractElement","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","zIndex","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","getPositionObject","direction","rootStyle","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","positions","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","width","height","Math","max","margin","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { Transition } from 'react-transition-group';\r\nimport raf from 'raf';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport * as LayoutEvents from '../../lib/LayoutEvents';\r\nimport { ZIndex } from '../ZIndex';\r\nimport { RenderContainer } from '../RenderContainer';\r\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { isIE11, isEdge } from '../../lib/client';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\r\nimport { isTestEnv } from '../../lib/currentEnvironment';\r\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\r\n\r\nimport { PopupPin } from './PopupPin';\r\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\r\nimport { jsStyles } from './Popup.styles';\r\n\r\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\r\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\r\n\r\nconst DUMMY_LOCATION: PopupLocation = {\r\n position: 'top left',\r\n coordinates: {\r\n top: -9999,\r\n left: -9999,\r\n },\r\n};\r\n\r\nexport type PopupPosition =\r\n | 'top left'\r\n | 'top center'\r\n | 'top right'\r\n | 'right top'\r\n | 'right middle'\r\n | 'right bottom'\r\n | 'bottom left'\r\n | 'bottom center'\r\n | 'bottom right'\r\n | 'left top'\r\n | 'left middle'\r\n | 'left bottom';\r\n\r\nexport const PopupPositions: PopupPosition[] = [\r\n 'top left',\r\n 'top center',\r\n 'top right',\r\n 'right top',\r\n 'right middle',\r\n 'right bottom',\r\n 'bottom right',\r\n 'bottom center',\r\n 'bottom left',\r\n 'left bottom',\r\n 'left middle',\r\n 'left top',\r\n];\r\n\r\nexport interface PopupHandlerProps {\r\n onMouseEnter?: (event: MouseEventType) => void;\r\n onMouseLeave?: (event: MouseEventType) => void;\r\n onClick?: (event: MouseEventType) => void;\r\n onFocus?: (event: FocusEventType) => void;\r\n onBlur?: (event: FocusEventType) => void;\r\n onOpen?: () => void;\r\n onClose?: () => void;\r\n}\r\n\r\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\r\n anchorElement: React.ReactNode | HTMLElement;\r\n backgroundColor?: React.CSSProperties['backgroundColor'];\r\n borderColor?: React.CSSProperties['borderColor'];\r\n children: React.ReactNode | (() => React.ReactNode);\r\n hasPin: boolean;\r\n hasShadow: boolean;\r\n disableAnimations: boolean;\r\n margin?: number;\r\n maxWidth?: number | string;\r\n opened: boolean;\r\n pinOffset?: number;\r\n pinSize?: number;\r\n popupOffset: number;\r\n positions: PopupPosition[];\r\n useWrapper: boolean;\r\n ignoreHover: boolean;\r\n}\r\n\r\ninterface PopupLocation {\r\n coordinates: {\r\n left: number;\r\n top: number;\r\n };\r\n position: PopupPosition;\r\n}\r\n\r\nexport interface PopupState {\r\n location: Nullable<PopupLocation>;\r\n}\r\n\r\nexport class Popup extends React.Component<PopupProps, PopupState> {\r\n public static __KONTUR_REACT_UI__ = 'Popup';\r\n\r\n public static propTypes = {\r\n /**\r\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\r\n */\r\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\r\n\r\n /**\r\n * Фон попапа и пина\r\n */\r\n backgroundColor: PropTypes.string,\r\n\r\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\r\n\r\n /**\r\n * Показывать ли пин\r\n */\r\n hasPin: PropTypes.bool,\r\n\r\n /**\r\n * Применять ли box-shadow на попапе. При false отключает границу на пине\r\n */\r\n hasShadow: PropTypes.bool,\r\n\r\n /**\r\n * Отступ попапа от элемента\r\n */\r\n margin: PropTypes.number,\r\n\r\n /**\r\n * Показан или скрыт попап\r\n */\r\n opened: PropTypes.bool,\r\n\r\n /**\r\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\r\n */\r\n pinOffset: PropTypes.number,\r\n\r\n /**\r\n * Сторона пина без учёта границы.\r\n * Пин представляет собой равносторонний треугольник, высота от попапа\r\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\r\n */\r\n pinSize: PropTypes.number,\r\n\r\n /**\r\n * смещение попапа относительно родительского элемента\r\n */\r\n popupOffset: PropTypes.number,\r\n\r\n /**\r\n * С какой стороны показывать попап и край попапа,\r\n * на котором будет отображаться пин\r\n */\r\n positions: PropTypes.array,\r\n\r\n /**\r\n * Игнорировать ли события hover/click\r\n */\r\n ignoreHover: PropTypes.bool,\r\n };\r\n\r\n public static defaultProps = {\r\n popupOffset: 0,\r\n hasPin: false,\r\n hasShadow: false,\r\n disableAnimations: isTestEnv,\r\n useWrapper: false,\r\n ignoreHover: false,\r\n };\r\n\r\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\r\n private theme!: Theme;\r\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\r\n private locationUpdateId: Nullable<number> = null;\r\n private lastPopupElement: Nullable<HTMLElement>;\r\n private anchorElement: Nullable<HTMLElement> = null;\r\n private anchorInstance: Nullable<React.ReactInstance>;\r\n\r\n public componentDidMount() {\r\n this.updateLocation();\r\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\r\n }\r\n\r\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>) {\r\n /**\r\n * Delaying updateLocation to ensure it happens after props update\r\n */\r\n if (nextProps.opened) {\r\n if (!this.state.location) {\r\n this.setState({ location: DUMMY_LOCATION });\r\n }\r\n this.delayUpdateLocation();\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\r\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\r\n const hasLocation = this.state.location !== DUMMY_LOCATION;\r\n if (hadNoLocation && hasLocation && this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n if (!hadNoLocation && !this.state.location && this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.cancelDelayedUpdateLocation();\r\n this.removeEventListeners(this.anchorElement);\r\n if (this.layoutEventsToken) {\r\n this.layoutEventsToken.remove();\r\n this.layoutEventsToken = null;\r\n }\r\n if (this.state.location && this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n const { location } = this.state;\r\n const { anchorElement, useWrapper } = this.props;\r\n\r\n let child: Nullable<React.ReactNode> = null;\r\n if (isHTMLElement(anchorElement)) {\r\n this.updateAnchorElement(anchorElement);\r\n } else if (React.isValidElement(anchorElement)) {\r\n child = useWrapper ? <span>{anchorElement}</span> : anchorElement;\r\n } else {\r\n child = <span>{anchorElement}</span>;\r\n }\r\n\r\n return (\r\n <RenderContainer anchor={child} ref={child ? this.refAnchorElement : undefined}>\r\n {location && this.renderContent(location)}\r\n </RenderContainer>\r\n );\r\n }\r\n\r\n private refAnchorElement = (instance: React.ReactInstance | null) => {\r\n this.anchorInstance = instance;\r\n const element = this.extractElement(instance);\r\n this.updateAnchorElement(element);\r\n this.anchorElement = element;\r\n };\r\n\r\n private extractElement(instance: React.ReactInstance | null) {\r\n if (!instance) {\r\n return null;\r\n }\r\n const element = findDOMNode(instance);\r\n return isHTMLElement(element) ? element : null;\r\n }\r\n\r\n private updateAnchorElement(element: HTMLElement | null) {\r\n const anchorElement = this.anchorElement;\r\n\r\n if (element !== anchorElement) {\r\n this.removeEventListeners(anchorElement);\r\n this.anchorElement = element;\r\n this.addEventListeners(element);\r\n }\r\n }\r\n\r\n private addEventListeners(element: Nullable<HTMLElement>) {\r\n if (element && isHTMLElement(element)) {\r\n element.addEventListener('mouseenter', this.handleMouseEnter);\r\n element.addEventListener('mouseleave', this.handleMouseLeave);\r\n element.addEventListener('click', this.handleClick);\r\n element.addEventListener('focusin', this.handleFocus as EventListener);\r\n element.addEventListener('focusout', this.handleBlur as EventListener);\r\n }\r\n }\r\n\r\n private removeEventListeners(element: Nullable<HTMLElement>) {\r\n if (element && isHTMLElement(element)) {\r\n element.removeEventListener('mouseenter', this.handleMouseEnter);\r\n element.removeEventListener('mouseleave', this.handleMouseLeave);\r\n element.removeEventListener('click', this.handleClick);\r\n element.removeEventListener('focusin', this.handleFocus as EventListener);\r\n element.removeEventListener('focusout', this.handleBlur as EventListener);\r\n }\r\n }\r\n\r\n private handleMouseEnter = (event: MouseEventType) => {\r\n if (this.props.onMouseEnter) {\r\n this.props.onMouseEnter(event);\r\n }\r\n };\r\n\r\n private handleMouseLeave = (event: MouseEventType) => {\r\n if (this.props.onMouseLeave) {\r\n this.props.onMouseLeave(event);\r\n }\r\n };\r\n\r\n private handleClick = (event: MouseEventType) => {\r\n if (this.props.onClick) {\r\n this.props.onClick(event);\r\n }\r\n };\r\n\r\n private handleFocus = (event: FocusEventType) => {\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleBlur = (event: FocusEventType) => {\r\n if (this.props.onBlur) {\r\n this.props.onBlur(event);\r\n }\r\n };\r\n\r\n private renderContent(location: PopupLocation) {\r\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened } = this.props;\r\n const children = this.renderChildren();\r\n\r\n const { direction } = PopupHelper.getPositionObject(location.position);\r\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\r\n\r\n return (\r\n <Transition\r\n timeout={TRANSITION_TIMEOUT}\r\n appear={!disableAnimations}\r\n in={Boolean(opened && children)}\r\n mountOnEnter\r\n unmountOnExit\r\n enter={!disableAnimations}\r\n exit={!disableAnimations}\r\n onExited={this.resetLocation}\r\n >\r\n {(state: string) => (\r\n <CommonWrapper {...this.props}>\r\n <ZIndex\r\n ref={this.refPopupElement}\r\n priority={'Popup'}\r\n className={cn({\r\n [jsStyles.popup(this.theme)]: true,\r\n [jsStyles.shadow(this.theme)]: hasShadow,\r\n [jsStyles.shadowFallback(this.theme)]: hasShadow && (isIE11 || isEdge),\r\n [jsStyles.popupIgnoreHover()]: ignoreHover,\r\n ...(disableAnimations\r\n ? {}\r\n : {\r\n [jsStyles[`transition-enter-${direction}` as keyof typeof jsStyles](this.theme)]: true,\r\n [jsStyles.transitionEnter()]: state === 'entering',\r\n [jsStyles.transitionEnterActive()]: state === 'entered',\r\n [jsStyles.transitionExit()]: state === 'exiting',\r\n }),\r\n })}\r\n style={rootStyle}\r\n onMouseEnter={this.handleMouseEnter}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n <div className={jsStyles.content(this.theme)} data-tid={'PopupContent'}>\r\n <div\r\n className={jsStyles.contentInner(this.theme)}\r\n style={{ backgroundColor }}\r\n data-tid={'PopupContentInner'}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n {this.renderPin(location.position)}\r\n </ZIndex>\r\n </CommonWrapper>\r\n )}\r\n </Transition>\r\n );\r\n }\r\n\r\n private resetLocation = () => {\r\n this.cancelDelayedUpdateLocation();\r\n this.setState({ location: null });\r\n };\r\n\r\n private renderChildren() {\r\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\r\n }\r\n\r\n private refPopupElement = (zIndex: ZIndex | null) => {\r\n if (zIndex) {\r\n this.lastPopupElement = zIndex && (findDOMNode(zIndex) as HTMLElement);\r\n }\r\n };\r\n\r\n private renderPin(positionName: string): React.ReactNode {\r\n /**\r\n * Box-shadow does not appear under the pin. Borders are used instead.\r\n * In non-ie browsers drop-shadow filter is used. It is applying\r\n * shadow to the pin too.\r\n */\r\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\r\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\r\n\r\n const { pinSize, hasShadow, backgroundColor, borderColor } = this.props;\r\n const position = PopupHelper.getPositionObject(positionName);\r\n\r\n return (\r\n this.props.hasPin && (\r\n <PopupPin\r\n popupElement={this.lastPopupElement}\r\n popupPosition={positionName}\r\n size={pinSize || parseInt(this.theme.popupPinSize)}\r\n offset={this.getPinOffset(position.align)}\r\n borderWidth={hasShadow ? 1 : 0}\r\n backgroundColor={backgroundColor || this.theme.popupBackground}\r\n borderColor={borderColor || pinBorder}\r\n />\r\n )\r\n );\r\n }\r\n\r\n private handleLayoutEvent = () => {\r\n if (!this.state.location) {\r\n return;\r\n }\r\n if (this.anchorInstance) {\r\n this.updateAnchorElement(this.extractElement(this.anchorInstance));\r\n }\r\n this.updateLocation();\r\n };\r\n\r\n private delayUpdateLocation() {\r\n this.cancelDelayedUpdateLocation();\r\n this.locationUpdateId = raf(this.updateLocation);\r\n }\r\n\r\n private cancelDelayedUpdateLocation() {\r\n if (this.locationUpdateId) {\r\n raf.cancel(this.locationUpdateId);\r\n this.locationUpdateId = null;\r\n }\r\n }\r\n\r\n private updateLocation = () => {\r\n const popupElement = this.lastPopupElement;\r\n\r\n if (!popupElement) {\r\n return;\r\n }\r\n\r\n const location = this.getLocation(popupElement, this.state.location);\r\n if (!this.locationEquals(this.state.location, location)) {\r\n this.setState({ location });\r\n }\r\n };\r\n\r\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\r\n if (x === y) {\r\n return true;\r\n }\r\n\r\n if (x == null || y == null) {\r\n return false;\r\n }\r\n\r\n return (\r\n x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position\r\n );\r\n }\r\n\r\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\r\n const positions = this.props.positions;\r\n const anchorElement = this.anchorElement;\r\n\r\n warning(\r\n anchorElement && isHTMLElement(anchorElement),\r\n 'Anchor element is not defined or not instance of HTMLElement',\r\n );\r\n\r\n if (!(anchorElement && isHTMLElement(anchorElement))) {\r\n return location;\r\n }\r\n\r\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\r\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\r\n\r\n let position: PopupPosition;\r\n let coordinates: Offset;\r\n\r\n if (location && location !== DUMMY_LOCATION && location.position) {\r\n position = location.position;\r\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\r\n\r\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\r\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\r\n if (isFullyVisible || canBecomeVisible) {\r\n return { coordinates, position };\r\n }\r\n }\r\n\r\n for (position of positions) {\r\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\r\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\r\n return { coordinates, position };\r\n }\r\n }\r\n\r\n position = positions[0];\r\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\r\n return { coordinates, position };\r\n }\r\n\r\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\r\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\r\n return 0;\r\n }\r\n\r\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\r\n\r\n const { pinSize } = this.props;\r\n\r\n return Math.max(\r\n 0,\r\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\r\n );\r\n }\r\n\r\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\r\n const margin = this.props.margin || parseInt(this.theme.popupMargin);\r\n const position = PopupHelper.getPositionObject(positionName);\r\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\r\n\r\n switch (position.direction) {\r\n case 'top':\r\n return {\r\n top: anchorRect.top - popupRect.height - margin,\r\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n };\r\n case 'bottom':\r\n return {\r\n top: anchorRect.top + anchorRect.height + margin,\r\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n };\r\n case 'left':\r\n return {\r\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n left: anchorRect.left - popupRect.width - margin,\r\n };\r\n case 'right':\r\n return {\r\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\r\n left: anchorRect.left + anchorRect.width + margin,\r\n };\r\n default:\r\n throw new Error(`Unexpected direction '${position.direction}'`);\r\n }\r\n }\r\n\r\n private getPinOffset(align: string) {\r\n const { pinOffset } = this.props;\r\n\r\n switch (align) {\r\n case 'top':\r\n case 'bottom':\r\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\r\n case 'left':\r\n case 'right':\r\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\r\n case 'center':\r\n case 'middle':\r\n return 0;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n\r\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\r\n switch (align) {\r\n case 'left':\r\n return anchorRect.left - popupOffset;\r\n case 'center':\r\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\r\n case 'right':\r\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n\r\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\r\n switch (align) {\r\n case 'top':\r\n return anchorRect.top - popupOffset;\r\n case 'middle':\r\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\r\n case 'bottom':\r\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["Popup.tsx"],"names":["React","findDOMNode","PropTypes","Transition","raf","warning","cn","LayoutEvents","ZIndex","RenderContainer","isFunction","isIE11","isEdge","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","PopupPin","PopupHelper","jsStyles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","anchorInstance","refAnchorElement","instance","element","extractElement","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","zIndex","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","getPositionObject","direction","rootStyle","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","positions","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","width","height","Math","max","margin","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\nimport cn from 'classnames';\n\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { jsStyles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nconst DUMMY_LOCATION: PopupLocation = {\n position: 'top left',\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport type PopupPosition =\n | 'top left'\n | 'top center'\n | 'top right'\n | 'right top'\n | 'right middle'\n | 'right bottom'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'left top'\n | 'left middle'\n | 'left bottom';\n\nexport const PopupPositions: PopupPosition[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n];\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin: boolean;\n hasShadow: boolean;\n disableAnimations: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset: number;\n positions: PopupPosition[];\n useWrapper: boolean;\n ignoreHover: boolean;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPosition;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n };\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<HTMLElement>;\n private anchorElement: Nullable<HTMLElement> = null;\n private anchorInstance: Nullable<React.ReactInstance>;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (nextProps.opened) {\n if (!this.state.location) {\n this.setState({ location: DUMMY_LOCATION });\n }\n this.delayUpdateLocation();\n }\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (!hadNoLocation && !this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\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 { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let child: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n child = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n child = <span>{anchorElement}</span>;\n }\n\n return (\n <RenderContainer anchor={child} ref={child ? this.refAnchorElement : undefined}>\n {location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private refAnchorElement = (instance: React.ReactInstance | null) => {\n this.anchorInstance = instance;\n const element = this.extractElement(instance);\n this.updateAnchorElement(element);\n this.anchorElement = element;\n };\n\n private extractElement(instance: React.ReactInstance | null) {\n if (!instance) {\n return null;\n }\n const element = findDOMNode(instance);\n return isHTMLElement(element) ? element : null;\n }\n\n private updateAnchorElement(element: HTMLElement | null) {\n const anchorElement = this.anchorElement;\n\n if (element !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = element;\n this.addEventListeners(element);\n }\n }\n\n private addEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.addEventListener('mouseenter', this.handleMouseEnter);\n element.addEventListener('mouseleave', this.handleMouseLeave);\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderContent(location: PopupLocation) {\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened } = this.props;\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n ref={this.refPopupElement}\n priority={'Popup'}\n className={cn({\n [jsStyles.popup(this.theme)]: true,\n [jsStyles.shadow(this.theme)]: hasShadow,\n [jsStyles.shadowFallback(this.theme)]: hasShadow && (isIE11 || isEdge),\n [jsStyles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [jsStyles[`transition-enter-${direction}` as keyof typeof jsStyles](this.theme)]: true,\n [jsStyles.transitionEnter()]: state === 'entering',\n [jsStyles.transitionEnterActive()]: state === 'entered',\n [jsStyles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div className={jsStyles.content(this.theme)} data-tid={'PopupContent'}>\n <div\n className={jsStyles.contentInner(this.theme)}\n style={{ backgroundColor }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n {this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (zIndex: ZIndex | null) => {\n if (zIndex) {\n this.lastPopupElement = zIndex && (findDOMNode(zIndex) as HTMLElement);\n }\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, hasShadow, backgroundColor, borderColor } = this.props;\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n this.props.hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n if (this.anchorInstance) {\n this.updateAnchorElement(this.extractElement(this.anchorInstance));\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (x == null || y == null) {\n return false;\n }\n\n return (\n x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const positions = this.props.positions;\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isHTMLElement(anchorElement),\n 'Anchor element is not defined or not instance of HTMLElement',\n );\n\n if (!(anchorElement && isHTMLElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPosition;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n if (isFullyVisible || canBecomeVisible) {\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const margin = this.props.margin || parseInt(this.theme.popupMargin);\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Popup.styles.ts"],"names":["css","memoizeStyle","styles","popup","t","popupBorderRadius","popupBorder","popupBorderColor","popupIgnoreHover","content","contentInner","popupTextColor","popupBackground","shadow","popupDropShadow","shadowFallback","popupBoxShadow","transitionEnter","transitionEnterActive","transitionExit","jsStyles"],"mappings":"00FAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,KADa,iBACPC,CADO,EACG;AACd,WAAOJ,GAAP;;;AAGmBI,IAAAA,CAAC,CAACC,iBAHrB;AAIYD,IAAAA,CAAC,CAACE,WAJd,EAI6BF,CAAC,CAACG,gBAJ/B;;AAMD,GARY;;AAUbC,EAAAA,gBAVa,8BAUM;AACjB,WAAOR,GAAP;;;AAGD,GAdY;;AAgBbS,EAAAA,OAhBa,mBAgBLL,CAhBK,EAgBK;AAChB,WAAOJ,GAAP;;AAEmBI,IAAAA,CAAC,CAACC,iBAFrB;;AAID,GArBY;;AAuBbK,EAAAA,YAvBa,wBAuBAN,CAvBA,EAuBU;AACrB,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACO,cADb;AAEgBP,IAAAA,CAAC,CAACQ,eAFlB;;AAID,GA5BY;;AA8BbC,EAAAA,MA9Ba,kBA8BNT,CA9BM,EA8BI;AACf,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACU,eADd;AAEoBV,IAAAA,CAAC,CAACU,eAFtB;;AAID,GAnCY;;AAqCbC,EAAAA,cArCa,0BAqCEX,CArCF,EAqCY;AACvB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACY,cADlB;;AAGD,GAzCY;;AA2CbC,EAAAA,eA3Ca,6BA2CK;AAChB,WAAOjB,GAAP;;;AAGD,GA/CY;AAgDb,wBAhDa,gCAgDY;AACvB,WAAOA,GAAP;;;AAGD,GApDY;AAqDb,2BArDa,mCAqDe;AAC1B,WAAOA,GAAP;;;AAGD,GAzDY;AA0Db,yBA1Da,iCA0Da;AACxB,WAAOA,GAAP;;;AAGD,GA9DY;AA+Db,0BA/Da,kCA+Dc;AACzB,WAAOA,GAAP;;;AAGD,GAnEY;AAoEbkB,EAAAA,qBApEa,mCAoEW;AACtB,WAAOlB,GAAP;;;;;AAKD,GA1EY;AA2EbmB,EAAAA,cA3Ea,4BA2EI;AACf,WAAOnB,GAAP;;;;;AAKD,GAjFY,EAAf;;;AAoFA,OAAO,IAAMoB,QAAQ,GAAGnB,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["Popup.styles.ts"],"names":["css","memoizeStyle","styles","popup","t","popupBorderRadius","popupBorder","popupBorderColor","popupIgnoreHover","content","contentInner","popupTextColor","popupBackground","shadow","popupDropShadow","shadowFallback","popupBoxShadow","transitionEnter","transitionEnterActive","transitionExit","jsStyles"],"mappings":"00FAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,KADa,iBACPC,CADO,EACG;AACd,WAAOJ,GAAP;;;AAGmBI,IAAAA,CAAC,CAACC,iBAHrB;AAIYD,IAAAA,CAAC,CAACE,WAJd,EAI6BF,CAAC,CAACG,gBAJ/B;;AAMD,GARY;;AAUbC,EAAAA,gBAVa,8BAUM;AACjB,WAAOR,GAAP;;;AAGD,GAdY;;AAgBbS,EAAAA,OAhBa,mBAgBLL,CAhBK,EAgBK;AAChB,WAAOJ,GAAP;;AAEmBI,IAAAA,CAAC,CAACC,iBAFrB;;AAID,GArBY;;AAuBbK,EAAAA,YAvBa,wBAuBAN,CAvBA,EAuBU;AACrB,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACO,cADb;AAEgBP,IAAAA,CAAC,CAACQ,eAFlB;;AAID,GA5BY;;AA8BbC,EAAAA,MA9Ba,kBA8BNT,CA9BM,EA8BI;AACf,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACU,eADd;AAEoBV,IAAAA,CAAC,CAACU,eAFtB;;AAID,GAnCY;;AAqCbC,EAAAA,cArCa,0BAqCEX,CArCF,EAqCY;AACvB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACY,cADlB;;AAGD,GAzCY;;AA2CbC,EAAAA,eA3Ca,6BA2CK;AAChB,WAAOjB,GAAP;;;AAGD,GA/CY;AAgDb,wBAhDa,gCAgDY;AACvB,WAAOA,GAAP;;;AAGD,GApDY;AAqDb,2BArDa,mCAqDe;AAC1B,WAAOA,GAAP;;;AAGD,GAzDY;AA0Db,yBA1Da,iCA0Da;AACxB,WAAOA,GAAP;;;AAGD,GA9DY;AA+Db,0BA/Da,kCA+Dc;AACzB,WAAOA,GAAP;;;AAGD,GAnEY;AAoEbkB,EAAAA,qBApEa,mCAoEW;AACtB,WAAOlB,GAAP;;;;;AAKD,GA1EY;AA2EbmB,EAAAA,cA3Ea,4BA2EI;AACf,WAAOnB,GAAP;;;;;AAKD,GAjFY,EAAf;;;AAoFA,OAAO,IAAMoB,QAAQ,GAAGnB,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst styles = {\n popup(t: Theme) {\n return css`\n position: absolute;\n min-width: 18px;\n border-radius: ${t.popupBorderRadius};\n border: ${t.popupBorder} ${t.popupBorderColor};\n `;\n },\n\n popupIgnoreHover() {\n return css`\n pointer-events: none;\n `;\n },\n\n content(t: Theme) {\n return css`\n overflow: hidden;\n border-radius: ${t.popupBorderRadius};\n `;\n },\n\n contentInner(t: Theme) {\n return css`\n color: ${t.popupTextColor};\n background: ${t.popupBackground};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n filter: ${t.popupDropShadow};\n -webkit-filter: ${t.popupDropShadow};\n `;\n },\n\n shadowFallback(t: Theme) {\n return css`\n box-shadow: ${t.popupBoxShadow};\n `;\n },\n\n transitionEnter() {\n return css`\n opacity: 0.01;\n `;\n },\n 'transition-enter-top'() {\n return css`\n transform: translateY(10px);\n `;\n },\n 'transition-enter-bottom'() {\n return css`\n transform: translateY(-10px);\n `;\n },\n 'transition-enter-left'() {\n return css`\n transform: translateX(10px);\n `;\n },\n 'transition-enter-right'() {\n return css`\n transform: translateX(-10px);\n `;\n },\n transitionEnterActive() {\n return css`\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1;\n transform: translate(0, 0) !important;\n `;\n },\n transitionExit() {\n return css`\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n transform: translate(0, 0) !important;\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PopupHelper.tsx"],"names":["getPositionObject","position","x","split","direction","align","getElementAbsoluteRect","element","rect","_getElementRelativeRect","convertRectToAbsolute","isAbsoluteRectFullyVisible","coordinates","popupRect","windowRelativeRect","_getWindowRelativeRect","windowAbsoluteRect","absoluteRect","top","left","height","width","_rectContainsRect","canBecomeFullyVisible","positionName","availableScrollDistances","getBoundingClientRect","right","bottom","_getViewProperty","clientWidth","window","innerWidth","clientHeight","innerHeight","offset","_getAbsoluteOffset","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","outerRect","innerRect","getProperty","views","document","documentElement","body","map","find","Boolean","PopupHelper","isFullyVisible"],"mappings":"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","sourcesContent":["import { PopupPosition } from './Popup';\
|
|
1
|
+
{"version":3,"sources":["PopupHelper.tsx"],"names":["getPositionObject","position","x","split","direction","align","getElementAbsoluteRect","element","rect","_getElementRelativeRect","convertRectToAbsolute","isAbsoluteRectFullyVisible","coordinates","popupRect","windowRelativeRect","_getWindowRelativeRect","windowAbsoluteRect","absoluteRect","top","left","height","width","_rectContainsRect","canBecomeFullyVisible","positionName","availableScrollDistances","getBoundingClientRect","right","bottom","_getViewProperty","clientWidth","window","innerWidth","clientHeight","innerHeight","offset","_getAbsoluteOffset","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","outerRect","innerRect","getProperty","views","document","documentElement","body","map","find","Boolean","PopupHelper","isFullyVisible"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,SAASA,iBAAT,CAA2BC,QAA3B,EAA6D;AAC3D,MAAMC,CAAC,GAAGD,QAAQ,CAACE,KAAT,CAAe,GAAf,CAAV;;AAEA,SAAO;AACLC,IAAAA,SAAS,EAAEF,CAAC,CAAC,CAAD,CADP;AAELG,IAAAA,KAAK,EAAEH,CAAC,CAAC,CAAD,CAFH,EAAP;;AAID;;AAED,SAASI,sBAAT,CAAgCC,OAAhC,EAA4D;AAC1D,MAAMC,IAAI,GAAGC,uBAAuB,CAACF,OAAD,CAApC;AACA,SAAOG,qBAAqB,CAACF,IAAD,CAA5B;AACD;;AAED,SAASG,0BAAT,CAAoCC,WAApC,EAAyDC,SAAzD,EAAmF;AACjF,MAAMC,kBAAkB,GAAGC,sBAAsB,EAAjD;AACA,MAAMC,kBAAkB,GAAGN,qBAAqB,CAACI,kBAAD,CAAhD;AACA,MAAMG,YAAY,GAAG;AACnBC,IAAAA,GAAG,EAAEN,WAAW,CAACM,GADE;AAEnBC,IAAAA,IAAI,EAAEP,WAAW,CAACO,IAFC;AAGnBC,IAAAA,MAAM,EAAEP,SAAS,CAACO,MAHC;AAInBC,IAAAA,KAAK,EAAER,SAAS,CAACQ,KAJE,EAArB;;;AAOA,SAAOC,iBAAiB,CAACN,kBAAD,EAAqBC,YAArB,CAAxB;AACD;;AAED,SAASM,qBAAT,CAA+BC,YAA/B,EAA4DZ,WAA5D,EAAiF;AAC/E,MAAMX,QAAQ,GAAGD,iBAAiB,CAACwB,YAAD,CAAlC;;AAEA,MAAIvB,QAAQ,CAACG,SAAT,KAAuB,KAA3B,EAAkC;AAChC,QAAMqB,wBAAwB,GAAGf,qBAAqB,CAACK,sBAAsB,EAAvB,CAAtD;AACA,WAAOH,WAAW,CAACM,GAAZ,GAAkBO,wBAAwB,CAACP,GAA3C,IAAkD,CAAzD;AACD;;AAED,MAAIjB,QAAQ,CAACG,SAAT,KAAuB,MAA3B,EAAmC;AACjC,QAAMqB,yBAAwB,GAAGf,qBAAqB,CAACK,sBAAsB,EAAvB,CAAtD;AACA,WAAOH,WAAW,CAACO,IAAZ,GAAmBM,yBAAwB,CAACN,IAA5C,IAAoD,CAA3D;AACD;;AAED;AACA,SAAO,IAAP;AACD;;AAED,SAASV,uBAAT,CAAiCF,OAAjC,EAAuD;AACrD,MAAMC,IAAI,GAAGD,OAAO,CAACmB,qBAAR,EAAb;;AAEA,SAAO;AACLR,IAAAA,GAAG,EAAEV,IAAI,CAACU,GADL;AAELC,IAAAA,IAAI,EAAEX,IAAI,CAACW,IAFN;AAGLE,IAAAA,KAAK,EAAEb,IAAI,CAACmB,KAAL,GAAanB,IAAI,CAACW,IAHpB;AAILC,IAAAA,MAAM,EAAEZ,IAAI,CAACoB,MAAL,GAAcpB,IAAI,CAACU,GAJtB,EAAP;;AAMD;;AAED,SAASH,sBAAT,GAAwC;AACtC,SAAO;AACLG,IAAAA,GAAG,EAAE,CADA;AAELC,IAAAA,IAAI,EAAE,CAFD;AAGLE,IAAAA,KAAK,EAAEQ,gBAAgB,CAAC,UAAA3B,CAAC,UAAIA,CAAC,CAAC4B,WAAN,EAAF,CAAhB,IAAwCC,MAAM,CAACC,UAHjD;AAILZ,IAAAA,MAAM,EAAES,gBAAgB,CAAC,UAAA3B,CAAC,UAAIA,CAAC,CAAC+B,YAAN,EAAF,CAAhB,IAAyCF,MAAM,CAACG,WAJnD,EAAP;;AAMD;;AAED,SAASxB,qBAAT,CAA+BF,IAA/B,EAAiD;AAC/C,MAAM2B,MAAM,GAAGC,kBAAkB,EAAjC;;AAEA,SAAO;AACLlB,IAAAA,GAAG,EAAEV,IAAI,CAACU,GAAL,GAAWiB,MAAM,CAACjB,GADlB;AAELC,IAAAA,IAAI,EAAEX,IAAI,CAACW,IAAL,GAAYgB,MAAM,CAAChB,IAFpB;AAGLE,IAAAA,KAAK,EAAEb,IAAI,CAACa,KAHP;AAILD,IAAAA,MAAM,EAAEZ,IAAI,CAACY,MAJR,EAAP;;AAMD;;AAED,SAASgB,kBAAT,GAAsC;AACpC,MAAMC,SAAS,GAAGN,MAAM,CAACO,WAAP,IAAsBT,gBAAgB,CAAC,UAAA3B,CAAC,UAAIA,CAAC,CAACmC,SAAN,EAAF,CAAxD;AACA,MAAME,UAAU,GAAGR,MAAM,CAACS,WAAP,IAAsBX,gBAAgB,CAAC,UAAA3B,CAAC,UAAIA,CAAC,CAACqC,UAAN,EAAF,CAAzD;;AAEA,MAAME,SAAS,GAAGZ,gBAAgB,CAAC,UAAA3B,CAAC,UAAIA,CAAC,CAACuC,SAAN,EAAF,CAAlC;AACA,MAAMC,UAAU,GAAGb,gBAAgB,CAAC,UAAA3B,CAAC,UAAIA,CAAC,CAACwC,UAAN,EAAF,CAAnC;;AAEA,MAAMxB,GAAG,GAAGmB,SAAS,GAAGI,SAAxB;AACA,MAAMtB,IAAI,GAAGoB,UAAU,GAAGG,UAA1B;;AAEA,SAAO;AACLxB,IAAAA,GAAG,EAAHA,GADK;AAELC,IAAAA,IAAI,EAAJA,IAFK,EAAP;;AAID;;AAED,SAASG,iBAAT,CAA2BqB,SAA3B,EAA4CC,SAA5C,EAAsE;AACpE;AACEA,IAAAA,SAAS,CAAC1B,GAAV,GAAgByB,SAAS,CAACzB,GAA1B;AACA0B,IAAAA,SAAS,CAAC1B,GAAV,GAAgB0B,SAAS,CAACxB,MAA1B,GAAmCuB,SAAS,CAACzB,GAAV,GAAgByB,SAAS,CAACvB,MAD7D;AAEAwB,IAAAA,SAAS,CAACzB,IAAV,GAAiBwB,SAAS,CAACxB,IAF3B;AAGAyB,IAAAA,SAAS,CAACzB,IAAV,GAAiByB,SAAS,CAACvB,KAA3B,GAAmCsB,SAAS,CAACxB,IAAV,GAAiBwB,SAAS,CAACtB,KAJhE;;AAMD;;AAED,SAASQ,gBAAT,CAA0BgB,WAA1B,EAA2E;AACzE,MAAMC,KAAK,GAAG,CAACC,QAAQ,CAACC,eAAV,EAA2BD,QAAQ,CAACE,IAApC,CAAd;AACA,SAAOH,KAAK,CAACI,GAAN,CAAU,UAAAhD,CAAC,UAAIA,CAAC,IAAI2C,WAAW,CAAC3C,CAAD,CAApB,EAAX,EAAoCiD,IAApC,CAAyCC,OAAzC,KAAqD,CAA5D;AACD;;AAED,OAAO,IAAMC,WAAW,GAAG;AACzBrD,EAAAA,iBAAiB,EAAjBA,iBADyB;AAEzBM,EAAAA,sBAAsB,EAAtBA,sBAFyB;AAGzBgD,EAAAA,cAAc,EAAE3C,0BAHS;AAIzBY,EAAAA,qBAAqB,EAArBA,qBAJyB,EAApB","sourcesContent":["import { PopupPosition } from './Popup';\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface Offset {\n top: number;\n left: number;\n}\n\nexport interface PositionObject {\n direction: string;\n align: string;\n}\n\nfunction getPositionObject(position: string): PositionObject {\n const x = position.split(' ');\n\n return {\n direction: x[0],\n align: x[1],\n };\n}\n\nfunction getElementAbsoluteRect(element: HTMLElement): Rect {\n const rect = _getElementRelativeRect(element);\n return convertRectToAbsolute(rect);\n}\n\nfunction isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean {\n const windowRelativeRect = _getWindowRelativeRect();\n const windowAbsoluteRect = convertRectToAbsolute(windowRelativeRect);\n const absoluteRect = {\n top: coordinates.top,\n left: coordinates.left,\n height: popupRect.height,\n width: popupRect.width,\n };\n\n return _rectContainsRect(windowAbsoluteRect, absoluteRect);\n}\n\nfunction canBecomeFullyVisible(positionName: PopupPosition, coordinates: Offset) {\n const position = getPositionObject(positionName);\n\n if (position.direction === 'top') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.top + availableScrollDistances.top >= 0;\n }\n\n if (position.direction === 'left') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.left + availableScrollDistances.left >= 0;\n }\n\n // NOTE: for bottom/right cases browser will always expand document size\n return true;\n}\n\nfunction _getElementRelativeRect(element: HTMLElement) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n}\n\nfunction _getWindowRelativeRect(): Rect {\n return {\n top: 0,\n left: 0,\n width: _getViewProperty(x => x.clientWidth) || window.innerWidth,\n height: _getViewProperty(x => x.clientHeight) || window.innerHeight,\n };\n}\n\nfunction convertRectToAbsolute(rect: Rect): Rect {\n const offset = _getAbsoluteOffset();\n\n return {\n top: rect.top + offset.top,\n left: rect.left + offset.left,\n width: rect.width,\n height: rect.height,\n };\n}\n\nfunction _getAbsoluteOffset(): Offset {\n const scrollTop = window.pageYOffset || _getViewProperty(x => x.scrollTop);\n const scrollLeft = window.pageXOffset || _getViewProperty(x => x.scrollLeft);\n\n const clientTop = _getViewProperty(x => x.clientTop);\n const clientLeft = _getViewProperty(x => x.clientLeft);\n\n const top = scrollTop - clientTop;\n const left = scrollLeft - clientLeft;\n\n return {\n top,\n left,\n };\n}\n\nfunction _rectContainsRect(outerRect: Rect, innerRect: Rect): boolean {\n return (\n innerRect.top > outerRect.top &&\n innerRect.top + innerRect.height < outerRect.top + outerRect.height &&\n innerRect.left > outerRect.left &&\n innerRect.left + innerRect.width < outerRect.left + outerRect.width\n );\n}\n\nfunction _getViewProperty(getProperty: (e: HTMLElement) => number): number {\n const views = [document.documentElement, document.body];\n return views.map(x => x && getProperty(x)).find(Boolean) || 0;\n}\n\nexport const PopupHelper = {\n getPositionObject,\n getElementAbsoluteRect,\n isFullyVisible: isAbsoluteRectFullyVisible,\n canBecomeFullyVisible,\n};\n"]}
|
|
@@ -204,40 +204,40 @@ export var PopupPin = /*#__PURE__*/function (_React$Component) {
|
|
|
204
204
|
}(React.Component);
|
|
205
205
|
PopupPin.__KONTUR_REACT_UI__ = 'PopupPin';
|
|
206
206
|
PopupPin.propTypes = {
|
|
207
|
-
/**
|
|
208
|
-
* Цвет фон пина
|
|
207
|
+
/**
|
|
208
|
+
* Цвет фон пина
|
|
209
209
|
*/
|
|
210
210
|
backgroundColor: PropTypes.string,
|
|
211
211
|
|
|
212
|
-
/**
|
|
213
|
-
* Цвет границы пина
|
|
212
|
+
/**
|
|
213
|
+
* Цвет границы пина
|
|
214
214
|
*/
|
|
215
215
|
borderColor: PropTypes.string,
|
|
216
216
|
|
|
217
|
-
/**
|
|
218
|
-
* Ширина границы пина
|
|
217
|
+
/**
|
|
218
|
+
* Ширина границы пина
|
|
219
219
|
*/
|
|
220
220
|
borderWidth: PropTypes.number,
|
|
221
221
|
|
|
222
|
-
/**
|
|
223
|
-
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
222
|
+
/**
|
|
223
|
+
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
224
224
|
*/
|
|
225
225
|
offset: PropTypes.number,
|
|
226
226
|
|
|
227
|
-
/**
|
|
228
|
-
* Ссылка на попап
|
|
227
|
+
/**
|
|
228
|
+
* Ссылка на попап
|
|
229
229
|
*/
|
|
230
230
|
popupElement: PropTypes.any,
|
|
231
231
|
|
|
232
|
-
/**
|
|
233
|
-
* Позиция поапа, по которой будет вычеслено положение пина
|
|
232
|
+
/**
|
|
233
|
+
* Позиция поапа, по которой будет вычеслено положение пина
|
|
234
234
|
*/
|
|
235
235
|
popupPosition: PropTypes.string,
|
|
236
236
|
|
|
237
|
-
/**
|
|
238
|
-
* Сторона пина без учёта границы.
|
|
239
|
-
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
240
|
-
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
237
|
+
/**
|
|
238
|
+
* Сторона пина без учёта границы.
|
|
239
|
+
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
240
|
+
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
241
241
|
*/
|
|
242
242
|
size: PropTypes.number
|
|
243
243
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PopupPin.tsx"],"names":["React","PropTypes","PopupHelper","jsStyles","borderStyles","position","borderStyle","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","PopupPin","render","props","popupElement","options","getPinOptions","getElementAbsoluteRect","getPositionObject","popupPosition","size","offset","borderWidth","styleOuter","getOuterStyle","activeBorder","outerSize","borderColor","styleInner","getInnerStyle","backgroundColor","styleWrapper","getWrapperStyle","outerLeft","outerTop","wrapper","getPopupOppositeDirection","popupDirection","direction","TypeError","left","top","width","height","borderWitdth","popupRect","pinSize","pinOffset","bordersDelta","getPinLeftCoordinate","align","innerTop","innerLeft","getPinTopCoordinate","Error","pinHeight","Component","__KONTUR_REACT_UI__","propTypes","string","number","any"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Nullable } from '../../typings/utility-types';\r\n\r\nimport { PopupHelper, PositionObject, Rect } from './PopupHelper';\r\nimport { jsStyles } from './PopupPin.styles';\r\n\r\nconst borderStyles = {\r\n position: 'absolute',\r\n borderStyle: 'solid',\r\n borderTopColor: 'transparent',\r\n borderBottomColor: 'transparent',\r\n borderLeftColor: 'transparent',\r\n borderRightColor: 'transparent',\r\n};\r\n\r\ninterface Props {\r\n backgroundColor: string;\r\n borderColor: string;\r\n borderWidth: number;\r\n offset: number;\r\n popupElement: Nullable<HTMLElement>;\r\n popupPosition: string;\r\n size: number;\r\n}\r\n\r\nexport class PopupPin extends React.Component<Props> {\r\n public static __KONTUR_REACT_UI__ = 'PopupPin';\r\n\r\n public static propTypes = {\r\n /**\r\n * Цвет фон пина\r\n */\r\n backgroundColor: PropTypes.string,\r\n\r\n /**\r\n * Цвет границы пина\r\n */\r\n borderColor: PropTypes.string,\r\n\r\n /**\r\n * Ширина границы пина\r\n */\r\n borderWidth: PropTypes.number,\r\n\r\n /**\r\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\r\n */\r\n offset: PropTypes.number,\r\n\r\n /**\r\n * Ссылка на попап\r\n */\r\n popupElement: PropTypes.any,\r\n\r\n /**\r\n * Позиция поапа, по которой будет вычеслено положение пина\r\n */\r\n popupPosition: PropTypes.string,\r\n\r\n /**\r\n * Сторона пина без учёта границы.\r\n * Пин представляет собой равносторонний треугольник, высота от попапа\r\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\r\n */\r\n size: PropTypes.number,\r\n };\r\n\r\n public render() {\r\n if (!this.props.popupElement) {\r\n return null;\r\n }\r\n\r\n const options = this.getPinOptions(\r\n PopupHelper.getElementAbsoluteRect(this.props.popupElement),\r\n PopupHelper.getPositionObject(this.props.popupPosition),\r\n this.props.size,\r\n this.props.offset,\r\n this.props.borderWidth,\r\n );\r\n\r\n const styleOuter: React.CSSProperties = this.getOuterStyle(\r\n options.activeBorder,\r\n options.outerSize,\r\n this.props.borderColor,\r\n );\r\n\r\n const styleInner: React.CSSProperties = this.getInnerStyle(\r\n options.activeBorder,\r\n this.props.size,\r\n this.props.backgroundColor,\r\n );\r\n\r\n const styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);\r\n\r\n return (\r\n <div className={jsStyles.wrapper()} style={styleWrapper}>\r\n <div style={styleOuter}>\r\n <div style={styleInner} />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private getPopupOppositeDirection(): 'bottom' | 'top' | 'left' | 'right' {\r\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\r\n switch (popupDirection) {\r\n case 'top':\r\n return 'bottom';\r\n case 'bottom':\r\n return 'top';\r\n case 'left':\r\n return 'right';\r\n case 'right':\r\n return 'left';\r\n default:\r\n throw new TypeError('Unknown direction ' + popupDirection);\r\n }\r\n }\r\n\r\n private getWrapperStyle(left: number, top: number, borderWidth: number) {\r\n const direction = this.getPopupOppositeDirection();\r\n switch (direction) {\r\n case 'top':\r\n case 'bottom':\r\n return {\r\n [direction]: -borderWidth + 'px',\r\n left: left + 'px',\r\n width: borderWidth * 2 + 'px',\r\n height: borderWidth + 'px',\r\n };\r\n case 'left':\r\n case 'right':\r\n return {\r\n [direction]: -borderWidth + 'px',\r\n top: top + 'px',\r\n height: borderWidth * 2 + 'px',\r\n width: borderWidth + 'px',\r\n };\r\n default:\r\n throw new TypeError('Unknown direction ' + direction);\r\n }\r\n }\r\n\r\n private getOuterStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\r\n const direction = this.getPopupOppositeDirection();\r\n switch (direction) {\r\n case 'top':\r\n case 'bottom':\r\n return {\r\n ...borderStyles,\r\n [direction]: -borderWitdth + 'px',\r\n left: '0px',\r\n borderWidth: borderWitdth + 'px',\r\n ['border' + activeBorder + 'Color']: borderColor,\r\n } as React.CSSProperties;\r\n case 'left':\r\n case 'right':\r\n return {\r\n ...borderStyles,\r\n [direction]: -borderWitdth + 'px',\r\n top: '0px',\r\n borderWidth: borderWitdth + 'px',\r\n ['border' + activeBorder + 'Color']: borderColor,\r\n } as React.CSSProperties;\r\n default:\r\n throw new TypeError('Unknown direction ' + direction);\r\n }\r\n }\r\n\r\n private getInnerStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\r\n const direction = this.getPopupOppositeDirection();\r\n switch (direction) {\r\n case 'top':\r\n case 'bottom':\r\n return {\r\n ...borderStyles,\r\n [direction]: -borderWitdth + 2 + 'px',\r\n left: -borderWitdth + 'px',\r\n borderWidth: borderWitdth + 'px',\r\n ['border' + activeBorder + 'Color']: borderColor,\r\n } as React.CSSProperties;\r\n case 'left':\r\n case 'right':\r\n return {\r\n ...borderStyles,\r\n [direction]: -borderWitdth + 2 + 'px',\r\n top: -borderWitdth + 'px',\r\n borderWidth: borderWitdth + 'px',\r\n ['border' + activeBorder + 'Color']: borderColor,\r\n } as React.CSSProperties;\r\n default:\r\n throw new TypeError('Unknown direction ' + direction);\r\n }\r\n }\r\n\r\n private getPinOptions(\r\n popupRect: Rect,\r\n popupPosition: PositionObject,\r\n pinSize: number,\r\n pinOffset: number,\r\n borderWidth: number,\r\n ) {\r\n const bordersDelta = 2 * borderWidth;\r\n const outerSize = pinSize + bordersDelta;\r\n\r\n switch (popupPosition.direction) {\r\n case 'top':\r\n return {\r\n outerTop: popupRect.height,\r\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\r\n innerTop: -outerSize,\r\n innerLeft: -outerSize + bordersDelta,\r\n activeBorder: 'Top',\r\n outerSize,\r\n };\r\n case 'bottom':\r\n return {\r\n outerTop: -2 * outerSize,\r\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\r\n innerTop: -outerSize + 2 * bordersDelta,\r\n innerLeft: -outerSize + bordersDelta,\r\n activeBorder: 'Bottom',\r\n outerSize,\r\n };\r\n case 'left':\r\n return {\r\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\r\n outerLeft: popupRect.width,\r\n innerTop: -outerSize + bordersDelta,\r\n innerLeft: -outerSize,\r\n activeBorder: 'Left',\r\n outerSize,\r\n };\r\n case 'right':\r\n return {\r\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\r\n outerLeft: -2 * outerSize,\r\n innerTop: -outerSize + bordersDelta,\r\n innerLeft: -outerSize + 2 * bordersDelta,\r\n activeBorder: 'Right',\r\n outerSize,\r\n };\r\n default:\r\n throw new Error('Direction must be one of top, right, bottom, left');\r\n }\r\n }\r\n\r\n private getPinTopCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\r\n switch (align) {\r\n case 'top':\r\n return pinOffset;\r\n case 'middle':\r\n return popupRect.height / 2 - pinHeight;\r\n case 'bottom':\r\n return popupRect.height - pinOffset - 2 * pinHeight;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n\r\n private getPinLeftCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\r\n switch (align) {\r\n case 'left':\r\n return pinOffset;\r\n case 'center':\r\n return popupRect.width / 2 - pinHeight;\r\n case 'right':\r\n return popupRect.width - pinOffset - 2 * pinHeight;\r\n default:\r\n throw new Error(`Unexpected align '${align}'`);\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["PopupPin.tsx"],"names":["React","PropTypes","PopupHelper","jsStyles","borderStyles","position","borderStyle","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","PopupPin","render","props","popupElement","options","getPinOptions","getElementAbsoluteRect","getPositionObject","popupPosition","size","offset","borderWidth","styleOuter","getOuterStyle","activeBorder","outerSize","borderColor","styleInner","getInnerStyle","backgroundColor","styleWrapper","getWrapperStyle","outerLeft","outerTop","wrapper","getPopupOppositeDirection","popupDirection","direction","TypeError","left","top","width","height","borderWitdth","popupRect","pinSize","pinOffset","bordersDelta","getPinLeftCoordinate","align","innerTop","innerLeft","getPinTopCoordinate","Error","pinHeight","Component","__KONTUR_REACT_UI__","propTypes","string","number","any"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { jsStyles } from './PopupPin.styles';\n\nconst borderStyles = {\n position: 'absolute',\n borderStyle: 'solid',\n borderTopColor: 'transparent',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n};\n\ninterface Props {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n offset: number;\n popupElement: Nullable<HTMLElement>;\n popupPosition: string;\n size: number;\n}\n\nexport class PopupPin extends React.Component<Props> {\n public static __KONTUR_REACT_UI__ = 'PopupPin';\n\n public static propTypes = {\n /**\n * Цвет фон пина\n */\n backgroundColor: PropTypes.string,\n\n /**\n * Цвет границы пина\n */\n borderColor: PropTypes.string,\n\n /**\n * Ширина границы пина\n */\n borderWidth: PropTypes.number,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n offset: PropTypes.number,\n\n /**\n * Ссылка на попап\n */\n popupElement: PropTypes.any,\n\n /**\n * Позиция поапа, по которой будет вычеслено положение пина\n */\n popupPosition: PropTypes.string,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n size: PropTypes.number,\n };\n\n public render() {\n if (!this.props.popupElement) {\n return null;\n }\n\n const options = this.getPinOptions(\n PopupHelper.getElementAbsoluteRect(this.props.popupElement),\n PopupHelper.getPositionObject(this.props.popupPosition),\n this.props.size,\n this.props.offset,\n this.props.borderWidth,\n );\n\n const styleOuter: React.CSSProperties = this.getOuterStyle(\n options.activeBorder,\n options.outerSize,\n this.props.borderColor,\n );\n\n const styleInner: React.CSSProperties = this.getInnerStyle(\n options.activeBorder,\n this.props.size,\n this.props.backgroundColor,\n );\n\n const styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);\n\n return (\n <div className={jsStyles.wrapper()} style={styleWrapper}>\n <div style={styleOuter}>\n <div style={styleInner} />\n </div>\n </div>\n );\n }\n\n private getPopupOppositeDirection(): 'bottom' | 'top' | 'left' | 'right' {\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\n switch (popupDirection) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n throw new TypeError('Unknown direction ' + popupDirection);\n }\n }\n\n private getWrapperStyle(left: number, top: number, borderWidth: number) {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n [direction]: -borderWidth + 'px',\n left: left + 'px',\n width: borderWidth * 2 + 'px',\n height: borderWidth + 'px',\n };\n case 'left':\n case 'right':\n return {\n [direction]: -borderWidth + 'px',\n top: top + 'px',\n height: borderWidth * 2 + 'px',\n width: borderWidth + 'px',\n };\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getOuterStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n left: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n top: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getInnerStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n left: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n top: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getPinOptions(\n popupRect: Rect,\n popupPosition: PositionObject,\n pinSize: number,\n pinOffset: number,\n borderWidth: number,\n ) {\n const bordersDelta = 2 * borderWidth;\n const outerSize = pinSize + bordersDelta;\n\n switch (popupPosition.direction) {\n case 'top':\n return {\n outerTop: popupRect.height,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Top',\n outerSize,\n };\n case 'bottom':\n return {\n outerTop: -2 * outerSize,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize + 2 * bordersDelta,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Bottom',\n outerSize,\n };\n case 'left':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: popupRect.width,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize,\n activeBorder: 'Left',\n outerSize,\n };\n case 'right':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: -2 * outerSize,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize + 2 * bordersDelta,\n activeBorder: 'Right',\n outerSize,\n };\n default:\n throw new Error('Direction must be one of top, right, bottom, left');\n }\n }\n\n private getPinTopCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'top':\n return pinOffset;\n case 'middle':\n return popupRect.height / 2 - pinHeight;\n case 'bottom':\n return popupRect.height - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getPinLeftCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'left':\n return pinOffset;\n case 'center':\n return popupRect.width / 2 - pinHeight;\n case 'right':\n return popupRect.width - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PopupPin.styles.ts"],"names":["css","memoizeStyle","styles","wrapper","jsStyles"],"mappings":"yUAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,IAAMC,MAAM,GAAG;AACbC,EAAAA,OADa,qBACH;AACR,WAAOH,GAAP;;;;;AAKD,GAPY,EAAf;;;AAUA,OAAO,IAAMI,QAAQ,GAAGH,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["PopupPin.styles.ts"],"names":["css","memoizeStyle","styles","wrapper","jsStyles"],"mappings":"yUAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,IAAMC,MAAM,GAAG;AACbC,EAAAA,OADa,qBACH;AACR,WAAOH,GAAP;;;;;AAKD,GAPY,EAAf;;;AAUA,OAAO,IAAMI,QAAQ,GAAGH,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nconst styles = {\n wrapper() {\n return css`\n overflow: hidden;\n position: absolute;\n pointer-events: none;\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAd","sourcesContent":["export * from './Popup';\
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAd","sourcesContent":["export * from './Popup';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PopupMenu.tsx"],"names":["React","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","InternalMenu","Popup","RenderLayer","CommonWrapper","PopupMenuPositions","isValidPositions","jsStyles","PopupMenuType","Dropdown","Tooltip","PopupMenu","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","caption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","container","width","children","popupMargin","popupHasPin","popupPinOffset","getPositions","disableAnimations","menuMaxHeight","menuWidth","header","footer","positions","Component","__KONTUR_REACT_UI__","defaultProps","Type"],"mappings":"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","sourcesContent":["import React from 'react';\r\n\r\nimport {\r\n isKeyArrowVertical,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isKeySpace,\r\n someKeys,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport { InternalMenu } from '../InternalMenu';\r\nimport { Popup, PopupPosition } from '../Popup';\r\nimport { RenderLayer } from '../RenderLayer';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { PopupMenuPositions } from './PopupMenuPositions';\r\nimport { isValidPositions } from './validatePositions';\r\nimport { jsStyles } from './PopupMenu.styles';\r\n\r\nexport interface PopupMenuCaptionProps {\r\n opened: boolean;\r\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\r\n closeMenu: (restoreFocus?: boolean) => void;\r\n toggleMenu: () => void;\r\n}\r\n\r\nexport interface PopupMenuProps extends CommonProps {\r\n children?: React.ReactNode;\r\n /** Максимальная высота меню */\r\n menuMaxHeight?: number | string;\r\n /** Ширина меню */\r\n menuWidth?: number | string;\r\n /** Ширина контейнера и caption */\r\n width?: React.CSSProperties['width'];\r\n\r\n /**\r\n * Элемент или функция возвращающая элемент,\r\n * если передана, используется вместо ```caption```,\r\n * в таком случае управлять открытием и закрытием меню\r\n * придется в этой функции\r\n */\r\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\r\n\r\n header?: React.ReactNode;\r\n footer?: React.ReactNode;\r\n\r\n /** Массив разрешенных положений меню относительно caption'а. */\r\n positions?: PopupPosition[];\r\n /** Колбэк, вызываемый после открытия/закрытия меню */\r\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\r\n /** Пропсы, передающиеся в Popup */\r\n popupHasPin?: boolean;\r\n popupMargin?: number;\r\n popupPinOffset?: number;\r\n type?: 'dropdown' | 'tooltip';\r\n disableAnimations: boolean;\r\n}\r\n\r\ninterface PopupMenuState {\r\n menuVisible: boolean;\r\n firstItemShouldBeSelected?: boolean;\r\n}\r\n\r\nexport const PopupMenuType = {\r\n Dropdown: 'dropdown',\r\n Tooltip: 'tooltip',\r\n};\r\n\r\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\r\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\r\n\r\n public static defaultProps = {\r\n positions: PopupMenuPositions,\r\n type: PopupMenuType.Tooltip,\r\n popupHasPin: true,\r\n popupMargin: 0,\r\n disableAnimations: false,\r\n };\r\n\r\n public static Type = PopupMenuType;\r\n\r\n public state = {\r\n menuVisible: false,\r\n firstItemShouldBeSelected: false,\r\n };\r\n\r\n private captionWrapper: HTMLSpanElement | null = null;\r\n private savedFocusableElement: HTMLElement | null = null;\r\n private menu: Nullable<InternalMenu> = null;\r\n\r\n public render() {\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderLayer\r\n onClickOutside={this.hideMenuWithoutFocusing}\r\n onFocusOutside={this.hideMenuWithoutFocusing}\r\n active={this.state.menuVisible}\r\n >\r\n <div className={jsStyles.container()} style={{ width: this.props.width }}>\r\n {this.renderCaption()}\r\n {this.captionWrapper && this.props.children && (\r\n <Popup\r\n anchorElement={this.captionWrapper}\r\n opened={this.state.menuVisible}\r\n hasShadow\r\n margin={this.props.popupMargin}\r\n hasPin={this.props.popupHasPin}\r\n pinOffset={this.props.popupPinOffset}\r\n positions={this.getPositions()}\r\n disableAnimations={this.props.disableAnimations}\r\n onOpen={this.handleOpen}\r\n >\r\n <InternalMenu\r\n hasShadow={false}\r\n maxHeight={this.props.menuMaxHeight || 'none'}\r\n onKeyDown={this.handleKeyDown}\r\n width={this.props.menuWidth || 'auto'}\r\n onItemClick={this.handleItemSelection}\r\n cyclicSelection={false}\r\n ref={this.refInternalMenu}\r\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\r\n header={this.props.header}\r\n footer={this.props.footer}\r\n >\r\n {this.props.children}\r\n </InternalMenu>\r\n </Popup>\r\n )}\r\n </div>\r\n </RenderLayer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n public open = (): void => this.showMenu();\r\n public close = (): void => this.hideMenu();\r\n\r\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\r\n\r\n private handleOpen = () => {\r\n if (this.menu) {\r\n this.menu.focus();\r\n }\r\n };\r\n\r\n private renderCaption = () => {\r\n if (typeof this.props.caption === 'function') {\r\n const caption = this.props.caption({\r\n opened: this.state.menuVisible,\r\n openMenu: this.showMenu,\r\n closeMenu: this.hideMenu,\r\n toggleMenu: this.toggleMenu,\r\n });\r\n\r\n return (\r\n <span\r\n data-tid=\"PopupMenu__caption\"\r\n className={jsStyles.caption()}\r\n ref={element => (this.captionWrapper = element)}\r\n >\r\n {caption}\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n data-tid=\"PopupMenu__caption\"\r\n onClick={this.handleCaptionClick}\r\n onKeyDown={this.handleCaptionKeyDown}\r\n ref={element => (this.captionWrapper = element)}\r\n className={jsStyles.caption()}\r\n >\r\n {this.props.caption}\r\n </span>\r\n );\r\n };\r\n\r\n private hideMenuWithoutFocusing = () => this.hideMenu();\r\n\r\n private getPositions() {\r\n if (this.props.positions && isValidPositions(this.props.positions)) {\r\n return this.props.positions;\r\n }\r\n\r\n return PopupMenuPositions;\r\n }\r\n\r\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\r\n this.saveFocus();\r\n this.setState(\r\n {\r\n menuVisible: true,\r\n firstItemShouldBeSelected,\r\n },\r\n () => {\r\n this.handleChangeMenuVisible(false);\r\n },\r\n );\r\n };\r\n\r\n private hideMenu = (restoreFocus?: boolean): void => {\r\n this.setState(\r\n {\r\n menuVisible: false,\r\n firstItemShouldBeSelected: false,\r\n },\r\n () => {\r\n this.handleChangeMenuVisible(!!restoreFocus);\r\n },\r\n );\r\n };\r\n\r\n private toggleMenu = (): void => {\r\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\r\n };\r\n\r\n private handleCaptionClick = (): void => {\r\n this.toggleMenu();\r\n };\r\n\r\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\r\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\r\n e.preventDefault();\r\n this.showMenu(true);\r\n }\r\n };\r\n\r\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (isKeyEscape(e)) {\r\n const restoreFocus = true;\r\n this.hideMenu(restoreFocus);\r\n }\r\n };\r\n\r\n private saveFocus = (): void => {\r\n if (document) {\r\n this.savedFocusableElement = document.activeElement as HTMLElement;\r\n }\r\n };\r\n\r\n private restoreFocus = (): void => {\r\n if (this.savedFocusableElement) {\r\n this.savedFocusableElement.focus();\r\n this.savedFocusableElement = null;\r\n }\r\n };\r\n\r\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\r\n if (focusShouldBeRestored) {\r\n this.restoreFocus();\r\n }\r\n if (typeof this.props.onChangeMenuState === 'function') {\r\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\r\n }\r\n };\r\n\r\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\r\n if (event.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n if (event.type === 'keydown') {\r\n event.preventDefault();\r\n }\r\n\r\n const restoreFocus = event.type === 'keydown';\r\n this.hideMenu(restoreFocus);\r\n };\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["PopupMenu.tsx"],"names":["React","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","InternalMenu","Popup","RenderLayer","CommonWrapper","PopupMenuPositions","isValidPositions","jsStyles","PopupMenuType","Dropdown","Tooltip","PopupMenu","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","caption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","container","width","children","popupMargin","popupHasPin","popupPinOffset","getPositions","disableAnimations","menuMaxHeight","menuWidth","header","footer","positions","Component","__KONTUR_REACT_UI__","defaultProps","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPosition } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { PopupMenuPositions } from './PopupMenuPositions';\nimport { isValidPositions } from './validatePositions';\nimport { jsStyles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPosition[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations: boolean;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n};\n\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n public static defaultProps = {\n positions: PopupMenuPositions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n popupMargin: 0,\n disableAnimations: false,\n };\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n\n public render() {\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div className={jsStyles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={this.props.popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={this.props.disableAnimations}\n onOpen={this.handleOpen}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n width={this.props.menuWidth || 'auto'}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n className={jsStyles.caption()}\n ref={element => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={element => (this.captionWrapper = element)}\n className={jsStyles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions() {\n if (this.props.positions && isValidPositions(this.props.positions)) {\n return this.props.positions;\n }\n\n return PopupMenuPositions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PopupMenu.styles.ts"],"names":["css","memoizeStyle","styles","caption","container","jsStyles"],"mappings":"meAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,IAAMC,MAAM,GAAG;AACbC,EAAAA,OADa,qBACH;AACR,WAAOH,GAAP;;;;AAID,GANY;AAObI,EAAAA,SAPa,uBAOD;AACV,WAAOJ,GAAP;;;AAGD,GAXY,EAAf;;;AAcA,OAAO,IAAMK,QAAQ,GAAGJ,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["PopupMenu.styles.ts"],"names":["css","memoizeStyle","styles","caption","container","jsStyles"],"mappings":"meAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,IAAMC,MAAM,GAAG;AACbC,EAAAA,OADa,qBACH;AACR,WAAOH,GAAP;;;;AAID,GANY;AAObI,EAAAA,SAPa,uBAOD;AACV,WAAOJ,GAAP;;;AAGD,GAXY,EAAf;;;AAcA,OAAO,IAAMK,QAAQ,GAAGJ,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nconst styles = {\n caption() {\n return css`\n display: inline-block;\n width: 100%;\n `;\n },\n container() {\n return css`\n display: inline-block;\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PopupMenuPositions.tsx"],"names":["PopupMenuPositions"],"mappings":";;AAEA,OAAO,IAAMA,kBAAmC,GAAG;AACjD,UADiD;AAEjD,YAFiD;AAGjD,WAHiD;AAIjD,WAJiD;AAKjD,cALiD;AAMjD,cANiD;AAOjD,aAPiD;AAQjD,eARiD;AASjD,cATiD;AAUjD,UAViD;AAWjD,aAXiD;AAYjD,aAZiD,CAA5C","sourcesContent":["import { PopupPosition } from '../Popup';\
|
|
1
|
+
{"version":3,"sources":["PopupMenuPositions.tsx"],"names":["PopupMenuPositions"],"mappings":";;AAEA,OAAO,IAAMA,kBAAmC,GAAG;AACjD,UADiD;AAEjD,YAFiD;AAGjD,WAHiD;AAIjD,WAJiD;AAKjD,cALiD;AAMjD,cANiD;AAOjD,aAPiD;AAQjD,eARiD;AASjD,cATiD;AAUjD,UAViD;AAWjD,aAXiD;AAYjD,aAZiD,CAA5C","sourcesContent":["import { PopupPosition } from '../Popup';\n\nexport const PopupMenuPositions: PopupPosition[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAd","sourcesContent":["export * from './PopupMenu';\
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAd","sourcesContent":["export * from './PopupMenu';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["validatePositions.tsx"],"names":["isProductionEnv","PopupMenuPositions","isValidPosition","position","includes","isValidPositions","positions","every","item","Error"],"mappings":"AAAA,SAASA,eAAT,QAAgC,8BAAhC;;;AAGA,SAASC,kBAAT,QAAmC,sBAAnC;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAAsC;AAC5D,SAAOF,kBAAkB,CAACG,QAAnB,CAA4BD,QAA5B,CAAP;AACD,CAFD;;AAIA,OAAO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,SAAD,EAAyC;AACvE,SAAOA,SAAS,CAACC,KAAV,CAAgB,UAAAC,IAAI,EAAI;AAC7B,QAAIR,eAAJ,EAAqB;AACnB,aAAOE,eAAe,CAACM,IAAD,CAAtB;AACD,KAFD,MAEO;AACL,UAAIN,eAAe,CAACM,IAAD,CAAnB,EAA2B;AACzB,eAAO,IAAP;AACD,OAFD,MAEO;AACL,cAAM,IAAIC,KAAJ,2BAAiCD,IAAjC,QAAN;AACD;AACF;AACF,GAVM,CAAP;AAWD,CAZM","sourcesContent":["import { isProductionEnv } from '../../lib/currentEnvironment';\
|
|
1
|
+
{"version":3,"sources":["validatePositions.tsx"],"names":["isProductionEnv","PopupMenuPositions","isValidPosition","position","includes","isValidPositions","positions","every","item","Error"],"mappings":"AAAA,SAASA,eAAT,QAAgC,8BAAhC;;;AAGA,SAASC,kBAAT,QAAmC,sBAAnC;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAAsC;AAC5D,SAAOF,kBAAkB,CAACG,QAAnB,CAA4BD,QAA5B,CAAP;AACD,CAFD;;AAIA,OAAO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,SAAD,EAAyC;AACvE,SAAOA,SAAS,CAACC,KAAV,CAAgB,UAAAC,IAAI,EAAI;AAC7B,QAAIR,eAAJ,EAAqB;AACnB,aAAOE,eAAe,CAACM,IAAD,CAAtB;AACD,KAFD,MAEO;AACL,UAAIN,eAAe,CAACM,IAAD,CAAnB,EAA2B;AACzB,eAAO,IAAP;AACD,OAFD,MAEO;AACL,cAAM,IAAIC,KAAJ,2BAAiCD,IAAjC,QAAN;AACD;AACF;AACF,GAVM,CAAP;AAWD,CAZM","sourcesContent":["import { isProductionEnv } from '../../lib/currentEnvironment';\nimport { PopupPosition } from '../Popup';\n\nimport { PopupMenuPositions } from './PopupMenuPositions';\n\nconst isValidPosition = (position: PopupPosition): boolean => {\n return PopupMenuPositions.includes(position);\n};\n\nexport const isValidPositions = (positions: PopupPosition[]): boolean => {\n return positions.every(item => {\n if (isProductionEnv) {\n return isValidPosition(item);\n } else {\n if (isValidPosition(item)) {\n return true;\n } else {\n throw new Error(`Unxpected position \"${item}\"`);\n }\n }\n });\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RenderContainer.tsx"],"names":["React","canUseDOM","isBrowser","getRandomID","Upgrade","RenderInnerContainer","RenderContainer","props","domContainer","rootId","getRootId","children","mountContainer","UNSAFE_componentWillReceiveProps","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","document","createElement","setAttribute","getSpecificityClassName","parentNode","body","appendChild","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"gIAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,kBAArC;;AAEA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,OAAT,QAAwB,oBAAxB;;AAEA,SAASC,oBAAT,QAAqC,wBAArC;;;AAGA,WAAaC,eAAb;;;;;;;;AAQE,2BAAYC,KAAZ,EAAyC;AACvC,wCAAMA,KAAN,UADuC,MAJjCC,YAIiC,GAJK,IAIL,OAFxBC,MAEwB,GAFPH,eAAe,CAACI,SAAhB,EAEO;;AAGvC,QAAIR,SAAS,IAAIK,KAAK,CAACI,QAAvB,EAAiC;AAC/B,YAAKC,cAAL;AACD,KALsC;AAMxC,GAdH;;AAgBSC,EAAAA,gCAhBT,GAgBE,0CAAwCC,SAAxC,EAAyF;AACvF,QAAI,CAAC,KAAKP,KAAL,CAAWI,QAAZ,IAAwBG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKL,KAAL,CAAWI,QAAX,IAAuB,CAACG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKI,gBAAL;AACD;AACF,GAvBH;;AAyBSC,EAAAA,oBAzBT,GAyBE,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,GA3BH;;AA6BSC,EAAAA,MA7BT,GA6BE,kBAAgB;AACd,wBAAO,oBAAC,oBAAD,eAA0B,KAAKX,KAA/B,IAAsC,YAAY,EAAE,KAAKC,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,GA/BH;;AAiCUU,EAAAA,eAjCV,GAiCE,2BAA0B;AACxB,QAAIlB,SAAJ,EAAe;AACb,UAAMO,YAAY,GAAGY,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAb,MAAAA,YAAY,CAACc,YAAb,CAA0B,OAA1B,EAAmClB,OAAO,CAACmB,uBAAR,EAAnC;AACAf,MAAAA,YAAY,CAACc,YAAb,CAA0B,4BAA1B,OAA2D,KAAKb,MAAhE;AACA,WAAKD,YAAL,GAAoBA,YAApB;AACD;AACF,GAxCH;;AA0CUI,EAAAA,cA1CV,GA0CE,0BAAyB;AACvB,QAAI,CAAC,KAAKJ,YAAV,EAAwB;AACtB,WAAKW,eAAL;AACD;AACD,QAAI,KAAKX,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAAlB,KAAiCJ,QAAQ,CAACK,IAAnE,EAAyE;AACvEL,MAAAA,QAAQ,CAACK,IAAT,CAAcC,WAAd,CAA0B,KAAKlB,YAA/B;AACA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBC,kBAApB,CAAuC,KAAKpB,MAA5C,EAAoD,IAApD;AACD;AACF;AACF,GApDH;;AAsDUQ,EAAAA,gBAtDV,GAsDE,4BAA2B;AACzB,QAAI,KAAKT,YAAT,EAAuB;AACrB,WAAKO,gBAAL;AACA,WAAKP,YAAL,GAAoB,IAApB;AACD;AACF,GA3DH;;AA6DUO,EAAAA,gBA7DV,GA6DE,4BAA2B;AACzB,QAAI,KAAKP,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAA3C,EAAuD;AACrD,WAAKhB,YAAL,CAAkBgB,UAAlB,CAA6BM,WAA7B,CAAyC,KAAKtB,YAA9C;;AAEA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBG,qBAApB,CAA0C,KAAKtB,MAA/C;AACD;AACF;AACF,GArEH,0BAAqCT,KAAK,CAACgC,SAA3C,EAAa1B,e,CACG2B,mB,GAAsB,iB,CADzB3B,e,CAGII,S,GAAY,oBAAMP,WAAW,EAAjB,E","sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"sources":["RenderContainer.tsx"],"names":["React","canUseDOM","isBrowser","getRandomID","Upgrade","RenderInnerContainer","RenderContainer","props","domContainer","rootId","getRootId","children","mountContainer","UNSAFE_componentWillReceiveProps","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","document","createElement","setAttribute","getSpecificityClassName","parentNode","body","appendChild","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"gIAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,kBAArC;;AAEA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,OAAT,QAAwB,oBAAxB;;AAEA,SAASC,oBAAT,QAAqC,wBAArC;;;AAGA,WAAaC,eAAb;;;;;;;;AAQE,2BAAYC,KAAZ,EAAyC;AACvC,wCAAMA,KAAN,UADuC,MAJjCC,YAIiC,GAJK,IAIL,OAFxBC,MAEwB,GAFPH,eAAe,CAACI,SAAhB,EAEO;;AAGvC,QAAIR,SAAS,IAAIK,KAAK,CAACI,QAAvB,EAAiC;AAC/B,YAAKC,cAAL;AACD,KALsC;AAMxC,GAdH;;AAgBSC,EAAAA,gCAhBT,GAgBE,0CAAwCC,SAAxC,EAAyF;AACvF,QAAI,CAAC,KAAKP,KAAL,CAAWI,QAAZ,IAAwBG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKL,KAAL,CAAWI,QAAX,IAAuB,CAACG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKI,gBAAL;AACD;AACF,GAvBH;;AAyBSC,EAAAA,oBAzBT,GAyBE,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,GA3BH;;AA6BSC,EAAAA,MA7BT,GA6BE,kBAAgB;AACd,wBAAO,oBAAC,oBAAD,eAA0B,KAAKX,KAA/B,IAAsC,YAAY,EAAE,KAAKC,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,GA/BH;;AAiCUU,EAAAA,eAjCV,GAiCE,2BAA0B;AACxB,QAAIlB,SAAJ,EAAe;AACb,UAAMO,YAAY,GAAGY,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAb,MAAAA,YAAY,CAACc,YAAb,CAA0B,OAA1B,EAAmClB,OAAO,CAACmB,uBAAR,EAAnC;AACAf,MAAAA,YAAY,CAACc,YAAb,CAA0B,4BAA1B,OAA2D,KAAKb,MAAhE;AACA,WAAKD,YAAL,GAAoBA,YAApB;AACD;AACF,GAxCH;;AA0CUI,EAAAA,cA1CV,GA0CE,0BAAyB;AACvB,QAAI,CAAC,KAAKJ,YAAV,EAAwB;AACtB,WAAKW,eAAL;AACD;AACD,QAAI,KAAKX,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAAlB,KAAiCJ,QAAQ,CAACK,IAAnE,EAAyE;AACvEL,MAAAA,QAAQ,CAACK,IAAT,CAAcC,WAAd,CAA0B,KAAKlB,YAA/B;AACA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBC,kBAApB,CAAuC,KAAKpB,MAA5C,EAAoD,IAApD;AACD;AACF;AACF,GApDH;;AAsDUQ,EAAAA,gBAtDV,GAsDE,4BAA2B;AACzB,QAAI,KAAKT,YAAT,EAAuB;AACrB,WAAKO,gBAAL;AACA,WAAKP,YAAL,GAAoB,IAApB;AACD;AACF,GA3DH;;AA6DUO,EAAAA,gBA7DV,GA6DE,4BAA2B;AACzB,QAAI,KAAKP,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAA3C,EAAuD;AACrD,WAAKhB,YAAL,CAAkBgB,UAAlB,CAA6BM,WAA7B,CAAyC,KAAKtB,YAA9C;;AAEA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBG,qBAApB,CAA0C,KAAKtB,MAA/C;AACD;AACF;AACF,GArEH,0BAAqCT,KAAK,CAACgC,SAA3C,EAAa1B,e,CACG2B,mB,GAAsB,iB,CADzB3B,e,CAGII,S,GAAY,oBAAMP,WAAW,EAAjB,E","sourcesContent":["import React from 'react';\n\nimport { canUseDOM, isBrowser } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n constructor(props: RenderContainerProps) {\n super(props);\n\n if (isBrowser && props.children) {\n this.mountContainer();\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<RenderContainerProps>): void {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n }\n\n private createContainer() {\n if (canUseDOM) {\n const domContainer = document.createElement('div');\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n if (this.domContainer && this.domContainer.parentNode !== document.body) {\n document.body.appendChild(this.domContainer);\n if (window.ReactTesting) {\n window.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (window.ReactTesting) {\n window.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","CommonWrapper","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;;;AAGA,SAASC,aAAT,QAA8B,kBAA9B;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAA4C,GAAG,SAA/CA,MAA+C,OAAwC,KAArCC,SAAqC,QAArCA,SAAqC,CAA1BC,SAA0B,QAA1BA,SAA0B,CAAfC,QAAe,QAAfA,QAAe;AAClG;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGJ,QAAQ,CAACO,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,kCAAU,4BAA0BC,SAApC,GAAH,gBAAuD,oBAAC,cAAD,OAFnE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;AAGSC,EAAAA,MAHT,GAGE,kBAAgB;AACqC,SAAKC,KAD1C,CACNC,MADM,eACNA,MADM,CACEL,QADF,eACEA,QADF,CACYM,YADZ,eACYA,YADZ,CAC0BC,MAD1B,eAC0BA,MAD1B;AAEd,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACE,0BAAC,aAAD,EAAmB,KAAKF,KAAxB,EAAgCJ,QAAhC,CADF,CAFF,CADF;;;;AAQD;;AAED,WAAOQ,KAAP;AACD,GAnBH,+BAA0Cf,KAAK,CAACgB,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB","sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","CommonWrapper","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;;;AAGA,SAASC,aAAT,QAA8B,kBAA9B;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAA4C,GAAG,SAA/CA,MAA+C,OAAwC,KAArCC,SAAqC,QAArCA,SAAqC,CAA1BC,SAA0B,QAA1BA,SAA0B,CAAfC,QAAe,QAAfA,QAAe;AAClG;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGJ,QAAQ,CAACO,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,kCAAU,4BAA0BC,SAApC,GAAH,gBAAuD,oBAAC,cAAD,OAFnE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;AAGSC,EAAAA,MAHT,GAGE,kBAAgB;AACqC,SAAKC,KAD1C,CACNC,MADM,eACNA,MADM,CACEL,QADF,eACEA,QADF,CACYM,YADZ,eACYA,YADZ,CAC0BC,MAD1B,eAC0BA,MAD1B;AAEd,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACE,0BAAC,aAAD,EAAmB,KAAKF,KAAxB,EAAgCJ,QAAhC,CADF,CAFF,CADF;;;;AAQD;;AAED,WAAOQ,KAAP;AACD,GAnBH,+BAA0Cf,KAAK,CAACgB,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal: React.FunctionComponent<PortalProps> = ({ container, rt_rootID, children }) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n <CommonWrapper {...this.props}>{children}</CommonWrapper>\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n"]}
|