@skbkontur/react-ui 5.0.12 → 5.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
- package/cjs/components/Autocomplete/Autocomplete.js +13 -2
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +9 -7
- package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
- package/cjs/components/Autocomplete/locale/types.js +1 -1
- package/cjs/components/Button/Button.d.ts +20 -62
- package/cjs/components/Button/Button.js +0 -42
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +40 -26
- package/cjs/components/Button/__docs__/Button.mdx +28 -0
- package/cjs/components/Calendar/Calendar.d.ts +22 -45
- package/cjs/components/Calendar/Calendar.js +1 -15
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +12 -12
- package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
- package/cjs/components/Calendar/CalendarDay.js +11 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.md +32 -32
- package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
- package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
- package/cjs/components/Calendar/locale/types.js +1 -1
- package/cjs/components/Center/Center.d.ts +4 -6
- package/cjs/components/Center/Center.js +3 -5
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Center/Center.md +1 -1
- package/cjs/components/Center/__docs__/Center.mdx +24 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
- package/cjs/components/Checkbox/Checkbox.js +7 -6
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.md +6 -5
- package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
- package/cjs/components/ComboBox/ComboBox.d.ts +67 -86
- package/cjs/components/ComboBox/ComboBox.js +12 -28
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +41 -40
- package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
- package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
- package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
- package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
- package/cjs/components/DateInput/DateInput.d.ts +21 -29
- package/cjs/components/DateInput/DateInput.js +14 -2
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.md +7 -2
- package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +33 -23
- package/cjs/components/DatePicker/DatePicker.js +53 -4
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +2 -2
- package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
- package/cjs/components/DatePicker/locale/types.js +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
- package/cjs/components/Dropdown/Dropdown.js +8 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.md +2 -1
- package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
- package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
- package/cjs/components/FileUploader/FileUploader.js +5 -3
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +9 -9
- package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
- package/cjs/components/FileUploader/locale/types.js +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +15 -9
- package/cjs/components/FxInput/FxInput.js +14 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInput.md +2 -0
- package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
- package/cjs/components/Gapped/Gapped.d.ts +6 -17
- package/cjs/components/Gapped/Gapped.js +1 -8
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Gapped/Gapped.md +3 -2
- package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
- package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
- package/cjs/components/Group/Group.d.ts +6 -0
- package/cjs/components/Group/Group.js +7 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +1 -0
- package/cjs/components/Group/__docs__/Group.mdx +24 -0
- package/cjs/components/Hint/Hint.d.ts +18 -40
- package/cjs/components/Hint/Hint.js +4 -16
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.md +9 -8
- package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
- package/cjs/components/Input/Input.d.ts +46 -68
- package/cjs/components/Input/Input.js +10 -9
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.md +11 -2
- package/cjs/components/Input/Input.typings.js +1 -1
- package/cjs/components/Input/__docs__/Input.mdx +28 -0
- package/cjs/components/Kebab/Kebab.d.ts +12 -16
- package/cjs/components/Kebab/Kebab.js +4 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +9 -9
- package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
- package/cjs/components/Link/Link.d.ts +13 -37
- package/cjs/components/Link/Link.js +0 -13
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +12 -11
- package/cjs/components/Link/__docs__/Link.mdx +28 -0
- package/cjs/components/Loader/Loader.d.ts +13 -25
- package/cjs/components/Loader/Loader.js +2 -8
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/Loader.md +1 -0
- package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
- package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
- package/cjs/components/MaskedInput/MaskedInput.js +0 -13
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.md +7 -5
- package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
- package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
- package/cjs/components/MenuFooter/MenuFooter.js +7 -3
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.md +2 -2
- package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
- package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
- package/cjs/components/MenuHeader/MenuHeader.js +7 -3
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.md +2 -2
- package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
- package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
- package/cjs/components/MenuItem/MenuItem.js +1 -18
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +34 -30
- package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
- package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
- package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModal.js +6 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.md +1 -3
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
- package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
- package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
- package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
- package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
- package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
- package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/cjs/components/Modal/Modal.d.ts +12 -33
- package/cjs/components/Modal/Modal.js +4 -24
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.md +3 -1
- package/cjs/components/Modal/Modal.styles.d.ts +4 -1
- package/cjs/components/Modal/Modal.styles.js +68 -31
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -4
- package/cjs/components/Modal/ModalBody.js +1 -3
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +7 -2
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalContext.d.ts +2 -0
- package/cjs/components/Modal/ModalContext.js +3 -0
- package/cjs/components/Modal/ModalContext.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.d.ts +5 -15
- package/cjs/components/Modal/ModalFooter.js +0 -7
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +3 -1
- package/cjs/components/Modal/ModalHeader.js +4 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
- package/cjs/components/Modal/ModalSeparator.js +1 -0
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/__creevey__/Modal.creevey.mts +15 -1
- package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
- package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
- package/cjs/components/Modal/locale/types.js +1 -1
- package/cjs/components/Paging/Paging.d.ts +20 -15
- package/cjs/components/Paging/Paging.js +17 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.md +3 -2
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
- package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
- package/cjs/components/Paging/locale/types.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -3
- package/cjs/components/PasswordInput/PasswordInput.js +35 -9
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.md +3 -2
- package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
- package/cjs/components/PasswordInput/locale/types.js +1 -1
- package/cjs/components/Radio/Radio.d.ts +13 -28
- package/cjs/components/Radio/Radio.js +1 -8
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.md +3 -2
- package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
- package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
- package/cjs/components/RadioGroup/RadioGroup.js +4 -15
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.md +1 -0
- package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
- package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
- package/cjs/components/ResponsiveLayout/types.js +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
- package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
- package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
- package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
- package/cjs/components/Select/Item.d.ts +2 -0
- package/cjs/components/Select/Item.js +3 -0
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +54 -38
- package/cjs/components/Select/Select.js +57 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +7 -6
- package/cjs/components/Select/__docs__/Select.mdx +28 -0
- package/cjs/components/Select/locale/types.js +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +17 -38
- package/cjs/components/SidePage/SidePage.js +15 -28
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.md +2 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +8 -1
- package/cjs/components/SidePage/SidePage.styles.js +83 -26
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +14 -2
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
- package/cjs/components/SidePage/SidePageFooter.js +0 -2
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +2 -1
- package/cjs/components/SidePage/SidePageHeader.js +14 -7
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
- package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
- package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
- package/cjs/components/SidePage/locale/types.js +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
- package/cjs/components/SingleToast/SingleToast.js +5 -1
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.md +2 -1
- package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
- package/cjs/components/Spinner/Spinner.d.ts +15 -20
- package/cjs/components/Spinner/Spinner.js +6 -7
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +2 -1
- package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
- package/cjs/components/Sticky/Sticky.d.ts +9 -4
- package/cjs/components/Sticky/Sticky.js +9 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Sticky/Sticky.md +1 -0
- package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
- package/cjs/components/Switcher/Switcher.d.ts +18 -7
- package/cjs/components/Switcher/Switcher.js +14 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.md +6 -2
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +20 -1
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
- package/cjs/components/Tabs/Tab.d.ts +12 -31
- package/cjs/components/Tabs/Tab.js +1 -20
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +2 -0
- package/cjs/components/Tabs/Tabs.d.ts +14 -25
- package/cjs/components/Tabs/Tabs.js +6 -17
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +3 -2
- package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
- package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
- package/cjs/components/Textarea/Textarea.d.ts +26 -52
- package/cjs/components/Textarea/Textarea.js +3 -23
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.md +4 -2
- package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
- package/cjs/components/Toast/Toast.d.ts +12 -9
- package/cjs/components/Toast/Toast.js +13 -5
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +4 -4
- package/cjs/components/Toast/ToastStatic.d.ts +2 -2
- package/cjs/components/Toast/ToastStatic.js +15 -5
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +3 -6
- package/cjs/components/Toast/ToastView.js +3 -5
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js +4 -4
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toast/__creevey__/Toast.creevey.mts +23 -0
- package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
- package/cjs/components/Toast/locale/types.js +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +25 -48
- package/cjs/components/Toggle/Toggle.js +4 -12
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +9 -9
- package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
- package/cjs/components/Token/Token.d.ts +17 -9
- package/cjs/components/Token/Token.js +9 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.md +86 -3
- package/cjs/components/Token/TokenView.d.ts +3 -0
- package/cjs/components/Token/TokenView.js +3 -0
- package/cjs/components/Token/TokenView.js.map +1 -1
- package/cjs/components/Token/__docs__/Token.mdx +28 -0
- package/cjs/components/Token/locale/types.js +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
- package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
- package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
- package/cjs/components/TokenInput/TokenInput.js +7 -18
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +12 -10
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
- package/cjs/components/TokenInput/locale/types.js +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
- package/cjs/components/Tooltip/Tooltip.js +9 -63
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +5 -0
- package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
- package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +1 -2
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/types.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/types.js +1 -1
- package/cjs/internal/DateSelect/locale/types.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +12 -11
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Popup/types.js +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/cjs/internal/ThemePlayground/constants.js +1 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/themes/BasicLightTheme.d.ts +5 -1198
- package/cjs/internal/themes/BasicLightTheme.js +2 -2512
- package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +1217 -0
- package/cjs/internal/themes/BasicTheme.js +2536 -0
- package/cjs/internal/themes/BasicTheme.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_0.js +556 -0
- package/cjs/internal/themes/DarkTheme5_0.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_1.js +41 -0
- package/cjs/internal/themes/DarkTheme5_1.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_0.js +9 -0
- package/cjs/internal/themes/LightTheme5_0.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_1.js +41 -0
- package/cjs/internal/themes/LightTheme5_1.js.map +1 -0
- package/cjs/lib/ModalStack.d.ts +1 -0
- package/cjs/lib/ModalStack.js +6 -4
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/date/types.js +6 -6
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +1 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/cjs/lib/locale/types.js +1 -1
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/theming/Theme.d.ts +4 -3
- package/cjs/lib/theming/Theme.js +1 -1
- package/cjs/lib/theming/Theme.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +1 -1
- package/cjs/lib/theming/ThemeContext.js +2 -2
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.d.ts +9 -0
- package/cjs/lib/theming/ThemeFactory.js +28 -9
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.d.ts +55 -8
- package/cjs/lib/theming/ThemeHelpers.js +94 -22
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +25 -0
- package/cjs/lib/theming/ThemeVersions.js +58 -0
- package/cjs/lib/theming/ThemeVersions.js.map +1 -0
- package/cjs/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/DarkTheme.js +6 -4
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/LightTheme.js +6 -4
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -1
- package/cjs/lib/types/button-link.js +1 -1
- package/cjs/lib/types/polymorphic-component.js +1 -1
- package/cjs/lib/types/props.js +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +16 -17
- package/components/Autocomplete/Autocomplete.md +9 -7
- package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
- package/components/Autocomplete/locale/types/types.js +0 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +20 -62
- package/components/Button/Button.md +40 -26
- package/components/Button/__docs__/Button.mdx +28 -0
- package/components/Calendar/Calendar/Calendar.js +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +22 -45
- package/components/Calendar/Calendar.md +12 -12
- package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/CalendarDay.d.ts +7 -0
- package/components/Calendar/CalendarDay.md +32 -32
- package/components/Calendar/__docs__/Calendar.mdx +28 -0
- package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
- package/components/Calendar/locale/types/types.js +0 -1
- package/components/Center/Center/Center.js +3 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +4 -6
- package/components/Center/Center.md +1 -1
- package/components/Center/__docs__/Center.mdx +24 -0
- package/components/Checkbox/Checkbox/Checkbox.js +7 -0
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +20 -28
- package/components/Checkbox/Checkbox.md +6 -5
- package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
- package/components/ComboBox/ComboBox/ComboBox.js +13 -2
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +67 -86
- package/components/ComboBox/ComboBox.md +41 -40
- package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
- package/components/CurrencyInput/CurrencyInput.md +3 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
- package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
- package/components/CurrencyLabel/CurrencyLabel.md +5 -5
- package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
- package/components/DateInput/DateInput/DateInput.js +8 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +21 -29
- package/components/DateInput/DateInput.md +7 -2
- package/components/DateInput/__docs__/DateInput.mdx +26 -0
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +33 -5
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +33 -23
- package/components/DatePicker/DatePicker.md +2 -2
- package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
- package/components/DatePicker/locale/types/types.js +0 -1
- package/components/Dropdown/Dropdown/Dropdown.js +7 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +25 -30
- package/components/Dropdown/Dropdown.md +2 -1
- package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu.md +12 -10
- package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
- package/components/FileUploader/FileUploader/FileUploader.js +6 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +16 -20
- package/components/FileUploader/FileUploader.md +9 -9
- package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
- package/components/FileUploader/locale/types/types.js +0 -1
- package/components/FxInput/FxInput/FxInput.js +7 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +15 -9
- package/components/FxInput/FxInput.md +2 -0
- package/components/FxInput/__docs__/FxInput.mdx +28 -0
- package/components/Gapped/Gapped/Gapped.js +1 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +6 -17
- package/components/Gapped/Gapped.md +3 -2
- package/components/Gapped/__docs__/Gapped.mdx +24 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
- package/components/GlobalLoader/GlobalLoader.md +4 -5
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
- package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
- package/components/Group/Group/Group.js +6 -0
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +6 -0
- package/components/Group/Group.md +1 -0
- package/components/Group/__docs__/Group.mdx +24 -0
- package/components/Hint/Hint/Hint.js +4 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +18 -40
- package/components/Hint/Hint.md +9 -8
- package/components/Hint/__docs__/Hint.mdx +29 -0
- package/components/Input/Input/Input.js +10 -1
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +46 -68
- package/components/Input/Input.md +11 -2
- package/components/Input/Input.typings/Input.typings.js +0 -1
- package/components/Input/__docs__/Input.mdx +28 -0
- package/components/Kebab/Kebab/Kebab.js +4 -0
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +12 -16
- package/components/Kebab/Kebab.md +9 -9
- package/components/Kebab/__docs__/Kebab.mdx +28 -0
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +13 -37
- package/components/Link/Link.md +12 -11
- package/components/Link/__docs__/Link.mdx +28 -0
- package/components/Loader/Loader/Loader.js +2 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +13 -25
- package/components/Loader/Loader.md +1 -0
- package/components/Loader/__docs__/Loader.mdx +26 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +13 -33
- package/components/MaskedInput/MaskedInput.md +7 -5
- package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +6 -4
- package/components/MenuFooter/MenuFooter.md +2 -2
- package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +6 -4
- package/components/MenuHeader/MenuHeader.md +2 -2
- package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -2
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +22 -55
- package/components/MenuItem/MenuItem.md +34 -30
- package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
- package/components/MenuSeparator/MenuSeparator.md +1 -1
- package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
- package/components/MiniModal/MiniModal/MiniModal.js +7 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/MiniModal/MiniModal.d.ts +6 -0
- package/components/MiniModal/MiniModal.md +1 -3
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.d.ts +2 -7
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.d.ts +2 -5
- package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
- package/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
- package/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
- package/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
- package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/components/Modal/Modal/Modal.js +4 -9
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +12 -33
- package/components/Modal/Modal.md +3 -1
- package/components/Modal/Modal.styles/Modal.styles.js +40 -31
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +4 -1
- package/components/Modal/ModalBody/ModalBody.js +1 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -4
- package/components/Modal/ModalClose/ModalClose.js +3 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalContext/ModalContext.js.map +1 -1
- package/components/Modal/ModalContext.d.ts +2 -0
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalFooter.d.ts +5 -15
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +3 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +1 -0
- package/components/Modal/__creevey__/Modal.creevey.mts +15 -1
- package/components/Modal/__docs__/Modal.mdx +28 -0
- package/components/Modal/__docs__/ModalBody.mdx +15 -0
- package/components/Modal/__docs__/ModalFooter.mdx +15 -0
- package/components/Modal/__docs__/ModalHeader.mdx +15 -0
- package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
- package/components/Modal/locale/types/types.js +0 -1
- package/components/Paging/Paging/Paging.js +4 -0
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +20 -15
- package/components/Paging/Paging.md +3 -2
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.d.ts +2 -0
- package/components/Paging/__docs__/Paging.mdx +28 -0
- package/components/Paging/locale/types/types.js +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +32 -10
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +10 -3
- package/components/PasswordInput/PasswordInput.md +3 -2
- package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
- package/components/PasswordInput/locale/types/types.js +0 -1
- package/components/Radio/Radio/Radio.js +1 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +13 -28
- package/components/Radio/Radio.md +3 -2
- package/components/Radio/__docs__/Radio.mdx +28 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +28 -54
- package/components/RadioGroup/RadioGroup.md +1 -0
- package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
- package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
- package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
- package/components/ResponsiveLayout/types/types.js +0 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +7 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
- package/components/ScrollContainer/ScrollContainer.md +5 -3
- package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +2 -0
- package/components/Select/Select/Select.js +11 -0
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +54 -38
- package/components/Select/Select.md +7 -6
- package/components/Select/__docs__/Select.mdx +28 -0
- package/components/Select/locale/types/types.js +0 -1
- package/components/SidePage/SidePage/SidePage.js +28 -16
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +17 -38
- package/components/SidePage/SidePage.md +2 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +48 -26
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +8 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +6 -2
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +4 -9
- package/components/SidePage/SidePageHeader/SidePageHeader.js +13 -5
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +2 -1
- package/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
- package/components/SidePage/__docs__/SidePage.mdx +28 -0
- package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
- package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
- package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
- package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
- package/components/SidePage/locale/types/types.js +0 -1
- package/components/SingleToast/SingleToast/SingleToast.js +5 -1
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +5 -1
- package/components/SingleToast/SingleToast.md +2 -1
- package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
- package/components/Spinner/Spinner/Spinner.js +6 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +15 -20
- package/components/Spinner/Spinner.md +2 -1
- package/components/Spinner/__docs__/Spinner.mdx +28 -0
- package/components/Sticky/Sticky/Sticky.js +5 -0
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +9 -4
- package/components/Sticky/Sticky.md +1 -0
- package/components/Sticky/__docs__/Sticky.mdx +24 -0
- package/components/Switcher/Switcher/Switcher.js +16 -6
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +18 -7
- package/components/Switcher/Switcher.md +6 -2
- package/components/Switcher/Switcher.styles/Switcher.styles.js +4 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Switcher/__docs__/Switcher.mdx +28 -0
- package/components/Tabs/Tab/Tab.js +1 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +12 -31
- package/components/Tabs/Tab.md +2 -0
- package/components/Tabs/Tabs/Tabs.js +6 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +14 -25
- package/components/Tabs/Tabs.md +3 -2
- package/components/Tabs/__docs__/Tab.mdx +28 -0
- package/components/Tabs/__docs__/Tabs.mdx +28 -0
- package/components/Textarea/Textarea/Textarea.js +3 -4
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +26 -52
- package/components/Textarea/Textarea.md +4 -2
- package/components/Textarea/__docs__/Textarea.mdx +28 -0
- package/components/Toast/Toast/Toast.js +17 -12
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +12 -9
- package/components/Toast/Toast.md +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js +5 -5
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +2 -2
- package/components/Toast/ToastView/ToastView.js +2 -1
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +3 -6
- package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/__creevey__/Toast.creevey.mts +23 -0
- package/components/Toast/__docs__/Toast.mdx +28 -0
- package/components/Toast/locale/types/types.js +0 -1
- package/components/Toggle/Toggle/Toggle.js +4 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +25 -48
- package/components/Toggle/Toggle.md +9 -9
- package/components/Toggle/__docs__/Toggle.mdx +28 -0
- package/components/Token/Token/Token.js +6 -0
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +17 -9
- package/components/Token/Token.md +86 -3
- package/components/Token/TokenView/TokenView.js.map +1 -1
- package/components/Token/TokenView.d.ts +3 -0
- package/components/Token/__docs__/Token.mdx +28 -0
- package/components/Token/locale/types/types.js +0 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +3 -0
- package/components/TokenInput/TokenInput/TokenInput.js +9 -3
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +54 -97
- package/components/TokenInput/TokenInput.md +12 -10
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +5 -5
- package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
- package/components/TokenInput/locale/types/types.js +0 -1
- package/components/Tooltip/Tooltip/Tooltip.js +9 -0
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +28 -68
- package/components/Tooltip/Tooltip.md +5 -0
- package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
- package/components/TooltipMenu/TooltipMenu.md +13 -10
- package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
- package/index.d.ts +1 -2
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/internal/CommonWrapper/index/index.js +1 -2
- package/internal/CommonWrapper/index/index.js.map +1 -1
- package/internal/CommonWrapper/types/types.js +0 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
- package/internal/CustomComboBox/locale/types/types.js +0 -1
- package/internal/DateSelect/locale/types/types.js +0 -1
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +12 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/Popup/types/types.js +0 -1
- package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +1 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/internal/ThemePlayground/constants/constants.js +3 -3
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/index/index.js +1 -2
- package/internal/ZIndex/index/index.js.map +1 -1
- package/internal/themes/BasicLightTheme/BasicLightTheme.js +5 -3338
- package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
- package/internal/themes/BasicLightTheme.d.ts +5 -1198
- package/internal/themes/BasicTheme/BasicTheme.js +3360 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -0
- package/internal/themes/BasicTheme/package.json +6 -0
- package/internal/themes/BasicTheme.d.ts +1217 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +409 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +1 -0
- package/internal/themes/DarkTheme5_0/package.json +6 -0
- package/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +52 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +1 -0
- package/internal/themes/DarkTheme5_1/package.json +6 -0
- package/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js +14 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js.map +1 -0
- package/internal/themes/LightTheme5_0/package.json +6 -0
- package/internal/themes/LightTheme5_0.d.ts +1 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js +52 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +1 -0
- package/internal/themes/LightTheme5_1/package.json +6 -0
- package/internal/themes/LightTheme5_1.d.ts +1 -0
- package/lib/ModalStack/ModalStack.js +8 -8
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +1 -0
- package/lib/date/types/types.js +18 -18
- package/lib/date/types/types.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +3 -3
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
- package/lib/locale/types/types.js +3 -3
- package/lib/locale/types/types.js.map +1 -1
- package/lib/theming/Theme/Theme.js +2 -1
- package/lib/theming/Theme/Theme.js.map +1 -1
- package/lib/theming/Theme.d.ts +4 -3
- package/lib/theming/ThemeContext/ThemeContext.js +2 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +21 -7
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +9 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +85 -18
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +55 -8
- package/lib/theming/ThemeVersions/ThemeVersions.js +50 -0
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -0
- package/lib/theming/ThemeVersions/package.json +6 -0
- package/lib/theming/ThemeVersions.d.ts +25 -0
- package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -4
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -4
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +3 -1
- package/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/lib/theming/useTheme.d.ts +1 -1
- package/lib/types/button-link/button-link.js +0 -1
- package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
- package/lib/types/props/props.js +0 -1
- package/package.json +9 -5
- package/cjs/internal/themes/BasicDarkTheme.d.ts +0 -289
- package/cjs/internal/themes/BasicDarkTheme.js +0 -597
- package/cjs/internal/themes/BasicDarkTheme.js.map +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/DarkTheme2022_0.js.map +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/LightTheme2022_0.js.map +0 -1
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js +0 -641
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js.map +0 -1
- package/internal/themes/BasicDarkTheme/package.json +0 -6
- package/internal/themes/BasicDarkTheme.d.ts +0 -289
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js +0 -3
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js.map +0 -1
- package/lib/theming/themes/DarkTheme2022_0/package.json +0 -6
- package/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js +0 -3
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js.map +0 -1
- package/lib/theming/themes/LightTheme2022_0/package.json +0 -6
- package/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as ResponsiveLayoutStories from './ResponsiveLayout.docs.stories.tsx';
|
|
2
|
+
import { ArgTypes, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={ResponsiveLayoutStories} />
|
|
6
|
+
|
|
7
|
+
# ResponsiveLayout
|
|
8
|
+
|
|
9
|
+
<Description />
|
|
10
|
+
|
|
11
|
+
## Пропы
|
|
12
|
+
|
|
13
|
+
<details>
|
|
14
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
15
|
+
<ArgTypes />
|
|
16
|
+
</details>
|
|
17
|
+
|
|
18
|
+
## Примеры использования
|
|
19
|
+
|
|
20
|
+
```ts static
|
|
21
|
+
interface ResponsiveLayoutFlags {
|
|
22
|
+
isMobile: boolean;
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Компонент ожидает в себя функцию, в которую аргументом передается объект с флагом лэйаута.
|
|
27
|
+
|
|
28
|
+
```jsx static
|
|
29
|
+
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
30
|
+
|
|
31
|
+
class SomeComponent {
|
|
32
|
+
public render() {
|
|
33
|
+
return (
|
|
34
|
+
<ResponsiveLayout>
|
|
35
|
+
{
|
|
36
|
+
({ isMobile }) => {
|
|
37
|
+
/* ... */
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
</ResponsiveLayout>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Также существует проп `onLayoutChange`, который вызывает переданный в него коллбэк при изменении лэйаута. Аргументом передается объект с флагом.
|
|
47
|
+
|
|
48
|
+
```jsx static
|
|
49
|
+
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
50
|
+
|
|
51
|
+
class SomeComponent {
|
|
52
|
+
public render() {
|
|
53
|
+
return (
|
|
54
|
+
<div>
|
|
55
|
+
<ResponsiveLayout onLayoutChange={({ isMobile }) => console.log(isMobile)} />
|
|
56
|
+
</div>
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
|
|
63
|
+
|
|
64
|
+
```ts static
|
|
65
|
+
type MediaQueriesType = Record<string, string>;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 1. Без кастомизации есть только флаг isMobile
|
|
69
|
+
|
|
70
|
+
### 2. Поля из `customMediaQueries` дополняют список возвращаемых флагов в `ResponsiveLayoutFlags`
|
|
71
|
+
|
|
72
|
+
### 3. При добавлении кастомного флага isMobile, значение дефолтного флага перезаписывается в пользу кастомного
|
|
73
|
+
|
|
74
|
+
```jsx static
|
|
75
|
+
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
76
|
+
|
|
77
|
+
const customMediaQueries = {
|
|
78
|
+
isTablet: '(min-width: 577px)',
|
|
79
|
+
isDesktop: '(min-width: 1280px)',
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
class SomeComponent {
|
|
83
|
+
public render() {
|
|
84
|
+
return (
|
|
85
|
+
<ResponsiveLayout customMediaQueries={customMediaQueries}>
|
|
86
|
+
{
|
|
87
|
+
({ isMobile, isTablet, isDesktop }) => {
|
|
88
|
+
/* ... */
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
</ResponsiveLayout>
|
|
92
|
+
)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Как альтернативу можно использовать хук [useResponsiveLayout](#/Mobiles).
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","globalObject","ThemeContext","cx","isInstanceOf","defaultScrollbarState","scrollSizeParametersNames","styles","globalClasses","getScrollSizeParams","ScrollBar","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","containerRef","createRef","state","_extends","renderMain","_cx","_inlineStyles","props","active","_scrollSizeParameters","axis","customScrollPos","customScrollSize","classNames","className","scrollBar","theme","scrollBarStyles","scrollBarInvert","invert","visibleScrollBar","isVisible","inlineStyles","pos","size","createElement","ref","scrollBarContainerClassNames","style","offset","refScroll","onMouseDown","handleScrollMouseDown","reflow","inner","_getScrollSizeParams","scrollSize","scrollPos","scrollActive","scrollState","getImmediateScrollState","onScroll","setState","setInnerElement","element","handleScrollWheel","event","node","addEventListener","passive","removeEventListener","_scrollSizeParameters2","coord","initialCoord","target","document","initialScrollPos","mouseMove","mouseMoveEvent","current","remainingScrollingContent","remainingScrollingSpace","ratio","delta","preventDefault","Object","prototype","hasOwnProperty","returnValue","mouseUp","scrollingByMouseDrag","WheelEvent","shiftKey","_scrollSizeParameters3","offsetHeight","deltaY","_scrollSizeParameters4","clientSize","maxScrollPos","Math","abs","_inheritsLoose","_proto","componentDidMount","componentDidUpdate","render","_this2","Consumer","setHover","hover","getHover","_createClass","key","get","_cx3","_cx2","scrollBarX","scrollbarX","scrollBarXHover","scrollBarY","scrollbarY","scrollBarYHover","scrollbarContainerX","scrollBarContainerX","scrollbarContainerY","scrollBarContainerY","Component"],"sources":["ScrollBar.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { defaultScrollbarState, scrollSizeParametersNames } from './ScrollContainer.constants';\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { getScrollSizeParams } from './ScrollContainer.helpers';\nimport { ScrollContainerProps } from './ScrollContainer';\n\nexport type ScrollAxis = 'x' | 'y';\nexport type ScrollBarScrollState = 'begin' | 'middle' | 'end';\n\nexport interface ScrollBarState {\n active: boolean;\n hover: boolean;\n scrollingByMouseDrag: boolean;\n size: number; // in percentages\n pos: number; // in percentages\n scrollState: ScrollBarScrollState;\n}\n\nexport interface ScrollBarProps {\n invert: boolean;\n axis: ScrollAxis;\n className?: string;\n onScroll?: (axis: ScrollAxis, state: ScrollBarScrollState, prevState: ScrollBarScrollState) => void;\n offset: ScrollContainerProps['offsetY'] | ScrollContainerProps['offsetX'];\n disableAnimations?: boolean;\n isVisible: boolean;\n}\n\nexport class ScrollBar extends React.Component<ScrollBarProps, ScrollBarState> {\n private inner: Nullable<HTMLElement>;\n private containerRef = React.createRef<HTMLDivElement>();\n private theme!: Theme;\n\n public node: Nullable<HTMLElement>;\n public state: ScrollBarState = {\n ...defaultScrollbarState,\n };\n\n public componentDidMount() {\n this.reflow();\n }\n\n public componentDidUpdate() {\n this.reflow();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const state = this.state;\n const props = this.props;\n\n if (!state.active) {\n return null;\n }\n\n const { customScrollPos, customScrollSize } = scrollSizeParametersNames[this.props.axis];\n\n const classNames = cx(props.className, styles.scrollBar(this.theme), this.scrollBarStyles, {\n [styles.scrollBarInvert(this.theme)]: props.invert,\n [styles.visibleScrollBar()]: props.isVisible,\n });\n\n const inlineStyles: React.CSSProperties = {\n [customScrollPos]: `${state.pos}%`,\n [customScrollSize]: `${state.size}%`,\n };\n\n return (\n <div ref={this.containerRef} className={this.scrollBarContainerClassNames} style={props.offset}>\n <div\n ref={this.refScroll}\n style={inlineStyles}\n className={classNames}\n onMouseDown={this.handleScrollMouseDown}\n data-tid={`ScrollContainer__ScrollBar-${props.axis}`}\n />\n </div>\n );\n };\n\n public reflow = () => {\n if (!this.inner) {\n return;\n }\n\n const props = this.props;\n const state = this.state;\n\n const { scrollSize, scrollPos, scrollActive } = getScrollSizeParams(this.inner, props.axis);\n\n if (!scrollActive && !state.active) {\n return;\n }\n\n if (state.active !== scrollActive || state.size !== scrollSize || state.pos !== scrollPos) {\n const scrollState = this.getImmediateScrollState();\n\n if (state.pos !== scrollPos) {\n this.props.onScroll?.(props.axis, scrollState, state.scrollState);\n }\n\n this.setState({\n ...this.state,\n active: scrollActive,\n size: scrollSize,\n pos: scrollPos,\n scrollState,\n });\n }\n };\n\n public setInnerElement = (inner: Nullable<HTMLElement>) => {\n this.inner = inner;\n this.reflow();\n };\n\n public setHover(hover: boolean) {\n if (this.state.active && this.state.hover !== hover) {\n this.setState({ ...this.state, hover });\n }\n }\n\n public getHover() {\n return this.state.hover;\n }\n\n public get scrollBarState() {\n return this.state.scrollState;\n }\n\n private get scrollBarStyles() {\n const state = this.state;\n\n if (this.props.axis === 'x') {\n return cx(styles.scrollBarX(this.theme), globalClasses.scrollbarX, {\n [styles.scrollBarXHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n return cx(styles.scrollBarY(this.theme), globalClasses.scrollbarY, {\n [styles.scrollBarYHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n private get scrollBarContainerClassNames() {\n const { axis } = this.props;\n\n if (axis === 'x') {\n return cx(globalClasses.scrollbarContainerX, styles.scrollBarContainerX(this.theme));\n }\n\n return cx(globalClasses.scrollbarContainerY, styles.scrollBarContainerY());\n }\n\n private refScroll = (element: HTMLElement | null) => {\n const handleScrollWheel = (event: Event) => this.handleScrollWheel(event, this.props.axis);\n\n if (!this.node && element) {\n element.addEventListener('wheel', handleScrollWheel, { passive: false });\n }\n if (this.node && !element) {\n this.node.removeEventListener('wheel', handleScrollWheel);\n }\n this.node = element;\n };\n\n private handleScrollMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!this.inner) {\n return;\n }\n\n const { offset, size, pos, coord } = scrollSizeParametersNames[this.props.axis];\n\n const initialCoord = event[coord];\n const target = globalObject.document;\n const initialScrollPos = this.inner[pos];\n const state = this.state;\n\n const mouseMove = (mouseMoveEvent: MouseEvent) => {\n if (!this.inner || !this.containerRef.current) {\n return;\n }\n\n const remainingScrollingContent = this.inner[size] - this.inner[offset];\n const remainingScrollingSpace = (this.containerRef.current[offset] / 100) * (100 - state.size);\n\n const ratio = remainingScrollingContent / remainingScrollingSpace;\n const delta = (mouseMoveEvent[coord] - initialCoord) * ratio;\n\n this.inner[pos] = initialScrollPos + delta;\n\n if (mouseMoveEvent.preventDefault) {\n mouseMoveEvent.preventDefault();\n }\n\n if (Object.prototype.hasOwnProperty.call(mouseMoveEvent, 'returnValue')) {\n (\n mouseMoveEvent as MouseEvent & {\n returnValue: boolean;\n }\n ).returnValue = false;\n }\n };\n\n const mouseUp = () => {\n target?.removeEventListener('mousemove', mouseMove);\n target?.removeEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: false });\n };\n\n target?.addEventListener('mousemove', mouseMove);\n target?.addEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: true });\n\n event.preventDefault();\n };\n\n private handleScrollWheel = (event: Event, axis: ScrollAxis) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent) || (axis === 'x' && !event.shiftKey)) {\n return;\n }\n\n const { offset, size, pos } = scrollSizeParametersNames[axis];\n\n const scrollSize = this.inner[size];\n const scrollPos = this.inner[pos];\n const offsetHeight = this.inner[offset];\n\n if (event.deltaY > 0 && scrollSize <= scrollPos + offsetHeight) {\n return;\n }\n if (event.deltaY < 0 && scrollPos <= 0) {\n return;\n }\n\n this.inner[pos] += event.deltaY;\n\n event.preventDefault();\n };\n\n private getImmediateScrollState = (): ScrollBarScrollState => {\n const { pos, size, clientSize } = scrollSizeParametersNames[this.props.axis];\n\n if (!this.inner || this.inner[pos] === 0) {\n return 'begin';\n }\n // Zoom in Chrome causes problems\n // https://github.com/skbkontur/retail-ui/pull/2705#issue-806286945\n const maxScrollPos = this.inner[size] - this.inner[clientSize];\n if (Math.abs(maxScrollPos - this.inner[pos]) <= 1) {\n return 'end';\n }\n\n return 'middle';\n };\n}\n"],"mappings":"kMAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,0BAA0B;;;;AAIvD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,YAAY,QAAQ,wBAAwB;;AAErD,SAASC,qBAAqB,EAAEC,yBAAyB,QAAQ,6BAA6B;AAC9F,SAASC,MAAM,EAAEC,aAAa,QAAQ,0BAA0B;AAChE,SAASC,mBAAmB,QAAQ,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;AAyB/D,WAAaC,SAAS,0BAAAC,gBAAA,YAAAD,UAAA,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;;IAEZU,YAAY,gBAAGtB,KAAK,CAACuB,SAAS,CAAiB,CAAC,CAAAX,KAAA;;;;IAIjDY,KAAK,GAAAC,QAAA;IACPpB,qBAAqB,EAAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;IAsBlBc,UAAU,GAAG,YAAM,KAAAC,GAAA,EAAAC,aAAA;MACzB,IAAMJ,KAAK,GAAGZ,KAAA,CAAKY,KAAK;MACxB,IAAMK,KAAK,GAAGjB,KAAA,CAAKiB,KAAK;;MAExB,IAAI,CAACL,KAAK,CAACM,MAAM,EAAE;QACjB,OAAO,IAAI;MACb;;MAEA,IAAAC,qBAAA,GAA8CzB,yBAAyB,CAACM,KAAA,CAAKiB,KAAK,CAACG,IAAI,CAAC,CAAhFC,eAAe,GAAAF,qBAAA,CAAfE,eAAe,CAAEC,gBAAgB,GAAAH,qBAAA,CAAhBG,gBAAgB;;MAEzC,IAAMC,UAAU,GAAGhC,EAAE,CAAC0B,KAAK,CAACO,SAAS,EAAE7B,MAAM,CAAC8B,SAAS,CAACzB,KAAA,CAAK0B,KAAK,CAAC,EAAE1B,KAAA,CAAK2B,eAAe,GAAAZ,GAAA,OAAAA,GAAA;MACtFpB,MAAM,CAACiC,eAAe,CAAC5B,KAAA,CAAK0B,KAAK,CAAC,IAAGT,KAAK,CAACY,MAAM,EAAAd,GAAA;MACjDpB,MAAM,CAACmC,gBAAgB,CAAC,CAAC,IAAGb,KAAK,CAACc,SAAS,EAAAhB,GAAA;MAC7C,CAAC;;MAEF,IAAMiB,YAAiC,IAAAhB,aAAA,OAAAA,aAAA;MACpCK,eAAe,IAAMT,KAAK,CAACqB,GAAG,QAAAjB,aAAA;MAC9BM,gBAAgB,IAAMV,KAAK,CAACsB,IAAI,QAAAlB,aAAA,CAClC;;;MAED;QACE5B,KAAA,CAAA+C,aAAA,UAAKC,GAAG,EAAEpC,KAAA,CAAKU,YAAa,EAACc,SAAS,EAAExB,KAAA,CAAKqC,4BAA6B,EAACC,KAAK,EAAErB,KAAK,CAACsB,MAAO;QAC7FnD,KAAA,CAAA+C,aAAA;UACEC,GAAG,EAAEpC,KAAA,CAAKwC,SAAU;UACpBF,KAAK,EAAEN,YAAa;UACpBR,SAAS,EAAED,UAAW;UACtBkB,WAAW,EAAEzC,KAAA,CAAK0C,qBAAsB;UACxC,4CAAwCzB,KAAK,CAACG,IAAO;QACtD;QACE,CAAC;;IAEV,CAAC,CAAApB,KAAA;;IAEM2C,MAAM,GAAG,YAAM;MACpB,IAAI,CAAC3C,KAAA,CAAK4C,KAAK,EAAE;QACf;MACF;;MAEA,IAAM3B,KAAK,GAAGjB,KAAA,CAAKiB,KAAK;MACxB,IAAML,KAAK,GAAGZ,KAAA,CAAKY,KAAK;;MAExB,IAAAiC,oBAAA,GAAgDhD,mBAAmB,CAACG,KAAA,CAAK4C,KAAK,EAAE3B,KAAK,CAACG,IAAI,CAAC,CAAnF0B,UAAU,GAAAD,oBAAA,CAAVC,UAAU,CAAEC,SAAS,GAAAF,oBAAA,CAATE,SAAS,CAAEC,YAAY,GAAAH,oBAAA,CAAZG,YAAY;;MAE3C,IAAI,CAACA,YAAY,IAAI,CAACpC,KAAK,CAACM,MAAM,EAAE;QAClC;MACF;;MAEA,IAAIN,KAAK,CAACM,MAAM,KAAK8B,YAAY,IAAIpC,KAAK,CAACsB,IAAI,KAAKY,UAAU,IAAIlC,KAAK,CAACqB,GAAG,KAAKc,SAAS,EAAE;QACzF,IAAME,WAAW,GAAGjD,KAAA,CAAKkD,uBAAuB,CAAC,CAAC;;QAElD,IAAItC,KAAK,CAACqB,GAAG,KAAKc,SAAS,EAAE;UAC3B/C,KAAA,CAAKiB,KAAK,CAACkC,QAAQ,YAAnBnD,KAAA,CAAKiB,KAAK,CAACkC,QAAQ,CAAGlC,KAAK,CAACG,IAAI,EAAE6B,WAAW,EAAErC,KAAK,CAACqC,WAAW,CAAC;QACnE;;QAEAjD,KAAA,CAAKoD,QAAQ,CAAAvC,QAAA;QACRb,KAAA,CAAKY,KAAK;UACbM,MAAM,EAAE8B,YAAY;UACpBd,IAAI,EAAEY,UAAU;UAChBb,GAAG,EAAEc,SAAS;UACdE,WAAW,EAAXA,WAAW;QACZ,CAAC;MACJ;IACF,CAAC,CAAAjD,KAAA;;IAEMqD,eAAe,GAAG,UAACT,KAA4B,EAAK;MACzD5C,KAAA,CAAK4C,KAAK,GAAGA,KAAK;MAClB5C,KAAA,CAAK2C,MAAM,CAAC,CAAC;IACf,CAAC,CAAA3C,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCOwC,SAAS,GAAG,UAACc,OAA2B,EAAK;MACnD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAY,UAAKxD,KAAA,CAAKuD,iBAAiB,CAACC,KAAK,EAAExD,KAAA,CAAKiB,KAAK,CAACG,IAAI,CAAC;;MAE1F,IAAI,CAACpB,KAAA,CAAKyD,IAAI,IAAIH,OAAO,EAAE;QACzBA,OAAO,CAACI,gBAAgB,CAAC,OAAO,EAAEH,iBAAiB,EAAE,EAAEI,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;MAC1E;MACA,IAAI3D,KAAA,CAAKyD,IAAI,IAAI,CAACH,OAAO,EAAE;QACzBtD,KAAA,CAAKyD,IAAI,CAACG,mBAAmB,CAAC,OAAO,EAAEL,iBAAiB,CAAC;MAC3D;MACAvD,KAAA,CAAKyD,IAAI,GAAGH,OAAO;IACrB,CAAC,CAAAtD,KAAA;;IAEO0C,qBAAqB,GAAG,UAACc,KAAuC,EAAK;MAC3E,IAAI,CAACxD,KAAA,CAAK4C,KAAK,EAAE;QACf;MACF;;MAEA,IAAAiB,sBAAA,GAAqCnE,yBAAyB,CAACM,KAAA,CAAKiB,KAAK,CAACG,IAAI,CAAC,CAAvEmB,MAAM,GAAAsB,sBAAA,CAANtB,MAAM,CAAEL,IAAI,GAAA2B,sBAAA,CAAJ3B,IAAI,CAAED,GAAG,GAAA4B,sBAAA,CAAH5B,GAAG,CAAE6B,KAAK,GAAAD,sBAAA,CAALC,KAAK;;MAEhC,IAAMC,YAAY,GAAGP,KAAK,CAACM,KAAK,CAAC;MACjC,IAAME,MAAM,GAAG3E,YAAY,CAAC4E,QAAQ;MACpC,IAAMC,gBAAgB,GAAGlE,KAAA,CAAK4C,KAAK,CAACX,GAAG,CAAC;MACxC,IAAMrB,KAAK,GAAGZ,KAAA,CAAKY,KAAK;;MAExB,IAAMuD,SAAS,GAAG,SAAZA,SAASA,CAAIC,cAA0B,EAAK;QAChD,IAAI,CAACpE,KAAA,CAAK4C,KAAK,IAAI,CAAC5C,KAAA,CAAKU,YAAY,CAAC2D,OAAO,EAAE;UAC7C;QACF;;QAEA,IAAMC,yBAAyB,GAAGtE,KAAA,CAAK4C,KAAK,CAACV,IAAI,CAAC,GAAGlC,KAAA,CAAK4C,KAAK,CAACL,MAAM,CAAC;QACvE,IAAMgC,uBAAuB,GAAIvE,KAAA,CAAKU,YAAY,CAAC2D,OAAO,CAAC9B,MAAM,CAAC,GAAG,GAAG,IAAK,GAAG,GAAG3B,KAAK,CAACsB,IAAI,CAAC;;QAE9F,IAAMsC,KAAK,GAAGF,yBAAyB,GAAGC,uBAAuB;QACjE,IAAME,KAAK,GAAG,CAACL,cAAc,CAACN,KAAK,CAAC,GAAGC,YAAY,IAAIS,KAAK;;QAE5DxE,KAAA,CAAK4C,KAAK,CAACX,GAAG,CAAC,GAAGiC,gBAAgB,GAAGO,KAAK;;QAE1C,IAAIL,cAAc,CAACM,cAAc,EAAE;UACjCN,cAAc,CAACM,cAAc,CAAC,CAAC;QACjC;;QAEA,IAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACtE,IAAI,CAAC6D,cAAc,EAAE,aAAa,CAAC,EAAE;;UAErEA,cAAc;;;UAGdU,WAAW,GAAG,KAAK;QACvB;MACF,CAAC;;MAED,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;QACpBf,MAAM,YAANA,MAAM,CAAEJ,mBAAmB,CAAC,WAAW,EAAEO,SAAS,CAAC;QACnDH,MAAM,YAANA,MAAM,CAAEJ,mBAAmB,CAAC,SAAS,EAAEmB,OAAO,CAAC;QAC/C/E,KAAA,CAAKoD,QAAQ,CAAAvC,QAAA,KAAMb,KAAA,CAAKY,KAAK,IAAEoE,oBAAoB,EAAE,KAAK,GAAE,CAAC;MAC/D,CAAC;;MAEDhB,MAAM,YAANA,MAAM,CAAEN,gBAAgB,CAAC,WAAW,EAAES,SAAS,CAAC;MAChDH,MAAM,YAANA,MAAM,CAAEN,gBAAgB,CAAC,SAAS,EAAEqB,OAAO,CAAC;MAC5C/E,KAAA,CAAKoD,QAAQ,CAAAvC,QAAA,KAAMb,KAAA,CAAKY,KAAK,IAAEoE,oBAAoB,EAAE,IAAI,GAAE,CAAC;;MAE5DxB,KAAK,CAACkB,cAAc,CAAC,CAAC;IACxB,CAAC,CAAA1E,KAAA;;IAEOuD,iBAAiB,GAAG,UAACC,KAAY,EAAEpC,IAAgB,EAAK;MAC9D,IAAI,CAACpB,KAAA,CAAK4C,KAAK,IAAI,CAACpD,YAAY,CAACgE,KAAK,EAAEnE,YAAY,CAAC4F,UAAU,CAAC,IAAK7D,IAAI,KAAK,GAAG,IAAI,CAACoC,KAAK,CAAC0B,QAAS,EAAE;QACrG;MACF;;MAEA,IAAAC,sBAAA,GAA8BzF,yBAAyB,CAAC0B,IAAI,CAAC,CAArDmB,MAAM,GAAA4C,sBAAA,CAAN5C,MAAM,CAAEL,IAAI,GAAAiD,sBAAA,CAAJjD,IAAI,CAAED,GAAG,GAAAkD,sBAAA,CAAHlD,GAAG;;MAEzB,IAAMa,UAAU,GAAG9C,KAAA,CAAK4C,KAAK,CAACV,IAAI,CAAC;MACnC,IAAMa,SAAS,GAAG/C,KAAA,CAAK4C,KAAK,CAACX,GAAG,CAAC;MACjC,IAAMmD,YAAY,GAAGpF,KAAA,CAAK4C,KAAK,CAACL,MAAM,CAAC;;MAEvC,IAAIiB,KAAK,CAAC6B,MAAM,GAAG,CAAC,IAAIvC,UAAU,IAAIC,SAAS,GAAGqC,YAAY,EAAE;QAC9D;MACF;MACA,IAAI5B,KAAK,CAAC6B,MAAM,GAAG,CAAC,IAAItC,SAAS,IAAI,CAAC,EAAE;QACtC;MACF;;MAEA/C,KAAA,CAAK4C,KAAK,CAACX,GAAG,CAAC,IAAIuB,KAAK,CAAC6B,MAAM;;MAE/B7B,KAAK,CAACkB,cAAc,CAAC,CAAC;IACxB,CAAC,CAAA1E,KAAA;;IAEOkD,uBAAuB,GAAG,YAA4B;MAC5D,IAAAoC,sBAAA,GAAkC5F,yBAAyB,CAACM,KAAA,CAAKiB,KAAK,CAACG,IAAI,CAAC,CAApEa,GAAG,GAAAqD,sBAAA,CAAHrD,GAAG,CAAEC,IAAI,GAAAoD,sBAAA,CAAJpD,IAAI,CAAEqD,UAAU,GAAAD,sBAAA,CAAVC,UAAU;;MAE7B,IAAI,CAACvF,KAAA,CAAK4C,KAAK,IAAI5C,KAAA,CAAK4C,KAAK,CAACX,GAAG,CAAC,KAAK,CAAC,EAAE;QACxC,OAAO,OAAO;MAChB;MACA;MACA;MACA,IAAMuD,YAAY,GAAGxF,KAAA,CAAK4C,KAAK,CAACV,IAAI,CAAC,GAAGlC,KAAA,CAAK4C,KAAK,CAAC2C,UAAU,CAAC;MAC9D,IAAIE,IAAI,CAACC,GAAG,CAACF,YAAY,GAAGxF,KAAA,CAAK4C,KAAK,CAACX,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;QACjD,OAAO,KAAK;MACd;;MAEA,OAAO,QAAQ;IACjB,CAAC,QAAAjC,KAAA,EAAA2F,cAAA,CAAA7F,SAAA,EAAAC,gBAAA,MAAA6F,MAAA,GAAA9F,SAAA,CAAA8E,SAAA,CAAAgB,MAAA,CAlOMC,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,CAAClD,MAAM,CAAC,CAAC,CACf,CAAC,CAAAiD,MAAA,CAEME,kBAAkB,GAAzB,SAAAA,mBAAA,EAA4B,CAC1B,IAAI,CAACnD,MAAM,CAAC,CAAC,CACf,CAAC,CAAAiD,MAAA,CAEMG,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE5G,KAAA,CAAA+C,aAAA,CAAC7C,YAAY,CAAC2G,QAAQ,QACnB,UAACvE,KAAK,EAAK,CACVsE,MAAI,CAACtE,KAAK,GAAGA,KAAK,CAClB,OAAOsE,MAAI,CAAClF,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,CAAA8E,MAAA,CAuEMM,QAAQ,GAAf,SAAAA,SAAgBC,KAAc,EAAE,CAC9B,IAAI,IAAI,CAACvF,KAAK,CAACM,MAAM,IAAI,IAAI,CAACN,KAAK,CAACuF,KAAK,KAAKA,KAAK,EAAE,CACnD,IAAI,CAAC/C,QAAQ,CAAAvC,QAAA,KAAM,IAAI,CAACD,KAAK,IAAEuF,KAAK,EAALA,KAAK,GAAE,CAAC,CACzC,CACF,CAAC,CAAAP,MAAA,CAEMQ,QAAQ,GAAf,SAAAA,SAAA,EAAkB,CAChB,OAAO,IAAI,CAACxF,KAAK,CAACuF,KAAK,CACzB,CAAC,QAAAE,YAAA,CAAAvG,SAAA,KAAAwG,GAAA,oBAAAC,GAAA,EAED,SAAAA,IAAA,EAA4B,CAC1B,OAAO,IAAI,CAAC3F,KAAK,CAACqC,WAAW,CAC/B,CAAC,MAAAqD,GAAA,qBAAAC,GAAA,EAED,SAAAA,IAAA,EAA8B,KAAAC,IAAA,CAC5B,IAAM5F,KAAK,GAAG,IAAI,CAACA,KAAK,CAExB,IAAI,IAAI,CAACK,KAAK,CAACG,IAAI,KAAK,GAAG,EAAE,KAAAqF,IAAA,CAC3B,OAAOlH,EAAE,CAACI,MAAM,CAAC+G,UAAU,CAAC,IAAI,CAAChF,KAAK,CAAC,EAAE9B,aAAa,CAAC+G,UAAU,GAAAF,IAAA,OAAAA,IAAA,CAC9D9G,MAAM,CAACiH,eAAe,CAAC,IAAI,CAAClF,KAAK,CAAC,IAAGd,KAAK,CAACuF,KAAK,IAAIvF,KAAK,CAACoE,oBAAoB,EAAAyB,IAAA,CAChF,CAAC,CACJ,CAEA,OAAOlH,EAAE,CAACI,MAAM,CAACkH,UAAU,CAAC,IAAI,CAACnF,KAAK,CAAC,EAAE9B,aAAa,CAACkH,UAAU,GAAAN,IAAA,OAAAA,IAAA,CAC9D7G,MAAM,CAACoH,eAAe,CAAC,IAAI,CAACrF,KAAK,CAAC,IAAGd,KAAK,CAACuF,KAAK,IAAIvF,KAAK,CAACoE,oBAAoB,EAAAwB,IAAA,CAChF,CAAC,CACJ,CAAC,MAAAF,GAAA,kCAAAC,GAAA,EAED,SAAAA,IAAA,EAA2C,CACzC,IAAQnF,IAAI,GAAK,IAAI,CAACH,KAAK,CAAnBG,IAAI,CAEZ,IAAIA,IAAI,KAAK,GAAG,EAAE,CAChB,OAAO7B,EAAE,CAACK,aAAa,CAACoH,mBAAmB,EAAErH,MAAM,CAACsH,mBAAmB,CAAC,IAAI,CAACvF,KAAK,CAAC,CAAC,CACtF,CAEA,OAAOnC,EAAE,CAACK,aAAa,CAACsH,mBAAmB,EAAEvH,MAAM,CAACwH,mBAAmB,CAAC,CAAC,CAAC,CAC5E,CAAC,OAtI4B/H,KAAK,CAACgI,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","globalObject","ThemeContext","cx","isInstanceOf","defaultScrollbarState","scrollSizeParametersNames","styles","globalClasses","getScrollSizeParams","ScrollBar","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","containerRef","createRef","state","_extends","renderMain","_cx","_inlineStyles","props","active","_scrollSizeParameters","axis","customScrollPos","customScrollSize","classNames","className","scrollBar","theme","scrollBarStyles","scrollBarInvert","invert","visibleScrollBar","isVisible","inlineStyles","pos","size","createElement","ref","scrollBarContainerClassNames","style","offset","refScroll","onMouseDown","handleScrollMouseDown","reflow","inner","_getScrollSizeParams","scrollSize","scrollPos","scrollActive","scrollState","getImmediateScrollState","onScroll","setState","setInnerElement","element","handleScrollWheel","event","node","addEventListener","passive","removeEventListener","_scrollSizeParameters2","coord","initialCoord","target","document","initialScrollPos","mouseMove","mouseMoveEvent","current","remainingScrollingContent","remainingScrollingSpace","ratio","delta","preventDefault","Object","prototype","hasOwnProperty","returnValue","mouseUp","scrollingByMouseDrag","WheelEvent","shiftKey","_scrollSizeParameters3","offsetHeight","deltaY","_scrollSizeParameters4","clientSize","maxScrollPos","Math","abs","_inheritsLoose","_proto","componentDidMount","componentDidUpdate","render","_this2","Consumer","setHover","hover","getHover","_createClass","key","get","_cx3","_cx2","scrollBarX","scrollbarX","scrollBarXHover","scrollBarY","scrollbarY","scrollBarYHover","scrollbarContainerX","scrollBarContainerX","scrollbarContainerY","scrollBarContainerY","Component"],"sources":["ScrollBar.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { defaultScrollbarState, scrollSizeParametersNames } from './ScrollContainer.constants';\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { getScrollSizeParams } from './ScrollContainer.helpers';\nimport { ScrollContainerProps } from './ScrollContainer';\n\nexport type ScrollAxis = 'x' | 'y';\nexport type ScrollBarScrollState = 'begin' | 'middle' | 'end';\n\nexport interface ScrollBarState {\n active: boolean;\n hover: boolean;\n scrollingByMouseDrag: boolean;\n size: number; // in percentages\n pos: number; // in percentages\n scrollState: ScrollBarScrollState;\n}\n\nexport interface ScrollBarProps {\n /** Инвертирует цвет скроллбара. */\n invert: boolean;\n\n /** Задает ось скроллбара. */\n axis: ScrollAxis;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Задает функцию, которая вызывается при скролле. */\n onScroll?: (axis: ScrollAxis, state: ScrollBarScrollState, prevState: ScrollBarScrollState) => void;\n\n /** Задает отступ от края экрана. */\n offset: ScrollContainerProps['offsetY'] | ScrollContainerProps['offsetX'];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Определяет, виден ли скроллбар. */\n isVisible: boolean;\n}\n\nexport class ScrollBar extends React.Component<ScrollBarProps, ScrollBarState> {\n private inner: Nullable<HTMLElement>;\n private containerRef = React.createRef<HTMLDivElement>();\n private theme!: Theme;\n\n public node: Nullable<HTMLElement>;\n public state: ScrollBarState = {\n ...defaultScrollbarState,\n };\n\n public componentDidMount() {\n this.reflow();\n }\n\n public componentDidUpdate() {\n this.reflow();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const state = this.state;\n const props = this.props;\n\n if (!state.active) {\n return null;\n }\n\n const { customScrollPos, customScrollSize } = scrollSizeParametersNames[this.props.axis];\n\n const classNames = cx(props.className, styles.scrollBar(this.theme), this.scrollBarStyles, {\n [styles.scrollBarInvert(this.theme)]: props.invert,\n [styles.visibleScrollBar()]: props.isVisible,\n });\n\n const inlineStyles: React.CSSProperties = {\n [customScrollPos]: `${state.pos}%`,\n [customScrollSize]: `${state.size}%`,\n };\n\n return (\n <div ref={this.containerRef} className={this.scrollBarContainerClassNames} style={props.offset}>\n <div\n ref={this.refScroll}\n style={inlineStyles}\n className={classNames}\n onMouseDown={this.handleScrollMouseDown}\n data-tid={`ScrollContainer__ScrollBar-${props.axis}`}\n />\n </div>\n );\n };\n\n public reflow = () => {\n if (!this.inner) {\n return;\n }\n\n const props = this.props;\n const state = this.state;\n\n const { scrollSize, scrollPos, scrollActive } = getScrollSizeParams(this.inner, props.axis);\n\n if (!scrollActive && !state.active) {\n return;\n }\n\n if (state.active !== scrollActive || state.size !== scrollSize || state.pos !== scrollPos) {\n const scrollState = this.getImmediateScrollState();\n\n if (state.pos !== scrollPos) {\n this.props.onScroll?.(props.axis, scrollState, state.scrollState);\n }\n\n this.setState({\n ...this.state,\n active: scrollActive,\n size: scrollSize,\n pos: scrollPos,\n scrollState,\n });\n }\n };\n\n public setInnerElement = (inner: Nullable<HTMLElement>) => {\n this.inner = inner;\n this.reflow();\n };\n\n public setHover(hover: boolean) {\n if (this.state.active && this.state.hover !== hover) {\n this.setState({ ...this.state, hover });\n }\n }\n\n public getHover() {\n return this.state.hover;\n }\n\n public get scrollBarState() {\n return this.state.scrollState;\n }\n\n private get scrollBarStyles() {\n const state = this.state;\n\n if (this.props.axis === 'x') {\n return cx(styles.scrollBarX(this.theme), globalClasses.scrollbarX, {\n [styles.scrollBarXHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n return cx(styles.scrollBarY(this.theme), globalClasses.scrollbarY, {\n [styles.scrollBarYHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n private get scrollBarContainerClassNames() {\n const { axis } = this.props;\n\n if (axis === 'x') {\n return cx(globalClasses.scrollbarContainerX, styles.scrollBarContainerX(this.theme));\n }\n\n return cx(globalClasses.scrollbarContainerY, styles.scrollBarContainerY());\n }\n\n private refScroll = (element: HTMLElement | null) => {\n const handleScrollWheel = (event: Event) => this.handleScrollWheel(event, this.props.axis);\n\n if (!this.node && element) {\n element.addEventListener('wheel', handleScrollWheel, { passive: false });\n }\n if (this.node && !element) {\n this.node.removeEventListener('wheel', handleScrollWheel);\n }\n this.node = element;\n };\n\n private handleScrollMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!this.inner) {\n return;\n }\n\n const { offset, size, pos, coord } = scrollSizeParametersNames[this.props.axis];\n\n const initialCoord = event[coord];\n const target = globalObject.document;\n const initialScrollPos = this.inner[pos];\n const state = this.state;\n\n const mouseMove = (mouseMoveEvent: MouseEvent) => {\n if (!this.inner || !this.containerRef.current) {\n return;\n }\n\n const remainingScrollingContent = this.inner[size] - this.inner[offset];\n const remainingScrollingSpace = (this.containerRef.current[offset] / 100) * (100 - state.size);\n\n const ratio = remainingScrollingContent / remainingScrollingSpace;\n const delta = (mouseMoveEvent[coord] - initialCoord) * ratio;\n\n this.inner[pos] = initialScrollPos + delta;\n\n if (mouseMoveEvent.preventDefault) {\n mouseMoveEvent.preventDefault();\n }\n\n if (Object.prototype.hasOwnProperty.call(mouseMoveEvent, 'returnValue')) {\n (\n mouseMoveEvent as MouseEvent & {\n returnValue: boolean;\n }\n ).returnValue = false;\n }\n };\n\n const mouseUp = () => {\n target?.removeEventListener('mousemove', mouseMove);\n target?.removeEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: false });\n };\n\n target?.addEventListener('mousemove', mouseMove);\n target?.addEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: true });\n\n event.preventDefault();\n };\n\n private handleScrollWheel = (event: Event, axis: ScrollAxis) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent) || (axis === 'x' && !event.shiftKey)) {\n return;\n }\n\n const { offset, size, pos } = scrollSizeParametersNames[axis];\n\n const scrollSize = this.inner[size];\n const scrollPos = this.inner[pos];\n const offsetHeight = this.inner[offset];\n\n if (event.deltaY > 0 && scrollSize <= scrollPos + offsetHeight) {\n return;\n }\n if (event.deltaY < 0 && scrollPos <= 0) {\n return;\n }\n\n this.inner[pos] += event.deltaY;\n\n event.preventDefault();\n };\n\n private getImmediateScrollState = (): ScrollBarScrollState => {\n const { pos, size, clientSize } = scrollSizeParametersNames[this.props.axis];\n\n if (!this.inner || this.inner[pos] === 0) {\n return 'begin';\n }\n // Zoom in Chrome causes problems\n // https://github.com/skbkontur/retail-ui/pull/2705#issue-806286945\n const maxScrollPos = this.inner[size] - this.inner[clientSize];\n if (Math.abs(maxScrollPos - this.inner[pos]) <= 1) {\n return 'end';\n }\n\n return 'middle';\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,12 +12,19 @@ export interface ScrollBarState {
|
|
|
12
12
|
scrollState: ScrollBarScrollState;
|
|
13
13
|
}
|
|
14
14
|
export interface ScrollBarProps {
|
|
15
|
+
/** Инвертирует цвет скроллбара. */
|
|
15
16
|
invert: boolean;
|
|
17
|
+
/** Задает ось скроллбара. */
|
|
16
18
|
axis: ScrollAxis;
|
|
19
|
+
/** Задает HTML-атрибут class. */
|
|
17
20
|
className?: string;
|
|
21
|
+
/** Задает функцию, которая вызывается при скролле. */
|
|
18
22
|
onScroll?: (axis: ScrollAxis, state: ScrollBarScrollState, prevState: ScrollBarScrollState) => void;
|
|
23
|
+
/** Задает отступ от края экрана. */
|
|
19
24
|
offset: ScrollContainerProps['offsetY'] | ScrollContainerProps['offsetX'];
|
|
25
|
+
/** Отключает анимацию. */
|
|
20
26
|
disableAnimations?: boolean;
|
|
27
|
+
/** Определяет, виден ли скроллбар. */
|
|
21
28
|
isVisible: boolean;
|
|
22
29
|
}
|
|
23
30
|
export declare class ScrollBar extends React.Component<ScrollBarProps, ScrollBarState> {
|
|
@@ -26,6 +26,10 @@ export var ScrollContainerDataTids = {
|
|
|
26
26
|
root: 'ScrollContainer__root',
|
|
27
27
|
inner: 'ScrollContainer__inner'
|
|
28
28
|
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* `ScrollContainer` используется для создания контейнера с кастомными полосами прокрутки, который обеспечивает прокрутку содержимого по горизонтали или вертикали.
|
|
32
|
+
*/
|
|
29
33
|
export var ScrollContainer = rootNode(_class = (_ScrollContainer = /*#__PURE__*/function (_React$Component) {
|
|
30
34
|
function ScrollContainer() {
|
|
31
35
|
var _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PropTypes","globalObject","debounce","isInstanceOf","LayoutEvents","CommonWrapper","cx","isIE11","rootNode","getDOMRect","createPropsGetter","isTestEnv","callChildRef","styles","globalClasses","scrollSizeParametersNames","getScrollYOffset","convertScrollbarXScrollState","convertScrollbarYScrollState","ScrollBar","ScrollContainerDataTids","root","inner","ScrollContainer","_class","_ScrollContainer","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","initialIsScrollBarVisible","showScrollBar","state","isScrollBarXVisible","isScrollBarYVisible","isHovered","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","createElement","_extends","rootNodeRef","setRootNode","className","onMouseMove","handleMouseMove","onMouseLeave","handleMouseLeave","style","ref","refInner","innerIE11","onScroll","handleNativeScroll","axis","_this$getProps","offsetY","offsetX","invert","disableAnimations","isAxisX","refScrollBar","refScrollBarX","refScrollBarY","offset","isVisible","handleScroll","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","onScrollStateChangeX","scrollYState","onScrollStateChange","onScrollStateChangeY","prevScrollState","_this$getProps2","showScrollBarOnMouseWheel","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","scrollRef","event","_this$scrollY","_this$scrollX","reflow","preventDefault","emit","isScrollBarVisible","setState","hideScrollBar","_this$scrollX2","_this$scrollY2","isScrollBarXHovered","getHover","isScrollBarYHovered","hideScrollBarDelay","WheelEvent","shiftKey","hasScrollBar","_scrollSizeParameters","pos","size","deltaY","_this$scrollY3","_this$scrollX3","right","currentTarget","pageX","bottom","pageY","setHover","_this$scrollY4","_this$scrollX4","updateInnerElement","_this$scrollX5","_this$scrollY5","setInnerElement","_inheritsLoose","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","Component","__KONTUR_REACT_UI__","displayName","propTypes","bool","oneOfType","string","number","oneOf","func"],"sources":["ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { scrollSizeParametersNames } from './ScrollContainer.constants';\nimport {\n getScrollYOffset,\n convertScrollbarXScrollState,\n convertScrollbarYScrollState,\n} from './ScrollContainer.helpers';\nimport { ScrollAxis, ScrollBar, ScrollBarScrollState } from './ScrollBar';\n\nexport type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';\nexport type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';\nexport type ScrollContainerScrollState = ScrollContainerScrollStateY; // deprecated\nexport type ScrollBehaviour = 'auto' | 'smooth';\n\ntype OffsetCSSPropsY = 'top' | 'right' | 'bottom';\ntype OffsetCSSPropsX = 'right' | 'bottom' | 'left';\n\nexport interface ScrollContainerProps extends CommonProps {\n /**\n * Инвертировать цвет скроллбара\n * @default false\n */\n invert?: boolean;\n maxHeight?: React.CSSProperties['maxHeight'];\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * @default false\n */\n preventWindowScroll?: boolean;\n /**\n * Поведение скролла (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n * @default 'auto'\n */\n scrollBehaviour?: ScrollBehaviour;\n onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;\n onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;\n onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void; // deprecated\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n /**\n * Отключение кастомного скролла\n */\n disabled?: boolean;\n /**\n * Смещение вертикального скроллбара\n */\n offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;\n /**\n * Смещение горизонтального скроллбара\n */\n offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;\n\n /**\n * Показывать скроллбар\n */\n showScrollBar?: 'always' | 'scroll' | 'hover' | 'never';\n /**\n * Задержка перед скрытием скроллбара, ms. Работает только `showScrollBar = 'scroll' | 'hover'`\n */\n hideScrollBarDelay?: number;\n /**\n * Отключить анимации\n */\n disableAnimations?: boolean;\n scrollRef?: React.Ref<HTMLDivElement | null>;\n}\n\nexport const ScrollContainerDataTids = {\n root: 'ScrollContainer__root',\n inner: 'ScrollContainer__inner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n ScrollContainerProps,\n 'invert' | 'scrollBehaviour' | 'preventWindowScroll' | 'disableAnimations' | 'hideScrollBarDelay' | 'showScrollBar'\n >\n>;\n\ninterface ScrollContainerState {\n isScrollBarXVisible: boolean;\n isScrollBarYVisible: boolean;\n isHovered: boolean;\n}\n\n@rootNode\nexport class ScrollContainer extends React.Component<ScrollContainerProps, ScrollContainerState> {\n public static __KONTUR_REACT_UI__ = 'ScrollContainer';\n public static displayName = 'ScrollContainer';\n\n public inner: Nullable<HTMLElement>;\n\n public static propTypes = {\n invert: PropTypes.bool,\n maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n scrollBehaviour: PropTypes.oneOf(['auto', 'smooth']),\n preventWindowScroll: PropTypes.bool,\n onScrollStateChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n invert: false,\n scrollBehaviour: 'auto',\n preventWindowScroll: false,\n disableAnimations: isTestEnv,\n hideScrollBarDelay: 500,\n showScrollBar: 'always',\n };\n\n private getProps = createPropsGetter(ScrollContainer.defaultProps);\n\n private scrollX: Nullable<ScrollBar>;\n private scrollY: Nullable<ScrollBar>;\n private setRootNode!: TSetRootNode;\n private initialIsScrollBarVisible = this.getProps().showScrollBar === 'always';\n\n public state: ScrollContainerState = {\n isScrollBarXVisible: this.initialIsScrollBarVisible,\n isScrollBarYVisible: this.initialIsScrollBarVisible,\n isHovered: false,\n };\n\n public componentDidMount() {\n this.updateInnerElement();\n }\n\n public componentDidUpdate(prevProps: ScrollContainerProps) {\n const preventWindowScroll = this.getProps().preventWindowScroll;\n if (this.inner) {\n if (prevProps.preventWindowScroll && !preventWindowScroll) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n if (!prevProps.preventWindowScroll && preventWindowScroll) {\n this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n }\n\n if (prevProps.disabled !== this.props.disabled && !this.props.disabled) {\n this.updateInnerElement();\n }\n\n if (prevProps.showScrollBar !== this.props.showScrollBar) {\n if (this.props.showScrollBar === 'always') {\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true });\n } else if (this.props.showScrollBar === 'never') {\n this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false });\n }\n }\n }\n\n public render = () => {\n const props = this.props;\n\n if (this.props.disabled) {\n return this.props.children;\n }\n\n const innerStyle: React.CSSProperties = {\n scrollBehavior: this.getProps().scrollBehaviour,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth,\n };\n\n const scrollbarY = this.renderScrollbar('y');\n const scrollbarX = this.renderScrollbar('x');\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={ScrollContainerDataTids.root}\n className={styles.root()}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {scrollbarY}\n {scrollbarX}\n <div\n style={innerStyle}\n ref={this.refInner}\n className={cx(styles.inner(), globalClasses.inner, isIE11 && styles.innerIE11())}\n data-tid={ScrollContainerDataTids.inner}\n onScroll={this.handleNativeScroll}\n >\n {props.children}\n </div>\n </div>\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n * @param {Element} element\n */\n public scrollTo(element: Nullable<HTMLElement>) {\n if (!element || !this.inner) {\n return;\n }\n\n this.inner.scrollLeft = element.offsetLeft;\n this.inner.scrollTop = getScrollYOffset(element, this.inner);\n }\n\n /**\n * @public\n */\n public scrollToTop() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = 0;\n }\n\n /**\n * @public\n */\n public scrollToBottom() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;\n }\n\n /**\n * @public\n */\n public scrollToLeft() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollLeft = 0;\n }\n\n /**\n * @public\n */\n public scrollToRight() {\n if (!this.inner) {\n return;\n }\n\n this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;\n }\n\n public hasScrollBar(axis: ScrollAxis) {\n if (!this.inner) {\n return false;\n }\n\n return axis === 'x'\n ? this.inner.offsetWidth < this.inner.scrollWidth\n : this.inner.offsetHeight < this.inner.scrollHeight;\n }\n\n private renderScrollbar = (axis: ScrollAxis) => {\n const { offsetY, offsetX, invert, disableAnimations } = this.getProps();\n const isAxisX = axis === 'x';\n const refScrollBar = isAxisX ? this.refScrollBarX : this.refScrollBarY;\n const offset = isAxisX ? offsetX : offsetY;\n const isVisible = isAxisX ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n\n return (\n <ScrollBar\n axis={axis}\n ref={refScrollBar}\n invert={invert}\n onScroll={this.handleScroll}\n offset={offset}\n disableAnimations={disableAnimations}\n isVisible={isVisible}\n />\n );\n };\n\n private handleScrollStateChange = (scrollState: ScrollBarScrollState, axis: ScrollAxis) => {\n if (!this.scrollY || !this.scrollX) {\n return;\n }\n\n if (axis === 'x') {\n const scrollXState = convertScrollbarXScrollState(scrollState);\n\n this.props.onScrollStateChangeX?.(scrollXState);\n return;\n }\n\n const scrollYState = convertScrollbarYScrollState(scrollState);\n\n this.props.onScrollStateChange?.(scrollYState);\n this.props.onScrollStateChangeY?.(scrollYState);\n };\n\n private handleScroll = (\n axis: ScrollAxis,\n scrollState: ScrollBarScrollState,\n prevScrollState: ScrollBarScrollState,\n ) => {\n if (scrollState !== prevScrollState) {\n this.handleScrollStateChange(scrollState, axis);\n }\n const { showScrollBar } = this.getProps();\n showScrollBar === 'scroll' && this.showScrollBarOnMouseWheel(axis);\n };\n\n private refScrollBarY = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollY = scrollbar;\n };\n\n private refScrollBarX = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollX = scrollbar;\n };\n\n private refInner = (element: HTMLElement | null) => {\n if (!this.inner && element && this.getProps().preventWindowScroll) {\n element.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n if (this.inner && !element) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n this.inner = element;\n\n if (this.props.scrollRef) {\n callChildRef(this.props.scrollRef, element);\n }\n };\n\n private handleNativeScroll = (event: React.UIEvent<HTMLDivElement>) => {\n this.scrollY?.reflow();\n this.scrollX?.reflow();\n\n this.props.onScroll?.(event);\n if (this.getProps().preventWindowScroll) {\n event.preventDefault();\n return;\n }\n LayoutEvents.emit();\n };\n\n private showScrollBarOnMouseWheel = (axis: ScrollAxis) => {\n const isScrollBarVisible = axis === 'x' ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n if (!isScrollBarVisible) {\n axis === 'x' ? this.setState({ isScrollBarXVisible: true }) : this.setState({ isScrollBarYVisible: true });\n }\n this.hideScrollBar(axis);\n };\n\n private readonly hideScrollBar = debounce((axis: ScrollAxis | 'both') => {\n if (this.state.isHovered) {\n return;\n }\n const isScrollBarXHovered = this.scrollX?.getHover();\n const isScrollBarYHovered = this.scrollY?.getHover();\n if (axis === 'both') {\n !isScrollBarXHovered && !isScrollBarYHovered\n ? this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false })\n : this.hideScrollBar('both');\n } else if (axis === 'x') {\n !isScrollBarXHovered ? this.setState({ isScrollBarXVisible: false }) : this.hideScrollBar('x');\n } else {\n !isScrollBarYHovered ? this.setState({ isScrollBarYVisible: false }) : this.hideScrollBar('y');\n }\n }, this.getProps().hideScrollBarDelay);\n\n private handleInnerScrollWheel = (event: Event) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n\n const axis: ScrollAxis = event.shiftKey ? 'x' : 'y';\n\n if (this.hasScrollBar(axis)) {\n const { pos, size, offset } = scrollSizeParametersNames[axis];\n\n if (event.deltaY > 0 && this.inner[size] <= this.inner[pos] + this.inner[offset]) {\n event.preventDefault();\n return false;\n }\n if (event.deltaY < 0 && this.inner[pos] <= 0) {\n event.preventDefault();\n return false;\n }\n }\n };\n\n private handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const right = getDOMRect(event.currentTarget).right - event.pageX;\n const bottom = getDOMRect(event.currentTarget).bottom - event.pageY;\n\n this.scrollY?.setHover(right <= 12);\n this.scrollX?.setHover(right >= 12 && bottom <= 12);\n\n this.getProps().showScrollBar === 'hover' &&\n !this.state.isHovered &&\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true, isHovered: true });\n };\n\n private handleMouseLeave = () => {\n this.scrollY?.setHover(false);\n this.scrollX?.setHover(false);\n if (this.getProps().showScrollBar === 'hover') {\n this.setState({ isHovered: false });\n this.hideScrollBar('both');\n }\n };\n\n private updateInnerElement = () => {\n this.scrollX?.setInnerElement(this.inner);\n this.scrollY?.setInnerElement(this.inner);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","PropTypes","globalObject","debounce","isInstanceOf","LayoutEvents","CommonWrapper","cx","isIE11","rootNode","getDOMRect","createPropsGetter","isTestEnv","callChildRef","styles","globalClasses","scrollSizeParametersNames","getScrollYOffset","convertScrollbarXScrollState","convertScrollbarYScrollState","ScrollBar","ScrollContainerDataTids","root","inner","ScrollContainer","_class","_ScrollContainer","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","initialIsScrollBarVisible","showScrollBar","state","isScrollBarXVisible","isScrollBarYVisible","isHovered","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","createElement","_extends","rootNodeRef","setRootNode","className","onMouseMove","handleMouseMove","onMouseLeave","handleMouseLeave","style","ref","refInner","innerIE11","onScroll","handleNativeScroll","axis","_this$getProps","offsetY","offsetX","invert","disableAnimations","isAxisX","refScrollBar","refScrollBarX","refScrollBarY","offset","isVisible","handleScroll","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","onScrollStateChangeX","scrollYState","onScrollStateChange","onScrollStateChangeY","prevScrollState","_this$getProps2","showScrollBarOnMouseWheel","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","scrollRef","event","_this$scrollY","_this$scrollX","reflow","preventDefault","emit","isScrollBarVisible","setState","hideScrollBar","_this$scrollX2","_this$scrollY2","isScrollBarXHovered","getHover","isScrollBarYHovered","hideScrollBarDelay","WheelEvent","shiftKey","hasScrollBar","_scrollSizeParameters","pos","size","deltaY","_this$scrollY3","_this$scrollX3","right","currentTarget","pageX","bottom","pageY","setHover","_this$scrollY4","_this$scrollX4","updateInnerElement","_this$scrollX5","_this$scrollY5","setInnerElement","_inheritsLoose","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","Component","__KONTUR_REACT_UI__","displayName","propTypes","bool","oneOfType","string","number","oneOf","func"],"sources":["ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { scrollSizeParametersNames } from './ScrollContainer.constants';\nimport {\n getScrollYOffset,\n convertScrollbarXScrollState,\n convertScrollbarYScrollState,\n} from './ScrollContainer.helpers';\nimport { ScrollAxis, ScrollBar, ScrollBarScrollState } from './ScrollBar';\n\nexport type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';\nexport type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';\nexport type ScrollContainerScrollState = ScrollContainerScrollStateY; // deprecated\nexport type ScrollBehaviour = 'auto' | 'smooth';\n\ntype OffsetCSSPropsY = 'top' | 'right' | 'bottom';\ntype OffsetCSSPropsX = 'right' | 'bottom' | 'left';\n\nexport interface ScrollContainerProps extends CommonProps {\n /** Инвертирует цвет скроллбара.\n * @default false */\n invert?: boolean;\n\n /** Задает максимальную высоту. */\n maxHeight?: React.CSSProperties['maxHeight'];\n\n /** Задает максимальную ширину. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Отключает скролл окна, когда меню открыто.\n * @default false */\n preventWindowScroll?: boolean;\n\n /** Задает поведение скролла. (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n * @default 'auto' */\n scrollBehaviour?: ScrollBehaviour;\n\n /** Задает функцию, которая вызывается при скроле по горизонтали. */\n onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;\n\n /** Задает функцию, которая вызывается при скроле по вертикали. */\n onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;\n\n /** Задает функцию, которая вызывается при скроле.\n * @deprecated use onScroll */\n onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void;\n\n /** Задает функцию, которая вызывается при скроле. */\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n\n /** Отключает кастомный скролл. */\n disabled?: boolean;\n\n /** Задает смещение вертикального скроллбара. */\n offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;\n\n /** Задает смещение горизонтального скроллбара. */\n offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;\n\n /** Определяет, нужно ли показывать скроллбар. */\n showScrollBar?: 'always' | 'scroll' | 'hover' | 'never';\n\n /** Устанавливает задержку в миллисекундах перед скрытием скроллбара.\n * Работает только при hideScrollBar = true или showScrollBar = 'scroll' | 'hover'. */\n hideScrollBarDelay?: number;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n scrollRef?: React.Ref<HTMLDivElement | null>;\n}\n\nexport const ScrollContainerDataTids = {\n root: 'ScrollContainer__root',\n inner: 'ScrollContainer__inner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n ScrollContainerProps,\n 'invert' | 'scrollBehaviour' | 'preventWindowScroll' | 'disableAnimations' | 'hideScrollBarDelay' | 'showScrollBar'\n >\n>;\n\ninterface ScrollContainerState {\n isScrollBarXVisible: boolean;\n isScrollBarYVisible: boolean;\n isHovered: boolean;\n}\n\n/**\n * `ScrollContainer` используется для создания контейнера с кастомными полосами прокрутки, который обеспечивает прокрутку содержимого по горизонтали или вертикали.\n */\n@rootNode\nexport class ScrollContainer extends React.Component<ScrollContainerProps, ScrollContainerState> {\n public static __KONTUR_REACT_UI__ = 'ScrollContainer';\n public static displayName = 'ScrollContainer';\n\n public inner: Nullable<HTMLElement>;\n\n public static propTypes = {\n invert: PropTypes.bool,\n maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n scrollBehaviour: PropTypes.oneOf(['auto', 'smooth']),\n preventWindowScroll: PropTypes.bool,\n onScrollStateChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n invert: false,\n scrollBehaviour: 'auto',\n preventWindowScroll: false,\n disableAnimations: isTestEnv,\n hideScrollBarDelay: 500,\n showScrollBar: 'always',\n };\n\n private getProps = createPropsGetter(ScrollContainer.defaultProps);\n\n private scrollX: Nullable<ScrollBar>;\n private scrollY: Nullable<ScrollBar>;\n private setRootNode!: TSetRootNode;\n private initialIsScrollBarVisible = this.getProps().showScrollBar === 'always';\n\n public state: ScrollContainerState = {\n isScrollBarXVisible: this.initialIsScrollBarVisible,\n isScrollBarYVisible: this.initialIsScrollBarVisible,\n isHovered: false,\n };\n\n public componentDidMount() {\n this.updateInnerElement();\n }\n\n public componentDidUpdate(prevProps: ScrollContainerProps) {\n const preventWindowScroll = this.getProps().preventWindowScroll;\n if (this.inner) {\n if (prevProps.preventWindowScroll && !preventWindowScroll) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n if (!prevProps.preventWindowScroll && preventWindowScroll) {\n this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n }\n\n if (prevProps.disabled !== this.props.disabled && !this.props.disabled) {\n this.updateInnerElement();\n }\n\n if (prevProps.showScrollBar !== this.props.showScrollBar) {\n if (this.props.showScrollBar === 'always') {\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true });\n } else if (this.props.showScrollBar === 'never') {\n this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false });\n }\n }\n }\n\n public render = () => {\n const props = this.props;\n\n if (this.props.disabled) {\n return this.props.children;\n }\n\n const innerStyle: React.CSSProperties = {\n scrollBehavior: this.getProps().scrollBehaviour,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth,\n };\n\n const scrollbarY = this.renderScrollbar('y');\n const scrollbarX = this.renderScrollbar('x');\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={ScrollContainerDataTids.root}\n className={styles.root()}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {scrollbarY}\n {scrollbarX}\n <div\n style={innerStyle}\n ref={this.refInner}\n className={cx(styles.inner(), globalClasses.inner, isIE11 && styles.innerIE11())}\n data-tid={ScrollContainerDataTids.inner}\n onScroll={this.handleNativeScroll}\n >\n {props.children}\n </div>\n </div>\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n * @param {Element} element\n */\n public scrollTo(element: Nullable<HTMLElement>) {\n if (!element || !this.inner) {\n return;\n }\n\n this.inner.scrollLeft = element.offsetLeft;\n this.inner.scrollTop = getScrollYOffset(element, this.inner);\n }\n\n /**\n * @public\n */\n public scrollToTop() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = 0;\n }\n\n /**\n * @public\n */\n public scrollToBottom() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;\n }\n\n /**\n * @public\n */\n public scrollToLeft() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollLeft = 0;\n }\n\n /**\n * @public\n */\n public scrollToRight() {\n if (!this.inner) {\n return;\n }\n\n this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;\n }\n\n public hasScrollBar(axis: ScrollAxis) {\n if (!this.inner) {\n return false;\n }\n\n return axis === 'x'\n ? this.inner.offsetWidth < this.inner.scrollWidth\n : this.inner.offsetHeight < this.inner.scrollHeight;\n }\n\n private renderScrollbar = (axis: ScrollAxis) => {\n const { offsetY, offsetX, invert, disableAnimations } = this.getProps();\n const isAxisX = axis === 'x';\n const refScrollBar = isAxisX ? this.refScrollBarX : this.refScrollBarY;\n const offset = isAxisX ? offsetX : offsetY;\n const isVisible = isAxisX ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n\n return (\n <ScrollBar\n axis={axis}\n ref={refScrollBar}\n invert={invert}\n onScroll={this.handleScroll}\n offset={offset}\n disableAnimations={disableAnimations}\n isVisible={isVisible}\n />\n );\n };\n\n private handleScrollStateChange = (scrollState: ScrollBarScrollState, axis: ScrollAxis) => {\n if (!this.scrollY || !this.scrollX) {\n return;\n }\n\n if (axis === 'x') {\n const scrollXState = convertScrollbarXScrollState(scrollState);\n\n this.props.onScrollStateChangeX?.(scrollXState);\n return;\n }\n\n const scrollYState = convertScrollbarYScrollState(scrollState);\n\n this.props.onScrollStateChange?.(scrollYState);\n this.props.onScrollStateChangeY?.(scrollYState);\n };\n\n private handleScroll = (\n axis: ScrollAxis,\n scrollState: ScrollBarScrollState,\n prevScrollState: ScrollBarScrollState,\n ) => {\n if (scrollState !== prevScrollState) {\n this.handleScrollStateChange(scrollState, axis);\n }\n const { showScrollBar } = this.getProps();\n showScrollBar === 'scroll' && this.showScrollBarOnMouseWheel(axis);\n };\n\n private refScrollBarY = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollY = scrollbar;\n };\n\n private refScrollBarX = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollX = scrollbar;\n };\n\n private refInner = (element: HTMLElement | null) => {\n if (!this.inner && element && this.getProps().preventWindowScroll) {\n element.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n if (this.inner && !element) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n this.inner = element;\n\n if (this.props.scrollRef) {\n callChildRef(this.props.scrollRef, element);\n }\n };\n\n private handleNativeScroll = (event: React.UIEvent<HTMLDivElement>) => {\n this.scrollY?.reflow();\n this.scrollX?.reflow();\n\n this.props.onScroll?.(event);\n if (this.getProps().preventWindowScroll) {\n event.preventDefault();\n return;\n }\n LayoutEvents.emit();\n };\n\n private showScrollBarOnMouseWheel = (axis: ScrollAxis) => {\n const isScrollBarVisible = axis === 'x' ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n if (!isScrollBarVisible) {\n axis === 'x' ? this.setState({ isScrollBarXVisible: true }) : this.setState({ isScrollBarYVisible: true });\n }\n this.hideScrollBar(axis);\n };\n\n private readonly hideScrollBar = debounce((axis: ScrollAxis | 'both') => {\n if (this.state.isHovered) {\n return;\n }\n const isScrollBarXHovered = this.scrollX?.getHover();\n const isScrollBarYHovered = this.scrollY?.getHover();\n if (axis === 'both') {\n !isScrollBarXHovered && !isScrollBarYHovered\n ? this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false })\n : this.hideScrollBar('both');\n } else if (axis === 'x') {\n !isScrollBarXHovered ? this.setState({ isScrollBarXVisible: false }) : this.hideScrollBar('x');\n } else {\n !isScrollBarYHovered ? this.setState({ isScrollBarYVisible: false }) : this.hideScrollBar('y');\n }\n }, this.getProps().hideScrollBarDelay);\n\n private handleInnerScrollWheel = (event: Event) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n\n const axis: ScrollAxis = event.shiftKey ? 'x' : 'y';\n\n if (this.hasScrollBar(axis)) {\n const { pos, size, offset } = scrollSizeParametersNames[axis];\n\n if (event.deltaY > 0 && this.inner[size] <= this.inner[pos] + this.inner[offset]) {\n event.preventDefault();\n return false;\n }\n if (event.deltaY < 0 && this.inner[pos] <= 0) {\n event.preventDefault();\n return false;\n }\n }\n };\n\n private handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const right = getDOMRect(event.currentTarget).right - event.pageX;\n const bottom = getDOMRect(event.currentTarget).bottom - event.pageY;\n\n this.scrollY?.setHover(right <= 12);\n this.scrollX?.setHover(right >= 12 && bottom <= 12);\n\n this.getProps().showScrollBar === 'hover' &&\n !this.state.isHovered &&\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true, isHovered: true });\n };\n\n private handleMouseLeave = () => {\n this.scrollY?.setHover(false);\n this.scrollX?.setHover(false);\n if (this.getProps().showScrollBar === 'hover') {\n this.setState({ isHovered: false });\n this.hideScrollBar('both');\n }\n };\n\n private updateInnerElement = () => {\n this.scrollX?.setInnerElement(this.inner);\n this.scrollY?.setInnerElement(this.inner);\n };\n}\n"],"mappings":"6JAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,0BAA0B;AACvD,OAAOC,QAAQ,MAAM,iBAAiB;;AAEtC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,OAAO,KAAKC,YAAY,MAAM,wBAAwB;AACtD,SAAsBC,aAAa,QAAQ,8BAA8B;;AAEzE,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAsB,oBAAoB;AAC3D,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,YAAY,QAAQ,qCAAqC;;AAElE,SAASC,MAAM,EAAEC,aAAa,QAAQ,0BAA0B;AAChE,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE;EACEC,gBAAgB;EAChBC,4BAA4B;EAC5BC,4BAA4B;AACvB,2BAA2B;AAClC,SAAqBC,SAAS,QAA8B,aAAa;;;;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DtE,OAAO,IAAMC,uBAAuB,GAAG;EACrCC,IAAI,EAAE,uBAAuB;EAC7BC,KAAK,EAAE;AACT,CAAU;;;;;;;;;;;;;;;AAeV;AACA;AACA;AACA;AACaC,eAAe,GAD3Bf,QAAQ,CAAAgB,MAAA,IAAAC,gBAAA,0BAAAC,gBAAA,YAAAH,gBAAA,OAAAI,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;;;;;;;;;;;;;;;;;;;;;;;;IAyBCU,QAAQ,GAAG3B,iBAAiB,CAACa,eAAe,CAACe,YAAY,CAAC,CAAAX,KAAA;;;;;IAK1DY,yBAAyB,GAAGZ,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACG,aAAa,KAAK,QAAQ,CAAAb,KAAA;;IAEvEc,KAAK,GAAyB;MACnCC,mBAAmB,EAAEf,KAAA,CAAKY,yBAAyB;MACnDI,mBAAmB,EAAEhB,KAAA,CAAKY,yBAAyB;MACnDK,SAAS,EAAE;IACb,CAAC,CAAAjB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BMkB,MAAM,GAAG,YAAM;MACpB,IAAMC,KAAK,GAAGnB,KAAA,CAAKmB,KAAK;;MAExB,IAAInB,KAAA,CAAKmB,KAAK,CAACC,QAAQ,EAAE;QACvB,OAAOpB,KAAA,CAAKmB,KAAK,CAACE,QAAQ;MAC5B;;MAEA,IAAMC,UAA+B,GAAG;QACtCC,cAAc,EAAEvB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACc,eAAe;QAC/CC,SAAS,EAAEN,KAAK,CAACM,SAAS;QAC1BC,QAAQ,EAAEP,KAAK,CAACO;MAClB,CAAC;;MAED,IAAMC,UAAU,GAAG3B,KAAA,CAAK4B,eAAe,CAAC,GAAG,CAAC;MAC5C,IAAMC,UAAU,GAAG7B,KAAA,CAAK4B,eAAe,CAAC,GAAG,CAAC;;MAE5C;QACExD,KAAA,CAAA0D,aAAA,CAACpD,aAAa,EAAAqD,QAAA,GAACC,WAAW,EAAEhC,KAAA,CAAKiC,WAAY,IAAKjC,KAAA,CAAKmB,KAAK;QAC1D/C,KAAA,CAAA0D,aAAA;UACE,YAAUrC,uBAAuB,CAACC,IAAK;UACvCwC,SAAS,EAAEhD,MAAM,CAACQ,IAAI,CAAC,CAAE;UACzByC,WAAW,EAAEnC,KAAA,CAAKoC,eAAgB;UAClCC,YAAY,EAAErC,KAAA,CAAKsC,gBAAiB;;QAEnCX,UAAU;QACVE,UAAU;QACXzD,KAAA,CAAA0D,aAAA;UACES,KAAK,EAAEjB,UAAW;UAClBkB,GAAG,EAAExC,KAAA,CAAKyC,QAAS;UACnBP,SAAS,EAAEvD,EAAE,CAACO,MAAM,CAACS,KAAK,CAAC,CAAC,EAAER,aAAa,CAACQ,KAAK,EAAEf,MAAM,IAAIM,MAAM,CAACwD,SAAS,CAAC,CAAC,CAAE;UACjF,YAAUjD,uBAAuB,CAACE,KAAM;UACxCgD,QAAQ,EAAE3C,KAAA,CAAK4C,kBAAmB;;QAEjCzB,KAAK,CAACE;QACJ;QACF;QACQ,CAAC;;IAEpB,CAAC,CAAArB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkEO4B,eAAe,GAAG,UAACiB,IAAgB,EAAK;MAC9C,IAAAC,cAAA,GAAwD9C,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAA/DqC,OAAO,GAAAD,cAAA,CAAPC,OAAO,CAAEC,OAAO,GAAAF,cAAA,CAAPE,OAAO,CAAEC,MAAM,GAAAH,cAAA,CAANG,MAAM,CAAEC,iBAAiB,GAAAJ,cAAA,CAAjBI,iBAAiB;MACnD,IAAMC,OAAO,GAAGN,IAAI,KAAK,GAAG;MAC5B,IAAMO,YAAY,GAAGD,OAAO,GAAGnD,KAAA,CAAKqD,aAAa,GAAGrD,KAAA,CAAKsD,aAAa;MACtE,IAAMC,MAAM,GAAGJ,OAAO,GAAGH,OAAO,GAAGD,OAAO;MAC1C,IAAMS,SAAS,GAAGL,OAAO,GAAGnD,KAAA,CAAKc,KAAK,CAACC,mBAAmB,GAAGf,KAAA,CAAKc,KAAK,CAACE,mBAAmB;;MAE3F;QACE5C,KAAA,CAAA0D,aAAA,CAACtC,SAAS;UACRqD,IAAI,EAAEA,IAAK;UACXL,GAAG,EAAEY,YAAa;UAClBH,MAAM,EAAEA,MAAO;UACfN,QAAQ,EAAE3C,KAAA,CAAKyD,YAAa;UAC5BF,MAAM,EAAEA,MAAO;UACfL,iBAAiB,EAAEA,iBAAkB;UACrCM,SAAS,EAAEA,SAAU;QACtB,CAAC;;IAEN,CAAC,CAAAxD,KAAA;;IAEO0D,uBAAuB,GAAG,UAACC,WAAiC,EAAEd,IAAgB,EAAK;MACzF,IAAI,CAAC7C,KAAA,CAAK4D,OAAO,IAAI,CAAC5D,KAAA,CAAK6D,OAAO,EAAE;QAClC;MACF;;MAEA,IAAIhB,IAAI,KAAK,GAAG,EAAE;QAChB,IAAMiB,YAAY,GAAGxE,4BAA4B,CAACqE,WAAW,CAAC;;QAE9D3D,KAAA,CAAKmB,KAAK,CAAC4C,oBAAoB,YAA/B/D,KAAA,CAAKmB,KAAK,CAAC4C,oBAAoB,CAAGD,YAAY,CAAC;QAC/C;MACF;;MAEA,IAAME,YAAY,GAAGzE,4BAA4B,CAACoE,WAAW,CAAC;;MAE9D3D,KAAA,CAAKmB,KAAK,CAAC8C,mBAAmB,YAA9BjE,KAAA,CAAKmB,KAAK,CAAC8C,mBAAmB,CAAGD,YAAY,CAAC;MAC9ChE,KAAA,CAAKmB,KAAK,CAAC+C,oBAAoB,YAA/BlE,KAAA,CAAKmB,KAAK,CAAC+C,oBAAoB,CAAGF,YAAY,CAAC;IACjD,CAAC,CAAAhE,KAAA;;IAEOyD,YAAY,GAAG;IACrBZ,IAAgB;IAChBc,WAAiC;IACjCQ,eAAqC;IAClC;MACH,IAAIR,WAAW,KAAKQ,eAAe,EAAE;QACnCnE,KAAA,CAAK0D,uBAAuB,CAACC,WAAW,EAAEd,IAAI,CAAC;MACjD;MACA,IAAAuB,eAAA,GAA0BpE,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAAjCG,aAAa,GAAAuD,eAAA,CAAbvD,aAAa;MACrBA,aAAa,KAAK,QAAQ,IAAIb,KAAA,CAAKqE,yBAAyB,CAACxB,IAAI,CAAC;IACpE,CAAC,CAAA7C,KAAA;;IAEOsD,aAAa,GAAG,UAACgB,SAA8B,EAAK;MAC1DtE,KAAA,CAAK4D,OAAO,GAAGU,SAAS;IAC1B,CAAC,CAAAtE,KAAA;;IAEOqD,aAAa,GAAG,UAACiB,SAA8B,EAAK;MAC1DtE,KAAA,CAAK6D,OAAO,GAAGS,SAAS;IAC1B,CAAC,CAAAtE,KAAA;;IAEOyC,QAAQ,GAAG,UAAC8B,OAA2B,EAAK;MAClD,IAAI,CAACvE,KAAA,CAAKL,KAAK,IAAI4E,OAAO,IAAIvE,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAAC8D,mBAAmB,EAAE;QACjED,OAAO,CAACE,gBAAgB,CAAC,OAAO,EAAEzE,KAAA,CAAK0E,sBAAsB,EAAE,EAAEC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;MACpF;MACA,IAAI3E,KAAA,CAAKL,KAAK,IAAI,CAAC4E,OAAO,EAAE;QAC1BvE,KAAA,CAAKL,KAAK,CAACiF,mBAAmB,CAAC,OAAO,EAAE5E,KAAA,CAAK0E,sBAAsB,CAAC;MACtE;MACA1E,KAAA,CAAKL,KAAK,GAAG4E,OAAO;;MAEpB,IAAIvE,KAAA,CAAKmB,KAAK,CAAC0D,SAAS,EAAE;QACxB5F,YAAY,CAACe,KAAA,CAAKmB,KAAK,CAAC0D,SAAS,EAAEN,OAAO,CAAC;MAC7C;IACF,CAAC,CAAAvE,KAAA;;IAEO4C,kBAAkB,GAAG,UAACkC,KAAoC,EAAK,KAAAC,aAAA,EAAAC,aAAA;MACrE,CAAAD,aAAA,GAAA/E,KAAA,CAAK4D,OAAO,aAAZmB,aAAA,CAAcE,MAAM,CAAC,CAAC;MACtB,CAAAD,aAAA,GAAAhF,KAAA,CAAK6D,OAAO,aAAZmB,aAAA,CAAcC,MAAM,CAAC,CAAC;;MAEtBjF,KAAA,CAAKmB,KAAK,CAACwB,QAAQ,YAAnB3C,KAAA,CAAKmB,KAAK,CAACwB,QAAQ,CAAGmC,KAAK,CAAC;MAC5B,IAAI9E,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAAC8D,mBAAmB,EAAE;QACvCM,KAAK,CAACI,cAAc,CAAC,CAAC;QACtB;MACF;MACAzG,YAAY,CAAC0G,IAAI,CAAC,CAAC;IACrB,CAAC,CAAAnF,KAAA;;IAEOqE,yBAAyB,GAAG,UAACxB,IAAgB,EAAK;MACxD,IAAMuC,kBAAkB,GAAGvC,IAAI,KAAK,GAAG,GAAG7C,KAAA,CAAKc,KAAK,CAACC,mBAAmB,GAAGf,KAAA,CAAKc,KAAK,CAACE,mBAAmB;MACzG,IAAI,CAACoE,kBAAkB,EAAE;QACvBvC,IAAI,KAAK,GAAG,GAAG7C,KAAA,CAAKqF,QAAQ,CAAC,EAAEtE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAGf,KAAA,CAAKqF,QAAQ,CAAC,EAAErE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;MAC5G;MACAhB,KAAA,CAAKsF,aAAa,CAACzC,IAAI,CAAC;IAC1B,CAAC,CAAA7C,KAAA;;IAEgBsF,aAAa,GAAG/G,QAAQ,CAAC,UAACsE,IAAyB,EAAK,KAAA0C,cAAA,EAAAC,cAAA;MACvE,IAAIxF,KAAA,CAAKc,KAAK,CAACG,SAAS,EAAE;QACxB;MACF;MACA,IAAMwE,mBAAmB,IAAAF,cAAA,GAAGvF,KAAA,CAAK6D,OAAO,qBAAZ0B,cAAA,CAAcG,QAAQ,CAAC,CAAC;MACpD,IAAMC,mBAAmB,IAAAH,cAAA,GAAGxF,KAAA,CAAK4D,OAAO,qBAAZ4B,cAAA,CAAcE,QAAQ,CAAC,CAAC;MACpD,IAAI7C,IAAI,KAAK,MAAM,EAAE;QACnB,CAAC4C,mBAAmB,IAAI,CAACE,mBAAmB;QACxC3F,KAAA,CAAKqF,QAAQ,CAAC,EAAEtE,mBAAmB,EAAE,KAAK,EAAEC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;QACzEhB,KAAA,CAAKsF,aAAa,CAAC,MAAM,CAAC;MAChC,CAAC,MAAM,IAAIzC,IAAI,KAAK,GAAG,EAAE;QACvB,CAAC4C,mBAAmB,GAAGzF,KAAA,CAAKqF,QAAQ,CAAC,EAAEtE,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAGf,KAAA,CAAKsF,aAAa,CAAC,GAAG,CAAC;MAChG,CAAC,MAAM;QACL,CAACK,mBAAmB,GAAG3F,KAAA,CAAKqF,QAAQ,CAAC,EAAErE,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAGhB,KAAA,CAAKsF,aAAa,CAAC,GAAG,CAAC;MAChG;IACF,CAAC,EAAEtF,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACkF,kBAAkB,CAAC,CAAA5F,KAAA;;IAE9B0E,sBAAsB,GAAG,UAACI,KAAY,EAAK;MACjD,IAAI,CAAC9E,KAAA,CAAKL,KAAK,IAAI,CAACnB,YAAY,CAACsG,KAAK,EAAExG,YAAY,CAACuH,UAAU,CAAC,EAAE;QAChE;MACF;;MAEA,IAAMhD,IAAgB,GAAGiC,KAAK,CAACgB,QAAQ,GAAG,GAAG,GAAG,GAAG;;MAEnD,IAAI9F,KAAA,CAAK+F,YAAY,CAAClD,IAAI,CAAC,EAAE;QAC3B,IAAAmD,qBAAA,GAA8B5G,yBAAyB,CAACyD,IAAI,CAAC,CAArDoD,GAAG,GAAAD,qBAAA,CAAHC,GAAG,CAAEC,IAAI,GAAAF,qBAAA,CAAJE,IAAI,CAAE3C,MAAM,GAAAyC,qBAAA,CAANzC,MAAM;;QAEzB,IAAIuB,KAAK,CAACqB,MAAM,GAAG,CAAC,IAAInG,KAAA,CAAKL,KAAK,CAACuG,IAAI,CAAC,IAAIlG,KAAA,CAAKL,KAAK,CAACsG,GAAG,CAAC,GAAGjG,KAAA,CAAKL,KAAK,CAAC4D,MAAM,CAAC,EAAE;UAChFuB,KAAK,CAACI,cAAc,CAAC,CAAC;UACtB,OAAO,KAAK;QACd;QACA,IAAIJ,KAAK,CAACqB,MAAM,GAAG,CAAC,IAAInG,KAAA,CAAKL,KAAK,CAACsG,GAAG,CAAC,IAAI,CAAC,EAAE;UAC5CnB,KAAK,CAACI,cAAc,CAAC,CAAC;UACtB,OAAO,KAAK;QACd;MACF;IACF,CAAC,CAAAlF,KAAA;;IAEOoC,eAAe,GAAG,UAAC0C,KAAuC,EAAK,KAAAsB,cAAA,EAAAC,cAAA;MACrE,IAAMC,KAAK,GAAGxH,UAAU,CAACgG,KAAK,CAACyB,aAAa,CAAC,CAACD,KAAK,GAAGxB,KAAK,CAAC0B,KAAK;MACjE,IAAMC,MAAM,GAAG3H,UAAU,CAACgG,KAAK,CAACyB,aAAa,CAAC,CAACE,MAAM,GAAG3B,KAAK,CAAC4B,KAAK;;MAEnE,CAAAN,cAAA,GAAApG,KAAA,CAAK4D,OAAO,aAAZwC,cAAA,CAAcO,QAAQ,CAACL,KAAK,IAAI,EAAE,CAAC;MACnC,CAAAD,cAAA,GAAArG,KAAA,CAAK6D,OAAO,aAAZwC,cAAA,CAAcM,QAAQ,CAACL,KAAK,IAAI,EAAE,IAAIG,MAAM,IAAI,EAAE,CAAC;;MAEnDzG,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACG,aAAa,KAAK,OAAO;MACvC,CAACb,KAAA,CAAKc,KAAK,CAACG,SAAS;MACrBjB,KAAA,CAAKqF,QAAQ,CAAC,EAAEtE,mBAAmB,EAAE,IAAI,EAAEC,mBAAmB,EAAE,IAAI,EAAEC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAAjB,KAAA;;IAEOsC,gBAAgB,GAAG,YAAM,KAAAsE,cAAA,EAAAC,cAAA;MAC/B,CAAAD,cAAA,GAAA5G,KAAA,CAAK4D,OAAO,aAAZgD,cAAA,CAAcD,QAAQ,CAAC,KAAK,CAAC;MAC7B,CAAAE,cAAA,GAAA7G,KAAA,CAAK6D,OAAO,aAAZgD,cAAA,CAAcF,QAAQ,CAAC,KAAK,CAAC;MAC7B,IAAI3G,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACG,aAAa,KAAK,OAAO,EAAE;QAC7Cb,KAAA,CAAKqF,QAAQ,CAAC,EAAEpE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACnCjB,KAAA,CAAKsF,aAAa,CAAC,MAAM,CAAC;MAC5B;IACF,CAAC,CAAAtF,KAAA;;IAEO8G,kBAAkB,GAAG,YAAM,KAAAC,cAAA,EAAAC,cAAA;MACjC,CAAAD,cAAA,GAAA/G,KAAA,CAAK6D,OAAO,aAAZkD,cAAA,CAAcE,eAAe,CAACjH,KAAA,CAAKL,KAAK,CAAC;MACzC,CAAAqH,cAAA,GAAAhH,KAAA,CAAK4D,OAAO,aAAZoD,cAAA,CAAcC,eAAe,CAACjH,KAAA,CAAKL,KAAK,CAAC;IAC3C,CAAC,QAAAK,KAAA,EAAAkH,cAAA,CAAAtH,eAAA,EAAAG,gBAAA,MAAAoH,MAAA,GAAAvH,eAAA,CAAAwH,SAAA,CAAAD,MAAA,CA9RME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,CAACP,kBAAkB,CAAC,CAAC,CAC3B,CAAC,CAAAK,MAAA,CAEMG,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAA+B,EAAE,CACzD,IAAM/C,mBAAmB,GAAG,IAAI,CAAC9D,QAAQ,CAAC,CAAC,CAAC8D,mBAAmB,CAC/D,IAAI,IAAI,CAAC7E,KAAK,EAAE,CACd,IAAI4H,SAAS,CAAC/C,mBAAmB,IAAI,CAACA,mBAAmB,EAAE,CACzD,IAAI,CAAC7E,KAAK,CAACiF,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACF,sBAAsB,CAAC,CACtE,CACA,IAAI,CAAC6C,SAAS,CAAC/C,mBAAmB,IAAIA,mBAAmB,EAAE,CACzD,IAAI,CAAC7E,KAAK,CAAC8E,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACC,sBAAsB,EAAE,EAAEC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CACvF,CACF,CAEA,IAAI4C,SAAS,CAACnG,QAAQ,KAAK,IAAI,CAACD,KAAK,CAACC,QAAQ,IAAI,CAAC,IAAI,CAACD,KAAK,CAACC,QAAQ,EAAE,CACtE,IAAI,CAAC0F,kBAAkB,CAAC,CAAC,CAC3B,CAEA,IAAIS,SAAS,CAAC1G,aAAa,KAAK,IAAI,CAACM,KAAK,CAACN,aAAa,EAAE,CACxD,IAAI,IAAI,CAACM,KAAK,CAACN,aAAa,KAAK,QAAQ,EAAE,CACzC,IAAI,CAACwE,QAAQ,CAAC,EAAEtE,mBAAmB,EAAE,IAAI,EAAEC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,CACzE,CAAC,MAAM,IAAI,IAAI,CAACG,KAAK,CAACN,aAAa,KAAK,OAAO,EAAE,CAC/C,IAAI,CAACwE,QAAQ,CAAC,EAAEtE,mBAAmB,EAAE,KAAK,EAAEC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,CAC3E,CACF,CACF,CAAC,EA0CD;AACF;AACA;AACA,KAHEmG,MAAA,CAIOK,QAAQ,GAAf,SAAAA,SAAgBjD,OAA8B,EAAE,CAC9C,IAAI,CAACA,OAAO,IAAI,CAAC,IAAI,CAAC5E,KAAK,EAAE,CAC3B,OACF,CAEA,IAAI,CAACA,KAAK,CAAC8H,UAAU,GAAGlD,OAAO,CAACmD,UAAU,CAC1C,IAAI,CAAC/H,KAAK,CAACgI,SAAS,GAAGtI,gBAAgB,CAACkF,OAAO,EAAE,IAAI,CAAC5E,KAAK,CAAC,CAC9D,CAAC,CAED;AACF;AACA,KAFE,CAAAwH,MAAA,CAGOS,WAAW,GAAlB,SAAAA,YAAA,EAAqB,CACnB,IAAI,CAAC,IAAI,CAACjI,KAAK,EAAE,CACf,OACF,CACA,IAAI,CAACA,KAAK,CAACgI,SAAS,GAAG,CAAC,CAC1B,CAAC,CAED;AACF;AACA,KAFE,CAAAR,MAAA,CAGOU,cAAc,GAArB,SAAAA,eAAA,EAAwB,CACtB,IAAI,CAAC,IAAI,CAAClI,KAAK,EAAE,CACf,OACF,CACA,IAAI,CAACA,KAAK,CAACgI,SAAS,GAAG,IAAI,CAAChI,KAAK,CAACmI,YAAY,GAAG,IAAI,CAACnI,KAAK,CAACoI,YAAY,CAC1E,CAAC,CAED;AACF;AACA,KAFE,CAAAZ,MAAA,CAGOa,YAAY,GAAnB,SAAAA,aAAA,EAAsB,CACpB,IAAI,CAAC,IAAI,CAACrI,KAAK,EAAE,CACf,OACF,CACA,IAAI,CAACA,KAAK,CAAC8H,UAAU,GAAG,CAAC,CAC3B,CAAC,CAED;AACF;AACA,KAFE,CAAAN,MAAA,CAGOc,aAAa,GAApB,SAAAA,cAAA,EAAuB,CACrB,IAAI,CAAC,IAAI,CAACtI,KAAK,EAAE,CACf,OACF,CAEA,IAAI,CAACA,KAAK,CAAC8H,UAAU,GAAG,IAAI,CAAC9H,KAAK,CAACuI,WAAW,GAAG,IAAI,CAACvI,KAAK,CAACwI,WAAW,CACzE,CAAC,CAAAhB,MAAA,CAEMpB,YAAY,GAAnB,SAAAA,aAAoBlD,IAAgB,EAAE,CACpC,IAAI,CAAC,IAAI,CAAClD,KAAK,EAAE,CACf,OAAO,KAAK,CACd,CAEA,OAAOkD,IAAI,KAAK,GAAG,GACf,IAAI,CAAClD,KAAK,CAACwI,WAAW,GAAG,IAAI,CAACxI,KAAK,CAACuI,WAAW,GAC/C,IAAI,CAACvI,KAAK,CAACoI,YAAY,GAAG,IAAI,CAACpI,KAAK,CAACmI,YAAY,CACvD,CAAC,QAAAlI,eAAA,GAvKkCxB,KAAK,CAACgK,SAAS,GAAAtI,gBAAA,CACpCuI,mBAAmB,GAAG,iBAAiB,EAAAvI,gBAAA,CACvCwI,WAAW,GAAG,iBAAiB,EAAAxI,gBAAA,CAI/ByI,SAAS,GAAG,EACxBtF,MAAM,EAAE5E,SAAS,CAACmK,IAAI,EACtB9G,QAAQ,EAAErD,SAAS,CAACoK,SAAS,CAAC,CAACpK,SAAS,CAACqK,MAAM,EAAErK,SAAS,CAACsK,MAAM,CAAC,CAAC,EACnElH,SAAS,EAAEpD,SAAS,CAACoK,SAAS,CAAC,CAACpK,SAAS,CAACqK,MAAM,EAAErK,SAAS,CAACsK,MAAM,CAAC,CAAC,EACpEnH,eAAe,EAAEnD,SAAS,CAACuK,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EACpDpE,mBAAmB,EAAEnG,SAAS,CAACmK,IAAI,EACnCvE,mBAAmB,EAAE5F,SAAS,CAACwK,IAAI,CACrC,CAAC,EAAA/I,gBAAA,CAEaa,YAAY,GAAiB,EACzCsC,MAAM,EAAE,KAAK,EACbzB,eAAe,EAAE,MAAM,EACvBgD,mBAAmB,EAAE,KAAK,EAC1BtB,iBAAiB,EAAElE,SAAS,EAC5B4G,kBAAkB,EAAE,GAAG,EACvB/E,aAAa,EAAE,QAAQ,CACzB,CAAC,EAAAf,gBAAA,MAAAD,MAAA","ignoreList":[]}
|
|
@@ -10,49 +10,40 @@ export type ScrollBehaviour = 'auto' | 'smooth';
|
|
|
10
10
|
type OffsetCSSPropsY = 'top' | 'right' | 'bottom';
|
|
11
11
|
type OffsetCSSPropsX = 'right' | 'bottom' | 'left';
|
|
12
12
|
export interface ScrollContainerProps extends CommonProps {
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @default false
|
|
16
|
-
*/
|
|
13
|
+
/** Инвертирует цвет скроллбара.
|
|
14
|
+
* @default false */
|
|
17
15
|
invert?: boolean;
|
|
16
|
+
/** Задает максимальную высоту. */
|
|
18
17
|
maxHeight?: React.CSSProperties['maxHeight'];
|
|
18
|
+
/** Задает максимальную ширину. */
|
|
19
19
|
maxWidth?: React.CSSProperties['maxWidth'];
|
|
20
|
-
/**
|
|
21
|
-
* @default false
|
|
22
|
-
*/
|
|
20
|
+
/** Отключает скролл окна, когда меню открыто.
|
|
21
|
+
* @default false */
|
|
23
22
|
preventWindowScroll?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
* @default 'auto'
|
|
27
|
-
*/
|
|
23
|
+
/** Задает поведение скролла. (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)
|
|
24
|
+
* @default 'auto' */
|
|
28
25
|
scrollBehaviour?: ScrollBehaviour;
|
|
26
|
+
/** Задает функцию, которая вызывается при скроле по горизонтали. */
|
|
29
27
|
onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;
|
|
28
|
+
/** Задает функцию, которая вызывается при скроле по вертикали. */
|
|
30
29
|
onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;
|
|
30
|
+
/** Задает функцию, которая вызывается при скроле.
|
|
31
|
+
* @deprecated use onScroll */
|
|
31
32
|
onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void;
|
|
33
|
+
/** Задает функцию, которая вызывается при скроле. */
|
|
32
34
|
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
|
|
33
|
-
/**
|
|
34
|
-
* Отключение кастомного скролла
|
|
35
|
-
*/
|
|
35
|
+
/** Отключает кастомный скролл. */
|
|
36
36
|
disabled?: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Смещение вертикального скроллбара
|
|
39
|
-
*/
|
|
37
|
+
/** Задает смещение вертикального скроллбара. */
|
|
40
38
|
offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;
|
|
41
|
-
/**
|
|
42
|
-
* Смещение горизонтального скроллбара
|
|
43
|
-
*/
|
|
39
|
+
/** Задает смещение горизонтального скроллбара. */
|
|
44
40
|
offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;
|
|
45
|
-
/**
|
|
46
|
-
* Показывать скроллбар
|
|
47
|
-
*/
|
|
41
|
+
/** Определяет, нужно ли показывать скроллбар. */
|
|
48
42
|
showScrollBar?: 'always' | 'scroll' | 'hover' | 'never';
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
*/
|
|
43
|
+
/** Устанавливает задержку в миллисекундах перед скрытием скроллбара.
|
|
44
|
+
* Работает только при hideScrollBar = true или showScrollBar = 'scroll' | 'hover'. */
|
|
52
45
|
hideScrollBarDelay?: number;
|
|
53
|
-
/**
|
|
54
|
-
* Отключить анимации
|
|
55
|
-
*/
|
|
46
|
+
/** Отключает анимацию. */
|
|
56
47
|
disableAnimations?: boolean;
|
|
57
48
|
scrollRef?: React.Ref<HTMLDivElement | null>;
|
|
58
49
|
}
|
|
@@ -66,6 +57,9 @@ interface ScrollContainerState {
|
|
|
66
57
|
isScrollBarYVisible: boolean;
|
|
67
58
|
isHovered: boolean;
|
|
68
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* `ScrollContainer` используется для создания контейнера с кастомными полосами прокрутки, который обеспечивает прокрутку содержимого по горизонтали или вертикали.
|
|
62
|
+
*/
|
|
69
63
|
export declare class ScrollContainer extends React.Component<ScrollContainerProps, ScrollContainerState> {
|
|
70
64
|
static __KONTUR_REACT_UI__: string;
|
|
71
65
|
static displayName: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
### Базовый пример
|
|
1
2
|
```jsx harmony
|
|
2
3
|
function items(count) {
|
|
3
4
|
var items = [];
|
|
@@ -59,7 +60,7 @@ var absStyle = {
|
|
|
59
60
|
</div>;
|
|
60
61
|
```
|
|
61
62
|
|
|
62
|
-
Горизонтальный scrollbar
|
|
63
|
+
### Горизонтальный scrollbar
|
|
63
64
|
|
|
64
65
|
```jsx harmony
|
|
65
66
|
var divStyle = {
|
|
@@ -142,8 +143,7 @@ var innerStyle = {
|
|
|
142
143
|
</div>;
|
|
143
144
|
```
|
|
144
145
|
|
|
145
|
-
|
|
146
|
-
Смещение скроллбара
|
|
146
|
+
### Смещение скроллбара
|
|
147
147
|
|
|
148
148
|
```jsx harmony
|
|
149
149
|
const containerStyle = {
|
|
@@ -171,6 +171,7 @@ const offsetY = {
|
|
|
171
171
|
</div>
|
|
172
172
|
```
|
|
173
173
|
|
|
174
|
+
### Скрытие если нет активности пользователя
|
|
174
175
|
Проп `showScrollBar` со значением `scroll` скрывает скроллбар при отсутствии активности пользователя. Задержку на скрытие скроллбара можно регулировать пропом `hideScrollBarDelay` (по умолчанию 500ms)
|
|
175
176
|
|
|
176
177
|
```jsx harmony
|
|
@@ -194,6 +195,7 @@ var divStyle = {
|
|
|
194
195
|
</div>
|
|
195
196
|
```
|
|
196
197
|
|
|
198
|
+
### Показ скролбара при наведении
|
|
197
199
|
Проп `showScrollBar` со значением `hover` позволяет показывать скроллбар только когда курсор находится над скролл контейнером
|
|
198
200
|
|
|
199
201
|
```jsx harmony
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as ScrollContainerStories from './ScrollContainer.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={ScrollContainerStories} />
|
|
6
|
+
|
|
7
|
+
# ScrollContainer
|
|
8
|
+
|
|
9
|
+
<Description />
|
|
10
|
+
|
|
11
|
+
## Базовый пример
|
|
12
|
+
|
|
13
|
+
<Primary />
|
|
14
|
+
|
|
15
|
+
## Пропы
|
|
16
|
+
|
|
17
|
+
<details>
|
|
18
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
19
|
+
<ArgTypes />
|
|
20
|
+
</details>
|
|
21
|
+
|
|
22
|
+
## Примеры использования
|
|
23
|
+
|
|
24
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","MenuItem","Item","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","createElement","isNotSelectable","props","children","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../MenuItem';\n\ninterface ItemProps {\n children?: React.ReactNode;\n isNotSelectable?: boolean;\n}\nexport class Item extends React.Component<ItemProps> {\n public static __KONTUR_REACT_UI__ = 'SelectItem';\n public static displayName = 'SelectItem';\n\n public render() {\n return <MenuItem isNotSelectable={this.props.isNotSelectable}>{this.props.children}</MenuItem>;\n }\n}\n"],"mappings":"sEAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,QAAQ,QAAQ,aAAa
|
|
1
|
+
{"version":3,"names":["React","MenuItem","Item","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","createElement","isNotSelectable","props","children","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../MenuItem';\n\ninterface ItemProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Запрещает выделение и выбор данного пункта. */\n isNotSelectable?: boolean;\n}\nexport class Item extends React.Component<ItemProps> {\n public static __KONTUR_REACT_UI__ = 'SelectItem';\n public static displayName = 'SelectItem';\n\n public render() {\n return <MenuItem isNotSelectable={this.props.isNotSelectable}>{this.props.children}</MenuItem>;\n }\n}\n"],"mappings":"sEAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,QAAQ,QAAQ,aAAa;;;;;;;;;AAStC,WAAaC,IAAI,0BAAAC,gBAAA,YAAAD,KAAA,UAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA,WAAAC,cAAA,CAAAJ,IAAA,EAAAC,gBAAA,MAAAI,MAAA,GAAAL,IAAA,CAAAM,SAAA,CAAAD,MAAA;;;;EAIRE,MAAM,GAAb,SAAAA,OAAA,EAAgB;IACd,oBAAOT,KAAA,CAAAU,aAAA,CAACT,QAAQ,IAACU,eAAe,EAAE,IAAI,CAACC,KAAK,CAACD,eAAgB,IAAE,IAAI,CAACC,KAAK,CAACC,QAAmB,CAAC;EAChG,CAAC,QAAAX,IAAA,GANuBF,KAAK,CAACc,SAAS,EAA5BZ,IAAI,CACDa,mBAAmB,GAAG,YAAY,CADrCb,IAAI,CAEDc,WAAW,GAAG,YAAY","ignoreList":[]}
|
|
@@ -50,6 +50,17 @@ var PASS_BUTTON_PROPS = {
|
|
|
50
50
|
export var SelectIds = {
|
|
51
51
|
menu: SelectDataTids.menu
|
|
52
52
|
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.
|
|
56
|
+
*
|
|
57
|
+
* Используйте `Select` при:
|
|
58
|
+
* * заполнении форм, например для выбора месяца.
|
|
59
|
+
* * переключении состояний, например, фильтра.
|
|
60
|
+
* * выборе предустановленных настроек, например, частоты уведомлений, часового пояса.
|
|
61
|
+
*
|
|
62
|
+
* Не используйте `Select` для выбора элементов меню. В таком случае воспользуйтесь компонентом Dropdown.
|
|
63
|
+
*/
|
|
53
64
|
export var Select = (_dec = locale('Select', SelectLocaleHelper), responsiveLayout(_class = rootNode(_class = _dec(_class = (_Select = /*#__PURE__*/function (_React$Component) {
|
|
54
65
|
function Select() {
|
|
55
66
|
var _this;
|