@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
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
### Вспомогательный интерфейс
|
|
1
2
|
```ts static
|
|
2
3
|
interface ResponsiveLayoutFlags {
|
|
3
4
|
isMobile: boolean;
|
|
4
5
|
}
|
|
5
6
|
```
|
|
6
7
|
|
|
7
|
-
Компонент ожидает в себя функцию, в которую аргументом передается объект с флагом лэйаута.
|
|
8
|
+
### Компонент ожидает в себя функцию, в которую аргументом передается объект с флагом лэйаута.
|
|
8
9
|
|
|
9
10
|
```jsx static
|
|
10
11
|
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
@@ -24,7 +25,7 @@ class SomeComponent {
|
|
|
24
25
|
}
|
|
25
26
|
```
|
|
26
27
|
|
|
27
|
-
Также существует проп `onLayoutChange`, который вызывает переданный в него коллбэк при изменении лэйаута. Аргументом передается объект с флагом.
|
|
28
|
+
### Также существует проп `onLayoutChange`, который вызывает переданный в него коллбэк при изменении лэйаута. Аргументом передается объект с флагом.
|
|
28
29
|
|
|
29
30
|
```jsx static
|
|
30
31
|
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
@@ -40,7 +41,7 @@ class SomeComponent {
|
|
|
40
41
|
}
|
|
41
42
|
```
|
|
42
43
|
|
|
43
|
-
В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
|
|
44
|
+
### В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
|
|
44
45
|
```ts static
|
|
45
46
|
type MediaQueriesType = Record<string, string>;
|
|
46
47
|
```
|
|
@@ -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 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
@@ -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> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_Emotion","_isInstanceOf","_ScrollContainer","_ScrollContainer2","_ScrollContainer3","ScrollBar","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","containerRef","React","createRef","state","_extends2","default","defaultScrollbarState","renderMain","_cx","_inlineStyles","props","active","_scrollSizeParameters","scrollSizeParametersNames","axis","customScrollPos","customScrollSize","classNames","cx","className","styles","scrollBar","theme","scrollBarStyles","scrollBarInvert","invert","visibleScrollBar","isVisible","inlineStyles","pos","size","createElement","ref","scrollBarContainerClassNames","style","offset","refScroll","onMouseDown","handleScrollMouseDown","reflow","inner","_getScrollSizeParams","getScrollSizeParams","scrollSize","scrollPos","scrollActive","scrollState","getImmediateScrollState","onScroll","setState","setInnerElement","element","handleScrollWheel","event","node","addEventListener","passive","removeEventListener","_scrollSizeParameters2","coord","initialCoord","target","globalObject","document","initialScrollPos","mouseMove","mouseMoveEvent","current","remainingScrollingContent","remainingScrollingSpace","ratio","delta","preventDefault","Object","prototype","hasOwnProperty","returnValue","mouseUp","scrollingByMouseDrag","isInstanceOf","WheelEvent","shiftKey","_scrollSizeParameters3","offsetHeight","deltaY","_scrollSizeParameters4","clientSize","maxScrollPos","Math","abs","_inheritsLoose2","_proto","componentDidMount","componentDidUpdate","render","_this2","ThemeContext","Consumer","setHover","hover","getHover","_createClass2","key","get","_cx3","_cx2","scrollBarX","globalClasses","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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_Emotion","_isInstanceOf","_ScrollContainer","_ScrollContainer2","_ScrollContainer3","ScrollBar","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","containerRef","React","createRef","state","_extends2","default","defaultScrollbarState","renderMain","_cx","_inlineStyles","props","active","_scrollSizeParameters","scrollSizeParametersNames","axis","customScrollPos","customScrollSize","classNames","cx","className","styles","scrollBar","theme","scrollBarStyles","scrollBarInvert","invert","visibleScrollBar","isVisible","inlineStyles","pos","size","createElement","ref","scrollBarContainerClassNames","style","offset","refScroll","onMouseDown","handleScrollMouseDown","reflow","inner","_getScrollSizeParams","getScrollSizeParams","scrollSize","scrollPos","scrollActive","scrollState","getImmediateScrollState","onScroll","setState","setInnerElement","element","handleScrollWheel","event","node","addEventListener","passive","removeEventListener","_scrollSizeParameters2","coord","initialCoord","target","globalObject","document","initialScrollPos","mouseMove","mouseMoveEvent","current","remainingScrollingContent","remainingScrollingSpace","ratio","delta","preventDefault","Object","prototype","hasOwnProperty","returnValue","mouseUp","scrollingByMouseDrag","isInstanceOf","WheelEvent","shiftKey","_scrollSizeParameters3","offsetHeight","deltaY","_scrollSizeParameters4","clientSize","maxScrollPos","Math","abs","_inheritsLoose2","_proto","componentDidMount","componentDidUpdate","render","_this2","ThemeContext","Consumer","setHover","hover","getHover","_createClass2","key","get","_cx3","_cx2","scrollBarX","globalClasses","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":[]}
|
|
@@ -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;
|
|
@@ -76,6 +76,10 @@ var _ScrollBar = require("./ScrollBar");var _class, _ScrollContainer;
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
79
83
|
|
|
80
84
|
|
|
81
85
|
|
|
@@ -84,7 +88,7 @@ var _ScrollBar = require("./ScrollBar");var _class, _ScrollContainer;
|
|
|
84
88
|
var ScrollContainerDataTids = exports.ScrollContainerDataTids = {
|
|
85
89
|
root: 'ScrollContainer__root',
|
|
86
90
|
inner: 'ScrollContainer__inner'
|
|
87
|
-
};
|
|
91
|
+
};
|
|
88
92
|
|
|
89
93
|
|
|
90
94
|
|
|
@@ -99,6 +103,9 @@ var ScrollContainerDataTids = exports.ScrollContainerDataTids = {
|
|
|
99
103
|
|
|
100
104
|
|
|
101
105
|
|
|
106
|
+
/**
|
|
107
|
+
* `ScrollContainer` используется для создания контейнера с кастомными полосами прокрутки, который обеспечивает прокрутку содержимого по горизонтали или вертикали.
|
|
108
|
+
*/var
|
|
102
109
|
|
|
103
110
|
ScrollContainer = exports.ScrollContainer = (0, _rootNode.rootNode)(_class = (_ScrollContainer = /*#__PURE__*/function (_React$Component) {function ScrollContainer() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
104
111
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_lodash","_isInstanceOf","LayoutEvents","_interopRequireWildcard","_CommonWrapper","_Emotion","_client","_rootNode","_getDOMRect","_createPropsGetter","_currentEnvironment","_callChildRef","_ScrollContainer2","_ScrollContainer3","_ScrollContainer4","_ScrollBar","_class","_ScrollContainer","ScrollContainerDataTids","exports","root","inner","ScrollContainer","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","initialIsScrollBarVisible","showScrollBar","state","isScrollBarXVisible","isScrollBarYVisible","isHovered","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","default","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","onMouseMove","handleMouseMove","onMouseLeave","handleMouseLeave","style","ref","refInner","cx","globalClasses","isIE11","innerIE11","onScroll","handleNativeScroll","axis","_this$getProps","offsetY","offsetX","invert","disableAnimations","isAxisX","refScrollBar","refScrollBarX","refScrollBarY","offset","isVisible","ScrollBar","handleScroll","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","convertScrollbarXScrollState","onScrollStateChangeX","scrollYState","convertScrollbarYScrollState","onScrollStateChange","onScrollStateChangeY","prevScrollState","_this$getProps2","showScrollBarOnMouseWheel","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","scrollRef","callChildRef","event","_this$scrollY","_this$scrollX","reflow","preventDefault","emit","isScrollBarVisible","setState","hideScrollBar","debounce","_this$scrollX2","_this$scrollY2","isScrollBarXHovered","getHover","isScrollBarYHovered","hideScrollBarDelay","isInstanceOf","globalObject","WheelEvent","shiftKey","hasScrollBar","_scrollSizeParameters","scrollSizeParametersNames","pos","size","deltaY","_this$scrollY3","_this$scrollX3","right","getDOMRect","currentTarget","pageX","bottom","pageY","setHover","_this$scrollY4","_this$scrollX4","updateInnerElement","_this$scrollX5","_this$scrollY5","setInnerElement","_inheritsLoose2","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","getScrollYOffset","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","oneOfType","string","number","oneOf","func","isTestEnv"],"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","_interopRequireDefault","require","_propTypes","_globalObject","_lodash","_isInstanceOf","LayoutEvents","_interopRequireWildcard","_CommonWrapper","_Emotion","_client","_rootNode","_getDOMRect","_createPropsGetter","_currentEnvironment","_callChildRef","_ScrollContainer2","_ScrollContainer3","_ScrollContainer4","_ScrollBar","_class","_ScrollContainer","ScrollContainerDataTids","exports","root","inner","ScrollContainer","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","initialIsScrollBarVisible","showScrollBar","state","isScrollBarXVisible","isScrollBarYVisible","isHovered","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","default","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","onMouseMove","handleMouseMove","onMouseLeave","handleMouseLeave","style","ref","refInner","cx","globalClasses","isIE11","innerIE11","onScroll","handleNativeScroll","axis","_this$getProps","offsetY","offsetX","invert","disableAnimations","isAxisX","refScrollBar","refScrollBarX","refScrollBarY","offset","isVisible","ScrollBar","handleScroll","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","convertScrollbarXScrollState","onScrollStateChangeX","scrollYState","convertScrollbarYScrollState","onScrollStateChange","onScrollStateChangeY","prevScrollState","_this$getProps2","showScrollBarOnMouseWheel","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","scrollRef","callChildRef","event","_this$scrollY","_this$scrollX","reflow","preventDefault","emit","isScrollBarVisible","setState","hideScrollBar","debounce","_this$scrollX2","_this$scrollY2","isScrollBarXHovered","getHover","isScrollBarYHovered","hideScrollBarDelay","isInstanceOf","globalObject","WheelEvent","shiftKey","hasScrollBar","_scrollSizeParameters","scrollSizeParametersNames","pos","size","deltaY","_this$scrollY3","_this$scrollX3","right","getDOMRect","currentTarget","pageX","bottom","pageY","setHover","_this$scrollY4","_this$scrollX4","updateInnerElement","_this$scrollX5","_this$scrollY5","setInnerElement","_inheritsLoose2","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","getScrollYOffset","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","oneOfType","string","number","oneOf","func","isTestEnv"],"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":"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","ignoreList":[]}
|
|
@@ -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} />
|
|
@@ -6,6 +6,9 @@ var _MenuItem = require("../MenuItem");var
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
9
12
|
Item = exports.Item = /*#__PURE__*/function (_React$Component) {function Item() {return _React$Component.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(Item, _React$Component);var _proto = Item.prototype;_proto.
|
|
10
13
|
|
|
11
14
|
|