@skbkontur/react-ui 0.0.0-66a28a30fb → 0.0.0-68e286f9fe
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 +98 -0
- package/README.md +1 -1
- package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -22
- package/cjs/components/Autocomplete/Autocomplete.js +2 -40
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.js +18 -2
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +7 -15
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +0 -12
- package/cjs/components/Checkbox/Checkbox.js +1 -14
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +7 -1
- package/cjs/components/ComboBox/ComboBox.js +8 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +2 -2
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -29
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -27
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +37 -14
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -33
- package/cjs/components/DatePicker/DatePicker.js +5 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +0 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -83
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
- package/cjs/components/FileUploader/FileUploader.js +14 -2
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +1 -6
- package/cjs/components/FxInput/FxInput.js +1 -7
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +0 -15
- package/cjs/components/Gapped/Gapped.js +1 -25
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +3 -4
- package/cjs/components/Group/Group.js +90 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +4 -4
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Input/Input.md +4 -5
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +0 -1
- package/cjs/components/Kebab/Kebab.js +1 -26
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +32 -32
- package/cjs/components/Link/Link.js +5 -0
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.js +1 -2
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.js +3 -2
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +4 -36
- package/cjs/components/Loader/Loader.js +3 -58
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +0 -12
- package/cjs/components/MenuItem/MenuItem.js +1 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +6 -6
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -1
- package/cjs/components/Modal/Modal.styles.js +6 -6
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.js +1 -1
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +0 -1
- package/cjs/components/Paging/Paging.js +2 -28
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -7
- package/cjs/components/PasswordInput/PasswordInput.js +1 -11
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js +18 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +1 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +3 -0
- package/cjs/components/Select/Select.js +4 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +3 -3
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +4 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +0 -18
- package/cjs/components/Spinner/Spinner.js +1 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +3 -13
- package/cjs/components/Sticky/Sticky.js +12 -19
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +4 -21
- package/cjs/components/Switcher/Switcher.js +11 -21
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +6 -45
- package/cjs/components/Textarea/Textarea.js +16 -58
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +2 -1
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +8 -6
- package/cjs/components/Toast/Toast.js +18 -4
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +3 -2
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -15
- package/cjs/components/Toast/ToastView.js +3 -23
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +0 -10
- package/cjs/components/Toggle/Toggle.js +1 -12
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.md +0 -83
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
- package/cjs/components/TokenInput/TokenInput.js +2 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +2 -33
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +2 -3
- package/cjs/components/Tooltip/Tooltip.js +7 -9
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +8 -8
- package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js +37 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +12 -18
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +233 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/Popup/Popup.d.ts +41 -60
- package/cjs/internal/Popup/Popup.js +27 -78
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +0 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +2 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +16 -16
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +1 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +4 -0
- package/cjs/internal/themes/BasicTheme.js +6 -2
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +8 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/getMenuPositions.d.ts +21 -1
- package/cjs/lib/getMenuPositions.js +45 -8
- package/cjs/lib/getMenuPositions.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +4 -0
- package/cjs/lib/utils.js +5 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -23
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +0 -22
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView/DayCellView.js +6 -10
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +0 -11
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +0 -12
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +7 -1
- package/components/ComboBox/ComboBox.md +2 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +9 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +1 -24
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +25 -16
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -33
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +0 -47
- package/components/DropdownMenu/DropdownMenu.md +8 -8
- package/components/FileUploader/FileUploader/FileUploader.js +7 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js +1 -5
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -6
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +0 -15
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +3 -4
- package/components/Group/Group.md +4 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Input/Input.md +4 -5
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +2 -20
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +0 -1
- package/components/Kebab/Kebab.md +32 -32
- package/components/Link/Link/Link.js +4 -0
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +1 -1
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js +1 -1
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Loader/Loader/Loader.js +0 -33
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +4 -36
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +0 -12
- package/components/MenuItem/MenuItem.md +6 -6
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +3 -3
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Paging/Paging/Paging.js +1 -22
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +0 -7
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +0 -9
- package/components/Select/Select/Select.js +3 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +3 -0
- package/components/Select/Select.md +3 -3
- package/components/SidePage/SidePage/SidePage.js +1 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +3 -3
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +0 -18
- package/components/Sticky/Sticky/Sticky.js +10 -14
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +3 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +4 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Textarea/Textarea/Textarea.js +12 -46
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -45
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +8 -10
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +8 -6
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js +3 -17
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -15
- package/components/Toggle/Toggle/Toggle.js +1 -10
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +0 -10
- package/components/Token/Token.md +0 -83
- package/components/TokenInput/TokenInput/TokenInput.js +2 -1
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -2
- package/components/TokenInput/TokenInput.md +2 -33
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/components/Tooltip/Tooltip/Tooltip.js +8 -7
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +2 -3
- package/components/Tooltip/Tooltip.md +8 -8
- package/components/TooltipMenu/TooltipMenu.md +12 -12
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +59 -27
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +2 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +244 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/Popup/Popup/Popup.js +13 -66
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +41 -60
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +0 -3
- package/internal/ThemePlayground/Playground/Playground.js +13 -13
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +1 -3
- package/internal/themes/BasicTheme/BasicTheme.js +4 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +4 -0
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/getMenuPositions/getMenuPositions.js +33 -4
- package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
- package/lib/getMenuPositions.d.ts +21 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/lib/utils/utils.js +2 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +4 -0
- package/package.json +7 -11
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_reactFocusLock","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_stopPropagation","_HideBodyVerticalScroll","_ModalStack","_RenderContainer","_RenderLayer","_ZIndex","_ThemeContext","_CommonWrapper","_Emotion","_currentEnvironment","_ResponsiveLayout","_createPropsGetter","_isInstanceOf","_ThemeHelpers","_SidePageBody","_SidePageContainer","_SidePageContext","_SidePageFooter","_SidePageHeader","_SidePage2","SidePageDataTids","exports","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","React","createRef","updateLayout","_this$header","_this$footer","update","getProps","createPropsGetter","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","isInstanceOf","globalObject","MouseEvent","document","clientX","documentElement","handleKeyDown","isKeyEscape","stopPropagation","disableClose","onClose","ref","layoutRef","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","isNonNullable","remove","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","isThemeGTE","ResponsiveLayout","_ref","isMobile","RenderContainer","CommonWrapper","ZIndex","priority","onScroll","emit","createStackingContext","wrapperRef","style","position","renderShadow","CSSTransition","in","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","HideBodyVerticalScroll","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","cx","styles","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","RenderLayer","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","SidePageContext","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass2","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","isTestEnv"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\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 { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n wrapperRef={this.rootRef}\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAC,uBAAA,CAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,uBAAA,GAAAT,OAAA;;AAEA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,gBAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;;;AAGA,IAAAe,cAAA,GAAAf,OAAA;AACA,IAAAgB,QAAA,GAAAhB,OAAA;AACA,IAAAiB,mBAAA,GAAAjB,OAAA;AACA,IAAAkB,iBAAA,GAAAlB,OAAA;AACA,IAAAmB,kBAAA,GAAAnB,OAAA;AACA,IAAAoB,aAAA,GAAApB,OAAA;AACA,IAAAqB,aAAA,GAAArB,OAAA;;AAEA,IAAAsB,aAAA,GAAAtB,OAAA;AACA,IAAAuB,kBAAA,GAAAvB,OAAA;;AAEA,IAAAwB,gBAAA,GAAAxB,OAAA;AACA,IAAAyB,eAAA,GAAAzB,OAAA;AACA,IAAA0B,eAAA,GAAA1B,OAAA;AACA,IAAA2B,UAAA,GAAA3B,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDO,IAAM4B,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,IAAI,EAAE,gBAAgB;EACtBC,SAAS,EAAE;AACb,CAAU;;;;AAIV,IAAMC,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GARA;AASaC,QAAQ,GAAAJ,OAAA,CAAAI,QAAA,0BAAAC,gBAAA,YAAAD,SAAA,OAAAE,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;IAQZU,KAAK,GAAkB;MAC5BC,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE,KAAK;MAChBC,QAAQ,EAAE;IACZ,CAAC,CAAAb,KAAA;;IAEOc,iBAAiB,GAAkC,IAAI,CAAAd,KAAA;IACvDe,MAAM,GAAuB,IAAI,CAAAf,KAAA;IACjCgB,MAAM,GAA0B,IAAI,CAAAhB,KAAA;IACpCiB,MAAM,GAA0B,IAAI,CAAAjB,KAAA;IACrCkB,OAAO,gBAAGC,cAAK,CAACC,SAAS,CAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;IAwBlD;AACF;AACA;AACA,OAHEpB,KAAA;IAIOqB,YAAY,GAAG,YAAY,KAAAC,YAAA,EAAAC,YAAA;MAChC,CAAAD,YAAA,GAAAtB,KAAA,CAAKgB,MAAM,aAAXM,YAAA,CAAaE,MAAM,CAAC,CAAC;MACrB,CAAAD,YAAA,GAAAvB,KAAA,CAAKiB,MAAM,aAAXM,YAAA,CAAaC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAAxB,KAAA;;;;;;;;IAQOyB,QAAQ,GAAG,IAAAC,oCAAiB,EAAC5B,QAAQ,CAAC6B,YAAY,CAAC,CAAA3B,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsHnD4B,uBAAuB,GAAG,YAA2B;MAC3D,OAAO;QACLjB,SAAS,EAAEX,KAAA,CAAKU,KAAK,CAACC,SAAS;QAC/BC,SAAS,EAAEZ,KAAA,CAAKU,KAAK,CAACE,SAAS;QAC/BC,QAAQ,EAAEb,KAAA,CAAKU,KAAK,CAACG,QAAQ;QAC7BgB,YAAY,EAAE7B,KAAA,CAAK6B,YAAY;QAC/BC,QAAQ,EAAE9B,KAAA,CAAK8B,QAAQ;QACvBT,YAAY,EAAErB,KAAA,CAAKqB,YAAY;QAC/BU,SAAS,EAAE/B,KAAA,CAAK+B,SAAS;QACzBC,SAAS,EAAEhC,KAAA,CAAKgC,SAAS;QACzBC,YAAY,EAAEjC,KAAA,CAAKiC,YAAY;QAC/BC,YAAY,EAAElC,KAAA,CAAKkC,YAAY;QAC/BC,WAAW,EAAEnC,KAAA,CAAKmC;MACpB,CAAC;IACH,CAAC,CAAAnC,KAAA;;IAEO8B,QAAQ,GAAG,YAAM;MACvB,IAAI,CAAC9B,KAAA,CAAKe,MAAM,EAAE;QAChB,OAAO,MAAM;MACf;MACA,OAAOf,KAAA,CAAKe,MAAM,CAACqB,WAAW;IAChC,CAAC,CAAApC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BOqC,iBAAiB,GAAG,UAACC,KAAiC,EAAK;MACjE,IAAMC,SAAS,GAAGD,KAAK,CAACE,MAAM,CAAC,UAACC,CAAC,UAAKA,CAAC,YAAY3C,QAAQ,IAAI2C,CAAC,CAACC,KAAK,CAACC,QAAQ,KAAK3C,KAAA,CAAK0C,KAAK,CAACC,QAAQ,GAAC;MACxG,IAAMC,uBAAuB,GAAGL,SAAS,CAACM,OAAO,CAAA7C,KAAK,CAAC;;MAEvD,IAAM8C,SAAS,GAAGP,SAAS,CAACpC,MAAM,GAAG,CAAC,IAAIyC,uBAAuB,KAAKL,SAAS,CAACpC,MAAM,GAAG,CAAC;MAC1F,IAAM4C,SAAS,GAAGR,SAAS,CAACpC,MAAM,GAAG,CAAC,IAAIyC,uBAAuB,GAAGL,SAAS,CAACpC,MAAM,GAAG,CAAC;MACxF,IAAM6C,aAAa,GAAGC,sBAAU,CAACC,UAAU,CAAAlD,KAAK,CAAC;;MAEjDA,KAAA,CAAKmD,QAAQ,CAAC;QACZC,aAAa,EAAEd,KAAK,CAACO,OAAO,CAAA7C,KAAK,CAAC;QAClC8C,SAAS,EAATA,SAAS;QACTC,SAAS,EAATA,SAAS;QACTC,aAAa,EAAbA;MACF,CAAC,CAAC;IACJ,CAAC,CAAAhD,KAAA;;IAEOqD,kBAAkB,GAAG,UAACC,CAAQ,EAAK;MACzC,IAAItD,KAAA,CAAKU,KAAK,CAAC0C,aAAa,KAAK,CAAC,IAAI,CAACpD,KAAA,CAAK0C,KAAK,CAACa,qBAAqB,EAAE;QACvE;QACA;QACE,IAAAC,0BAAY,EAACF,CAAC,EAAEG,0BAAY,CAACC,UAAU,CAAC;QACxCD,0BAAY,CAACE,QAAQ;QACrBL,CAAC,CAACM,OAAO,GAAGH,0BAAY,CAACE,QAAQ,CAACE,eAAe,CAACzB,WAAW;QAC7D;UACA;QACF;QACApC,KAAA,CAAK6B,YAAY,CAAC,CAAC;MACrB;IACF,CAAC,CAAA7B,KAAA;;IAEO8D,aAAa,GAAG,UAACR,CAAgB,EAAK;MAC5C,IAAItD,KAAA,CAAKU,KAAK,CAAC0C,aAAa,KAAK,CAAC,EAAE;QAClC;MACF;MACA,IAAI,IAAAW,wBAAW,EAACT,CAAC,CAAC,EAAE;QAClB,IAAAU,gCAAe,EAACV,CAAC,CAAC;QAClBtD,KAAA,CAAK6B,YAAY,CAAC,CAAC;MACrB;IACF,CAAC,CAAA7B,KAAA;;IAEO6B,YAAY,GAAG,YAAM;MAC3B,IAAI7B,KAAA,CAAK0C,KAAK,CAACuB,YAAY,EAAE;QAC3B;MACF;MACA,IAAIjE,KAAA,CAAK0C,KAAK,CAACwB,OAAO,EAAE;QACtBlE,KAAA,CAAK0C,KAAK,CAACwB,OAAO,CAAC,CAAC;MACtB;IACF,CAAC,CAAAlE,KAAA;;IAEO+B,SAAS,GAAG,UAACoC,GAA0B,EAAK;MAClDnE,KAAA,CAAKgB,MAAM,GAAGmD,GAAG;IACnB,CAAC,CAAAnE,KAAA;;IAEOgC,SAAS,GAAG,UAACmC,GAA0B,EAAK;MAClDnE,KAAA,CAAKiB,MAAM,GAAGkD,GAAG;IACnB,CAAC,CAAAnE,KAAA;;IAEOoE,SAAS,GAAG,UAACD,GAA0B,EAAK;MAClDnE,KAAA,CAAKe,MAAM,GAAGoD,GAAG;IACnB,CAAC,CAAAnE,KAAA;;IAEOiC,YAAY,GAAG,UAACtB,SAAS,EAAY,KAArBA,SAAS,cAATA,SAAS,GAAG,IAAI;MACtCX,KAAA,CAAKU,KAAK,CAACC,SAAS,KAAKA,SAAS,IAAIX,KAAA,CAAKmD,QAAQ,CAAC,EAAExC,SAAS,EAATA,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC,CAAAX,KAAA;;IAEOkC,YAAY,GAAG,UAACtB,SAAS,EAAY,KAArBA,SAAS,cAATA,SAAS,GAAG,IAAI;MACtCZ,KAAA,CAAKU,KAAK,CAACE,SAAS,KAAKA,SAAS,IAAIZ,KAAA,CAAKmD,QAAQ,CAAC,EAAEvC,SAAS,EAATA,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC,CAAAZ,KAAA;;IAEOmC,WAAW,GAAG,UAACtB,QAAQ,EAAa,KAArBA,QAAQ,cAARA,QAAQ,GAAG,KAAK;MACrCb,KAAA,CAAKU,KAAK,CAACG,QAAQ,KAAKA,QAAQ,IAAIb,KAAA,CAAKmD,QAAQ,CAAC,EAAEtC,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC,QAAAb,KAAA,MAAAqE,eAAA,CAAAC,OAAA,EAAAxE,QAAA,EAAAC,gBAAA,MAAAwE,MAAA,GAAAzE,QAAA,CAAA0E,SAAA,CAAAD,MAAA,CArRME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzBhB,0BAAY,CAACiB,gBAAgB,YAA7BjB,0BAAY,CAACiB,gBAAgB,CAAG,SAAS,EAAE,IAAI,CAACZ,aAAa,CAAC,CAC9D,IAAI,CAAChD,iBAAiB,GAAGmC,sBAAU,CAAC0B,GAAG,CAAC,IAAI,EAAE,IAAI,CAACtC,iBAAiB,CAAC,CACvE,CAAC,CAAAkC,MAAA,CAEMK,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAwB,EAAE,CAClD,IAAIA,SAAS,CAACC,eAAe,KAAK,IAAI,CAACpC,KAAK,CAACoC,eAAe,EAAE,CAC5D7B,sBAAU,CAAC8B,QAAQ,CAAC,CAAC,CACrB,IAAI,CAAC5B,QAAQ,CAAC,EACZH,aAAa,EAAEC,sBAAU,CAACC,UAAU,CAAC,IAAI,CAAC,CAC5C,CAAC,CAAC,CACJ,CACF,CAAC,CAAAqB,MAAA,CAEMS,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5BvB,0BAAY,CAACwB,mBAAmB,YAAhCxB,0BAAY,CAACwB,mBAAmB,CAAG,SAAS,EAAE,IAAI,CAACnB,aAAa,CAAC,CACjE,IAAI,IAAAoB,oBAAa,EAAC,IAAI,CAACpE,iBAAiB,CAAC,EAAE,CACzC,IAAI,CAACA,iBAAiB,CAACqE,MAAM,CAAC,CAAC,CACjC,CACAlC,sBAAU,CAACkC,MAAM,CAAC,IAAI,CAAC,CACzB,CAAC,CAAAZ,MAAA,CAmBMa,MAAM,GAAb,SAAAA,OAAA,EAA6B,KAAAC,MAAA,QAC3B,oBACE1H,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAC3G,aAAA,CAAA4G,YAAY,CAACC,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVJ,MAAI,CAACI,KAAK,GAAGA,KAAK,CAClB,OAAOJ,MAAI,CAACK,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,CAAAnB,MAAA,CAEOmB,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAAC,MAAA,QACnB,IAAAC,WAAA,GAAsC,IAAI,CAAClD,KAAK,CAAxCoC,eAAe,GAAAc,WAAA,CAAfd,eAAe,CAAEe,QAAQ,GAAAD,WAAA,CAARC,QAAQ,CACjC,IAAMC,iBAAiB,GAAG,IAAI,CAACrE,QAAQ,CAAC,CAAC,CAACqE,iBAAiB,CAC3D,IAAMC,aAAa,GAAG,IAAAC,wBAAU,EAAC,IAAI,CAACP,KAAK,EAAE,KAAK,CAAC,CACnD,oBACE9H,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAACvG,iBAAA,CAAAkH,gBAAgB,QACd,UAAAC,IAAA,OAAGC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,qBACVxI,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAC9G,gBAAA,CAAA4H,eAAe,qBACdzI,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAC1G,cAAA,CAAAyH,aAAa,EAAKV,MAAI,CAACjD,KAAK,eAC3B/E,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAC5G,OAAA,CAAA4H,MAAM,IACLC,QAAQ,EAAE,UAAW,EACrBC,QAAQ,EAAErI,YAAY,CAACsI,IAAK,EAC5BC,qBAAqB,QACrBC,UAAU,EAAEhB,MAAI,CAACzE,OAAQ,EACzB0F,KAAK,EAAE,EAAEC,QAAQ,EAAE,UAAU,CAAC,CAAE,IAE/B,CAACd,aAAa,IAAI,CAACI,QAAQ,KAAKrB,eAAe,IAAIa,MAAI,CAACmB,YAAY,CAAC,CAAC,eACvEnJ,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAACxH,qBAAA,CAAAiJ,aAAa,IACZC,EAAE,QACFC,UAAU,EAAEtB,MAAI,CAACuB,kBAAkB,CAAC,CAAE,EACtCC,MAAM,EAAE,CAACrB,iBAAkB,EAC3BsB,KAAK,EAAE,CAACtB,iBAAkB,EAC1BuB,IAAI,EAAE,KAAM,EACZC,OAAO,EAAE,EACPF,KAAK,EAAEvH,kBAAkB,EACzBwH,IAAI,EAAExH,kBAAkB,CAC1B,CAAE,EACF0H,OAAO,EAAE5B,MAAI,CAACzE,OAAQ,EACtBsG,SAAS,EAAE3B,QAAS,IAEnBF,MAAI,CAAC8B,eAAe,CAACtB,QAAQ,CACjB,CAAC,EACfA,QAAQ,iBAAIxI,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAChH,uBAAA,CAAAoJ,sBAAsB,MAAE,CAChC,CACK,CACA,CAAC,EAEJ,CAAC,CAEvB,CAAC,CAAAnD,MAAA,CAcOkD,eAAe,GAAvB,SAAAA,gBAAwBtB,QAAiB,EAAe,KAAAwB,GAAA,EAAAC,IAAA,CACtD,IAAAC,YAAA,GAA4E,IAAI,CAACnF,KAAK,CAA9EoF,WAAW,GAAAD,YAAA,CAAXC,WAAW,CAAEhD,eAAe,GAAA+C,YAAA,CAAf/C,eAAe,CAAEnC,QAAQ,GAAAkF,YAAA,CAARlF,QAAQ,CAAgBoF,SAAS,GAAAF,YAAA,CAAvB,YAAY,EAC5D,IAAAG,cAAA,GAAyB,IAAI,CAACvG,QAAQ,CAAC,CAAC,CAAhCwG,MAAM,GAAAD,cAAA,CAANC,MAAM,CAAEC,IAAI,GAAAF,cAAA,CAAJE,IAAI,CAEpB,IAAMC,YAAY,GAAG,IAAI,CAACzF,KAAK,CAAC0F,KAAK,KAAKtD,eAAe,GAAG,GAAG,GAAG,GAAG,CAAC,CACtE,IAAMuD,WAAW,GAAG,IAAI,CAAC3F,KAAK,CAACoF,WAAW,IAAI,MAAM,CACpD,IAAMM,KAAK,GAAGjC,QAAQ,GAAGkC,WAAW,GAAGF,YAAY,CAEnD,oBACExK,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,UACE,kBAAU,EACV4C,IAAI,EAAEA,IAAK,EACX,cAAYH,SAAU,EACtB,YAAUtI,gBAAgB,CAACE,IAAK,EAChC2I,SAAS,EAAE,IAAAC,WAAE,GAAAZ,GAAA,OAAAA,GAAA,CACVa,iBAAM,CAAC7I,IAAI,CAAC,CAAC,IAAG,IAAI,EAAAgI,GAAA,CACtB,CAAE,EACHnB,QAAQ,EAAErI,YAAY,CAACsI,IAAK,EAC5BG,KAAK,EACHT,QAAQ,IAAI,CAAC,IAAAH,wBAAU,EAAC,IAAI,CAACP,KAAK,EAAE,KAAK,CAAC,GACtC,EACE2C,KAAK,EAAEN,WAAW,IAAI,MAAM,CAC9B,CAAC,GACD,EACEM,KAAK,EAALA,KAAK,EACLK,KAAK,EAAE9F,QAAQ,GAAG,MAAM,GAAGsF,MAAM,EACjCS,IAAI,EAAE/F,QAAQ,GAAGsF,MAAM,GAAG,MAAM,CAClC,CACL,iBAEDtK,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAACvH,eAAA,CAAAuG,OAAS,IAACqE,QAAQ,EAAE,IAAI,CAACC,mBAAoB,EAACC,SAAS,EAAE,KAAM,EAACP,SAAS,EAAEE,iBAAM,CAACM,SAAS,CAAC,CAAE,iBAC7FnL,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAC7G,YAAA,CAAAsK,WAAW,IAACC,cAAc,EAAE,IAAI,CAAC3F,kBAAmB,EAAC4F,MAAM,uBAC1DtL,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,UACE,YAAU7F,gBAAgB,CAACG,SAAU,EACrC0I,SAAS,EAAE,IAAAC,WAAE,EAACC,iBAAM,CAACU,OAAO,CAAC,IAAI,CAACzD,KAAK,CAAC,GAAAmC,IAAA,OAAAA,IAAA,CACrCY,iBAAM,CAACW,WAAW,CAAC,CAAC,IAAGxG,QAAQ,EAAAiF,IAAA,CAC/BY,iBAAM,CAACY,iBAAiB,CAAC,CAAC,IAAG,IAAI,CAAC1I,KAAK,CAACoC,SAAS,IAAIH,QAAQ,EAAAiF,IAAA,CAC7DY,iBAAM,CAACa,kBAAkB,CAAC,CAAC,IAAG,IAAI,CAAC3I,KAAK,CAACoC,SAAS,IAAI,CAACH,QAAQ,EAAAiF,IAAA,CAC/DY,iBAAM,CAACc,MAAM,CAAC,IAAI,CAAC7D,KAAK,CAAC,IAAG,IAAI,CAAC/E,KAAK,CAACqC,SAAS,EAAA6E,IAAA,CAClD,CAAE,EACHzD,GAAG,EAAE,IAAI,CAACC,SAAU,iBAEpBzG,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAACjG,gBAAA,CAAAkK,eAAe,CAACC,QAAQ,IAACC,KAAK,EAAE,IAAI,CAAC7H,uBAAuB,CAAC,CAAE,IAC7D,IAAI,CAACc,KAAK,CAACgH,QACY,CACvB,CACM,CACJ,CACR,CAAC,CAEV,CAAC,CAAAnF,MAAA,CAyBOuC,YAAY,GAApB,SAAAA,aAAA,EAAoC,KAAA6C,IAAA,CAClC,oBACEhM,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,UAAKgD,SAAS,EAAEE,iBAAM,CAACoB,OAAO,CAAC,CAAE,EAACpD,QAAQ,EAAErI,YAAY,CAACsI,IAAK,iBAC5D9I,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,CAAChH,uBAAA,CAAAoJ,sBAAsB,IAACmC,GAAG,EAAC,MAAM,EAAE,CAAC,eACrClM,MAAA,CAAA2G,OAAA,CAAAgB,aAAA,UACEuE,GAAG,EAAC,SAAS,EACbvB,SAAS,EAAE,IAAAC,WAAE,GAAAoB,IAAA,OAAAA,IAAA,CACVnB,iBAAM,CAACsB,UAAU,CAAC,CAAC,IAAG,IAAI,EAAAH,IAAA,CAC1BnB,iBAAM,CAACuB,cAAc,CAAC,IAAI,CAACtE,KAAK,CAAC,IAAG,IAAI,CAAC/E,KAAK,CAACsC,aAAa,EAAA2G,IAAA,CAC9D,CAAE,EACJ,CACE,CAAC,CAEV,CAAC,CAAApF,MAAA,CAEO2C,kBAAkB,GAA1B,SAAAA,mBAAA,EAAqD,CACnD,IAAM8C,UAAU,GAAG,IAAI,CAACtH,KAAK,CAACC,QAAQ,GAAG6F,iBAAM,CAACyB,eAAe,GAAGzB,iBAAM,CAAC0B,cAAc,CAEvF,OAAO,EACL9C,KAAK,EAAE4C,UAAU,CAAC,CAAC,EACnBG,WAAW,EAAE3B,iBAAM,CAAC4B,gBAAgB,CAAC,CAAC,EACtC/C,IAAI,EAAEmB,iBAAM,CAAC6B,eAAe,CAAC,CAAC,EAC9BC,UAAU,EAAE9B,iBAAM,CAAC+B,qBAAqB,CAAC,CAAC,EAC1CpD,MAAM,EAAE6C,UAAU,CAAC,CAAC,EACpBQ,YAAY,EAAEhC,iBAAM,CAAC4B,gBAAgB,CAAC,CAAC,CACzC,CAAC,CACH,CAAC,YAAAK,aAAA,CAAAnG,OAAA,EAAAxE,QAAA,KAAA+J,GAAA,yBAAAa,GAAA,EAjHD,SAAAA,IAAA,EAAkC,CAChC,IAAAC,eAAA,GAA6B,IAAI,CAAClJ,QAAQ,CAAC,CAAC,CAApCmJ,gBAAgB,GAAAD,eAAA,CAAhBC,gBAAgB,CACxB,IAAQ9F,eAAe,GAAK,IAAI,CAACpC,KAAK,CAA9BoC,eAAe,CACvB,IAAI,CAACA,eAAe,EAAE,CACpB,OAAO,IAAI,CACb,CACA,IAAI8F,gBAAgB,KAAKC,SAAS,EAAE,CAClC,OAAOD,gBAAgB,CACzB,CACA,OAAO,KAAK,CACd,CAAC,OAzH2BzJ,cAAK,CAAC2J,SAAS,EAAhChL,QAAQ,CACLiL,mBAAmB,GAAG,UAAU,CADnCjL,QAAQ,CAELkL,WAAW,GAAG,UAAU,CAF3BlL,QAAQ,CAILmL,MAAM,GAAGC,8BAAc,CAJ1BpL,QAAQ,CAKLqL,IAAI,GAAGC,0BAAY,CALtBtL,QAAQ,CAMLuL,MAAM,GAAGC,8BAAc,CAN1BxL,QAAQ,CAOLyL,SAAS,GAAGC,oCAAiB,CAPhC1L,QAAQ,CAmDL6B,YAAY,GAAiB,EACzCmE,iBAAiB,EAAE2F,6BAAS,EAC5BxD,MAAM,EAAE,CAAC,EACTC,IAAI,EAAE,QAAQ,CAChB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_reactFocusLock","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_stopPropagation","_HideBodyVerticalScroll","_ModalStack","_RenderContainer","_RenderLayer","_ZIndex","_ThemeContext","_CommonWrapper","_Emotion","_currentEnvironment","_ResponsiveLayout","_createPropsGetter","_isInstanceOf","_ThemeHelpers","_SidePageBody","_SidePageContainer","_SidePageContext","_SidePageFooter","_SidePageHeader","_SidePage2","SidePageDataTids","exports","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","React","createRef","updateLayout","_this$header","_this$footer","update","getProps","createPropsGetter","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","isInstanceOf","globalObject","MouseEvent","document","clientX","documentElement","handleKeyDown","isKeyEscape","stopPropagation","disableClose","onClose","ref","layoutRef","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","isNonNullable","remove","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","isThemeGTE","ResponsiveLayout","_ref","isMobile","RenderContainer","CommonWrapper","ZIndex","priority","onScroll","emit","createStackingContext","style","position","renderShadow","CSSTransition","in","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","HideBodyVerticalScroll","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","cx","styles","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","RenderLayer","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","SidePageContext","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass2","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","isTestEnv"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\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 { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ var _rootNode = require("../../lib/rootNode");
|
|
|
14
14
|
var _getDOMRect = require("../../lib/dom/getDOMRect");
|
|
15
15
|
var _ModalSeparator = require("../Modal/ModalSeparator");
|
|
16
16
|
var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
17
|
+
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
17
18
|
|
|
18
19
|
var _SidePage = require("./SidePage.styles");
|
|
19
20
|
|
|
@@ -143,6 +144,8 @@ SidePageHeader = exports.SidePageHeader = (0, _decorator.responsiveLayout)(_clas
|
|
|
143
144
|
|
|
144
145
|
|
|
145
146
|
|
|
147
|
+
|
|
148
|
+
|
|
146
149
|
|
|
147
150
|
|
|
148
151
|
|
|
@@ -210,4 +213,4 @@ SidePageHeader = exports.SidePageHeader = (0, _decorator.responsiveLayout)(_clas
|
|
|
210
213
|
|
|
211
214
|
stickyRef = function (el) {
|
|
212
215
|
_this.sticky = el;
|
|
213
|
-
};return _this;}(0, _inheritsLoose2.default)(SidePageHeader, _React$Component);var _proto = SidePageHeader.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getStickyProp = function getStickyProp() {if (typeof this.props.sticky !== 'undefined') {return this.props.sticky;}if (this.isMobileLayout) {return false;}return true;};_proto.renderMain = function renderMain() {var isReadyToFix = this.state.isReadyToFix;var isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;var isStickyMobile = this.isMobileLayout && this.getStickyProp();var header = this.renderHeader;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageHeaderDataTids.root, ref: this.wrapperRef, className: _SidePage.styles.headerWrapper() }, isStickyDesktop || isStickyMobile ? /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { ref: this.stickyRef, side: "top" }, header) : header()));};return (0, _createClass2.default)(SidePageHeader, [{ key: "regularHeight", get: function get() {var isReadyToFix = this.state.isReadyToFix;if (!this.wrapper) {return 0;}if (!isReadyToFix) {this.lastRegularHeight = (0, _getDOMRect.getDOMRect)(this.wrapper).height;}return this.lastRegularHeight;} }, { key: "fixedHeaderHeight", get: function get() {var theme = this.theme;return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;} }]);}(_react.default.Component), _SidePageHeader.__KONTUR_REACT_UI__ = 'SidePageHeader', _SidePageHeader.displayName = 'SidePageHeader', _SidePageHeader.contextType = _SidePageContext.SidePageContext, _SidePageHeader.defaultProps = { hasSeparator: false }, _SidePageHeader)) || _class) || _class;
|
|
216
|
+
};return _this;}(0, _inheritsLoose2.default)(SidePageHeader, _React$Component);var _proto = SidePageHeader.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getStickyProp = function getStickyProp() {if (typeof this.props.sticky !== 'undefined') {return this.props.sticky;}if (this.isMobileLayout) {return false;}return true;};_proto.renderMain = function renderMain() {var isReadyToFix = this.state.isReadyToFix;var isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;var isStickyMobile = this.isMobileLayout && this.getStickyProp();var header = this.renderHeader;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageHeaderDataTids.root, ref: this.wrapperRef, className: _SidePage.styles.headerWrapper() }, /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Provider, { value: { stickyReduceLayoutEvents: true } }, isStickyDesktop || isStickyMobile ? /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { ref: this.stickyRef, side: "top" }, header) : header())));};return (0, _createClass2.default)(SidePageHeader, [{ key: "regularHeight", get: function get() {var isReadyToFix = this.state.isReadyToFix;if (!this.wrapper) {return 0;}if (!isReadyToFix) {this.lastRegularHeight = (0, _getDOMRect.getDOMRect)(this.wrapper).height;}return this.lastRegularHeight;} }, { key: "fixedHeaderHeight", get: function get() {var theme = this.theme;return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;} }]);}(_react.default.Component), _SidePageHeader.__KONTUR_REACT_UI__ = 'SidePageHeader', _SidePageHeader.displayName = 'SidePageHeader', _SidePageHeader.contextType = _SidePageContext.SidePageContext, _SidePageHeader.defaultProps = { hasSeparator: false }, _SidePageHeader)) || _class) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Sticky","_utils","_ThemeContext","_CommonWrapper","_Emotion","_decorator","_rootNode","_getDOMRect","_ModalSeparator","_ThemeHelpers","_SidePage","_SidePageContext","_SidePageCloseButton","_class","_SidePageHeader","SidePageHeaderDataTids","exports","root","close","SidePageHeader","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","isReadyToFix","wrapper","sticky","lastRegularHeight","componentDidMount","globalObject","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","_this$sticky","reflow","updateReadyToFix","renderHeader","fixed","_cx","_cx2","isDisplayed","props","hasSeparator","default","createElement","className","cx","styles","header","theme","headerFixed","mobileHeader","isMobileLayout","renderClose","title","title5_1","isThemeGTE","mobileTitle","titleFixed","isFunction","children","ModalSeparator","_cx3","stickyOffset","parseInt","sidePageHeaderStickyOffset","versionGTE5_1","wrapperClose","wrapperClose5_1","wrapperCloseFixed","wrapperCloseFixed5_1","mobileWrapperClose","mobileWrapperClose5_1","SidePageCloseButton","isHeaderFixed","isMobile","Sticky","side","offset","wrapperScrolledUp","getDOMRect","top","regularHeight","fixedHeaderHeight","setState","_extends2","wrapperRef","el","stickyRef","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","getStickyProp","isStickyDesktop","isStickyMobile","CommonWrapper","rootNodeRef","setRootNode","ref","headerWrapper","_createClass2","key","get","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","React","Component","__KONTUR_REACT_UI__","displayName","contextType","SidePageContext","defaultProps"],"sources":["SidePageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Sticky } from '../Sticky';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './SidePage.styles';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageCloseButton } from './SidePageCloseButton';\n\nexport interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n /** Закрепляет хедер сверху сайдпейджа. */\n sticky?: boolean;\n\n /** Определяет, нужно ли показывать ModalSeparator. */\n hasSeparator?: boolean;\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n}\n\nexport const SidePageHeaderDataTids = {\n root: 'SidePageHeader__root',\n close: 'SidePage__close',\n} as const;\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@responsiveLayout\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n public static displayName = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n private isMobileLayout!: boolean;\n\n public state: SidePageHeaderState = {\n isReadyToFix: false,\n };\n\n public static defaultProps: Partial<SidePageHeaderProps> = {\n hasSeparator: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = getDOMRect(this.wrapper).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 globalObject.addEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n globalObject.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 public getStickyProp() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n\n const isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;\n const isStickyMobile = this.isMobileLayout && this.getStickyProp();\n\n const header = this.renderHeader;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SidePageHeaderDataTids.root} ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isStickyDesktop || isStickyMobile ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {header}\n </Sticky>\n ) : (\n header()\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n const isDisplayed = this.props.hasSeparator || fixed;\n return (\n <div>\n <div\n className={cx(styles.header(this.theme), {\n [styles.headerFixed(this.theme)]: fixed,\n [styles.mobileHeader(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.renderClose(fixed)}\n <div\n className={cx(styles.title(this.theme), {\n [styles.title5_1(this.theme)]: isThemeGTE(this.theme, '5.1'),\n [styles.mobileTitle(this.theme)]: this.isMobileLayout,\n [styles.titleFixed()]: fixed,\n })}\n >\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n {isDisplayed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n const versionGTE5_1 = isThemeGTE(this.theme, '5.1');\n return (\n <div\n className={cx(styles.wrapperClose(this.theme), {\n [styles.wrapperClose5_1(this.theme)]: versionGTE5_1,\n [styles.wrapperCloseFixed(this.theme)]: fixed,\n [styles.wrapperCloseFixed5_1(this.theme)]: fixed && versionGTE5_1,\n [styles.mobileWrapperClose(this.theme)]: this.isMobileLayout,\n [styles.mobileWrapperClose5_1(this.theme)]: this.isMobileLayout && versionGTE5_1,\n })}\n >\n {this.isMobileLayout ? (\n <SidePageCloseButton isHeaderFixed={fixed} isMobile />\n ) : (\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageCloseButton isHeaderFixed={fixed} />\n </Sticky>\n )}\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = getDOMRect(this.wrapper).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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Sticky","_utils","_ThemeContext","_CommonWrapper","_Emotion","_decorator","_rootNode","_getDOMRect","_ModalSeparator","_ThemeHelpers","_featureFlagsContext","_SidePage","_SidePageContext","_SidePageCloseButton","_class","_SidePageHeader","SidePageHeaderDataTids","exports","root","close","SidePageHeader","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","isReadyToFix","wrapper","sticky","lastRegularHeight","componentDidMount","globalObject","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","_this$sticky","reflow","updateReadyToFix","renderHeader","fixed","_cx","_cx2","isDisplayed","props","hasSeparator","default","createElement","className","cx","styles","header","theme","headerFixed","mobileHeader","isMobileLayout","renderClose","title","title5_1","isThemeGTE","mobileTitle","titleFixed","isFunction","children","ModalSeparator","_cx3","stickyOffset","parseInt","sidePageHeaderStickyOffset","versionGTE5_1","wrapperClose","wrapperClose5_1","wrapperCloseFixed","wrapperCloseFixed5_1","mobileWrapperClose","mobileWrapperClose5_1","SidePageCloseButton","isHeaderFixed","isMobile","Sticky","side","offset","wrapperScrolledUp","getDOMRect","top","regularHeight","fixedHeaderHeight","setState","_extends2","wrapperRef","el","stickyRef","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","getStickyProp","isStickyDesktop","isStickyMobile","CommonWrapper","rootNodeRef","setRootNode","ref","headerWrapper","ReactUIFeatureFlagsContext","Provider","value","stickyReduceLayoutEvents","_createClass2","key","get","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","React","Component","__KONTUR_REACT_UI__","displayName","contextType","SidePageContext","defaultProps"],"sources":["SidePageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Sticky } from '../Sticky';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './SidePage.styles';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageCloseButton } from './SidePageCloseButton';\n\nexport interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n /** Закрепляет хедер сверху сайдпейджа. */\n sticky?: boolean;\n\n /** Определяет, нужно ли показывать ModalSeparator. */\n hasSeparator?: boolean;\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n}\n\nexport const SidePageHeaderDataTids = {\n root: 'SidePageHeader__root',\n close: 'SidePage__close',\n} as const;\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@responsiveLayout\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n public static displayName = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n private isMobileLayout!: boolean;\n\n public state: SidePageHeaderState = {\n isReadyToFix: false,\n };\n\n public static defaultProps: Partial<SidePageHeaderProps> = {\n hasSeparator: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = getDOMRect(this.wrapper).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 globalObject.addEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n globalObject.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 public getStickyProp() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n\n const isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;\n const isStickyMobile = this.isMobileLayout && this.getStickyProp();\n\n const header = this.renderHeader;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SidePageHeaderDataTids.root} ref={this.wrapperRef} className={styles.headerWrapper()}>\n <ReactUIFeatureFlagsContext.Provider value={{ stickyReduceLayoutEvents: true }}>\n {isStickyDesktop || isStickyMobile ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {header}\n </Sticky>\n ) : (\n header()\n )}\n </ReactUIFeatureFlagsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n const isDisplayed = this.props.hasSeparator || fixed;\n return (\n <div>\n <div\n className={cx(styles.header(this.theme), {\n [styles.headerFixed(this.theme)]: fixed,\n [styles.mobileHeader(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.renderClose(fixed)}\n <div\n className={cx(styles.title(this.theme), {\n [styles.title5_1(this.theme)]: isThemeGTE(this.theme, '5.1'),\n [styles.mobileTitle(this.theme)]: this.isMobileLayout,\n [styles.titleFixed()]: fixed,\n })}\n >\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n {isDisplayed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n const versionGTE5_1 = isThemeGTE(this.theme, '5.1');\n return (\n <div\n className={cx(styles.wrapperClose(this.theme), {\n [styles.wrapperClose5_1(this.theme)]: versionGTE5_1,\n [styles.wrapperCloseFixed(this.theme)]: fixed,\n [styles.wrapperCloseFixed5_1(this.theme)]: fixed && versionGTE5_1,\n [styles.mobileWrapperClose(this.theme)]: this.isMobileLayout,\n [styles.mobileWrapperClose5_1(this.theme)]: this.isMobileLayout && versionGTE5_1,\n })}\n >\n {this.isMobileLayout ? (\n <SidePageCloseButton isHeaderFixed={fixed} isMobile />\n ) : (\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageCloseButton isHeaderFixed={fixed} />\n </Sticky>\n )}\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = getDOMRect(this.wrapper).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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { ToastProps } from '../Toast/Toast';
|
|
2
|
+
import type { ToastClose, ToastProps, ToastPush } from '../Toast/Toast';
|
|
3
3
|
import { Toast } from '../Toast/Toast';
|
|
4
4
|
/**
|
|
5
5
|
* `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.
|
|
@@ -12,7 +12,7 @@ export declare class SingleToast extends React.Component<ToastProps> {
|
|
|
12
12
|
static __KONTUR_REACT_UI__: string;
|
|
13
13
|
static displayName: string;
|
|
14
14
|
static ref: React.RefObject<Toast>;
|
|
15
|
-
static push:
|
|
16
|
-
static close:
|
|
15
|
+
static push: ToastPush;
|
|
16
|
+
static close: ToastClose;
|
|
17
17
|
render: () => React.JSX.Element;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","ReactDOM","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport type { ToastProps } from '../Toast/Toast';\nimport { Toast } from '../Toast/Toast';\n\n/**\n * `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Позволяет вызывать тосты с помощью статических методов.\n * В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push:
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","ReactDOM","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport type { ToastClose, ToastProps, ToastPush } from '../Toast/Toast';\nimport { Toast } from '../Toast/Toast';\n\n/**\n * `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Позволяет вызывать тосты с помощью статических методов.\n * В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: ToastPush = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: ToastClose = () => {\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n } else {\n SingleToast.ref.current?.close();\n }\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;;AAGA,IAAAE,MAAA,GAAAF,OAAA,mBAAuC,IAAAG,YAAA;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GANA;AAOaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;IAgBtBU,MAAM,GAAG,YAAM;MACb,oBAAOnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,MAAA,CAAAkB,KAAK,MAAAC,SAAA,CAAAH,OAAA,IAACI,GAAG,EAAElB,WAAW,CAACkB,GAAI,IAAKf,KAAA,CAAKgB,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAhB,KAAA,MAAAiB,eAAA,CAAAN,OAAA,EAAAd,WAAA,EAAAE,gBAAA,SAAAF,WAAA,GAlB8BqB,cAAK,CAACC,SAAS,EAAAvB,YAAA,GAAnCC,WAAW,CAAXA,WAAW,CACRuB,mBAAmB,GAAG,aAAa,CADtCvB,WAAW,CAERwB,WAAW,GAAG,aAAa,CAF9BxB,WAAW,CAIRkB,GAAG,gBAAGG,cAAK,CAACI,SAAS,CAAQ,CAAC,CAJjCzB,WAAW,CAKR0B,IAAI,GAAc,YAAa,KAAAC,qBAAA,CAC3C3B,YAAW,CAAC4B,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EADcC,IAAI,OAAAC,KAAA,CAAAqB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJvB,IAAI,CAAAuB,KAAA,IAAAzB,SAAA,CAAAyB,KAAA,GAEtC,CAAAH,qBAAA,GAAA3B,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAf,KAAA,CAAAgB,qBAAA,EAAIpB,IAAI,CAAC,CACxC,CAAC,CARUP,WAAW,CASR4B,KAAK,GAAe,YAAM,CACtC,IAAIP,cAAK,CAACW,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpCC,iBAAQ,CAACC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMpC,YAAW,CAACkB,GAAG,CAACa,OAAO,qBAAvBK,sBAAA,CAAyBR,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC,MAAM,KAAAS,sBAAA,CACL,CAAAA,sBAAA,GAAArC,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBM,sBAAA,CAAyBT,KAAK,CAAC,CAAC,CAClC,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
4
3
|
declare const types: readonly ["big", "mini", "normal"];
|
|
5
4
|
export type SpinnerType = (typeof types)[number];
|
|
@@ -35,23 +34,6 @@ type DefaultProps = Required<Pick<SpinnerProps, 'type'>>;
|
|
|
35
34
|
export declare class Spinner extends React.Component<SpinnerProps> {
|
|
36
35
|
static __KONTUR_REACT_UI__: string;
|
|
37
36
|
static displayName: string;
|
|
38
|
-
static propTypes: {
|
|
39
|
-
/**
|
|
40
|
-
* Текст рядом с мини-лоадером.
|
|
41
|
-
*
|
|
42
|
-
* 'Загрузка' - значение по-умолчанию
|
|
43
|
-
*/
|
|
44
|
-
caption: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
45
|
-
dimmed: PropTypes.Requireable<boolean>;
|
|
46
|
-
/**
|
|
47
|
-
* Тип спиннера: mini, normal, big
|
|
48
|
-
*
|
|
49
|
-
* Значение по-умолчанию - normal
|
|
50
|
-
*
|
|
51
|
-
* Spinner.types - все доступные типы
|
|
52
|
-
*/
|
|
53
|
-
type: PropTypes.Requireable<"big" | "normal" | "mini">;
|
|
54
|
-
};
|
|
55
37
|
static defaultProps: DefaultProps;
|
|
56
38
|
private getProps;
|
|
57
39
|
static Types: Record<SpinnerType, SpinnerType>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.SpinnerDataTids = exports.Spinner = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
2
|
|
|
4
3
|
|
|
5
4
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
@@ -62,26 +61,6 @@ Spinner = exports.Spinner = (0, _rootNode.rootNode)(_class = (_Spinner = /*#__PU
|
|
|
62
61
|
|
|
63
62
|
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
64
|
|
|
86
65
|
getProps = (0, _createPropsGetter.createPropsGetter)(Spinner.defaultProps);_this.
|
|
87
66
|
|
|
@@ -132,14 +111,4 @@ Spinner = exports.Spinner = (0, _rootNode.rootNode)(_class = (_Spinner = /*#__PU
|
|
|
132
111
|
};_this.
|
|
133
112
|
|
|
134
113
|
renderCaption = function (type, caption) {return /*#__PURE__*/(
|
|
135
|
-
_react.default.createElement("span", { className: (0, _Emotion.cx)(_Spinner2.styles[type](_this.theme), _Spinner2.styles.captionColor(_this.theme)) }, caption));};return _this;}(0, _inheritsLoose2.default)(Spinner, _React$Component);var _proto = Spinner.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$props = this.props,_this$props$caption = _this$props.caption,caption = _this$props$caption === void 0 ? null : _this$props$caption,dimmed = _this$props.dimmed,inline = _this$props.inline;var type = this.getProps().type;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": SpinnerDataTids.root, className: _Spinner2.styles.spinner() }, /*#__PURE__*/_react.default.createElement("span", { className: _Spinner2.styles.inner() }, this.renderSpinner(type, dimmed, inline)), caption && this.renderCaption(type, caption)));};return Spinner;}(_react.default.Component), _Spinner.__KONTUR_REACT_UI__ = 'Spinner', _Spinner.displayName = 'Spinner', _Spinner.
|
|
136
|
-
* Текст рядом с мини-лоадером.
|
|
137
|
-
*
|
|
138
|
-
* 'Загрузка' - значение по-умолчанию
|
|
139
|
-
*/caption: _propTypes.default.node, dimmed: _propTypes.default.bool, /**
|
|
140
|
-
* Тип спиннера: mini, normal, big
|
|
141
|
-
*
|
|
142
|
-
* Значение по-умолчанию - normal
|
|
143
|
-
*
|
|
144
|
-
* Spinner.types - все доступные типы
|
|
145
|
-
*/type: _propTypes.default.oneOf(types) }, _Spinner.defaultProps = { type: 'normal' }, _Spinner.Types = Object.assign.apply(Object, [{}].concat(types.map(function (type) {var _ref;return _ref = {}, _ref[type] = type, _ref;}))), _Spinner)) || _class;
|
|
114
|
+
_react.default.createElement("span", { className: (0, _Emotion.cx)(_Spinner2.styles[type](_this.theme), _Spinner2.styles.captionColor(_this.theme)) }, caption));};return _this;}(0, _inheritsLoose2.default)(Spinner, _React$Component);var _proto = Spinner.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$props = this.props,_this$props$caption = _this$props.caption,caption = _this$props$caption === void 0 ? null : _this$props$caption,dimmed = _this$props.dimmed,inline = _this$props.inline;var type = this.getProps().type;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": SpinnerDataTids.root, className: _Spinner2.styles.spinner() }, /*#__PURE__*/_react.default.createElement("span", { className: _Spinner2.styles.inner() }, this.renderSpinner(type, dimmed, inline)), caption && this.renderCaption(type, caption)));};return Spinner;}(_react.default.Component), _Spinner.__KONTUR_REACT_UI__ = 'Spinner', _Spinner.displayName = 'Spinner', _Spinner.defaultProps = { type: 'normal' }, _Spinner.Types = Object.assign.apply(Object, [{}].concat(types.map(function (type) {var _ref;return _ref = {}, _ref[type] = type, _ref;}))), _Spinner)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_ThemeContext","_SpinnerIcon","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_Spinner2","_class","_Spinner","types","SpinnerDataTids","exports","root","Spinner","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","renderSpinner","type","dimmed","inline","_cx","default","createElement","SpinnerIcon","size","className","cx","styles","circle","theme","props","color","circleDimmedColor","circleWithoutColorAnimation","width","renderCaption","caption","captionColor","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","_this$props","_this$props$caption","CommonWrapper","_extends2","rootNodeRef","setRootNode","spinner","inner","React","Component","__KONTUR_REACT_UI__","displayName","Types","Object","assign","map","_ref"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { SpinnerIcon } from '../../internal/SpinnerIcon/SpinnerIcon';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Spinner.styles';\n\nconst types = ['big', 'mini', 'normal'] as const;\n\nexport type SpinnerType = (typeof types)[number];\n\nexport interface SpinnerProps extends CommonProps {\n /** Задает подпись под спиннером.\n * @default \"Загрузка\" */\n caption?: React.ReactNode;\n\n /** Переводит спиннер в \"затемнённый режим\".\n * Цвет спиннера в \"затемнённом режиме\" определяется переменной `spinnerDimmedColor`. */\n dimmed?: boolean;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: SpinnerType;\n\n /** Уменьшает спиннер для вставки в инлайн элемент. При type = \"big\"|\"normal\" размер спиннера уменьшается. */\n inline?: boolean;\n\n /** Задает толщину спиннера. */\n width?: number;\n\n /** Задает цвет спиннера. Не работает с пропом dimmed. */\n color?: React.CSSProperties['color'];\n}\n\nexport const SpinnerDataTids = {\n root: 'Spinner__root',\n} as const;\n\ntype DefaultProps = Required<Pick<SpinnerProps, 'type'>>;\n\n/**\n * `Spinner` — это зацикленный индикатор, не отображающий прогресс выполнения задачи.\n *\n * Используйте `Spinner`, чтобы показать, что система выполняет команду, которую дал пользователь.\n * Не применяйте `Spinner` для заполнения паузы при загрузке контента, для этого предназначен GlobalLoader.\n *\n * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент Loader.\n */\n@rootNode\nexport class Spinner extends React.Component<SpinnerProps> {\n public static __KONTUR_REACT_UI__ = 'Spinner';\n public static displayName = 'Spinner';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n };\n\n private getProps = createPropsGetter(Spinner.defaultProps);\n\n public static Types: Record<SpinnerType, SpinnerType> = Object.assign({}, ...types.map((type) => ({ [type]: type })));\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption = null, dimmed, inline } = this.props;\n const type = this.getProps().type;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SpinnerDataTids.root} className={styles.spinner()}>\n <span className={styles.inner()}>{this.renderSpinner(type, dimmed, inline)}</span>\n {caption && this.renderCaption(type, caption)}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderSpinner = (type: SpinnerType, dimmed?: boolean, inline?: boolean) => {\n return (\n <SpinnerIcon\n size={type}\n className={cx({\n [styles.circle(this.theme)]: !dimmed && !this.props.color,\n [styles.circleDimmedColor(this.theme)]: dimmed,\n [styles.circleWithoutColorAnimation()]: dimmed || !!this.props.color,\n })}\n dimmed={dimmed}\n width={this.props.width}\n color={this.props.color}\n inline={inline}\n />\n );\n };\n\n private renderCaption = (type: SpinnerType, caption: React.ReactNode) => (\n <span className={cx(styles[type](this.theme), styles.captionColor(this.theme))}>{caption}</span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import type { Nullable } from '../../typings/utility-types';
|
|
4
3
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
+
import type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';
|
|
5
5
|
export interface StickyProps extends Omit<CommonProps, 'children'> {
|
|
6
6
|
/** Задает сторону залипания. */
|
|
7
7
|
side: 'top' | 'bottom';
|
|
@@ -33,18 +33,6 @@ type DefaultProps = Required<Pick<StickyProps, 'offset'>>;
|
|
|
33
33
|
export declare class Sticky extends React.Component<StickyProps, StickyState> {
|
|
34
34
|
static __KONTUR_REACT_UI__: string;
|
|
35
35
|
static displayName: string;
|
|
36
|
-
static propTypes: {
|
|
37
|
-
children: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.ReactNodeLike>>;
|
|
38
|
-
/**
|
|
39
|
-
* Функция, которая возвращает DOM-элемент, который нельзя пересекать.
|
|
40
|
-
*/
|
|
41
|
-
getStop: PropTypes.Requireable<(...args: any[]) => any>;
|
|
42
|
-
/**
|
|
43
|
-
* Отступ от границы в пикселях
|
|
44
|
-
*/
|
|
45
|
-
offset: PropTypes.Requireable<number>;
|
|
46
|
-
side: PropTypes.Validator<string>;
|
|
47
|
-
};
|
|
48
36
|
static defaultProps: DefaultProps;
|
|
49
37
|
private getProps;
|
|
50
38
|
state: StickyState;
|
|
@@ -53,10 +41,12 @@ export declare class Sticky extends React.Component<StickyProps, StickyState> {
|
|
|
53
41
|
private layoutSubscription;
|
|
54
42
|
private reflowCounter;
|
|
55
43
|
private setRootNode;
|
|
44
|
+
featureFlags: ReactUIFeatureFlags;
|
|
56
45
|
componentDidMount(): void;
|
|
57
46
|
componentWillUnmount(): void;
|
|
58
47
|
componentDidUpdate(prevProps: StickyProps, prevState: StickyState): void;
|
|
59
48
|
render(): React.JSX.Element;
|
|
49
|
+
private renderMain;
|
|
60
50
|
private refWrapper;
|
|
61
51
|
private refInner;
|
|
62
52
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.StickyDataTids = exports.Sticky = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
2
|
var _shallowequal = _interopRequireDefault(require("shallowequal"));
|
|
4
3
|
var _globalObject = require("@skbkontur/global-object");
|
|
5
4
|
|
|
@@ -15,6 +14,8 @@ var _rootNode = require("../../lib/rootNode");
|
|
|
15
14
|
var _getDOMRect3 = require("../../lib/dom/getDOMRect");
|
|
16
15
|
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
17
16
|
|
|
17
|
+
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
18
|
+
|
|
18
19
|
var _Sticky2 = require("./Sticky.styles");var _class, _Sticky;
|
|
19
20
|
|
|
20
21
|
var MAX_REFLOW_RETRIES = 5;
|
|
@@ -61,10 +62,19 @@ Sticky = exports.Sticky = (0, _rootNode.rootNode)(_class = (_Sticky = /*#__PURE_
|
|
|
61
62
|
|
|
62
63
|
|
|
63
64
|
|
|
65
|
+
getProps = (0, _createPropsGetter.createPropsGetter)(Sticky.defaultProps);_this.
|
|
64
66
|
|
|
67
|
+
state = {
|
|
68
|
+
fixed: false,
|
|
69
|
+
deltaHeight: 0,
|
|
70
|
+
stopped: false,
|
|
71
|
+
relativeTop: 0
|
|
72
|
+
};_this.
|
|
65
73
|
|
|
66
74
|
|
|
67
75
|
|
|
76
|
+
layoutSubscription = { remove: null };_this.
|
|
77
|
+
reflowCounter = 0;_this.
|
|
68
78
|
|
|
69
79
|
|
|
70
80
|
|
|
@@ -77,19 +87,6 @@ Sticky = exports.Sticky = (0, _rootNode.rootNode)(_class = (_Sticky = /*#__PURE_
|
|
|
77
87
|
|
|
78
88
|
|
|
79
89
|
|
|
80
|
-
getProps = (0, _createPropsGetter.createPropsGetter)(Sticky.defaultProps);_this.
|
|
81
|
-
|
|
82
|
-
state = {
|
|
83
|
-
fixed: false,
|
|
84
|
-
deltaHeight: 0,
|
|
85
|
-
stopped: false,
|
|
86
|
-
relativeTop: 0
|
|
87
|
-
};_this.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
layoutSubscription = { remove: null };_this.
|
|
92
|
-
reflowCounter = 0;_this.
|
|
93
90
|
|
|
94
91
|
|
|
95
92
|
|
|
@@ -210,8 +207,4 @@ Sticky = exports.Sticky = (0, _rootNode.rootNode)(_class = (_Sticky = /*#__PURE_
|
|
|
210
207
|
_this.setState({ relativeTop: relativeTop, deltaHeight: deltaHeight, stopped: stopped });
|
|
211
208
|
}
|
|
212
209
|
}
|
|
213
|
-
};return _this;}(0, _inheritsLoose2.default)(Sticky, _React$Component);var _proto = Sticky.prototype;_proto.componentDidMount = function componentDidMount() {this.reflow();this.layoutSubscription = LayoutEvents.addListener(this.reflow);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSubscription.remove) {this.layoutSubscription.remove();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (!(0, _shallowequal.default)(prevProps, this.props) || !(0, _shallowequal.default)(prevState, this.state)) {if (this.reflowCounter < MAX_REFLOW_RETRIES) {LayoutEvents.emit();this.reflowCounter += 1;return;}}this.reflowCounter = 0;};_proto.render = function render() {var _cx;var children = this.props.children;var side = this.props.side;var offset = this.getProps().offset;var _this$state2 = this.state,fixed = _this$state2.fixed,stopped = _this$state2.stopped,relativeTop = _this$state2.relativeTop,deltaHeight = _this$state2.deltaHeight,width = _this$state2.width,height = _this$state2.height,left = _this$state2.left;var innerStyle = {};if (fixed) {if (stopped) {innerStyle.top = relativeTop;innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;} else {innerStyle.width = width;innerStyle[side] = offset;innerStyle.left = left;}}if ((0, _utils.isFunction)(children)) {children = children(fixed);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": StickyDataTids.root, ref: this.refWrapper, className: _Sticky2.styles.wrapper() }, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: "Sticky", applyZIndex: fixed, className: (0, _Emotion.cx)(_Sticky2.styles.inner(), (_cx = {}, _cx[_Sticky2.styles.fixed()] = fixed && !stopped, _cx[_Sticky2.styles.stopped()] = stopped, _cx)), style: innerStyle, wrapperRef: this.refInner }, /*#__PURE__*/_react.default.createElement("div", { className: _Sticky2.styles.container() }, children)), fixed && !stopped ? /*#__PURE__*/_react.default.createElement("div", { style: { width: width, height: height } }) : null));};return Sticky;}(_react.default.Component), _Sticky.__KONTUR_REACT_UI__ = 'Sticky', _Sticky.displayName = 'Sticky', _Sticky.
|
|
214
|
-
* Функция, которая возвращает DOM-элемент, который нельзя пересекать.
|
|
215
|
-
*/getStop: _propTypes.default.func, /**
|
|
216
|
-
* Отступ от границы в пикселях
|
|
217
|
-
*/offset: _propTypes.default.number, side: _propTypes.default.oneOf(['top', 'bottom']).isRequired }, _Sticky.defaultProps = { offset: 0 }, _Sticky)) || _class;
|
|
210
|
+
};return _this;}(0, _inheritsLoose2.default)(Sticky, _React$Component);var _proto = Sticky.prototype;_proto.componentDidMount = function componentDidMount() {this.reflow();this.layoutSubscription = LayoutEvents.addListener(this.reflow);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSubscription.remove) {this.layoutSubscription.remove();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (!(0, _shallowequal.default)(prevProps, this.props) || !(0, _shallowequal.default)(prevState, this.state)) {if (this.reflowCounter < MAX_REFLOW_RETRIES) {this.featureFlags.stickyReduceLayoutEvents ? this.reflow() : LayoutEvents.emit();this.reflowCounter += 1;return;}}this.reflowCounter = 0;};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx;var children = this.props.children;var side = this.props.side;var offset = this.getProps().offset;var _this$state2 = this.state,fixed = _this$state2.fixed,stopped = _this$state2.stopped,relativeTop = _this$state2.relativeTop,deltaHeight = _this$state2.deltaHeight,width = _this$state2.width,height = _this$state2.height,left = _this$state2.left;var innerStyle = {};if (fixed) {if (stopped) {innerStyle.top = relativeTop;innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;} else {innerStyle.width = width;innerStyle[side] = offset;innerStyle.left = left;}}if ((0, _utils.isFunction)(children)) {children = children(fixed);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": StickyDataTids.root, ref: this.refWrapper, className: _Sticky2.styles.wrapper() }, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: "Sticky", applyZIndex: fixed, className: (0, _Emotion.cx)(_Sticky2.styles.inner(), (_cx = {}, _cx[_Sticky2.styles.fixed()] = fixed && !stopped, _cx[_Sticky2.styles.stopped()] = stopped, _cx)), style: innerStyle, wrapperRef: this.refInner }, /*#__PURE__*/_react.default.createElement("div", { className: _Sticky2.styles.container() }, children)), fixed && !stopped ? /*#__PURE__*/_react.default.createElement("div", { style: { width: width, height: height } }) : null));};return Sticky;}(_react.default.Component), _Sticky.__KONTUR_REACT_UI__ = 'Sticky', _Sticky.displayName = 'Sticky', _Sticky.defaultProps = { offset: 0 }, _Sticky)) || _class;
|