@skbkontur/react-ui 6.4.3-5e1c3.0 → 6.4.3-82331.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/components/Autocomplete/Autocomplete.css.d.ts +5 -0
- package/components/Autocomplete/Autocomplete.css.js +5 -0
- package/components/Autocomplete/Autocomplete.css.js.map +1 -0
- package/components/Autocomplete/Autocomplete.js +1 -1
- package/components/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/getAutocompleteTheme.d.ts +1 -2
- package/components/Autocomplete/getAutocompleteTheme.js +3 -2
- package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
- package/components/Button/Button.css.d.ts +94 -0
- package/components/Button/Button.css.js +78 -0
- package/components/Button/Button.css.js.map +1 -0
- package/components/Button/Button.js +5 -4
- package/components/Button/Button.js.map +1 -1
- package/components/Button/ButtonArrow.d.ts +2 -2
- package/components/Button/ButtonArrow.js +1 -1
- package/components/Button/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon.css.d.ts +16 -0
- package/components/Button/ButtonIcon.css.js +16 -0
- package/components/Button/ButtonIcon.css.js.map +1 -0
- package/components/Button/ButtonIcon.js +1 -1
- package/components/Button/ButtonIcon.js.map +1 -1
- package/components/Button/LoadingButtonIcon.js +1 -1
- package/components/Button/LoadingButtonIcon.js.map +1 -1
- package/components/Button/getInnerLinkTheme.d.ts +1 -2
- package/components/Button/getInnerLinkTheme.js +3 -2
- package/components/Button/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar.css.d.ts +6 -0
- package/components/Calendar/Calendar.css.js +6 -0
- package/components/Calendar/Calendar.css.js.map +1 -0
- package/components/Calendar/Calendar.js +1 -1
- package/components/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/CalendarDay.js +1 -1
- package/components/Calendar/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView.css.d.ts +9 -0
- package/components/Calendar/DayCellView.css.js +9 -0
- package/components/Calendar/DayCellView.css.js.map +1 -0
- package/components/Calendar/DayCellView.js +1 -1
- package/components/Calendar/DayCellView.js.map +1 -1
- package/components/Calendar/Month.js +2 -2
- package/components/Calendar/Month.js.map +1 -1
- package/components/Calendar/MonthView.css.d.ts +12 -0
- package/components/Calendar/MonthView.css.js +12 -0
- package/components/Calendar/MonthView.css.js.map +1 -0
- package/components/Calendar/MonthView.js +1 -1
- package/components/Calendar/MonthView.js.map +1 -1
- package/components/Center/Center.css.d.ts +8 -0
- package/components/Center/Center.css.js +8 -0
- package/components/Center/Center.css.js.map +1 -0
- package/components/Center/Center.js +1 -1
- package/components/Center/Center.js.map +1 -1
- package/components/Checkbox/Checkbox.css.d.ts +35 -0
- package/components/Checkbox/Checkbox.css.js +33 -0
- package/components/Checkbox/Checkbox.css.js.map +1 -0
- package/components/Checkbox/Checkbox.js +1 -1
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.d.ts +19 -4
- package/components/Checkbox/Checkbox.mixins.js +16 -15
- package/components/Checkbox/Checkbox.mixins.js.map +1 -1
- package/components/DateInput/DateFragmentsView.css.d.ts +7 -0
- package/components/DateInput/DateFragmentsView.css.js +7 -0
- package/components/DateInput/DateFragmentsView.css.js.map +1 -0
- package/components/DateInput/DateFragmentsView.js +1 -1
- package/components/DateInput/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput.css.d.ts +10 -0
- package/components/DateInput/DateInput.css.js +10 -0
- package/components/DateInput/DateInput.css.js.map +1 -0
- package/components/DateInput/DateInput.js +1 -1
- package/components/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker.css.d.ts +5 -0
- package/components/DatePicker/DatePicker.css.js +5 -0
- package/components/DatePicker/DatePicker.css.js.map +1 -0
- package/components/DatePicker/DatePicker.js +6 -2
- package/components/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/MobilePicker.css.d.ts +4 -0
- package/components/DatePicker/MobilePicker.css.js +4 -0
- package/components/DatePicker/MobilePicker.css.js.map +1 -0
- package/components/DatePicker/MobilePicker.js +1 -1
- package/components/DatePicker/MobilePicker.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme.d.ts +1 -2
- package/components/DatePicker/getMobilePickerTheme.js +3 -2
- package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.css.d.ts +19 -0
- package/components/DateRangePicker/DateRangePicker.css.js +19 -0
- package/components/DateRangePicker/DateRangePicker.css.js.map +1 -0
- package/components/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/components/DateRangePicker/DateRangePicker.js +32 -28
- package/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerTheme.d.ts +2 -3
- package/components/DateRangePicker/DateRangePickerTheme.js +5 -4
- package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
- package/components/Dropdown/getDropdownTheme.d.ts +1 -2
- package/components/Dropdown/getDropdownTheme.js +3 -2
- package/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/components/DropdownMenu/getDropdownMenuTheme.d.ts +1 -2
- package/components/DropdownMenu/getDropdownMenuTheme.js +3 -2
- package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
- package/components/FileUploader/FileUploader.css.d.ts +72 -0
- package/components/FileUploader/FileUploader.css.js +66 -0
- package/components/FileUploader/FileUploader.css.js.map +1 -0
- package/components/FileUploader/FileUploader.js +1 -1
- package/components/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.mixins.d.ts +6 -1
- package/components/FileUploader/FileUploader.mixins.js +6 -1
- package/components/FileUploader/FileUploader.mixins.js.map +1 -1
- package/components/FileUploader/FileUploaderFile.css.d.ts +61 -0
- package/components/FileUploader/FileUploaderFile.css.js +57 -0
- package/components/FileUploader/FileUploaderFile.css.js.map +1 -0
- package/components/FileUploader/FileUploaderFile.js +1 -1
- package/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.d.ts +36 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +32 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +1 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +1 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/components/FileUploader/FileUploaderFileStatusIcon.js +1 -1
- package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.css.d.ts +17 -0
- package/components/GlobalLoader/GlobalLoaderView.css.js +15 -0
- package/components/GlobalLoader/GlobalLoaderView.css.js.map +1 -0
- package/components/GlobalLoader/GlobalLoaderView.js +13 -7
- package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/components/Group/Group.css.d.ts +9 -0
- package/components/Group/Group.css.js +9 -0
- package/components/Group/Group.css.js.map +1 -0
- package/components/Group/Group.js +1 -1
- package/components/Group/Group.js.map +1 -1
- package/components/Hint/Hint.css.d.ts +5 -0
- package/components/Hint/Hint.css.js +5 -0
- package/components/Hint/Hint.css.js.map +1 -0
- package/components/Hint/Hint.js +6 -6
- package/components/Hint/Hint.js.map +1 -1
- package/components/Input/Input.css.d.ts +56 -0
- package/components/Input/Input.css.js +23 -0
- package/components/Input/Input.css.js.map +1 -0
- package/components/Input/Input.js +1 -1
- package/components/Input/Input.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.css.d.ts +18 -0
- package/components/Input/InputLayout/InputLayout.css.js +19 -0
- package/components/Input/InputLayout/InputLayout.css.js.map +1 -0
- package/components/Input/InputLayout/InputLayout.js +1 -1
- package/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside.js +1 -1
- package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideCounter.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
- package/components/Kebab/Kebab.css.d.ts +11 -0
- package/components/Kebab/Kebab.css.js +11 -0
- package/components/Kebab/Kebab.css.js.map +1 -0
- package/components/Kebab/Kebab.js +4 -4
- package/components/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link.css.d.ts +23 -0
- package/components/Link/Link.css.js +23 -0
- package/components/Link/Link.css.js.map +1 -0
- package/components/Link/Link.js +5 -4
- package/components/Link/Link.js.map +1 -1
- package/components/Link/LinkIcon.js +1 -1
- package/components/Link/LinkIcon.js.map +1 -1
- package/components/Loader/Loader.css.d.ts +8 -0
- package/components/Loader/Loader.css.js +8 -0
- package/components/Loader/Loader.css.js.map +1 -0
- package/components/Loader/Loader.js +1 -1
- package/components/Loader/Loader.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +7 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +5 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +1 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/MaskedInput.css.d.ts +7 -0
- package/components/MaskedInput/MaskedInput.css.js +5 -0
- package/components/MaskedInput/MaskedInput.css.js.map +1 -0
- package/components/MaskedInput/MaskedInputLegacy.js +1 -1
- package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
- package/components/MaskedInputV2/MaskedInputV2.css.d.ts +7 -0
- package/components/MaskedInputV2/MaskedInputV2.css.js +5 -0
- package/components/MaskedInputV2/MaskedInputV2.css.js.map +1 -0
- package/components/MaskedInputV2/MaskedInputV2.js +1 -1
- package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskOverlay.js +3 -3
- package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedCore.js +3 -3
- package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedInternal.css.d.ts +15 -0
- package/components/MaskedInputV2/internal/MaskedInternal.css.js +9 -0
- package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +1 -0
- package/components/MenuFooter/MenuFooter.css.d.ts +10 -0
- package/components/MenuFooter/MenuFooter.css.js +10 -0
- package/components/MenuFooter/MenuFooter.css.js.map +1 -0
- package/components/MenuFooter/MenuFooter.js +2 -2
- package/components/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.mixins.d.ts +8 -2
- package/components/MenuFooter/MenuFooter.mixins.js +8 -4
- package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
- package/components/MenuHeader/MenuHeader.css.d.ts +10 -0
- package/components/MenuHeader/MenuHeader.css.js +10 -0
- package/components/MenuHeader/MenuHeader.css.js.map +1 -0
- package/components/MenuHeader/MenuHeader.js +2 -2
- package/components/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.mixins.d.ts +8 -2
- package/components/MenuHeader/MenuHeader.mixins.js +8 -4
- package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
- package/components/MenuItem/MenuItem.css.d.ts +27 -0
- package/components/MenuItem/MenuItem.css.js +27 -0
- package/components/MenuItem/MenuItem.css.js.map +1 -0
- package/components/MenuItem/MenuItem.js +4 -10
- package/components/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.mixins.d.ts +12 -4
- package/components/MenuItem/MenuItem.mixins.js +12 -19
- package/components/MenuItem/MenuItem.mixins.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.css.d.ts +5 -0
- package/components/MenuSeparator/MenuSeparator.css.js +5 -0
- package/components/MenuSeparator/MenuSeparator.css.js.map +1 -0
- package/components/MenuSeparator/MenuSeparator.js +5 -7
- package/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MiniModal/MiniModal.css.d.ts +10 -0
- package/components/MiniModal/MiniModal.css.js +11 -0
- package/components/MiniModal/MiniModal.css.js.map +1 -0
- package/components/MiniModal/MiniModalBody.js +1 -1
- package/components/MiniModal/MiniModalBody.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.js +1 -1
- package/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.js +1 -1
- package/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalIndent.js +1 -1
- package/components/MiniModal/MiniModalIndent.js.map +1 -1
- package/components/MiniModal/getMiniModalTheme.d.ts +1 -2
- package/components/MiniModal/getMiniModalTheme.js +3 -2
- package/components/MiniModal/getMiniModalTheme.js.map +1 -1
- package/components/Modal/Modal.css.d.ts +55 -0
- package/components/Modal/Modal.css.js +52 -0
- package/components/Modal/Modal.css.js.map +1 -0
- package/components/Modal/Modal.js +1 -1
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody.js +1 -1
- package/components/Modal/ModalBody.js.map +1 -1
- package/components/Modal/ModalClose.js +11 -13
- package/components/Modal/ModalClose.js.map +1 -1
- package/components/Modal/ModalFooter.js +1 -1
- package/components/Modal/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator.js +1 -1
- package/components/Modal/ModalSeparator.js.map +1 -1
- package/components/Modal/getModalBodyTheme.d.ts +1 -2
- package/components/Modal/getModalBodyTheme.js +3 -2
- package/components/Modal/getModalBodyTheme.js.map +1 -1
- package/components/Modal/getModalTheme.d.ts +1 -2
- package/components/Modal/getModalTheme.js +3 -2
- package/components/Modal/getModalTheme.js.map +1 -1
- package/components/Paging/Paging.css.d.ts +32 -0
- package/components/Paging/Paging.css.js +32 -0
- package/components/Paging/Paging.css.js.map +1 -0
- package/components/Paging/Paging.js +1 -1
- package/components/Paging/Paging.js.map +1 -1
- package/components/PasswordInput/PasswordInput.css.d.ts +11 -0
- package/components/PasswordInput/PasswordInput.css.js +11 -0
- package/components/PasswordInput/PasswordInput.css.js.map +1 -0
- package/components/PasswordInput/PasswordInput.js +1 -1
- package/components/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio.css.d.ts +34 -0
- package/components/Radio/Radio.css.js +32 -0
- package/components/Radio/Radio.css.js.map +1 -0
- package/components/Radio/Radio.js +1 -1
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mixins.d.ts +39 -7
- package/components/Radio/Radio.mixins.js +37 -23
- package/components/Radio/Radio.mixins.js.map +1 -1
- package/components/RadioGroup/RadioGroup.css.d.ts +7 -0
- package/components/RadioGroup/RadioGroup.css.js +7 -0
- package/components/RadioGroup/RadioGroup.css.js.map +1 -0
- package/components/RadioGroup/RadioGroup.js +1 -1
- package/components/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.js +1 -1
- package/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.css.d.ts +21 -0
- package/components/ScrollContainer/ScrollContainer.css.js +15 -0
- package/components/ScrollContainer/ScrollContainer.css.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.js +1 -1
- package/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/Select/Select.css.d.ts +17 -0
- package/components/Select/Select.css.js +17 -0
- package/components/Select/Select.css.js.map +1 -0
- package/components/Select/Select.js +8 -6
- package/components/Select/Select.js.map +1 -1
- package/components/Select/selectTheme.d.ts +1 -3
- package/components/Select/selectTheme.js +8 -7
- package/components/Select/selectTheme.js.map +1 -1
- package/components/SidePage/SidePage.css.d.ts +50 -0
- package/components/SidePage/SidePage.css.js +50 -0
- package/components/SidePage/SidePage.css.js.map +1 -0
- package/components/SidePage/SidePage.js +1 -1
- package/components/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageBody.js +1 -1
- package/components/SidePage/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.js +1 -1
- package/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageContainer.js +1 -1
- package/components/SidePage/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageFooter.js +1 -1
- package/components/SidePage/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader.js +1 -1
- package/components/SidePage/SidePageHeader.js.map +1 -1
- package/components/Spinner/Spinner.css.d.ts +13 -0
- package/components/Spinner/Spinner.css.js +13 -0
- package/components/Spinner/Spinner.css.js.map +1 -0
- package/components/Spinner/Spinner.js +1 -1
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Sticky/Sticky.css.d.ts +8 -0
- package/components/Sticky/Sticky.css.js +8 -0
- package/components/Sticky/Sticky.css.js.map +1 -0
- package/components/Sticky/Sticky.js +1 -1
- package/components/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher.css.d.ts +12 -0
- package/components/Switcher/Switcher.css.js +12 -0
- package/components/Switcher/Switcher.css.js.map +1 -0
- package/components/Switcher/Switcher.js +1 -1
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/switcherTheme.d.ts +1 -2
- package/components/Switcher/switcherTheme.js +3 -2
- package/components/Switcher/switcherTheme.js.map +1 -1
- package/components/Tabs/Indicator.css.d.ts +8 -0
- package/components/Tabs/Indicator.css.js +8 -0
- package/components/Tabs/Indicator.css.js.map +1 -0
- package/components/Tabs/Indicator.js +1 -1
- package/components/Tabs/Indicator.js.map +1 -1
- package/components/Tabs/Tab.css.d.ts +35 -0
- package/components/Tabs/Tab.css.js +29 -0
- package/components/Tabs/Tab.css.js.map +1 -0
- package/components/Tabs/Tab.d.ts +4 -16
- package/components/Tabs/Tab.js +1 -1
- package/components/Tabs/Tab.js.map +1 -1
- package/components/Tabs/Tabs.css.d.ts +7 -0
- package/components/Tabs/Tabs.css.js +7 -0
- package/components/Tabs/Tabs.css.js.map +1 -0
- package/components/Tabs/Tabs.js +1 -1
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea.css.d.ts +23 -0
- package/components/Textarea/Textarea.css.js +23 -0
- package/components/Textarea/Textarea.css.js.map +1 -0
- package/components/Textarea/Textarea.js +1 -1
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.mixins.d.ts +8 -2
- package/components/Textarea/Textarea.mixins.js +8 -6
- package/components/Textarea/Textarea.mixins.js.map +1 -1
- package/components/Textarea/TextareaCounter.js +1 -1
- package/components/Textarea/TextareaCounter.js.map +1 -1
- package/components/TimePicker/TimePicker.css.d.ts +11 -0
- package/components/TimePicker/TimePicker.css.js +11 -0
- package/components/TimePicker/TimePicker.css.js.map +1 -0
- package/components/TimePicker/TimePicker.js +3 -3
- package/components/TimePicker/TimePicker.js.map +1 -1
- package/components/TimePicker/TimePickerItems.js +1 -1
- package/components/TimePicker/TimePickerItems.js.map +1 -1
- package/components/TimePicker/TimePickerPopup.js +1 -1
- package/components/TimePicker/TimePickerPopup.js.map +1 -1
- package/components/TimePicker/helpers/TimePicker.constants.d.ts +1 -0
- package/components/TimePicker/helpers/TimePicker.constants.js +3 -0
- package/components/TimePicker/helpers/TimePicker.constants.js.map +1 -1
- package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -1
- package/components/TimePicker/helpers/TimePicker.value.js +0 -5
- package/components/TimePicker/helpers/TimePicker.value.js.map +1 -1
- package/components/Toast/Toast.css.d.ts +7 -0
- package/components/Toast/Toast.css.js +7 -0
- package/components/Toast/Toast.css.js.map +1 -0
- package/components/Toast/Toast.js +3 -3
- package/components/Toast/Toast.js.map +1 -1
- package/components/Toast/ToastView.css.d.ts +17 -0
- package/components/Toast/ToastView.css.js +17 -0
- package/components/Toast/ToastView.css.js.map +1 -0
- package/components/Toast/ToastView.js +1 -1
- package/components/Toast/ToastView.js.map +1 -1
- package/components/Toggle/Toggle.css.d.ts +50 -0
- package/components/Toggle/Toggle.css.js +49 -0
- package/components/Toggle/Toggle.css.js.map +1 -0
- package/components/Toggle/Toggle.js +1 -1
- package/components/Toggle/Toggle.js.map +1 -1
- package/components/Token/Token.css.d.ts +23 -0
- package/components/Token/Token.css.js +21 -0
- package/components/Token/Token.css.js.map +1 -0
- package/components/Token/Token.js +1 -1
- package/components/Token/Token.js.map +1 -1
- package/components/Token/Token.mixins.d.ts +6 -1
- package/components/Token/Token.mixins.js +6 -3
- package/components/Token/Token.mixins.js.map +1 -1
- package/components/Token/TokenView.js +1 -1
- package/components/Token/TokenView.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.js +1 -1
- package/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput.css.d.ts +21 -0
- package/components/TokenInput/TokenInput.css.js +22 -0
- package/components/TokenInput/TokenInput.css.js.map +1 -0
- package/components/TokenInput/TokenInput.js +1 -1
- package/components/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.mixins.d.ts +8 -2
- package/components/TokenInput/TokenInput.mixins.js +8 -6
- package/components/TokenInput/TokenInput.mixins.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.js +5 -3
- package/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip.css.d.ts +11 -0
- package/components/Tooltip/Tooltip.css.js +11 -0
- package/components/Tooltip/Tooltip.css.js.map +1 -0
- package/components/Tooltip/Tooltip.js +17 -10
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.js +10 -6
- package/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.css.d.ts +11 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.css.js +11 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.css.d.ts +9 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.css.js +9 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +1 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.js +13 -8
- package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +6 -1
- package/internal/CommonWrapper/CommonWrapper.js +28 -4
- package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.js +2 -2
- package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.css.d.ts +5 -0
- package/internal/CustomComboBox/CustomComboBox.css.js +5 -0
- package/internal/CustomComboBox/CustomComboBox.css.js.map +1 -0
- package/internal/CustomComboBox/getComboBoxTheme.d.ts +1 -2
- package/internal/CustomComboBox/getComboBoxTheme.js +3 -2
- package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
- package/internal/DateSelect/DateSelect.css.d.ts +9 -0
- package/internal/DateSelect/DateSelect.css.js +7 -0
- package/internal/DateSelect/DateSelect.css.js.map +1 -0
- package/internal/DateSelect/DateSelect.js +1 -1
- package/internal/DateSelect/DateSelect.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +4 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +4 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +1 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +7 -11
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.css.d.ts +6 -0
- package/internal/InputLikeText/InputLikeText.css.js +6 -0
- package/internal/InputLikeText/InputLikeText.css.js.map +1 -0
- package/internal/InputLikeText/InputLikeText.js +3 -3
- package/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +5 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +21 -17
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +4 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.css.js +4 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +1 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
- package/internal/Menu/Menu.css.d.ts +16 -0
- package/internal/Menu/Menu.css.js +16 -0
- package/internal/Menu/Menu.css.js.map +1 -0
- package/internal/Menu/Menu.js +6 -2
- package/internal/Menu/Menu.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.css.d.ts +11 -0
- package/internal/MenuMessage/MenuMessage.css.js +11 -0
- package/internal/MenuMessage/MenuMessage.css.js.map +1 -0
- package/internal/MenuMessage/MenuMessage.js +1 -1
- package/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.css.d.ts +17 -0
- package/internal/MobilePopup/MobilePopup.css.js +17 -0
- package/internal/MobilePopup/MobilePopup.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopup.js +1 -1
- package/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.d.ts +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.d.ts +14 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +14 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.css.d.ts +4 -0
- package/internal/NativeDateInput/NativeDateInput.css.js +4 -0
- package/internal/NativeDateInput/NativeDateInput.css.js.map +1 -0
- package/internal/NativeDateInput/NativeDateInput.js +1 -1
- package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
- package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +4 -0
- package/internal/NativeTimeInput/NativeTimeInput.css.js +4 -0
- package/internal/NativeTimeInput/NativeTimeInput.css.js.map +1 -0
- package/internal/NativeTimeInput/NativeTimeInput.js +1 -1
- package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
- package/internal/Popup/Popup.css.d.ts +17 -0
- package/internal/Popup/Popup.css.js +17 -0
- package/internal/Popup/Popup.css.js.map +1 -0
- package/internal/Popup/Popup.js +8 -6
- package/internal/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupPin.css.d.ts +10 -0
- package/internal/Popup/PopupPin.css.js +10 -0
- package/internal/Popup/PopupPin.css.js.map +1 -0
- package/internal/Popup/PopupPin.js +1 -1
- package/internal/Popup/PopupPin.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.css.d.ts +5 -0
- package/internal/PopupMenu/PopupMenu.css.js +5 -0
- package/internal/PopupMenu/PopupMenu.css.js.map +1 -0
- package/internal/PopupMenu/PopupMenu.js +6 -4
- package/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +2 -0
- package/internal/RenderContainer/RenderContainer.js +37 -3
- package/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.css.d.ts +8 -0
- package/internal/ResizeDetector/ResizeDetector.css.js +8 -0
- package/internal/ResizeDetector/ResizeDetector.css.js.map +1 -0
- package/internal/ResizeDetector/ResizeDetector.js +1 -1
- package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.css.d.ts +7 -0
- package/internal/SpinnerIcon/SpinnerIcon.css.js +7 -0
- package/internal/SpinnerIcon/SpinnerIcon.css.js.map +1 -0
- package/internal/SpinnerIcon/SpinnerIcon.js +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +5 -0
- package/internal/TextWidthHelper/TextWidthHelper.css.js +5 -0
- package/internal/TextWidthHelper/TextWidthHelper.css.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
- package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/internal/TimeInput/TimeFragments.css.d.ts +32 -0
- package/internal/TimeInput/TimeFragments.css.js +19 -0
- package/internal/TimeInput/TimeFragments.css.js.map +1 -0
- package/internal/TimeInput/TimeFragments.js +1 -1
- package/internal/TimeInput/TimeFragments.js.map +1 -1
- package/internal/TimeInput/TimeInput.css.d.ts +7 -0
- package/internal/TimeInput/TimeInput.css.js +7 -0
- package/internal/TimeInput/TimeInput.css.js.map +1 -0
- package/internal/TimeInput/TimeInput.js +1 -1
- package/internal/TimeInput/TimeInput.js.map +1 -1
- package/internal/icons2022/BaseIcon.css.d.ts +4 -0
- package/internal/icons2022/BaseIcon.css.js +4 -0
- package/internal/icons2022/BaseIcon.css.js.map +1 -0
- package/internal/icons2022/BaseIcon.js +1 -1
- package/internal/icons2022/BaseIcon.js.map +1 -1
- package/internal/icons2022/LoadingIcon.js +1 -1
- package/internal/icons2022/LoadingIcon.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +0 -40
- package/internal/themes/BasicTheme.js +1 -73
- package/internal/themes/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme6_0.js +0 -19
- package/internal/themes/DarkTheme6_0.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +1 -1
- package/lib/renderEnvironment/RenderEnvironmentContext.js +4 -6
- package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
- package/lib/styles/LabGrotesqueBaseline.css.d.ts +1 -0
- package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
- package/lib/styles/LabGrotesqueBaseline.css.js.map +1 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +6 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation.js +23 -6
- package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
- package/lib/theming/Emotion.d.ts +15 -13
- package/lib/theming/Emotion.js +30 -46
- package/lib/theming/Emotion.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/ThemeVersions.js.map +1 -1
- package/lib/theming/bindStaticStyles.d.ts +6 -0
- package/lib/theming/bindStaticStyles.js +22 -0
- package/lib/theming/bindStaticStyles.js.map +1 -0
- package/lib/theming/memoizeTheme.d.ts +11 -0
- package/lib/theming/memoizeTheme.js +37 -0
- package/lib/theming/memoizeTheme.js.map +1 -0
- package/lib/theming/themeVars.d.ts +25 -0
- package/lib/theming/themeVars.js +74 -0
- package/lib/theming/themeVars.js.map +1 -0
- package/lib/theming/themes/DarkTheme.d.ts +0 -1
- package/lib/theming/themes/DarkTheme.js +1 -3
- package/lib/theming/themes/DarkTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +0 -1
- package/lib/theming/themes/LightTheme.js +1 -3
- package/lib/theming/themes/LightTheme.js.map +1 -1
- package/package.json +17 -6
- package/react-ui.css +6044 -0
- package/components/Autocomplete/Autocomplete.styles.d.ts +0 -5
- package/components/Autocomplete/Autocomplete.styles.js +0 -18
- package/components/Autocomplete/Autocomplete.styles.js.map +0 -1
- package/components/Button/Button.mixins.d.ts +0 -4
- package/components/Button/Button.mixins.js +0 -21
- package/components/Button/Button.mixins.js.map +0 -1
- package/components/Button/Button.styles.d.ts +0 -95
- package/components/Button/Button.styles.js +0 -260
- package/components/Button/Button.styles.js.map +0 -1
- package/components/Button/ButtonIcon.styles.d.ts +0 -16
- package/components/Button/ButtonIcon.styles.js +0 -53
- package/components/Button/ButtonIcon.styles.js.map +0 -1
- package/components/Calendar/Calendar.styles.d.ts +0 -6
- package/components/Calendar/Calendar.styles.js +0 -22
- package/components/Calendar/Calendar.styles.js.map +0 -1
- package/components/Calendar/DayCellView.styles.d.ts +0 -9
- package/components/Calendar/DayCellView.styles.js +0 -31
- package/components/Calendar/DayCellView.styles.js.map +0 -1
- package/components/Calendar/MonthView.styles.d.ts +0 -13
- package/components/Calendar/MonthView.styles.js +0 -47
- package/components/Calendar/MonthView.styles.js.map +0 -1
- package/components/Center/Center.styles.d.ts +0 -7
- package/components/Center/Center.styles.js +0 -27
- package/components/Center/Center.styles.js.map +0 -1
- package/components/Checkbox/Checkbox.styles.d.ts +0 -34
- package/components/Checkbox/Checkbox.styles.js +0 -100
- package/components/Checkbox/Checkbox.styles.js.map +0 -1
- package/components/DateInput/DateFragmentsView.styles.d.ts +0 -7
- package/components/DateInput/DateFragmentsView.styles.js +0 -28
- package/components/DateInput/DateFragmentsView.styles.js.map +0 -1
- package/components/DateInput/DateInput.styles.d.ts +0 -11
- package/components/DateInput/DateInput.styles.js +0 -29
- package/components/DateInput/DateInput.styles.js.map +0 -1
- package/components/DatePicker/DatePicker.styles.d.ts +0 -5
- package/components/DatePicker/DatePicker.styles.js +0 -18
- package/components/DatePicker/DatePicker.styles.js.map +0 -1
- package/components/DatePicker/MobilePicker.styles.d.ts +0 -3
- package/components/DatePicker/MobilePicker.styles.js +0 -15
- package/components/DatePicker/MobilePicker.styles.js.map +0 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -16
- package/components/DateRangePicker/DateRangePicker.styles.js +0 -57
- package/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
- package/components/FileUploader/FileUploader.styles.d.ts +0 -74
- package/components/FileUploader/FileUploader.styles.js +0 -221
- package/components/FileUploader/FileUploader.styles.js.map +0 -1
- package/components/FileUploader/FileUploaderFile.styles.d.ts +0 -60
- package/components/FileUploader/FileUploaderFile.styles.js +0 -184
- package/components/FileUploader/FileUploaderFile.styles.js.map +0 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -34
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +0 -103
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
- package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +0 -17
- package/components/GlobalLoader/GlobalLoaderView.styles.js +0 -70
- package/components/GlobalLoader/GlobalLoaderView.styles.js.map +0 -1
- package/components/Group/Group.styles.d.ts +0 -8
- package/components/Group/Group.styles.js +0 -30
- package/components/Group/Group.styles.js.map +0 -1
- package/components/Hint/Hint.styles.d.ts +0 -5
- package/components/Hint/Hint.styles.js +0 -18
- package/components/Hint/Hint.styles.js.map +0 -1
- package/components/Input/Input.styles.d.ts +0 -21
- package/components/Input/Input.styles.js +0 -68
- package/components/Input/Input.styles.js.map +0 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +0 -18
- package/components/Input/InputLayout/InputLayout.styles.js +0 -59
- package/components/Input/InputLayout/InputLayout.styles.js.map +0 -1
- package/components/Kebab/Kebab.styles.d.ts +0 -11
- package/components/Kebab/Kebab.styles.js +0 -36
- package/components/Kebab/Kebab.styles.js.map +0 -1
- package/components/Link/Link.mixins.d.ts +0 -2
- package/components/Link/Link.mixins.js +0 -7
- package/components/Link/Link.mixins.js.map +0 -1
- package/components/Link/Link.styles.d.ts +0 -24
- package/components/Link/Link.styles.js +0 -82
- package/components/Link/Link.styles.js.map +0 -1
- package/components/Loader/Loader.styles.d.ts +0 -8
- package/components/Loader/Loader.styles.js +0 -27
- package/components/Loader/Loader.styles.js.map +0 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +0 -6
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +0 -18
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +0 -1
- package/components/MaskedInput/MaskedInput.styles.d.ts +0 -7
- package/components/MaskedInput/MaskedInput.styles.js +0 -19
- package/components/MaskedInput/MaskedInput.styles.js.map +0 -1
- package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +0 -7
- package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -19
- package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
- package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +0 -15
- package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -34
- package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
- package/components/MenuFooter/MenuFooter.styles.d.ts +0 -10
- package/components/MenuFooter/MenuFooter.styles.js +0 -34
- package/components/MenuFooter/MenuFooter.styles.js.map +0 -1
- package/components/MenuHeader/MenuHeader.styles.d.ts +0 -10
- package/components/MenuHeader/MenuHeader.styles.js +0 -34
- package/components/MenuHeader/MenuHeader.styles.js.map +0 -1
- package/components/MenuItem/MenuItem.styles.d.ts +0 -29
- package/components/MenuItem/MenuItem.styles.js +0 -88
- package/components/MenuItem/MenuItem.styles.js.map +0 -1
- package/components/MenuSeparator/MenuSeparator.styles.d.ts +0 -5
- package/components/MenuSeparator/MenuSeparator.styles.js +0 -18
- package/components/MenuSeparator/MenuSeparator.styles.js.map +0 -1
- package/components/MiniModal/MiniModal.styles.d.ts +0 -11
- package/components/MiniModal/MiniModal.styles.js +0 -37
- package/components/MiniModal/MiniModal.styles.js.map +0 -1
- package/components/Modal/Modal.styles.d.ts +0 -55
- package/components/Modal/Modal.styles.js +0 -167
- package/components/Modal/Modal.styles.js.map +0 -1
- package/components/Paging/Paging.styles.d.ts +0 -32
- package/components/Paging/Paging.styles.js +0 -99
- package/components/Paging/Paging.styles.js.map +0 -1
- package/components/PasswordInput/PasswordInput.styles.d.ts +0 -11
- package/components/PasswordInput/PasswordInput.styles.js +0 -36
- package/components/PasswordInput/PasswordInput.styles.js.map +0 -1
- package/components/Radio/Radio.styles.d.ts +0 -34
- package/components/Radio/Radio.styles.js +0 -100
- package/components/Radio/Radio.styles.js.map +0 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +0 -6
- package/components/RadioGroup/RadioGroup.styles.js +0 -24
- package/components/RadioGroup/RadioGroup.styles.js.map +0 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -21
- package/components/ScrollContainer/ScrollContainer.styles.js +0 -52
- package/components/ScrollContainer/ScrollContainer.styles.js.map +0 -1
- package/components/Select/Select.styles.d.ts +0 -18
- package/components/Select/Select.styles.js +0 -57
- package/components/Select/Select.styles.js.map +0 -1
- package/components/SidePage/SidePage.styles.d.ts +0 -50
- package/components/SidePage/SidePage.styles.js +0 -158
- package/components/SidePage/SidePage.styles.js.map +0 -1
- package/components/Spinner/Spinner.styles.d.ts +0 -13
- package/components/Spinner/Spinner.styles.js +0 -43
- package/components/Spinner/Spinner.styles.js.map +0 -1
- package/components/Sticky/Sticky.styles.d.ts +0 -7
- package/components/Sticky/Sticky.styles.js +0 -27
- package/components/Sticky/Sticky.styles.js.map +0 -1
- package/components/Switcher/Switcher.styles.d.ts +0 -12
- package/components/Switcher/Switcher.styles.js +0 -39
- package/components/Switcher/Switcher.styles.js.map +0 -1
- package/components/Tabs/Indicator.styles.d.ts +0 -8
- package/components/Tabs/Indicator.styles.js +0 -27
- package/components/Tabs/Indicator.styles.js.map +0 -1
- package/components/Tabs/Tab.styles.d.ts +0 -33
- package/components/Tabs/Tab.styles.js +0 -105
- package/components/Tabs/Tab.styles.js.map +0 -1
- package/components/Tabs/Tabs.styles.d.ts +0 -7
- package/components/Tabs/Tabs.styles.js +0 -26
- package/components/Tabs/Tabs.styles.js.map +0 -1
- package/components/Tabs/helpers.d.ts +0 -6
- package/components/Tabs/helpers.js +0 -25
- package/components/Tabs/helpers.js.map +0 -1
- package/components/Textarea/Textarea.styles.d.ts +0 -23
- package/components/Textarea/Textarea.styles.js +0 -73
- package/components/Textarea/Textarea.styles.js.map +0 -1
- package/components/TimePicker/TimePicker.styles.d.ts +0 -12
- package/components/TimePicker/TimePicker.styles.js +0 -39
- package/components/TimePicker/TimePicker.styles.js.map +0 -1
- package/components/Toast/Toast.styles.d.ts +0 -6
- package/components/Toast/Toast.styles.js +0 -24
- package/components/Toast/Toast.styles.js.map +0 -1
- package/components/Toast/ToastView.styles.d.ts +0 -18
- package/components/Toast/ToastView.styles.js +0 -67
- package/components/Toast/ToastView.styles.js.map +0 -1
- package/components/Toggle/Toggle.mixins.d.ts +0 -8
- package/components/Toggle/Toggle.mixins.js +0 -32
- package/components/Toggle/Toggle.mixins.js.map +0 -1
- package/components/Toggle/Toggle.styles.d.ts +0 -49
- package/components/Toggle/Toggle.styles.js +0 -147
- package/components/Toggle/Toggle.styles.js.map +0 -1
- package/components/Token/Token.styles.d.ts +0 -23
- package/components/Token/Token.styles.js +0 -67
- package/components/Token/Token.styles.js.map +0 -1
- package/components/TokenInput/TokenInput.styles.d.ts +0 -21
- package/components/TokenInput/TokenInput.styles.js +0 -68
- package/components/TokenInput/TokenInput.styles.js.map +0 -1
- package/components/Tooltip/Tooltip.styles.d.ts +0 -11
- package/components/Tooltip/Tooltip.styles.js +0 -36
- package/components/Tooltip/Tooltip.styles.js.map +0 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +0 -12
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +0 -36
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +0 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +0 -8
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +0 -24
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
- package/internal/CustomComboBox/CustomComboBox.styles.d.ts +0 -4
- package/internal/CustomComboBox/CustomComboBox.styles.js +0 -18
- package/internal/CustomComboBox/CustomComboBox.styles.js.map +0 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +0 -9
- package/internal/DateSelect/DateSelect.styles.js +0 -24
- package/internal/DateSelect/DateSelect.styles.js.map +0 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +0 -8
- package/internal/InputLikeText/InputLikeText.styles.js +0 -30
- package/internal/InputLikeText/InputLikeText.styles.js.map +0 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +0 -3
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +0 -15
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +0 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +0 -3
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +0 -15
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +0 -1
- package/internal/Menu/Menu.styles.d.ts +0 -16
- package/internal/Menu/Menu.styles.js +0 -51
- package/internal/Menu/Menu.styles.js.map +0 -1
- package/internal/MenuMessage/MenuMessage.styles.d.ts +0 -11
- package/internal/MenuMessage/MenuMessage.styles.js +0 -41
- package/internal/MenuMessage/MenuMessage.styles.js.map +0 -1
- package/internal/MobilePopup/MobilePopup.styles.d.ts +0 -17
- package/internal/MobilePopup/MobilePopup.styles.js +0 -57
- package/internal/MobilePopup/MobilePopup.styles.js.map +0 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +0 -7
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +0 -25
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +0 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +0 -14
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +0 -47
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +0 -1
- package/internal/NativeDateInput/NativeDateInput.styles.d.ts +0 -3
- package/internal/NativeDateInput/NativeDateInput.styles.js +0 -15
- package/internal/NativeDateInput/NativeDateInput.styles.js.map +0 -1
- package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
- package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
- package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
- package/internal/Popup/Popup.styles.d.ts +0 -22
- package/internal/Popup/Popup.styles.js +0 -69
- package/internal/Popup/Popup.styles.js.map +0 -1
- package/internal/Popup/PopupPin.styles.d.ts +0 -9
- package/internal/Popup/PopupPin.styles.js +0 -33
- package/internal/Popup/PopupPin.styles.js.map +0 -1
- package/internal/PopupMenu/PopupMenu.styles.d.ts +0 -4
- package/internal/PopupMenu/PopupMenu.styles.js +0 -18
- package/internal/PopupMenu/PopupMenu.styles.js.map +0 -1
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +0 -7
- package/internal/ResizeDetector/ResizeDetector.styles.js +0 -27
- package/internal/ResizeDetector/ResizeDetector.styles.js.map +0 -1
- package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +0 -6
- package/internal/SpinnerIcon/SpinnerIcon.styles.js +0 -24
- package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +0 -1
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
- package/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -18
- package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
- package/internal/TimeInput/TimeFragments.styles.d.ts +0 -32
- package/internal/TimeInput/TimeFragments.styles.js +0 -78
- package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
- package/internal/TimeInput/TimeInput.styles.d.ts +0 -7
- package/internal/TimeInput/TimeInput.styles.js +0 -24
- package/internal/TimeInput/TimeInput.styles.js.map +0 -1
- package/internal/icons2022/BaseIcon.styles.d.ts +0 -3
- package/internal/icons2022/BaseIcon.styles.js +0 -16
- package/internal/icons2022/BaseIcon.styles.js.map +0 -1
- package/internal/themes/DarkTheme6_5.d.ts +0 -1
- package/internal/themes/DarkTheme6_5.js +0 -87
- package/internal/themes/DarkTheme6_5.js.map +0 -1
- package/internal/themes/LightTheme6_5.d.ts +0 -1
- package/internal/themes/LightTheme6_5.js +0 -87
- package/internal/themes/LightTheme6_5.js.map +0 -1
- package/lib/Upgrades.d.ts +0 -6
- package/lib/Upgrades.js +0 -34
- package/lib/Upgrades.js.map +0 -1
- package/lib/styles/Mixins.d.ts +0 -2
- package/lib/styles/Mixins.js +0 -7
- package/lib/styles/Mixins.js.map +0 -1
- package/lib/styles/UiFont.d.ts +0 -3
- package/lib/styles/UiFont.js +0 -18
- package/lib/styles/UiFont.js.map +0 -1
- package/lib/theming/AnimationKeyframes.d.ts +0 -7
- package/lib/theming/AnimationKeyframes.js +0 -24
- package/lib/theming/AnimationKeyframes.js.map +0 -1
- package/typings/stylis-plugin-extra-scope.d.ts +0 -3
|
@@ -17,11 +17,15 @@ import React from 'react';
|
|
|
17
17
|
import { ComboBoxRequestStatus } from '../../internal/CustomComboBox/CustomComboBoxTypes.js';
|
|
18
18
|
import { ComboBoxMenu } from '../../internal/CustomComboBox/index.js';
|
|
19
19
|
import { Popup } from '../../internal/Popup/index.js';
|
|
20
|
+
import { memoizeTheme } from '../../lib/theming/memoizeTheme.js';
|
|
20
21
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
21
22
|
import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
|
|
22
23
|
import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
|
|
23
24
|
import { TokenInputDataTids } from './TokenInput.js';
|
|
24
25
|
import { TokenInputFailedMenu } from './TokenInputFailedMenu.js';
|
|
26
|
+
var getTokenInputMenuTheme = memoizeTheme(function (theme) {
|
|
27
|
+
return ThemeFactory.create({ popupBackground: theme.tokenInputMenuPopupBg }, theme);
|
|
28
|
+
});
|
|
25
29
|
var cursorNearFieldEdgeTolerancePx = 1;
|
|
26
30
|
var TokenInputMenu = /** @class */ (function (_super) {
|
|
27
31
|
__extends(TokenInputMenu, _super);
|
|
@@ -54,9 +58,7 @@ var TokenInputMenu = /** @class */ (function (_super) {
|
|
|
54
58
|
var _this = this;
|
|
55
59
|
return (React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
56
60
|
_this.theme = theme;
|
|
57
|
-
return (React.createElement(ThemeContext.Provider, { value:
|
|
58
|
-
popupBackground: _this.theme.tokenInputMenuPopupBg,
|
|
59
|
-
}, theme) }, _this.renderMain()));
|
|
61
|
+
return (React.createElement(ThemeContext.Provider, { value: getTokenInputMenuTheme(theme) }, _this.renderMain()));
|
|
60
62
|
}));
|
|
61
63
|
};
|
|
62
64
|
TokenInputMenu.prototype.getLabelPaddingY = function (t, size) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenInputMenu.js","sourceRoot":"","sources":["TokenInputMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ComboBoxRequestStatus } from '../../internal/CustomComboBox/CustomComboBoxTypes.js';\nimport { ComboBoxMenu } from '../../internal/CustomComboBox/index.js';\nimport type { ComboBoxMenuProps } from '../../internal/CustomComboBox/index.js';\nimport type { Menu } from '../../internal/Menu/index.js';\nimport type { PopupPositionsType, PopupProps } from '../../internal/Popup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { HTMLProps } from '../../typings/html.js';\nimport type { TokenSize } from '../Token/index.js';\nimport type { TokenInputMenuAlign, TokenInputProps } from './TokenInput.js';\nimport { TokenInputDataTids } from './TokenInput.js';\nimport { TokenInputFailedMenu } from './TokenInputFailedMenu.js';\n\nconst cursorNearFieldEdgeTolerancePx = 1;\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign cursor */\n anchorElementForCursor: PopupProps['anchorElement'];\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign left */\n anchorElementRoot: PopupProps['anchorElement'];\n /** Задает ширину выпадающего меню. */\n menuWidth: TokenInputProps<string>['menuWidth'];\n /** Задает выравнивание выпадающего меню. */\n menuAlign: TokenInputMenuAlign;\n /** Задает id выпадающему меню.\n Полезно при реализации a11y. Например, помогает связать aria-controls с выпадающим меню. */\n popupMenuId?: HTMLProps['id'];\n /** Задает размер контрола. */\n size?: TokenSize;\n}\n\ninterface TokenInputMenuState {\n forceMenuLeftAlign?: boolean;\n useRootAnchor?: boolean;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>, TokenInputMenuState> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n public static displayName = 'TokenInputMenu';\n\n public state: TokenInputMenuState = {};\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public componentDidUpdate(prevProps: TokenInputMenuProps<T>) {\n if (prevProps.opened && !this.props.opened && (this.state.forceMenuLeftAlign || this.state.useRootAnchor)) {\n this.setState({ forceMenuLeftAlign: false, useRootAnchor: false });\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: this.theme.tokenInputMenuPopupBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): Menu | null => this.menu;\n\n private getLabelPaddingY(t: Theme, size: TokenSize | undefined): number {\n switch (size) {\n case 'large':\n return parseInt(t.tokenInputPaddingYLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenInputPaddingYMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenInputPaddingYSmall, 10) || 0;\n }\n }\n\n private getTokenPaddingY(t: Theme, size: TokenSize | undefined): number {\n switch (size) {\n case 'large':\n return parseInt(t.tokenPaddingYLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenPaddingYMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenPaddingYSmall, 10) || 0;\n }\n }\n\n private getTokenMarginY(t: Theme, size: TokenSize | undefined): number {\n switch (size) {\n case 'large':\n return parseInt(t.tokenMarginYLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenMarginYMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenMarginYSmall, 10) || 0;\n }\n }\n\n private getExpectedDistanceToFieldEdge(t: Theme, size: TokenSize | undefined): number {\n const tokenPaddingY = this.getTokenPaddingY(t, size);\n const tokenBorderWidth = parseInt(t.tokenBorderWidth, 10) || 0;\n const tokenMarginY = this.getTokenMarginY(t, size);\n const labelPaddingY = this.getLabelPaddingY(t, size);\n const labelBorderWidth = parseInt(t.tokenInputBorderWidth, 10) || 0;\n\n return tokenPaddingY + tokenBorderWidth + tokenMarginY + labelPaddingY + labelBorderWidth;\n }\n\n private getAnchorRects() {\n const { anchorElementRoot, anchorElementForCursor } = this.props;\n if (!(anchorElementRoot instanceof HTMLElement) || !(anchorElementForCursor instanceof HTMLElement)) {\n return null;\n }\n\n return {\n root: anchorElementRoot.getBoundingClientRect(),\n cursor: anchorElementForCursor.getBoundingClientRect(),\n };\n }\n\n private isCursorNearFieldTop(): boolean {\n const rects = this.getAnchorRects();\n if (!rects) {\n return false;\n }\n\n const expected = this.getExpectedDistanceToFieldEdge(this.theme, this.props.size);\n return rects.cursor.top - rects.root.top <= expected + cursorNearFieldEdgeTolerancePx;\n }\n\n private isCursorNearFieldBottom(): boolean {\n const rects = this.getAnchorRects();\n if (!rects) {\n return false;\n }\n\n const expected = this.getExpectedDistanceToFieldEdge(this.theme, this.props.size);\n return rects.root.bottom - rects.cursor.bottom <= expected + cursorNearFieldEdgeTolerancePx;\n }\n\n private shouldUseRootAnchor(menuAlign: TokenInputMenuAlign): boolean {\n if (menuAlign === 'left') {\n return true;\n }\n\n if (!isThemeGTE(this.theme, '6.4')) {\n return false;\n }\n\n return !!this.state.useRootAnchor;\n }\n\n private shouldUpgradeToRootAnchor(position: PopupPositionsType): boolean {\n if (this.state.useRootAnchor || !isThemeGTE(this.theme, '6.4') || this.props.menuAlign !== 'cursor') {\n return false;\n }\n\n const direction = position.split(' ')[0];\n\n if (direction === 'top') {\n return this.isCursorNearFieldTop();\n }\n\n return this.isCursorNearFieldBottom();\n }\n\n private getPopupMargin(menuAlign: TokenInputMenuAlign): number {\n const t = this.theme;\n const menuOffsetY = parseInt(t.tokenInputMenuOffsetY, 10) || 0;\n\n if (isThemeGTE(t, '6.4')) {\n return menuOffsetY;\n }\n\n if (menuAlign === 'left') {\n return 1;\n }\n\n switch (this.props.size) {\n case 'large':\n return parseInt(t.tokenInputPopupMarginLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenInputPopupMarginMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenInputPopupMarginSmall, 10) || 0;\n }\n }\n\n private getPopupOffset(menuAlign: TokenInputMenuAlign, useRootAnchor: boolean): number {\n const baseOffset = parseInt(this.theme.tokenInputPopupOffset, 10) || 0;\n\n if (menuAlign === 'left') {\n return baseOffset;\n }\n\n const cursorOffset = 8 + baseOffset;\n if (!useRootAnchor) {\n return cursorOffset;\n }\n\n const rects = this.getAnchorRects();\n if (!rects) {\n return cursorOffset;\n }\n\n return rects.root.left - rects.cursor.left + cursorOffset;\n }\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElementForCursor,\n anchorElementRoot,\n menuWidth,\n } = this.props;\n\n const menuAlign = this.state.forceMenuLeftAlign ? 'left' : this.props.menuAlign;\n const isCursorAlign = menuAlign === 'cursor';\n const useRootAnchor = this.shouldUseRootAnchor(menuAlign);\n\n return (\n <Popup\n id={this.props.popupMenuId}\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={\n isCursorAlign ? ['bottom left', 'top left'] : ['bottom left', 'top left', 'bottom right', 'top right']\n }\n anchorElement={useRootAnchor ? anchorElementRoot : anchorElementForCursor}\n popupOffset={this.getPopupOffset(menuAlign, useRootAnchor)}\n margin={this.getPopupMargin(menuAlign)}\n hasShadow\n width={isCursorAlign ? 'auto' : menuWidth}\n onPositionChange={this.handleMenuPositionChange}\n >\n {opened && items === null && this.props.requestStatus === ComboBoxRequestStatus.Failed && !loading ? (\n <TokenInputFailedMenu\n refMenu={this.menuRef}\n maxMenuHeight={maxMenuHeight}\n size={this.props.size}\n hasMargin={false}\n repeatRequest={this.props.repeatRequest}\n renderAddButton={renderAddButton}\n />\n ) : (\n <ComboBoxMenu\n size={this.props.size}\n items={items}\n loading={loading}\n hasMargin={false}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n requestStatus={this.props.requestStatus}\n repeatRequest={this.props.repeatRequest}\n />\n )}\n </Popup>\n );\n }\n\n private handleMenuPositionChange = (position: PopupPositionsType, isFullyVisible: boolean) => {\n const nextState: Partial<TokenInputMenuState> = {};\n\n if (this.shouldUpgradeToRootAnchor(position)) {\n nextState.useRootAnchor = true;\n }\n\n if (!this.state.forceMenuLeftAlign && !isFullyVisible && this.props.menuAlign === 'cursor') {\n nextState.forceMenuLeftAlign = true;\n }\n\n if (Object.keys(nextState).length > 0) {\n this.setState(nextState);\n }\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TokenInputMenu.js","sourceRoot":"","sources":["TokenInputMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ComboBoxRequestStatus } from '../../internal/CustomComboBox/CustomComboBoxTypes.js';\nimport { ComboBoxMenu } from '../../internal/CustomComboBox/index.js';\nimport type { ComboBoxMenuProps } from '../../internal/CustomComboBox/index.js';\nimport type { Menu } from '../../internal/Menu/index.js';\nimport type { PopupPositionsType, PopupProps } from '../../internal/Popup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { memoizeTheme } from '../../lib/theming/memoizeTheme.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { HTMLProps } from '../../typings/html.js';\nimport type { TokenSize } from '../Token/index.js';\nimport type { TokenInputMenuAlign, TokenInputProps } from './TokenInput.js';\nimport { TokenInputDataTids } from './TokenInput.js';\nimport { TokenInputFailedMenu } from './TokenInputFailedMenu.js';\n\nconst getTokenInputMenuTheme = memoizeTheme((theme: Theme) =>\n ThemeFactory.create({ popupBackground: theme.tokenInputMenuPopupBg }, theme),\n);\n\nconst cursorNearFieldEdgeTolerancePx = 1;\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign cursor */\n anchorElementForCursor: PopupProps['anchorElement'];\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign left */\n anchorElementRoot: PopupProps['anchorElement'];\n /** Задает ширину выпадающего меню. */\n menuWidth: TokenInputProps<string>['menuWidth'];\n /** Задает выравнивание выпадающего меню. */\n menuAlign: TokenInputMenuAlign;\n /** Задает id выпадающему меню.\n Полезно при реализации a11y. Например, помогает связать aria-controls с выпадающим меню. */\n popupMenuId?: HTMLProps['id'];\n /** Задает размер контрола. */\n size?: TokenSize;\n}\n\ninterface TokenInputMenuState {\n forceMenuLeftAlign?: boolean;\n useRootAnchor?: boolean;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>, TokenInputMenuState> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n public static displayName = 'TokenInputMenu';\n\n public state: TokenInputMenuState = {};\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public componentDidUpdate(prevProps: TokenInputMenuProps<T>) {\n if (prevProps.opened && !this.props.opened && (this.state.forceMenuLeftAlign || this.state.useRootAnchor)) {\n this.setState({ forceMenuLeftAlign: false, useRootAnchor: false });\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider value={getTokenInputMenuTheme(theme)}>{this.renderMain()}</ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): Menu | null => this.menu;\n\n private getLabelPaddingY(t: Theme, size: TokenSize | undefined): number {\n switch (size) {\n case 'large':\n return parseInt(t.tokenInputPaddingYLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenInputPaddingYMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenInputPaddingYSmall, 10) || 0;\n }\n }\n\n private getTokenPaddingY(t: Theme, size: TokenSize | undefined): number {\n switch (size) {\n case 'large':\n return parseInt(t.tokenPaddingYLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenPaddingYMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenPaddingYSmall, 10) || 0;\n }\n }\n\n private getTokenMarginY(t: Theme, size: TokenSize | undefined): number {\n switch (size) {\n case 'large':\n return parseInt(t.tokenMarginYLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenMarginYMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenMarginYSmall, 10) || 0;\n }\n }\n\n private getExpectedDistanceToFieldEdge(t: Theme, size: TokenSize | undefined): number {\n const tokenPaddingY = this.getTokenPaddingY(t, size);\n const tokenBorderWidth = parseInt(t.tokenBorderWidth, 10) || 0;\n const tokenMarginY = this.getTokenMarginY(t, size);\n const labelPaddingY = this.getLabelPaddingY(t, size);\n const labelBorderWidth = parseInt(t.tokenInputBorderWidth, 10) || 0;\n\n return tokenPaddingY + tokenBorderWidth + tokenMarginY + labelPaddingY + labelBorderWidth;\n }\n\n private getAnchorRects() {\n const { anchorElementRoot, anchorElementForCursor } = this.props;\n if (!(anchorElementRoot instanceof HTMLElement) || !(anchorElementForCursor instanceof HTMLElement)) {\n return null;\n }\n\n return {\n root: anchorElementRoot.getBoundingClientRect(),\n cursor: anchorElementForCursor.getBoundingClientRect(),\n };\n }\n\n private isCursorNearFieldTop(): boolean {\n const rects = this.getAnchorRects();\n if (!rects) {\n return false;\n }\n\n const expected = this.getExpectedDistanceToFieldEdge(this.theme, this.props.size);\n return rects.cursor.top - rects.root.top <= expected + cursorNearFieldEdgeTolerancePx;\n }\n\n private isCursorNearFieldBottom(): boolean {\n const rects = this.getAnchorRects();\n if (!rects) {\n return false;\n }\n\n const expected = this.getExpectedDistanceToFieldEdge(this.theme, this.props.size);\n return rects.root.bottom - rects.cursor.bottom <= expected + cursorNearFieldEdgeTolerancePx;\n }\n\n private shouldUseRootAnchor(menuAlign: TokenInputMenuAlign): boolean {\n if (menuAlign === 'left') {\n return true;\n }\n\n if (!isThemeGTE(this.theme, '6.4')) {\n return false;\n }\n\n return !!this.state.useRootAnchor;\n }\n\n private shouldUpgradeToRootAnchor(position: PopupPositionsType): boolean {\n if (this.state.useRootAnchor || !isThemeGTE(this.theme, '6.4') || this.props.menuAlign !== 'cursor') {\n return false;\n }\n\n const direction = position.split(' ')[0];\n\n if (direction === 'top') {\n return this.isCursorNearFieldTop();\n }\n\n return this.isCursorNearFieldBottom();\n }\n\n private getPopupMargin(menuAlign: TokenInputMenuAlign): number {\n const t = this.theme;\n const menuOffsetY = parseInt(t.tokenInputMenuOffsetY, 10) || 0;\n\n if (isThemeGTE(t, '6.4')) {\n return menuOffsetY;\n }\n\n if (menuAlign === 'left') {\n return 1;\n }\n\n switch (this.props.size) {\n case 'large':\n return parseInt(t.tokenInputPopupMarginLarge, 10) || 0;\n case 'medium':\n return parseInt(t.tokenInputPopupMarginMedium, 10) || 0;\n case 'small':\n default:\n return parseInt(t.tokenInputPopupMarginSmall, 10) || 0;\n }\n }\n\n private getPopupOffset(menuAlign: TokenInputMenuAlign, useRootAnchor: boolean): number {\n const baseOffset = parseInt(this.theme.tokenInputPopupOffset, 10) || 0;\n\n if (menuAlign === 'left') {\n return baseOffset;\n }\n\n const cursorOffset = 8 + baseOffset;\n if (!useRootAnchor) {\n return cursorOffset;\n }\n\n const rects = this.getAnchorRects();\n if (!rects) {\n return cursorOffset;\n }\n\n return rects.root.left - rects.cursor.left + cursorOffset;\n }\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElementForCursor,\n anchorElementRoot,\n menuWidth,\n } = this.props;\n\n const menuAlign = this.state.forceMenuLeftAlign ? 'left' : this.props.menuAlign;\n const isCursorAlign = menuAlign === 'cursor';\n const useRootAnchor = this.shouldUseRootAnchor(menuAlign);\n\n return (\n <Popup\n id={this.props.popupMenuId}\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={\n isCursorAlign ? ['bottom left', 'top left'] : ['bottom left', 'top left', 'bottom right', 'top right']\n }\n anchorElement={useRootAnchor ? anchorElementRoot : anchorElementForCursor}\n popupOffset={this.getPopupOffset(menuAlign, useRootAnchor)}\n margin={this.getPopupMargin(menuAlign)}\n hasShadow\n width={isCursorAlign ? 'auto' : menuWidth}\n onPositionChange={this.handleMenuPositionChange}\n >\n {opened && items === null && this.props.requestStatus === ComboBoxRequestStatus.Failed && !loading ? (\n <TokenInputFailedMenu\n refMenu={this.menuRef}\n maxMenuHeight={maxMenuHeight}\n size={this.props.size}\n hasMargin={false}\n repeatRequest={this.props.repeatRequest}\n renderAddButton={renderAddButton}\n />\n ) : (\n <ComboBoxMenu\n size={this.props.size}\n items={items}\n loading={loading}\n hasMargin={false}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n requestStatus={this.props.requestStatus}\n repeatRequest={this.props.repeatRequest}\n />\n )}\n </Popup>\n );\n }\n\n private handleMenuPositionChange = (position: PopupPositionsType, isFullyVisible: boolean) => {\n const nextState: Partial<TokenInputMenuState> = {};\n\n if (this.shouldUpgradeToRootAnchor(position)) {\n nextState.useRootAnchor = true;\n }\n\n if (!this.state.forceMenuLeftAlign && !isFullyVisible && this.props.menuAlign === 'cursor') {\n nextState.forceMenuLeftAlign = true;\n }\n\n if (Object.keys(nextState).length > 0) {\n this.setState(nextState);\n }\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const closeButton: string;
|
|
2
|
+
export declare const closeButtonSmall: string;
|
|
3
|
+
export declare const closeButtonMedium: string;
|
|
4
|
+
export declare const closeButtonLarge: string;
|
|
5
|
+
export declare const tooltipContent: string;
|
|
6
|
+
export declare const tooltipContentSmall: string;
|
|
7
|
+
export declare const tooltipContentMedium: string;
|
|
8
|
+
export declare const tooltipContentLarge: string;
|
|
9
|
+
export declare const getStyles: (_emotion?: unknown) => {
|
|
10
|
+
[x: string]: (...args: unknown[]) => string;
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
|
|
3
|
+
export var closeButton = 'react-ui-Tooltip__closeButton';
|
|
4
|
+
export var closeButtonLarge = 'react-ui-Tooltip__closeButtonLarge';
|
|
5
|
+
export var closeButtonMedium = 'react-ui-Tooltip__closeButtonMedium';
|
|
6
|
+
export var closeButtonSmall = 'react-ui-Tooltip__closeButtonSmall';
|
|
7
|
+
export var getStyles = _b9cd9({closeButton:'react-ui-Tooltip__closeButton',closeButtonSmall:'react-ui-Tooltip__closeButtonSmall',closeButtonMedium:'react-ui-Tooltip__closeButtonMedium',closeButtonLarge:'react-ui-Tooltip__closeButtonLarge',tooltipContent:'react-ui-Tooltip__tooltipContent',tooltipContentSmall:'react-ui-Tooltip__tooltipContentSmall',tooltipContentMedium:'react-ui-Tooltip__tooltipContentMedium',tooltipContentLarge:'react-ui-Tooltip__tooltipContentLarge'});
|
|
8
|
+
export var tooltipContent = 'react-ui-Tooltip__tooltipContent';
|
|
9
|
+
export var tooltipContentLarge = 'react-ui-Tooltip__tooltipContentLarge';
|
|
10
|
+
export var tooltipContentMedium = 'react-ui-Tooltip__tooltipContentMedium';
|
|
11
|
+
export var tooltipContentSmall = 'react-ui-Tooltip__tooltipContentSmall';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.css.js","sourceRoot":"","sources":["Tooltip.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC;IAC/B,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,aAAa;IACxB,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,mBAAmB;IAC5B,MAAM,EAAE,CAAC,CAAC,mBAAmB;IAC7B,KAAK,EAAE,CAAC,CAAC,oBAAoB;IAC7B,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC;AAElF,MAAM,CAAC,IAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC;AAEpF,MAAM,CAAC,IAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC;AAElF,MAAM,CAAC,IAAM,cAAc,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEzF,MAAM,CAAC,IAAM,mBAAmB,GAAG,KAAK,CAAC;IACvC,OAAO,EAAE,UAAG,CAAC,CAAC,oBAAoB,cAAI,CAAC,CAAC,oBAAoB,CAAE;IAC9D,QAAQ,EAAE,CAAC,CAAC,oBAAoB;IAChC,UAAU,EAAE,CAAC,CAAC,sBAAsB;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,oBAAoB,GAAG,KAAK,CAAC;IACxC,OAAO,EAAE,UAAG,CAAC,CAAC,qBAAqB,cAAI,CAAC,CAAC,qBAAqB,CAAE;IAChE,QAAQ,EAAE,CAAC,CAAC,qBAAqB;IACjC,UAAU,EAAE,CAAC,CAAC,uBAAuB;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,mBAAmB,GAAG,KAAK,CAAC;IACvC,OAAO,EAAE,UAAG,CAAC,CAAC,oBAAoB,cAAI,CAAC,CAAC,oBAAoB,CAAE;IAC9D,QAAQ,EAAE,CAAC,CAAC,oBAAoB;IAChC,UAAU,EAAE,CAAC,CAAC,sBAAsB;CACrC,CAAC,CAAC;AAEH,qFAAqF;AACrF,WAAW,CAAC,UAAG,WAAW,WAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC;IACpC,WAAW,aAAA;IACX,gBAAgB,kBAAA;IAChB,iBAAiB,mBAAA;IACjB,gBAAgB,kBAAA;IAChB,cAAc,gBAAA;IACd,mBAAmB,qBAAA;IACnB,oBAAoB,sBAAA;IACpB,mBAAmB,qBAAA;CACpB,CAAC,CAAC","sourcesContent":["import { globalStyle, style } from '@vanilla-extract/css';\n\nimport { exportStyles, t } from '../../lib/theming/vanilla.js';\n\nexport const closeButton = style({\n position: 'absolute',\n boxSizing: 'content-box',\n right: 0,\n top: 0,\n width: t.tooltipCloseBtnSide,\n height: t.tooltipCloseBtnSide,\n color: t.tooltipCloseBtnColor,\n cursor: 'pointer',\n lineHeight: 0,\n});\n\nexport const closeButtonSmall = style({ padding: t.tooltipCloseBtnPaddingSmall });\n\nexport const closeButtonMedium = style({ padding: t.tooltipCloseBtnPaddingMedium });\n\nexport const closeButtonLarge = style({ padding: t.tooltipCloseBtnPaddingLarge });\n\nexport const tooltipContent = style({ position: 'relative', color: t.tooltipTextColor });\n\nexport const tooltipContentSmall = style({\n padding: `${t.tooltipPaddingYSmall} ${t.tooltipPaddingXSmall}`,\n fontSize: t.tooltipFontSizeSmall,\n lineHeight: t.tooltipLineHeightSmall,\n});\n\nexport const tooltipContentMedium = style({\n padding: `${t.tooltipPaddingYMedium} ${t.tooltipPaddingXMedium}`,\n fontSize: t.tooltipFontSizeMedium,\n lineHeight: t.tooltipLineHeightMedium,\n});\n\nexport const tooltipContentLarge = style({\n padding: `${t.tooltipPaddingYLarge} ${t.tooltipPaddingXLarge}`,\n fontSize: t.tooltipFontSizeLarge,\n lineHeight: t.tooltipLineHeightLarge,\n});\n\n// вложенные правила — после баз всех классов файла, как было в склеенном CSS Emotion\nglobalStyle(`${closeButton}:hover`, { color: t.tooltipCloseBtnHoverColor });\n\nexport const getStyles = exportStyles({\n closeButton,\n closeButtonSmall,\n closeButtonMedium,\n closeButtonLarge,\n tooltipContent,\n tooltipContentSmall,\n tooltipContentMedium,\n tooltipContentLarge,\n});\n"]}
|
|
@@ -43,11 +43,12 @@ import { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside.js
|
|
|
43
43
|
import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
|
|
44
44
|
import { rootNode } from '../../lib/rootNode/index.js';
|
|
45
45
|
import { withSize } from '../../lib/size/SizeDecorator.js';
|
|
46
|
+
import { memoizeTheme } from '../../lib/theming/memoizeTheme.js';
|
|
46
47
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
47
48
|
import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
|
|
48
49
|
import { isNullable } from '../../lib/utils.js';
|
|
49
50
|
import { ResponsiveLayout } from '../ResponsiveLayout/ResponsiveLayout.js';
|
|
50
|
-
import { getStyles } from './Tooltip.
|
|
51
|
+
import { getStyles } from './Tooltip.css.js';
|
|
51
52
|
var DEFAULT_DELAY = 100;
|
|
52
53
|
export var TooltipDataTids = {
|
|
53
54
|
root: 'Tooltip__root',
|
|
@@ -76,6 +77,20 @@ var MobilePositions = [
|
|
|
76
77
|
'bottom center',
|
|
77
78
|
'bottom right',
|
|
78
79
|
];
|
|
80
|
+
var getTooltipTheme = memoizeTheme(function (theme, size) {
|
|
81
|
+
var _a;
|
|
82
|
+
// неизвестный size — как small, так же как в getSizeVariables
|
|
83
|
+
var suffix = (_a = { small: 'Small', medium: 'Medium', large: 'Large' }[size]) !== null && _a !== void 0 ? _a : 'Small';
|
|
84
|
+
return ThemeFactory.create({
|
|
85
|
+
popupBackground: theme.tooltipBg,
|
|
86
|
+
popupBorder: theme.tooltipBorder,
|
|
87
|
+
popupBorderRadius: theme["tooltipBorderRadius".concat(suffix)],
|
|
88
|
+
popupPinSize: theme["tooltipPinSize".concat(suffix)],
|
|
89
|
+
popupPinOffsetX: theme["tooltipPinOffsetX".concat(suffix)],
|
|
90
|
+
popupPinOffsetY: theme["tooltipPinOffsetY".concat(suffix)],
|
|
91
|
+
popupMargin: theme["tooltipMargin".concat(suffix)],
|
|
92
|
+
}, theme);
|
|
93
|
+
});
|
|
79
94
|
/**
|
|
80
95
|
* Подсказка, которая объясняет состояние контрола или даёт контекстную справку.
|
|
81
96
|
*
|
|
@@ -307,15 +322,7 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
307
322
|
return (React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
308
323
|
_this.theme = theme;
|
|
309
324
|
_this.sizeVariables = _this.getSizeVariables();
|
|
310
|
-
return (React.createElement(ThemeContext.Provider, { value:
|
|
311
|
-
popupBackground: theme.tooltipBg,
|
|
312
|
-
popupBorder: theme.tooltipBorder,
|
|
313
|
-
popupBorderRadius: _this.sizeVariables.borderRadius,
|
|
314
|
-
popupPinSize: _this.sizeVariables.pinSize,
|
|
315
|
-
popupPinOffsetX: _this.sizeVariables.pinOffsetX,
|
|
316
|
-
popupPinOffsetY: _this.sizeVariables.pinOffsetY,
|
|
317
|
-
popupMargin: _this.sizeVariables.margin,
|
|
318
|
-
}, theme) },
|
|
325
|
+
return (React.createElement(ThemeContext.Provider, { value: getTooltipTheme(theme, _this.size) },
|
|
319
326
|
React.createElement(ResponsiveLayout, { customMediaQueries: { canHover: '(hover: hover)' } }, function (layout) {
|
|
320
327
|
_this.isMobileLayout = layout.isMobile;
|
|
321
328
|
_this.isMobileInteraction = layout.isMobile && !layout.canHover;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\nimport warning from 'warning';\n\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { PopupPositionsType, PopupProps, ShortPopupPositionsType } from '../../internal/Popup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport type { RenderLayerProps } from '../../internal/RenderLayer/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isNullable } from '../../lib/utils.js';\nimport type { MouseEventType } from '../../typings/event-types.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { ResponsiveLayout } from '../ResponsiveLayout/ResponsiveLayout.js';\nimport { getStyles } from './Tooltip.styles.js';\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 /** @ignore */\n children?: React.ReactNode;\n\n /** Функция, возвращающая содержимое тултипа. При возврате `null` тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Размер тултипа.\n * @default small */\n size?: SizeProp;\n\n /** Приоритетное расположение тултипа относительно элемента. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Список позиций, которые может занимать тултип. В списке обязательно должна быть позиция из пропа `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Показывает крестик для закрытия тултипа.\n * По умолчанию крестик показывается, если проп `trigger` не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Элемент, относительно которого позиционируется тултип. */\n anchorElement?: HTMLElement;\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Оборачивает вложенные элементы в `<span />`.\n *\n * _Примечание_: при двух и более вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Задержка в миллисекундах до появления тултипа. */\n delayBeforeShow?: number;\n\n /** Событие нажатия на крестик. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Событие нажатия на крестик или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Событие закрытия тултипа. */\n onClose?: () => void;\n\n /** Событие открытия тултипа. */\n onOpen?: () => void;\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 DefaultPositions: 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\nconst MobilePositions: PopupPositionsType[] = [\n 'top right',\n 'top center',\n 'top left',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * Подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусу на элемент или наведению.\n * Может содержать изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\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 defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n private static triggersToOverrideOnMobile: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private isMobileLayout = false;\n private isMobileInteraction = false;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private sizeVariables!: TooltipSizeVariables;\n private hoverTimeout: SafeTimer;\n private clickTimeout: Nullable<number>;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions(): string[] {\n return this.props.allowedPositions ? this.props.allowedPositions : DefaultPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n this.clearClickTimeout();\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n <ResponsiveLayout customMediaQueries={{ canHover: '(hover: hover)' }}>\n {(layout) => {\n this.isMobileLayout = layout.isMobile;\n this.isMobileInteraction = layout.isMobile && !layout.canHover;\n return this.renderMain();\n }}\n </ResponsiveLayout>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = (): React.JSX.Element | null => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={this.cx(this.styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton(): React.JSX.Element | null {\n const hasCross =\n this.props.closeButton === undefined\n ? this.isMobileLayout || !Tooltip.triggersWithoutCloseButton.includes(this.getTrigger())\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={this.cx(this.styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\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(): void {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getTrigger();\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `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(): void {\n const trigger = this.getTrigger();\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `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 } = this.getProps();\n const trigger = this.getTrigger();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n {...(this.isMobileLayout ? {} : { maxWidth: 'none' })}\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.getPos()}\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 getTrigger = (): TooltipTrigger => {\n const trigger = this.getProps().trigger;\n return this.isMobileInteraction && Tooltip.triggersToOverrideOnMobile.includes(trigger) ? 'click' : trigger;\n };\n\n private getPos = (): TooltipProps['pos'] => {\n const positions = this.getPositions();\n const pos = this.props.pos;\n\n if (pos && positions.some((item) => item.startsWith(pos))) {\n return pos;\n }\n\n return positions[0];\n };\n\n private getPositions = (): PopupPositionsType[] => {\n const validPositions = this.isMobileLayout ? MobilePositions : DefaultPositions;\n\n return this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => validPositions.includes(item))\n : validPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\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.getTrigger();\n\n const defaultPopupAndLayerProps: ReturnType<typeof this.getPopupAndLayerProps> = {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\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 '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 case 'hoverAnchor':\n case 'hover':\n return defaultPopupAndLayerProps;\n default:\n warning(false, `Unknown trigger specified: ${trigger}. Returning default value.`);\n return defaultPopupAndLayerProps;\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 clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private clearClickTimeout() {\n if (this.clickTimeout) {\n this.globalObject.cancelAnimationFrame?.(this.clickTimeout);\n this.clickTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.isMobileInteraction) {\n return;\n }\n\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.isMobileInteraction) {\n return;\n }\n\n const trigger = this.getTrigger();\n if (trigger === 'hover&focus' && this.state.focused) {\n return;\n }\n\n // Transitioning between the anchor and the popup, including the hover-bridge and pin, must not trigger the close timeout.\n if (\n (trigger === 'hover' || trigger === 'hover&focus') &&\n this.isRelatedTargetInsideHoverArea(event.relatedTarget)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private isRelatedTargetInsideHoverArea = (relatedTarget: EventTarget | null): boolean => {\n if (!relatedTarget || !isInstanceOf(relatedTarget, this.globalObject.Element)) {\n return false;\n }\n\n const popupNode = this.popupRef.current?.getRootNode?.() ?? null;\n if (popupNode && containsTargetOrRenderContainer(relatedTarget)(popupNode)) {\n return true;\n }\n\n const anchorNode = this.getAnchorElement();\n if (anchorNode && isInstanceOf(anchorNode, this.globalObject.Element)) {\n return containsTargetOrRenderContainer(relatedTarget)(anchorNode);\n }\n\n return relatedTarget === this.contentElement;\n };\n\n private handleClick = () => {\n const toggleOpenState = () => {\n if (this.isMobileInteraction && this.state.opened) {\n this.close();\n return;\n }\n this.open();\n };\n\n if (this.isMobileInteraction) {\n // Don't lose change event of Checkbox/RadioGroup/Toggle on mobile tap\n this.clickTimeout = this.globalObject.requestAnimationFrame?.(() => {\n this.clickTimeout = null;\n toggleOpenState();\n });\n } else {\n toggleOpenState();\n }\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, this.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.getTrigger();\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 private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.size) {\n case 'small':\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: this.styles.closeButtonMedium(this.theme),\n contentStyle: this.styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: this.styles.closeButtonLarge(this.theme),\n contentStyle: this.styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n warning(false, `Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type JSX } from 'react';\nimport warning from 'warning';\n\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { PopupPositionsType, PopupProps, ShortPopupPositionsType } from '../../internal/Popup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport type { RenderLayerProps } from '../../internal/RenderLayer/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Emotion } from '../../lib/theming/Emotion.js';\nimport { memoizeTheme } from '../../lib/theming/memoizeTheme.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isNullable } from '../../lib/utils.js';\nimport type { MouseEventType } from '../../typings/event-types.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { ResponsiveLayout } from '../ResponsiveLayout/ResponsiveLayout.js';\nimport { getStyles } from './Tooltip.css.js';\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 /** @ignore */\n children?: React.ReactNode;\n\n /** Функция, возвращающая содержимое тултипа. При возврате `null` тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Размер тултипа.\n * @default small */\n size?: SizeProp;\n\n /** Приоритетное расположение тултипа относительно элемента. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Список позиций, которые может занимать тултип. В списке обязательно должна быть позиция из пропа `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Показывает крестик для закрытия тултипа.\n * По умолчанию крестик показывается, если проп `trigger` не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Элемент, относительно которого позиционируется тултип. */\n anchorElement?: HTMLElement;\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Оборачивает вложенные элементы в `<span />`.\n *\n * _Примечание_: при двух и более вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Задержка в миллисекундах до появления тултипа. */\n delayBeforeShow?: number;\n\n /** Событие нажатия на крестик. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Событие нажатия на крестик или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Событие закрытия тултипа. */\n onClose?: () => void;\n\n /** Событие открытия тултипа. */\n onOpen?: () => void;\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 DefaultPositions: 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\nconst MobilePositions: PopupPositionsType[] = [\n 'top right',\n 'top center',\n 'top left',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\nconst getTooltipTheme = memoizeTheme((theme: Theme, size: SizeProp) => {\n // неизвестный size — как small, так же как в getSizeVariables\n const suffix = ({ small: 'Small', medium: 'Medium', large: 'Large' } as const)[size] ?? 'Small';\n return ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme[`tooltipBorderRadius${suffix}`],\n popupPinSize: theme[`tooltipPinSize${suffix}`],\n popupPinOffsetX: theme[`tooltipPinOffsetX${suffix}`],\n popupPinOffsetY: theme[`tooltipPinOffsetY${suffix}`],\n popupMargin: theme[`tooltipMargin${suffix}`],\n },\n theme,\n );\n});\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * Подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусу на элемент или наведению.\n * Может содержать изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\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 defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n private static triggersToOverrideOnMobile: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private isMobileLayout = false;\n private isMobileInteraction = false;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private sizeVariables!: TooltipSizeVariables;\n private hoverTimeout: SafeTimer;\n private clickTimeout: Nullable<number>;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions(): string[] {\n return this.props.allowedPositions ? this.props.allowedPositions : DefaultPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n this.clearClickTimeout();\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider value={getTooltipTheme(theme, this.size)}>\n <ResponsiveLayout customMediaQueries={{ canHover: '(hover: hover)' }}>\n {(layout) => {\n this.isMobileLayout = layout.isMobile;\n this.isMobileInteraction = layout.isMobile && !layout.canHover;\n return this.renderMain();\n }}\n </ResponsiveLayout>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = (): React.JSX.Element | null => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={this.cx(this.styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton(): React.JSX.Element | null {\n const hasCross =\n this.props.closeButton === undefined\n ? this.isMobileLayout || !Tooltip.triggersWithoutCloseButton.includes(this.getTrigger())\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={this.cx(this.styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\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(): void {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getTrigger();\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `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(): void {\n const trigger = this.getTrigger();\n if (trigger === 'opened' || trigger === 'closed') {\n warning(false, `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 } = this.getProps();\n const trigger = this.getTrigger();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n {...(this.isMobileLayout ? {} : { maxWidth: 'none' })}\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.getPos()}\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 getTrigger = (): TooltipTrigger => {\n const trigger = this.getProps().trigger;\n return this.isMobileInteraction && Tooltip.triggersToOverrideOnMobile.includes(trigger) ? 'click' : trigger;\n };\n\n private getPos = (): TooltipProps['pos'] => {\n const positions = this.getPositions();\n const pos = this.props.pos;\n\n if (pos && positions.some((item) => item.startsWith(pos))) {\n return pos;\n }\n\n return positions[0];\n };\n\n private getPositions = (): PopupPositionsType[] => {\n const validPositions = this.isMobileLayout ? MobilePositions : DefaultPositions;\n\n return this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => validPositions.includes(item))\n : validPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\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.getTrigger();\n\n const defaultPopupAndLayerProps: ReturnType<typeof this.getPopupAndLayerProps> = {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\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 '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 case 'hoverAnchor':\n case 'hover':\n return defaultPopupAndLayerProps;\n default:\n warning(false, `Unknown trigger specified: ${trigger}. Returning default value.`);\n return defaultPopupAndLayerProps;\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 clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private clearClickTimeout() {\n if (this.clickTimeout) {\n this.globalObject.cancelAnimationFrame?.(this.clickTimeout);\n this.clickTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.isMobileInteraction) {\n return;\n }\n\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.isMobileInteraction) {\n return;\n }\n\n const trigger = this.getTrigger();\n if (trigger === 'hover&focus' && this.state.focused) {\n return;\n }\n\n // Transitioning between the anchor and the popup, including the hover-bridge and pin, must not trigger the close timeout.\n if (\n (trigger === 'hover' || trigger === 'hover&focus') &&\n this.isRelatedTargetInsideHoverArea(event.relatedTarget)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private isRelatedTargetInsideHoverArea = (relatedTarget: EventTarget | null): boolean => {\n if (!relatedTarget || !isInstanceOf(relatedTarget, this.globalObject.Element)) {\n return false;\n }\n\n const popupNode = this.popupRef.current?.getRootNode?.() ?? null;\n if (popupNode && containsTargetOrRenderContainer(relatedTarget)(popupNode)) {\n return true;\n }\n\n const anchorNode = this.getAnchorElement();\n if (anchorNode && isInstanceOf(anchorNode, this.globalObject.Element)) {\n return containsTargetOrRenderContainer(relatedTarget)(anchorNode);\n }\n\n return relatedTarget === this.contentElement;\n };\n\n private handleClick = () => {\n const toggleOpenState = () => {\n if (this.isMobileInteraction && this.state.opened) {\n this.close();\n return;\n }\n this.open();\n };\n\n if (this.isMobileInteraction) {\n // Don't lose change event of Checkbox/RadioGroup/Toggle on mobile tap\n this.clickTimeout = this.globalObject.requestAnimationFrame?.(() => {\n this.clickTimeout = null;\n toggleOpenState();\n });\n } else {\n toggleOpenState();\n }\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, this.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.getTrigger();\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 private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.size) {\n case 'small':\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: this.styles.closeButtonMedium(this.theme),\n contentStyle: this.styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: this.styles.closeButtonLarge(this.theme),\n contentStyle: this.styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n warning(false, `Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: this.styles.closeButtonSmall(this.theme),\n contentStyle: this.styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"]}
|
|
@@ -37,8 +37,17 @@ import { PopupMenu } from '../../internal/PopupMenu/index.js';
|
|
|
37
37
|
import { createPropsGetter } from '../../lib/createPropsGetter.js';
|
|
38
38
|
import { isTestEnv } from '../../lib/currentEnvironment.js';
|
|
39
39
|
import { rootNode } from '../../lib/rootNode/index.js';
|
|
40
|
+
import { memoizeTheme } from '../../lib/theming/memoizeTheme.js';
|
|
40
41
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
41
42
|
import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
|
|
43
|
+
var getTooltipMenuTheme = memoizeTheme(function (theme) {
|
|
44
|
+
return ThemeFactory.create({
|
|
45
|
+
popupPinOffsetX: theme.tooltipMenuPinOffsetX,
|
|
46
|
+
popupPinOffsetY: theme.tooltipMenuPinOffsetY,
|
|
47
|
+
popupMargin: theme.tooltipMenuMargin,
|
|
48
|
+
popupPinSize: theme.tooltipMenuPinSize,
|
|
49
|
+
}, theme);
|
|
50
|
+
});
|
|
42
51
|
export var TooltipMenuDataTids = {
|
|
43
52
|
root: 'TooltipMenu__root',
|
|
44
53
|
};
|
|
@@ -61,12 +70,7 @@ var TooltipMenu = /** @class */ (function (_super) {
|
|
|
61
70
|
TooltipMenu.prototype.render = function () {
|
|
62
71
|
var _this = this;
|
|
63
72
|
return (React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
64
|
-
return
|
|
65
|
-
popupPinOffsetX: theme.tooltipMenuPinOffsetX,
|
|
66
|
-
popupPinOffsetY: theme.tooltipMenuPinOffsetY,
|
|
67
|
-
popupMargin: theme.tooltipMenuMargin,
|
|
68
|
-
popupPinSize: theme.tooltipMenuPinSize,
|
|
69
|
-
}, theme) }, _this.renderMain()));
|
|
73
|
+
return React.createElement(ThemeContext.Provider, { value: getTooltipMenuTheme(theme) }, _this.renderMain());
|
|
70
74
|
}));
|
|
71
75
|
};
|
|
72
76
|
TooltipMenu.prototype.renderMain = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipMenu.js","sourceRoot":"","sources":["TooltipMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"TooltipMenu.js","sourceRoot":"","sources":["TooltipMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport type { PopupPositionsType } from '../../internal/Popup/index.js';\nimport { PopupMenu } from '../../internal/PopupMenu/index.js';\nimport type { PopupMenuProps } from '../../internal/PopupMenu/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { memoizeTheme } from '../../lib/theming/memoizeTheme.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { MenuHeaderProps } from '../MenuHeader/index.js';\nimport type { MenuItemProps } from '../MenuItem/index.js';\n\nconst getTooltipMenuTheme = memoizeTheme((theme: Theme) =>\n ThemeFactory.create(\n {\n popupPinOffsetX: theme.tooltipMenuPinOffsetX,\n popupPinOffsetY: theme.tooltipMenuPinOffsetY,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n ),\n);\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {\n /** Элемент или функция, которая возвращает кнопку-меню.\n * Примечание: при использовании функции, нее необходимо управлять открытием и закрытием меню. */\n caption: PopupMenuProps['caption'];\n /** @ignore */\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню. */\n menuMaxHeight?: number | string;\n /** Ширина меню. */\n menuWidth?: number | string;\n /** Элемент, который будет отрендерен в шапке меню.\n * Примечание: не поддерживается компонент MenuHeader, который ожидается только в `children` меню. */\n header?: React.ReactNode;\n /** Элемент, который будет отрендерен в подвале меню.\n * Перед элементом переданным в `footer` будет отрендерен `MenuSeparator`. */\n footer?: React.ReactNode;\n /** Список позиций для расположения выпадашки относительно caption.\n * Если во всех позициях выпадашка вылезает за пределы viewport, будет использована первая. */\n positions?: PopupPositionsType[];\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 * Выпадающее меню в тултипе `TooltipMenu`. Раскрывается по клику на переданный в `caption` элемент.\n *\n * Поддерживает настройку `header`, `footer`, позиций открытия `positions` и другие настройки внешнего вида.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n public static displayName = 'TooltipMenu';\n\n public getRootNode!: TGetRootNode;\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) {\n warning(false, 'Prop \"caption\" is required!!!');\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return <ThemeContext.Provider value={getTooltipMenuTheme(theme)}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): React.JSX.Element | null {\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"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const root: string;
|
|
2
|
+
export declare const focus: string;
|
|
3
|
+
export declare const clearCrossSmall: string;
|
|
4
|
+
export declare const clearCrossMedium: string;
|
|
5
|
+
export declare const clearCrossLarge: string;
|
|
6
|
+
export declare const relativeWidthSmall: string;
|
|
7
|
+
export declare const relativeWidthMedium: string;
|
|
8
|
+
export declare const relativeWidthLarge: string;
|
|
9
|
+
export declare const getStyles: (_emotion?: unknown) => {
|
|
10
|
+
[x: string]: (...args: unknown[]) => string;
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
|
|
3
|
+
export var clearCrossLarge = 'react-ui-ClearCrossIcon__clearCrossLarge';
|
|
4
|
+
export var clearCrossMedium = 'react-ui-ClearCrossIcon__clearCrossMedium';
|
|
5
|
+
export var clearCrossSmall = 'react-ui-ClearCrossIcon__clearCrossSmall';
|
|
6
|
+
export var focus = 'react-ui-ClearCrossIcon__focus';
|
|
7
|
+
export var getStyles = _b9cd9({root:'react-ui-ClearCrossIcon__root',focus:'react-ui-ClearCrossIcon__focus',clearCrossSmall:'react-ui-ClearCrossIcon__clearCrossSmall',clearCrossMedium:'react-ui-ClearCrossIcon__clearCrossMedium',clearCrossLarge:'react-ui-ClearCrossIcon__clearCrossLarge',relativeWidthSmall:'react-ui-ClearCrossIcon__relativeWidthSmall',relativeWidthMedium:'react-ui-ClearCrossIcon__relativeWidthMedium',relativeWidthLarge:'react-ui-ClearCrossIcon__relativeWidthLarge'});
|
|
8
|
+
export var relativeWidthLarge = 'react-ui-ClearCrossIcon__relativeWidthLarge';
|
|
9
|
+
export var relativeWidthMedium = 'react-ui-ClearCrossIcon__relativeWidthMedium';
|
|
10
|
+
export var relativeWidthSmall = 'react-ui-ClearCrossIcon__relativeWidthSmall';
|
|
11
|
+
export var root = 'react-ui-ClearCrossIcon__root';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClearCrossIcon.css.js","sourceRoot":"","sources":["ClearCrossIcon.css.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAE/D,kHAAkH;AAC1G,IAAO,UAAU,GAAiC,eAAe,MAAhD,EAAK,uBAAuB,UAAK,eAAe,EAAnE,SAAiD,CAAF,CAAqB;AAE1E,MAAM,CAAC,IAAM,IAAI,GAAG,KAAK,uBACpB,uBAAuB,KAC1B,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAC1C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,gBAAS,CAAC,CAAC,kBAAkB,cAAI,CAAC,CAAC,wBAAwB,CAAE,EACzE,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,CAAC,CAAC,mBAAmB,EACrC,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,oBAAa,CAAC,CAAC,gBAAgB,MAAG,EACzC,GAAG,EAAE,oBAAa,CAAC,CAAC,gBAAgB,MAAG,IACvC,CAAC;AAEH,MAAM,CAAC,IAAM,KAAK,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAElE,MAAM,CAAC,IAAM,eAAe,GAAG,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,wBAAwB;IACjC,MAAM,EAAE,CAAC,CAAC,yBAAyB;IACnC,YAAY,EAAE,CAAC,CAAC,+BAA+B;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG,KAAK,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,yBAAyB;IAClC,MAAM,EAAE,CAAC,CAAC,0BAA0B;IACpC,YAAY,EAAE,CAAC,CAAC,gCAAgC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,eAAe,GAAG,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,wBAAwB;IACjC,MAAM,EAAE,CAAC,CAAC,yBAAyB;IACnC,YAAY,EAAE,CAAC,CAAC,+BAA+B;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAElG,MAAM,CAAC,IAAM,mBAAmB,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAEpG,MAAM,CAAC,IAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAElG,qFAAqF;AACrF,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC5B,WAAW,CAAC,UAAG,IAAI,WAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAEpE,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC;IACpC,IAAI,MAAA;IACJ,KAAK,OAAA;IACL,eAAe,iBAAA;IACf,gBAAgB,kBAAA;IAChB,eAAe,iBAAA;IACf,kBAAkB,oBAAA;IAClB,mBAAmB,qBAAA;IACnB,kBAAkB,oBAAA;CACnB,CAAC,CAAC","sourcesContent":["import { globalStyle, style } from '@vanilla-extract/css';\n\nimport { resetButtonFocusInner, resetButtonRule } from '../../lib/styles/Mixins.js';\nimport { exportStyles, t } from '../../lib/theming/vanilla.js';\n\n// цвет из resetButtonRule уходит запасным значением к своему: Emotion ставил повтор на место последнего вхождения\nconst { color: resetColor, ...resetButtonWithoutColor } = resetButtonRule;\n\nexport const root = style({\n ...resetButtonWithoutColor,\n color: [resetColor, t.clearCrossIconColor],\n cursor: 'pointer',\n transition: `color ${t.transitionDuration} ${t.transitionTimingFunction}`,\n display: 'flex',\n justifyContent: t.clearCrossIconAlign,\n alignItems: 'center',\n position: 'absolute',\n right: `calc(-1 * ${t.inputBorderWidth})`,\n top: `calc(-1 * ${t.inputBorderWidth})`,\n});\n\nexport const focus = style({ color: t.clearCrossIconHoverColor });\n\nexport const clearCrossSmall = style({\n width: t.clearCrossIconWidthSmall,\n height: t.clearCrossIconHeightSmall,\n borderRadius: t.clearCrossIconBorderRadiusSmall,\n});\n\nexport const clearCrossMedium = style({\n width: t.clearCrossIconWidthMedium,\n height: t.clearCrossIconHeightMedium,\n borderRadius: t.clearCrossIconBorderRadiusMedium,\n});\n\nexport const clearCrossLarge = style({\n width: t.clearCrossIconWidthLarge,\n height: t.clearCrossIconHeightLarge,\n borderRadius: t.clearCrossIconBorderRadiusLarge,\n});\n\nexport const relativeWidthSmall = style({ display: 'inline-block', width: t.inputIconSizeSmall });\n\nexport const relativeWidthMedium = style({ display: 'inline-block', width: t.inputIconSizeMedium });\n\nexport const relativeWidthLarge = style({ display: 'inline-block', width: t.inputIconSizeLarge });\n\n// вложенные правила — после баз всех классов файла, как было в склеенном CSS Emotion\nresetButtonFocusInner(root);\nglobalStyle(`${root}:hover`, { color: t.clearCrossIconHoverColor });\n\nexport const getStyles = exportStyles({\n root,\n focus,\n clearCrossSmall,\n clearCrossMedium,\n clearCrossLarge,\n relativeWidthSmall,\n relativeWidthMedium,\n relativeWidthLarge,\n});\n"]}
|
|
@@ -25,7 +25,7 @@ import { useKeyListener } from '../../lib/events/keyListener.js';
|
|
|
25
25
|
import { useEmotion, useGlobal, useStyles } from '../../lib/renderEnvironment/index.js';
|
|
26
26
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
27
27
|
import { CommonWrapper } from '../CommonWrapper/index.js';
|
|
28
|
-
import { getStyles } from './ClearCrossIcon.
|
|
28
|
+
import { getStyles } from './ClearCrossIcon.css.js';
|
|
29
29
|
import { CrossIcon } from './CrossIcon.js';
|
|
30
30
|
export var ClearCrossIcon = function (_a) {
|
|
31
31
|
var _b = _a.size, size = _b === void 0 ? 'small' : _b, style = _a.style, dataTid = _a["data-tid"], rest = __rest(_a, ["size", "style", 'data-tid']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearCrossIcon.js","sourceRoot":"","sources":["ClearCrossIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ClearCrossIcon.js","sourceRoot":"","sources":["ClearCrossIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { TokenSize } from '../../components/Token/index.js';\nimport { useKeyListener } from '../../lib/events/keyListener.js';\nimport { useEmotion, useGlobal, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\nimport { getStyles } from './ClearCrossIcon.css.js';\nimport { CrossIcon } from './CrossIcon.js';\n\nexport interface ClearCrossIconProps\n extends Pick<AriaAttributes, 'aria-label'>, React.ButtonHTMLAttributes<HTMLButtonElement>, CommonProps {\n /** Ширина и высота иконки крестика\n * @default small */\n size?: SizeProp;\n 'data-tid'?: string;\n}\n\nexport const ClearCrossIcon: React.FunctionComponent<ClearCrossIconProps> = ({\n size = 'small',\n style,\n 'data-tid': dataTid,\n ...rest\n}) => {\n const globalObject = useGlobal();\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const theme = React.useContext(ThemeContext);\n const keyListener = useKeyListener();\n const getSizeClassNames = (size: TokenSize) => {\n switch (size) {\n case 'large':\n return { button: styles.clearCrossLarge(theme), span: styles.relativeWidthLarge(theme) };\n case 'medium':\n return { button: styles.clearCrossMedium(theme), span: styles.relativeWidthMedium(theme) };\n case 'small':\n default:\n return { button: styles.clearCrossSmall(theme), span: styles.relativeWidthSmall(theme) };\n }\n };\n\n const [focusedByTab, setFocusedByTab] = React.useState<boolean>(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n const handleBlur = () => setFocusedByTab(false);\n\n return (\n <CommonWrapper {...rest}>\n <span className={getSizeClassNames(size).span}>\n <button\n data-tid={dataTid}\n type=\"button\"\n tabIndex={-1}\n className={cx(\n styles.root(theme),\n // Todo: use &:focus-visible on root instead styles.focus. It supported on Chrome >= 86, Firefox >= 4, Safari >= 15.4\n focusedByTab && styles.focus(theme),\n getSizeClassNames(size).button,\n )}\n style={style}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <CrossIcon size={size} focusable />\n </button>\n </span>\n </CommonWrapper>\n );\n};\n\nClearCrossIcon.__KONTUR_REACT_UI__ = 'ClearCrossIcon';\nClearCrossIcon.displayName = 'ClearCrossIcon';\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const root: string;
|
|
2
|
+
export declare const inheritColor: string;
|
|
3
|
+
export declare const inheritHoverColor: string;
|
|
4
|
+
export declare const rootDisabled: string;
|
|
5
|
+
export declare const focus: string;
|
|
6
|
+
export declare const wrapper: string;
|
|
7
|
+
export declare const getStyles: (_emotion?: unknown) => {
|
|
8
|
+
[x: string]: (...args: unknown[]) => string;
|
|
9
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
|
|
3
|
+
export var focus = 'react-ui-CloseButtonIcon__focus';
|
|
4
|
+
export var getStyles = _b9cd9({root:'react-ui-CloseButtonIcon__root',inheritColor:'react-ui-CloseButtonIcon__inheritColor',inheritHoverColor:'react-ui-CloseButtonIcon__inheritHoverColor',rootDisabled:'react-ui-CloseButtonIcon__rootDisabled',focus:'react-ui-CloseButtonIcon__focus',wrapper:'react-ui-CloseButtonIcon__wrapper'});
|
|
5
|
+
export var inheritColor = 'react-ui-CloseButtonIcon__inheritColor';
|
|
6
|
+
export var inheritHoverColor = 'react-ui-CloseButtonIcon__inheritHoverColor';
|
|
7
|
+
export var root = 'react-ui-CloseButtonIcon__root';
|
|
8
|
+
export var rootDisabled = 'react-ui-CloseButtonIcon__rootDisabled';
|
|
9
|
+
export var wrapper = 'react-ui-CloseButtonIcon__wrapper';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloseButtonIcon.css.js","sourceRoot":"","sources":["CloseButtonIcon.css.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAE/D,kHAAkH;AAC1G,IAAO,UAAU,GAAiC,eAAe,MAAhD,EAAK,uBAAuB,UAAK,eAAe,EAAnE,SAAiD,CAAF,CAAqB;AAE1E,MAAM,CAAC,IAAM,IAAI,GAAG,KAAK,uBACpB,uBAAuB,KAC1B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,CAAC,CAAC,wBAAwB,EACxC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,EACxC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,gBAAS,CAAC,CAAC,kBAAkB,cAAI,CAAC,CAAC,wBAAwB,CAAE,IACzE,CAAC;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,IAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAM,CAAC,IAAM,YAAY,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE1E,MAAM,CAAC,IAAM,KAAK,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC;AAErE,MAAM,CAAC,IAAM,OAAO,GAAG,KAAK,CAAC;IAC3B,SAAS,EAAE,aAAa;IACxB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,MAAM;CACtB,CAAC,CAAC;AAEH,qFAAqF;AACrF,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC5B,WAAW,CAAC,UAAG,IAAI,6BAAmB,IAAI,mBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC;AACjG,WAAW,CAAC,UAAG,iBAAiB,6BAAmB,iBAAiB,mBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAE5G,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,YAAY,cAAA,EAAE,iBAAiB,mBAAA,EAAE,YAAY,cAAA,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC","sourcesContent":["import { globalStyle, style } from '@vanilla-extract/css';\n\nimport { resetButtonFocusInner, resetButtonRule } from '../../lib/styles/Mixins.js';\nimport { exportStyles, t } from '../../lib/theming/vanilla.js';\n\n// цвет из resetButtonRule уходит запасным значением к своему: Emotion ставил повтор на место последнего вхождения\nconst { color: resetColor, ...resetButtonWithoutColor } = resetButtonRule;\n\nexport const root = style({\n ...resetButtonWithoutColor,\n display: 'inline-block',\n position: 'relative',\n borderRadius: t.closeBtnIconBorderRadius,\n color: [resetColor, t.closeBtnIconColor],\n cursor: 'pointer',\n transition: `color ${t.transitionDuration} ${t.transitionTimingFunction}`,\n});\n\nexport const inheritColor = style({ color: 'inherit' });\n\nexport const inheritHoverColor = style({});\n\nexport const rootDisabled = style({ color: t.closeBtnIconDisabledColor });\n\nexport const focus = style({ boxShadow: t.closeBtnIconFocusShadow });\n\nexport const wrapper = style({\n boxSizing: 'content-box',\n display: 'flex',\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'none',\n});\n\n// вложенные правила — после баз всех классов файла, как было в склеенном CSS Emotion\nresetButtonFocusInner(root);\nglobalStyle(`${root}:enabled:focus, ${root}:enabled:hover`, { color: t.closeBtnIconHoverColor });\nglobalStyle(`${inheritHoverColor}:enabled:focus, ${inheritHoverColor}:enabled:hover`, { color: 'inherit' });\n\nexport const getStyles = exportStyles({ root, inheritColor, inheritHoverColor, rootDisabled, focus, wrapper });\n"]}
|