@skbkontur/react-ui 4.21.0-displayname.0 → 4.21.0-displayname.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
- package/cjs/components/Autocomplete/Autocomplete.js +2 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +1 -1
- package/cjs/components/Button/Button.js +1 -1
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +1 -0
- package/cjs/components/Calendar/Calendar.js +2 -1
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +1 -0
- package/cjs/components/Center/Center.js +2 -1
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +1 -0
- package/cjs/components/Checkbox/Checkbox.js +2 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +1 -0
- package/cjs/components/ComboBox/ComboBox.js +2 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +2 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +1 -0
- package/cjs/components/DatePicker/DatePicker.js +2 -1
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/Picker.d.ts +1 -0
- package/cjs/components/DatePicker/Picker.js +2 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
- package/cjs/components/Dropdown/Dropdown.js +2 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +1 -0
- package/cjs/components/FxInput/FxInput.js +2 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +1 -0
- package/cjs/components/Gapped/Gapped.js +2 -1
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +2 -1
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +1 -0
- package/cjs/components/Group/Group.js +2 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +1 -0
- package/cjs/components/Hint/Hint.js +2 -1
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +1 -0
- package/cjs/components/Kebab/Kebab.js +2 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +1 -0
- package/cjs/components/Link/Link.js +2 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +1 -0
- package/cjs/components/Loader/Loader.js +2 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +1 -0
- package/cjs/components/MenuItem/MenuItem.js +2 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +1 -0
- package/cjs/components/Modal/Modal.js +2 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +1 -0
- package/cjs/components/Modal/ModalBody.js +2 -1
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +1 -0
- package/cjs/components/Paging/Paging.js +2 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
- package/cjs/components/PasswordInput/PasswordInput.js +2 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +1 -0
- package/cjs/components/Radio/Radio.js +2 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js +2 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +1 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +2 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Item.d.ts +1 -0
- package/cjs/components/Select/Item.js +2 -1
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +1 -0
- package/cjs/components/Select/Select.js +2 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +1 -0
- package/cjs/components/SidePage/SidePage.js +2 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
- package/cjs/components/SidePage/SidePageBody.js +2 -1
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
- package/cjs/components/SidePage/SidePageContainer.js +2 -1
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
- package/cjs/components/SidePage/SidePageFooter.js +2 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
- package/cjs/components/SidePage/SidePageHeader.js +2 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +1 -0
- package/cjs/components/Spinner/Spinner.js +2 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +1 -0
- package/cjs/components/Sticky/Sticky.js +2 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.js +2 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +1 -0
- package/cjs/components/Tabs/Tab.js +2 -1
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +1 -0
- package/cjs/components/Tabs/Tabs.js +2 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +1 -0
- package/cjs/components/Textarea/Textarea.js +2 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +1 -0
- package/cjs/components/Toast/Toast.js +2 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +1 -0
- package/cjs/components/Toggle/Toggle.js +2 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +1 -0
- package/cjs/components/Token/Token.js +2 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
- package/cjs/components/TokenInput/TokenInput.js +2 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
- package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +1 -0
- package/cjs/components/Tooltip/Tooltip.js +2 -1
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js +2 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +2 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
- package/cjs/internal/DateSelect/DateSelect.js +2 -1
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
- package/cjs/internal/DropdownContainer/DropdownContainer.js +2 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +2 -1
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +2 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.js +2 -1
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +1 -0
- package/cjs/internal/Menu/Menu.js +2 -1
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
- package/cjs/internal/NativeDateInput/NativeDateInput.js +2 -1
- package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -0
- package/cjs/internal/Popup/Popup.js +2 -1
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +1 -0
- package/cjs/internal/Popup/PopupPin.js +2 -1
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +2 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -0
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +1 -0
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
- package/cjs/internal/RenderLayer/RenderLayer.js +2 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
- package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
- package/cjs/internal/ZIndex/ZIndex.js +2 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons/20px/Icon.d.ts +1 -0
- package/cjs/internal/icons/20px/Icon.js +2 -1
- package/cjs/internal/icons/20px/Icon.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +1 -0
- package/components/Button/Button/Button.js +1 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -1
- package/components/Calendar/Calendar/Calendar.js +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +1 -0
- package/components/Center/Center/Center.js +1 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +1 -0
- package/components/Checkbox/Checkbox/Checkbox.js +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +1 -0
- package/components/ComboBox/ComboBox/ComboBox.js +1 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +1 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
- package/components/DateInput/DateInput/DateInput.js +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DatePicker/DatePicker/DatePicker.js +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +1 -0
- package/components/DatePicker/Picker/Picker.js +1 -1
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/Picker.d.ts +1 -0
- package/components/Dropdown/Dropdown/Dropdown.js +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +1 -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 -0
- package/components/FxInput/FxInput/FxInput.js +1 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -0
- package/components/Gapped/Gapped/Gapped.js +1 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +1 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +1 -0
- package/components/Group/Group/Group.js +1 -1
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +1 -0
- package/components/Hint/Hint/Hint.js +1 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +1 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +1 -0
- package/components/Link/Link/Link.js +1 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +1 -0
- package/components/Loader/Loader/Loader.js +1 -1
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +1 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +1 -0
- package/components/Modal/Modal/Modal.js +1 -0
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +1 -0
- package/components/Modal/ModalBody/ModalBody.js +1 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +1 -0
- package/components/Paging/Paging/Paging.js +1 -1
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +1 -0
- package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +1 -0
- package/components/Radio/Radio/Radio.js +1 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +1 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +2 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/Select/Item/Item.js +2 -1
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +1 -0
- package/components/Select/Select/Select.js +1 -1
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +1 -0
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +1 -0
- package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +1 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +1 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +1 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +1 -0
- package/components/Spinner/Spinner/Spinner.js +1 -1
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +1 -0
- package/components/Sticky/Sticky/Sticky.js +1 -1
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +1 -0
- package/components/Switcher/Switcher/Switcher.js +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +1 -0
- package/components/Tabs/Tab/Tab.js +1 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +1 -0
- package/components/Tabs/Tabs/Tabs.js +1 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +1 -0
- package/components/Textarea/Textarea/Textarea.js +1 -1
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +1 -0
- package/components/Toast/Toast/Toast.js +1 -1
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +1 -0
- package/components/Toggle/Toggle/Toggle.js +1 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +1 -0
- package/components/Token/Token/Token.js +1 -1
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +1 -0
- package/components/TokenInput/TokenInput/TokenInput.js +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +1 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +1 -0
- package/components/Tooltip/Tooltip/Tooltip.js +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +1 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +1 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +1 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +1 -1
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +1 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +1 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +1 -0
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +1 -0
- package/internal/Menu/Menu/Menu.js +1 -1
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +1 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
- package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
- package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
- package/internal/Popup/Popup/Popup.js +1 -1
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -0
- package/internal/Popup/PopupPin/PopupPin.js +1 -0
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +1 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +1 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +1 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +1 -0
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +1 -0
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
- package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/internal/ZIndex/ZIndex/ZIndex.js +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +1 -0
- package/internal/icons/20px/Icon/Icon.js +1 -0
- package/internal/icons/20px/Icon/Icon.js.map +1 -1
- package/internal/icons/20px/Icon.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Tooltip.tsx"],"names":["React","warning","isEqual","globalObject","isNullable","ThemeFactory","DefaultPosition","Popup","RenderLayer","CrossIcon","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","isTheme2022","CloseButtonIcon","isInstanceOf","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","Positions","Tooltip","getProps","defaultProps","state","opened","focused","contentElement","positions","clickedOutside","popupRef","createRef","renderContent","props","render","refContent","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","popupBackground","tooltipBg","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","parseInt","tooltipCloseBtnSide","tooltipCloseBtnColor","tooltipCloseBtnHoverColor","cross","show","hide","getPopupAndLayerProps","popupProps","layerProps","active","children","popup","renderPopup","disableAnimations","setRootNode","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos?: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger?: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions?: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations?: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n\n /**\n * Задержка перед появлением тултипа в миллисекундах\n * Значение по умолчанию: `100`\n */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'pos' | 'trigger' | 'allowedPositions' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps: DefaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n public componentDidUpdate(prevProps: TooltipProps) {\n const { trigger, allowedPositions, pos } = this.getProps();\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n popupBackground: theme.tooltipBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)} data-tid={TooltipDataTids.content}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = isTheme2022(this.theme) ? (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n ) : (\n <CrossIcon />\n );\n\n return (\n <div\n className={styles.cross(this.theme)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const { allowedPositions, pos } = this.getProps();\n const index = allowedPositions.indexOf(pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n globalObject.clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = globalObject.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Tooltip.tsx"],"names":["React","warning","isEqual","globalObject","isNullable","ThemeFactory","DefaultPosition","Popup","RenderLayer","CrossIcon","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","isTheme2022","CloseButtonIcon","isInstanceOf","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","Positions","Tooltip","getProps","defaultProps","state","opened","focused","contentElement","positions","clickedOutside","popupRef","createRef","renderContent","props","render","refContent","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","popupBackground","tooltipBg","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","parseInt","tooltipCloseBtnSide","tooltipCloseBtnColor","tooltipCloseBtnHoverColor","cross","show","hide","getPopupAndLayerProps","popupProps","layerProps","active","children","popup","renderPopup","disableAnimations","setRootNode","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","propName","componentName","Array","isArray"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos?: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger?: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions?: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations?: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n\n /**\n * Задержка перед появлением тултипа в миллисекундах\n * Значение по умолчанию: `100`\n */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'pos' | 'trigger' | 'allowedPositions' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps: DefaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n public componentDidUpdate(prevProps: TooltipProps) {\n const { trigger, allowedPositions, pos } = this.getProps();\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n popupBackground: theme.tooltipBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)} data-tid={TooltipDataTids.content}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = isTheme2022(this.theme) ? (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n ) : (\n <CrossIcon />\n );\n\n return (\n <div\n className={styles.cross(this.theme)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const { allowedPositions, pos } = this.getProps();\n const index = allowedPositions.indexOf(pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n globalObject.clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = globalObject.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n}\n"]}
|
|
@@ -115,6 +115,7 @@ export declare const TooltipDataTids: {
|
|
|
115
115
|
declare type DefaultProps = Required<Pick<TooltipProps, 'pos' | 'trigger' | 'allowedPositions' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;
|
|
116
116
|
export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {
|
|
117
117
|
static __KONTUR_REACT_UI__: string;
|
|
118
|
+
static displayName: string;
|
|
118
119
|
static propTypes: {
|
|
119
120
|
children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
|
|
120
121
|
};
|
|
@@ -87,6 +87,6 @@ var TooltipMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_R
|
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
return TooltipMenu;
|
|
90
|
-
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'TooltipMenu', _class2.defaultProps = {
|
|
90
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'TooltipMenu', _class2.displayName = 'TooltipMenu', _class2.defaultProps = {
|
|
91
91
|
disableAnimations: isTestEnv
|
|
92
92
|
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TooltipMenu.tsx"],"names":["React","ThemeFactory","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","TooltipMenuDataTids","root","TooltipMenu","props","getProps","defaultProps","caption","Error","render","theme","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","disableAnimations","setRootNode","menuMaxHeight","menuWidth","header","footer","preventIconsOffset","positions","onOpen","onClose","children","Component","__KONTUR_REACT_UI__"],"mappings":"2JAAA,OAAOA,KAAP,MAAsC,OAAtC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,SAAT,QAA0C,0BAA1C;;AAEA,SAASC,eAAT,EAA0BC,SAA1B,QAA2C,8BAA3C;;;AAGA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,OAAO,IAAMC,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B;;;;;;;;;;;;;;;;;AAkBP,OAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEA,IAAaC,WAAb,GADCJ,QACD,
|
|
1
|
+
{"version":3,"sources":["TooltipMenu.tsx"],"names":["React","ThemeFactory","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","TooltipMenuDataTids","root","TooltipMenu","props","getProps","defaultProps","caption","Error","render","theme","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","disableAnimations","setRootNode","menuMaxHeight","menuWidth","header","footer","preventIconsOffset","positions","onOpen","onClose","children","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [MenuHeader](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [MenuSeparator](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPositionsType[];\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n public static displayName = 'TooltipMenu';\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n const { disableAnimations } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
|
|
@@ -59,6 +59,7 @@ declare type DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>
|
|
|
59
59
|
*/
|
|
60
60
|
export declare class TooltipMenu extends React.Component<TooltipMenuProps> {
|
|
61
61
|
static __KONTUR_REACT_UI__: string;
|
|
62
|
+
static displayName: string;
|
|
62
63
|
private setRootNode;
|
|
63
64
|
static defaultProps: DefaultProps;
|
|
64
65
|
private getProps;
|
|
@@ -209,7 +209,7 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
|
|
|
209
209
|
};
|
|
210
210
|
|
|
211
211
|
return ComboBoxMenu;
|
|
212
|
-
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBoxMenu', _class2.defaultProps = {
|
|
212
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBoxMenu', _class2.displayName = 'ComboBoxMenu', _class2.defaultProps = {
|
|
213
213
|
repeatRequest: function repeatRequest() {
|
|
214
214
|
return undefined;
|
|
215
215
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComboBoxMenu.tsx"],"names":["React","isFunction","isNullable","locale","Menu","isMenuItem","MenuItem","Spinner","MenuSeparator","createPropsGetter","MenuMessage","ThemeContext","MenuFooter","ComboBoxRequestStatus","CustomComboBoxLocaleHelper","ComboBoxMenuDataTids","loading","failed","notFound","items","item","ComboBoxMenu","getProps","defaultProps","renderItem","index","props","onValueChange","itemWrapper","isSimpleItem","element","Object","assign","key","onClick","cloneElement","size","isMobile","state","render","theme","renderMain","opened","totalCount","refMenu","renderNotFound","renderTotalCount","maxMenuHeight","requestStatus","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","menuId","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","menuItems","filter","countItems","Component","__KONTUR_REACT_UI__","undefined","Unknown","isValidElement"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { isMenuItem, MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { MenuMessage } from '../MenuMessage';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { MenuFooter } from '../../components/MenuFooter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n menuId?: string;\n size?: SizeProp;\n}\n\nexport const ComboBoxMenuDataTids = {\n loading: 'ComboBoxMenu__loading',\n failed: 'ComboBoxMenu__failed',\n notFound: 'ComboBoxMenu__notFound',\n items: 'ComboBoxMenu__items',\n item: 'ComboBoxMenu__item',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n\n public static defaultProps: DefaultProps<unknown> = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private getProps = createPropsGetter(ComboBoxMenu.defaultProps);\n\n private readonly locale!: ComboBoxLocale;\n\n private theme!: Theme;\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n isMobile,\n } = this.props;\n\n const requestStatus = this.getProps().requestStatus;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu\n maxHeight={maxHeight}\n ref={refMenu}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.loading}\n >\n <MenuMessage size={this.props.size} as=\"div\">\n <Spinner type=\"mini\" dimmed />\n </MenuMessage>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.failed}\n >\n <MenuMessage size={this.props.size} key=\"message\">\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuMessage>\n <MenuItem link onClick={this.getProps().repeatRequest} size={this.props.size} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuMessage size={this.props.size} data-tid={ComboBoxMenuDataTids.notFound}>\n {notFoundValue}\n </MenuMessage>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n const menuItems = renderedItems?.filter((item) => {\n return isMenuItem(item);\n });\n const countItems = menuItems?.length;\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuFooter size={this.props.size} key=\"total\">\n <div>{renderTotalCount(countItems, totalCount)}</div>\n </MenuFooter>\n );\n }\n\n return (\n <Menu\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.items}\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n >\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: ComboBoxExtendedItem<T>, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange, itemWrapper } = this.props;\n\n if (!isSimpleItem<T>(item)) {\n const element = isFunction(item) ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n component={itemWrapper?.(item)}\n data-tid={ComboBoxMenuDataTids.item}\n onClick={() => onValueChange(item)}\n key={index}\n size={this.props.size}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n\nfunction isSimpleItem<T>(item: ComboBoxExtendedItem<T>): item is T {\n return !isFunction(item) && !React.isValidElement(item);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ComboBoxMenu.tsx"],"names":["React","isFunction","isNullable","locale","Menu","isMenuItem","MenuItem","Spinner","MenuSeparator","createPropsGetter","MenuMessage","ThemeContext","MenuFooter","ComboBoxRequestStatus","CustomComboBoxLocaleHelper","ComboBoxMenuDataTids","loading","failed","notFound","items","item","ComboBoxMenu","getProps","defaultProps","renderItem","index","props","onValueChange","itemWrapper","isSimpleItem","element","Object","assign","key","onClick","cloneElement","size","isMobile","state","render","theme","renderMain","opened","totalCount","refMenu","renderNotFound","renderTotalCount","maxMenuHeight","requestStatus","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","menuId","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","menuItems","filter","countItems","Component","__KONTUR_REACT_UI__","displayName","undefined","Unknown","isValidElement"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { isMenuItem, MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { MenuMessage } from '../MenuMessage';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { MenuFooter } from '../../components/MenuFooter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n menuId?: string;\n size?: SizeProp;\n}\n\nexport const ComboBoxMenuDataTids = {\n loading: 'ComboBoxMenu__loading',\n failed: 'ComboBoxMenu__failed',\n notFound: 'ComboBoxMenu__notFound',\n items: 'ComboBoxMenu__items',\n item: 'ComboBoxMenu__item',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n public static displayName = 'ComboBoxMenu';\n\n public static defaultProps: DefaultProps<unknown> = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private getProps = createPropsGetter(ComboBoxMenu.defaultProps);\n\n private readonly locale!: ComboBoxLocale;\n\n private theme!: Theme;\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n isMobile,\n } = this.props;\n\n const requestStatus = this.getProps().requestStatus;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu\n maxHeight={maxHeight}\n ref={refMenu}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.loading}\n >\n <MenuMessage size={this.props.size} as=\"div\">\n <Spinner type=\"mini\" dimmed />\n </MenuMessage>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.failed}\n >\n <MenuMessage size={this.props.size} key=\"message\">\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuMessage>\n <MenuItem link onClick={this.getProps().repeatRequest} size={this.props.size} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuMessage size={this.props.size} data-tid={ComboBoxMenuDataTids.notFound}>\n {notFoundValue}\n </MenuMessage>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n const menuItems = renderedItems?.filter((item) => {\n return isMenuItem(item);\n });\n const countItems = menuItems?.length;\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuFooter size={this.props.size} key=\"total\">\n <div>{renderTotalCount(countItems, totalCount)}</div>\n </MenuFooter>\n );\n }\n\n return (\n <Menu\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.items}\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n >\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: ComboBoxExtendedItem<T>, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange, itemWrapper } = this.props;\n\n if (!isSimpleItem<T>(item)) {\n const element = isFunction(item) ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n component={itemWrapper?.(item)}\n data-tid={ComboBoxMenuDataTids.item}\n onClick={() => onValueChange(item)}\n key={index}\n size={this.props.size}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n\nfunction isSimpleItem<T>(item: ComboBoxExtendedItem<T>): item is T {\n return !isFunction(item) && !React.isValidElement(item);\n}\n"]}
|
|
@@ -35,6 +35,7 @@ export declare const ComboBoxMenuDataTids: {
|
|
|
35
35
|
declare type DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;
|
|
36
36
|
export declare class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {
|
|
37
37
|
static __KONTUR_REACT_UI__: string;
|
|
38
|
+
static displayName: string;
|
|
38
39
|
static defaultProps: DefaultProps<unknown>;
|
|
39
40
|
private getProps;
|
|
40
41
|
private readonly locale;
|
|
@@ -353,7 +353,7 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_temp = _
|
|
|
353
353
|
};
|
|
354
354
|
|
|
355
355
|
return ComboBoxView;
|
|
356
|
-
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBoxView', _class2.defaultProps = {
|
|
356
|
+
}(React.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBoxView', _class2.displayName = 'ComboBoxView', _class2.defaultProps = {
|
|
357
357
|
renderItem: function renderItem(item) {
|
|
358
358
|
return item;
|
|
359
359
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComboBoxView.tsx"],"names":["React","getRandomID","isNonNullable","DropdownContainer","Input","InputLikeText","RenderLayer","Spinner","ArrowChevronDownIcon","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","createPropsGetter","isTheme2022","ThemeContext","LoadingIcon","ArrowDownIcon","ComboBoxMenu","ComboBoxRequestStatus","styles","CustomComboBoxDataTids","getComboBoxTheme","ComboBoxViewIds","menu","ComboBoxView","getProps","defaultProps","mobileInput","dropdownContainerRef","createRef","menuId","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","size","repeatRequest","requestStatus","renderItem","itemWrapper","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","menuPos","getParent","disablePortal","renderMobileMenu","rightIcon","onFocus","onInputValueChange","placeholder","textValue","length","renderSpinner","inputProps","autoFocus","width","onValueChange","value","refMobileInput","onMobileClose","handleMobileFocus","onInputClick","focus","item","refInput","input","spinnerWrapper","getRightIcon","drawArrow","theme","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onClickOutside","onFocusOutside","isMobile","renderInput","comboBoxView","root","setRootNode","align","borderless","disabled","error","onInputBlur","onInputFocus","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","ariaDescribedby","ariaLabel","renderValue","maxLength","undefined","Component","__KONTUR_REACT_UI__","Unknown"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { DropdownContainer, DropdownContainerProps } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { LoadingIcon } from '../icons2022/LoadingIcon';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\nimport { getComboBoxTheme } from './getComboBoxTheme';\n\ninterface ComboBoxViewProps<T>\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n};\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n private theme!: Theme;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount, size } =\n this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={size}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened, menuPos } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n menuPos={menuPos}\n align={menuAlign}\n getParent={this.getParent}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n value: textValue,\n placeholder,\n rightIcon,\n };\n\n return (\n opened && (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n onCloseRequest={this.props.onMobileClose}\n opened\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n size,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { renderValue } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={onInputFocus}\n onClick={isMobile ? this.handleMobileFocus : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n aria-label={ariaLabel}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon, size } = this.props;\n\n if (loading && items && !!items.length) {\n if (isTheme2022(this.theme)) {\n return <LoadingIcon size={size} />;\n }\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n if (isTheme2022(this.theme)) {\n return rightIcon || <ArrowDownIcon size={size} />;\n }\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ComboBoxView.tsx"],"names":["React","getRandomID","isNonNullable","DropdownContainer","Input","InputLikeText","RenderLayer","Spinner","ArrowChevronDownIcon","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","createPropsGetter","isTheme2022","ThemeContext","LoadingIcon","ArrowDownIcon","ComboBoxMenu","ComboBoxRequestStatus","styles","CustomComboBoxDataTids","getComboBoxTheme","ComboBoxViewIds","menu","ComboBoxView","getProps","defaultProps","mobileInput","dropdownContainerRef","createRef","menuId","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","size","repeatRequest","requestStatus","renderItem","itemWrapper","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","menuPos","getParent","disablePortal","renderMobileMenu","rightIcon","onFocus","onInputValueChange","placeholder","textValue","length","renderSpinner","inputProps","autoFocus","width","onValueChange","value","refMobileInput","onMobileClose","handleMobileFocus","onInputClick","focus","item","refInput","input","spinnerWrapper","getRightIcon","drawArrow","theme","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onClickOutside","onFocusOutside","isMobile","renderInput","comboBoxView","root","setRootNode","align","borderless","disabled","error","onInputBlur","onInputFocus","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","ariaDescribedby","ariaLabel","renderValue","maxLength","undefined","Component","__KONTUR_REACT_UI__","displayName","Unknown"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { DropdownContainer, DropdownContainerProps } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { LoadingIcon } from '../icons2022/LoadingIcon';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\nimport { getComboBoxTheme } from './getComboBoxTheme';\n\ninterface ComboBoxViewProps<T>\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n};\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n private theme!: Theme;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount, size } =\n this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={size}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened, menuPos } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n menuPos={menuPos}\n align={menuAlign}\n getParent={this.getParent}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n value: textValue,\n placeholder,\n rightIcon,\n };\n\n return (\n opened && (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n onCloseRequest={this.props.onMobileClose}\n opened\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n size,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { renderValue } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={onInputFocus}\n onClick={isMobile ? this.handleMobileFocus : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n aria-label={ariaLabel}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon, size } = this.props;\n\n if (loading && items && !!items.length) {\n if (isTheme2022(this.theme)) {\n return <LoadingIcon size={size} />;\n }\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n if (isTheme2022(this.theme)) {\n return rightIcon || <ArrowDownIcon size={size} />;\n }\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
|
|
@@ -71,6 +71,7 @@ export declare const ComboBoxViewIds: {
|
|
|
71
71
|
};
|
|
72
72
|
export declare class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>> {
|
|
73
73
|
static __KONTUR_REACT_UI__: string;
|
|
74
|
+
static displayName: string;
|
|
74
75
|
static defaultProps: DefaultProps<unknown>;
|
|
75
76
|
private getProps;
|
|
76
77
|
private input;
|
|
@@ -469,4 +469,4 @@ export var CustomComboBox = responsiveLayout(_class = rootNode(_class = (_temp =
|
|
|
469
469
|
};
|
|
470
470
|
|
|
471
471
|
return CustomComboBox;
|
|
472
|
-
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CustomComboBox', _temp)) || _class) || _class;
|
|
472
|
+
}(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CustomComboBox', _class2.displayName = 'CustomComboBox', _temp)) || _class) || _class;
|