@skbkontur/react-ui 5.0.5 → 5.1.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -11
- 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 +64 -85
- package/cjs/components/ComboBox/ComboBox.js +11 -27
- 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 +19 -27
- package/cjs/components/DateInput/DateInput.js +7 -1
- 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 +27 -22
- package/cjs/components/DatePicker/DatePicker.js +24 -1
- 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 +15 -0
- package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
- package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
- package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- 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/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/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/__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/__creevey__/Paging.creevey.js +2 -1
- package/cjs/components/Paging/__creevey__/Paging.creevey.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 +4 -1
- package/cjs/components/PasswordInput/PasswordInput.js +4 -1
- 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 +16 -38
- package/cjs/components/SidePage/SidePage.js +5 -27
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.md +2 -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 -0
- package/cjs/components/SidePage/SidePageHeader.js +3 -0
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -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 +12 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.md +6 -2
- 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 +6 -7
- package/cjs/components/Toast/Toast.js +4 -3
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +4 -4
- package/cjs/components/Toast/ToastView.d.ts +2 -6
- package/cjs/components/Toast/ToastView.js +0 -4
- package/cjs/components/Toast/ToastView.js.map +1 -1
- 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 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/types.js +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/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/constants.js +1 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -2
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/themes/BasicLightTheme.d.ts +3 -0
- package/cjs/internal/themes/BasicLightTheme.js +4 -1
- package/cjs/internal/themes/BasicLightTheme.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.js +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 +11 -0
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +64 -85
- 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 +4 -0
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +19 -27
- 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 +8 -0
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +27 -22
- 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 +15 -0
- package/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
- package/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
- package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- 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/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/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/__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/__creevey__/Paging.creevey/Paging.creevey.js +1 -1
- package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js.map +1 -1
- package/components/Paging/__docs__/Paging.mdx +28 -0
- package/components/Paging/locale/types/types.js +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +3 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +4 -1
- 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 +5 -5
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +16 -38
- package/components/SidePage/SidePage.md +2 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +4 -9
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +2 -0
- 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 +6 -0
- 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/__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 +3 -3
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +6 -7
- package/components/Toast/Toast.md +4 -4
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +2 -6
- 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 -0
- package/index.js +1 -0
- 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/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/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/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/ZIndex/index/index.js +1 -2
- package/internal/ZIndex/index/index.js.map +1 -1
- package/internal/themes/BasicLightTheme/BasicLightTheme.js +3 -0
- package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
- package/internal/themes/BasicLightTheme.d.ts +3 -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 +0 -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/lib/styles/HoldSelectionColor.d.ts +0 -1
- package/cjs/lib/styles/HoldSelectionColor.js +0 -9
- package/cjs/lib/styles/HoldSelectionColor.js.map +0 -1
- package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +0 -8
- package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +0 -1
- package/lib/styles/HoldSelectionColor/package.json +0 -6
- package/lib/styles/HoldSelectionColor.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CSSTransition","FocusLock","globalObject","isNonNullable","isKeyEscape","LayoutEvents","stopPropagation","HideBodyVerticalScroll","ModalStack","RenderContainer","RenderLayer","ZIndex","ThemeContext","CommonWrapper","cx","isTestEnv","ResponsiveLayout","createPropsGetter","isInstanceOf","SidePageBody","SidePageContainer","SidePageContext","SidePageFooter","SidePageHeader","styles","SidePageDataTids","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","createRef","updateLayout","_this$header","_this$footer","update","getProps","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","document","clientX","documentElement","handleKeyDown","disableClose","onClose","ref","layoutRef","_inheritsLoose","_proto","prototype","componentDidMount","addEventListener","add","componentWillUnmount","removeEventListener","remove","render","_this2","createElement","Consumer","theme","renderMain","_this3","_this$props","blockBackground","onOpened","disableAnimations","_ref","isMobile","Fragment","renderShadow","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","_cx","_cx2","_this$props2","width","ariaLabel","_this$getProps","offset","role","priority","className","mobileRoot","onScroll","emit","createStackingContext","style","undefined","right","left","wrapperRef","disabled","isFocusLockDisabled","autoFocus","focusLock","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass","get","_this$getProps2","disableFocusLock","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer","Container"],"sources":["SidePage.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport { ModalStack, ModalStackSubscription } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /**\n * Добавить блокирующий фон, когда сайдпейдж открыт\n */\n blockBackground?: boolean;\n\n /**\n * Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа\n */\n disableClose?: boolean;\n\n /**\n * Не закрывать сайдпейдж при клике на фон.\n */\n ignoreBackgroundClick?: boolean;\n\n /**\n * Задать ширину сайдпейджа\n */\n width?: number | string;\n\n /**\n * Вызывается, когда пользователь запросил закрытие сайдпейджа (нажал на фон, на\n * Escape или на крестик).\n */\n onClose?: () => void;\n\n /**\n * Вызывается, когда анимация открытия сайдпейджа полностью прошла\n */\n onOpened?: () => void;\n\n /**\n * Показывать сайдпэйдж слева\n *\n */\n fromLeft?: boolean;\n\n /**\n * Отключить анимации\n *\n */\n disableAnimations?: boolean;\n\n /**\n * Работает только при заблокированном фоне: `blockBackground = true`\n */\n disableFocusLock?: boolean;\n\n /**\n * задает отступ от края экрана\n */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * Сайдпейдж\n *\n * Содержит в себе три компоненты: **SidePage.Header**,\n * **SidePage.Body** и **SidePage.Footer**\n *\n * Для отображения серой плашки в футере в компонент\n * **Footer** необходимо передать пропс **panel**\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n private rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n\n return (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <div>\n <ResponsiveLayout>\n {({ isMobile }) => (\n <>\n {blockBackground && this.renderShadow(isMobile)}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </>\n )}\n </ResponsiveLayout>\n </div>\n </CommonWrapper>\n </RenderContainer>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { width, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n return (\n <ZIndex\n aria-modal\n role={role}\n aria-label={ariaLabel}\n priority={'Sidepage'}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n [styles.mobileRoot()]: isMobile,\n })}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={\n isMobile\n ? undefined\n : {\n width: width || (blockBackground ? 800 : 500),\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n wrapperRef={this.rootRef}\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </ZIndex>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(isMobile: boolean): JSX.Element {\n return (\n <ZIndex priority={'Sidepage'} className={styles.overlay()} onScroll={LayoutEvents.emit}>\n {!isMobile && (\n <>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </>\n )}\n </ZIndex>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","CSSTransition","FocusLock","globalObject","isNonNullable","isKeyEscape","LayoutEvents","stopPropagation","HideBodyVerticalScroll","ModalStack","RenderContainer","RenderLayer","ZIndex","ThemeContext","CommonWrapper","cx","isTestEnv","ResponsiveLayout","createPropsGetter","isInstanceOf","SidePageBody","SidePageContainer","SidePageContext","SidePageFooter","SidePageHeader","styles","SidePageDataTids","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","createRef","updateLayout","_this$header","_this$footer","update","getProps","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","document","clientX","documentElement","handleKeyDown","disableClose","onClose","ref","layoutRef","_inheritsLoose","_proto","prototype","componentDidMount","addEventListener","add","componentWillUnmount","removeEventListener","remove","render","_this2","createElement","Consumer","theme","renderMain","_this3","_this$props","blockBackground","onOpened","disableAnimations","_ref","isMobile","Fragment","renderShadow","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","_cx","_cx2","_this$props2","width","ariaLabel","_this$getProps","offset","role","priority","className","mobileRoot","onScroll","emit","createStackingContext","style","undefined","right","left","wrapperRef","disabled","isFocusLockDisabled","autoFocus","focusLock","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass","get","_this$getProps2","disableFocusLock","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer","Container"],"sources":["SidePage.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport { ModalStack, ModalStackSubscription } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n private rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n\n return (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <div>\n <ResponsiveLayout>\n {({ isMobile }) => (\n <>\n {blockBackground && this.renderShadow(isMobile)}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </>\n )}\n </ResponsiveLayout>\n </div>\n </CommonWrapper>\n </RenderContainer>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { width, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n return (\n <ZIndex\n aria-modal\n role={role}\n aria-label={ariaLabel}\n priority={'Sidepage'}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n [styles.mobileRoot()]: isMobile,\n })}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={\n isMobile\n ? undefined\n : {\n width: width || (blockBackground ? 800 : 500),\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n wrapperRef={this.rootRef}\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </ZIndex>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(isMobile: boolean): JSX.Element {\n return (\n <ZIndex priority={'Sidepage'} className={styles.overlay()} onScroll={LayoutEvents.emit}>\n {!isMobile && (\n <>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </>\n )}\n </ZIndex>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,48 +5,26 @@ import { SidePageContainer } from './SidePageContainer';
|
|
|
5
5
|
import { SidePageFooter } from './SidePageFooter';
|
|
6
6
|
import { SidePageHeader } from './SidePageHeader';
|
|
7
7
|
export interface SidePageProps extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Pick<AriaAttributes, 'aria-label'> {
|
|
8
|
-
/**
|
|
9
|
-
* Добавить блокирующий фон, когда сайдпейдж открыт
|
|
10
|
-
*/
|
|
8
|
+
/** Добавляет блокирующий фон, когда сайдпейдж открыт. */
|
|
11
9
|
blockBackground?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа
|
|
14
|
-
*/
|
|
10
|
+
/** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */
|
|
15
11
|
disableClose?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Не закрывать сайдпейдж при клике на фон.
|
|
18
|
-
*/
|
|
12
|
+
/** Оставляет окно открытым при клике на фон. */
|
|
19
13
|
ignoreBackgroundClick?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Задать ширину сайдпейджа
|
|
22
|
-
*/
|
|
14
|
+
/** Задает ширину сайдпейджа. */
|
|
23
15
|
width?: number | string;
|
|
24
|
-
/**
|
|
25
|
-
* Вызывается, когда пользователь запросил закрытие сайдпейджа (нажал на фон, на
|
|
26
|
-
* Escape или на крестик).
|
|
27
|
-
*/
|
|
16
|
+
/** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */
|
|
28
17
|
onClose?: () => void;
|
|
29
|
-
/**
|
|
30
|
-
* Вызывается, когда анимация открытия сайдпейджа полностью прошла
|
|
31
|
-
*/
|
|
18
|
+
/** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */
|
|
32
19
|
onOpened?: () => void;
|
|
33
|
-
/**
|
|
34
|
-
* Показывать сайдпэйдж слева
|
|
35
|
-
*
|
|
36
|
-
*/
|
|
20
|
+
/** Отображает сайдпэйдж слева. */
|
|
37
21
|
fromLeft?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Отключить анимации
|
|
40
|
-
*
|
|
41
|
-
*/
|
|
22
|
+
/** Отключает анимацию. */
|
|
42
23
|
disableAnimations?: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Работает только при заблокированном фоне: `blockBackground = true
|
|
45
|
-
*/
|
|
24
|
+
/** Отключает фокус-лок внутри сайдпейджа.
|
|
25
|
+
* Работает только при заблокированном фоне: `blockBackground = true`.*/
|
|
46
26
|
disableFocusLock?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* задает отступ от края экрана
|
|
49
|
-
*/
|
|
27
|
+
/** Задает отступ от края экрана. */
|
|
50
28
|
offset?: number | string;
|
|
51
29
|
}
|
|
52
30
|
export interface SidePageState {
|
|
@@ -64,13 +42,13 @@ export declare const SidePageDataTids: {
|
|
|
64
42
|
};
|
|
65
43
|
type DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;
|
|
66
44
|
/**
|
|
67
|
-
*
|
|
45
|
+
* `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.
|
|
46
|
+
*
|
|
47
|
+
* Используйте его, когда нужно сохранить контекст и показать большое количество данных.
|
|
68
48
|
*
|
|
69
|
-
* Содержит в себе три компоненты:
|
|
70
|
-
* **SidePage.Body** и **SidePage.Footer**
|
|
49
|
+
* Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.
|
|
71
50
|
*
|
|
72
|
-
* Для отображения серой плашки в футере в компонент
|
|
73
|
-
* **Footer** необходимо передать пропс **panel**
|
|
51
|
+
* Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.
|
|
74
52
|
*/
|
|
75
53
|
export declare class SidePage extends React.Component<SidePageProps, SidePageState> {
|
|
76
54
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
### Базовый пример
|
|
1
2
|
```jsx harmony
|
|
2
3
|
import { Button } from '@skbkontur/react-ui';
|
|
3
4
|
|
|
@@ -47,7 +48,7 @@ function close() {
|
|
|
47
48
|
</div>;
|
|
48
49
|
```
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
### Локали по умолчанию
|
|
51
52
|
|
|
52
53
|
```typescript static
|
|
53
54
|
interface SidePageLocale {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","LayoutEvents","ThemeContext","CommonWrapper","cx","responsiveLayout","getRootNode","rootNode","getDOMRect","Gapped","isNonNullable","ModalSeparator","styles","SidePageContext","SidePageFooterDataTids","root","SidePageFooter","_class","_SidePageFooter","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","fixed","content","layoutSub","update","setProperStyles","refContent","node","wrapper","wrapperRect","contentRect","top","setState","_inheritsLoose","_proto","prototype","componentDidMount","_this$context$setHasF","_this$context","_this$context$setHasP","_this$context2","footerRef","addListener","setHasFooter","setHasPanel","props","panel","componentDidUpdate","prevProps","_this$context$setHasP2","_this$context3","componentWillUnmount","_this$context$setHasF2","_this$context4","_this$context$setHasP3","_this$context5","remove","getSticky","sticky","isMobileLayout","render","_this2","createElement","Consumer","theme","renderMain","_this3","separator","_extends","rootNodeRef","setRootNode","style","height","getContentHeight","className","footerWrapper","_ref","_cx","_cx2","getWidth","footer","positionStatic","width","footerContent","footerFixed","panelFixed","mobileFooterContent","ref","gap","vertical","children","Component","__KONTUR_REACT_UI__","displayName","contextType"],"sources":["SidePageFooter.tsx"],"sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Gapped, GappedProps } from '../Gapped';\nimport { isNonNullable } from '../../lib/utils';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageFooterProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n /**\n * Включает серый цвет в футере\n */\n panel?: boolean;\n /**\n * Закрепляет футер снизу сайдпейджа\n */\n sticky?: boolean;\n /**\n * Задаёт отступ между элементами футера\n */\n gap?: GappedProps['gap'];\n}\n\ninterface SidePageFooterState {\n fixed: boolean;\n}\n\nexport const SidePageFooterDataTids = {\n root: 'SidePageFooter__root',\n} as const;\n\n/**\n * Футер сайдпейджа.\n *\n * @visibleName SidePage.Footer\n */\n@responsiveLayout\n@rootNode\nexport class SidePageFooter extends React.Component<React.PropsWithChildren<SidePageFooterProps>> {\n public static __KONTUR_REACT_UI__ = 'SidePageFooter';\n public static displayName = 'SidePageFooter';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n private isMobileLayout!: boolean;\n\n public state: SidePageFooterState = {\n fixed: false,\n };\n\n private theme!: Theme;\n private content: HTMLElement | null = null;\n private layoutSub: ReturnType<typeof LayoutEvents.addListener> | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.context.footerRef(this);\n this.update();\n this.layoutSub = LayoutEvents.addListener(this.update);\n this.context.setHasFooter?.();\n this.context.setHasPanel?.(this.props.panel);\n }\n\n public componentDidUpdate(prevProps: Readonly<SidePageFooterProps>) {\n this.props.panel !== prevProps.panel && this.context.setHasPanel?.(this.props.panel);\n }\n\n public componentWillUnmount() {\n this.context.footerRef(null);\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n this.context.setHasFooter?.(false);\n this.context.setHasPanel?.(false);\n }\n\n public getSticky() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public update = () => {\n this.setProperStyles();\n };\n\n private renderMain() {\n const separator: React.ReactNode = (this.props.panel || this.state.fixed) && (\n <ModalSeparator fixed={this.state.fixed} />\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={SidePageFooterDataTids.root}\n style={{ height: this.getContentHeight() }}\n className={styles.footerWrapper()}\n >\n <SidePageContext.Consumer>\n {({ getWidth }) => (\n <div\n className={cx(styles.footer(this.theme), {\n [styles.positionStatic()]: !this.getSticky(),\n })}\n style={{\n width: getWidth(),\n }}\n >\n {separator}\n <div\n className={cx(styles.footerContent(this.theme), {\n [styles.footerFixed(this.theme)]: this.state.fixed,\n [styles.panel(this.theme)]: !!this.props.panel,\n [styles.panelFixed(this.theme)]: !!this.props.panel && this.state.fixed,\n [styles.mobileFooterContent(this.theme)]: this.isMobileLayout,\n })}\n ref={this.refContent}\n >\n {isNonNullable(this.props.gap) ? (\n <Gapped vertical={this.isMobileLayout} gap={this.props.gap}>\n {this.props.children}\n </Gapped>\n ) : (\n this.props.children\n )}\n </div>\n </div>\n )}\n </SidePageContext.Consumer>\n </div>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.content = node;\n };\n\n private setProperStyles = () => {\n const wrapper = getRootNode(this);\n if (wrapper && this.content) {\n const wrapperRect = getDOMRect(wrapper);\n const contentRect = getDOMRect(this.content);\n const fixed = wrapperRect.top > contentRect.top;\n this.setState({ fixed });\n }\n };\n\n private getContentHeight() {\n if (!this.content) {\n return 'auto';\n }\n return getDOMRect(this.content).height;\n }\n}\n"],"mappings":"4JAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,OAAO,KAAKC,YAAY,MAAM,wBAAwB;AACtD,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAAsBC,aAAa,QAAQ,8BAA8B;AACzE,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,WAAW,EAAEC,QAAQ,QAAsB,oBAAoB;AACxE,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,MAAM,QAAqB,WAAW;AAC/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,cAAc,QAAQ,yBAAyB;;AAExD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,eAAe,QAA6B,mBAAmB;;;;;;;;;;;;;;;;;;;;;;AAsBxE,OAAO,IAAMC,sBAAsB,GAAG;EACpCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;;AAEaC,cAAc,GAF1BX,gBAAgB,CAAAY,MAAA,GAChBV,QAAQ,CAAAU,MAAA,IAAAC,eAAA,0BAAAC,gBAAA,YAAAH,eAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;IAMAU,OAAO,GAAwBV,KAAA,CAAKU,OAAO,CAAAV,KAAA;;;IAG3CW,KAAK,GAAwB;MAClCC,KAAK,EAAE;IACT,CAAC,CAAAZ,KAAA;;;IAGOa,OAAO,GAAuB,IAAI,CAAAb,KAAA;IAClCc,SAAS,GAAuD,IAAI,CAAAd,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+CrEe,MAAM,GAAG,YAAM;MACpBf,KAAA,CAAKgB,eAAe,CAAC,CAAC;IACxB,CAAC,CAAAhB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkDOiB,UAAU,GAAG,UAACC,IAAwB,EAAK;MACjDlB,KAAA,CAAKa,OAAO,GAAGK,IAAI;IACrB,CAAC,CAAAlB,KAAA;;IAEOgB,eAAe,GAAG,YAAM;MAC9B,IAAMG,OAAO,GAAGjC,WAAW,CAAAc,KAAK,CAAC;MACjC,IAAImB,OAAO,IAAInB,KAAA,CAAKa,OAAO,EAAE;QAC3B,IAAMO,WAAW,GAAGhC,UAAU,CAAC+B,OAAO,CAAC;QACvC,IAAME,WAAW,GAAGjC,UAAU,CAACY,KAAA,CAAKa,OAAO,CAAC;QAC5C,IAAMD,KAAK,GAAGQ,WAAW,CAACE,GAAG,GAAGD,WAAW,CAACC,GAAG;QAC/CtB,KAAA,CAAKuB,QAAQ,CAAC,EAAEX,KAAK,EAALA,KAAK,CAAC,CAAC,CAAC;MAC1B;IACF,CAAC,QAAAZ,KAAA,EAAAwB,cAAA,CAAA5B,cAAA,EAAAG,gBAAA,MAAA0B,MAAA,GAAA7B,cAAA,CAAA8B,SAAA,CAAAD,MAAA,CA5GME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,KAAAC,qBAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,cAAA,CACzB,IAAI,CAACrB,OAAO,CAACsB,SAAS,CAAC,IAAI,CAAC,CAC5B,IAAI,CAACjB,MAAM,CAAC,CAAC,CACb,IAAI,CAACD,SAAS,GAAGjC,YAAY,CAACoD,WAAW,CAAC,IAAI,CAAClB,MAAM,CAAC,CACtD,CAAAa,qBAAA,IAAAC,aAAA,OAAI,CAACnB,OAAO,EAACwB,YAAY,aAAzBN,qBAAA,CAAArB,IAAA,CAAAsB,aAA4B,CAAC,CAC7B,CAAAC,qBAAA,IAAAC,cAAA,OAAI,CAACrB,OAAO,EAACyB,WAAW,aAAxBL,qBAAA,CAAAvB,IAAA,CAAAwB,cAAA,EAA2B,IAAI,CAACK,KAAK,CAACC,KAAK,CAAC,CAC9C,CAAC,CAAAZ,MAAA,CAEMa,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAwC,EAAE,KAAAC,sBAAA,EAAAC,cAAA,CAClE,IAAI,CAACL,KAAK,CAACC,KAAK,KAAKE,SAAS,CAACF,KAAK,MAAAG,sBAAA,GAAI,CAAAC,cAAA,OAAI,CAAC/B,OAAO,EAACyB,WAAW,qBAAxBK,sBAAA,CAAAjC,IAAA,CAAAkC,cAAA,EAA2B,IAAI,CAACL,KAAK,CAACC,KAAK,CAAC,EACtF,CAAC,CAAAZ,MAAA,CAEMiB,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,KAAAC,sBAAA,EAAAC,cAAA,EAAAC,sBAAA,EAAAC,cAAA,CAC5B,IAAI,CAACpC,OAAO,CAACsB,SAAS,CAAC,IAAI,CAAC,CAC5B,IAAI,IAAI,CAAClB,SAAS,EAAE,CAClB,IAAI,CAACA,SAAS,CAACiC,MAAM,CAAC,CAAC,CACzB,CACA,CAAAJ,sBAAA,IAAAC,cAAA,OAAI,CAAClC,OAAO,EAACwB,YAAY,aAAzBS,sBAAA,CAAApC,IAAA,CAAAqC,cAAA,EAA4B,KAAK,CAAC,CAClC,CAAAC,sBAAA,IAAAC,cAAA,OAAI,CAACpC,OAAO,EAACyB,WAAW,aAAxBU,sBAAA,CAAAtC,IAAA,CAAAuC,cAAA,EAA2B,KAAK,CAAC,CACnC,CAAC,CAAArB,MAAA,CAEMuB,SAAS,GAAhB,SAAAA,UAAA,EAAmB,CACjB,IAAI,OAAO,IAAI,CAACZ,KAAK,CAACa,MAAM,KAAK,WAAW,EAAE,CAC5C,OAAO,IAAI,CAACb,KAAK,CAACa,MAAM,CAC1B,CAEA,IAAI,IAAI,CAACC,cAAc,EAAE,CACvB,OAAO,KAAK,CACd,CAEA,OAAO,IAAI,CACb,CAAC,CAAAzB,MAAA,CAEM0B,MAAM,GAAb,SAAAA,OAAA,EAA6B,KAAAC,MAAA,QAC3B,oBACExE,KAAA,CAAAyE,aAAA,CAACvE,YAAY,CAACwE,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGA,KAAK,CAClB,OAAOH,MAAI,CAACI,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,CAAA/B,MAAA,CAMO+B,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAAC,MAAA,QACnB,IAAMC,SAA0B,GAAG,CAAC,IAAI,CAACtB,KAAK,CAACC,KAAK,IAAI,IAAI,CAAC1B,KAAK,CAACC,KAAK,kBACtEhC,KAAA,CAAAyE,aAAA,CAAC9D,cAAc,IAACqB,KAAK,EAAE,IAAI,CAACD,KAAK,CAACC,KAAM,EAAE,CAC3C,CAED,oBACEhC,KAAA,CAAAyE,aAAA,CAACtE,aAAa,EAAA4E,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACzB,KAAK,gBAC1DxD,KAAA,CAAAyE,aAAA,UACE,YAAU3D,sBAAsB,CAACC,IAAK,EACtCmE,KAAK,EAAE,EAAEC,MAAM,EAAE,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC,CAAE,EAC3CC,SAAS,EAAEzE,MAAM,CAAC0E,aAAa,CAAC,CAAE,iBAElCtF,KAAA,CAAAyE,aAAA,CAAC5D,eAAe,CAAC6D,QAAQ,QACtB,UAAAa,IAAA,OAAAC,GAAA,EAAAC,IAAA,KAAGC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,qBACV1F,KAAA,CAAAyE,aAAA,UACEY,SAAS,EAAEjF,EAAE,CAACQ,MAAM,CAAC+E,MAAM,CAACd,MAAI,CAACF,KAAK,CAAC,GAAAa,GAAA,OAAAA,GAAA,CACpC5E,MAAM,CAACgF,cAAc,CAAC,CAAC,IAAG,CAACf,MAAI,CAACT,SAAS,CAAC,CAAC,EAAAoB,GAAA,CAC7C,CAAE,EACHN,KAAK,EAAE,EACLW,KAAK,EAAEH,QAAQ,CAAC,CAAC,CACnB,CAAE,IAEDZ,SAAS,eACV9E,KAAA,CAAAyE,aAAA,UACEY,SAAS,EAAEjF,EAAE,CAACQ,MAAM,CAACkF,aAAa,CAACjB,MAAI,CAACF,KAAK,CAAC,GAAAc,IAAA,OAAAA,IAAA,CAC3C7E,MAAM,CAACmF,WAAW,CAAClB,MAAI,CAACF,KAAK,CAAC,IAAGE,MAAI,CAAC9C,KAAK,CAACC,KAAK,EAAAyD,IAAA,CACjD7E,MAAM,CAAC6C,KAAK,CAACoB,MAAI,CAACF,KAAK,CAAC,IAAG,CAAC,CAACE,MAAI,CAACrB,KAAK,CAACC,KAAK,EAAAgC,IAAA,CAC7C7E,MAAM,CAACoF,UAAU,CAACnB,MAAI,CAACF,KAAK,CAAC,IAAG,CAAC,CAACE,MAAI,CAACrB,KAAK,CAACC,KAAK,IAAIoB,MAAI,CAAC9C,KAAK,CAACC,KAAK,EAAAyD,IAAA,CACtE7E,MAAM,CAACqF,mBAAmB,CAACpB,MAAI,CAACF,KAAK,CAAC,IAAGE,MAAI,CAACP,cAAc,EAAAmB,IAAA,CAC9D,CAAE,EACHS,GAAG,EAAErB,MAAI,CAACxC,UAAW,IAEpB3B,aAAa,CAACmE,MAAI,CAACrB,KAAK,CAAC2C,GAAG,CAAC,gBAC5BnG,KAAA,CAAAyE,aAAA,CAAChE,MAAM,IAAC2F,QAAQ,EAAEvB,MAAI,CAACP,cAAe,EAAC6B,GAAG,EAAEtB,MAAI,CAACrB,KAAK,CAAC2C,GAAI,IACxDtB,MAAI,CAACrB,KAAK,CAAC6C,QACN,CAAC,GAETxB,MAAI,CAACrB,KAAK,CAAC6C,QAEV,CACF,CAAC,EAEgB,CACvB,CACQ,CAAC,CAEpB,CAAC,CAAAxD,MAAA;;EAgBOuC,gBAAgB,GAAxB,SAAAA,iBAAA,EAA2B;IACzB,IAAI,CAAC,IAAI,CAACnD,OAAO,EAAE;MACjB,OAAO,MAAM;IACf;IACA,OAAOzB,UAAU,CAAC,IAAI,CAACyB,OAAO,CAAC,CAACkD,MAAM;EACxC,CAAC,QAAAnE,cAAA,GApIiChB,KAAK,CAACsG,SAAS,GAAApF,eAAA,CACnCqF,mBAAmB,GAAG,gBAAgB,EAAArF,eAAA,CACtCsF,WAAW,GAAG,gBAAgB,EAAAtF,eAAA,CAE9BuF,WAAW,GAAG5F,eAAe,EAAAK,eAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","LayoutEvents","ThemeContext","CommonWrapper","cx","responsiveLayout","getRootNode","rootNode","getDOMRect","Gapped","isNonNullable","ModalSeparator","styles","SidePageContext","SidePageFooterDataTids","root","SidePageFooter","_class","_SidePageFooter","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","fixed","content","layoutSub","update","setProperStyles","refContent","node","wrapper","wrapperRect","contentRect","top","setState","_inheritsLoose","_proto","prototype","componentDidMount","_this$context$setHasF","_this$context","_this$context$setHasP","_this$context2","footerRef","addListener","setHasFooter","setHasPanel","props","panel","componentDidUpdate","prevProps","_this$context$setHasP2","_this$context3","componentWillUnmount","_this$context$setHasF2","_this$context4","_this$context$setHasP3","_this$context5","remove","getSticky","sticky","isMobileLayout","render","_this2","createElement","Consumer","theme","renderMain","_this3","separator","_extends","rootNodeRef","setRootNode","style","height","getContentHeight","className","footerWrapper","_ref","_cx","_cx2","getWidth","footer","positionStatic","width","footerContent","footerFixed","panelFixed","mobileFooterContent","ref","gap","vertical","children","Component","__KONTUR_REACT_UI__","displayName","contextType"],"sources":["SidePageFooter.tsx"],"sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Gapped, GappedProps } from '../Gapped';\nimport { isNonNullable } from '../../lib/utils';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\n\nexport interface SidePageFooterProps extends Omit<CommonProps, 'children'> {\n /** @ignore */\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n\n /** Включает серый цвет в футере. */\n panel?: boolean;\n\n /** Закрепляет футер снизу сайдпейджа. */\n sticky?: boolean;\n\n /** Задает расстояние между элементами футера в пикселях. */\n gap?: GappedProps['gap'];\n}\n\ninterface SidePageFooterState {\n fixed: boolean;\n}\n\nexport const SidePageFooterDataTids = {\n root: 'SidePageFooter__root',\n} as const;\n\n/**\n * Футер сайдпейджа.\n *\n * @visibleName SidePage.Footer\n */\n@responsiveLayout\n@rootNode\nexport class SidePageFooter extends React.Component<React.PropsWithChildren<SidePageFooterProps>> {\n public static __KONTUR_REACT_UI__ = 'SidePageFooter';\n public static displayName = 'SidePageFooter';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n private isMobileLayout!: boolean;\n\n public state: SidePageFooterState = {\n fixed: false,\n };\n\n private theme!: Theme;\n private content: HTMLElement | null = null;\n private layoutSub: ReturnType<typeof LayoutEvents.addListener> | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.context.footerRef(this);\n this.update();\n this.layoutSub = LayoutEvents.addListener(this.update);\n this.context.setHasFooter?.();\n this.context.setHasPanel?.(this.props.panel);\n }\n\n public componentDidUpdate(prevProps: Readonly<SidePageFooterProps>) {\n this.props.panel !== prevProps.panel && this.context.setHasPanel?.(this.props.panel);\n }\n\n public componentWillUnmount() {\n this.context.footerRef(null);\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n this.context.setHasFooter?.(false);\n this.context.setHasPanel?.(false);\n }\n\n public getSticky() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public update = () => {\n this.setProperStyles();\n };\n\n private renderMain() {\n const separator: React.ReactNode = (this.props.panel || this.state.fixed) && (\n <ModalSeparator fixed={this.state.fixed} />\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={SidePageFooterDataTids.root}\n style={{ height: this.getContentHeight() }}\n className={styles.footerWrapper()}\n >\n <SidePageContext.Consumer>\n {({ getWidth }) => (\n <div\n className={cx(styles.footer(this.theme), {\n [styles.positionStatic()]: !this.getSticky(),\n })}\n style={{\n width: getWidth(),\n }}\n >\n {separator}\n <div\n className={cx(styles.footerContent(this.theme), {\n [styles.footerFixed(this.theme)]: this.state.fixed,\n [styles.panel(this.theme)]: !!this.props.panel,\n [styles.panelFixed(this.theme)]: !!this.props.panel && this.state.fixed,\n [styles.mobileFooterContent(this.theme)]: this.isMobileLayout,\n })}\n ref={this.refContent}\n >\n {isNonNullable(this.props.gap) ? (\n <Gapped vertical={this.isMobileLayout} gap={this.props.gap}>\n {this.props.children}\n </Gapped>\n ) : (\n this.props.children\n )}\n </div>\n </div>\n )}\n </SidePageContext.Consumer>\n </div>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.content = node;\n };\n\n private setProperStyles = () => {\n const wrapper = getRootNode(this);\n if (wrapper && this.content) {\n const wrapperRect = getDOMRect(wrapper);\n const contentRect = getDOMRect(this.content);\n const fixed = wrapperRect.top > contentRect.top;\n this.setState({ fixed });\n }\n };\n\n private getContentHeight() {\n if (!this.content) {\n return 'auto';\n }\n return getDOMRect(this.content).height;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,18 +3,13 @@ import { CommonProps } from '../../internal/CommonWrapper';
|
|
|
3
3
|
import { GappedProps } from '../Gapped';
|
|
4
4
|
import { SidePageContextType } from './SidePageContext';
|
|
5
5
|
export interface SidePageFooterProps extends Omit<CommonProps, 'children'> {
|
|
6
|
+
/** @ignore */
|
|
6
7
|
children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
|
|
7
|
-
/**
|
|
8
|
-
* Включает серый цвет в футере
|
|
9
|
-
*/
|
|
8
|
+
/** Включает серый цвет в футере. */
|
|
10
9
|
panel?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Закрепляет футер снизу сайдпейджа
|
|
13
|
-
*/
|
|
10
|
+
/** Закрепляет футер снизу сайдпейджа. */
|
|
14
11
|
sticky?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Задаёт отступ между элементами футера
|
|
17
|
-
*/
|
|
12
|
+
/** Задает расстояние между элементами футера в пикселях. */
|
|
18
13
|
gap?: GappedProps['gap'];
|
|
19
14
|
}
|
|
20
15
|
interface SidePageFooterState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","globalObject","Sticky","isFunction","ThemeContext","CommonWrapper","cx","responsiveLayout","rootNode","getDOMRect","ModalSeparator","styles","SidePageContext","SidePageCloseButton","SidePageHeaderDataTids","root","close","SidePageHeader","_class","_SidePageHeader","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","isReadyToFix","wrapper","sticky","lastRegularHeight","closeIcon","createElement","componentDidMount","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","_this$sticky","reflow","updateReadyToFix","renderHeader","fixed","_cx","_cx2","isDisplayed","props","hasSeparator","className","header","theme","headerFixed","mobileHeader","isMobileLayout","renderClose","title","mobileTitle","titleFixed","children","_cx3","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","wrapperCloseFixed","mobileWrapperClose","side","offset","wrapperScrolledUp","top","regularHeight","fixedHeaderHeight","setState","_extends","wrapperRef","el","stickyRef","_inheritsLoose","_proto","prototype","render","_this2","Consumer","renderMain","getStickyProp","isStickyDesktop","isStickyMobile","rootNodeRef","setRootNode","ref","headerWrapper","_createClass","key","get","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","displayName","contextType","defaultProps"],"sources":["SidePageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Sticky } from '../Sticky';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageCloseButton } from './SidePageCloseButton';\n\nexport interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n sticky?: boolean;\n hasSeparator?: boolean;\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n}\n\nexport const SidePageHeaderDataTids = {\n root: 'SidePageHeader__root',\n close: 'SidePage__close',\n} as const;\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@responsiveLayout\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n public static displayName = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n private isMobileLayout!: boolean;\n\n public state: SidePageHeaderState = {\n isReadyToFix: false,\n };\n\n public static defaultProps: Partial<SidePageHeaderProps> = {\n hasSeparator: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n private closeIcon = (<SidePageCloseButton />);\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = getDOMRect(this.wrapper).height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n globalObject.addEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n globalObject.removeEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n this.context.headerRef(null);\n };\n\n public update = () => {\n this.sticky?.reflow();\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getStickyProp() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n\n const isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;\n const isStickyMobile = this.isMobileLayout && this.getStickyProp();\n\n const header = this.renderHeader;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SidePageHeaderDataTids.root} ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isStickyDesktop || isStickyMobile ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {header}\n </Sticky>\n ) : (\n header()\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n const isDisplayed = this.props.hasSeparator || fixed;\n return (\n <div>\n <div\n className={cx(styles.header(this.theme), {\n [styles.headerFixed(this.theme)]: fixed,\n [styles.mobileHeader(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.renderClose(fixed)}\n <div\n className={cx(styles.title(this.theme), {\n [styles.mobileTitle(this.theme)]: this.isMobileLayout,\n [styles.titleFixed()]: fixed,\n })}\n >\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n {isDisplayed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n return (\n <div\n className={cx(styles.wrapperClose(this.theme), {\n [styles.wrapperCloseFixed(this.theme)]: fixed,\n [styles.mobileWrapperClose(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.isMobileLayout ? (\n this.closeIcon\n ) : (\n <Sticky side=\"top\" offset={stickyOffset}>\n {this.closeIcon}\n </Sticky>\n )}\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = getDOMRect(this.wrapper).top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private stickyRef = (el: Sticky | null) => {\n this.sticky = el;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","globalObject","Sticky","isFunction","ThemeContext","CommonWrapper","cx","responsiveLayout","rootNode","getDOMRect","ModalSeparator","styles","SidePageContext","SidePageCloseButton","SidePageHeaderDataTids","root","close","SidePageHeader","_class","_SidePageHeader","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","isReadyToFix","wrapper","sticky","lastRegularHeight","closeIcon","createElement","componentDidMount","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","_this$sticky","reflow","updateReadyToFix","renderHeader","fixed","_cx","_cx2","isDisplayed","props","hasSeparator","className","header","theme","headerFixed","mobileHeader","isMobileLayout","renderClose","title","mobileTitle","titleFixed","children","_cx3","stickyOffset","parseInt","sidePageHeaderStickyOffset","wrapperClose","wrapperCloseFixed","mobileWrapperClose","side","offset","wrapperScrolledUp","top","regularHeight","fixedHeaderHeight","setState","_extends","wrapperRef","el","stickyRef","_inheritsLoose","_proto","prototype","render","_this2","Consumer","renderMain","getStickyProp","isStickyDesktop","isStickyMobile","rootNodeRef","setRootNode","ref","headerWrapper","_createClass","key","get","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","Component","__KONTUR_REACT_UI__","displayName","contextType","defaultProps"],"sources":["SidePageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Sticky } from '../Sticky';\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\n\nimport { styles } from './SidePage.styles';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageCloseButton } from './SidePageCloseButton';\n\nexport interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n /** Закрепляет хедер сверху сайдпейджа. */\n sticky?: boolean;\n\n /** Определяет, нужно ли показывать ModalSeparator. */\n hasSeparator?: boolean;\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n}\n\nexport const SidePageHeaderDataTids = {\n root: 'SidePageHeader__root',\n close: 'SidePage__close',\n} as const;\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@responsiveLayout\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n public static displayName = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n private isMobileLayout!: boolean;\n\n public state: SidePageHeaderState = {\n isReadyToFix: false,\n };\n\n public static defaultProps: Partial<SidePageHeaderProps> = {\n hasSeparator: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n private closeIcon = (<SidePageCloseButton />);\n\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = getDOMRect(this.wrapper).height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n globalObject.addEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n globalObject.removeEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n this.context.headerRef(null);\n };\n\n public update = () => {\n this.sticky?.reflow();\n this.updateReadyToFix();\n };\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getStickyProp() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n\n const isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;\n const isStickyMobile = this.isMobileLayout && this.getStickyProp();\n\n const header = this.renderHeader;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SidePageHeaderDataTids.root} ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isStickyDesktop || isStickyMobile ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {header}\n </Sticky>\n ) : (\n header()\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n const isDisplayed = this.props.hasSeparator || fixed;\n return (\n <div>\n <div\n className={cx(styles.header(this.theme), {\n [styles.headerFixed(this.theme)]: fixed,\n [styles.mobileHeader(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.renderClose(fixed)}\n <div\n className={cx(styles.title(this.theme), {\n [styles.mobileTitle(this.theme)]: this.isMobileLayout,\n [styles.titleFixed()]: fixed,\n })}\n >\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n {isDisplayed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n return (\n <div\n className={cx(styles.wrapperClose(this.theme), {\n [styles.wrapperCloseFixed(this.theme)]: fixed,\n [styles.mobileWrapperClose(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.isMobileLayout ? (\n this.closeIcon\n ) : (\n <Sticky side=\"top\" offset={stickyOffset}>\n {this.closeIcon}\n </Sticky>\n )}\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = getDOMRect(this.wrapper).top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private stickyRef = (el: Sticky | null) => {\n this.sticky = el;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,9 @@ import { CommonProps } from '../../internal/CommonWrapper';
|
|
|
3
3
|
import { SidePageContextType } from './SidePageContext';
|
|
4
4
|
export interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {
|
|
5
5
|
children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
|
|
6
|
+
/** Закрепляет хедер сверху сайдпейджа. */
|
|
6
7
|
sticky?: boolean;
|
|
8
|
+
/** Определяет, нужно ли показывать ModalSeparator. */
|
|
7
9
|
hasSeparator?: boolean;
|
|
8
10
|
}
|
|
9
11
|
export interface SidePageHeaderState {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as SidePageStories from './SidePage.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={SidePageStories} />
|
|
6
|
+
|
|
7
|
+
# SidePage
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/popup-elements/sidepage/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A11142)
|
|
12
|
+
|
|
13
|
+
<Description />
|
|
14
|
+
|
|
15
|
+
## Базовый пример
|
|
16
|
+
|
|
17
|
+
<Primary />
|
|
18
|
+
|
|
19
|
+
## Пропы
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
23
|
+
<ArgTypes />
|
|
24
|
+
</details>
|
|
25
|
+
|
|
26
|
+
## Примеры использования
|
|
27
|
+
|
|
28
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ArgTypes } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
import * as SidePageBodyStories from '../__docs__/SidePageBody.docs.stories.tsx';
|
|
4
|
+
|
|
5
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
6
|
+
|
|
7
|
+
<Meta of={SidePageBodyStories} />
|
|
8
|
+
|
|
9
|
+
# SidePageBody
|
|
10
|
+
|
|
11
|
+
Тело для сайдпейджа.
|
|
12
|
+
|
|
13
|
+
## Пропы
|
|
14
|
+
|
|
15
|
+
<ArgTypes />
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ArgTypes } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
import * as SidePageContainerStories from '../__docs__/SidePageContainer.docs.stories.tsx';
|
|
4
|
+
|
|
5
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
6
|
+
|
|
7
|
+
<Meta of={SidePageContainerStories} />
|
|
8
|
+
|
|
9
|
+
# SidePageContainer
|
|
10
|
+
|
|
11
|
+
Контейнер с отступами.
|
|
12
|
+
|
|
13
|
+
## Пропы
|
|
14
|
+
|
|
15
|
+
<ArgTypes />
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ArgTypes } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
import * as SidePageFooterStories from '../__docs__/SidePageFooter.docs.stories.tsx';
|
|
4
|
+
|
|
5
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
6
|
+
|
|
7
|
+
<Meta of={SidePageFooterStories} />
|
|
8
|
+
|
|
9
|
+
# SidePageFooter
|
|
10
|
+
|
|
11
|
+
Футер сайдпейджа.
|
|
12
|
+
|
|
13
|
+
## Пропы
|
|
14
|
+
|
|
15
|
+
<ArgTypes />
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ArgTypes } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
import * as SidePageHeaderStories from '../__docs__/SidePageHeader.docs.stories.tsx';
|
|
4
|
+
|
|
5
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
6
|
+
|
|
7
|
+
<Meta of={SidePageHeaderStories} />
|
|
8
|
+
|
|
9
|
+
# SidePageHeader
|
|
10
|
+
|
|
11
|
+
Шапка сайдпейджа.
|
|
12
|
+
|
|
13
|
+
## Пропы
|
|
14
|
+
|
|
15
|
+
<ArgTypes />
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -6,7 +6,11 @@ import ReactDOM from 'react-dom';
|
|
|
6
6
|
import { Toast } from "../../Toast/Toast";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.
|
|
10
|
+
* Результат может быть положительным, отрицательным или нейтральным.
|
|
11
|
+
*
|
|
12
|
+
* Позволяет вызывать тосты с помощью статических методов.
|
|
13
|
+
* В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.
|
|
10
14
|
*/
|
|
11
15
|
export var SingleToast = /*#__PURE__*/function (_React$Component) {
|
|
12
16
|
function SingleToast() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactDOM","Toast","SingleToast","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","createElement","_extends","ref","props","_inheritsLoose","Component","_SingleToast","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * Позволяет вызывать тосты с помощью статических
|
|
1
|
+
{"version":3,"names":["React","ReactDOM","Toast","SingleToast","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","createElement","_extends","ref","props","_inheritsLoose","Component","_SingleToast","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Позволяет вызывать тосты с помощью статических методов.\n * В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n } else {\n SingleToast.ref.current?.close();\n }\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iJAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,WAAW;;AAEhC,SAASC,KAAK,QAAoB,gBAAgB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAaC,WAAW,0BAAAC,gBAAA,YAAAD,YAAA,OAAAE,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;IAgBtBU,MAAM,GAAG,YAAM;MACb,oBAAOf,KAAA,CAAAgB,aAAA,CAACd,KAAK,EAAAe,QAAA,GAACC,GAAG,EAAEf,WAAW,CAACe,GAAI,IAAKb,KAAA,CAAKc,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAd,KAAA,EAAAe,cAAA,CAAAjB,WAAA,EAAAC,gBAAA,SAAAD,WAAA,GAlB8BH,KAAK,CAACqB,SAAS,EAmB/CC,YAAA,GAnBYnB,WAAW,CAAXA,WAAW,CACRoB,mBAAmB,GAAG,aAAa,CADtCpB,WAAW,CAERqB,WAAW,GAAG,aAAa,CAF9BrB,WAAW,CAIRe,GAAG,gBAAGlB,KAAK,CAACyB,SAAS,CAAQ,CAAC,CAJjCtB,WAAW,CAKRuB,IAAI,GAAsB,YAAa,KAAAC,qBAAA,CACnDxB,YAAW,CAACyB,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAtB,SAAA,CAAAC,MAAA,EADsBC,IAAI,OAAAC,KAAA,CAAAmB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJrB,IAAI,CAAAqB,KAAA,IAAAvB,SAAA,CAAAuB,KAAA,GAE9C,CAAAH,qBAAA,GAAAxB,YAAW,CAACe,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAb,KAAA,CAAAc,qBAAA,EAAIlB,IAAI,CAAC,CACxC,CAAC,CARUN,WAAW,CASRyB,KAAK,GAAuB,YAAM,CAC9C,IAAI5B,KAAK,CAACgC,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpChC,QAAQ,CAACiC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMhC,YAAW,CAACe,GAAG,CAACa,OAAO,qBAAvBI,sBAAA,CAAyBP,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC,MAAM,KAAAQ,sBAAA,CACL,CAAAA,sBAAA,GAAAjC,YAAW,CAACe,GAAG,CAACa,OAAO,aAAvBK,sBAAA,CAAyBR,KAAK,CAAC,CAAC,CAClC,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Toast, ToastProps } from '../Toast/Toast';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.
|
|
5
|
+
* Результат может быть положительным, отрицательным или нейтральным.
|
|
6
|
+
*
|
|
7
|
+
* Позволяет вызывать тосты с помощью статических методов.
|
|
8
|
+
* В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.
|
|
5
9
|
*/
|
|
6
10
|
export declare class SingleToast extends React.Component<ToastProps> {
|
|
7
11
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
`<SingleToast>` можно добавить в единственном месте в проекте, а статические методы будут всегда использовать последний отрендеренный экземпляр `<Toast>`.
|
|
2
2
|
|
|
3
3
|
_На внешний вид этого примера влияет следующий пример_
|
|
4
|
-
|
|
4
|
+
### Базовый пример
|
|
5
5
|
```jsx harmony
|
|
6
6
|
import { Button, SingleToast } from '@skbkontur/react-ui';
|
|
7
7
|
|
|
@@ -13,6 +13,7 @@ import { Button, SingleToast } from '@skbkontur/react-ui';
|
|
|
13
13
|
</div>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
+
### Кастомизация
|
|
16
17
|
`<SingleToast>` можно кастомизировать с помощью переменных темы для `toast`.
|
|
17
18
|
```jsx harmony
|
|
18
19
|
import { Button, SingleToast, ThemeContext, ThemeFactory, THEME_2022 } from '@skbkontur/react-ui';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as SingleToastStories from './SingleToast.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={SingleToastStories} />
|
|
6
|
+
|
|
7
|
+
# SingleToast
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/popup-elements/toast/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A5203)
|
|
12
|
+
|
|
13
|
+
<Description />
|
|
14
|
+
|
|
15
|
+
## Базовый пример
|
|
16
|
+
|
|
17
|
+
<Primary />
|
|
18
|
+
|
|
19
|
+
## Пропы
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
23
|
+
<ArgTypes />
|
|
24
|
+
</details>
|
|
25
|
+
|
|
26
|
+
## Примеры использования
|
|
27
|
+
|
|
28
|
+
<Stories title="" includePrimary={false} />
|