@skbkontur/react-ui 4.0.0-beta.1 → 4.0.0-beta.5
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/cjs/components/Autocomplete/Autocomplete.d.ts +125 -125
- package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
- package/cjs/components/Autocomplete/index.d.ts +1 -1
- package/cjs/components/Button/Button.d.ts +162 -162
- package/cjs/components/Button/Button.js +4 -3
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.mixins.d.ts +6 -6
- package/cjs/components/Button/Button.styles.d.ts +72 -71
- package/cjs/components/Button/Button.styles.js +41 -31
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/Corners.d.ts +6 -6
- package/cjs/components/Button/index.d.ts +1 -1
- package/cjs/components/Center/Center.d.ts +25 -25
- package/cjs/components/Center/Center.styles.d.ts +7 -7
- package/cjs/components/Center/index.d.ts +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +96 -96
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +23 -23
- package/cjs/components/Checkbox/index.d.ts +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +184 -184
- package/cjs/components/ComboBox/index.d.ts +1 -1
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
- package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
- package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
- package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
- package/cjs/components/CurrencyInput/constants.d.ts +2 -2
- package/cjs/components/CurrencyInput/index.d.ts +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
- package/cjs/components/CurrencyLabel/index.d.ts +1 -1
- package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
- package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
- package/cjs/components/DateInput/DateInput.d.ts +107 -107
- package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
- package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
- package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
- package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
- package/cjs/components/DateInput/index.d.ts +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +134 -134
- package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
- package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
- package/cjs/components/DatePicker/Picker.d.ts +33 -33
- package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
- package/cjs/components/DatePicker/index.d.ts +1 -1
- package/cjs/components/DatePicker/locale/index.d.ts +4 -4
- package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
- package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
- package/cjs/components/DatePicker/locale/types.d.ts +5 -5
- package/cjs/components/Dropdown/Dropdown.d.ts +124 -124
- package/cjs/components/Dropdown/index.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -65
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/index.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +42 -0
- package/cjs/components/FileUploader/FileUploader.js +283 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -0
- package/cjs/components/FileUploader/FileUploader.md +67 -0
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +21 -0
- package/cjs/components/FileUploader/FileUploader.styles.js +167 -0
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
- package/cjs/components/FileUploader/index.d.ts +5 -0
- package/cjs/components/FileUploader/index.js +5 -0
- package/cjs/components/FileUploader/index.js.map +1 -0
- package/cjs/components/FileUploader/locale/index.d.ts +4 -0
- package/cjs/components/FileUploader/locale/index.js +11 -0
- package/cjs/components/FileUploader/locale/index.js.map +1 -0
- package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
- package/cjs/components/FileUploader/locale/locales/en.js +7 -0
- package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
- package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
- package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
- package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
- package/cjs/components/FileUploader/locale/types.d.ts +6 -0
- package/cjs/components/FileUploader/locale/types.js +1 -0
- package/cjs/components/FileUploader/locale/types.js.map +1 -0
- package/cjs/components/FxInput/FxInput.d.ts +50 -50
- package/cjs/components/FxInput/index.d.ts +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +57 -57
- package/cjs/components/Gapped/index.d.ts +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +110 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +269 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.md +88 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +13 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +70 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +15 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +145 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
- package/cjs/components/GlobalLoader/index.d.ts +1 -0
- package/cjs/components/GlobalLoader/index.js +1 -0
- package/cjs/components/GlobalLoader/index.js.map +1 -0
- package/cjs/components/GlobalLoader/useParams.d.ts +21 -0
- package/cjs/components/GlobalLoader/useParams.js +44 -0
- package/cjs/components/GlobalLoader/useParams.js.map +1 -0
- package/cjs/components/Group/Group.d.ts +14 -14
- package/cjs/components/Group/Group.styles.d.ts +8 -8
- package/cjs/components/Group/index.d.ts +1 -1
- package/cjs/components/Hint/Hint.d.ts +84 -83
- package/cjs/components/Hint/Hint.js +0 -16
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.styles.d.ts +6 -6
- package/cjs/components/Hint/index.d.ts +1 -1
- package/cjs/components/Input/Input.d.ts +157 -157
- package/cjs/components/Input/Input.styles.d.ts +42 -42
- package/cjs/components/Input/index.d.ts +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +71 -71
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
- package/cjs/components/Kebab/index.d.ts +1 -1
- package/cjs/components/Link/Link.d.ts +72 -72
- package/cjs/components/Link/Link.js +1 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.d.ts +3 -3
- package/cjs/components/Link/Link.styles.d.ts +15 -15
- package/cjs/components/Link/Link.styles.js +3 -3
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Link/index.d.ts +1 -1
- package/cjs/components/Loader/Loader.d.ts +100 -100
- package/cjs/components/Loader/Loader.styles.d.ts +8 -8
- package/cjs/components/Loader/index.d.ts +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
- package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
- package/cjs/components/MenuHeader/index.d.ts +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +95 -95
- package/cjs/components/MenuItem/MenuItem.js +1 -4
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.d.ts +14 -14
- package/cjs/components/MenuItem/index.d.ts +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
- package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
- package/cjs/components/MenuSeparator/index.d.ts +1 -1
- package/cjs/components/Modal/Modal.d.ts +88 -88
- package/cjs/components/Modal/Modal.styles.d.ts +40 -39
- package/cjs/components/Modal/Modal.styles.js +16 -8
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +23 -23
- package/cjs/components/Modal/ModalClose.d.ts +2 -2
- package/cjs/components/Modal/ModalContext.d.ts +16 -16
- package/cjs/components/Modal/ModalFooter.d.ts +21 -21
- package/cjs/components/Modal/ModalFooter.js +1 -0
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +17 -17
- package/cjs/components/Modal/index.d.ts +4 -4
- package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
- package/cjs/components/Paging/Paging.d.ts +90 -90
- package/cjs/components/Paging/Paging.styles.d.ts +16 -16
- package/cjs/components/Paging/PagingHelper.d.ts +2 -2
- package/cjs/components/Paging/index.d.ts +1 -1
- package/cjs/components/Paging/locale/index.d.ts +4 -4
- package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
- package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
- package/cjs/components/Paging/locale/types.d.ts +3 -3
- package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -49
- package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
- package/cjs/components/PasswordInput/index.d.ts +1 -1
- package/cjs/components/Radio/Radio.d.ts +77 -77
- package/cjs/components/Radio/Radio.styles.d.ts +21 -21
- package/cjs/components/Radio/index.d.ts +1 -1
- package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
- package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -117
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
- package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -10
- package/cjs/components/RadioGroup/index.d.ts +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +11 -11
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +11 -3
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ResponsiveLayout/decorator.d.ts +33 -33
- package/cjs/components/ResponsiveLayout/index.d.ts +3 -3
- package/cjs/components/ResponsiveLayout/types.d.ts +3 -3
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
- package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +88 -88
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
- package/cjs/components/ScrollContainer/index.d.ts +1 -1
- package/cjs/components/Select/Item.d.ts +7 -7
- package/cjs/components/Select/Select.d.ts +189 -189
- package/cjs/components/Select/Select.styles.d.ts +18 -18
- package/cjs/components/Select/index.d.ts +1 -1
- package/cjs/components/Select/locale/index.d.ts +4 -4
- package/cjs/components/Select/locale/locales/en.d.ts +2 -2
- package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
- package/cjs/components/Select/locale/types.d.ts +4 -4
- package/cjs/components/Select/selectTheme.d.ts +3 -3
- package/cjs/components/SidePage/SidePage.d.ts +105 -105
- package/cjs/components/SidePage/SidePage.styles.d.ts +48 -47
- package/cjs/components/SidePage/SidePage.styles.js +14 -6
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +20 -20
- package/cjs/components/SidePage/SidePageContainer.d.ts +16 -16
- package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
- package/cjs/components/SidePage/SidePageFooter.d.ts +39 -39
- package/cjs/components/SidePage/SidePageFooter.js +2 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +41 -41
- package/cjs/components/SidePage/index.d.ts +5 -5
- package/cjs/components/Spinner/Spinner.d.ts +57 -49
- package/cjs/components/Spinner/Spinner.js +22 -3
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +1 -0
- package/cjs/components/Spinner/Spinner.styles.d.ts +13 -12
- package/cjs/components/Spinner/Spinner.styles.js +14 -11
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
- package/cjs/components/Spinner/index.d.ts +1 -1
- package/cjs/components/Spinner/locale/index.d.ts +4 -4
- package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
- package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
- package/cjs/components/Spinner/locale/types.d.ts +4 -4
- package/cjs/components/Sticky/Sticky.d.ts +54 -54
- package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
- package/cjs/components/Sticky/index.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +56 -56
- package/cjs/components/Switcher/Switcher.styles.d.ts +11 -11
- package/cjs/components/Switcher/Switcher.styles.js +4 -2
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/index.d.ts +1 -1
- package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
- package/cjs/components/Tabs/Indicator.d.ts +28 -28
- package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
- package/cjs/components/Tabs/Tab.d.ts +121 -121
- package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
- package/cjs/components/Tabs/Tabs.d.ts +62 -62
- package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
- package/cjs/components/Tabs/TabsContext.d.ts +14 -14
- package/cjs/components/Tabs/index.d.ts +2 -2
- package/cjs/components/Textarea/Textarea.d.ts +185 -185
- package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
- package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
- package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
- package/cjs/components/Textarea/index.d.ts +1 -1
- package/cjs/components/Toast/Toast.d.ts +58 -58
- package/cjs/components/Toast/Toast.styles.d.ts +6 -6
- package/cjs/components/Toast/ToastStatic.d.ts +8 -8
- package/cjs/components/Toast/ToastView.d.ts +38 -38
- package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
- package/cjs/components/Toast/index.d.ts +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +107 -107
- package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
- package/cjs/components/Toggle/index.d.ts +1 -1
- package/cjs/components/Token/Token.d.ts +36 -36
- package/cjs/components/Token/Token.styles.d.ts +29 -29
- package/cjs/components/Token/index.d.ts +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
- package/cjs/components/TokenInput/TokenInput.d.ts +194 -194
- package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
- package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
- package/cjs/components/TokenInput/index.d.ts +1 -1
- package/cjs/components/TokenInput/locale/index.d.ts +4 -4
- package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
- package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
- package/cjs/components/TokenInput/locale/types.d.ts +4 -4
- package/cjs/components/Tooltip/Tooltip.d.ts +162 -175
- package/cjs/components/Tooltip/Tooltip.js +15 -28
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
- package/cjs/components/Tooltip/index.d.ts +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -65
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/index.d.ts +1 -1
- package/cjs/hooks/useDrop.d.ts +11 -0
- package/cjs/hooks/useDrop.js +75 -0
- package/cjs/hooks/useDrop.js.map +1 -0
- package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
- package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
- package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
- package/cjs/hooks/useMemoObject.d.ts +1 -0
- package/cjs/hooks/useMemoObject.js +5 -0
- package/cjs/hooks/useMemoObject.js.map +1 -0
- package/cjs/index.d.ts +52 -49
- package/cjs/index.js +4 -1
- package/cjs/index.js.map +1 -1
- package/cjs/internal/BGRuler.d.ts +30 -30
- package/cjs/internal/Calendar/Calendar.d.ts +66 -66
- package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
- package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
- package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
- package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
- package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
- package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
- package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
- package/cjs/internal/Calendar/Month.d.ts +33 -33
- package/cjs/internal/Calendar/MonthView.d.ts +21 -21
- package/cjs/internal/Calendar/MonthView.styles.d.ts +10 -10
- package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
- package/cjs/internal/Calendar/config.d.ts +9 -9
- package/cjs/internal/Calendar/index.d.ts +2 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +31 -31
- package/cjs/internal/CommonWrapper/index.d.ts +1 -1
- package/cjs/internal/ComponentCombinator.d.ts +25 -25
- package/cjs/internal/ComponentTable.d.ts +21 -21
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +32 -32
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +102 -102
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +137 -137
- package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
- package/cjs/internal/CustomComboBox/index.d.ts +2 -2
- package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
- package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
- package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
- package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
- package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
- package/cjs/internal/DateSelect/index.d.ts +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +43 -43
- package/cjs/internal/DropdownContainer/index.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +106 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +188 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +30 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +22 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
- package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
- package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +19 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -17
- package/cjs/internal/FocusTrap/index.d.ts +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
- package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
- package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
- package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -73
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
- package/cjs/internal/InputLikeText/index.d.ts +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +68 -68
- package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
- package/cjs/internal/InternalMenu/index.d.ts +1 -1
- package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
- package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
- package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
- package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
- package/cjs/internal/MaskedInput/index.d.ts +1 -1
- package/cjs/internal/Menu/Menu.d.ts +68 -68
- package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
- package/cjs/internal/Menu/index.d.ts +1 -1
- package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -34
- package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
- package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
- package/cjs/internal/MobilePopup/index.d.ts +1 -1
- package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
- package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
- package/cjs/internal/NativeDateInput/index.d.ts +1 -1
- package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
- package/cjs/internal/Popup/Popup.d.ts +167 -166
- package/cjs/internal/Popup/Popup.js +13 -24
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
- package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +56 -56
- package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
- package/cjs/internal/Popup/index.d.ts +1 -1
- package/cjs/internal/Popup/types.d.ts +2 -0
- package/cjs/internal/Popup/types.js +1 -0
- package/cjs/internal/Popup/types.js.map +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +86 -86
- package/cjs/internal/PopupMenu/PopupMenu.js +18 -4
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
- package/cjs/internal/PopupMenu/index.d.ts +1 -1
- package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
- package/cjs/internal/PopupMenu/validatePositions.js +2 -4
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
- package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
- package/cjs/internal/RenderContainer/index.d.ts +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -29
- package/cjs/internal/RenderLayer/index.d.ts +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
- package/cjs/internal/ResizeDetector/index.d.ts +1 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
- package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
- package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
- package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
- package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
- package/cjs/internal/ThemePlayground/Playground.d.ts +30 -29
- package/cjs/internal/ThemePlayground/Playground.js +11 -4
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
- package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
- package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
- package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +49 -51
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +2 -8
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
- package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
- package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
- package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
- package/cjs/internal/ThemePlayground/constants.d.ts +17 -18
- package/cjs/internal/ThemePlayground/constants.js +3 -3
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.d.ts +269 -255
- package/cjs/internal/ThemePlayground/darkTheme.js +14 -0
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
- package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +9 -6
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -25
- package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +37 -22
- package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
- package/cjs/internal/ZIndex/ZIndex.d.ts +36 -36
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +20 -19
- package/cjs/internal/ZIndex/ZIndexStorage.js +1 -0
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/ZIndex/index.d.ts +1 -1
- package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
- package/cjs/internal/icons/16px/index.d.ts +25 -22
- package/cjs/internal/icons/16px/index.js +44 -2
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/icons/20px/Icon.d.ts +30 -30
- package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
- package/cjs/internal/icons/20px/index.d.ts +2 -2
- package/cjs/internal/icons/20px/svg.d.ts +14 -14
- package/cjs/internal/icons/CloudIcon.d.ts +1 -1
- package/cjs/internal/icons/CrossIcon.d.ts +1 -1
- package/cjs/internal/icons/SpinnerIcon.d.ts +27 -24
- package/cjs/internal/icons/SpinnerIcon.js +5 -2
- package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.styles.d.ts +6 -6
- package/cjs/internal/themes/DarkTheme.d.ts +137 -103
- package/cjs/internal/themes/DarkTheme.js +55 -3
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +855 -819
- package/cjs/internal/themes/DefaultTheme.js +76 -15
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/NotFlat.d.ts +127 -127
- package/cjs/internal/themes/OldColors.d.ts +116 -110
- package/cjs/internal/themes/OldColors.js +35 -17
- package/cjs/internal/themes/OldColors.js.map +1 -1
- package/cjs/lib/ConditionalHandler.d.ts +11 -11
- package/cjs/lib/LayoutEvents.d.ts +4 -4
- package/cjs/lib/ModalStack.d.ts +14 -14
- package/cjs/lib/ModalStack.js +16 -17
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +4 -4
- package/cjs/lib/Supports.d.ts +1 -1
- package/cjs/lib/Upgrades.d.ts +6 -6
- package/cjs/lib/animation/index.d.ts +6 -6
- package/cjs/lib/animation/presets.d.ts +18 -18
- package/cjs/lib/animation/stepper.d.ts +1 -1
- package/cjs/lib/callChildRef/callChildRef.d.ts +3 -3
- package/cjs/lib/client.d.ts +16 -16
- package/cjs/lib/createPropsGetter.d.ts +2 -2
- package/cjs/lib/currentEnvironment.d.ts +3 -3
- package/cjs/lib/date/InternalDate.d.ts +58 -58
- package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
- package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
- package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
- package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
- package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
- package/cjs/lib/date/constants.d.ts +28 -28
- package/cjs/lib/date/localeSets.d.ts +5 -5
- package/cjs/lib/date/types.d.ts +90 -90
- package/cjs/lib/dom/getDOMRect.d.ts +8 -0
- package/cjs/lib/dom/getDOMRect.js +24 -0
- package/cjs/lib/dom/getDOMRect.js.map +1 -0
- package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
- package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
- package/cjs/lib/events/MouseDrag.d.ts +58 -58
- package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
- package/cjs/lib/events/keyListener.d.ts +7 -7
- package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
- package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
- package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
- package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
- package/cjs/lib/events/stopPropagation.d.ts +1 -1
- package/cjs/lib/events/tabListener.d.ts +1 -1
- package/cjs/lib/extractKeyboardAction.d.ts +13 -13
- package/cjs/lib/filterProps.d.ts +12 -12
- package/cjs/lib/forwardRefAndName.d.ts +5 -5
- package/cjs/lib/getDisplayName.d.ts +3 -3
- package/cjs/lib/listenFocusOutside.d.ts +8 -8
- package/cjs/lib/locale/LocaleContext.d.ts +7 -7
- package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
- package/cjs/lib/locale/constants.d.ts +2 -2
- package/cjs/lib/locale/decorators.d.ts +36 -36
- package/cjs/lib/locale/index.d.ts +3 -3
- package/cjs/lib/locale/types.d.ts +21 -19
- package/cjs/lib/locale/types.js +2 -0
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
- package/cjs/lib/locale/useLocaleForControl.js +14 -0
- package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
- package/cjs/lib/memo.d.ts +1 -1
- package/cjs/lib/net/fetch.d.ts +13 -13
- package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
- package/cjs/lib/reactGetTextContent.d.ts +2 -2
- package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
- package/cjs/lib/rootNode/index.d.ts +2 -2
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -33
- package/cjs/lib/stringUtils.d.ts +1 -0
- package/cjs/lib/stringUtils.js +13 -0
- package/cjs/lib/stringUtils.js.map +1 -0
- package/cjs/lib/styles/ColorFactory.d.ts +11 -11
- package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
- package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
- package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
- package/cjs/lib/styles/ColorObject.d.ts +52 -52
- package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
- package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
- package/cjs/lib/styles/Mixins.d.ts +2 -2
- package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
- package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
- package/cjs/lib/theming/AnimationKeyframes.js +1 -1
- package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
- package/cjs/lib/theming/Emotion.d.ts +15 -15
- package/cjs/lib/theming/Theme.d.ts +3 -3
- package/cjs/lib/theming/ThemeContext.d.ts +2 -2
- package/cjs/lib/theming/ThemeFactory.d.ts +7 -7
- package/cjs/lib/theming/ThemeHelpers.d.ts +5 -1
- package/cjs/lib/theming/ThemeHelpers.js +22 -2
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -1
- package/cjs/lib/theming/themes/DarkTheme.js +2 -1
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
- package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
- package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
- package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -0
- package/cjs/lib/theming/useTheme.js +7 -0
- package/cjs/lib/theming/useTheme.js.map +1 -0
- package/cjs/lib/uidUtils.d.ts +1 -0
- package/cjs/lib/uidUtils.js +5 -0
- package/cjs/lib/uidUtils.js.map +1 -0
- package/cjs/lib/utils.d.ts +64 -31
- package/cjs/lib/utils.js +81 -3
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.d.ts +71 -71
- package/cjs/typings/html-props.d.ts +123 -0
- package/components/Autocomplete/Autocomplete.d.ts +125 -125
- package/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
- package/components/Autocomplete/index.d.ts +1 -1
- package/components/Button/Button/Button.js +3 -7
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +162 -162
- package/components/Button/Button.mixins.d.ts +6 -6
- package/components/Button/Button.styles/Button.styles.js +34 -31
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +72 -71
- package/components/Button/Corners.d.ts +6 -6
- package/components/Button/index.d.ts +1 -1
- package/components/Center/Center.d.ts +25 -25
- package/components/Center/Center.styles.d.ts +7 -7
- package/components/Center/index.d.ts +1 -1
- package/components/Checkbox/Checkbox.d.ts +96 -96
- package/components/Checkbox/Checkbox.styles.d.ts +23 -23
- package/components/Checkbox/index.d.ts +1 -1
- package/components/ComboBox/ComboBox.d.ts +184 -184
- package/components/ComboBox/index.d.ts +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
- package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
- package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
- package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
- package/components/CurrencyInput/CursorHelper.d.ts +10 -10
- package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
- package/components/CurrencyInput/constants.d.ts +2 -2
- package/components/CurrencyInput/index.d.ts +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
- package/components/CurrencyLabel/index.d.ts +1 -1
- package/components/DateInput/DateFragmentsView.d.ts +20 -20
- package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
- package/components/DateInput/DateInput.d.ts +107 -107
- package/components/DateInput/DateInput.styles.d.ts +10 -10
- package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
- package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
- package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
- package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber.d.ts +5 -5
- package/components/DateInput/index.d.ts +1 -1
- package/components/DatePicker/DatePicker.d.ts +134 -134
- package/components/DatePicker/DatePicker.styles.d.ts +3 -3
- package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
- package/components/DatePicker/Picker.d.ts +33 -33
- package/components/DatePicker/Picker.styles.d.ts +5 -5
- package/components/DatePicker/index.d.ts +1 -1
- package/components/DatePicker/locale/index.d.ts +4 -4
- package/components/DatePicker/locale/locales/en.d.ts +2 -2
- package/components/DatePicker/locale/locales/ru.d.ts +2 -2
- package/components/DatePicker/locale/types.d.ts +5 -5
- package/components/Dropdown/Dropdown.d.ts +124 -124
- package/components/Dropdown/index.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +65 -65
- package/components/DropdownMenu/index.d.ts +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +271 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
- package/components/FileUploader/FileUploader/package.json +6 -0
- package/components/FileUploader/FileUploader.d.ts +42 -0
- package/components/FileUploader/FileUploader.md +67 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +62 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
- package/components/FileUploader/FileUploader.styles/package.json +6 -0
- package/components/FileUploader/FileUploader.styles.d.ts +21 -0
- package/components/FileUploader/index/index.js +3 -0
- package/components/FileUploader/index/index.js.map +1 -0
- package/components/FileUploader/index/package.json +6 -0
- package/components/FileUploader/index.d.ts +5 -0
- package/components/FileUploader/locale/index/index.js +8 -0
- package/components/FileUploader/locale/index/index.js.map +1 -0
- package/components/FileUploader/locale/index/package.json +6 -0
- package/components/FileUploader/locale/index.d.ts +4 -0
- package/components/FileUploader/locale/locales/en/en.js +6 -0
- package/components/FileUploader/locale/locales/en/en.js.map +1 -0
- package/components/FileUploader/locale/locales/en/package.json +6 -0
- package/components/FileUploader/locale/locales/en.d.ts +2 -0
- package/components/FileUploader/locale/locales/ru/package.json +6 -0
- package/components/FileUploader/locale/locales/ru/ru.js +6 -0
- package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
- package/components/FileUploader/locale/locales/ru.d.ts +2 -0
- package/components/FileUploader/locale/package.json +6 -0
- package/components/FileUploader/locale/types/package.json +6 -0
- package/components/FileUploader/locale/types/types.js +1 -0
- package/components/FileUploader/locale/types/types.js.map +1 -0
- package/components/FileUploader/locale/types.d.ts +6 -0
- package/components/FileUploader/package.json +6 -0
- package/components/FxInput/FxInput.d.ts +50 -50
- package/components/FxInput/index.d.ts +1 -1
- package/components/Gapped/Gapped.d.ts +57 -57
- package/components/Gapped/index.d.ts +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +222 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -0
- package/components/GlobalLoader/GlobalLoader/package.json +6 -0
- package/components/GlobalLoader/GlobalLoader.d.ts +110 -0
- package/components/GlobalLoader/GlobalLoader.md +88 -0
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +68 -0
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -0
- package/components/GlobalLoader/GlobalLoaderView/package.json +6 -0
- package/components/GlobalLoader/GlobalLoaderView.d.ts +13 -0
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +45 -0
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -0
- package/components/GlobalLoader/GlobalLoaderView.styles/package.json +6 -0
- package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +15 -0
- package/components/GlobalLoader/index/index.js +1 -0
- package/components/GlobalLoader/index/index.js.map +1 -0
- package/components/GlobalLoader/index/package.json +6 -0
- package/components/GlobalLoader/index.d.ts +1 -0
- package/components/GlobalLoader/package.json +6 -0
- package/components/GlobalLoader/useParams/package.json +6 -0
- package/components/GlobalLoader/useParams/useParams.js +47 -0
- package/components/GlobalLoader/useParams/useParams.js.map +1 -0
- package/components/GlobalLoader/useParams.d.ts +21 -0
- package/components/Group/Group.d.ts +14 -14
- package/components/Group/Group.styles.d.ts +8 -8
- package/components/Group/index.d.ts +1 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +84 -83
- package/components/Hint/Hint.styles.d.ts +6 -6
- package/components/Hint/index.d.ts +1 -1
- package/components/Input/Input.d.ts +157 -157
- package/components/Input/Input.styles.d.ts +42 -42
- package/components/Input/index.d.ts +1 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +71 -71
- package/components/Kebab/Kebab.styles.d.ts +12 -12
- package/components/Kebab/index.d.ts +1 -1
- package/components/Link/Link/Link.js +1 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +72 -72
- package/components/Link/Link.mixins.d.ts +3 -3
- package/components/Link/Link.styles/Link.styles.js +2 -2
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +15 -15
- package/components/Link/index.d.ts +1 -1
- package/components/Loader/Loader.d.ts +100 -100
- package/components/Loader/Loader.styles.d.ts +8 -8
- package/components/Loader/index.d.ts +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +20 -20
- package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
- package/components/MenuHeader/index.d.ts +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +2 -7
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +95 -95
- package/components/MenuItem/MenuItem.styles.d.ts +14 -14
- package/components/MenuItem/index.d.ts +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
- package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
- package/components/MenuSeparator/index.d.ts +1 -1
- package/components/Modal/Modal.d.ts +88 -88
- package/components/Modal/Modal.styles/Modal.styles.js +11 -8
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +40 -39
- package/components/Modal/ModalBody.d.ts +23 -23
- package/components/Modal/ModalClose.d.ts +2 -2
- package/components/Modal/ModalContext.d.ts +16 -16
- package/components/Modal/ModalFooter/ModalFooter.js +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalFooter.d.ts +21 -21
- package/components/Modal/ModalHeader.d.ts +17 -17
- package/components/Modal/index.d.ts +4 -4
- package/components/Paging/NavigationHelper.d.ts +7 -7
- package/components/Paging/Paging.d.ts +90 -90
- package/components/Paging/Paging.styles.d.ts +16 -16
- package/components/Paging/PagingHelper.d.ts +2 -2
- package/components/Paging/index.d.ts +1 -1
- package/components/Paging/locale/index.d.ts +4 -4
- package/components/Paging/locale/locales/en.d.ts +2 -2
- package/components/Paging/locale/locales/ru.d.ts +2 -2
- package/components/Paging/locale/types.d.ts +3 -3
- package/components/PasswordInput/PasswordInput.d.ts +49 -49
- package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
- package/components/PasswordInput/index.d.ts +1 -1
- package/components/Radio/Radio.d.ts +77 -77
- package/components/Radio/Radio.styles.d.ts +21 -21
- package/components/Radio/index.d.ts +1 -1
- package/components/RadioGroup/Prevent.d.ts +8 -8
- package/components/RadioGroup/RadioGroup.d.ts +117 -117
- package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
- package/components/RadioGroup/RadioGroupContext.d.ts +10 -10
- package/components/RadioGroup/index.d.ts +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +11 -11
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +12 -4
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
- package/components/ResponsiveLayout/decorator.d.ts +33 -33
- package/components/ResponsiveLayout/index.d.ts +3 -3
- package/components/ResponsiveLayout/types.d.ts +3 -3
- package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
- package/components/ScrollContainer/ScrollBar.d.ts +37 -37
- package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
- package/components/ScrollContainer/ScrollContainer.d.ts +88 -88
- package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
- package/components/ScrollContainer/index.d.ts +1 -1
- package/components/Select/Item.d.ts +7 -7
- package/components/Select/Select.d.ts +189 -189
- package/components/Select/Select.styles.d.ts +18 -18
- package/components/Select/index.d.ts +1 -1
- package/components/Select/locale/index.d.ts +4 -4
- package/components/Select/locale/locales/en.d.ts +2 -2
- package/components/Select/locale/locales/ru.d.ts +2 -2
- package/components/Select/locale/types.d.ts +4 -4
- package/components/Select/selectTheme.d.ts +3 -3
- package/components/SidePage/SidePage.d.ts +105 -105
- package/components/SidePage/SidePage.styles/SidePage.styles.js +9 -6
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +48 -47
- package/components/SidePage/SidePageBody.d.ts +20 -20
- package/components/SidePage/SidePageContainer.d.ts +16 -16
- package/components/SidePage/SidePageContext.d.ts +15 -15
- package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +39 -39
- package/components/SidePage/SidePageHeader.d.ts +41 -41
- package/components/SidePage/index.d.ts +5 -5
- package/components/Spinner/Spinner/Spinner.js +5 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +57 -49
- package/components/Spinner/Spinner.md +1 -0
- package/components/Spinner/Spinner.styles/Spinner.styles.js +13 -10
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Spinner/Spinner.styles.d.ts +13 -12
- package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
- package/components/Spinner/index.d.ts +1 -1
- package/components/Spinner/locale/index.d.ts +4 -4
- package/components/Spinner/locale/locales/en.d.ts +2 -2
- package/components/Spinner/locale/locales/ru.d.ts +2 -2
- package/components/Spinner/locale/types.d.ts +4 -4
- package/components/Sticky/Sticky.d.ts +54 -54
- package/components/Sticky/Sticky.styles.d.ts +7 -7
- package/components/Sticky/index.d.ts +1 -1
- package/components/Switcher/Switcher.d.ts +56 -56
- package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +11 -11
- package/components/Switcher/index.d.ts +1 -1
- package/components/Switcher/switcherTheme.d.ts +2 -2
- package/components/Tabs/Indicator.d.ts +28 -28
- package/components/Tabs/Indicator.styles.d.ts +8 -8
- package/components/Tabs/Tab.d.ts +121 -121
- package/components/Tabs/Tab.styles.d.ts +27 -27
- package/components/Tabs/Tabs.d.ts +62 -62
- package/components/Tabs/Tabs.styles.d.ts +5 -5
- package/components/Tabs/TabsContext.d.ts +14 -14
- package/components/Tabs/index.d.ts +2 -2
- package/components/Textarea/Textarea.d.ts +185 -185
- package/components/Textarea/Textarea.styles.d.ts +15 -15
- package/components/Textarea/TextareaCounter.d.ts +13 -13
- package/components/Textarea/TextareaHelpers.d.ts +11 -11
- package/components/Textarea/index.d.ts +1 -1
- package/components/Toast/Toast.d.ts +58 -58
- package/components/Toast/Toast.styles.d.ts +6 -6
- package/components/Toast/ToastStatic.d.ts +8 -8
- package/components/Toast/ToastView.d.ts +38 -38
- package/components/Toast/ToastView.styles.d.ts +8 -8
- package/components/Toast/index.d.ts +1 -1
- package/components/Toggle/Toggle.d.ts +107 -107
- package/components/Toggle/Toggle.styles.d.ts +30 -30
- package/components/Toggle/index.d.ts +1 -1
- package/components/Token/Token.d.ts +36 -36
- package/components/Token/Token.styles.d.ts +29 -29
- package/components/Token/index.d.ts +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +18 -18
- package/components/TokenInput/TokenInput.d.ts +194 -194
- package/components/TokenInput/TokenInput.styles.d.ts +15 -15
- package/components/TokenInput/TokenInputMenu.d.ts +18 -18
- package/components/TokenInput/TokenInputReducer.d.ts +25 -25
- package/components/TokenInput/index.d.ts +1 -1
- package/components/TokenInput/locale/index.d.ts +4 -4
- package/components/TokenInput/locale/locales/en.d.ts +2 -2
- package/components/TokenInput/locale/locales/ru.d.ts +2 -2
- package/components/TokenInput/locale/types.d.ts +4 -4
- package/components/Tooltip/Tooltip/Tooltip.js +3 -3
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +162 -175
- package/components/Tooltip/Tooltip.styles.d.ts +5 -5
- package/components/Tooltip/index.d.ts +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +65 -65
- package/components/TooltipMenu/index.d.ts +1 -1
- package/hooks/useDrop/package.json +6 -0
- package/hooks/useDrop/useDrop.js +57 -0
- package/hooks/useDrop/useDrop.js.map +1 -0
- package/hooks/useDrop.d.ts +11 -0
- package/hooks/useEffectWithoutInitCall/package.json +6 -0
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
- package/hooks/useEffectWithoutInitCall.d.ts +2 -0
- package/hooks/useMemoObject/package.json +6 -0
- package/hooks/useMemoObject/useMemoObject.js +6 -0
- package/hooks/useMemoObject/useMemoObject.js.map +1 -0
- package/hooks/useMemoObject.d.ts +1 -0
- package/index.d.ts +52 -49
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/internal/BGRuler.d.ts +30 -30
- package/internal/Calendar/Calendar.d.ts +66 -66
- package/internal/Calendar/Calendar.styles.d.ts +5 -5
- package/internal/Calendar/CalendarDateShape.d.ts +14 -14
- package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
- package/internal/Calendar/CalendarUtils.d.ts +19 -19
- package/internal/Calendar/DayCellView.d.ts +13 -13
- package/internal/Calendar/DayCellView.styles.d.ts +7 -7
- package/internal/Calendar/DayCellViewModel.d.ts +8 -8
- package/internal/Calendar/Month.d.ts +33 -33
- package/internal/Calendar/MonthView.d.ts +21 -21
- package/internal/Calendar/MonthView.styles.d.ts +10 -10
- package/internal/Calendar/MonthViewModel.d.ts +14 -14
- package/internal/Calendar/config.d.ts +9 -9
- package/internal/Calendar/index.d.ts +2 -2
- package/internal/CommonWrapper/CommonWrapper.d.ts +31 -31
- package/internal/CommonWrapper/index.d.ts +1 -1
- package/internal/ComponentCombinator.d.ts +25 -25
- package/internal/ComponentTable.d.ts +21 -21
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +32 -32
- package/internal/CustomComboBox/ComboBoxView.d.ts +102 -102
- package/internal/CustomComboBox/CustomComboBox.d.ts +137 -137
- package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
- package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
- package/internal/CustomComboBox/index.d.ts +2 -2
- package/internal/CustomComboBox/locale/index.d.ts +4 -4
- package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
- package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
- package/internal/CustomComboBox/locale/types.d.ts +5 -5
- package/internal/DateSelect/DateSelect.d.ts +93 -93
- package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
- package/internal/DateSelect/index.d.ts +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +43 -43
- package/internal/DropdownContainer/index.d.ts +1 -1
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +85 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +179 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +27 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +14 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +16 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
- package/internal/FileUploaderControl/fileUtils/package.json +6 -0
- package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
- package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +17 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
- package/internal/FocusTrap/FocusTrap.d.ts +17 -17
- package/internal/FocusTrap/index.d.ts +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
- package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
- package/internal/IgnoreLayerClick/index.d.ts +1 -1
- package/internal/InputLikeText/HiddenInput.d.ts +13 -13
- package/internal/InputLikeText/InputLikeText.d.ts +73 -73
- package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
- package/internal/InputLikeText/index.d.ts +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +68 -68
- package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
- package/internal/InternalMenu/index.d.ts +1 -1
- package/internal/InternalMenu/isActiveElement.d.ts +3 -3
- package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
- package/internal/MaskCharLowLine/index.d.ts +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +40 -40
- package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
- package/internal/MaskedInput/index.d.ts +1 -1
- package/internal/Menu/Menu.d.ts +68 -68
- package/internal/Menu/Menu.styles.d.ts +6 -6
- package/internal/Menu/index.d.ts +1 -1
- package/internal/Menu/isActiveElement.d.ts +3 -3
- package/internal/MobilePopup/MobilePopup.d.ts +34 -34
- package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
- package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
- package/internal/MobilePopup/index.d.ts +1 -1
- package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
- package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
- package/internal/NativeDateInput/index.d.ts +1 -1
- package/internal/NativeDateInput/utils.d.ts +7 -7
- package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
- package/internal/Popup/Popup/Popup.js +3 -2
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +167 -166
- package/internal/Popup/Popup.styles.d.ts +16 -16
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupHelper.d.ts +26 -26
- package/internal/Popup/PopupPin.d.ts +56 -56
- package/internal/Popup/PopupPin.styles.d.ts +3 -3
- package/internal/Popup/index.d.ts +1 -1
- package/internal/Popup/types/package.json +6 -0
- package/internal/Popup/types/types.js +1 -0
- package/internal/Popup/types/types.js.map +1 -0
- package/internal/Popup/types.d.ts +2 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -4
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +86 -86
- package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
- package/internal/PopupMenu/index.d.ts +1 -1
- package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/PopupMenu/validatePositions.d.ts +2 -2
- package/internal/RenderContainer/RenderContainer.d.ts +16 -16
- package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
- package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
- package/internal/RenderContainer/index.d.ts +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +29 -29
- package/internal/RenderLayer/index.d.ts +1 -1
- package/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
- package/internal/ResizeDetector/index.d.ts +1 -1
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +51 -0
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
- package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
- package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
- package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
- package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
- package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
- package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
- package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
- package/internal/ThemePlayground/Playground/Playground.js +13 -8
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.d.ts +30 -29
- package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
- package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
- package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
- package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
- package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +0 -6
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground.d.ts +49 -51
- package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
- package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
- package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
- package/internal/ThemePlayground/VariableValue.d.ts +45 -45
- package/internal/ThemePlayground/constants/constants.js +3 -1
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemePlayground/constants.d.ts +17 -18
- package/internal/ThemePlayground/darkTheme/darkTheme.js +14 -0
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemePlayground/darkTheme.d.ts +269 -255
- package/internal/ThemePlayground/helpers.d.ts +2 -2
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +7 -5
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +26 -20
- package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -25
- package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
- package/internal/ZIndex/ZIndex.d.ts +36 -36
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -0
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage.d.ts +20 -19
- package/internal/ZIndex/index.d.ts +1 -1
- package/internal/icons/16px/icon.styles.d.ts +4 -4
- package/internal/icons/16px/index/index.js +42 -0
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +25 -22
- package/internal/icons/20px/Icon.d.ts +30 -30
- package/internal/icons/20px/icon.styles.d.ts +4 -4
- package/internal/icons/20px/index.d.ts +2 -2
- package/internal/icons/20px/svg.d.ts +14 -14
- package/internal/icons/CloudIcon.d.ts +1 -1
- package/internal/icons/CrossIcon.d.ts +1 -1
- package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
- package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/icons/SpinnerIcon.d.ts +27 -24
- package/internal/icons/SpinnerIcon.styles.d.ts +6 -6
- package/internal/themes/DarkTheme/DarkTheme.js +65 -3
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +137 -103
- package/internal/themes/DefaultTheme/DefaultTheme.js +104 -20
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +855 -819
- package/internal/themes/NotFlat.d.ts +127 -127
- package/internal/themes/OldColors/OldColors.js +31 -19
- package/internal/themes/OldColors/OldColors.js.map +1 -1
- package/internal/themes/OldColors.d.ts +116 -110
- package/lib/ConditionalHandler.d.ts +11 -11
- package/lib/LayoutEvents.d.ts +4 -4
- package/lib/ModalStack/ModalStack.js +9 -13
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +14 -14
- package/lib/SSRSafe.d.ts +4 -4
- package/lib/Supports.d.ts +1 -1
- package/lib/Upgrades.d.ts +6 -6
- package/lib/animation/index.d.ts +6 -6
- package/lib/animation/presets.d.ts +18 -18
- package/lib/animation/stepper.d.ts +1 -1
- package/lib/callChildRef/callChildRef.d.ts +3 -3
- package/lib/client.d.ts +16 -16
- package/lib/createPropsGetter.d.ts +2 -2
- package/lib/currentEnvironment.d.ts +3 -3
- package/lib/date/InternalDate.d.ts +58 -58
- package/lib/date/InternalDateCalculator.d.ts +6 -6
- package/lib/date/InternalDateGetter.d.ts +15 -15
- package/lib/date/InternalDateSetter.d.ts +6 -6
- package/lib/date/InternalDateTransformer.d.ts +12 -12
- package/lib/date/InternalDateValidator.d.ts +12 -12
- package/lib/date/constants.d.ts +28 -28
- package/lib/date/localeSets.d.ts +5 -5
- package/lib/date/types.d.ts +90 -90
- package/lib/dom/getDOMRect/getDOMRect.js +23 -0
- package/lib/dom/getDOMRect/getDOMRect.js.map +1 -0
- package/lib/dom/getDOMRect/package.json +6 -0
- package/lib/dom/getDOMRect.d.ts +8 -0
- package/lib/dom/getScrollWidth.d.ts +1 -1
- package/lib/dom/tabbableHelpers.d.ts +16 -16
- package/lib/events/MouseDrag.d.ts +58 -58
- package/lib/events/fixClickFocusIE.d.ts +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
- package/lib/events/keyListener.d.ts +7 -7
- package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
- package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
- package/lib/events/keyboard/extractCode.d.ts +3 -3
- package/lib/events/keyboard/identifiers.d.ts +48 -48
- package/lib/events/stopPropagation.d.ts +1 -1
- package/lib/events/tabListener.d.ts +1 -1
- package/lib/extractKeyboardAction.d.ts +13 -13
- package/lib/filterProps.d.ts +12 -12
- package/lib/forwardRefAndName.d.ts +5 -5
- package/lib/getDisplayName.d.ts +3 -3
- package/lib/listenFocusOutside.d.ts +8 -8
- package/lib/locale/LocaleContext.d.ts +7 -7
- package/lib/locale/LocaleHelper.d.ts +9 -9
- package/lib/locale/constants.d.ts +2 -2
- package/lib/locale/decorators.d.ts +36 -36
- package/lib/locale/index.d.ts +3 -3
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +21 -19
- package/lib/locale/useLocaleForControl/package.json +6 -0
- package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
- package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
- package/lib/locale/useLocaleForControl.d.ts +3 -0
- package/lib/memo.d.ts +1 -1
- package/lib/net/fetch.d.ts +13 -13
- package/lib/polyfillPlaceholder.d.ts +1 -1
- package/lib/reactGetTextContent.d.ts +2 -2
- package/lib/rootNode/getRootNode.d.ts +3 -3
- package/lib/rootNode/index.d.ts +2 -2
- package/lib/rootNode/rootNodeDecorator.d.ts +33 -33
- package/lib/stringUtils/package.json +6 -0
- package/lib/stringUtils/stringUtils.js +12 -0
- package/lib/stringUtils/stringUtils.js.map +1 -0
- package/lib/stringUtils.d.ts +1 -0
- package/lib/styles/ColorFactory.d.ts +11 -11
- package/lib/styles/ColorFunctions.d.ts +11 -11
- package/lib/styles/ColorHelpers.d.ts +20 -20
- package/lib/styles/ColorKeywords.d.ts +150 -150
- package/lib/styles/ColorObject.d.ts +52 -52
- package/lib/styles/DimensionFunctions.d.ts +1 -1
- package/lib/styles/HoldSelectionColor.d.ts +1 -1
- package/lib/styles/Mixins.d.ts +2 -2
- package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
- package/lib/theming/AnimationKeyframes.d.ts +9 -9
- package/lib/theming/Emotion.d.ts +15 -15
- package/lib/theming/Theme.d.ts +3 -3
- package/lib/theming/ThemeContext.d.ts +2 -2
- package/lib/theming/ThemeFactory.d.ts +7 -7
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +15 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +5 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +2 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -1
- package/lib/theming/themes/DefaultTheme.d.ts +1 -1
- package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
- package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
- package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
- package/lib/theming/useTheme/package.json +6 -0
- package/lib/theming/useTheme/useTheme.js +5 -0
- package/lib/theming/useTheme/useTheme.js.map +1 -0
- package/lib/theming/useTheme.d.ts +1 -0
- package/lib/uidUtils/package.json +6 -0
- package/lib/uidUtils/uidUtils.js +4 -0
- package/lib/uidUtils/uidUtils.js.map +1 -0
- package/lib/uidUtils.d.ts +1 -0
- package/lib/utils/utils.js +84 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +64 -31
- package/lib/withClassWrapper.d.ts +71 -71
- package/package.json +4 -1
- package/typings/html-props.d.ts +123 -0
- package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
- package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
- package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
- package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
- package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
- package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","locationUpdateId","anchorElement","refForTransition","createRef","renderContainerRef","childInstance","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","content","children","backgroundColor","theme","contentInner","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","removeEventListeners","remove","render","renderMain","renderMobile","mobileOnCloseRequest","renderChildren","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","instance","originalRef","withoutMobile","renderContent","childDomNode","addEventListeners","setRootNode","addEventListener","removeEventListener","disableAnimations","maxWidth","hasShadow","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","Math","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\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, isNonNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } 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';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } 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 /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n ignoreHover: boolean;\n width: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\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\n@responsiveLayout\n@rootNode\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 width: 'auto',\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 isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\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 const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\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 renderMobile() {\n const { opened } = this.props;\n\n return (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(this.renderChildren())}\n </MobilePopup>\n );\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called with RenderContainer's ref\n // in the case when the anchor is not refable\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={anchorWithRef ? null : this.renderContainerRef}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private renderContainerRef = (childInstance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(childInstance);\n };\n\n private updateAnchorElement(childInstance: Nullable<React.ReactInstance>) {\n const childDomNode = getRootNode(childInstance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n this.setRootNode(childDomNode);\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 calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor, width } = this.props;\n\n return (\n <div className={styles.content(this.theme)} data-tid={'PopupContent'} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { 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 const shouldFallbackShadow = isIE11 || isEdge || isSafari;\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 nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && 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 = (element: Nullable<HTMLElement>) => {\n this.lastPopupElement = element;\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 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 if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\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\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\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: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\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
|
+
{"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","Popup","state","location","props","opened","locationUpdateId","anchorElement","refForTransition","createRef","renderContainerRef","childInstance","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","content","children","backgroundColor","theme","contentInner","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","removeEventListeners","remove","render","renderMain","renderMobile","mobileOnCloseRequest","renderChildren","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","instance","originalRef","withoutMobile","renderContent","childDomNode","addEventListeners","setRootNode","addEventListener","removeEventListener","disableAnimations","maxWidth","hasShadow","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","Math","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\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, isNonNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } 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';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\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] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nconst DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\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: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n ignoreHover: boolean;\n width: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\n@responsiveLayout\n@rootNode\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 width: 'auto',\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 isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\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 const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\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 renderMobile() {\n const { opened } = this.props;\n\n return (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(this.renderChildren())}\n </MobilePopup>\n );\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called with RenderContainer's ref\n // in the case when the anchor is not refable\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={anchorWithRef ? null : this.renderContainerRef}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private renderContainerRef = (childInstance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(childInstance);\n };\n\n private updateAnchorElement(childInstance: Nullable<React.ReactInstance>) {\n const childDomNode = getRootNode(childInstance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n this.setRootNode(childDomNode);\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 calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor, width } = this.props;\n\n return (\n <div className={styles.content(this.theme)} data-tid={'PopupContent'} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { 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 const shouldFallbackShadow = isIE11 || isEdge || isSafari;\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 nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && 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 = (element: Nullable<HTMLElement>) => {\n this.lastPopupElement = element;\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 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 if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\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: PopupPositionsType;\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\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\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: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\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,166 +1,167 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { Nullable } from '../../typings/utility-types';
|
|
4
|
-
import { FocusEventType, MouseEventType } from '../../typings/event-types';
|
|
5
|
-
import { CommonProps } from '../CommonWrapper';
|
|
6
|
-
export declare
|
|
7
|
-
export declare const
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
static
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
*
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
private
|
|
125
|
-
private
|
|
126
|
-
private
|
|
127
|
-
private
|
|
128
|
-
private
|
|
129
|
-
private
|
|
130
|
-
private
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
private
|
|
138
|
-
private
|
|
139
|
-
private
|
|
140
|
-
private
|
|
141
|
-
private
|
|
142
|
-
private
|
|
143
|
-
private
|
|
144
|
-
private
|
|
145
|
-
private
|
|
146
|
-
private
|
|
147
|
-
private
|
|
148
|
-
private
|
|
149
|
-
private
|
|
150
|
-
private
|
|
151
|
-
private
|
|
152
|
-
private
|
|
153
|
-
private
|
|
154
|
-
private
|
|
155
|
-
private
|
|
156
|
-
private
|
|
157
|
-
private
|
|
158
|
-
private
|
|
159
|
-
private
|
|
160
|
-
private
|
|
161
|
-
private
|
|
162
|
-
private
|
|
163
|
-
private
|
|
164
|
-
private
|
|
165
|
-
|
|
166
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { Nullable } from '../../typings/utility-types';
|
|
4
|
+
import { FocusEventType, MouseEventType } from '../../typings/event-types';
|
|
5
|
+
import { CommonProps } from '../CommonWrapper';
|
|
6
|
+
export declare const PopupPositions: readonly ["top left", "top center", "top right", "right top", "right middle", "right bottom", "bottom right", "bottom center", "bottom left", "left bottom", "left middle", "left top"];
|
|
7
|
+
export declare const DefaultPosition: "top left";
|
|
8
|
+
export declare type PopupPositionsType = typeof PopupPositions[number];
|
|
9
|
+
export interface PopupHandlerProps {
|
|
10
|
+
onMouseEnter?: (event: MouseEventType) => void;
|
|
11
|
+
onMouseLeave?: (event: MouseEventType) => void;
|
|
12
|
+
onClick?: (event: MouseEventType) => void;
|
|
13
|
+
onFocus?: (event: FocusEventType) => void;
|
|
14
|
+
onBlur?: (event: FocusEventType) => void;
|
|
15
|
+
onOpen?: () => void;
|
|
16
|
+
onClose?: () => void;
|
|
17
|
+
}
|
|
18
|
+
export interface PopupProps extends CommonProps, PopupHandlerProps {
|
|
19
|
+
anchorElement: React.ReactNode | HTMLElement;
|
|
20
|
+
backgroundColor?: React.CSSProperties['backgroundColor'];
|
|
21
|
+
borderColor?: React.CSSProperties['borderColor'];
|
|
22
|
+
children: React.ReactNode | (() => React.ReactNode);
|
|
23
|
+
hasPin: boolean;
|
|
24
|
+
hasShadow: boolean;
|
|
25
|
+
disableAnimations: boolean;
|
|
26
|
+
margin?: number;
|
|
27
|
+
maxWidth?: number | string;
|
|
28
|
+
opened: boolean;
|
|
29
|
+
pinOffset?: number;
|
|
30
|
+
pinSize?: number;
|
|
31
|
+
popupOffset: number;
|
|
32
|
+
positions: Readonly<PopupPositionsType[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
|
|
35
|
+
*
|
|
36
|
+
* _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
|
|
37
|
+
*/
|
|
38
|
+
useWrapper: boolean;
|
|
39
|
+
ignoreHover: boolean;
|
|
40
|
+
width: React.CSSProperties['width'];
|
|
41
|
+
/**
|
|
42
|
+
* При очередном рендере пытаться сохранить первоначальную позицию попапа
|
|
43
|
+
* (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).
|
|
44
|
+
*
|
|
45
|
+
* Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.
|
|
46
|
+
* @see https://github.com/skbkontur/retail-ui/pull/1195
|
|
47
|
+
*/
|
|
48
|
+
tryPreserveFirstRenderedPosition?: boolean;
|
|
49
|
+
withoutMobile?: boolean;
|
|
50
|
+
mobileOnCloseRequest?: () => void;
|
|
51
|
+
}
|
|
52
|
+
interface PopupLocation {
|
|
53
|
+
coordinates: {
|
|
54
|
+
left: number;
|
|
55
|
+
top: number;
|
|
56
|
+
};
|
|
57
|
+
position: PopupPositionsType;
|
|
58
|
+
}
|
|
59
|
+
export interface PopupState {
|
|
60
|
+
location: Nullable<PopupLocation>;
|
|
61
|
+
}
|
|
62
|
+
export declare class Popup extends React.Component<PopupProps, PopupState> {
|
|
63
|
+
static __KONTUR_REACT_UI__: string;
|
|
64
|
+
static propTypes: {
|
|
65
|
+
/**
|
|
66
|
+
* Ссылка (ref) на элемент или React компонент, для которого рисуется попап
|
|
67
|
+
*/
|
|
68
|
+
anchorElement: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
69
|
+
/**
|
|
70
|
+
* Фон попапа и пина
|
|
71
|
+
*/
|
|
72
|
+
backgroundColor: PropTypes.Requireable<string>;
|
|
73
|
+
children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
74
|
+
/**
|
|
75
|
+
* Показывать ли пин
|
|
76
|
+
*/
|
|
77
|
+
hasPin: PropTypes.Requireable<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* Применять ли box-shadow на попапе. При false отключает границу на пине
|
|
80
|
+
*/
|
|
81
|
+
hasShadow: PropTypes.Requireable<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Отступ попапа от элемента
|
|
84
|
+
*/
|
|
85
|
+
margin: PropTypes.Requireable<number>;
|
|
86
|
+
/**
|
|
87
|
+
* Показан или скрыт попап
|
|
88
|
+
*/
|
|
89
|
+
opened: PropTypes.Requireable<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
92
|
+
*/
|
|
93
|
+
pinOffset: PropTypes.Requireable<number>;
|
|
94
|
+
/**
|
|
95
|
+
* Сторона пина без учёта границы.
|
|
96
|
+
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
97
|
+
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
98
|
+
*/
|
|
99
|
+
pinSize: PropTypes.Requireable<number>;
|
|
100
|
+
/**
|
|
101
|
+
* смещение попапа относительно родительского элемента
|
|
102
|
+
*/
|
|
103
|
+
popupOffset: PropTypes.Requireable<number>;
|
|
104
|
+
/**
|
|
105
|
+
* С какой стороны показывать попап и край попапа,
|
|
106
|
+
* на котором будет отображаться пин
|
|
107
|
+
*/
|
|
108
|
+
positions: PropTypes.Requireable<any[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Игнорировать ли события hover/click
|
|
111
|
+
*/
|
|
112
|
+
ignoreHover: PropTypes.Requireable<boolean>;
|
|
113
|
+
};
|
|
114
|
+
static defaultProps: {
|
|
115
|
+
popupOffset: number;
|
|
116
|
+
hasPin: boolean;
|
|
117
|
+
hasShadow: boolean;
|
|
118
|
+
disableAnimations: boolean;
|
|
119
|
+
useWrapper: boolean;
|
|
120
|
+
ignoreHover: boolean;
|
|
121
|
+
width: string;
|
|
122
|
+
};
|
|
123
|
+
state: PopupState;
|
|
124
|
+
private theme;
|
|
125
|
+
private layoutEventsToken;
|
|
126
|
+
private locationUpdateId;
|
|
127
|
+
private lastPopupElement;
|
|
128
|
+
private anchorElement;
|
|
129
|
+
private isMobileLayout;
|
|
130
|
+
private setRootNode;
|
|
131
|
+
private refForTransition;
|
|
132
|
+
componentDidMount(): void;
|
|
133
|
+
static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState): PopupState;
|
|
134
|
+
componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
|
|
135
|
+
componentWillUnmount(): void;
|
|
136
|
+
render(): JSX.Element;
|
|
137
|
+
private renderMobile;
|
|
138
|
+
private renderMain;
|
|
139
|
+
private renderContainerRef;
|
|
140
|
+
private updateAnchorElement;
|
|
141
|
+
private addEventListeners;
|
|
142
|
+
private removeEventListeners;
|
|
143
|
+
private handleMouseEnter;
|
|
144
|
+
private handleMouseLeave;
|
|
145
|
+
private handleClick;
|
|
146
|
+
private handleFocus;
|
|
147
|
+
private handleBlur;
|
|
148
|
+
private calculateWidth;
|
|
149
|
+
private content;
|
|
150
|
+
private renderContent;
|
|
151
|
+
private resetLocation;
|
|
152
|
+
private renderChildren;
|
|
153
|
+
private refPopupElement;
|
|
154
|
+
private renderPin;
|
|
155
|
+
private handleLayoutEvent;
|
|
156
|
+
private delayUpdateLocation;
|
|
157
|
+
private cancelDelayedUpdateLocation;
|
|
158
|
+
private updateLocation;
|
|
159
|
+
private locationEquals;
|
|
160
|
+
private getLocation;
|
|
161
|
+
private getPinnedPopupOffset;
|
|
162
|
+
private getCoordinates;
|
|
163
|
+
private getPinOffset;
|
|
164
|
+
private getHorizontalPosition;
|
|
165
|
+
private getVerticalPosition;
|
|
166
|
+
}
|
|
167
|
+
export {};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Theme } from '../../lib/theming/Theme';
|
|
2
|
-
export declare const styles: {
|
|
3
|
-
popup(t: Theme): string;
|
|
4
|
-
popupIgnoreHover(): string;
|
|
5
|
-
content(t: Theme): string;
|
|
6
|
-
contentInner(t: Theme): string;
|
|
7
|
-
shadow(t: Theme): string;
|
|
8
|
-
shadowFallback(t: Theme): string;
|
|
9
|
-
transitionEnter(): string;
|
|
10
|
-
'transition-enter-top'(): string;
|
|
11
|
-
'transition-enter-bottom'(): string;
|
|
12
|
-
'transition-enter-left'(): string;
|
|
13
|
-
'transition-enter-right'(): string;
|
|
14
|
-
transitionEnterActive(): string;
|
|
15
|
-
transitionExit(): string;
|
|
16
|
-
};
|
|
1
|
+
import { Theme } from '../../lib/theming/Theme';
|
|
2
|
+
export declare const styles: {
|
|
3
|
+
popup(t: Theme): string;
|
|
4
|
+
popupIgnoreHover(): string;
|
|
5
|
+
content(t: Theme): string;
|
|
6
|
+
contentInner(t: Theme): string;
|
|
7
|
+
shadow(t: Theme): string;
|
|
8
|
+
shadowFallback(t: Theme): string;
|
|
9
|
+
transitionEnter(): string;
|
|
10
|
+
'transition-enter-top'(): string;
|
|
11
|
+
'transition-enter-bottom'(): string;
|
|
12
|
+
'transition-enter-left'(): string;
|
|
13
|
+
'transition-enter-right'(): string;
|
|
14
|
+
transitionEnterActive(): string;
|
|
15
|
+
transitionExit(): string;
|
|
16
|
+
};
|