@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +280 -0
- package/README.md +7 -7
- package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
- package/cjs/components/Autocomplete/Autocomplete.js +64 -46
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +4 -1
- package/cjs/components/Button/Button.js +47 -17
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +6 -0
- package/cjs/components/Button/Button.styles.js +109 -76
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +13 -14
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +2 -0
- package/cjs/components/Calendar/Calendar.js +1 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.js +18 -2
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +7 -15
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +2 -0
- package/cjs/components/Center/Center.js +1 -0
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
- package/cjs/components/Checkbox/Checkbox.js +16 -32
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
- package/cjs/components/ComboBox/ComboBox.js +26 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/constants.js +1 -2
- package/cjs/components/CurrencyInput/constants.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +6 -1
- package/cjs/components/DateInput/DateInput.js +45 -17
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
- package/cjs/components/DatePicker/DatePicker.js +6 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -82
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +15 -2
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +13 -8
- package/cjs/components/FxInput/FxInput.js +137 -60
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +2 -15
- package/cjs/components/Gapped/Gapped.js +1 -24
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +5 -4
- package/cjs/components/Group/Group.js +91 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +2 -0
- package/cjs/components/Hint/Hint.js +1 -0
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +6 -5
- package/cjs/components/Input/Input.js +17 -47
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +0 -1
- package/cjs/components/Input/Input.styles.js +8 -19
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +4 -2
- package/cjs/components/Kebab/Kebab.js +9 -29
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +2 -0
- package/cjs/components/Link/Link.js +15 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.js +1 -2
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.js +3 -2
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +7 -36
- package/cjs/components/Loader/Loader.js +6 -56
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
- package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
- package/cjs/components/MaskedInput/MaskedInput.js +43 -4
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
- package/cjs/components/MenuItem/MenuItem.js +2 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +2 -1
- package/cjs/components/Modal/Modal.styles.js +40 -32
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -0
- package/cjs/components/Modal/ModalBody.js +1 -0
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +5 -0
- package/cjs/components/Modal/ModalHeader.js +8 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.js +1 -1
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Paging/DotsIcon.d.ts +3 -0
- package/cjs/components/Paging/DotsIcon.js +13 -0
- package/cjs/components/Paging/DotsIcon.js.map +1 -0
- package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
- package/cjs/components/Paging/ForwardIcon.js +13 -1
- package/cjs/components/Paging/ForwardIcon.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
- package/cjs/components/Paging/NavigationHelper.js +8 -6
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +13 -2
- package/cjs/components/Paging/Paging.js +120 -50
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +24 -1
- package/cjs/components/Paging/Paging.styles.js +151 -22
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Paging/PagingHelper.d.ts +1 -1
- package/cjs/components/Paging/PagingHelper.js +18 -11
- package/cjs/components/Paging/PagingHelper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
- package/cjs/components/PasswordInput/PasswordInput.js +21 -32
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +4 -1
- package/cjs/components/Radio/Radio.js +7 -4
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/cjs/components/RadioGroup/RadioGroup.js +19 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +7 -1
- package/cjs/components/Select/Select.js +13 -6
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +4 -2
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
- package/cjs/components/SidePage/SidePage.styles.js +52 -38
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
- package/cjs/components/SidePage/SidePageBody.js +1 -0
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
- package/cjs/components/SidePage/SidePageContainer.js +1 -0
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
- package/cjs/components/SidePage/SidePageFooter.js +1 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
- package/cjs/components/SidePage/SidePageHeader.js +63 -19
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
- package/cjs/components/SingleToast/SingleToast.js +58 -3
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +2 -18
- package/cjs/components/Spinner/Spinner.js +2 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +5 -13
- package/cjs/components/Sticky/Sticky.js +12 -18
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +6 -21
- package/cjs/components/Switcher/Switcher.js +11 -20
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +2 -0
- package/cjs/components/Tabs/Indicator.js +1 -0
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -0
- package/cjs/components/Tabs/Tab.js +1 -0
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +2 -0
- package/cjs/components/Tabs/Tabs.js +1 -0
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +10 -46
- package/cjs/components/Textarea/Textarea.js +23 -60
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +3 -2
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +62 -13
- package/cjs/components/Toast/Toast.js +119 -12
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +3 -2
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +8 -16
- package/cjs/components/Toast/ToastView.js +19 -22
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
- package/cjs/components/Toast/ToastView.styles.js +43 -9
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +4 -11
- package/cjs/components/Toggle/Toggle.js +4 -14
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +2 -0
- package/cjs/components/Token/Token.js +1 -0
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
- package/cjs/components/TokenInput/TokenInput.js +44 -30
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
- package/cjs/components/Tooltip/Tooltip.js +102 -17
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
- package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
- package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
- package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
- package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +13 -19
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
- package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +2 -0
- package/cjs/internal/Menu/Menu.js +1 -0
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +43 -60
- package/cjs/internal/Popup/Popup.js +41 -81
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
- package/cjs/internal/Popup/PopupPinNew.js +180 -0
- package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
- package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
- package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +20 -16
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
- package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -1
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
- package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/cjs/internal/themes/BasicTheme.d.ts +125 -20
- package/cjs/internal/themes/BasicTheme.js +172 -25
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_4.js +18 -0
- package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_4.js +18 -0
- package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
- package/cjs/internal/themes/consts.d.ts +8 -0
- package/cjs/internal/themes/consts.js +8 -0
- package/cjs/internal/themes/consts.js.map +1 -0
- package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
- package/cjs/lib/blink.d.ts +15 -0
- package/cjs/lib/blink.js +65 -0
- package/cjs/lib/blink.js.map +1 -0
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +8 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/delay.mts +3 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/getMenuPositions.d.ts +21 -1
- package/cjs/lib/getMenuPositions.js +45 -8
- package/cjs/lib/getMenuPositions.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/size/SizeControlContext.d.ts +6 -0
- package/cjs/lib/size/SizeControlContext.js +16 -0
- package/cjs/lib/size/SizeControlContext.js.map +1 -0
- package/cjs/lib/size/SizeDecorator.d.ts +33 -0
- package/cjs/lib/size/SizeDecorator.js +41 -0
- package/cjs/lib/size/SizeDecorator.js.map +1 -0
- package/cjs/lib/size/constants.d.ts +2 -0
- package/cjs/lib/size/constants.js +3 -0
- package/cjs/lib/size/constants.js.map +1 -0
- package/cjs/lib/size/index.d.ts +1 -0
- package/cjs/lib/size/index.js +1 -0
- package/cjs/lib/size/index.js.map +1 -0
- package/cjs/lib/size/useSizeControl.d.ts +2 -0
- package/cjs/lib/size/useSizeControl.js +10 -0
- package/cjs/lib/size/useSizeControl.js.map +1 -0
- package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
- package/cjs/lib/theming/themes/DarkTheme.js +6 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
- package/cjs/lib/theming/themes/LightTheme.js +6 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +18 -1
- package/cjs/lib/utils.js +40 -4
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/test-setup.d.ts +1 -0
- package/cjs/vitest.config.d.ts +2 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +18 -26
- package/components/Button/Button/Button.js +45 -24
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +4 -1
- package/components/Button/Button.styles/Button.styles.js +79 -61
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +6 -0
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +2 -0
- package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView/DayCellView.js +6 -10
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +2 -0
- package/components/Checkbox/Checkbox/Checkbox.js +12 -24
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +4 -16
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +22 -3
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
- package/components/CurrencyInput/constants/constants.js +0 -1
- package/components/CurrencyInput/constants/constants.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +34 -24
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +6 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +6 -33
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -47
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
- package/components/FileUploader/FileUploader/FileUploader.js +8 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js +122 -70
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +13 -8
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +2 -15
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +5 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +2 -0
- package/components/Input/Input/Input.js +23 -52
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +6 -5
- package/components/Input/Input.styles/Input.styles.js +9 -13
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +0 -1
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +8 -26
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +4 -2
- package/components/Link/Link/Link.js +8 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +2 -0
- package/components/Link/Link.mixins/Link.mixins.js +1 -1
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js +1 -1
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Loader/Loader/Loader.js +2 -34
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +7 -36
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +9 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +2 -12
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +32 -29
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +2 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -0
- package/components/Modal/ModalHeader/ModalHeader.js +3 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +5 -0
- package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Paging/DotsIcon/DotsIcon.js +14 -0
- package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
- package/components/Paging/DotsIcon/package.json +6 -0
- package/components/Paging/DotsIcon.d.ts +3 -0
- package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
- package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
- package/components/Paging/ForwardIcon.d.ts +3 -0
- package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/NavigationHelper.d.ts +3 -2
- package/components/Paging/Paging/Paging.js +96 -47
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +13 -2
- package/components/Paging/Paging.styles/Paging.styles.js +77 -16
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +24 -1
- package/components/Paging/PagingHelper/PagingHelper.js +16 -8
- package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
- package/components/Paging/PagingHelper.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +5 -12
- package/components/Radio/Radio/Radio.js +7 -7
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +4 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
- package/components/Select/Select/Select.js +17 -15
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +7 -1
- package/components/SidePage/SidePage/SidePage.js +3 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +3 -1
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +2 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +2 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +2 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +12 -2
- package/components/SingleToast/SingleToast/SingleToast.js +37 -12
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +33 -3
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +2 -18
- package/components/Sticky/Sticky/Sticky.js +10 -14
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +5 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +6 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +2 -0
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -0
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +2 -0
- package/components/Textarea/Textarea/Textarea.js +19 -52
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +10 -46
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +93 -32
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +62 -13
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js +20 -22
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +8 -16
- package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/ToastView.styles.d.ts +4 -0
- package/components/Toggle/Toggle/Toggle.js +11 -20
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +4 -11
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +2 -0
- package/components/TokenInput/TokenInput/TokenInput.js +49 -43
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +8 -3
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/components/Tooltip/Tooltip/Tooltip.js +77 -26
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +14 -8
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/Tooltip.styles.d.ts +7 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
- package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
- package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
- package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.d.ts +2 -0
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +4 -3
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +2 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -0
- package/internal/Popup/Popup/Popup.js +23 -69
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +43 -60
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
- package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
- package/internal/Popup/PopupPinNew/package.json +6 -0
- package/internal/Popup/PopupPinNew.d.ts +31 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
- package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
- package/internal/Popup/PopupPinNew.styles/package.json +6 -0
- package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +2 -3
- package/internal/ThemePlayground/Playground/Playground.js +21 -18
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
- package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +3 -3
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
- package/internal/themes/BasicTheme/BasicTheme.js +185 -30
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +125 -20
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
- package/internal/themes/DarkTheme5_4/package.json +6 -0
- package/internal/themes/DarkTheme5_4.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
- package/internal/themes/LightTheme5_4/package.json +6 -0
- package/internal/themes/LightTheme5_4.d.ts +1 -0
- package/internal/themes/consts/consts.js +9 -0
- package/internal/themes/consts/consts.js.map +1 -0
- package/internal/themes/consts/package.json +6 -0
- package/internal/themes/consts.d.ts +8 -0
- package/lib/__stories__/Blink.creevey.mts +90 -0
- package/lib/blink/blink.js +63 -0
- package/lib/blink/blink.js.map +1 -0
- package/lib/blink/package.json +6 -0
- package/lib/blink.d.ts +15 -0
- package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/delay.d.mts +1 -0
- package/lib/delay.mts +3 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/getMenuPositions/getMenuPositions.js +33 -4
- package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
- package/lib/getMenuPositions.d.ts +21 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
- package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
- package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
- package/lib/size/SizeControlContext/package.json +6 -0
- package/lib/size/SizeControlContext.d.ts +6 -0
- package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
- package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
- package/lib/size/SizeDecorator/package.json +6 -0
- package/lib/size/SizeDecorator.d.ts +33 -0
- package/lib/size/constants/constants.js +1 -0
- package/lib/size/constants/constants.js.map +1 -0
- package/lib/size/constants/package.json +6 -0
- package/lib/size/constants.d.ts +2 -0
- package/lib/size/index/index.js +1 -0
- package/lib/size/index/index.js.map +1 -0
- package/lib/size/index/package.json +6 -0
- package/lib/size/index.d.ts +1 -0
- package/lib/size/package.json +6 -0
- package/lib/size/useSizeControl/package.json +6 -0
- package/lib/size/useSizeControl/useSizeControl.js +7 -0
- package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
- package/lib/size/useSizeControl.d.ts +2 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +1 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +2 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +2 -0
- package/lib/utils/utils.js +33 -2
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +18 -1
- package/package.json +19 -36
- package/test-setup.d.ts +1 -0
- package/vitest.config.d.ts +2 -0
- package/cjs/components/Autocomplete/Autocomplete.md +0 -113
- package/cjs/components/Button/Button.md +0 -261
- package/cjs/components/Calendar/Calendar.md +0 -276
- package/cjs/components/Calendar/CalendarDay.md +0 -70
- package/cjs/components/Center/Center.md +0 -26
- package/cjs/components/Checkbox/Checkbox.md +0 -171
- package/cjs/components/ComboBox/ComboBox.md +0 -574
- package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/cjs/components/DateInput/DateInput.md +0 -111
- package/cjs/components/DatePicker/DatePicker.md +0 -368
- package/cjs/components/Dropdown/Dropdown.md +0 -45
- package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
- package/cjs/components/FileUploader/FileUploader.md +0 -131
- package/cjs/components/FxInput/FxInput.md +0 -31
- package/cjs/components/Gapped/Gapped.md +0 -44
- package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
- package/cjs/components/Group/Group.md +0 -19
- package/cjs/components/Hint/Hint.md +0 -86
- package/cjs/components/Input/Input.md +0 -87
- package/cjs/components/Kebab/Kebab.md +0 -306
- package/cjs/components/Link/Link.md +0 -182
- package/cjs/components/Loader/Loader.md +0 -33
- package/cjs/components/MaskedInput/MaskedInput.md +0 -114
- package/cjs/components/MenuFooter/MenuFooter.md +0 -27
- package/cjs/components/MenuHeader/MenuHeader.md +0 -35
- package/cjs/components/MenuItem/MenuItem.md +0 -139
- package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
- package/cjs/components/MiniModal/MiniModal.md +0 -231
- package/cjs/components/Modal/Modal.md +0 -56
- package/cjs/components/Paging/Paging.md +0 -57
- package/cjs/components/PasswordInput/PasswordInput.md +0 -29
- package/cjs/components/Radio/Radio.md +0 -57
- package/cjs/components/RadioGroup/RadioGroup.md +0 -44
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
- package/cjs/components/Select/Select.md +0 -113
- package/cjs/components/SidePage/SidePage.md +0 -65
- package/cjs/components/SingleToast/SingleToast.md +0 -36
- package/cjs/components/Spinner/Spinner.md +0 -36
- package/cjs/components/Sticky/Sticky.md +0 -28
- package/cjs/components/Switcher/Switcher.md +0 -111
- package/cjs/components/Tabs/Tab.md +0 -73
- package/cjs/components/Tabs/Tabs.md +0 -54
- package/cjs/components/Textarea/Textarea.md +0 -58
- package/cjs/components/Toast/Toast.md +0 -69
- package/cjs/components/Toggle/Toggle.md +0 -110
- package/cjs/components/Token/Token.md +0 -131
- package/cjs/components/TokenInput/TokenInput.md +0 -308
- package/cjs/components/Tooltip/Tooltip.md +0 -322
- package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
- package/cjs/internal/DataTids/DATATIDS.md +0 -12
- package/cjs/internal/DataTids/DataTids.d.ts +0 -12
- package/cjs/internal/DataTids/DataTids.js +0 -50
- package/cjs/internal/DataTids/DataTids.js.map +0 -1
- package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/cjs/internal/DataTids/DataTids.styles.js +0 -42
- package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
- package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/cjs/internal/DataTids/componentsDataTids.js +0 -15
- package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
- package/cjs/internal/ThemePlayground/Playground.md +0 -7
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
- package/cjs/lib/theming/ThemeContext.md +0 -265
- package/components/Autocomplete/Autocomplete.md +0 -113
- package/components/Button/Button.md +0 -261
- package/components/Calendar/Calendar.md +0 -276
- package/components/Calendar/CalendarDay.md +0 -70
- package/components/Center/Center.md +0 -26
- package/components/Checkbox/Checkbox.md +0 -171
- package/components/ComboBox/ComboBox.md +0 -574
- package/components/CurrencyInput/CurrencyInput.md +0 -39
- package/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/components/DateInput/DateInput.md +0 -111
- package/components/DatePicker/DatePicker.md +0 -368
- package/components/Dropdown/Dropdown.md +0 -45
- package/components/DropdownMenu/DropdownMenu.md +0 -290
- package/components/FileUploader/FileUploader.md +0 -131
- package/components/FxInput/FxInput.md +0 -31
- package/components/Gapped/Gapped.md +0 -44
- package/components/GlobalLoader/GlobalLoader.md +0 -97
- package/components/Group/Group.md +0 -19
- package/components/Hint/Hint.md +0 -86
- package/components/Input/Input.md +0 -87
- package/components/Kebab/Kebab.md +0 -306
- package/components/Link/Link.md +0 -182
- package/components/Loader/Loader.md +0 -33
- package/components/MaskedInput/MaskedInput.md +0 -114
- package/components/MenuFooter/MenuFooter.md +0 -27
- package/components/MenuHeader/MenuHeader.md +0 -35
- package/components/MenuItem/MenuItem.md +0 -139
- package/components/MenuSeparator/MenuSeparator.md +0 -14
- package/components/MiniModal/MiniModal.md +0 -231
- package/components/Modal/Modal.md +0 -56
- package/components/Paging/Paging.md +0 -57
- package/components/PasswordInput/PasswordInput.md +0 -29
- package/components/Radio/Radio.md +0 -57
- package/components/RadioGroup/RadioGroup.md +0 -44
- package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/components/ScrollContainer/ScrollContainer.md +0 -224
- package/components/Select/Select.md +0 -113
- package/components/SidePage/SidePage.md +0 -65
- package/components/SingleToast/SingleToast.md +0 -36
- package/components/Spinner/Spinner.md +0 -36
- package/components/Sticky/Sticky.md +0 -28
- package/components/Switcher/Switcher.md +0 -111
- package/components/Tabs/Tab.md +0 -73
- package/components/Tabs/Tabs.md +0 -54
- package/components/Textarea/Textarea.md +0 -58
- package/components/Toast/Toast.md +0 -69
- package/components/Toggle/Toggle.md +0 -110
- package/components/Token/Token.md +0 -131
- package/components/TokenInput/TokenInput.md +0 -308
- package/components/Tooltip/Tooltip.md +0 -322
- package/components/TooltipMenu/TooltipMenu.md +0 -241
- package/internal/DataTids/DATATIDS.md +0 -12
- package/internal/DataTids/DataTids/DataTids.js +0 -69
- package/internal/DataTids/DataTids/DataTids.js.map +0 -1
- package/internal/DataTids/DataTids/package.json +0 -6
- package/internal/DataTids/DataTids.d.ts +0 -12
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
- package/internal/DataTids/DataTids.styles/package.json +0 -6
- package/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
- package/internal/DataTids/componentsDataTids/package.json +0 -6
- package/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/internal/ThemePlayground/Playground.md +0 -7
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/lib/locale/LOCALECONTEXT.md +0 -222
- package/lib/theming/ThemeContext.md +0 -265
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import type { Nullable } from '../../typings/utility-types';
|
|
5
4
|
import type { Priority } from '../ZIndex';
|
|
6
5
|
import type { FocusEventType, MouseEventType } from '../../typings/event-types';
|
|
7
6
|
import type { CommonProps } from '../CommonWrapper';
|
|
7
|
+
import type { TGetRootNode } from '../../lib/rootNode';
|
|
8
8
|
import type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';
|
|
9
9
|
export declare const PopupNonPinnablePositions: string[];
|
|
10
10
|
export declare const PopupPinnablePositions: string[];
|
|
@@ -24,21 +24,57 @@ export interface PopupHandlerProps {
|
|
|
24
24
|
onClose?: () => void;
|
|
25
25
|
}
|
|
26
26
|
export interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
27
|
+
/**
|
|
28
|
+
* Ссылка (ref) на элемент или React компонент, для которого рисуется попап
|
|
29
|
+
*/
|
|
27
30
|
anchorElement: React.ReactNode | Element;
|
|
31
|
+
/**
|
|
32
|
+
* Фон попапа и пина
|
|
33
|
+
*/
|
|
28
34
|
backgroundColor?: React.CSSProperties['backgroundColor'];
|
|
29
35
|
borderColor?: React.CSSProperties['borderColor'];
|
|
30
36
|
children: React.ReactNode | (() => React.ReactNode);
|
|
37
|
+
/**
|
|
38
|
+
* Показывать ли пин
|
|
39
|
+
*/
|
|
31
40
|
hasPin?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Применять ли box-shadow на попапе. При false отключает границу на пине
|
|
43
|
+
*/
|
|
32
44
|
hasShadow?: boolean;
|
|
33
45
|
disableAnimations?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Отступ попапа от элемента
|
|
48
|
+
*/
|
|
34
49
|
margin?: number;
|
|
35
50
|
maxWidth?: number | string;
|
|
51
|
+
/**
|
|
52
|
+
* Показан или скрыт попап
|
|
53
|
+
*/
|
|
36
54
|
opened: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
57
|
+
*/
|
|
37
58
|
pinOffset?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Сторона пина без учёта границы.
|
|
61
|
+
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
62
|
+
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
63
|
+
*/
|
|
38
64
|
pinSize?: number;
|
|
65
|
+
/**
|
|
66
|
+
* смещение попапа относительно родительского элемента
|
|
67
|
+
*/
|
|
39
68
|
popupOffset?: number;
|
|
40
69
|
priority?: Priority;
|
|
70
|
+
/**
|
|
71
|
+
* С какой стороны показывать попап и край попапа,
|
|
72
|
+
* на котором будет отображаться пин
|
|
73
|
+
*/
|
|
41
74
|
positions?: Readonly<PopupPositionsType[]>;
|
|
75
|
+
/**
|
|
76
|
+
* Приоритетная позиция попапа
|
|
77
|
+
*/
|
|
42
78
|
pos?: PopupPositionsType | ShortPopupPositionsType;
|
|
43
79
|
/**
|
|
44
80
|
* Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
|
|
@@ -46,6 +82,9 @@ export interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerP
|
|
|
46
82
|
* _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
|
|
47
83
|
*/
|
|
48
84
|
useWrapper?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Игнорировать ли события hover/click
|
|
87
|
+
*/
|
|
49
88
|
ignoreHover?: boolean;
|
|
50
89
|
width?: React.CSSProperties['width'];
|
|
51
90
|
minWidth?: React.CSSProperties['minWidth'];
|
|
@@ -64,7 +103,7 @@ export interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerP
|
|
|
64
103
|
/**
|
|
65
104
|
* Возвращает текущую позицию попапа
|
|
66
105
|
*/
|
|
67
|
-
onPositionChange?: (pos: PopupPositionsType) => void;
|
|
106
|
+
onPositionChange?: (pos: PopupPositionsType, isFullyVisible: boolean) => void;
|
|
68
107
|
}
|
|
69
108
|
interface PopupLocation {
|
|
70
109
|
coordinates: {
|
|
@@ -72,6 +111,7 @@ interface PopupLocation {
|
|
|
72
111
|
top: number;
|
|
73
112
|
};
|
|
74
113
|
position: PopupPositionsType;
|
|
114
|
+
isFullyVisible: boolean;
|
|
75
115
|
}
|
|
76
116
|
export interface PopupState {
|
|
77
117
|
location: Nullable<PopupLocation>;
|
|
@@ -89,64 +129,6 @@ type DefaultProps = Required<Pick<PopupProps, 'popupOffset' | 'hasPin' | 'hasSha
|
|
|
89
129
|
export declare class Popup extends React.Component<PopupProps, PopupState> {
|
|
90
130
|
static __KONTUR_REACT_UI__: string;
|
|
91
131
|
static displayName: string;
|
|
92
|
-
static propTypes: {
|
|
93
|
-
/**
|
|
94
|
-
* Ссылка (ref) на элемент или React компонент, для которого рисуется попап
|
|
95
|
-
*/
|
|
96
|
-
anchorElement: PropTypes.Validator<NonNullable<NonNullable<HTMLElement | PropTypes.ReactNodeLike>>>;
|
|
97
|
-
/**
|
|
98
|
-
* Фон попапа и пина
|
|
99
|
-
*/
|
|
100
|
-
backgroundColor: PropTypes.Requireable<string>;
|
|
101
|
-
children: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.ReactNodeLike>>;
|
|
102
|
-
/**
|
|
103
|
-
* Показывать ли пин
|
|
104
|
-
*/
|
|
105
|
-
hasPin: PropTypes.Requireable<boolean>;
|
|
106
|
-
/**
|
|
107
|
-
* Применять ли box-shadow на попапе. При false отключает границу на пине
|
|
108
|
-
*/
|
|
109
|
-
hasShadow: PropTypes.Requireable<boolean>;
|
|
110
|
-
/**
|
|
111
|
-
* Отступ попапа от элемента
|
|
112
|
-
*/
|
|
113
|
-
margin: PropTypes.Requireable<number>;
|
|
114
|
-
/**
|
|
115
|
-
* Показан или скрыт попап
|
|
116
|
-
*/
|
|
117
|
-
opened: PropTypes.Requireable<boolean>;
|
|
118
|
-
/**
|
|
119
|
-
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
120
|
-
*/
|
|
121
|
-
pinOffset: PropTypes.Requireable<number>;
|
|
122
|
-
/**
|
|
123
|
-
* Сторона пина без учёта границы.
|
|
124
|
-
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
125
|
-
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
126
|
-
*/
|
|
127
|
-
pinSize: PropTypes.Requireable<number>;
|
|
128
|
-
/**
|
|
129
|
-
* смещение попапа относительно родительского элемента
|
|
130
|
-
*/
|
|
131
|
-
popupOffset: PropTypes.Requireable<number>;
|
|
132
|
-
/**
|
|
133
|
-
* С какой стороны показывать попап и край попапа,
|
|
134
|
-
* на котором будет отображаться пин
|
|
135
|
-
*/
|
|
136
|
-
positions: PropTypes.Requireable<any[]>;
|
|
137
|
-
/**
|
|
138
|
-
* Приоритетная позиция попапа
|
|
139
|
-
*/
|
|
140
|
-
pos: PropTypes.Requireable<string>;
|
|
141
|
-
/**
|
|
142
|
-
* Отключает использование портала
|
|
143
|
-
*/
|
|
144
|
-
disablePortal: PropTypes.Requireable<boolean>;
|
|
145
|
-
/**
|
|
146
|
-
* Игнорировать ли события hover/click
|
|
147
|
-
*/
|
|
148
|
-
ignoreHover: PropTypes.Requireable<boolean>;
|
|
149
|
-
};
|
|
150
132
|
static defaultProps: DefaultProps;
|
|
151
133
|
private getProps;
|
|
152
134
|
static readonly defaultRootNode: null;
|
|
@@ -157,6 +139,7 @@ export declare class Popup extends React.Component<PopupProps, PopupState> {
|
|
|
157
139
|
private locationUpdateId;
|
|
158
140
|
private lastPopupContentElement;
|
|
159
141
|
private isMobileLayout;
|
|
142
|
+
getRootNode: TGetRootNode;
|
|
160
143
|
private setRootNode;
|
|
161
144
|
private refForTransition;
|
|
162
145
|
private hasAnchorElementListeners;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import PropTypes from 'prop-types';
|
|
5
4
|
import { PopupHelper } from "../PopupHelper";
|
|
6
5
|
import { styles } from "../PopupPin.styles";
|
|
7
6
|
import { PopupDataTids } from "../Popup";
|
|
@@ -169,36 +168,4 @@ export var PopupPin = /*#__PURE__*/function (_React$Component) {
|
|
|
169
168
|
return PopupPin;
|
|
170
169
|
}(React.Component);
|
|
171
170
|
PopupPin.__KONTUR_REACT_UI__ = 'PopupPin';
|
|
172
|
-
PopupPin.displayName = 'PopupPin';
|
|
173
|
-
PopupPin.propTypes = {
|
|
174
|
-
/**
|
|
175
|
-
* Цвет фон пина
|
|
176
|
-
*/
|
|
177
|
-
backgroundColor: PropTypes.string,
|
|
178
|
-
/**
|
|
179
|
-
* Цвет границы пина
|
|
180
|
-
*/
|
|
181
|
-
borderColor: PropTypes.string,
|
|
182
|
-
/**
|
|
183
|
-
* Ширина границы пина
|
|
184
|
-
*/
|
|
185
|
-
borderWidth: PropTypes.number,
|
|
186
|
-
/**
|
|
187
|
-
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
188
|
-
*/
|
|
189
|
-
offset: PropTypes.number,
|
|
190
|
-
/**
|
|
191
|
-
* Ссылка на попап
|
|
192
|
-
*/
|
|
193
|
-
popupElement: PropTypes.any,
|
|
194
|
-
/**
|
|
195
|
-
* Позиция попапа, по которой будет вычислено положение пина
|
|
196
|
-
*/
|
|
197
|
-
popupPosition: PropTypes.string,
|
|
198
|
-
/**
|
|
199
|
-
* Сторона пина без учёта границы.
|
|
200
|
-
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
201
|
-
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
202
|
-
*/
|
|
203
|
-
size: PropTypes.number
|
|
204
|
-
};
|
|
171
|
+
PopupPin.displayName = 'PopupPin';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PropTypes","PopupHelper","styles","PopupDataTids","borderStyles","position","borderStyle","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","PopupPin","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","props","popupElement","options","getPinOptions","getElementAbsoluteRect","getPositionObject","popupPosition","size","offset","borderWidth","styleOuter","getOuterStyle","activeBorder","outerSize","borderColor","styleInner","getInnerStyle","backgroundColor","styleWrapper","getWrapperStyle","outerLeft","outerTop","createElement","popupPin","className","wrapper","style","getPopupOppositeDirection","popupDirection","direction","TypeError","left","top","_ref","_ref2","width","height","borderWitdth","_extends2","_extends3","_extends","_extends4","_extends5","popupRect","pinSize","pinOffset","bordersDelta","getPinLeftCoordinate","align","innerTop","innerLeft","getPinTopCoordinate","Error","pinHeight","Component","__KONTUR_REACT_UI__","displayName","propTypes","string","number","any"],"sources":["PopupPin.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nimport type { PositionObject, Rect } from './PopupHelper';\nimport { PopupHelper } from './PopupHelper';\nimport { styles } from './PopupPin.styles';\nimport { PopupDataTids } from './Popup';\n\nconst borderStyles = {\n position: 'absolute',\n borderStyle: 'solid',\n borderTopColor: 'transparent',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n};\n\ninterface Props {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n offset: number;\n popupElement: Nullable<Element>;\n popupPosition: string;\n size: number;\n}\n\nexport class PopupPin extends React.Component<Props> {\n public static __KONTUR_REACT_UI__ = 'PopupPin';\n public static displayName = 'PopupPin';\n\n public static propTypes = {\n /**\n * Цвет фон пина\n */\n backgroundColor: PropTypes.string,\n\n /**\n * Цвет границы пина\n */\n borderColor: PropTypes.string,\n\n /**\n * Ширина границы пина\n */\n borderWidth: PropTypes.number,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n offset: PropTypes.number,\n\n /**\n * Ссылка на попап\n */\n popupElement: PropTypes.any,\n\n /**\n * Позиция попапа, по которой будет вычислено положение пина\n */\n popupPosition: PropTypes.string,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n size: PropTypes.number,\n };\n\n public render() {\n if (!this.props.popupElement) {\n return null;\n }\n\n const options = this.getPinOptions(\n PopupHelper.getElementAbsoluteRect(this.props.popupElement),\n PopupHelper.getPositionObject(this.props.popupPosition),\n this.props.size,\n this.props.offset,\n this.props.borderWidth,\n );\n\n const styleOuter: React.CSSProperties = this.getOuterStyle(\n options.activeBorder,\n options.outerSize,\n this.props.borderColor,\n );\n\n const styleInner: React.CSSProperties = this.getInnerStyle(\n options.activeBorder,\n this.props.size,\n this.props.backgroundColor,\n );\n\n const styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);\n\n return (\n <div data-tid={PopupDataTids.popupPin} className={styles.wrapper()} style={styleWrapper}>\n <div style={styleOuter}>\n <div style={styleInner} />\n </div>\n </div>\n );\n }\n\n private getPopupOppositeDirection(): 'bottom' | 'top' | 'left' | 'right' {\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\n switch (popupDirection) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n throw new TypeError('Unknown direction ' + popupDirection);\n }\n }\n\n private getWrapperStyle(left: number, top: number, borderWidth: number) {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n [direction]: -borderWidth + 'px',\n left: left + 'px',\n width: borderWidth * 2 + 'px',\n height: borderWidth + 'px',\n };\n case 'left':\n case 'right':\n return {\n [direction]: -borderWidth + 'px',\n top: top + 'px',\n height: borderWidth * 2 + 'px',\n width: borderWidth + 'px',\n };\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getOuterStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n left: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n top: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getInnerStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n left: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n top: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getPinOptions(\n popupRect: Rect,\n popupPosition: PositionObject,\n pinSize: number,\n pinOffset: number,\n borderWidth: number,\n ) {\n const bordersDelta = 2 * borderWidth;\n const outerSize = pinSize + bordersDelta;\n\n switch (popupPosition.direction) {\n case 'top':\n return {\n outerTop: popupRect.height,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Top',\n outerSize,\n };\n case 'bottom':\n return {\n outerTop: -2 * outerSize,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize + 2 * bordersDelta,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Bottom',\n outerSize,\n };\n case 'left':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: popupRect.width,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize,\n activeBorder: 'Left',\n outerSize,\n };\n case 'right':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: -2 * outerSize,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize + 2 * bordersDelta,\n activeBorder: 'Right',\n outerSize,\n };\n default:\n throw new Error('Direction must be one of top, right, bottom, left');\n }\n }\n\n private getPinTopCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'top':\n return pinOffset;\n case 'middle':\n return popupRect.height / 2 - pinHeight;\n case 'bottom':\n return popupRect.height - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getPinLeftCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'left':\n return pinOffset;\n case 'center':\n return popupRect.width / 2 - pinHeight;\n case 'right':\n return popupRect.width - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","PopupHelper","styles","PopupDataTids","borderStyles","position","borderStyle","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","PopupPin","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","props","popupElement","options","getPinOptions","getElementAbsoluteRect","getPositionObject","popupPosition","size","offset","borderWidth","styleOuter","getOuterStyle","activeBorder","outerSize","borderColor","styleInner","getInnerStyle","backgroundColor","styleWrapper","getWrapperStyle","outerLeft","outerTop","createElement","popupPin","className","wrapper","style","getPopupOppositeDirection","popupDirection","direction","TypeError","left","top","_ref","_ref2","width","height","borderWitdth","_extends2","_extends3","_extends","_extends4","_extends5","popupRect","pinSize","pinOffset","bordersDelta","getPinLeftCoordinate","align","innerTop","innerLeft","getPinTopCoordinate","Error","pinHeight","Component","__KONTUR_REACT_UI__","displayName"],"sources":["PopupPin.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nimport type { PositionObject, Rect } from './PopupHelper';\nimport { PopupHelper } from './PopupHelper';\nimport { styles } from './PopupPin.styles';\nimport { PopupDataTids } from './Popup';\n\nconst borderStyles = {\n position: 'absolute',\n borderStyle: 'solid',\n borderTopColor: 'transparent',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n};\n\ninterface Props {\n /**\n * Цвет фон пина\n */\n backgroundColor: string;\n /**\n * Цвет границы пина\n */\n borderColor: string;\n /**\n * Ширина границы пина\n */\n borderWidth: number;\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n offset: number;\n /**\n * Ссылка на попап\n */\n popupElement: Nullable<Element>;\n /**\n * Позиция попапа, по которой будет вычислено положение пина\n */\n popupPosition: string;\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n size: number;\n}\n\nexport class PopupPin extends React.Component<Props> {\n public static __KONTUR_REACT_UI__ = 'PopupPin';\n public static displayName = 'PopupPin';\n\n public render() {\n if (!this.props.popupElement) {\n return null;\n }\n\n const options = this.getPinOptions(\n PopupHelper.getElementAbsoluteRect(this.props.popupElement),\n PopupHelper.getPositionObject(this.props.popupPosition),\n this.props.size,\n this.props.offset,\n this.props.borderWidth,\n );\n\n const styleOuter: React.CSSProperties = this.getOuterStyle(\n options.activeBorder,\n options.outerSize,\n this.props.borderColor,\n );\n\n const styleInner: React.CSSProperties = this.getInnerStyle(\n options.activeBorder,\n this.props.size,\n this.props.backgroundColor,\n );\n\n const styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);\n\n return (\n <div data-tid={PopupDataTids.popupPin} className={styles.wrapper()} style={styleWrapper}>\n <div style={styleOuter}>\n <div style={styleInner} />\n </div>\n </div>\n );\n }\n\n private getPopupOppositeDirection(): 'bottom' | 'top' | 'left' | 'right' {\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\n switch (popupDirection) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n throw new TypeError('Unknown direction ' + popupDirection);\n }\n }\n\n private getWrapperStyle(left: number, top: number, borderWidth: number) {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n [direction]: -borderWidth + 'px',\n left: left + 'px',\n width: borderWidth * 2 + 'px',\n height: borderWidth + 'px',\n };\n case 'left':\n case 'right':\n return {\n [direction]: -borderWidth + 'px',\n top: top + 'px',\n height: borderWidth * 2 + 'px',\n width: borderWidth + 'px',\n };\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getOuterStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n left: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n top: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getInnerStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n left: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n top: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getPinOptions(\n popupRect: Rect,\n popupPosition: PositionObject,\n pinSize: number,\n pinOffset: number,\n borderWidth: number,\n ) {\n const bordersDelta = 2 * borderWidth;\n const outerSize = pinSize + bordersDelta;\n\n switch (popupPosition.direction) {\n case 'top':\n return {\n outerTop: popupRect.height,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Top',\n outerSize,\n };\n case 'bottom':\n return {\n outerTop: -2 * outerSize,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize + 2 * bordersDelta,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Bottom',\n outerSize,\n };\n case 'left':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: popupRect.width,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize,\n activeBorder: 'Left',\n outerSize,\n };\n case 'right':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: -2 * outerSize,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize + 2 * bordersDelta,\n activeBorder: 'Right',\n outerSize,\n };\n default:\n throw new Error('Direction must be one of top, right, bottom, left');\n }\n }\n\n private getPinTopCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'top':\n return pinOffset;\n case 'middle':\n return popupRect.height / 2 - pinHeight;\n case 'bottom':\n return popupRect.height - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getPinLeftCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'left':\n return pinOffset;\n case 'center':\n return popupRect.width / 2 - pinHeight;\n case 'right':\n return popupRect.width - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,50 +1,40 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import type { Nullable } from '../../typings/utility-types';
|
|
4
3
|
interface Props {
|
|
4
|
+
/**
|
|
5
|
+
* Цвет фон пина
|
|
6
|
+
*/
|
|
5
7
|
backgroundColor: string;
|
|
8
|
+
/**
|
|
9
|
+
* Цвет границы пина
|
|
10
|
+
*/
|
|
6
11
|
borderColor: string;
|
|
12
|
+
/**
|
|
13
|
+
* Ширина границы пина
|
|
14
|
+
*/
|
|
7
15
|
borderWidth: number;
|
|
16
|
+
/**
|
|
17
|
+
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
18
|
+
*/
|
|
8
19
|
offset: number;
|
|
20
|
+
/**
|
|
21
|
+
* Ссылка на попап
|
|
22
|
+
*/
|
|
9
23
|
popupElement: Nullable<Element>;
|
|
24
|
+
/**
|
|
25
|
+
* Позиция попапа, по которой будет вычислено положение пина
|
|
26
|
+
*/
|
|
10
27
|
popupPosition: string;
|
|
28
|
+
/**
|
|
29
|
+
* Сторона пина без учёта границы.
|
|
30
|
+
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
31
|
+
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
32
|
+
*/
|
|
11
33
|
size: number;
|
|
12
34
|
}
|
|
13
35
|
export declare class PopupPin extends React.Component<Props> {
|
|
14
36
|
static __KONTUR_REACT_UI__: string;
|
|
15
37
|
static displayName: string;
|
|
16
|
-
static propTypes: {
|
|
17
|
-
/**
|
|
18
|
-
* Цвет фон пина
|
|
19
|
-
*/
|
|
20
|
-
backgroundColor: PropTypes.Requireable<string>;
|
|
21
|
-
/**
|
|
22
|
-
* Цвет границы пина
|
|
23
|
-
*/
|
|
24
|
-
borderColor: PropTypes.Requireable<string>;
|
|
25
|
-
/**
|
|
26
|
-
* Ширина границы пина
|
|
27
|
-
*/
|
|
28
|
-
borderWidth: PropTypes.Requireable<number>;
|
|
29
|
-
/**
|
|
30
|
-
* Смещение пина от края попапа. Край задаётся в пропе position вторым словом
|
|
31
|
-
*/
|
|
32
|
-
offset: PropTypes.Requireable<number>;
|
|
33
|
-
/**
|
|
34
|
-
* Ссылка на попап
|
|
35
|
-
*/
|
|
36
|
-
popupElement: PropTypes.Requireable<any>;
|
|
37
|
-
/**
|
|
38
|
-
* Позиция попапа, по которой будет вычислено положение пина
|
|
39
|
-
*/
|
|
40
|
-
popupPosition: PropTypes.Requireable<string>;
|
|
41
|
-
/**
|
|
42
|
-
* Сторона пина без учёта границы.
|
|
43
|
-
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
44
|
-
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
45
|
-
*/
|
|
46
|
-
size: PropTypes.Requireable<number>;
|
|
47
|
-
};
|
|
48
38
|
render(): React.JSX.Element | null;
|
|
49
39
|
private getPopupOppositeDirection;
|
|
50
40
|
private getWrapperStyle;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { cx } from "../../../lib/theming/Emotion";
|
|
4
|
+
import { PopupHelper } from "../PopupHelper";
|
|
5
|
+
import { styles } from "../PopupPinNew.styles";
|
|
6
|
+
import { PopupDataTids } from "../Popup";
|
|
7
|
+
export var PopupPinNew = /*#__PURE__*/function (_React$Component) {
|
|
8
|
+
function PopupPinNew() {
|
|
9
|
+
var _this;
|
|
10
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
11
|
+
args[_key] = arguments[_key];
|
|
12
|
+
}
|
|
13
|
+
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
14
|
+
_this.getPinInlineStyle = function (left, top) {
|
|
15
|
+
var _ref, _ref2;
|
|
16
|
+
var direction = _this.getPopupOppositeDirection();
|
|
17
|
+
if (!direction) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Добавляем запас в 1px, чтобы пофиксить случайные отделения пинов
|
|
22
|
+
var correctedLeft = left - 1;
|
|
23
|
+
var correctedTop = top - 1;
|
|
24
|
+
var correctedSize = _this.props.size + 1;
|
|
25
|
+
switch (direction) {
|
|
26
|
+
case 'top':
|
|
27
|
+
case 'bottom':
|
|
28
|
+
return _ref = {}, _ref[direction] = -_this.props.size + 'px', _ref.left = correctedLeft + 'px', _ref.width = correctedSize * 2 + 'px', _ref.height = correctedSize + 'px', _ref.backgroundColor = _this.props.backgroundColor, _ref;
|
|
29
|
+
case 'left':
|
|
30
|
+
case 'right':
|
|
31
|
+
return _ref2 = {}, _ref2[direction] = -_this.props.size + 'px', _ref2.top = correctedTop + 'px', _ref2.height = correctedSize * 2 + 'px', _ref2.width = correctedSize + 'px', _ref2.backgroundColor = _this.props.backgroundColor, _ref2;
|
|
32
|
+
default:
|
|
33
|
+
console.error("Can't get inline style: invalid direction '" + direction + "'. Returning default");
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
_this.getPinCoordinates = function (popupElement) {
|
|
37
|
+
var popupRect = PopupHelper.getElementAbsoluteRect(popupElement);
|
|
38
|
+
var _this$positionObject = _this.positionObject,
|
|
39
|
+
direction = _this$positionObject.direction,
|
|
40
|
+
align = _this$positionObject.align;
|
|
41
|
+
switch (direction) {
|
|
42
|
+
case 'top':
|
|
43
|
+
return {
|
|
44
|
+
top: popupRect.height,
|
|
45
|
+
left: _this.getPinLeftCoordinate(popupRect, align)
|
|
46
|
+
};
|
|
47
|
+
case 'bottom':
|
|
48
|
+
return {
|
|
49
|
+
top: -2 * _this.props.size,
|
|
50
|
+
left: _this.getPinLeftCoordinate(popupRect, align)
|
|
51
|
+
};
|
|
52
|
+
case 'left':
|
|
53
|
+
return {
|
|
54
|
+
top: _this.getPinTopCoordinate(popupRect, align),
|
|
55
|
+
left: popupRect.width
|
|
56
|
+
};
|
|
57
|
+
case 'right':
|
|
58
|
+
return {
|
|
59
|
+
top: _this.getPinTopCoordinate(popupRect, align),
|
|
60
|
+
left: -2 * _this.props.size
|
|
61
|
+
};
|
|
62
|
+
default:
|
|
63
|
+
console.error("Can't get coordinate: invalid direction '" + direction + "'.");
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
_this.getPinTopCoordinate = function (popupRect, align) {
|
|
67
|
+
switch (align) {
|
|
68
|
+
case 'top':
|
|
69
|
+
return _this.props.offset;
|
|
70
|
+
case 'middle':
|
|
71
|
+
return popupRect.height / 2 - _this.props.size;
|
|
72
|
+
case 'bottom':
|
|
73
|
+
return popupRect.height - _this.props.offset - 2 * _this.props.size;
|
|
74
|
+
default:
|
|
75
|
+
console.error("Can't get coordinate: invalid align '" + align + "'.");
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
_this.getPinLeftCoordinate = function (popupRect, align) {
|
|
79
|
+
switch (align) {
|
|
80
|
+
case 'left':
|
|
81
|
+
return _this.props.offset;
|
|
82
|
+
case 'center':
|
|
83
|
+
return popupRect.width / 2 - _this.props.size;
|
|
84
|
+
case 'right':
|
|
85
|
+
return popupRect.width - _this.props.offset - 2 * _this.props.size;
|
|
86
|
+
default:
|
|
87
|
+
console.error("Can't get coordinate: invalid align '" + align + "'.");
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
_this.getPinDirectionalStyle = function () {
|
|
91
|
+
switch (_this.positionObject.direction) {
|
|
92
|
+
case 'top':
|
|
93
|
+
return styles.pinTop();
|
|
94
|
+
case 'bottom':
|
|
95
|
+
return styles.pinBottom();
|
|
96
|
+
case 'left':
|
|
97
|
+
return styles.pinLeft();
|
|
98
|
+
case 'right':
|
|
99
|
+
return styles.pinRight();
|
|
100
|
+
default:
|
|
101
|
+
console.error("Can't get directional style: invalid direction '" + _this.positionObject.direction + "'.");
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
return _this;
|
|
105
|
+
}
|
|
106
|
+
_inheritsLoose(PopupPinNew, _React$Component);
|
|
107
|
+
var _proto = PopupPinNew.prototype;
|
|
108
|
+
_proto.render = function render() {
|
|
109
|
+
if (!this.props.popupElement) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
this.positionObject = PopupHelper.getPositionObject(this.props.popupPosition);
|
|
113
|
+
var coords = this.getPinCoordinates(this.props.popupElement);
|
|
114
|
+
if (!coords || !coords.left || !coords.top) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
var inlineStyle = this.getPinInlineStyle(coords.left, coords.top);
|
|
118
|
+
var directionalStyle = this.getPinDirectionalStyle();
|
|
119
|
+
if (!inlineStyle || !directionalStyle) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
123
|
+
"data-tid": PopupDataTids.popupPin,
|
|
124
|
+
className: cx(styles.pin(), directionalStyle),
|
|
125
|
+
style: inlineStyle
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
_proto.getPopupOppositeDirection = function getPopupOppositeDirection() {
|
|
129
|
+
var popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;
|
|
130
|
+
switch (popupDirection) {
|
|
131
|
+
case 'top':
|
|
132
|
+
return 'bottom';
|
|
133
|
+
case 'bottom':
|
|
134
|
+
return 'top';
|
|
135
|
+
case 'left':
|
|
136
|
+
return 'right';
|
|
137
|
+
case 'right':
|
|
138
|
+
return 'left';
|
|
139
|
+
default:
|
|
140
|
+
console.error("Can't get opposite direction: invalid direction '" + popupDirection + "'");
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
return PopupPinNew;
|
|
144
|
+
}(React.Component);
|
|
145
|
+
PopupPinNew.__KONTUR_REACT_UI__ = 'PopupPin';
|
|
146
|
+
PopupPinNew.displayName = 'PopupPin';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","cx","PopupHelper","styles","PopupDataTids","PopupPinNew","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getPinInlineStyle","left","top","_ref","_ref2","direction","getPopupOppositeDirection","correctedLeft","correctedTop","correctedSize","props","size","width","height","backgroundColor","console","error","getPinCoordinates","popupElement","popupRect","getElementAbsoluteRect","_this$positionObject","positionObject","align","getPinLeftCoordinate","getPinTopCoordinate","offset","getPinDirectionalStyle","pinTop","pinBottom","pinLeft","pinRight","_inheritsLoose","_proto","prototype","render","getPositionObject","popupPosition","coords","inlineStyle","directionalStyle","createElement","popupPin","className","pin","style","popupDirection","Component","__KONTUR_REACT_UI__","displayName"],"sources":["PopupPinNew.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport type { PositionObject, Rect } from './PopupHelper';\nimport { PopupHelper } from './PopupHelper';\nimport { styles } from './PopupPinNew.styles';\nimport { PopupDataTids } from './Popup';\n\ninterface PopupPinProps {\n /** Цвет фона пина */\n backgroundColor: string;\n\n /** Смещение пина от края попапа. Край задаётся в пропе position вторым словом */\n offset: number;\n\n /** Ссылка на попап */\n popupElement?: Nullable<Element>;\n\n /** Позиция попапа, по которой будет вычислено положение пина */\n popupPosition: string;\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n size: number;\n}\n\nexport class PopupPinNew extends React.Component<PopupPinProps> {\n public static __KONTUR_REACT_UI__ = 'PopupPin';\n public static displayName = 'PopupPin';\n\n private positionObject!: PositionObject;\n\n public render() {\n if (!this.props.popupElement) {\n return null;\n }\n\n this.positionObject = PopupHelper.getPositionObject(this.props.popupPosition);\n\n const coords = this.getPinCoordinates(this.props.popupElement);\n if (!coords || !coords.left || !coords.top) {\n return null;\n }\n\n const inlineStyle = this.getPinInlineStyle(coords.left, coords.top);\n const directionalStyle = this.getPinDirectionalStyle();\n if (!inlineStyle || !directionalStyle) {\n return null;\n }\n\n return (\n <div data-tid={PopupDataTids.popupPin} className={cx(styles.pin(), directionalStyle)} style={inlineStyle}></div>\n );\n }\n\n private getPopupOppositeDirection() {\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\n switch (popupDirection) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n console.error(`Can't get opposite direction: invalid direction '${popupDirection}'`);\n }\n }\n\n private getPinInlineStyle = (left: number, top: number) => {\n const direction = this.getPopupOppositeDirection();\n if (!direction) {\n return;\n }\n\n // Добавляем запас в 1px, чтобы пофиксить случайные отделения пинов\n const correctedLeft = left - 1;\n const correctedTop = top - 1;\n const correctedSize = this.props.size + 1;\n\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n [direction]: -this.props.size + 'px',\n left: correctedLeft + 'px',\n width: correctedSize * 2 + 'px',\n height: correctedSize + 'px',\n backgroundColor: this.props.backgroundColor,\n };\n case 'left':\n case 'right':\n return {\n [direction]: -this.props.size + 'px',\n top: correctedTop + 'px',\n height: correctedSize * 2 + 'px',\n width: correctedSize + 'px',\n backgroundColor: this.props.backgroundColor,\n };\n default:\n console.error(`Can't get inline style: invalid direction '${direction}'. Returning default`);\n }\n };\n\n private getPinCoordinates = (popupElement: Element) => {\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n const { direction, align } = this.positionObject;\n switch (direction) {\n case 'top':\n return {\n top: popupRect.height,\n left: this.getPinLeftCoordinate(popupRect, align),\n };\n case 'bottom':\n return {\n top: -2 * this.props.size,\n left: this.getPinLeftCoordinate(popupRect, align),\n };\n case 'left':\n return {\n top: this.getPinTopCoordinate(popupRect, align),\n left: popupRect.width,\n };\n case 'right':\n return {\n top: this.getPinTopCoordinate(popupRect, align),\n left: -2 * this.props.size,\n };\n default:\n console.error(`Can't get coordinate: invalid direction '${direction}'.`);\n }\n };\n\n private getPinTopCoordinate = (popupRect: Rect, align: string) => {\n switch (align) {\n case 'top':\n return this.props.offset;\n case 'middle':\n return popupRect.height / 2 - this.props.size;\n case 'bottom':\n return popupRect.height - this.props.offset - 2 * this.props.size;\n default:\n console.error(`Can't get coordinate: invalid align '${align}'.`);\n }\n };\n\n private getPinLeftCoordinate = (popupRect: Rect, align: string) => {\n switch (align) {\n case 'left':\n return this.props.offset;\n case 'center':\n return popupRect.width / 2 - this.props.size;\n case 'right':\n return popupRect.width - this.props.offset - 2 * this.props.size;\n default:\n console.error(`Can't get coordinate: invalid align '${align}'.`);\n }\n };\n\n private getPinDirectionalStyle = () => {\n switch (this.positionObject.direction) {\n case 'top':\n return styles.pinTop();\n case 'bottom':\n return styles.pinBottom();\n case 'left':\n return styles.pinLeft();\n case 'right':\n return styles.pinRight();\n default:\n console.error(`Can't get directional style: invalid direction '${this.positionObject.direction}'.`);\n }\n };\n}\n"],"mappings":"sEAAA,OAAOA,KAAK,MAAM,OAAO;;;AAGzB,SAASC,EAAE,QAAQ,2BAA2B;;;AAG9C,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,aAAa,QAAQ,SAAS;;;;;;;;;;;;;;;;;;;;;;;AAuBvC,WAAaC,WAAW,0BAAAC,gBAAA,YAAAD,YAAA,OAAAE,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6CdU,iBAAiB,GAAG,UAACC,IAAY,EAAEC,GAAW,EAAK,KAAAC,IAAA,EAAAC,KAAA;MACzD,IAAMC,SAAS,GAAGf,KAAA,CAAKgB,yBAAyB,CAAC,CAAC;MAClD,IAAI,CAACD,SAAS,EAAE;QACd;MACF;;MAEA;MACA,IAAME,aAAa,GAAGN,IAAI,GAAG,CAAC;MAC9B,IAAMO,YAAY,GAAGN,GAAG,GAAG,CAAC;MAC5B,IAAMO,aAAa,GAAGnB,KAAA,CAAKoB,KAAK,CAACC,IAAI,GAAG,CAAC;;MAEzC,QAAQN,SAAS;QACf,KAAK,KAAK;QACV,KAAK,QAAQ;UACX,OAAAF,IAAA,OAAAA,IAAA;UACGE,SAAS,IAAG,CAACf,KAAA,CAAKoB,KAAK,CAACC,IAAI,GAAG,IAAI,EAAAR,IAAA;UACpCF,IAAI,GAAEM,aAAa,GAAG,IAAI,EAAAJ,IAAA;UAC1BS,KAAK,GAAEH,aAAa,GAAG,CAAC,GAAG,IAAI,EAAAN,IAAA;UAC/BU,MAAM,GAAEJ,aAAa,GAAG,IAAI,EAAAN,IAAA;UAC5BW,eAAe,GAAExB,KAAA,CAAKoB,KAAK,CAACI,eAAe,EAAAX,IAAA;;QAE/C,KAAK,MAAM;QACX,KAAK,OAAO;UACV,OAAAC,KAAA,OAAAA,KAAA;UACGC,SAAS,IAAG,CAACf,KAAA,CAAKoB,KAAK,CAACC,IAAI,GAAG,IAAI,EAAAP,KAAA;UACpCF,GAAG,GAAEM,YAAY,GAAG,IAAI,EAAAJ,KAAA;UACxBS,MAAM,GAAEJ,aAAa,GAAG,CAAC,GAAG,IAAI,EAAAL,KAAA;UAChCQ,KAAK,GAAEH,aAAa,GAAG,IAAI,EAAAL,KAAA;UAC3BU,eAAe,GAAExB,KAAA,CAAKoB,KAAK,CAACI,eAAe,EAAAV,KAAA;;QAE/C;UACEW,OAAO,CAACC,KAAK,iDAA+CX,SAAS,yBAAsB,CAAC;MAChG;IACF,CAAC,CAAAf,KAAA;;IAEO2B,iBAAiB,GAAG,UAACC,YAAqB,EAAK;MACrD,IAAMC,SAAS,GAAGlC,WAAW,CAACmC,sBAAsB,CAACF,YAAY,CAAC;MAClE,IAAAG,oBAAA,GAA6B/B,KAAA,CAAKgC,cAAc,CAAxCjB,SAAS,GAAAgB,oBAAA,CAAThB,SAAS,CAAEkB,KAAK,GAAAF,oBAAA,CAALE,KAAK;MACxB,QAAQlB,SAAS;QACf,KAAK,KAAK;UACR,OAAO;YACLH,GAAG,EAAEiB,SAAS,CAACN,MAAM;YACrBZ,IAAI,EAAEX,KAAA,CAAKkC,oBAAoB,CAACL,SAAS,EAAEI,KAAK;UAClD,CAAC;QACH,KAAK,QAAQ;UACX,OAAO;YACLrB,GAAG,EAAE,CAAC,CAAC,GAAGZ,KAAA,CAAKoB,KAAK,CAACC,IAAI;YACzBV,IAAI,EAAEX,KAAA,CAAKkC,oBAAoB,CAACL,SAAS,EAAEI,KAAK;UAClD,CAAC;QACH,KAAK,MAAM;UACT,OAAO;YACLrB,GAAG,EAAEZ,KAAA,CAAKmC,mBAAmB,CAACN,SAAS,EAAEI,KAAK,CAAC;YAC/CtB,IAAI,EAAEkB,SAAS,CAACP;UAClB,CAAC;QACH,KAAK,OAAO;UACV,OAAO;YACLV,GAAG,EAAEZ,KAAA,CAAKmC,mBAAmB,CAACN,SAAS,EAAEI,KAAK,CAAC;YAC/CtB,IAAI,EAAE,CAAC,CAAC,GAAGX,KAAA,CAAKoB,KAAK,CAACC;UACxB,CAAC;QACH;UACEI,OAAO,CAACC,KAAK,+CAA6CX,SAAS,OAAI,CAAC;MAC5E;IACF,CAAC,CAAAf,KAAA;;IAEOmC,mBAAmB,GAAG,UAACN,SAAe,EAAEI,KAAa,EAAK;MAChE,QAAQA,KAAK;QACX,KAAK,KAAK;UACR,OAAOjC,KAAA,CAAKoB,KAAK,CAACgB,MAAM;QAC1B,KAAK,QAAQ;UACX,OAAOP,SAAS,CAACN,MAAM,GAAG,CAAC,GAAGvB,KAAA,CAAKoB,KAAK,CAACC,IAAI;QAC/C,KAAK,QAAQ;UACX,OAAOQ,SAAS,CAACN,MAAM,GAAGvB,KAAA,CAAKoB,KAAK,CAACgB,MAAM,GAAG,CAAC,GAAGpC,KAAA,CAAKoB,KAAK,CAACC,IAAI;QACnE;UACEI,OAAO,CAACC,KAAK,2CAAyCO,KAAK,OAAI,CAAC;MACpE;IACF,CAAC,CAAAjC,KAAA;;IAEOkC,oBAAoB,GAAG,UAACL,SAAe,EAAEI,KAAa,EAAK;MACjE,QAAQA,KAAK;QACX,KAAK,MAAM;UACT,OAAOjC,KAAA,CAAKoB,KAAK,CAACgB,MAAM;QAC1B,KAAK,QAAQ;UACX,OAAOP,SAAS,CAACP,KAAK,GAAG,CAAC,GAAGtB,KAAA,CAAKoB,KAAK,CAACC,IAAI;QAC9C,KAAK,OAAO;UACV,OAAOQ,SAAS,CAACP,KAAK,GAAGtB,KAAA,CAAKoB,KAAK,CAACgB,MAAM,GAAG,CAAC,GAAGpC,KAAA,CAAKoB,KAAK,CAACC,IAAI;QAClE;UACEI,OAAO,CAACC,KAAK,2CAAyCO,KAAK,OAAI,CAAC;MACpE;IACF,CAAC,CAAAjC,KAAA;;IAEOqC,sBAAsB,GAAG,YAAM;MACrC,QAAQrC,KAAA,CAAKgC,cAAc,CAACjB,SAAS;QACnC,KAAK,KAAK;UACR,OAAOnB,MAAM,CAAC0C,MAAM,CAAC,CAAC;QACxB,KAAK,QAAQ;UACX,OAAO1C,MAAM,CAAC2C,SAAS,CAAC,CAAC;QAC3B,KAAK,MAAM;UACT,OAAO3C,MAAM,CAAC4C,OAAO,CAAC,CAAC;QACzB,KAAK,OAAO;UACV,OAAO5C,MAAM,CAAC6C,QAAQ,CAAC,CAAC;QAC1B;UACEhB,OAAO,CAACC,KAAK,sDAAoD1B,KAAA,CAAKgC,cAAc,CAACjB,SAAS,OAAI,CAAC;MACvG;IACF,CAAC,QAAAf,KAAA,EAAA0C,cAAA,CAAA5C,WAAA,EAAAC,gBAAA,MAAA4C,MAAA,GAAA7C,WAAA,CAAA8C,SAAA,CAAAD,MAAA,CA9IME,MAAM,GAAb,SAAAA,OAAA,EAAgB,CACd,IAAI,CAAC,IAAI,CAACzB,KAAK,CAACQ,YAAY,EAAE,CAC5B,OAAO,IAAI,CACb,CAEA,IAAI,CAACI,cAAc,GAAGrC,WAAW,CAACmD,iBAAiB,CAAC,IAAI,CAAC1B,KAAK,CAAC2B,aAAa,CAAC,CAE7E,IAAMC,MAAM,GAAG,IAAI,CAACrB,iBAAiB,CAAC,IAAI,CAACP,KAAK,CAACQ,YAAY,CAAC,CAC9D,IAAI,CAACoB,MAAM,IAAI,CAACA,MAAM,CAACrC,IAAI,IAAI,CAACqC,MAAM,CAACpC,GAAG,EAAE,CAC1C,OAAO,IAAI,CACb,CAEA,IAAMqC,WAAW,GAAG,IAAI,CAACvC,iBAAiB,CAACsC,MAAM,CAACrC,IAAI,EAAEqC,MAAM,CAACpC,GAAG,CAAC,CACnE,IAAMsC,gBAAgB,GAAG,IAAI,CAACb,sBAAsB,CAAC,CAAC,CACtD,IAAI,CAACY,WAAW,IAAI,CAACC,gBAAgB,EAAE,CACrC,OAAO,IAAI,CACb,CAEA,oBACEzD,KAAA,CAAA0D,aAAA,UAAK,YAAUtD,aAAa,CAACuD,QAAS,EAACC,SAAS,EAAE3D,EAAE,CAACE,MAAM,CAAC0D,GAAG,CAAC,CAAC,EAAEJ,gBAAgB,CAAE,EAACK,KAAK,EAAEN,WAAY,EAAM,CAAC,CAEpH,CAAC,CAAAN,MAAA,CAEO3B,yBAAyB,GAAjC,SAAAA,0BAAA,EAAoC,CAClC,IAAMwC,cAAc,GAAG7D,WAAW,CAACmD,iBAAiB,CAAC,IAAI,CAAC1B,KAAK,CAAC2B,aAAa,CAAC,CAAChC,SAAS,CACxF,QAAQyC,cAAc,GACpB,KAAK,KAAK,CACR,OAAO,QAAQ,CACjB,KAAK,QAAQ,CACX,OAAO,KAAK,CACd,KAAK,MAAM,CACT,OAAO,OAAO,CAChB,KAAK,OAAO,CACV,OAAO,MAAM,CACf,QACE/B,OAAO,CAACC,KAAK,uDAAqD8B,cAAc,MAAG,CAAC,CACxF,CACF,CAAC,QAAA1D,WAAA,GA3C8BL,KAAK,CAACgE,SAAS,EAAnC3D,WAAW,CACR4D,mBAAmB,GAAG,UAAU,CADnC5D,WAAW,CAER6D,WAAW,GAAG,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Nullable } from '../../typings/utility-types';
|
|
3
|
+
interface PopupPinProps {
|
|
4
|
+
/** Цвет фона пина */
|
|
5
|
+
backgroundColor: string;
|
|
6
|
+
/** Смещение пина от края попапа. Край задаётся в пропе position вторым словом */
|
|
7
|
+
offset: number;
|
|
8
|
+
/** Ссылка на попап */
|
|
9
|
+
popupElement?: Nullable<Element>;
|
|
10
|
+
/** Позиция попапа, по которой будет вычислено положение пина */
|
|
11
|
+
popupPosition: string;
|
|
12
|
+
/**
|
|
13
|
+
* Сторона пина без учёта границы.
|
|
14
|
+
* Пин представляет собой равносторонний треугольник, высота от попапа
|
|
15
|
+
* до "носика" пина будет соответствовать формуле (size* √3)/2
|
|
16
|
+
*/
|
|
17
|
+
size: number;
|
|
18
|
+
}
|
|
19
|
+
export declare class PopupPinNew extends React.Component<PopupPinProps> {
|
|
20
|
+
static __KONTUR_REACT_UI__: string;
|
|
21
|
+
static displayName: string;
|
|
22
|
+
private positionObject;
|
|
23
|
+
render(): React.JSX.Element | null;
|
|
24
|
+
private getPopupOppositeDirection;
|
|
25
|
+
private getPinInlineStyle;
|
|
26
|
+
private getPinCoordinates;
|
|
27
|
+
private getPinTopCoordinate;
|
|
28
|
+
private getPinLeftCoordinate;
|
|
29
|
+
private getPinDirectionalStyle;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
4
|
+
export var styles = memoizeStyle({
|
|
5
|
+
pin: function pin() {
|
|
6
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n position: absolute;\n "])));
|
|
7
|
+
},
|
|
8
|
+
pinTop: function pinTop() {
|
|
9
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n clip-path: polygon(0 0, 50% 100%, 100% 0);\n "])));
|
|
10
|
+
},
|
|
11
|
+
pinBottom: function pinBottom() {
|
|
12
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n clip-path: polygon(0 100%, 50% 0, 100% 100%);\n "])));
|
|
13
|
+
},
|
|
14
|
+
pinLeft: function pinLeft() {
|
|
15
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n clip-path: polygon(0 0, 100% 50%, 0 100%);\n "])));
|
|
16
|
+
},
|
|
17
|
+
pinRight: function pinRight() {
|
|
18
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n clip-path: polygon(100% 0, 0 50%, 100% 100%);\n "])));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["css","memoizeStyle","styles","pin","_templateObject","_taggedTemplateLiteralLoose","pinTop","_templateObject2","pinBottom","_templateObject3","pinLeft","_templateObject4","pinRight","_templateObject5"],"sources":["PopupPinNew.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n pin() {\n return css`\n position: absolute;\n `;\n },\n\n pinTop() {\n return css`\n clip-path: polygon(0 0, 50% 100%, 100% 0);\n `;\n },\n\n pinBottom() {\n return css`\n clip-path: polygon(0 100%, 50% 0, 100% 100%);\n `;\n },\n\n pinLeft() {\n return css`\n clip-path: polygon(0 0, 100% 50%, 0 100%);\n `;\n },\n\n pinRight() {\n return css`\n clip-path: polygon(100% 0, 0 50%, 100% 100%);\n `;\n },\n});\n"],"mappings":"4LAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,GAAG,WAAAA,IAAA,EAAG;IACJ,OAAOH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;EAGZ,CAAC;;EAEDC,MAAM,WAAAA,OAAA,EAAG;IACP,OAAON,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,2BAAA;;;EAGZ,CAAC;;EAEDG,SAAS,WAAAA,UAAA,EAAG;IACV,OAAOR,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,2BAAA;;;EAGZ,CAAC;;EAEDK,OAAO,WAAAA,QAAA,EAAG;IACR,OAAOV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,2BAAA;;;EAGZ,CAAC;;EAEDO,QAAQ,WAAAA,SAAA,EAAG;IACT,OAAOZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;;;EAGZ;AACF,CAAC,CAAC","ignoreList":[]}
|