@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":["MaskCharLowLine.tsx"],"names":["MASK_CHAR_EXEMPLAR","String","fromCharCode","MaskCharLowLine","jsStyles","root"],"mappings":"0LAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,kBAAkB,GAAGC,MAAM,CAACC,YAAP,CAAoB,MAApB,CAA3B,C;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,wBAAM,uCAAM,SAAS,EAAEC,0BAASC,IAAT,EAAjB,IAAmCL,kBAAnC,CAAN,EAAxB,C","sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"sources":["MaskCharLowLine.tsx"],"names":["MASK_CHAR_EXEMPLAR","String","fromCharCode","MaskCharLowLine","jsStyles","root"],"mappings":"0LAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,kBAAkB,GAAGC,MAAM,CAACC,YAAP,CAAoB,MAApB,CAA3B,C;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,wBAAM,uCAAM,SAAS,EAAEC,0BAASC,IAAT,EAAjB,IAAmCL,kBAAnC,CAAN,EAAxB,C","sourcesContent":["import React from 'react';\n\nimport { jsStyles } from './MaskCharLowLine.styles';\n\n/**\n * FIGURE SPACE\n *\n * space equal to tabular width of a font this is equivalent to the digit width of fonts with fixed-width digits\n *\n * @see http://www.fileformat.info/info/unicode/char/2007/index.htm\n */\nexport const MASK_CHAR_EXEMPLAR = String.fromCharCode(0x2007);\n\nexport const MaskCharLowLine = () => <span className={jsStyles.root()}>{MASK_CHAR_EXEMPLAR}</span>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MaskCharLowLine.styles.ts"],"names":["styles","root","css","jsStyles"],"mappings":"8QAAA,oD;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,kBACN;AACL,eAAOC,YAAP;;;;;;;;;;;;;AAaD,GAfY,EAAf;;;AAkBO,IAAMC,QAAQ,GAAG,2BAAaH,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["MaskCharLowLine.styles.ts"],"names":["styles","root","css","jsStyles"],"mappings":"8QAAA,oD;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,kBACN;AACL,eAAOC,YAAP;;;;;;;;;;;;;AAaD,GAfY,EAAf;;;AAkBO,IAAMC,QAAQ,GAAG,2BAAaH,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nconst styles = {\n root() {\n return css`\n position: relative;\n\n &:after {\n content: '';\n position: absolute;\n width: calc(100% - 0.1em);\n height: 1px;\n left: 0.05em;\n bottom: 0.11em;\n border-bottom: solid 0.05em;\n }\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './MaskCharLowLine';\
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './MaskCharLowLine';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MaskedInput.tsx"],"names":["MaskedInput","props","input","theme","reactInputMask","getValue","value","defaultValue","undefined","toString","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","UNSAFE_componentWillReceiveProps","nextProps","render","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","jsStyles","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","React","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\r\n\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { MaskCharLowLine } from '../MaskCharLowLine';\r\n\r\nimport { jsStyles } from './MaskedInput.styles';\r\n\r\nexport interface MaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\r\n mask: string;\r\n maskChar: string | null;\r\n formatChars?: { [key: string]: string };\r\n alwaysShowMask?: boolean;\r\n hasLeftIcon?: boolean;\r\n hasRightIcon?: boolean;\r\n onUnexpectedInput?: (value: string) => void;\r\n onValueChange?: (value: string) => void;\r\n}\r\n\r\ninterface MaskedInputState {\r\n value: string;\r\n emptyValue: string;\r\n focused: boolean;\r\n}\r\n\r\nexport class MaskedInput extends React.Component<MaskedInputProps, MaskedInputState> {\r\n public static __KONTUR_REACT_UI__ = 'MaskedInput';\r\n\r\n public static defaultProps: Partial<MaskedInputProps> = {\r\n maskChar: '_',\r\n };\r\n\r\n public input: HTMLInputElement | null = null;\r\n private theme!: Theme;\r\n private reactInputMask: ReactInputMask | null = null;\r\n\r\n public constructor(props: MaskedInputProps) {\r\n super(props);\r\n\r\n this.state = {\r\n value: this.getValue(props),\r\n emptyValue: '',\r\n focused: false,\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n if (this.reactInputMask) {\r\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\r\n this.reactInputMask.forceUpdate();\r\n }\r\n }\r\n\r\n public UNSAFE_componentWillReceiveProps(nextProps: MaskedInputProps) {\r\n if (this.props.value !== nextProps.value) {\r\n this.setState({\r\n value: nextProps.value ? nextProps.value.toString() : '',\r\n });\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 {\r\n maskChar,\r\n alwaysShowMask,\r\n hasLeftIcon,\r\n hasRightIcon,\r\n maxLength,\r\n onValueChange,\r\n onUnexpectedInput,\r\n defaultValue,\r\n style,\r\n ...inputProps\r\n } = this.props;\r\n const { emptyValue, value } = this.state;\r\n\r\n const leftHelper = style?.textAlign !== 'right' && (\r\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, value.length)}</span>\r\n );\r\n const leftClass = style?.textAlign !== 'right' && jsStyles.inputMaskLeft();\r\n\r\n const rightHelper = emptyValue\r\n .slice(value.length)\r\n .split('')\r\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\r\n\r\n return (\r\n <span className={jsStyles.container()} x-ms-format-detection=\"none\">\r\n <ReactInputMask\r\n {...inputProps}\r\n maskChar={null}\r\n beforeMaskedValueChange={this.preprocess}\r\n alwaysShowMask={false}\r\n onChange={this.handleChange}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n value={value}\r\n inputRef={this.refInput}\r\n ref={this.refMaskedInput}\r\n style={{ ...style }}\r\n />\r\n {this.isMaskVisible() && (\r\n <span className={cn(jsStyles.inputMask(this.theme), leftClass)}>\r\n {leftHelper}\r\n {rightHelper}\r\n </span>\r\n )}\r\n </span>\r\n );\r\n }\r\n\r\n private getValue = (props: MaskedInputProps): string => {\r\n const { value, defaultValue } = props;\r\n\r\n return value !== undefined ? value.toString() : defaultValue !== undefined ? defaultValue.toString() : '';\r\n };\r\n\r\n private refInput = (input: HTMLInputElement | null) => {\r\n this.input = input;\r\n };\r\n\r\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\r\n this.reactInputMask = reactInputMask;\r\n };\r\n\r\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n if (event.target.value === this.state.value) {\r\n this.handleUnexpectedInput();\r\n } else {\r\n this.setState({ value: event.target.value });\r\n if (this.props.onValueChange) {\r\n this.props.onValueChange(event.target.value);\r\n }\r\n if (this.props.onChange) {\r\n this.props.onChange(event);\r\n }\r\n }\r\n };\r\n\r\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\r\n this.setState({ focused: true });\r\n\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\r\n this.setState({ focused: false });\r\n\r\n if (this.props.onBlur) {\r\n this.props.onBlur(event);\r\n }\r\n };\r\n\r\n private preprocess = (\r\n newState: InputState,\r\n oldState: InputState,\r\n userInput: string,\r\n options: MaskOptions & Pick<MaskedInputProps, 'mask'>,\r\n ) => {\r\n const visibleMaskChars = new Array(options.mask.length).fill(this.props.maskChar);\r\n\r\n if (newState.value !== oldState.value && userInput === null) {\r\n this.setState({\r\n value: newState.value,\r\n });\r\n }\r\n\r\n options.mask.split('').forEach((char, index) => {\r\n if (options.permanents.includes(index)) {\r\n visibleMaskChars[index] = char;\r\n }\r\n\r\n if (newState.value[index]) {\r\n visibleMaskChars[index] = newState.value[index];\r\n }\r\n });\r\n\r\n const emptyValue = visibleMaskChars.join('');\r\n\r\n if (this.state.emptyValue !== emptyValue) {\r\n this.setState({\r\n emptyValue,\r\n });\r\n }\r\n\r\n return newState;\r\n };\r\n\r\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\r\n\r\n private handleUnexpectedInput = () => {\r\n if (this.props.onUnexpectedInput) {\r\n this.props.onUnexpectedInput(this.state.value);\r\n }\r\n };\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["MaskedInput.tsx"],"names":["MaskedInput","props","input","theme","reactInputMask","getValue","value","defaultValue","undefined","toString","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","UNSAFE_componentWillReceiveProps","nextProps","render","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","jsStyles","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","React","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\n\nimport { jsStyles } from './MaskedInput.styles';\n\nexport interface MaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n mask: string;\n maskChar: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n hasLeftIcon?: boolean;\n hasRightIcon?: boolean;\n onUnexpectedInput?: (value: string) => void;\n onValueChange?: (value: string) => void;\n}\n\ninterface MaskedInputState {\n value: string;\n emptyValue: string;\n focused: boolean;\n}\n\nexport class MaskedInput extends React.Component<MaskedInputProps, MaskedInputState> {\n public static __KONTUR_REACT_UI__ = 'MaskedInput';\n\n public static defaultProps: Partial<MaskedInputProps> = {\n maskChar: '_',\n };\n\n public input: HTMLInputElement | null = null;\n private theme!: Theme;\n private reactInputMask: ReactInputMask | null = null;\n\n public constructor(props: MaskedInputProps) {\n super(props);\n\n this.state = {\n value: this.getValue(props),\n emptyValue: '',\n focused: false,\n };\n }\n\n public componentDidMount() {\n if (this.reactInputMask) {\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\n this.reactInputMask.forceUpdate();\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: MaskedInputProps) {\n if (this.props.value !== nextProps.value) {\n this.setState({\n value: nextProps.value ? nextProps.value.toString() : '',\n });\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 {\n maskChar,\n alwaysShowMask,\n hasLeftIcon,\n hasRightIcon,\n maxLength,\n onValueChange,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = this.props;\n const { emptyValue, value } = this.state;\n\n const leftHelper = style?.textAlign !== 'right' && (\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, value.length)}</span>\n );\n const leftClass = style?.textAlign !== 'right' && jsStyles.inputMaskLeft();\n\n const rightHelper = emptyValue\n .slice(value.length)\n .split('')\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n\n return (\n <span className={jsStyles.container()} x-ms-format-detection=\"none\">\n <ReactInputMask\n {...inputProps}\n maskChar={null}\n beforeMaskedValueChange={this.preprocess}\n alwaysShowMask={false}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n value={value}\n inputRef={this.refInput}\n ref={this.refMaskedInput}\n style={{ ...style }}\n />\n {this.isMaskVisible() && (\n <span className={cn(jsStyles.inputMask(this.theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n }\n\n private getValue = (props: MaskedInputProps): string => {\n const { value, defaultValue } = props;\n\n return value !== undefined ? value.toString() : defaultValue !== undefined ? defaultValue.toString() : '';\n };\n\n private refInput = (input: HTMLInputElement | null) => {\n this.input = input;\n };\n\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\n this.reactInputMask = reactInputMask;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === this.state.value) {\n this.handleUnexpectedInput();\n } else {\n this.setState({ value: event.target.value });\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private preprocess = (\n newState: InputState,\n oldState: InputState,\n userInput: string,\n options: MaskOptions & Pick<MaskedInputProps, 'mask'>,\n ) => {\n const visibleMaskChars = new Array(options.mask.length).fill(this.props.maskChar);\n\n if (newState.value !== oldState.value && userInput === null) {\n this.setState({\n value: newState.value,\n });\n }\n\n options.mask.split('').forEach((char, index) => {\n if (options.permanents.includes(index)) {\n visibleMaskChars[index] = char;\n }\n\n if (newState.value[index]) {\n visibleMaskChars[index] = newState.value[index];\n }\n });\n\n const emptyValue = visibleMaskChars.join('');\n\n if (this.state.emptyValue !== emptyValue) {\n this.setState({\n emptyValue,\n });\n }\n\n return newState;\n };\n\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\n\n private handleUnexpectedInput = () => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(this.state.value);\n }\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MaskedInput.styles.ts"],"names":["styles","container","css","inputMask","t","placeholderColor","inputMaskLeft","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,SADa,uBACD;AACV,eAAOC,YAAP;;;;;;AAMD,GARY;AASbC,EAAAA,SATa,qBASHC,CATG,EASO;AAClB,eAAOF,YAAP;AACWE,IAAAA,CAAC,CAACC,gBADb;;;;;;AAOD,GAjBY;AAkBbC,EAAAA,aAlBa,2BAkBG;AACd,eAAOJ,YAAP;;;;;;AAMD,GAzBY,EAAf;;;AA4BO,IAAMK,QAAQ,GAAG,2BAAaP,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["MaskedInput.styles.ts"],"names":["styles","container","css","inputMask","t","placeholderColor","inputMaskLeft","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,SADa,uBACD;AACV,eAAOC,YAAP;;;;;;AAMD,GARY;AASbC,EAAAA,SATa,qBASHC,CATG,EASO;AAClB,eAAOF,YAAP;AACWE,IAAAA,CAAC,CAACC,gBADb;;;;;;AAOD,GAjBY;AAkBbC,EAAAA,aAlBa,2BAkBG;AACd,eAAOJ,YAAP;;;;;;AAMD,GAzBY,EAAf;;;AA4BO,IAAMK,QAAQ,GAAG,2BAAaP,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst styles = {\n container() {\n return css`\n display: inline-flex;\n position: relative;\n font-size: inherit;\n flex: 100% 1 1;\n `;\n },\n inputMask(t: Theme) {\n return css`\n color: ${t.placeholderColor};\n pointer-events: none;\n font-size: inherit;\n z-index: 5;\n user-select: none;\n `;\n },\n inputMaskLeft() {\n return css`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './MaskedInput';\
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './MaskedInput';\n"]}
|
|
@@ -218,16 +218,16 @@ Menu = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Me
|
|
|
218
218
|
|
|
219
219
|
unhighlight = function () {
|
|
220
220
|
_this.setState({ highlightedIndex: -1 });
|
|
221
|
-
};return _this;}var _proto = Menu.prototype;_proto.componentWillUnmount = function componentWillUnmount() {this.unmounted = true;};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});} /**
|
|
222
|
-
* @public
|
|
223
|
-
*/;_proto.up = function up() {this.move(-1);} /**
|
|
224
|
-
* @public
|
|
225
|
-
*/;_proto.down = function down() {this.move(1);} /**
|
|
226
|
-
* @public
|
|
227
|
-
*/;_proto.enter = function enter(event) {return this.select(this.state.highlightedIndex, true, event);} /**
|
|
228
|
-
* @public
|
|
229
|
-
*/;_proto.reset = function reset() {this.setState({ highlightedIndex: -1 });} /**
|
|
230
|
-
* @public
|
|
221
|
+
};return _this;}var _proto = Menu.prototype;_proto.componentWillUnmount = function componentWillUnmount() {this.unmounted = true;};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});} /**
|
|
222
|
+
* @public
|
|
223
|
+
*/;_proto.up = function up() {this.move(-1);} /**
|
|
224
|
+
* @public
|
|
225
|
+
*/;_proto.down = function down() {this.move(1);} /**
|
|
226
|
+
* @public
|
|
227
|
+
*/;_proto.enter = function enter(event) {return this.select(this.state.highlightedIndex, true, event);} /**
|
|
228
|
+
* @public
|
|
229
|
+
*/;_proto.reset = function reset() {this.setState({ highlightedIndex: -1 });} /**
|
|
230
|
+
* @public
|
|
231
231
|
*/;_proto.hasHighlightedItem = function hasHighlightedItem() {return this.state.highlightedIndex !== -1;};_proto.highlightItem = function highlightItem(index) {this.highlight(index);};_proto.renderMain = function renderMain() {var _cn,_this3 = this;var enableIconPadding = _react.default.Children.toArray(this.props.children).some(function (x) {return /*#__PURE__*/_react.default.isValidElement(x) && x.props.icon;});if (this.isEmpty()) {return null;}return /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)((_cn = {}, _cn[_Menu.jsStyles.root(this.theme)] = true, _cn[_Menu.jsStyles.shadow(this.theme)] = this.props.hasShadow, _cn)), style: { width: this.props.width, maxHeight: this.props.maxHeight } }, /*#__PURE__*/_react.default.createElement(_ScrollContainer.ScrollContainer, { ref: this.refScrollContainer, maxHeight: this.props.maxHeight, preventWindowScroll: this.props.preventWindowScroll }, /*#__PURE__*/_react.default.createElement("div", { className: _Menu.jsStyles.scrollContainer(this.theme) }, _react.default.Children.map(this.props.children, function (child, index) {if (!child) {return child;}if (typeof child === 'string' || typeof child === 'number') {return child;}if (enableIconPadding && ((0, _MenuItem.isMenuItem)(child) || (0, _MenuHeader.isMenuHeader)(child))) {child = /*#__PURE__*/_react.default.cloneElement(child, { _enableIconPadding: true });}if ((0, _isActiveElement.isActiveElement)(child)) {var highlight = _this3.state.highlightedIndex === index;var ref = child.ref;if (highlight && typeof child.ref !== 'string') {ref = _this3.refHighlighted.bind(_this3, child.ref);}return /*#__PURE__*/_react.default.cloneElement(child, { ref: ref, state: highlight ? 'hover' : child.props.state, onClick: _this3.select.bind(_this3, index, false), onMouseEnter: _this3.highlight.bind(_this3, index), onMouseLeave: _this3.unhighlight });}return child;}))));};_proto.refHighlighted = function refHighlighted(originalRef, menuItem) {this.highlighted = menuItem;if (typeof originalRef === 'function') {originalRef(menuItem);}};_proto.select = function select(index, shouldHandleHref, event) {var item = childrenToArray(this.props.children)[index];if ((0, _isActiveElement.isActiveElement)(item)) {if (shouldHandleHref && item.props.href) {if (item.props.target) {window.open(item.props.href, item.props.target);} else {location.href = item.props.href;}}if (item.props.onClick) {item.props.onClick(event);}if (this.props.onItemClick) {this.props.onItemClick();}return true;}return false;};_proto.move = function move(step) {var _this4 = this;if (this.unmounted) {// NOTE workaround, because `ComboBox` call `process.nextTick` in reducer
|
|
232
232
|
return;}var children = childrenToArray(this.props.children);var activeElements = children.filter(_isActiveElement.isActiveElement);if (!activeElements.length) {return;
|
|
233
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Menu.tsx"],"names":["Menu","state","highlightedIndex","theme","scrollContainer","highlighted","unmounted","refScrollContainer","scrollToSelected","scrollTo","ReactDOM","findDOMNode","scrollToTop","scrollToBottom","highlight","index","setState","unhighlight","componentWillUnmount","render","renderMain","up","move","down","enter","event","select","reset","hasHighlightedItem","highlightItem","enableIconPadding","React","Children","toArray","props","children","some","x","isValidElement","icon","isEmpty","jsStyles","root","shadow","hasShadow","width","maxHeight","preventWindowScroll","map","child","cloneElement","_enableIconPadding","ref","refHighlighted","bind","onClick","onMouseEnter","onMouseLeave","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","window","open","location","onItemClick","step","activeElements","filter","isActiveElement","length","indexOf","isExist","Component","__KONTUR_REACT_UI__","defaultProps","value","undefined","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport cn from 'classnames';\r\n\r\nimport { ScrollContainer } from '../../components/ScrollContainer';\r\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\r\nimport { isMenuHeader } from '../../components/MenuHeader';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nimport { jsStyles } from './Menu.styles';\r\nimport { isActiveElement } from './isActiveElement';\r\n\r\nexport interface MenuProps {\r\n children: React.ReactNode;\r\n hasShadow?: boolean;\r\n maxHeight?: number | string;\r\n onItemClick?: () => void;\r\n width?: number | string;\r\n preventWindowScroll?: boolean;\r\n}\r\n\r\nexport interface MenuState {\r\n highlightedIndex: number;\r\n}\r\n\r\nexport class Menu extends React.Component<MenuProps, MenuState> {\r\n public static __KONTUR_REACT_UI__ = 'Menu';\r\n\r\n public static defaultProps = {\r\n width: 'auto',\r\n maxHeight: 300,\r\n hasShadow: true,\r\n preventWindowScroll: true,\r\n };\r\n\r\n public state = {\r\n highlightedIndex: -1,\r\n };\r\n\r\n private theme!: Theme;\r\n private scrollContainer: Nullable<ScrollContainer>;\r\n private highlighted: Nullable<MenuItem>;\r\n private unmounted = false;\r\n\r\n public componentWillUnmount() {\r\n this.unmounted = true;\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 /**\r\n * @public\r\n */\r\n public up() {\r\n this.move(-1);\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public down() {\r\n this.move(1);\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public enter(event: React.SyntheticEvent<HTMLElement>) {\r\n return this.select(this.state.highlightedIndex, true, event);\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public reset() {\r\n this.setState({ highlightedIndex: -1 });\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public hasHighlightedItem() {\r\n return this.state.highlightedIndex !== -1;\r\n }\r\n\r\n public highlightItem(index: number) {\r\n this.highlight(index);\r\n }\r\n\r\n private renderMain() {\r\n const enableIconPadding = React.Children.toArray(this.props.children).some(\r\n x => React.isValidElement(x) && x.props.icon,\r\n );\r\n\r\n if (this.isEmpty()) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn({\r\n [jsStyles.root(this.theme)]: true,\r\n [jsStyles.shadow(this.theme)]: this.props.hasShadow,\r\n })}\r\n style={{ width: this.props.width, maxHeight: this.props.maxHeight }}\r\n >\r\n <ScrollContainer\r\n ref={this.refScrollContainer}\r\n maxHeight={this.props.maxHeight}\r\n preventWindowScroll={this.props.preventWindowScroll}\r\n >\r\n <div className={jsStyles.scrollContainer(this.theme)}>\r\n {React.Children.map(this.props.children, (child, index) => {\r\n if (!child) {\r\n return child;\r\n }\r\n if (typeof child === 'string' || typeof child === 'number') {\r\n return child;\r\n }\r\n\r\n if (enableIconPadding && (isMenuItem(child) || isMenuHeader(child))) {\r\n child = React.cloneElement(child, {\r\n _enableIconPadding: true,\r\n });\r\n }\r\n if (isActiveElement(child)) {\r\n const highlight = this.state.highlightedIndex === index;\r\n\r\n let ref = child.ref;\r\n if (highlight && typeof child.ref !== 'string') {\r\n ref = this.refHighlighted.bind(this, child.ref);\r\n }\r\n\r\n return React.cloneElement<MenuItemProps, MenuItem>(child, {\r\n ref,\r\n state: highlight ? 'hover' : child.props.state,\r\n onClick: this.select.bind(this, index, false),\r\n onMouseEnter: this.highlight.bind(this, index),\r\n onMouseLeave: this.unhighlight,\r\n });\r\n }\r\n return child;\r\n })}\r\n </div>\r\n </ScrollContainer>\r\n </div>\r\n );\r\n }\r\n\r\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\r\n this.scrollContainer = scrollContainer;\r\n };\r\n\r\n private refHighlighted(\r\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\r\n menuItem: MenuItem | null,\r\n ) {\r\n this.highlighted = menuItem;\r\n\r\n if (typeof originalRef === 'function') {\r\n originalRef(menuItem);\r\n }\r\n }\r\n\r\n private scrollToSelected = () => {\r\n if (this.scrollContainer && this.highlighted) {\r\n this.scrollContainer.scrollTo(ReactDOM.findDOMNode(this.highlighted) as HTMLElement);\r\n }\r\n };\r\n\r\n private scrollToTop = () => {\r\n if (this.scrollContainer) {\r\n this.scrollContainer.scrollToTop();\r\n }\r\n };\r\n\r\n private scrollToBottom = () => {\r\n if (this.scrollContainer) {\r\n this.scrollContainer.scrollToBottom();\r\n }\r\n };\r\n\r\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\r\n const item = childrenToArray(this.props.children)[index];\r\n if (isActiveElement(item)) {\r\n if (shouldHandleHref && item.props.href) {\r\n if (item.props.target) {\r\n window.open(item.props.href, item.props.target);\r\n } else {\r\n location.href = item.props.href;\r\n }\r\n }\r\n if (item.props.onClick) {\r\n item.props.onClick(event);\r\n }\r\n if (this.props.onItemClick) {\r\n this.props.onItemClick();\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private highlight = (index: number) => {\r\n this.setState({ highlightedIndex: index });\r\n };\r\n\r\n private unhighlight = () => {\r\n this.setState({ highlightedIndex: -1 });\r\n };\r\n\r\n private move(step: number) {\r\n if (this.unmounted) {\r\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\r\n return;\r\n }\r\n\r\n const children = childrenToArray(this.props.children);\r\n const activeElements = children.filter(isActiveElement);\r\n if (!activeElements.length) {\r\n return;\r\n }\r\n let index = this.state.highlightedIndex;\r\n do {\r\n index += step;\r\n if (index < 0) {\r\n index = children.length - 1;\r\n } else if (index > children.length) {\r\n index = 0;\r\n }\r\n\r\n const child = children[index];\r\n if (isActiveElement(child)) {\r\n this.setState({ highlightedIndex: index }, () => {\r\n switch (activeElements.indexOf(child)) {\r\n case 0:\r\n this.scrollToTop();\r\n break;\r\n case activeElements.length - 1:\r\n this.scrollToBottom();\r\n break;\r\n default:\r\n this.scrollToSelected();\r\n }\r\n });\r\n return;\r\n }\r\n } while (index !== this.state.highlightedIndex);\r\n }\r\n\r\n private isEmpty() {\r\n const { children } = this.props;\r\n return !children || !childrenToArray(children).filter(isExist).length;\r\n }\r\n}\r\n\r\nfunction isExist(value: any): value is any {\r\n return value !== null && value !== undefined;\r\n}\r\n\r\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\r\n const ret: React.ReactNode[] = [];\r\n // Use forEach instead of map to avoid cloning for key unifying.\r\n React.Children.forEach(children, child => {\r\n ret.push(child);\r\n });\r\n return ret;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["Menu.tsx"],"names":["Menu","state","highlightedIndex","theme","scrollContainer","highlighted","unmounted","refScrollContainer","scrollToSelected","scrollTo","ReactDOM","findDOMNode","scrollToTop","scrollToBottom","highlight","index","setState","unhighlight","componentWillUnmount","render","renderMain","up","move","down","enter","event","select","reset","hasHighlightedItem","highlightItem","enableIconPadding","React","Children","toArray","props","children","some","x","isValidElement","icon","isEmpty","jsStyles","root","shadow","hasShadow","width","maxHeight","preventWindowScroll","map","child","cloneElement","_enableIconPadding","ref","refHighlighted","bind","onClick","onMouseEnter","onMouseLeave","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","window","open","location","onItemClick","step","activeElements","filter","isActiveElement","length","indexOf","isExist","Component","__KONTUR_REACT_UI__","defaultProps","value","undefined","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport cn from 'classnames';\n\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { isMenuHeader } from '../../components/MenuHeader';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { jsStyles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\n\nexport interface MenuProps {\n children: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: () => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n}\n\nexport interface MenuState {\n highlightedIndex: number;\n}\n\nexport class Menu extends React.Component<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n\n public static defaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n };\n\n public state = {\n highlightedIndex: -1,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private unmounted = false;\n\n public componentWillUnmount() {\n this.unmounted = true;\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.setState({ highlightedIndex: -1 });\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n this.highlight(index);\n }\n\n private renderMain() {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n x => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n\n return (\n <div\n className={cn({\n [jsStyles.root(this.theme)]: true,\n [jsStyles.shadow(this.theme)]: this.props.hasShadow,\n })}\n style={{ width: this.props.width, maxHeight: this.props.maxHeight }}\n >\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={this.props.maxHeight}\n preventWindowScroll={this.props.preventWindowScroll}\n >\n <div className={jsStyles.scrollContainer(this.theme)}>\n {React.Children.map(this.props.children, (child, index) => {\n if (!child) {\n return child;\n }\n if (typeof child === 'string' || typeof child === 'number') {\n return child;\n }\n\n if (enableIconPadding && (isMenuItem(child) || isMenuHeader(child))) {\n child = React.cloneElement(child, {\n _enableIconPadding: true,\n });\n }\n if (isActiveElement(child)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = child.ref;\n if (highlight && typeof child.ref !== 'string') {\n ref = this.refHighlighted.bind(this, child.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(child, {\n ref,\n state: highlight ? 'hover' : child.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n return child;\n })}\n </div>\n </ScrollContainer>\n </div>\n );\n }\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n this.scrollContainer.scrollTo(ReactDOM.findDOMNode(this.highlighted) as HTMLElement);\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick();\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isExist).length;\n }\n}\n\nfunction isExist(value: any): value is any {\n return value !== null && value !== undefined;\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, child => {\n ret.push(child);\n });\n return ret;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Menu.styles.ts"],"names":["styles","root","t","css","menuBgDefault","menuPaddingY","scrollContainer","shadow","menuBorder","menuShadow","jsStyles"],"mappings":"8QAAA;;AAEA,8D;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACE,aADlB;;;AAIa,kCAAWF,CAAX,IAAgB,CAAhB,GAAoBA,CAAC,CAACG,YAJnC;;AAMD,GARY;;AAUbC,EAAAA,eAVa,2BAUGJ,CAVH,EAUa;AACxB,eAAOC,YAAP;AACa,kCAAWD,CAAX,IAAgBA,CAAC,CAACG,YAAlB,GAAiC,CAD9C;;AAGD,GAdY;;AAgBbE,EAAAA,MAhBa,kBAgBNL,CAhBM,EAgBI;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACM,UADd;AAEgBN,IAAAA,CAAC,CAACO,UAFlB;;AAID,GArBY,EAAf;;;AAwBO,IAAMC,QAAQ,GAAG,2BAAaV,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["Menu.styles.ts"],"names":["styles","root","t","css","menuBgDefault","menuPaddingY","scrollContainer","shadow","menuBorder","menuShadow","jsStyles"],"mappings":"8QAAA;;AAEA,8D;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACE,aADlB;;;AAIa,kCAAWF,CAAX,IAAgB,CAAhB,GAAoBA,CAAC,CAACG,YAJnC;;AAMD,GARY;;AAUbC,EAAAA,eAVa,2BAUGJ,CAVH,EAUa;AACxB,eAAOC,YAAP;AACa,kCAAWD,CAAX,IAAgBA,CAAC,CAACG,YAAlB,GAAiC,CAD9C;;AAGD,GAdY;;AAgBbE,EAAAA,MAhBa,kBAgBNL,CAhBM,EAgBI;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACM,UADd;AAEgBN,IAAAA,CAAC,CAACO,UAFlB;;AAID,GArBY,EAAf;;;AAwBO,IAAMC,QAAQ,GAAG,2BAAaV,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { is8pxTheme } from '../../lib/theming/ThemeHelpers';\n\nconst styles = {\n root(t: Theme) {\n return css`\n background: ${t.menuBgDefault};\n box-sizing: content-box;\n overflow: auto;\n padding: ${is8pxTheme(t) ? 0 : t.menuPaddingY} 0;\n `;\n },\n\n scrollContainer(t: Theme) {\n return css`\n padding: ${is8pxTheme(t) ? t.menuPaddingY : 0} 0;\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './Menu';\
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './Menu';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["isActiveElement.tsx"],"names":["isActiveElement","element","props","disabled"],"mappings":";;AAEA;;AAEO,SAASA,eAAT,CAAyBC,OAAzB,EAAmG;AACxG,SAAO,0BAAWA,OAAX,KAAuB,CAACA,OAAO,CAACC,KAAR,CAAcC,QAA7C;AACD","sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"sources":["isActiveElement.tsx"],"names":["isActiveElement","element","props","disabled"],"mappings":";;AAEA;;AAEO,SAASA,eAAT,CAAyBC,OAAzB,EAAmG;AACxG,SAAO,0BAAWA,OAAX,KAAuB,CAACA,OAAO,CAACC,KAAR,CAAcC,QAA7C;AACD","sourcesContent":["import React from 'react';\n\nimport { MenuItem, MenuItemProps, isMenuItem } from '../../components/MenuItem';\n\nexport function isActiveElement(element: any): element is React.ComponentElement<MenuItemProps, MenuItem> {\n return isMenuItem(element) && !element.props.disabled;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PerformanceMetrics.tsx"],"names":["PANEL_WRAPPER_STYLES","width","display","verticalAlign","PerformanceMetrics","props","padding","position","componentsA","componentsB","PerformanceMetricsPanel","state","mounted","container","setContainerRef","element","toggleMountedState","setState","render","lineHeight","title","marginBottom","componentDidMount","ReactDOM","component","componentDidUpdate","unmountComponentAtNode","React","Component"],"mappings":"0QAAA;AACA;;AAEA;;AAEA;;AAEA,IAAMA,oBAAoB,GAAG,EAAEC,KAAK,EAAE,KAAT,EAAgBC,OAAO,EAAE,cAAzB,EAAyCC,aAAa,EAAE,KAAxD,EAA7B;;;;;;;AAOO,SAASC,kBAAT,CAA4BC,KAA5B,EAA4D;AACjE;AACE,0CAAK,KAAK,EAAE,EAAEC,OAAO,EAAE,EAAX,EAAeL,KAAK,EAAE,IAAtB,EAAZ;AACE,0CAAK,KAAK,EAAE,EAAEM,QAAQ,EAAE,UAAZ,EAAZ;AACE,iCAAC,gBAAD,IAAS,IAAI,EAAE,MAAf,EAAuB,OAAO,EAAE,EAAhC,GADF,CADF;;AAIE,0CAAK,KAAK,EAAE,EAAED,OAAO,EAAE,EAAX,EAAZ;AACE,0CAAK,KAAK,EAAEN,oBAAZ;AACE,iCAAC,uBAAD,IAAyB,KAAK,EAAE,QAAhC,EAA0C,SAAS,EAAEK,KAAK,CAACG,WAA3D,GADF,CADF;;AAIE,0CAAK,KAAK,EAAER,oBAAZ;AACE,iCAAC,uBAAD,IAAyB,KAAK,EAAE,QAAhC,EAA0C,SAAS,EAAEK,KAAK,CAACI,WAA3D,GADF,CAJF,CAJF,CADF;;;;;AAeD,C;;;;;;;;;;AAUKC,uB;AACGC,IAAAA,K,GAAQ;AACbC,MAAAA,OAAO,EAAE,KADI,E;;AAGPC,IAAAA,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCAC,IAAAA,e,GAAkB,UAACC,OAAD,EAAoC;AAC5D,YAAKF,SAAL,GAAiBE,OAAjB;AACD,K;;AAEOC,IAAAA,kB,GAAqB,YAAM;AACjC,YAAKC,QAAL,CAAc;AACZL,QAAAA,OAAO,EAAE,CAAC,MAAKD,KAAL,CAAWC,OADT,EAAd;;AAGD,K,qEAvCMM,M,GAAP,kBAAgB,CACd,oBACE,uDACE,qCAAI,KAAK,EAAE,EAAEC,UAAU,EAAE,KAAd,EAAX,IAAmC,KAAKd,KAAL,CAAWe,KAA9C,CADF,eAEE,sCAAK,KAAK,EAAE,EAAEC,YAAY,EAAE,EAAhB,EAAZ,iBACE,6BAAC,cAAD,IAAQ,OAAO,EAAE,KAAKL,kBAAtB,EAA0C,IAAI,EAAE,OAAhD,IACG,KAAKL,KAAL,CAAWC,OAAX,GAAqB,SAArB,GAAiC,OADpC,CADF,CAFF,eAOE,sCAAK,GAAG,EAAE,KAAKE,eAAf,GAPF,CADF,CAWD,C,QAEMQ,iB,GAAP,6BAA2B,CACzB,IAAI,KAAKX,KAAL,CAAWC,OAAX,IAAsB,KAAKC,SAA/B,EAA0C,CACxCU,kBAASL,MAAT,CAAgB,KAAKb,KAAL,CAAWmB,SAA3B,EAAsC,KAAKX,SAA3C,EACD,CACF,C,QAEMY,kB,GAAP,8BAAkC,CAChC,IAAI,CAAC,KAAKZ,SAAV,EAAqB,CACnB,OACD,CACD,IAAI,KAAKF,KAAL,CAAWC,OAAf,EAAwB,CACtBW,kBAASL,MAAT,CAAgB,KAAKb,KAAL,CAAWmB,SAA3B,EAAsC,KAAKX,SAA3C,EACD,CAFD,MAEO,CACLU,kBAASG,sBAAT,CAAgC,KAAKb,SAArC,EACD,CACF,C,kCAnCmCc,eAAMC,S","sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"sources":["PerformanceMetrics.tsx"],"names":["PANEL_WRAPPER_STYLES","width","display","verticalAlign","PerformanceMetrics","props","padding","position","componentsA","componentsB","PerformanceMetricsPanel","state","mounted","container","setContainerRef","element","toggleMountedState","setState","render","lineHeight","title","marginBottom","componentDidMount","ReactDOM","component","componentDidUpdate","unmountComponentAtNode","React","Component"],"mappings":"0QAAA;AACA;;AAEA;;AAEA;;AAEA,IAAMA,oBAAoB,GAAG,EAAEC,KAAK,EAAE,KAAT,EAAgBC,OAAO,EAAE,cAAzB,EAAyCC,aAAa,EAAE,KAAxD,EAA7B;;;;;;;AAOO,SAASC,kBAAT,CAA4BC,KAA5B,EAA4D;AACjE;AACE,0CAAK,KAAK,EAAE,EAAEC,OAAO,EAAE,EAAX,EAAeL,KAAK,EAAE,IAAtB,EAAZ;AACE,0CAAK,KAAK,EAAE,EAAEM,QAAQ,EAAE,UAAZ,EAAZ;AACE,iCAAC,gBAAD,IAAS,IAAI,EAAE,MAAf,EAAuB,OAAO,EAAE,EAAhC,GADF,CADF;;AAIE,0CAAK,KAAK,EAAE,EAAED,OAAO,EAAE,EAAX,EAAZ;AACE,0CAAK,KAAK,EAAEN,oBAAZ;AACE,iCAAC,uBAAD,IAAyB,KAAK,EAAE,QAAhC,EAA0C,SAAS,EAAEK,KAAK,CAACG,WAA3D,GADF,CADF;;AAIE,0CAAK,KAAK,EAAER,oBAAZ;AACE,iCAAC,uBAAD,IAAyB,KAAK,EAAE,QAAhC,EAA0C,SAAS,EAAEK,KAAK,CAACI,WAA3D,GADF,CAJF,CAJF,CADF;;;;;AAeD,C;;;;;;;;;;AAUKC,uB;AACGC,IAAAA,K,GAAQ;AACbC,MAAAA,OAAO,EAAE,KADI,E;;AAGPC,IAAAA,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCAC,IAAAA,e,GAAkB,UAACC,OAAD,EAAoC;AAC5D,YAAKF,SAAL,GAAiBE,OAAjB;AACD,K;;AAEOC,IAAAA,kB,GAAqB,YAAM;AACjC,YAAKC,QAAL,CAAc;AACZL,QAAAA,OAAO,EAAE,CAAC,MAAKD,KAAL,CAAWC,OADT,EAAd;;AAGD,K,qEAvCMM,M,GAAP,kBAAgB,CACd,oBACE,uDACE,qCAAI,KAAK,EAAE,EAAEC,UAAU,EAAE,KAAd,EAAX,IAAmC,KAAKd,KAAL,CAAWe,KAA9C,CADF,eAEE,sCAAK,KAAK,EAAE,EAAEC,YAAY,EAAE,EAAhB,EAAZ,iBACE,6BAAC,cAAD,IAAQ,OAAO,EAAE,KAAKL,kBAAtB,EAA0C,IAAI,EAAE,OAAhD,IACG,KAAKL,KAAL,CAAWC,OAAX,GAAqB,SAArB,GAAiC,OADpC,CADF,CAFF,eAOE,sCAAK,GAAG,EAAE,KAAKE,eAAf,GAPF,CADF,CAWD,C,QAEMQ,iB,GAAP,6BAA2B,CACzB,IAAI,KAAKX,KAAL,CAAWC,OAAX,IAAsB,KAAKC,SAA/B,EAA0C,CACxCU,kBAASL,MAAT,CAAgB,KAAKb,KAAL,CAAWmB,SAA3B,EAAsC,KAAKX,SAA3C,EACD,CACF,C,QAEMY,kB,GAAP,8BAAkC,CAChC,IAAI,CAAC,KAAKZ,SAAV,EAAqB,CACnB,OACD,CACD,IAAI,KAAKF,KAAL,CAAWC,OAAf,EAAwB,CACtBW,kBAASL,MAAT,CAAgB,KAAKb,KAAL,CAAWmB,SAA3B,EAAsC,KAAKX,SAA3C,EACD,CAFD,MAEO,CACLU,kBAASG,sBAAT,CAAgC,KAAKb,SAArC,EACD,CACF,C,kCAnCmCc,eAAMC,S","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Button } from '../../components/Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { Spinner } from '../../components/Spinner';\n\nconst PANEL_WRAPPER_STYLES = { width: '45%', display: 'inline-block', verticalAlign: 'top' };\n\ninterface PerformanceMetricsProps {\n componentsA: React.ReactElement<any>;\n componentsB: React.ReactElement<any>;\n}\n\nexport function PerformanceMetrics(props: PerformanceMetricsProps) {\n return (\n <div style={{ padding: 10, width: 1200 }}>\n <div style={{ position: 'absolute' }}>\n <Spinner type={'mini'} caption={''} />\n </div>\n <div style={{ padding: 10 }}>\n <div style={PANEL_WRAPPER_STYLES}>\n <PerformanceMetricsPanel title={'Case A'} component={props.componentsA} />\n </div>\n <div style={PANEL_WRAPPER_STYLES}>\n <PerformanceMetricsPanel title={'Case B'} component={props.componentsB} />\n </div>\n </div>\n </div>\n );\n}\n\ninterface PerformanceMetricsPanelProps {\n title: string;\n component: React.ReactElement<any>;\n}\ninterface PerformanceMetricsPanelState {\n mounted: boolean;\n}\n\nclass PerformanceMetricsPanel extends React.Component<PerformanceMetricsPanelProps, PerformanceMetricsPanelState> {\n public state = {\n mounted: false,\n };\n private container: Nullable<HTMLElement>;\n\n public render() {\n return (\n <div>\n <h1 style={{ lineHeight: '2em' }}>{this.props.title}</h1>\n <div style={{ marginBottom: 10 }}>\n <Button onClick={this.toggleMountedState} size={'small'}>\n {this.state.mounted ? 'Unmount' : 'Mount'}\n </Button>\n </div>\n <div ref={this.setContainerRef} />\n </div>\n );\n }\n\n public componentDidMount() {\n if (this.state.mounted && this.container) {\n ReactDOM.render(this.props.component, this.container);\n }\n }\n\n public componentDidUpdate(): void {\n if (!this.container) {\n return;\n }\n if (this.state.mounted) {\n ReactDOM.render(this.props.component, this.container);\n } else {\n ReactDOM.unmountComponentAtNode(this.container);\n }\n }\n\n private setContainerRef = (element: Nullable<HTMLElement>) => {\n this.container = element;\n };\n\n private toggleMountedState = () => {\n this.setState({\n mounted: !this.state.mounted,\n });\n };\n}\n"]}
|
|
@@ -465,12 +465,12 @@ Popup = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(P
|
|
|
465
465
|
if (!_this.locationEquals(_this.state.location, location)) {
|
|
466
466
|
_this.setState({ location: location });
|
|
467
467
|
}
|
|
468
|
-
};return _this;}var _proto = Popup.prototype;_proto.componentDidMount = function componentDidMount() {this.updateLocation();this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);};_proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {/**
|
|
469
|
-
* Delaying updateLocation to ensure it happens after props update
|
|
470
|
-
*/if (nextProps.opened) {if (!this.state.location) {this.setState({ location: DUMMY_LOCATION });}this.delayUpdateLocation();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var hadNoLocation = prevState.location === DUMMY_LOCATION;var hasLocation = this.state.location !== DUMMY_LOCATION;if (hadNoLocation && hasLocation && this.props.onOpen) {this.props.onOpen();}if (!hadNoLocation && !this.state.location && this.props.onClose) {this.props.onClose();}};_proto.componentWillUnmount = function componentWillUnmount() {this.cancelDelayedUpdateLocation();this.removeEventListeners(this.anchorElement);if (this.layoutEventsToken) {this.layoutEventsToken.remove();this.layoutEventsToken = null;}if (this.state.location && this.props.onClose) {this.props.onClose();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var location = this.state.location;var _this$props = this.props,anchorElement = _this$props.anchorElement,useWrapper = _this$props.useWrapper;var child = null;if ((0, _SSRSafe.isHTMLElement)(anchorElement)) {this.updateAnchorElement(anchorElement);} else if ( /*#__PURE__*/_react.default.isValidElement(anchorElement)) {child = useWrapper ? /*#__PURE__*/_react.default.createElement("span", null, anchorElement) : anchorElement;} else {child = /*#__PURE__*/_react.default.createElement("span", null, anchorElement);}return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, { anchor: child, ref: child ? this.refAnchorElement : undefined }, location && this.renderContent(location));};_proto.extractElement = function extractElement(instance) {if (!instance) {return null;}var element = (0, _reactDom.findDOMNode)(instance);return (0, _SSRSafe.isHTMLElement)(element) ? element : null;};_proto.updateAnchorElement = function updateAnchorElement(element) {var anchorElement = this.anchorElement;if (element !== anchorElement) {this.removeEventListeners(anchorElement);this.anchorElement = element;this.addEventListeners(element);}};_proto.addEventListeners = function addEventListeners(element) {if (element && (0, _SSRSafe.isHTMLElement)(element)) {element.addEventListener('mouseenter', this.handleMouseEnter);element.addEventListener('mouseleave', this.handleMouseLeave);element.addEventListener('click', this.handleClick);element.addEventListener('focusin', this.handleFocus);element.addEventListener('focusout', this.handleBlur);}};_proto.removeEventListeners = function removeEventListeners(element) {if (element && (0, _SSRSafe.isHTMLElement)(element)) {element.removeEventListener('mouseenter', this.handleMouseEnter);element.removeEventListener('mouseleave', this.handleMouseLeave);element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);}};_proto.renderContent = function renderContent(location) {var _this3 = this;var _this$props2 = this.props,backgroundColor = _this$props2.backgroundColor,disableAnimations = _this$props2.disableAnimations,maxWidth = _this$props2.maxWidth,hasShadow = _this$props2.hasShadow,ignoreHover = _this$props2.ignoreHover,opened = _this$props2.opened;var children = this.renderChildren();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = (0, _extends3.default)({}, location.coordinates, { maxWidth: maxWidth });return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation }, function (state) {var _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { ref: _this3.refPopupElement, priority: 'Popup', className: (0, _classnames.default)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup.jsStyles.popup(_this3.theme)] = true, _extends2[_Popup.jsStyles.shadow(_this3.theme)] = hasShadow, _extends2[_Popup.jsStyles.shadowFallback(_this3.theme)] = hasShadow && (_client.isIE11 || _client.isEdge), _extends2[_Popup.jsStyles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup.jsStyles["transition-enter-" + direction](_this3.theme)] = true, _ref[_Popup.jsStyles.transitionEnter()] = state === 'entering', _ref[_Popup.jsStyles.transitionEnterActive()] = state === 'entered', _ref[_Popup.jsStyles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this3.handleMouseEnter, onMouseLeave: _this3.handleMouseLeave }, /*#__PURE__*/_react.default.createElement("div", { className: _Popup.jsStyles.content(_this3.theme), "data-tid": 'PopupContent' }, /*#__PURE__*/_react.default.createElement("div", { className: _Popup.jsStyles.contentInner(_this3.theme), style: { backgroundColor: backgroundColor }, "data-tid": 'PopupContentInner' }, children)), _this3.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {/**
|
|
471
|
-
* Box-shadow does not appear under the pin. Borders are used instead.
|
|
472
|
-
* In non-ie browsers drop-shadow filter is used. It is applying
|
|
473
|
-
* shadow to the pin too.
|
|
468
|
+
};return _this;}var _proto = Popup.prototype;_proto.componentDidMount = function componentDidMount() {this.updateLocation();this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);};_proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {/**
|
|
469
|
+
* Delaying updateLocation to ensure it happens after props update
|
|
470
|
+
*/if (nextProps.opened) {if (!this.state.location) {this.setState({ location: DUMMY_LOCATION });}this.delayUpdateLocation();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var hadNoLocation = prevState.location === DUMMY_LOCATION;var hasLocation = this.state.location !== DUMMY_LOCATION;if (hadNoLocation && hasLocation && this.props.onOpen) {this.props.onOpen();}if (!hadNoLocation && !this.state.location && this.props.onClose) {this.props.onClose();}};_proto.componentWillUnmount = function componentWillUnmount() {this.cancelDelayedUpdateLocation();this.removeEventListeners(this.anchorElement);if (this.layoutEventsToken) {this.layoutEventsToken.remove();this.layoutEventsToken = null;}if (this.state.location && this.props.onClose) {this.props.onClose();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var location = this.state.location;var _this$props = this.props,anchorElement = _this$props.anchorElement,useWrapper = _this$props.useWrapper;var child = null;if ((0, _SSRSafe.isHTMLElement)(anchorElement)) {this.updateAnchorElement(anchorElement);} else if ( /*#__PURE__*/_react.default.isValidElement(anchorElement)) {child = useWrapper ? /*#__PURE__*/_react.default.createElement("span", null, anchorElement) : anchorElement;} else {child = /*#__PURE__*/_react.default.createElement("span", null, anchorElement);}return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, { anchor: child, ref: child ? this.refAnchorElement : undefined }, location && this.renderContent(location));};_proto.extractElement = function extractElement(instance) {if (!instance) {return null;}var element = (0, _reactDom.findDOMNode)(instance);return (0, _SSRSafe.isHTMLElement)(element) ? element : null;};_proto.updateAnchorElement = function updateAnchorElement(element) {var anchorElement = this.anchorElement;if (element !== anchorElement) {this.removeEventListeners(anchorElement);this.anchorElement = element;this.addEventListeners(element);}};_proto.addEventListeners = function addEventListeners(element) {if (element && (0, _SSRSafe.isHTMLElement)(element)) {element.addEventListener('mouseenter', this.handleMouseEnter);element.addEventListener('mouseleave', this.handleMouseLeave);element.addEventListener('click', this.handleClick);element.addEventListener('focusin', this.handleFocus);element.addEventListener('focusout', this.handleBlur);}};_proto.removeEventListeners = function removeEventListeners(element) {if (element && (0, _SSRSafe.isHTMLElement)(element)) {element.removeEventListener('mouseenter', this.handleMouseEnter);element.removeEventListener('mouseleave', this.handleMouseLeave);element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);}};_proto.renderContent = function renderContent(location) {var _this3 = this;var _this$props2 = this.props,backgroundColor = _this$props2.backgroundColor,disableAnimations = _this$props2.disableAnimations,maxWidth = _this$props2.maxWidth,hasShadow = _this$props2.hasShadow,ignoreHover = _this$props2.ignoreHover,opened = _this$props2.opened;var children = this.renderChildren();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = (0, _extends3.default)({}, location.coordinates, { maxWidth: maxWidth });return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation }, function (state) {var _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { ref: _this3.refPopupElement, priority: 'Popup', className: (0, _classnames.default)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup.jsStyles.popup(_this3.theme)] = true, _extends2[_Popup.jsStyles.shadow(_this3.theme)] = hasShadow, _extends2[_Popup.jsStyles.shadowFallback(_this3.theme)] = hasShadow && (_client.isIE11 || _client.isEdge), _extends2[_Popup.jsStyles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup.jsStyles["transition-enter-" + direction](_this3.theme)] = true, _ref[_Popup.jsStyles.transitionEnter()] = state === 'entering', _ref[_Popup.jsStyles.transitionEnterActive()] = state === 'entered', _ref[_Popup.jsStyles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this3.handleMouseEnter, onMouseLeave: _this3.handleMouseLeave }, /*#__PURE__*/_react.default.createElement("div", { className: _Popup.jsStyles.content(_this3.theme), "data-tid": 'PopupContent' }, /*#__PURE__*/_react.default.createElement("div", { className: _Popup.jsStyles.contentInner(_this3.theme), style: { backgroundColor: backgroundColor }, "data-tid": 'PopupContentInner' }, children)), _this3.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {/**
|
|
471
|
+
* Box-shadow does not appear under the pin. Borders are used instead.
|
|
472
|
+
* In non-ie browsers drop-shadow filter is used. It is applying
|
|
473
|
+
* shadow to the pin too.
|
|
474
474
|
*/var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props3 = this.props,pinSize = _this$props3.pinSize,hasShadow = _this$props3.hasShadow,backgroundColor = _this$props3.backgroundColor,borderColor = _this$props3.borderColor;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return this.props.hasPin && /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder });};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId = (0, _raf.default)(this.updateLocation);};_proto.cancelDelayedUpdateLocation = function cancelDelayedUpdateLocation() {if (this.locationUpdateId) {_raf.default.cancel(this.locationUpdateId);this.locationUpdateId = null;}};_proto.locationEquals = function locationEquals(x, y) {if (x === y) {return true;}
|
|
475
475
|
if (x == null || y == null) {
|
|
476
476
|
return false;
|
|
@@ -611,29 +611,29 @@ Popup = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(P
|
|
|
611
611
|
default:
|
|
612
612
|
throw new Error("Unexpected align '" + align + "'");}
|
|
613
613
|
|
|
614
|
-
};return Popup;}(_react.default.Component);exports.Popup = Popup;Popup.__KONTUR_REACT_UI__ = 'Popup';Popup.propTypes = { /**
|
|
615
|
-
* Ссылка (ref) на элемент или React компонент, для которого рисуется попап
|
|
616
|
-
*/anchorElement: _propTypes.default.oneOfType([(0, _SSRSafe.safePropTypesInstanceOf)(function () {return HTMLElement;}), _propTypes.default.node]).isRequired, /**
|
|
617
|
-
* Фон попапа и пина
|
|
618
|
-
*/backgroundColor: _propTypes.default.string, children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
|
|
619
|
-
* Показывать ли пин
|
|
620
|
-
*/hasPin: _propTypes.default.bool, /**
|
|
621
|
-
* Применять ли box-shadow на попапе. При false отключает границу на пине
|
|
622
|
-
*/hasShadow: _propTypes.default.bool, /**
|
|
623
|
-
* Отступ попапа от элемента
|
|
624
|
-
*/margin: _propTypes.default.number, /**
|
|
625
|
-
* Показан или скрыт попап
|
|
626
|
-
*/opened: _propTypes.default.bool, /**
|
|
627
|
-
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
628
|
-
*/pinOffset: _propTypes.default.number, /**
|
|
629
|
-
* Сторона пина без учёта границы.
|
|
630
|
-
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
631
|
-
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
632
|
-
*/pinSize: _propTypes.default.number, /**
|
|
633
|
-
* смещение попапа относительно родительского элемента
|
|
634
|
-
*/popupOffset: _propTypes.default.number, /**
|
|
635
|
-
* С какой стороны показывать попап и край попапа,
|
|
636
|
-
* на котором будет отображаться пин
|
|
637
|
-
*/positions: _propTypes.default.array, /**
|
|
638
|
-
* Игнорировать ли события hover/click
|
|
614
|
+
};return Popup;}(_react.default.Component);exports.Popup = Popup;Popup.__KONTUR_REACT_UI__ = 'Popup';Popup.propTypes = { /**
|
|
615
|
+
* Ссылка (ref) на элемент или React компонент, для которого рисуется попап
|
|
616
|
+
*/anchorElement: _propTypes.default.oneOfType([(0, _SSRSafe.safePropTypesInstanceOf)(function () {return HTMLElement;}), _propTypes.default.node]).isRequired, /**
|
|
617
|
+
* Фон попапа и пина
|
|
618
|
+
*/backgroundColor: _propTypes.default.string, children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
|
|
619
|
+
* Показывать ли пин
|
|
620
|
+
*/hasPin: _propTypes.default.bool, /**
|
|
621
|
+
* Применять ли box-shadow на попапе. При false отключает границу на пине
|
|
622
|
+
*/hasShadow: _propTypes.default.bool, /**
|
|
623
|
+
* Отступ попапа от элемента
|
|
624
|
+
*/margin: _propTypes.default.number, /**
|
|
625
|
+
* Показан или скрыт попап
|
|
626
|
+
*/opened: _propTypes.default.bool, /**
|
|
627
|
+
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
628
|
+
*/pinOffset: _propTypes.default.number, /**
|
|
629
|
+
* Сторона пина без учёта границы.
|
|
630
|
+
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
631
|
+
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
632
|
+
*/pinSize: _propTypes.default.number, /**
|
|
633
|
+
* смещение попапа относительно родительского элемента
|
|
634
|
+
*/popupOffset: _propTypes.default.number, /**
|
|
635
|
+
* С какой стороны показывать попап и край попапа,
|
|
636
|
+
* на котором будет отображаться пин
|
|
637
|
+
*/positions: _propTypes.default.array, /**
|
|
638
|
+
* Игнорировать ли события hover/click
|
|
639
639
|
*/ignoreHover: _propTypes.default.bool };Popup.defaultProps = { popupOffset: 0, hasPin: false, hasShadow: false, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, ignoreHover: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Popup.tsx"],"names":["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","LayoutEvents","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","React","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","PopupHelper","getPositionObject","direction","rootStyle","Boolean","jsStyles","popup","shadow","shadowFallback","isIE11","isEdge","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","raf","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","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps","isTestEnv"],"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":["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","LayoutEvents","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","React","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","PopupHelper","getPositionObject","direction","rootStyle","Boolean","jsStyles","popup","shadow","shadowFallback","isIE11","isEdge","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","raf","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","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps","isTestEnv"],"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":["styles","popup","t","css","popupBorderRadius","popupBorder","popupBorderColor","popupIgnoreHover","content","contentInner","popupTextColor","popupBackground","shadow","popupDropShadow","shadowFallback","popupBoxShadow","transitionEnter","transitionEnterActive","transitionExit","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,KADa,iBACPC,CADO,EACG;AACd,eAAOC,YAAP;;;AAGmBD,IAAAA,CAAC,CAACE,iBAHrB;AAIYF,IAAAA,CAAC,CAACG,WAJd,EAI6BH,CAAC,CAACI,gBAJ/B;;AAMD,GARY;;AAUbC,EAAAA,gBAVa,8BAUM;AACjB,eAAOJ,YAAP;;;AAGD,GAdY;;AAgBbK,EAAAA,OAhBa,mBAgBLN,CAhBK,EAgBK;AAChB,eAAOC,YAAP;;AAEmBD,IAAAA,CAAC,CAACE,iBAFrB;;AAID,GArBY;;AAuBbK,EAAAA,YAvBa,wBAuBAP,CAvBA,EAuBU;AACrB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACQ,cADb;AAEgBR,IAAAA,CAAC,CAACS,eAFlB;;AAID,GA5BY;;AA8BbC,EAAAA,MA9Ba,kBA8BNV,CA9BM,EA8BI;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACW,eADd;AAEoBX,IAAAA,CAAC,CAACW,eAFtB;;AAID,GAnCY;;AAqCbC,EAAAA,cArCa,0BAqCEZ,CArCF,EAqCY;AACvB,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACa,cADlB;;AAGD,GAzCY;;AA2CbC,EAAAA,eA3Ca,6BA2CK;AAChB,eAAOb,YAAP;;;AAGD,GA/CY;AAgDb,wBAhDa,gCAgDY;AACvB,eAAOA,YAAP;;;AAGD,GApDY;AAqDb,2BArDa,mCAqDe;AAC1B,eAAOA,YAAP;;;AAGD,GAzDY;AA0Db,yBA1Da,iCA0Da;AACxB,eAAOA,YAAP;;;AAGD,GA9DY;AA+Db,0BA/Da,kCA+Dc;AACzB,eAAOA,YAAP;;;AAGD,GAnEY;AAoEbc,EAAAA,qBApEa,mCAoEW;AACtB,eAAOd,YAAP;;;;;AAKD,GA1EY;AA2Ebe,EAAAA,cA3Ea,4BA2EI;AACf,eAAOf,YAAP;;;;;AAKD,GAjFY,EAAf;;;AAoFO,IAAMgB,QAAQ,GAAG,2BAAanB,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\
|
|
1
|
+
{"version":3,"sources":["Popup.styles.ts"],"names":["styles","popup","t","css","popupBorderRadius","popupBorder","popupBorderColor","popupIgnoreHover","content","contentInner","popupTextColor","popupBackground","shadow","popupDropShadow","shadowFallback","popupBoxShadow","transitionEnter","transitionEnterActive","transitionExit","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,KADa,iBACPC,CADO,EACG;AACd,eAAOC,YAAP;;;AAGmBD,IAAAA,CAAC,CAACE,iBAHrB;AAIYF,IAAAA,CAAC,CAACG,WAJd,EAI6BH,CAAC,CAACI,gBAJ/B;;AAMD,GARY;;AAUbC,EAAAA,gBAVa,8BAUM;AACjB,eAAOJ,YAAP;;;AAGD,GAdY;;AAgBbK,EAAAA,OAhBa,mBAgBLN,CAhBK,EAgBK;AAChB,eAAOC,YAAP;;AAEmBD,IAAAA,CAAC,CAACE,iBAFrB;;AAID,GArBY;;AAuBbK,EAAAA,YAvBa,wBAuBAP,CAvBA,EAuBU;AACrB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACQ,cADb;AAEgBR,IAAAA,CAAC,CAACS,eAFlB;;AAID,GA5BY;;AA8BbC,EAAAA,MA9Ba,kBA8BNV,CA9BM,EA8BI;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACW,eADd;AAEoBX,IAAAA,CAAC,CAACW,eAFtB;;AAID,GAnCY;;AAqCbC,EAAAA,cArCa,0BAqCEZ,CArCF,EAqCY;AACvB,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACa,cADlB;;AAGD,GAzCY;;AA2CbC,EAAAA,eA3Ca,6BA2CK;AAChB,eAAOb,YAAP;;;AAGD,GA/CY;AAgDb,wBAhDa,gCAgDY;AACvB,eAAOA,YAAP;;;AAGD,GApDY;AAqDb,2BArDa,mCAqDe;AAC1B,eAAOA,YAAP;;;AAGD,GAzDY;AA0Db,yBA1Da,iCA0Da;AACxB,eAAOA,YAAP;;;AAGD,GA9DY;AA+Db,0BA/Da,kCA+Dc;AACzB,eAAOA,YAAP;;;AAGD,GAnEY;AAoEbc,EAAAA,qBApEa,mCAoEW;AACtB,eAAOd,YAAP;;;;;AAKD,GA1EY;AA2Ebe,EAAAA,cA3Ea,4BA2EI;AACf,eAAOf,YAAP;;;;;AAKD,GAjFY,EAAf;;;AAoFO,IAAMgB,QAAQ,GAAG,2BAAanB,MAAb,CAAjB,C","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"]}
|