@skbkontur/react-ui 3.9.2 → 3.9.3-sidepagefix
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +112 -112
- package/cjs/components/Autocomplete/index.d.ts +1 -1
- package/cjs/components/Button/Button.d.ts +160 -157
- package/cjs/components/Button/Button.js +8 -1
- 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 +67 -67
- 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 +24 -24
- 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 +95 -96
- package/cjs/components/Checkbox/Checkbox.js +21 -18
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
- package/cjs/components/Checkbox/index.d.ts +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +182 -182
- 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 -105
- package/cjs/components/CurrencyInput/CurrencyInput.js +29 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- 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 +106 -106
- 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 +132 -132
- 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 +123 -123
- package/cjs/components/Dropdown/index.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +64 -64
- package/cjs/components/DropdownMenu/index.d.ts +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +49 -49
- package/cjs/components/FxInput/index.d.ts +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +56 -56
- package/cjs/components/Gapped/index.d.ts +1 -1
- package/cjs/components/Group/Group.d.ts +13 -13
- 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 +79 -79
- package/cjs/components/Hint/Hint.styles.d.ts +5 -5
- package/cjs/components/Hint/index.d.ts +1 -1
- package/cjs/components/Input/Input.d.ts +154 -150
- package/cjs/components/Input/Input.js +9 -0
- package/cjs/components/Input/Input.js.map +1 -1
- 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 +70 -70
- 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 +71 -71
- package/cjs/components/Link/Link.mixins.d.ts +3 -3
- package/cjs/components/Link/Link.styles.d.ts +15 -15
- package/cjs/components/Link/index.d.ts +1 -1
- package/cjs/components/Loader/Loader.d.ts +99 -99
- 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 +93 -93
- package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
- 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 +87 -87
- package/cjs/components/Modal/Modal.styles.d.ts +26 -26
- package/cjs/components/Modal/ModalBody.d.ts +20 -20
- package/cjs/components/Modal/ModalClose.d.ts +2 -2
- package/cjs/components/Modal/ModalContext.d.ts +15 -15
- package/cjs/components/Modal/ModalFooter.d.ts +21 -21
- 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 +48 -48
- 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 +82 -82
- package/cjs/components/Radio/Radio.js +4 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.d.ts +19 -19
- 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 +132 -132
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
- package/cjs/components/RadioGroup/index.d.ts +1 -1
- 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 +83 -83
- 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 +178 -178
- package/cjs/components/Select/Select.js +3 -2
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.d.ts +17 -17
- 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 +107 -103
- package/cjs/components/SidePage/SidePage.js +19 -8
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
- package/cjs/components/SidePage/SidePageBody.d.ts +18 -18
- package/cjs/components/SidePage/SidePageContainer.d.ts +14 -14
- package/cjs/components/SidePage/SidePageContext.d.ts +17 -15
- package/cjs/components/SidePage/SidePageContext.js +3 -0
- package/cjs/components/SidePage/SidePageContext.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +37 -37
- package/cjs/components/SidePage/SidePageHeader.d.ts +43 -40
- package/cjs/components/SidePage/SidePageHeader.js +26 -8
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/index.d.ts +5 -5
- package/cjs/components/Spinner/Spinner.d.ts +47 -47
- package/cjs/components/Spinner/Spinner.styles.d.ts +11 -11
- 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 +58 -53
- package/cjs/components/Sticky/Sticky.js +5 -0
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- 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 +55 -55
- package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
- 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 +27 -27
- package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
- package/cjs/components/Tabs/Tab.d.ts +120 -120
- package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
- package/cjs/components/Tabs/Tabs.d.ts +61 -61
- 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 +184 -184
- 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 +55 -55
- 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 +37 -37
- 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 +106 -106
- 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 +35 -35
- 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 +193 -193
- 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 +171 -171
- 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 +64 -64
- package/cjs/components/TooltipMenu/index.d.ts +1 -1
- package/cjs/index.d.ts +48 -48
- 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 +9 -9
- 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 +23 -23
- 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 +31 -31
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +87 -87
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +135 -135
- 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 +46 -46
- package/cjs/internal/DropdownContainer/index.d.ts +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +16 -16
- 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 +72 -72
- 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 +64 -64
- 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 +62 -62
- 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/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 +161 -161
- package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
- package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
- 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/PopupMenu/PopupMenu.d.ts +84 -84
- package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
- package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
- package/cjs/internal/PopupMenu/index.d.ts +1 -1
- package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
- 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 +27 -27
- package/cjs/internal/RenderLayer/index.d.ts +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
- package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
- package/cjs/internal/ResizeDetector/index.d.ts +1 -1
- 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 +31 -31
- 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 +51 -51
- 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 +18 -18
- package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
- package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
- package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
- package/cjs/internal/ZIndex/ZIndex.d.ts +34 -34
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
- 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 +21 -21
- 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 +23 -23
- package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
- package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
- package/cjs/internal/themes/FlatTheme.d.ts +132 -132
- package/cjs/internal/themes/Theme8px.d.ts +271 -271
- 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/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/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/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 -0
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
- 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 -0
- package/cjs/lib/getDisplayName.js +9 -0
- package/cjs/lib/getDisplayName.js.map +1 -0
- 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 +19 -19
- 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/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/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 +8 -8
- package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
- package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
- package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
- package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
- package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
- package/cjs/lib/utils.d.ts +28 -28
- package/cjs/lib/withClassWrapper.d.ts +68 -0
- package/cjs/lib/withClassWrapper.js +59 -0
- package/cjs/lib/withClassWrapper.js.map +1 -0
- package/components/Autocomplete/Autocomplete.d.ts +112 -112
- package/components/Autocomplete/index.d.ts +1 -1
- package/components/Button/Button/Button.js +10 -0
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +160 -157
- package/components/Button/Button.mixins.d.ts +6 -6
- package/components/Button/Button.styles.d.ts +67 -67
- package/components/Button/Corners.d.ts +6 -6
- package/components/Button/index.d.ts +1 -1
- package/components/Center/Center.d.ts +24 -24
- package/components/Center/Center.styles.d.ts +7 -7
- package/components/Center/index.d.ts +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +18 -20
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +95 -96
- package/components/Checkbox/Checkbox.styles.d.ts +22 -22
- package/components/Checkbox/index.d.ts +1 -1
- package/components/ComboBox/ComboBox.d.ts +182 -182
- package/components/ComboBox/index.d.ts +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +34 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +106 -105
- 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 +106 -106
- 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 +132 -132
- 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 +123 -123
- package/components/Dropdown/index.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +64 -64
- package/components/DropdownMenu/index.d.ts +1 -1
- package/components/FxInput/FxInput.d.ts +49 -49
- package/components/FxInput/index.d.ts +1 -1
- package/components/Gapped/Gapped.d.ts +56 -56
- package/components/Gapped/index.d.ts +1 -1
- package/components/Group/Group.d.ts +13 -13
- package/components/Group/Group.styles.d.ts +8 -8
- package/components/Group/index.d.ts +1 -1
- package/components/Hint/Hint.d.ts +79 -79
- package/components/Hint/Hint.styles.d.ts +5 -5
- package/components/Hint/index.d.ts +1 -1
- package/components/Input/Input/Input.js +8 -0
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +154 -150
- package/components/Input/Input.styles.d.ts +42 -42
- package/components/Input/index.d.ts +1 -1
- package/components/Kebab/Kebab.d.ts +70 -70
- package/components/Kebab/Kebab.styles.d.ts +12 -12
- package/components/Kebab/index.d.ts +1 -1
- package/components/Link/Link.d.ts +71 -71
- package/components/Link/Link.mixins.d.ts +3 -3
- package/components/Link/Link.styles.d.ts +15 -15
- package/components/Link/index.d.ts +1 -1
- package/components/Loader/Loader.d.ts +99 -99
- 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.d.ts +93 -93
- package/components/MenuItem/MenuItem.styles.d.ts +13 -13
- 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 +87 -87
- package/components/Modal/Modal.styles.d.ts +26 -26
- package/components/Modal/ModalBody.d.ts +20 -20
- package/components/Modal/ModalClose.d.ts +2 -2
- package/components/Modal/ModalContext.d.ts +15 -15
- 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 +48 -48
- package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
- package/components/PasswordInput/index.d.ts +1 -1
- package/components/Radio/Radio/Radio.js +4 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +82 -82
- package/components/Radio/Radio.styles.d.ts +19 -19
- package/components/Radio/index.d.ts +1 -1
- package/components/RadioGroup/Prevent.d.ts +8 -8
- package/components/RadioGroup/RadioGroup.d.ts +132 -132
- package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
- package/components/RadioGroup/index.d.ts +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +37 -37
- package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
- package/components/ScrollContainer/ScrollContainer.d.ts +83 -83
- 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/Select.js +6 -1
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +178 -178
- package/components/Select/Select.styles.d.ts +17 -17
- 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/SidePage.js +21 -12
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +107 -103
- package/components/SidePage/SidePage.styles.d.ts +37 -37
- package/components/SidePage/SidePageBody.d.ts +18 -18
- package/components/SidePage/SidePageContainer.d.ts +14 -14
- package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
- package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
- package/components/SidePage/SidePageContext.d.ts +17 -15
- package/components/SidePage/SidePageFooter.d.ts +37 -37
- package/components/SidePage/SidePageHeader/SidePageHeader.js +21 -2
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +43 -40
- package/components/SidePage/index.d.ts +5 -5
- package/components/Spinner/Spinner.d.ts +47 -47
- package/components/Spinner/Spinner.styles.d.ts +11 -11
- 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/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +58 -53
- package/components/Sticky/Sticky.styles.d.ts +7 -7
- package/components/Sticky/index.d.ts +1 -1
- package/components/Switcher/Switcher.d.ts +55 -55
- package/components/Switcher/Switcher.styles.d.ts +10 -10
- package/components/Switcher/index.d.ts +1 -1
- package/components/Switcher/switcherTheme.d.ts +2 -2
- package/components/Tabs/Indicator.d.ts +27 -27
- package/components/Tabs/Indicator.styles.d.ts +8 -8
- package/components/Tabs/Tab.d.ts +120 -120
- package/components/Tabs/Tab.styles.d.ts +27 -27
- package/components/Tabs/Tabs.d.ts +61 -61
- 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 +184 -184
- 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 +55 -55
- package/components/Toast/Toast.styles.d.ts +6 -6
- package/components/Toast/ToastStatic.d.ts +8 -8
- package/components/Toast/ToastView.d.ts +37 -37
- package/components/Toast/ToastView.styles.d.ts +8 -8
- package/components/Toast/index.d.ts +1 -1
- package/components/Toggle/Toggle.d.ts +106 -106
- package/components/Toggle/Toggle.styles.d.ts +30 -30
- package/components/Toggle/index.d.ts +1 -1
- package/components/Token/Token.d.ts +35 -35
- 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 +193 -193
- 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.d.ts +171 -171
- package/components/Tooltip/Tooltip.styles.d.ts +5 -5
- package/components/Tooltip/index.d.ts +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +64 -64
- package/components/TooltipMenu/index.d.ts +1 -1
- package/index.d.ts +48 -48
- 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 +9 -9
- 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 +23 -23
- 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 +31 -31
- package/internal/CustomComboBox/ComboBoxView.d.ts +87 -87
- package/internal/CustomComboBox/CustomComboBox.d.ts +135 -135
- 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 +46 -46
- package/internal/DropdownContainer/index.d.ts +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +16 -16
- 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 +72 -72
- package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
- package/internal/InputLikeText/index.d.ts +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +64 -64
- 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 +62 -62
- 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/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.d.ts +161 -161
- package/internal/Popup/Popup.styles.d.ts +16 -16
- 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/PopupMenu/PopupMenu.d.ts +84 -84
- package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
- package/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
- package/internal/PopupMenu/index.d.ts +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 +27 -27
- package/internal/RenderLayer/index.d.ts +1 -1
- package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
- package/internal/ResizeDetector/index.d.ts +1 -1
- 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.d.ts +31 -31
- 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.d.ts +51 -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.d.ts +18 -18
- package/internal/ThemePlayground/darkTheme.d.ts +255 -255
- package/internal/ThemePlayground/helpers.d.ts +2 -2
- package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
- package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
- package/internal/ZIndex/ZIndex.d.ts +34 -34
- package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
- package/internal/ZIndex/index.d.ts +1 -1
- package/internal/icons/16px/icon.styles.d.ts +4 -4
- package/internal/icons/16px/index.d.ts +21 -21
- 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.d.ts +23 -23
- package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
- package/internal/themes/DefaultTheme.d.ts +766 -766
- package/internal/themes/FlatTheme.d.ts +132 -132
- package/internal/themes/Theme8px.d.ts +271 -271
- package/lib/ConditionalHandler.d.ts +11 -11
- package/lib/LayoutEvents.d.ts +4 -4
- 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/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/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/fixFirefoxModifiedClickOnLabel.js +19 -0
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
- package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
- package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
- 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/getDisplayName.js +3 -0
- package/lib/getDisplayName/getDisplayName.js.map +1 -0
- package/lib/getDisplayName/package.json +6 -0
- package/lib/getDisplayName.d.ts +3 -0
- 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.d.ts +19 -19
- 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/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.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 +8 -8
- package/lib/theming/ThemeHelpers.d.ts +11 -11
- package/lib/theming/themes/DefaultTheme.d.ts +1 -1
- package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
- package/lib/theming/themes/FlatTheme.d.ts +1 -1
- package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
- package/lib/utils.d.ts +28 -28
- package/lib/withClassWrapper/package.json +6 -0
- package/lib/withClassWrapper/withClassWrapper.js +70 -0
- package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
- package/lib/withClassWrapper.d.ts +68 -0
- package/package.json +4 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["SidePageContext.ts"],"names":["React","SidePageContext","createContext","requestClose","undefined","getWidth","updateLayout","footerRef","displayName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB
|
|
1
|
+
{"version":3,"sources":["SidePageContext.ts"],"names":["React","SidePageContext","createContext","requestClose","undefined","getWidth","updateLayout","headerRef","footerRef","displayName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,IAAMC,eAAe,gBAAGD,KAAK,CAACE,aAAN,CAAyC;AACtEC,EAAAA,YAAY,EAAE,gCAAMC,SAAN,EADwD;AAEtEC,EAAAA,QAAQ,EAAE,4BAAM,MAAN,EAF4D;AAGtEC,EAAAA,YAAY,EAAE,gCAAMF,SAAN,EAHwD;AAItEG,EAAAA,SAAS,EAAE,6BAAMH,SAAN,EAJ2D;AAKtEI,EAAAA,SAAS,EAAE,6BAAMJ,SAAN,EAL2D,EAAzC,CAAxB;;;AAQPH,eAAe,CAACQ,WAAhB,GAA8B,iBAA9B","sourcesContent":["import React from 'react';\n\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\n\nexport interface SidePageContextType {\n requestClose: () => void;\n getWidth: () => number | string;\n updateLayout: () => void;\n headerRef: (ref: SidePageHeader | null) => void;\n footerRef: (ref: SidePageFooter | null) => void;\n hasHeader?: boolean;\n hasFooter?: boolean;\n hasPanel?: boolean;\n setHasHeader?: (value?: boolean) => void;\n setHasFooter?: (value?: boolean) => void;\n setHasPanel?: (value?: boolean) => void;\n}\n\nexport const SidePageContext = React.createContext<SidePageContextType>({\n requestClose: () => undefined,\n getWidth: () => 'auto',\n updateLayout: () => undefined,\n headerRef: () => undefined,\n footerRef: () => undefined,\n});\n\nSidePageContext.displayName = 'SidePageContext';\n"]}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SidePageFooter } from './SidePageFooter';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SidePageFooter } from './SidePageFooter';
|
|
3
|
+
import { SidePageHeader } from './SidePageHeader';
|
|
4
|
+
export interface SidePageContextType {
|
|
5
|
+
requestClose: () => void;
|
|
6
|
+
getWidth: () => number | string;
|
|
7
|
+
updateLayout: () => void;
|
|
8
|
+
headerRef: (ref: SidePageHeader | null) => void;
|
|
9
|
+
footerRef: (ref: SidePageFooter | null) => void;
|
|
10
|
+
hasHeader?: boolean;
|
|
11
|
+
hasFooter?: boolean;
|
|
12
|
+
hasPanel?: boolean;
|
|
13
|
+
setHasHeader?: (value?: boolean) => void;
|
|
14
|
+
setHasFooter?: (value?: boolean) => void;
|
|
15
|
+
setHasPanel?: (value?: boolean) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare const SidePageContext: React.Context<SidePageContextType>;
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
|
-
import { SidePageContextType } from './SidePageContext';
|
|
4
|
-
export interface SidePageFooterProps extends CommonProps {
|
|
5
|
-
children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
|
|
6
|
-
/**
|
|
7
|
-
* Включает серый цвет в футере
|
|
8
|
-
*/
|
|
9
|
-
panel?: boolean;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Футер сайдпейджа.
|
|
13
|
-
*
|
|
14
|
-
* @visibleName SidePage.Footer
|
|
15
|
-
*/
|
|
16
|
-
export declare class SidePageFooter extends React.Component<SidePageFooterProps> {
|
|
17
|
-
static __KONTUR_REACT_UI__: string;
|
|
18
|
-
static contextType: React.Context<SidePageContextType>;
|
|
19
|
-
context: SidePageContextType;
|
|
20
|
-
state: {
|
|
21
|
-
fixed: boolean;
|
|
22
|
-
};
|
|
23
|
-
private theme;
|
|
24
|
-
private content;
|
|
25
|
-
private wrapper;
|
|
26
|
-
private layoutSub;
|
|
27
|
-
componentDidMount(): void;
|
|
28
|
-
componentDidUpdate(prevProps: Readonly<SidePageFooterProps>): void;
|
|
29
|
-
componentWillUnmount(): void;
|
|
30
|
-
render(): JSX.Element;
|
|
31
|
-
update: () => void;
|
|
32
|
-
private renderMain;
|
|
33
|
-
private refContent;
|
|
34
|
-
private refWrapper;
|
|
35
|
-
private setProperStyles;
|
|
36
|
-
private getContentHeight;
|
|
37
|
-
}
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
|
+
import { SidePageContextType } from './SidePageContext';
|
|
4
|
+
export interface SidePageFooterProps extends CommonProps {
|
|
5
|
+
children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
|
|
6
|
+
/**
|
|
7
|
+
* Включает серый цвет в футере
|
|
8
|
+
*/
|
|
9
|
+
panel?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Футер сайдпейджа.
|
|
13
|
+
*
|
|
14
|
+
* @visibleName SidePage.Footer
|
|
15
|
+
*/
|
|
16
|
+
export declare class SidePageFooter extends React.Component<SidePageFooterProps> {
|
|
17
|
+
static __KONTUR_REACT_UI__: string;
|
|
18
|
+
static contextType: React.Context<SidePageContextType>;
|
|
19
|
+
context: SidePageContextType;
|
|
20
|
+
state: {
|
|
21
|
+
fixed: boolean;
|
|
22
|
+
};
|
|
23
|
+
private theme;
|
|
24
|
+
private content;
|
|
25
|
+
private wrapper;
|
|
26
|
+
private layoutSub;
|
|
27
|
+
componentDidMount(): void;
|
|
28
|
+
componentDidUpdate(prevProps: Readonly<SidePageFooterProps>): void;
|
|
29
|
+
componentWillUnmount(): void;
|
|
30
|
+
render(): JSX.Element;
|
|
31
|
+
update: () => void;
|
|
32
|
+
private renderMain;
|
|
33
|
+
private refContent;
|
|
34
|
+
private refWrapper;
|
|
35
|
+
private setProperStyles;
|
|
36
|
+
private getContentHeight;
|
|
37
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
3
4
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
4
5
|
import React from 'react';
|
|
5
6
|
import { Sticky } from "../../Sticky";
|
|
@@ -35,19 +36,28 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
35
36
|
};
|
|
36
37
|
_this.theme = void 0;
|
|
37
38
|
_this.wrapper = null;
|
|
39
|
+
_this.sticky = null;
|
|
38
40
|
_this.lastRegularHeight = 0;
|
|
39
41
|
|
|
40
42
|
_this.componentDidMount = function () {
|
|
41
43
|
window.addEventListener('scroll', _this.update, true);
|
|
42
44
|
_this.context.setHasHeader == null ? void 0 : _this.context.setHasHeader();
|
|
45
|
+
|
|
46
|
+
_this.context.headerRef(_assertThisInitialized(_this));
|
|
43
47
|
};
|
|
44
48
|
|
|
45
49
|
_this.componentWillUnmount = function () {
|
|
46
50
|
window.removeEventListener('scroll', _this.update, true);
|
|
47
51
|
_this.context.setHasHeader == null ? void 0 : _this.context.setHasHeader(false);
|
|
52
|
+
|
|
53
|
+
_this.context.headerRef(null);
|
|
48
54
|
};
|
|
49
55
|
|
|
50
56
|
_this.update = function () {
|
|
57
|
+
var _this$sticky;
|
|
58
|
+
|
|
59
|
+
(_this$sticky = _this.sticky) == null ? void 0 : _this$sticky.reflow();
|
|
60
|
+
|
|
51
61
|
_this.updateReadyToFix();
|
|
52
62
|
};
|
|
53
63
|
|
|
@@ -72,7 +82,11 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
72
82
|
}, /*#__PURE__*/React.createElement(Sticky, {
|
|
73
83
|
side: "top",
|
|
74
84
|
offset: stickyOffset
|
|
75
|
-
},
|
|
85
|
+
}, _this.closeIcon));
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
_this.closeIcon = function () {
|
|
89
|
+
return /*#__PURE__*/React.createElement(SidePageContext.Consumer, null, function (_ref) {
|
|
76
90
|
var _cx3;
|
|
77
91
|
|
|
78
92
|
var requestClose = _ref.requestClose;
|
|
@@ -84,7 +98,7 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
84
98
|
"data-tid": "SidePage__close",
|
|
85
99
|
tabIndex: 0
|
|
86
100
|
}, /*#__PURE__*/React.createElement(CrossIcon, null));
|
|
87
|
-
})
|
|
101
|
+
});
|
|
88
102
|
};
|
|
89
103
|
|
|
90
104
|
_this.updateReadyToFix = function () {
|
|
@@ -105,6 +119,10 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
105
119
|
_this.wrapper = el;
|
|
106
120
|
};
|
|
107
121
|
|
|
122
|
+
_this.stickyRef = function (el) {
|
|
123
|
+
_this.sticky = el;
|
|
124
|
+
};
|
|
125
|
+
|
|
108
126
|
_this.handleFocus = function () {
|
|
109
127
|
requestAnimationFrame(function () {
|
|
110
128
|
if (keyListener.isTabPressed) {
|
|
@@ -141,6 +159,7 @@ export var SidePageHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
141
159
|
ref: this.wrapperRef,
|
|
142
160
|
className: styles.headerWrapper()
|
|
143
161
|
}, isReadyToFix ? /*#__PURE__*/React.createElement(Sticky, {
|
|
162
|
+
ref: this.stickyRef,
|
|
144
163
|
side: "top"
|
|
145
164
|
}, this.renderHeader) : this.renderHeader()));
|
|
146
165
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["SidePageHeader.tsx"],"names":["React","Sticky","CrossIcon","isFunction","ThemeContext","CommonWrapper","cx","keyListener","styles","SidePageContext","SidePageHeader","context","state","isReadyToFix","focusedByTab","theme","wrapper","lastRegularHeight","componentDidMount","window","addEventListener","update","setHasHeader","componentWillUnmount","removeEventListener","updateReadyToFix","renderHeader","fixed","header","headerFixed","renderClose","title","titleFixed","props","children","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","requestClose","close","closeFocus","handleFocus","handleBlur","wrapperScrolledUp","getBoundingClientRect","top","regularHeight","fixedHeaderHeight","setState","wrapperRef","el","requestAnimationFrame","isTabPressed","render","renderMain","headerWrapper","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Sticky } from '../Sticky';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageHeaderProps extends CommonProps {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n focusedByTab: boolean;\n}\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n public state = {\n isReadyToFix: false,\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private lastRegularHeight = 0;\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = this.wrapper.getBoundingClientRect().height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n window.addEventListener('scroll', this.update, true);\n this.context.setHasHeader?.();\n };\n\n public componentWillUnmount = () => {\n window.removeEventListener('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n };\n\n public update = () => {\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isReadyToFix ? <Sticky side=\"top\">{this.renderHeader}</Sticky> : this.renderHeader()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n return (\n <div className={cx(styles.header(this.theme), { [styles.headerFixed(this.theme)]: fixed })}>\n {this.renderClose(fixed)}\n <div className={cx(styles.title(this.theme), { [styles.titleFixed()]: fixed })}>\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n\n return (\n <div className={cx(styles.wrapperClose(this.theme), fixed && styles.fixed(this.theme))}>\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageContext.Consumer>\n {({ requestClose }) => (\n <button\n className={cx(styles.close(this.theme), {\n [styles.closeFocus(this.theme)]: this.state.focusedByTab,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={requestClose}\n data-tid=\"SidePage__close\"\n tabIndex={0}\n >\n <CrossIcon />\n </button>\n )}\n </SidePageContext.Consumer>\n </Sticky>\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = this.wrapper.getBoundingClientRect().top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private handleFocus = () => {\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["SidePageHeader.tsx"],"names":["React","Sticky","CrossIcon","isFunction","ThemeContext","CommonWrapper","cx","keyListener","styles","SidePageContext","SidePageHeader","context","state","isReadyToFix","focusedByTab","theme","wrapper","sticky","lastRegularHeight","componentDidMount","window","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","reflow","updateReadyToFix","renderHeader","fixed","header","headerFixed","renderClose","title","titleFixed","props","children","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","closeIcon","requestClose","close","closeFocus","handleFocus","handleBlur","wrapperScrolledUp","getBoundingClientRect","top","regularHeight","fixedHeaderHeight","setState","wrapperRef","el","stickyRef","requestAnimationFrame","isTabPressed","render","renderMain","headerWrapper","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Sticky } from '../Sticky';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageHeaderProps extends CommonProps {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n focusedByTab: boolean;\n}\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n public state = {\n isReadyToFix: false,\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = this.wrapper.getBoundingClientRect().height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n window.addEventListener('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n window.removeEventListener('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n this.context.headerRef(null);\n };\n\n public update = () => {\n this.sticky?.reflow();\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isReadyToFix ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {this.renderHeader}\n </Sticky>\n ) : (\n this.renderHeader()\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n return (\n <div className={cx(styles.header(this.theme), { [styles.headerFixed(this.theme)]: fixed })}>\n {this.renderClose(fixed)}\n <div className={cx(styles.title(this.theme), { [styles.titleFixed()]: fixed })}>\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n\n return (\n <div className={cx(styles.wrapperClose(this.theme), fixed && styles.fixed(this.theme))}>\n <Sticky side=\"top\" offset={stickyOffset}>\n {this.closeIcon}\n </Sticky>\n </div>\n );\n };\n\n private closeIcon = () => (\n <SidePageContext.Consumer>\n {({ requestClose }) => (\n <button\n className={cx(styles.close(this.theme), {\n [styles.closeFocus(this.theme)]: this.state.focusedByTab,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={requestClose}\n data-tid=\"SidePage__close\"\n tabIndex={0}\n >\n <CrossIcon />\n </button>\n )}\n </SidePageContext.Consumer>\n );\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = this.wrapper.getBoundingClientRect().top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private stickyRef = (el: Sticky | null) => {\n this.sticky = el;\n };\n\n private handleFocus = () => {\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n}\n"]}
|
|
@@ -1,40 +1,43 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
|
-
import { SidePageContextType } from './SidePageContext';
|
|
4
|
-
export interface SidePageHeaderProps extends CommonProps {
|
|
5
|
-
children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
|
|
6
|
-
}
|
|
7
|
-
export interface SidePageHeaderState {
|
|
8
|
-
isReadyToFix: boolean;
|
|
9
|
-
focusedByTab: boolean;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Шапка сайдпейджа
|
|
13
|
-
*
|
|
14
|
-
* @visibleName SidePage.Header
|
|
15
|
-
*/
|
|
16
|
-
export declare class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {
|
|
17
|
-
static __KONTUR_REACT_UI__: string;
|
|
18
|
-
static contextType: React.Context<SidePageContextType>;
|
|
19
|
-
context: SidePageContextType;
|
|
20
|
-
state: {
|
|
21
|
-
isReadyToFix: boolean;
|
|
22
|
-
focusedByTab: boolean;
|
|
23
|
-
};
|
|
24
|
-
private theme;
|
|
25
|
-
private wrapper;
|
|
26
|
-
private
|
|
27
|
-
|
|
28
|
-
get
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
private
|
|
35
|
-
private
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
private
|
|
40
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
|
+
import { SidePageContextType } from './SidePageContext';
|
|
4
|
+
export interface SidePageHeaderProps extends CommonProps {
|
|
5
|
+
children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
|
|
6
|
+
}
|
|
7
|
+
export interface SidePageHeaderState {
|
|
8
|
+
isReadyToFix: boolean;
|
|
9
|
+
focusedByTab: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Шапка сайдпейджа
|
|
13
|
+
*
|
|
14
|
+
* @visibleName SidePage.Header
|
|
15
|
+
*/
|
|
16
|
+
export declare class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {
|
|
17
|
+
static __KONTUR_REACT_UI__: string;
|
|
18
|
+
static contextType: React.Context<SidePageContextType>;
|
|
19
|
+
context: SidePageContextType;
|
|
20
|
+
state: {
|
|
21
|
+
isReadyToFix: boolean;
|
|
22
|
+
focusedByTab: boolean;
|
|
23
|
+
};
|
|
24
|
+
private theme;
|
|
25
|
+
private wrapper;
|
|
26
|
+
private sticky;
|
|
27
|
+
private lastRegularHeight;
|
|
28
|
+
get regularHeight(): number;
|
|
29
|
+
get fixedHeaderHeight(): number;
|
|
30
|
+
componentDidMount: () => void;
|
|
31
|
+
componentWillUnmount: () => void;
|
|
32
|
+
update: () => void;
|
|
33
|
+
render(): JSX.Element;
|
|
34
|
+
private renderMain;
|
|
35
|
+
private renderHeader;
|
|
36
|
+
private renderClose;
|
|
37
|
+
private closeIcon;
|
|
38
|
+
private updateReadyToFix;
|
|
39
|
+
private wrapperRef;
|
|
40
|
+
private stickyRef;
|
|
41
|
+
private handleFocus;
|
|
42
|
+
private handleBlur;
|
|
43
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './SidePage';
|
|
2
|
-
export * from './SidePageHeader';
|
|
3
|
-
export * from './SidePageBody';
|
|
4
|
-
export * from './SidePageFooter';
|
|
5
|
-
export * from './SidePageContainer';
|
|
1
|
+
export * from './SidePage';
|
|
2
|
+
export * from './SidePageHeader';
|
|
3
|
+
export * from './SidePageBody';
|
|
4
|
+
export * from './SidePageFooter';
|
|
5
|
+
export * from './SidePageContainer';
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
-
declare const types: Record<SpinnerType, SpinnerType>;
|
|
5
|
-
export declare type SpinnerType = 'mini' | 'normal' | 'big';
|
|
6
|
-
export interface SpinnerProps extends CommonProps {
|
|
7
|
-
caption?: React.ReactNode;
|
|
8
|
-
dimmed?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Тип спиннера
|
|
11
|
-
* @default normal
|
|
12
|
-
*/
|
|
13
|
-
type: SpinnerType;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* DRAFT - инлайн-лоадер
|
|
17
|
-
*/
|
|
18
|
-
export declare class Spinner extends React.Component<SpinnerProps> {
|
|
19
|
-
static __KONTUR_REACT_UI__: string;
|
|
20
|
-
static propTypes: {
|
|
21
|
-
/**
|
|
22
|
-
* Текст рядом с мини-лоадером.
|
|
23
|
-
*
|
|
24
|
-
* 'Загрузка' - значение по-умолчанию
|
|
25
|
-
*/
|
|
26
|
-
caption: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
27
|
-
dimmed: PropTypes.Requireable<boolean>;
|
|
28
|
-
/**
|
|
29
|
-
* Тип спиннера: mini, normal, big
|
|
30
|
-
*
|
|
31
|
-
* Значение по-умолчанию - normal
|
|
32
|
-
*
|
|
33
|
-
* Spinner.types - все доступные типы
|
|
34
|
-
*/
|
|
35
|
-
type: PropTypes.Requireable<string>;
|
|
36
|
-
};
|
|
37
|
-
static defaultProps: SpinnerProps;
|
|
38
|
-
static Types: typeof types;
|
|
39
|
-
private theme;
|
|
40
|
-
private readonly locale;
|
|
41
|
-
constructor(props: SpinnerProps);
|
|
42
|
-
render(): JSX.Element;
|
|
43
|
-
private renderMain;
|
|
44
|
-
private renderSpinner;
|
|
45
|
-
private renderCaption;
|
|
46
|
-
}
|
|
47
|
-
export {};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
+
declare const types: Record<SpinnerType, SpinnerType>;
|
|
5
|
+
export declare type SpinnerType = 'mini' | 'normal' | 'big';
|
|
6
|
+
export interface SpinnerProps extends CommonProps {
|
|
7
|
+
caption?: React.ReactNode;
|
|
8
|
+
dimmed?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Тип спиннера
|
|
11
|
+
* @default normal
|
|
12
|
+
*/
|
|
13
|
+
type: SpinnerType;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* DRAFT - инлайн-лоадер
|
|
17
|
+
*/
|
|
18
|
+
export declare class Spinner extends React.Component<SpinnerProps> {
|
|
19
|
+
static __KONTUR_REACT_UI__: string;
|
|
20
|
+
static propTypes: {
|
|
21
|
+
/**
|
|
22
|
+
* Текст рядом с мини-лоадером.
|
|
23
|
+
*
|
|
24
|
+
* 'Загрузка' - значение по-умолчанию
|
|
25
|
+
*/
|
|
26
|
+
caption: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
27
|
+
dimmed: PropTypes.Requireable<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Тип спиннера: mini, normal, big
|
|
30
|
+
*
|
|
31
|
+
* Значение по-умолчанию - normal
|
|
32
|
+
*
|
|
33
|
+
* Spinner.types - все доступные типы
|
|
34
|
+
*/
|
|
35
|
+
type: PropTypes.Requireable<string>;
|
|
36
|
+
};
|
|
37
|
+
static defaultProps: SpinnerProps;
|
|
38
|
+
static Types: typeof types;
|
|
39
|
+
private theme;
|
|
40
|
+
private readonly locale;
|
|
41
|
+
constructor(props: SpinnerProps);
|
|
42
|
+
render(): JSX.Element;
|
|
43
|
+
private renderMain;
|
|
44
|
+
private renderSpinner;
|
|
45
|
+
private renderCaption;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Theme } from '../../lib/theming/Theme';
|
|
2
|
-
export declare const styles: {
|
|
3
|
-
circle(t: Theme): string;
|
|
4
|
-
circleDimmed(t: Theme): string;
|
|
5
|
-
captionColor(t: Theme): string;
|
|
6
|
-
mini(t: Theme): string;
|
|
7
|
-
normal(t: Theme): string;
|
|
8
|
-
big(t: Theme): string;
|
|
9
|
-
spinner(): string;
|
|
10
|
-
inner(): string;
|
|
11
|
-
};
|
|
1
|
+
import { Theme } from '../../lib/theming/Theme';
|
|
2
|
+
export declare const styles: {
|
|
3
|
+
circle(t: Theme): string;
|
|
4
|
+
circleDimmed(t: Theme): string;
|
|
5
|
+
captionColor(t: Theme): string;
|
|
6
|
+
mini(t: Theme): string;
|
|
7
|
+
normal(t: Theme): string;
|
|
8
|
+
big(t: Theme): string;
|
|
9
|
+
spinner(): string;
|
|
10
|
+
inner(): string;
|
|
11
|
+
};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
export declare class SpinnerFallbackAnimationRunner {
|
|
2
|
-
private animations;
|
|
3
|
-
private FPS;
|
|
4
|
-
private interval;
|
|
5
|
-
constructor(animations: Animation[], FPS: number);
|
|
6
|
-
start: () => void;
|
|
7
|
-
stop: () => void;
|
|
8
|
-
}
|
|
9
|
-
declare class Animation {
|
|
10
|
-
private duration;
|
|
11
|
-
private onProgress;
|
|
12
|
-
private onFinish?;
|
|
13
|
-
private startTime;
|
|
14
|
-
private isFinished;
|
|
15
|
-
constructor(duration: number, onProgress: (progress: number) => void, onFinish?: ((animation: Animation) => void) | undefined);
|
|
16
|
-
step: () => void;
|
|
17
|
-
reset: () => void;
|
|
18
|
-
finish: () => void;
|
|
19
|
-
start: () => void;
|
|
20
|
-
}
|
|
21
|
-
export declare const createOffsetAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
|
|
22
|
-
export declare const createLengthAnimation: (from: number[], to: number[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
|
|
23
|
-
export declare const createColorAnimation: (colors: string[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty']) => Animation;
|
|
24
|
-
export declare const createRotationAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
|
|
25
|
-
export {};
|
|
1
|
+
export declare class SpinnerFallbackAnimationRunner {
|
|
2
|
+
private animations;
|
|
3
|
+
private FPS;
|
|
4
|
+
private interval;
|
|
5
|
+
constructor(animations: Animation[], FPS: number);
|
|
6
|
+
start: () => void;
|
|
7
|
+
stop: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare class Animation {
|
|
10
|
+
private duration;
|
|
11
|
+
private onProgress;
|
|
12
|
+
private onFinish?;
|
|
13
|
+
private startTime;
|
|
14
|
+
private isFinished;
|
|
15
|
+
constructor(duration: number, onProgress: (progress: number) => void, onFinish?: ((animation: Animation) => void) | undefined);
|
|
16
|
+
step: () => void;
|
|
17
|
+
reset: () => void;
|
|
18
|
+
finish: () => void;
|
|
19
|
+
start: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const createOffsetAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
|
|
22
|
+
export declare const createLengthAnimation: (from: number[], to: number[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
|
|
23
|
+
export declare const createColorAnimation: (colors: string[], duration: number, setStyleProperty: CSSStyleDeclaration['setProperty']) => Animation;
|
|
24
|
+
export declare const createRotationAnimation: (from: number, to: number, duration: number, setStyleProperty: CSSStyleDeclaration['setProperty'], units?: string) => Animation;
|
|
25
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './Spinner';
|
|
1
|
+
export * from './Spinner';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LocaleHelper } from '../../../lib/locale/LocaleHelper';
|
|
2
|
-
import { SpinnerLocale } from './types';
|
|
3
|
-
export * from './types';
|
|
4
|
-
export declare const SpinnerLocaleHelper: LocaleHelper<SpinnerLocale>;
|
|
1
|
+
import { LocaleHelper } from '../../../lib/locale/LocaleHelper';
|
|
2
|
+
import { SpinnerLocale } from './types';
|
|
3
|
+
export * from './types';
|
|
4
|
+
export declare const SpinnerLocaleHelper: LocaleHelper<SpinnerLocale>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SpinnerLocale } from '../types';
|
|
2
|
-
export declare const componentsLocales: SpinnerLocale;
|
|
1
|
+
import { SpinnerLocale } from '../types';
|
|
2
|
+
export declare const componentsLocales: SpinnerLocale;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SpinnerLocale } from '../types';
|
|
2
|
-
export declare const componentsLocales: SpinnerLocale;
|
|
1
|
+
import { SpinnerLocale } from '../types';
|
|
2
|
+
export declare const componentsLocales: SpinnerLocale;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface SpinnerLocale {
|
|
3
|
-
loading: React.ReactNode;
|
|
4
|
-
}
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface SpinnerLocale {
|
|
3
|
+
loading: React.ReactNode;
|
|
4
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Sticky.tsx"],"names":["React","PropTypes","shallowEqual","LayoutEvents","isFunction","ZIndex","CommonWrapper","cx","styles","MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","container","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n private reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Sticky.tsx"],"names":["React","PropTypes","shallowEqual","LayoutEvents","isFunction","ZIndex","CommonWrapper","cx","styles","MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","container","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n /**\n * Пересчитать габариты и позицию залипшего элемента\n *\n * @public\n */\n public reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
|