@skbkontur/react-ui 0.0.0-30619a873c → 0.0.0-32550fb571
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 +66 -0
- package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +239 -0
- package/cjs/components/Button/Button.d.ts +0 -1
- package/cjs/components/Button/Button.js +2 -2
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/__creevey__/Button.creevey.mts +251 -0
- package/cjs/components/Calendar/DayCellView.styles.js +1 -17
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Calendar/__creevey__/Calendar.creevey.mts +74 -0
- package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.mts +243 -0
- package/cjs/components/ComboBox/ComboBox.d.ts +12 -3
- package/cjs/components/ComboBox/ComboBox.js +18 -2
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.mts +541 -0
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +81 -0
- package/cjs/components/DateInput/DateInput.d.ts +2 -2
- package/cjs/components/DateInput/DateInput.js +7 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/__creevey__/DateInput.creevey.mts +156 -0
- package/cjs/components/DatePicker/DatePicker.d.ts +10 -1
- package/cjs/components/DatePicker/DatePicker.js +37 -4
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.mts +209 -0
- package/cjs/components/Dropdown/Dropdown.d.ts +4 -2
- package/cjs/components/Dropdown/Dropdown.js +12 -8
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.mts +184 -0
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -0
- package/cjs/components/DropdownMenu/DropdownMenu.js +5 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +263 -0
- package/cjs/components/FxInput/FxInput.d.ts +2 -0
- package/cjs/components/FxInput/FxInput.js +7 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +2 -0
- package/cjs/components/FxInput/FxInputRestoreBtn.js +5 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/FxInput/__creevey__/FxInput.creevey.mts +21 -0
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.js +24 -7
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/__creevey__/Group.creevey.mts +19 -0
- package/cjs/components/Hint/__creevey__/Hint.creevey.mts +68 -0
- package/cjs/components/Input/Input.d.ts +23 -2
- package/cjs/components/Input/Input.js +135 -19
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/__creevey__/Input.creevey.mts +239 -0
- package/cjs/components/Kebab/__creevey__/Kebab.creevey.mts +147 -0
- package/cjs/components/Link/Link.js +26 -9
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.styles.d.ts +4 -4
- package/cjs/components/Link/Link.styles.js +4 -5
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Link/__creevey__/Link.creevey.mts +162 -0
- package/cjs/components/Loader/__creevey__/Loader.creevey.mts +35 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +78 -70
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -1
- package/cjs/components/MaskedInput/MaskedInput.js +3 -0
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +216 -0
- package/cjs/components/MenuItem/MenuItem.js +23 -23
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +3 -1
- package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +3 -1
- package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +4 -1
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/cjs/components/Modal/Modal.js +7 -10
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +4 -1
- package/cjs/components/Modal/Modal.styles.js +68 -31
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +7 -2
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalContext.d.ts +3 -3
- package/cjs/components/Modal/ModalContext.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +2 -2
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/__creevey__/Modal.creevey.mts +295 -0
- package/cjs/components/Paging/__creevey__/Paging.creevey.mts +97 -0
- package/cjs/components/PasswordInput/PasswordInput.d.ts +7 -3
- package/cjs/components/PasswordInput/PasswordInput.js +35 -9
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.styles.js +2 -1
- package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
- package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +46 -0
- package/cjs/components/Radio/__creevey__/Radio.creevey.mts +28 -0
- package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +86 -0
- package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +247 -0
- package/cjs/components/Select/Select.d.ts +3 -6
- package/cjs/components/Select/Select.js +11 -10
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/__creevey__/Select.creevey.mts +293 -0
- package/cjs/components/Select/tids.d.ts +5 -0
- package/cjs/components/Select/tids.js +5 -0
- package/cjs/components/Select/tids.js.map +1 -0
- package/cjs/components/SidePage/SidePage.d.ts +1 -0
- package/cjs/components/SidePage/SidePage.js +12 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +8 -1
- package/cjs/components/SidePage/SidePage.styles.js +83 -26
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +14 -2
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +0 -1
- package/cjs/components/SidePage/SidePageHeader.js +11 -7
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +421 -0
- package/cjs/components/Sticky/__creevey__/Sticky.creevey.mts +98 -0
- package/cjs/components/Switcher/Switcher.js +2 -2
- 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 +20 -1
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/__creevey__/Switcher.creevey.mts +24 -0
- package/cjs/components/Tabs/__creevey__/Tabs.creevey.mts +239 -0
- package/cjs/components/Textarea/__creevey__/Textarea.creevey.mts +177 -0
- package/cjs/components/Toast/Toast.d.ts +6 -2
- package/cjs/components/Toast/Toast.js +9 -2
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +2 -2
- package/cjs/components/Toast/ToastStatic.js +15 -5
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -0
- package/cjs/components/Toast/ToastView.js +4 -2
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js +4 -4
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toast/__creevey__/Toast.creevey.mts +77 -0
- package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +87 -0
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +414 -0
- package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.mts +533 -0
- package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +131 -0
- package/cjs/index.d.ts +0 -3
- package/cjs/index.js +0 -3
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +9 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +72 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +8 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +51 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -0
- package/cjs/internal/ClearCrossIcon/CrossIcon.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/CrossIcon.js +15 -0
- package/cjs/internal/ClearCrossIcon/CrossIcon.js.map +1 -0
- package/cjs/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +44 -0
- package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +48 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js +13 -3
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +7 -5
- package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -9
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +4 -0
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +13 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +30 -0
- package/cjs/internal/CustomComboBox/tids.d.ts +3 -0
- package/cjs/internal/CustomComboBox/tids.js +3 -0
- package/cjs/internal/CustomComboBox/tids.js.map +1 -0
- package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +25 -0
- package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +83 -0
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +7 -2
- package/cjs/internal/InputLikeText/InputLikeText.js +90 -43
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +2 -1
- package/cjs/internal/Menu/Menu.js +4 -2
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/__creevey__/Menu.creevey.mts +90 -0
- package/cjs/internal/Popup/Popup.js +4 -6
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +5 -5
- package/cjs/internal/PopupMenu/PopupMenu.js +15 -11
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +37 -0
- package/cjs/internal/PopupMenu/tids.d.ts +4 -0
- package/cjs/internal/PopupMenu/tids.js +4 -0
- package/cjs/internal/PopupMenu/tids.js.map +1 -0
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +68 -0
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +2 -0
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.js +18 -6
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.mts +228 -0
- package/cjs/internal/themes/BasicLightTheme.d.ts +5 -1209
- package/cjs/internal/themes/BasicLightTheme.js +2 -2530
- package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +1231 -0
- package/cjs/internal/themes/BasicTheme.js +2587 -0
- package/cjs/internal/themes/BasicTheme.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_0.js +562 -0
- package/cjs/internal/themes/DarkTheme5_0.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_1.js +41 -0
- package/cjs/internal/themes/DarkTheme5_1.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_0.js +9 -0
- package/cjs/internal/themes/LightTheme5_0.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_1.js +41 -0
- package/cjs/internal/themes/LightTheme5_1.js.map +1 -0
- package/cjs/lib/ModalStack.d.ts +1 -0
- package/cjs/lib/ModalStack.js +6 -4
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/delay.d.ts +1 -0
- package/cjs/lib/delay.js +3 -0
- package/cjs/lib/delay.js.map +1 -0
- package/cjs/lib/mergeRefs.d.ts +23 -0
- package/cjs/lib/mergeRefs.js +76 -0
- package/cjs/lib/mergeRefs.js.map +1 -0
- package/cjs/lib/theming/Theme.d.ts +4 -3
- package/cjs/lib/theming/Theme.js +1 -1
- package/cjs/lib/theming/Theme.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +1 -1
- package/cjs/lib/theming/ThemeContext.js +2 -2
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.d.ts +9 -0
- package/cjs/lib/theming/ThemeFactory.js +28 -9
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.d.ts +55 -8
- package/cjs/lib/theming/ThemeHelpers.js +94 -22
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +25 -0
- package/cjs/lib/theming/ThemeVersions.js +58 -0
- package/cjs/lib/theming/ThemeVersions.js.map +1 -0
- package/cjs/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/DarkTheme.js +6 -4
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/LightTheme.js +6 -4
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -1
- package/cjs/lib/typeGuards.d.ts +1 -0
- package/cjs/lib/typeGuards.js +6 -0
- package/cjs/lib/typeGuards.js.map +1 -0
- package/cjs/lib/utils.d.ts +21 -17
- package/cjs/lib/utils.js +20 -23
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +239 -0
- package/components/Button/Button/Button.js +2 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +0 -1
- package/components/Button/__creevey__/Button.creevey.mts +251 -0
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/__creevey__/Calendar.creevey.mts +74 -0
- package/components/Checkbox/__creevey__/Checkbox.creevey.mts +243 -0
- package/components/ComboBox/ComboBox/ComboBox.js +4 -3
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +12 -3
- package/components/ComboBox/__creevey__/ComboBox.creevey.mts +541 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +1 -1
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +81 -0
- package/components/DateInput/DateInput/DateInput.js +4 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +2 -2
- package/components/DateInput/__creevey__/DateInput.creevey.mts +156 -0
- package/components/DatePicker/DatePicker/DatePicker.js +29 -5
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +10 -1
- package/components/DatePicker/__creevey__/DatePicker.creevey.mts +209 -0
- package/components/Dropdown/Dropdown/Dropdown.js +12 -11
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +4 -2
- package/components/Dropdown/__creevey__/Dropdown.creevey.mts +184 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +2 -0
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +263 -0
- package/components/FxInput/FxInput/FxInput.js +3 -2
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +2 -0
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +1 -1
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/FxInput/FxInputRestoreBtn.d.ts +2 -0
- package/components/FxInput/__creevey__/FxInput.creevey.mts +21 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -5
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +1 -0
- package/components/Group/Group/Group.js +4 -10
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/__creevey__/Group.creevey.mts +19 -0
- package/components/Hint/__creevey__/Hint.creevey.mts +68 -0
- package/components/Input/Input/Input.js +124 -15
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +23 -2
- package/components/Input/__creevey__/Input.creevey.mts +239 -0
- package/components/Kebab/__creevey__/Kebab.creevey.mts +147 -0
- package/components/Link/Link/Link.js +25 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js +4 -4
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +4 -4
- package/components/Link/__creevey__/Link.creevey.mts +162 -0
- package/components/Loader/__creevey__/Loader.creevey.mts +35 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +54 -55
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +1 -1
- package/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +216 -0
- package/components/MenuItem/MenuItem/MenuItem.js +41 -35
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MiniModal/__docs__/MiniModalBody.mdx +3 -1
- package/components/MiniModal/__docs__/MiniModalFooter.mdx +3 -1
- package/components/MiniModal/__docs__/MiniModalHeader.mdx +4 -1
- package/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/components/Modal/Modal/Modal.js +4 -16
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +40 -31
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +4 -1
- package/components/Modal/ModalClose/ModalClose.js +3 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalContext/ModalContext.js.map +1 -1
- package/components/Modal/ModalContext.d.ts +3 -3
- package/components/Modal/ModalFooter/ModalFooter.js +2 -2
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/__creevey__/Modal.creevey.mts +295 -0
- package/components/Paging/__creevey__/Paging.creevey.mts +97 -0
- package/components/PasswordInput/PasswordInput/PasswordInput.js +30 -10
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +7 -3
- package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +1 -1
- package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
- package/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +46 -0
- package/components/Radio/__creevey__/Radio.creevey.mts +28 -0
- package/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +86 -0
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +247 -0
- package/components/Select/Select/Select.js +3 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +3 -6
- package/components/Select/__creevey__/Select.creevey.mts +293 -0
- package/components/Select/tids/package.json +6 -0
- package/components/Select/tids/tids.js +5 -0
- package/components/Select/tids/tids.js.map +1 -0
- package/components/Select/tids.d.ts +5 -0
- package/components/SidePage/SidePage/SidePage.js +20 -8
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +1 -0
- package/components/SidePage/SidePage.styles/SidePage.styles.js +48 -26
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +8 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +6 -2
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +13 -5
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +0 -1
- package/components/SidePage/__creevey__/SidePage.creevey.mts +421 -0
- package/components/Sticky/__creevey__/Sticky.creevey.mts +98 -0
- package/components/Switcher/Switcher/Switcher.js +10 -6
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js +4 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Switcher/__creevey__/Switcher.creevey.mts +24 -0
- package/components/Tabs/__creevey__/Tabs.creevey.mts +239 -0
- package/components/Textarea/__creevey__/Textarea.creevey.mts +177 -0
- package/components/Toast/Toast/Toast.js +14 -9
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +6 -2
- package/components/Toast/ToastStatic/ToastStatic.js +5 -5
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +2 -2
- package/components/Toast/ToastView/ToastView.js +2 -1
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -0
- package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/__creevey__/Toast.creevey.mts +77 -0
- package/components/Toggle/__creevey__/Toggle.creevey.mts +87 -0
- package/components/TokenInput/__creevey__/TokenInput.creevey.mts +414 -0
- package/components/Tooltip/__creevey__/Tooltip.creevey.mts +533 -0
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +131 -0
- package/index.d.ts +0 -3
- package/index.js +0 -3
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +63 -0
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon/package.json +6 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +9 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +21 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/package.json +6 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +8 -0
- package/internal/ClearCrossIcon/CrossIcon/CrossIcon.js +22 -0
- package/internal/ClearCrossIcon/CrossIcon/CrossIcon.js.map +1 -0
- package/internal/ClearCrossIcon/CrossIcon/package.json +6 -0
- package/internal/ClearCrossIcon/CrossIcon.d.ts +3 -0
- package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +44 -0
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +48 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +12 -5
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +17 -5
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +7 -5
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +15 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +4 -0
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +30 -0
- package/internal/CustomComboBox/tids/package.json +6 -0
- package/internal/CustomComboBox/tids/tids.js +3 -0
- package/internal/CustomComboBox/tids/tids.js.map +1 -0
- package/internal/CustomComboBox/tids.d.ts +3 -0
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +25 -0
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +83 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +65 -9
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +7 -2
- package/internal/Menu/Menu/Menu.js +6 -3
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +2 -1
- package/internal/Menu/__creevey__/Menu.creevey.mts +90 -0
- package/internal/Popup/Popup/Popup.js +15 -20
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -5
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +5 -5
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +37 -0
- package/internal/PopupMenu/tids/package.json +6 -0
- package/internal/PopupMenu/tids/tids.js +4 -0
- package/internal/PopupMenu/tids/tids.js.map +1 -0
- package/internal/PopupMenu/tids.d.ts +4 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +68 -0
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +2 -0
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +12 -14
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +1 -1
- package/internal/ZIndex/__creevey__/ZIndex.creevey.mts +228 -0
- package/internal/themes/BasicLightTheme/BasicLightTheme.js +5 -3351
- package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
- package/internal/themes/BasicLightTheme.d.ts +5 -1209
- package/internal/themes/BasicTheme/BasicTheme.js +3432 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -0
- package/internal/themes/BasicTheme/package.json +6 -0
- package/internal/themes/BasicTheme.d.ts +1231 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +409 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +1 -0
- package/internal/themes/DarkTheme5_0/package.json +6 -0
- package/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +52 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +1 -0
- package/internal/themes/DarkTheme5_1/package.json +6 -0
- package/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js +14 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js.map +1 -0
- package/internal/themes/LightTheme5_0/package.json +6 -0
- package/internal/themes/LightTheme5_0.d.ts +1 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js +52 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +1 -0
- package/internal/themes/LightTheme5_1/package.json +6 -0
- package/internal/themes/LightTheme5_1.d.ts +1 -0
- package/lib/ModalStack/ModalStack.js +8 -8
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +1 -0
- package/lib/delay/delay.js +6 -0
- package/lib/delay/delay.js.map +1 -0
- package/lib/delay/package.json +6 -0
- package/lib/delay.d.ts +1 -0
- package/lib/mergeRefs/mergeRefs.js +68 -0
- package/lib/mergeRefs/mergeRefs.js.map +1 -0
- package/lib/mergeRefs/package.json +6 -0
- package/lib/mergeRefs.d.ts +23 -0
- package/lib/theming/Theme/Theme.js +2 -1
- package/lib/theming/Theme/Theme.js.map +1 -1
- package/lib/theming/Theme.d.ts +4 -3
- package/lib/theming/ThemeContext/ThemeContext.js +2 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +21 -7
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +9 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +85 -18
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +55 -8
- package/lib/theming/ThemeVersions/ThemeVersions.js +50 -0
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -0
- package/lib/theming/ThemeVersions/package.json +6 -0
- package/lib/theming/ThemeVersions.d.ts +25 -0
- package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -4
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -4
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +3 -1
- package/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/lib/theming/useTheme.d.ts +1 -1
- package/lib/typeGuards/package.json +6 -0
- package/lib/typeGuards/typeGuards.js +5 -0
- package/lib/typeGuards/typeGuards.js.map +1 -0
- package/lib/typeGuards.d.ts +1 -0
- package/lib/utils/utils.js +13 -21
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +21 -17
- package/package.json +7 -6
- package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.js +0 -239
- package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.js.map +0 -1
- package/cjs/components/Button/__creevey__/Button.creevey.js +0 -250
- package/cjs/components/Button/__creevey__/Button.creevey.js.map +0 -1
- package/cjs/components/Calendar/__creevey__/Calendar.creevey.js +0 -74
- package/cjs/components/Calendar/__creevey__/Calendar.creevey.js.map +0 -1
- package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.js +0 -242
- package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.js.map +0 -1
- package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.js +0 -540
- package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.js.map +0 -1
- package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.js +0 -81
- package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.js.map +0 -1
- package/cjs/components/DateInput/__creevey__/DateInput.creevey.js +0 -155
- package/cjs/components/DateInput/__creevey__/DateInput.creevey.js.map +0 -1
- package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.js +0 -209
- package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.js.map +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +0 -27
- package/cjs/components/DateRangePicker/DateRangePicker.js +0 -481
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.md +0 -298
- package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -9
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js +0 -42
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
- package/cjs/components/DateRangePicker/DateRangePickerContext.d.ts +0 -28
- package/cjs/components/DateRangePicker/DateRangePickerContext.js +0 -33
- package/cjs/components/DateRangePicker/DateRangePickerContext.js.map +0 -1
- package/cjs/components/DateRangePicker/DateRangePickerField.d.ts +0 -7
- package/cjs/components/DateRangePicker/DateRangePickerField.js +0 -98
- package/cjs/components/DateRangePicker/DateRangePickerField.js.map +0 -1
- package/cjs/components/DateRangePicker/DateRangePickerSeparator.d.ts +0 -2
- package/cjs/components/DateRangePicker/DateRangePickerSeparator.js +0 -3
- package/cjs/components/DateRangePicker/DateRangePickerSeparator.js.map +0 -1
- package/cjs/components/DateRangePicker/DateRangePickerTheme.d.ts +0 -3
- package/cjs/components/DateRangePicker/DateRangePickerTheme.js +0 -30
- package/cjs/components/DateRangePicker/DateRangePickerTheme.js.map +0 -1
- package/cjs/components/DateRangePicker/MobileDateRangePicker.d.ts +0 -7
- package/cjs/components/DateRangePicker/MobileDateRangePicker.js +0 -59
- package/cjs/components/DateRangePicker/MobileDateRangePicker.js.map +0 -1
- package/cjs/components/DateRangePicker/MobileDateRangePicker.styles.d.ts +0 -4
- package/cjs/components/DateRangePicker/MobileDateRangePicker.styles.js +0 -19
- package/cjs/components/DateRangePicker/MobileDateRangePicker.styles.js.map +0 -1
- package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -109
- package/cjs/components/DateRangePicker/index.d.ts +0 -1
- package/cjs/components/DateRangePicker/index.js +0 -1
- package/cjs/components/DateRangePicker/index.js.map +0 -1
- package/cjs/components/DateRangePicker/locale/index.d.ts +0 -4
- package/cjs/components/DateRangePicker/locale/index.js +0 -12
- package/cjs/components/DateRangePicker/locale/index.js.map +0 -1
- package/cjs/components/DateRangePicker/locale/locales/en.d.ts +0 -2
- package/cjs/components/DateRangePicker/locale/locales/en.js +0 -7
- package/cjs/components/DateRangePicker/locale/locales/en.js.map +0 -1
- package/cjs/components/DateRangePicker/locale/locales/ru.d.ts +0 -2
- package/cjs/components/DateRangePicker/locale/locales/ru.js +0 -7
- package/cjs/components/DateRangePicker/locale/locales/ru.js.map +0 -1
- package/cjs/components/DateRangePicker/locale/types.d.ts +0 -5
- package/cjs/components/DateRangePicker/locale/types.js +0 -1
- package/cjs/components/DateRangePicker/locale/types.js.map +0 -1
- package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.js +0 -184
- package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.js.map +0 -1
- package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.js +0 -262
- package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.js.map +0 -1
- package/cjs/components/FxInput/__creevey__/FxInput.creevey.js +0 -21
- package/cjs/components/FxInput/__creevey__/FxInput.creevey.js.map +0 -1
- package/cjs/components/Group/__creevey__/Group.creevey.js +0 -19
- package/cjs/components/Group/__creevey__/Group.creevey.js.map +0 -1
- package/cjs/components/Hint/__creevey__/Hint.creevey.js +0 -68
- package/cjs/components/Hint/__creevey__/Hint.creevey.js.map +0 -1
- package/cjs/components/Input/__creevey__/Input.creevey.js +0 -239
- package/cjs/components/Input/__creevey__/Input.creevey.js.map +0 -1
- package/cjs/components/Kebab/__creevey__/Kebab.creevey.js +0 -146
- package/cjs/components/Kebab/__creevey__/Kebab.creevey.js.map +0 -1
- package/cjs/components/Link/__creevey__/Link.creevey.js +0 -161
- package/cjs/components/Link/__creevey__/Link.creevey.js.map +0 -1
- package/cjs/components/Loader/__creevey__/Loader.creevey.js +0 -34
- package/cjs/components/Loader/__creevey__/Loader.creevey.js.map +0 -1
- package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.js +0 -219
- package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.js.map +0 -1
- package/cjs/components/Modal/__creevey__/Modal.creevey.js +0 -258
- package/cjs/components/Modal/__creevey__/Modal.creevey.js.map +0 -1
- package/cjs/components/Paging/__creevey__/Paging.creevey.js +0 -97
- package/cjs/components/Paging/__creevey__/Paging.creevey.js.map +0 -1
- package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.js +0 -38
- package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.js.map +0 -1
- package/cjs/components/Radio/__creevey__/Radio.creevey.js +0 -27
- package/cjs/components/Radio/__creevey__/Radio.creevey.js.map +0 -1
- package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.js +0 -85
- package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.js.map +0 -1
- package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.js +0 -247
- package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.js.map +0 -1
- package/cjs/components/Select/__creevey__/Select.creevey.js +0 -284
- package/cjs/components/Select/__creevey__/Select.creevey.js.map +0 -1
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.js +0 -313
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.js.map +0 -1
- package/cjs/components/Sticky/__creevey__/Sticky.creevey.js +0 -98
- package/cjs/components/Sticky/__creevey__/Sticky.creevey.js.map +0 -1
- package/cjs/components/Switcher/__creevey__/Switcher.creevey.js +0 -24
- package/cjs/components/Switcher/__creevey__/Switcher.creevey.js.map +0 -1
- package/cjs/components/Tabs/__creevey__/Tabs.creevey.js +0 -238
- package/cjs/components/Tabs/__creevey__/Tabs.creevey.js.map +0 -1
- package/cjs/components/Textarea/__creevey__/Textarea.creevey.js +0 -176
- package/cjs/components/Textarea/__creevey__/Textarea.creevey.js.map +0 -1
- package/cjs/components/Toast/__creevey__/Toast.creevey.js +0 -54
- package/cjs/components/Toast/__creevey__/Toast.creevey.js.map +0 -1
- package/cjs/components/Toggle/__creevey__/Toggle.creevey.js +0 -87
- package/cjs/components/Toggle/__creevey__/Toggle.creevey.js.map +0 -1
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.js +0 -413
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.js.map +0 -1
- package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.js +0 -534
- package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.js.map +0 -1
- package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.js +0 -130
- package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.js.map +0 -1
- package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.js +0 -47
- package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.js.map +0 -1
- package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.js +0 -30
- package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.js.map +0 -1
- package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.js +0 -25
- package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.js.map +0 -1
- package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.js +0 -83
- package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.js.map +0 -1
- package/cjs/internal/Menu/__creevey__/Menu.creevey.js +0 -90
- package/cjs/internal/Menu/__creevey__/Menu.creevey.js.map +0 -1
- package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.js +0 -37
- package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.js.map +0 -1
- package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.js +0 -68
- package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.js.map +0 -1
- package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.js +0 -228
- package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.js.map +0 -1
- package/cjs/internal/themes/BasicDarkTheme.d.ts +0 -293
- package/cjs/internal/themes/BasicDarkTheme.js +0 -607
- package/cjs/internal/themes/BasicDarkTheme.js.map +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/DarkTheme2022_0.js.map +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/LightTheme2022_0.js.map +0 -1
- package/components/Autocomplete/__creevey__/Autocomplete.creevey/Autocomplete.creevey.js +0 -506
- package/components/Autocomplete/__creevey__/Autocomplete.creevey/Autocomplete.creevey.js.map +0 -1
- package/components/Autocomplete/__creevey__/Autocomplete.creevey/package.json +0 -6
- package/components/Button/__creevey__/Button.creevey/Button.creevey.js +0 -396
- package/components/Button/__creevey__/Button.creevey/Button.creevey.js.map +0 -1
- package/components/Button/__creevey__/Button.creevey/package.json +0 -6
- package/components/Calendar/__creevey__/Calendar.creevey/Calendar.creevey.js +0 -138
- package/components/Calendar/__creevey__/Calendar.creevey/Calendar.creevey.js.map +0 -1
- package/components/Calendar/__creevey__/Calendar.creevey/package.json +0 -6
- package/components/Calendar/__creevey__/Calendar.creevey.d.ts +0 -1
- package/components/Checkbox/__creevey__/Checkbox.creevey/Checkbox.creevey.js +0 -487
- package/components/Checkbox/__creevey__/Checkbox.creevey/Checkbox.creevey.js.map +0 -1
- package/components/Checkbox/__creevey__/Checkbox.creevey/package.json +0 -6
- package/components/Checkbox/__creevey__/Checkbox.creevey.d.ts +0 -1
- package/components/ComboBox/__creevey__/ComboBox.creevey/ComboBox.creevey.js +0 -1043
- package/components/ComboBox/__creevey__/ComboBox.creevey/ComboBox.creevey.js.map +0 -1
- package/components/ComboBox/__creevey__/ComboBox.creevey/package.json +0 -6
- package/components/ComboBox/__creevey__/ComboBox.creevey.d.ts +0 -1
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey/CurrencyInput.creevey.js +0 -114
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey/CurrencyInput.creevey.js.map +0 -1
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey/package.json +0 -6
- package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.ts +0 -1
- package/components/DateInput/__creevey__/DateInput.creevey/DateInput.creevey.js +0 -367
- package/components/DateInput/__creevey__/DateInput.creevey/DateInput.creevey.js.map +0 -1
- package/components/DateInput/__creevey__/DateInput.creevey/package.json +0 -6
- package/components/DateInput/__creevey__/DateInput.creevey.d.ts +0 -1
- package/components/DatePicker/__creevey__/DatePicker.creevey/DatePicker.creevey.js +0 -395
- package/components/DatePicker/__creevey__/DatePicker.creevey/DatePicker.creevey.js.map +0 -1
- package/components/DatePicker/__creevey__/DatePicker.creevey/package.json +0 -6
- package/components/DatePicker/__creevey__/DatePicker.creevey.d.ts +0 -1
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +0 -365
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +0 -1
- package/components/DateRangePicker/DateRangePicker/package.json +0 -6
- package/components/DateRangePicker/DateRangePicker.d.ts +0 -27
- package/components/DateRangePicker/DateRangePicker.md +0 -298
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +0 -23
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +0 -1
- package/components/DateRangePicker/DateRangePicker.styles/package.json +0 -6
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -9
- package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js +0 -3
- package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js.map +0 -1
- package/components/DateRangePicker/DateRangePickerContext/package.json +0 -6
- package/components/DateRangePicker/DateRangePickerContext.d.ts +0 -28
- package/components/DateRangePicker/DateRangePickerField/DateRangePickerField.js +0 -86
- package/components/DateRangePicker/DateRangePickerField/DateRangePickerField.js.map +0 -1
- package/components/DateRangePicker/DateRangePickerField/package.json +0 -6
- package/components/DateRangePicker/DateRangePickerField.d.ts +0 -7
- package/components/DateRangePicker/DateRangePickerSeparator/DateRangePickerSeparator.js +0 -4
- package/components/DateRangePicker/DateRangePickerSeparator/DateRangePickerSeparator.js.map +0 -1
- package/components/DateRangePicker/DateRangePickerSeparator/package.json +0 -6
- package/components/DateRangePicker/DateRangePickerSeparator.d.ts +0 -2
- package/components/DateRangePicker/DateRangePickerTheme/DateRangePickerTheme.js +0 -21
- package/components/DateRangePicker/DateRangePickerTheme/DateRangePickerTheme.js.map +0 -1
- package/components/DateRangePicker/DateRangePickerTheme/package.json +0 -6
- package/components/DateRangePicker/DateRangePickerTheme.d.ts +0 -3
- package/components/DateRangePicker/MobileDateRangePicker/MobileDateRangePicker.js +0 -48
- package/components/DateRangePicker/MobileDateRangePicker/MobileDateRangePicker.js.map +0 -1
- package/components/DateRangePicker/MobileDateRangePicker/package.json +0 -6
- package/components/DateRangePicker/MobileDateRangePicker.d.ts +0 -7
- package/components/DateRangePicker/MobileDateRangePicker.styles/MobileDateRangePicker.styles.js +0 -11
- package/components/DateRangePicker/MobileDateRangePicker.styles/MobileDateRangePicker.styles.js.map +0 -1
- package/components/DateRangePicker/MobileDateRangePicker.styles/package.json +0 -6
- package/components/DateRangePicker/MobileDateRangePicker.styles.d.ts +0 -4
- package/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -109
- package/components/DateRangePicker/index/index.js +0 -1
- package/components/DateRangePicker/index/index.js.map +0 -1
- package/components/DateRangePicker/index/package.json +0 -6
- package/components/DateRangePicker/index.d.ts +0 -1
- package/components/DateRangePicker/locale/index/index.js +0 -8
- package/components/DateRangePicker/locale/index/index.js.map +0 -1
- package/components/DateRangePicker/locale/index/package.json +0 -6
- package/components/DateRangePicker/locale/index.d.ts +0 -4
- package/components/DateRangePicker/locale/locales/en/en.js +0 -6
- package/components/DateRangePicker/locale/locales/en/en.js.map +0 -1
- package/components/DateRangePicker/locale/locales/en/package.json +0 -6
- package/components/DateRangePicker/locale/locales/en.d.ts +0 -2
- package/components/DateRangePicker/locale/locales/ru/package.json +0 -6
- package/components/DateRangePicker/locale/locales/ru/ru.js +0 -6
- package/components/DateRangePicker/locale/locales/ru/ru.js.map +0 -1
- package/components/DateRangePicker/locale/locales/ru.d.ts +0 -2
- package/components/DateRangePicker/locale/package.json +0 -6
- package/components/DateRangePicker/locale/types/package.json +0 -6
- package/components/DateRangePicker/locale/types/types.js +0 -1
- package/components/DateRangePicker/locale/types/types.js.map +0 -1
- package/components/DateRangePicker/locale/types.d.ts +0 -5
- package/components/DateRangePicker/package.json +0 -6
- package/components/Dropdown/__creevey__/Dropdown.creevey/Dropdown.creevey.js +0 -417
- package/components/Dropdown/__creevey__/Dropdown.creevey/Dropdown.creevey.js.map +0 -1
- package/components/Dropdown/__creevey__/Dropdown.creevey/package.json +0 -6
- package/components/Dropdown/__creevey__/Dropdown.creevey.d.ts +0 -1
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey/DropdownMenu.creevey.js +0 -534
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey/DropdownMenu.creevey.js.map +0 -1
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey/package.json +0 -6
- package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.ts +0 -1
- package/components/FxInput/__creevey__/FxInput.creevey/FxInput.creevey.js +0 -62
- package/components/FxInput/__creevey__/FxInput.creevey/FxInput.creevey.js.map +0 -1
- package/components/FxInput/__creevey__/FxInput.creevey/package.json +0 -6
- package/components/FxInput/__creevey__/FxInput.creevey.d.ts +0 -1
- package/components/Group/__creevey__/Group.creevey/Group.creevey.js +0 -48
- package/components/Group/__creevey__/Group.creevey/Group.creevey.js.map +0 -1
- package/components/Group/__creevey__/Group.creevey/package.json +0 -6
- package/components/Group/__creevey__/Group.creevey.d.ts +0 -1
- package/components/Hint/__creevey__/Hint.creevey/Hint.creevey.js +0 -127
- package/components/Hint/__creevey__/Hint.creevey/Hint.creevey.js.map +0 -1
- package/components/Hint/__creevey__/Hint.creevey/package.json +0 -6
- package/components/Hint/__creevey__/Hint.creevey.d.ts +0 -1
- package/components/Input/__creevey__/Input.creevey/Input.creevey.js +0 -517
- package/components/Input/__creevey__/Input.creevey/Input.creevey.js.map +0 -1
- package/components/Input/__creevey__/Input.creevey/package.json +0 -6
- package/components/Input/__creevey__/Input.creevey.d.ts +0 -1
- package/components/Kebab/__creevey__/Kebab.creevey/Kebab.creevey.js +0 -278
- package/components/Kebab/__creevey__/Kebab.creevey/Kebab.creevey.js.map +0 -1
- package/components/Kebab/__creevey__/Kebab.creevey/package.json +0 -6
- package/components/Kebab/__creevey__/Kebab.creevey.d.ts +0 -1
- package/components/Link/__creevey__/Link.creevey/Link.creevey.js +0 -238
- package/components/Link/__creevey__/Link.creevey/Link.creevey.js.map +0 -1
- package/components/Link/__creevey__/Link.creevey/package.json +0 -6
- package/components/Link/__creevey__/Link.creevey.d.ts +0 -1
- package/components/Loader/__creevey__/Loader.creevey/Loader.creevey.js +0 -129
- package/components/Loader/__creevey__/Loader.creevey/Loader.creevey.js.map +0 -1
- package/components/Loader/__creevey__/Loader.creevey/package.json +0 -6
- package/components/Loader/__creevey__/Loader.creevey.d.ts +0 -1
- package/components/MaskedInput/__creevey__/MaskedInput.creevey/MaskedInput.creevey.js +0 -405
- package/components/MaskedInput/__creevey__/MaskedInput.creevey/MaskedInput.creevey.js.map +0 -1
- package/components/MaskedInput/__creevey__/MaskedInput.creevey/package.json +0 -6
- package/components/MaskedInput/__creevey__/MaskedInput.creevey.d.ts +0 -1
- package/components/Modal/__creevey__/Modal.creevey/Modal.creevey.js +0 -565
- package/components/Modal/__creevey__/Modal.creevey/Modal.creevey.js.map +0 -1
- package/components/Modal/__creevey__/Modal.creevey/package.json +0 -6
- package/components/Modal/__creevey__/Modal.creevey.d.ts +0 -1
- package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js +0 -190
- package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js.map +0 -1
- package/components/Paging/__creevey__/Paging.creevey/package.json +0 -6
- package/components/Paging/__creevey__/Paging.creevey.d.ts +0 -1
- package/components/PasswordInput/__creevey__/PasswordInput.creevey/PasswordInput.creevey.js +0 -83
- package/components/PasswordInput/__creevey__/PasswordInput.creevey/PasswordInput.creevey.js.map +0 -1
- package/components/PasswordInput/__creevey__/PasswordInput.creevey/package.json +0 -6
- package/components/PasswordInput/__creevey__/PasswordInput.creevey.d.ts +0 -1
- package/components/Radio/__creevey__/Radio.creevey/Radio.creevey.js +0 -56
- package/components/Radio/__creevey__/Radio.creevey/Radio.creevey.js.map +0 -1
- package/components/Radio/__creevey__/Radio.creevey/package.json +0 -6
- package/components/Radio/__creevey__/Radio.creevey.d.ts +0 -1
- package/components/RadioGroup/__creevey__/RadioGroup.creevey/RadioGroup.creevey.js +0 -167
- package/components/RadioGroup/__creevey__/RadioGroup.creevey/RadioGroup.creevey.js.map +0 -1
- package/components/RadioGroup/__creevey__/RadioGroup.creevey/package.json +0 -6
- package/components/RadioGroup/__creevey__/RadioGroup.creevey.d.ts +0 -1
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey/ScrollContainer.creevey.js +0 -488
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey/ScrollContainer.creevey.js.map +0 -1
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey/package.json +0 -6
- package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.ts +0 -1
- package/components/Select/__creevey__/Select.creevey/Select.creevey.js +0 -541
- package/components/Select/__creevey__/Select.creevey/Select.creevey.js.map +0 -1
- package/components/Select/__creevey__/Select.creevey/package.json +0 -6
- package/components/Select/__creevey__/Select.creevey.d.ts +0 -1
- package/components/SidePage/__creevey__/SidePage.creevey/SidePage.creevey.js +0 -697
- package/components/SidePage/__creevey__/SidePage.creevey/SidePage.creevey.js.map +0 -1
- package/components/SidePage/__creevey__/SidePage.creevey/package.json +0 -6
- package/components/SidePage/__creevey__/SidePage.creevey.d.ts +0 -1
- package/components/Sticky/__creevey__/Sticky.creevey/Sticky.creevey.js +0 -215
- package/components/Sticky/__creevey__/Sticky.creevey/Sticky.creevey.js.map +0 -1
- package/components/Sticky/__creevey__/Sticky.creevey/package.json +0 -6
- package/components/Sticky/__creevey__/Sticky.creevey.d.ts +0 -1
- package/components/Switcher/__creevey__/Switcher.creevey/Switcher.creevey.js +0 -58
- package/components/Switcher/__creevey__/Switcher.creevey/Switcher.creevey.js.map +0 -1
- package/components/Switcher/__creevey__/Switcher.creevey/package.json +0 -6
- package/components/Switcher/__creevey__/Switcher.creevey.d.ts +0 -1
- package/components/Tabs/__creevey__/Tabs.creevey/Tabs.creevey.js +0 -391
- package/components/Tabs/__creevey__/Tabs.creevey/Tabs.creevey.js.map +0 -1
- package/components/Tabs/__creevey__/Tabs.creevey/package.json +0 -6
- package/components/Tabs/__creevey__/Tabs.creevey.d.ts +0 -1
- package/components/Textarea/__creevey__/Textarea.creevey/Textarea.creevey.js +0 -404
- package/components/Textarea/__creevey__/Textarea.creevey/Textarea.creevey.js.map +0 -1
- package/components/Textarea/__creevey__/Textarea.creevey/package.json +0 -6
- package/components/Textarea/__creevey__/Textarea.creevey.d.ts +0 -1
- package/components/Toast/__creevey__/Toast.creevey/Toast.creevey.js +0 -70
- package/components/Toast/__creevey__/Toast.creevey/Toast.creevey.js.map +0 -1
- package/components/Toast/__creevey__/Toast.creevey/package.json +0 -6
- package/components/Toast/__creevey__/Toast.creevey.d.ts +0 -1
- package/components/Toggle/__creevey__/Toggle.creevey/Toggle.creevey.js +0 -195
- package/components/Toggle/__creevey__/Toggle.creevey/Toggle.creevey.js.map +0 -1
- package/components/Toggle/__creevey__/Toggle.creevey/package.json +0 -6
- package/components/Toggle/__creevey__/Toggle.creevey.d.ts +0 -1
- package/components/TokenInput/__creevey__/TokenInput.creevey/TokenInput.creevey.js +0 -635
- package/components/TokenInput/__creevey__/TokenInput.creevey/TokenInput.creevey.js.map +0 -1
- package/components/TokenInput/__creevey__/TokenInput.creevey/package.json +0 -6
- package/components/TokenInput/__creevey__/TokenInput.creevey.d.ts +0 -1
- package/components/Tooltip/__creevey__/Tooltip.creevey/Tooltip.creevey.js +0 -1171
- package/components/Tooltip/__creevey__/Tooltip.creevey/Tooltip.creevey.js.map +0 -1
- package/components/Tooltip/__creevey__/Tooltip.creevey/package.json +0 -6
- package/components/Tooltip/__creevey__/Tooltip.creevey.d.ts +0 -1
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey/TooltipMenu.creevey.js +0 -277
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey/TooltipMenu.creevey.js.map +0 -1
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey/package.json +0 -6
- package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.ts +0 -1
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey/CloseButtonIcon.creevey.js +0 -78
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey/CloseButtonIcon.creevey.js.map +0 -1
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey/package.json +0 -6
- package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.ts +0 -1
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey/ComboBoxView.creevey.js +0 -58
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey/ComboBoxView.creevey.js.map +0 -1
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey/package.json +0 -6
- package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.ts +0 -1
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey/FileUploaderFile.creevey.js +0 -41
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey/FileUploaderFile.creevey.js.map +0 -1
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey/package.json +0 -6
- package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.ts +0 -1
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/HideBodyVerticalScroll.creevey.js +0 -199
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/HideBodyVerticalScroll.creevey.js.map +0 -1
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/package.json +0 -6
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.ts +0 -1
- package/internal/Menu/__creevey__/Menu.creevey/Menu.creevey.js +0 -196
- package/internal/Menu/__creevey__/Menu.creevey/Menu.creevey.js.map +0 -1
- package/internal/Menu/__creevey__/Menu.creevey/package.json +0 -6
- package/internal/Menu/__creevey__/Menu.creevey.d.ts +0 -1
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey/PopupMenu.creevey.js +0 -69
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey/PopupMenu.creevey.js.map +0 -1
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey/package.json +0 -6
- package/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.ts +0 -1
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey/ThemeProvider.creevey.js +0 -145
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey/ThemeProvider.creevey.js.map +0 -1
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey/package.json +0 -6
- package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.ts +0 -1
- package/internal/ZIndex/__creevey__/ZIndex.creevey/ZIndex.creevey.js +0 -550
- package/internal/ZIndex/__creevey__/ZIndex.creevey/ZIndex.creevey.js.map +0 -1
- package/internal/ZIndex/__creevey__/ZIndex.creevey/package.json +0 -6
- package/internal/ZIndex/__creevey__/ZIndex.creevey.d.ts +0 -1
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js +0 -646
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js.map +0 -1
- package/internal/themes/BasicDarkTheme/package.json +0 -6
- package/internal/themes/BasicDarkTheme.d.ts +0 -293
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js +0 -3
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js.map +0 -1
- package/lib/theming/themes/DarkTheme2022_0/package.json +0 -6
- package/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js +0 -3
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js.map +0 -1
- package/lib/theming/themes/LightTheme2022_0/package.json +0 -6
- package/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
- /package/{cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.d.ts → components/Autocomplete/__creevey__/Autocomplete.creevey.d.mts} +0 -0
- /package/{cjs/components/Button/__creevey__/Button.creevey.d.ts → components/Button/__creevey__/Button.creevey.d.mts} +0 -0
- /package/{cjs/components/Calendar/__creevey__/Calendar.creevey.d.ts → components/Calendar/__creevey__/Calendar.creevey.d.mts} +0 -0
- /package/{cjs/components/Checkbox/__creevey__/Checkbox.creevey.d.ts → components/Checkbox/__creevey__/Checkbox.creevey.d.mts} +0 -0
- /package/{cjs/components/ComboBox/__creevey__/ComboBox.creevey.d.ts → components/ComboBox/__creevey__/ComboBox.creevey.d.mts} +0 -0
- /package/{cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.ts → components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.mts} +0 -0
- /package/{cjs/components/DateInput/__creevey__/DateInput.creevey.d.ts → components/DateInput/__creevey__/DateInput.creevey.d.mts} +0 -0
- /package/{cjs/components/DatePicker/__creevey__/DatePicker.creevey.d.ts → components/DatePicker/__creevey__/DatePicker.creevey.d.mts} +0 -0
- /package/{cjs/components/Dropdown/__creevey__/Dropdown.creevey.d.ts → components/Dropdown/__creevey__/Dropdown.creevey.d.mts} +0 -0
- /package/{cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.ts → components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.mts} +0 -0
- /package/{cjs/components/FxInput/__creevey__/FxInput.creevey.d.ts → components/FxInput/__creevey__/FxInput.creevey.d.mts} +0 -0
- /package/{cjs/components/Group/__creevey__/Group.creevey.d.ts → components/Group/__creevey__/Group.creevey.d.mts} +0 -0
- /package/{cjs/components/Hint/__creevey__/Hint.creevey.d.ts → components/Hint/__creevey__/Hint.creevey.d.mts} +0 -0
- /package/{cjs/components/Input/__creevey__/Input.creevey.d.ts → components/Input/__creevey__/Input.creevey.d.mts} +0 -0
- /package/{cjs/components/Kebab/__creevey__/Kebab.creevey.d.ts → components/Kebab/__creevey__/Kebab.creevey.d.mts} +0 -0
- /package/{cjs/components/Link/__creevey__/Link.creevey.d.ts → components/Link/__creevey__/Link.creevey.d.mts} +0 -0
- /package/{cjs/components/Loader/__creevey__/Loader.creevey.d.ts → components/Loader/__creevey__/Loader.creevey.d.mts} +0 -0
- /package/{cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.d.ts → components/MaskedInput/__creevey__/MaskedInput.creevey.d.mts} +0 -0
- /package/{cjs/components/Modal/__creevey__/Modal.creevey.d.ts → components/Modal/__creevey__/Modal.creevey.d.mts} +0 -0
- /package/{cjs/components/Paging/__creevey__/Paging.creevey.d.ts → components/Paging/__creevey__/Paging.creevey.d.mts} +0 -0
- /package/{cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.d.ts → components/PasswordInput/__creevey__/PasswordInput.creevey.d.mts} +0 -0
- /package/{cjs/components/Radio/__creevey__/Radio.creevey.d.ts → components/Radio/__creevey__/Radio.creevey.d.mts} +0 -0
- /package/{cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.d.ts → components/RadioGroup/__creevey__/RadioGroup.creevey.d.mts} +0 -0
- /package/{cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.ts → components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.mts} +0 -0
- /package/{cjs/components/Select/__creevey__/Select.creevey.d.ts → components/Select/__creevey__/Select.creevey.d.mts} +0 -0
- /package/{cjs/components/SidePage/__creevey__/SidePage.creevey.d.ts → components/SidePage/__creevey__/SidePage.creevey.d.mts} +0 -0
- /package/{cjs/components/Sticky/__creevey__/Sticky.creevey.d.ts → components/Sticky/__creevey__/Sticky.creevey.d.mts} +0 -0
- /package/{cjs/components/Switcher/__creevey__/Switcher.creevey.d.ts → components/Switcher/__creevey__/Switcher.creevey.d.mts} +0 -0
- /package/{cjs/components/Tabs/__creevey__/Tabs.creevey.d.ts → components/Tabs/__creevey__/Tabs.creevey.d.mts} +0 -0
- /package/{cjs/components/Textarea/__creevey__/Textarea.creevey.d.ts → components/Textarea/__creevey__/Textarea.creevey.d.mts} +0 -0
- /package/{cjs/components/Toast/__creevey__/Toast.creevey.d.ts → components/Toast/__creevey__/Toast.creevey.d.mts} +0 -0
- /package/{cjs/components/Toggle/__creevey__/Toggle.creevey.d.ts → components/Toggle/__creevey__/Toggle.creevey.d.mts} +0 -0
- /package/{cjs/components/TokenInput/__creevey__/TokenInput.creevey.d.ts → components/TokenInput/__creevey__/TokenInput.creevey.d.mts} +0 -0
- /package/{cjs/components/Tooltip/__creevey__/Tooltip.creevey.d.ts → components/Tooltip/__creevey__/Tooltip.creevey.d.mts} +0 -0
- /package/{cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.ts → components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.mts} +0 -0
- /package/{cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.ts → internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.d.mts} +0 -0
- /package/{cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.ts → internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.mts} +0 -0
- /package/{cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.ts → internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.mts} +0 -0
- /package/{cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.ts → internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.mts} +0 -0
- /package/{cjs/internal/Menu/__creevey__/Menu.creevey.d.ts → internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.mts} +0 -0
- /package/{cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.ts → internal/Menu/__creevey__/Menu.creevey.d.mts} +0 -0
- /package/{cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.ts → internal/PopupMenu/__creevey__/PopupMenu.creevey.d.mts} +0 -0
- /package/{cjs/internal/ZIndex/__creevey__/ZIndex.creevey.d.ts → internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts} +0 -0
- /package/{components/Autocomplete/__creevey__/Autocomplete.creevey.d.ts → internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.mts} +0 -0
- /package/{components/Button/__creevey__/Button.creevey.d.ts → internal/ZIndex/__creevey__/ZIndex.creevey.d.mts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_reactTransitionGroup","_warning","_globalObject","_getDOMRect","LayoutEvents","_interopRequireWildcard","_ZIndex","_RenderContainer","_utils","_client","_ThemeContext","_SSRSafe","_currentEnvironment","_CommonWrapper","_Emotion","_decorator","_MobilePopup","_rootNode","_callChildRef","_InstanceWithAnchorElement","_createPropsGetter","_isInstanceOf","_featureFlagsContext","_PopupPin","_PopupHelper","_Popup2","_class","_Popup","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupNonPinnablePositions","exports","PopupPinnablePositions","PopupPositions","concat","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","root","content","contentInner","popupPin","PopupIds","Popup","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","getProps","createPropsGetter","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","React","createRef","hasAnchorElementListeners","rootId","getRandomID","anchorElement","absoluteParent","renderInPortal","anchor","ref","default","createElement","RenderContainer","isMobileLayout","withoutMobile","renderMobile","renderContent","renderWithoutPortal","EmptyWrapper","updateAbsoluteElement","className","styles","updateAnchorElement","instance","childDomNode","isInstanceWithAnchorElement","getAnchorElement","getRootNode","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","getDOMRect","replace","percent","parseFloat","children","backgroundColor","_this$getProps","minWidth","theme","mergeRefs","refPopupContentElement","style","resetLocation","cancelDelayedUpdateLocation","setState","element","lastPopupContentElement","handleLayoutEvent","updateLocation","popupContentElement","getLocation","onPositionChange","locationEquals","getRelativeShift","_this2","disablePortal","rect","PopupHelper","getElementAbsoluteRect","_inheritsLoose2","_proto","prototype","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","_this3","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","ThemeContext","renderMain","renderChildren","CommonWrapper","rootNodeRef","setRootNode","MobilePopup","withoutRenderContainer","onCloseRequest","mobileOnCloseRequest","_this4","useWrapper","isInstanceOf","globalObject","Element","isValidElement","anchorWithRef","isRefableElement","cloneElement","_anchor","originalRef","callChildRef","canGetAnchorNode","renderRef","renderAnchor","addEventListener","removeEventListener","_this5","_this$props","maxWidth","_this$getProps2","hasShadow","disableAnimations","ignoreHover","relativeShift","_PopupHelper$getPosit","getPositionObject","direction","rootStyle","Transition","timeout","appear","in","Boolean","mountOnEnter","unmountOnExit","onExited","nodeRef","_this5$props$id","_extends2","_ref","_extends3","ZIndex","id","priority","cx","popup","shadow","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","isFunction","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","isIE11","_this$props2","pinSize","borderColor","_this$getProps3","hasPin","PopupPin","popupElement","popupPosition","size","parseInt","popupPinSize","offset","getPinOffset","align","borderWidth","popupBackground","requestAnimationFrame","cancelAnimationFrame","x","y","isNullable","isEdge","Math","abs","reorderPropsPositionsWithPriorityPos","positions","pos_","pos","index","findIndex","startsWith","warning","join","slice","_this$getProps4","tryPreserveFirstRenderedPosition","anchorRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","_iterator","_createForOfIteratorHelperLoose2","_step","done","value","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNonNullable","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","safePropTypesInstanceOf","HTMLElement","node","isRequired","string","func","bool","number","array","isTestEnv","priorities","defaultRootNode","_React$Component2","_proto2"],"sources":["Popup.tsx"],"sourcesContent":["import React, { HTMLAttributes, LegacyRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport warning from 'warning';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Priority, ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { getRandomID, isFunction, isNonNullable, isNullable, isRefableElement, mergeRefs } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport {\n getFullReactUIFlagsContext,\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n} from '../../lib/featureFlagsContext';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupNonPinnablePositions = ['middle center', 'middle left', 'middle right'];\n\nexport const PopupPinnablePositions = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\nexport const PopupPositions = [...PopupPinnablePositions, ...PopupNonPinnablePositions] as const;\n\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = (typeof PopupPositions)[number];\nexport type PopupPinnablePositionsType = (typeof PopupPinnablePositions)[number];\nexport type ShortPopupPositionsType = 'top' | 'bottom' | 'left' | 'right';\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps\n extends Omit<CommonProps, 'children'>,\n PopupHandlerProps,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n anchorElement: React.ReactNode | Element;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n priority?: Priority;\n positions?: Readonly<PopupPositionsType[]>;\n pos?: PopupPositionsType | ShortPopupPositionsType;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n minWidth?: React.CSSProperties['minWidth'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в том числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n /** @ignore */\n disablePortal?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n root: 'Popup__root',\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\nexport const PopupIds = {\n root: PopupDataTids.root,\n};\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n | 'popupOffset'\n | 'hasPin'\n | 'hasShadow'\n | 'disablePortal'\n | 'disableAnimations'\n | 'useWrapper'\n | 'ignoreHover'\n | 'width'\n | 'priority'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n public static displayName = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(globalObject.HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Приоритетная позиция попапа\n */\n pos: PropTypes.string,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n disablePortal: false,\n width: 'auto',\n priority: ZIndex.priorities.Popup,\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n public featureFlags!: ReactUIFeatureFlags;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupContentElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n private hasAnchorElementListeners = false;\n private rootId = PopupIds.root + getRandomID();\n\n public anchorElement: Nullable<Element> = null;\n private absoluteParent: Nullable<HTMLDivElement> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n\n if (!this.hasAnchorElementListeners) {\n this.addEventListeners(this.anchorElement);\n }\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n if (this.hasAnchorElementListeners) {\n this.removeEventListeners(this.anchorElement);\n }\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <CommonWrapper rootNodeRef={this.setRootNode}>\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n </CommonWrapper>\n ) : null;\n }\n\n private renderMain() {\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isInstanceOf(anchorElement, globalObject.Element)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref as React.RefCallback<any>;\n originalRef && callChildRef(originalRef, instance);\n },\n } as { ref: (instance: Nullable<React.ReactInstance>) => void })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isInstanceOf(anchorElement, globalObject.Element);\n const renderRef = canGetAnchorNode ? null : this.updateAnchorElement;\n const renderAnchor = anchorWithRef || anchor;\n\n return this.props.disablePortal\n ? this.renderWithoutPortal(renderAnchor, renderRef)\n : this.renderInPortal(renderAnchor, renderRef);\n }\n\n private renderInPortal = (anchor: React.ReactNode, ref: null | LegacyRef<RenderContainer>) => {\n const { location } = this.state;\n\n return (\n <RenderContainer anchor={anchor} ref={ref}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n };\n\n private renderWithoutPortal = (anchor: React.ReactNode, ref: null | LegacyRef<EmptyWrapper>) => {\n const { location } = this.state;\n\n return (\n <EmptyWrapper ref={ref}>\n {anchor}\n {location && (\n <div ref={this.updateAbsoluteElement} className={styles.absoluteParent()}>\n {this.renderContent(location)}\n </div>\n )}\n </EmptyWrapper>\n );\n };\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private updateAbsoluteElement = (instance: HTMLDivElement) => {\n this.absoluteParent = instance;\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = true;\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = false;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = getDOMRect(this.anchorElement).width;\n\n return width.replace(/(\\d)+%/g, (percent: string) => `${(anchorWidth * parseFloat(percent)) / 100}px`);\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const { width, minWidth } = this.getProps();\n\n return (\n <div\n className={styles.content(this.theme)}\n data-tid={PopupDataTids.content}\n ref={mergeRefs([this.refForTransition, this.refPopupContentElement])}\n >\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width), minWidth: this.calculateWidth(minWidth) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const relativeShift = this.getRelativeShift();\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = {\n maxWidth,\n top: location.coordinates.top + relativeShift.top,\n left: location.coordinates.left + relativeShift.left,\n };\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n id={this.props.id ?? this.rootId}\n data-tid={PopupDataTids.root}\n priority={this.props.priority}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {(!this.isMobileLayout || this.props.withoutMobile) && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupContentElement = (element: Nullable<Element>) => {\n this.lastPopupContentElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin &&\n !PopupNonPinnablePositions.includes(positionName) && (\n <PopupPin\n popupElement={this.lastPopupContentElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = globalObject.requestAnimationFrame?.(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n globalObject.cancelAnimationFrame?.(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupContentElement = this.lastPopupContentElement;\n\n if (!popupContentElement) {\n return;\n }\n\n const location = this.getLocation(popupContentElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private reorderPropsPositionsWithPriorityPos() {\n const positions = this.props.positions ? this.props.positions : PopupPinnablePositions;\n let pos_ = '';\n if (this.props.pos) {\n pos_ = this.props.pos;\n } else {\n pos_ = positions[0];\n }\n const index = positions.findIndex((position) => position.startsWith(pos_));\n if (index === -1) {\n warning(false, 'Unexpected position ' + pos_ + ' passed to Popup. Expected one of: ' + positions.join(', '));\n return positions;\n }\n return [...positions.slice(index), ...positions.slice(0, index)];\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { tryPreserveFirstRenderedPosition } = this.getProps();\n const positions = this.reorderPropsPositionsWithPriorityPos();\n\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isInstanceOf(anchorElement, globalObject.Element),\n 'Anchor element is not defined or not instance of Element',\n );\n\n if (!(anchorElement && isInstanceOf(anchorElement, globalObject.Element))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getRelativeShift = () => {\n const { absoluteParent } = this;\n\n if (!this.props.disablePortal || !absoluteParent) {\n return {\n top: 0,\n left: 0,\n };\n }\n\n const rect = PopupHelper.getElementAbsoluteRect(absoluteParent);\n\n return {\n top: -rect.top,\n left: -rect.left,\n };\n };\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'middle':\n return {\n top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n\n// Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor\ntype EmptyWrapperProps = Readonly<{\n children: React.ReactNode;\n}>;\n\nclass EmptyWrapper extends React.Component<EmptyWrapperProps> {\n public render() {\n return this.props.children;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_reactTransitionGroup","_warning","_globalObject","_getDOMRect","LayoutEvents","_interopRequireWildcard","_ZIndex","_RenderContainer","_utils","_client","_ThemeContext","_SSRSafe","_currentEnvironment","_CommonWrapper","_Emotion","_decorator","_MobilePopup","_rootNode","_InstanceWithAnchorElement","_createPropsGetter","_isInstanceOf","_featureFlagsContext","_mergeRefs","_PopupPin","_PopupHelper","_Popup2","_class","_Popup","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupNonPinnablePositions","exports","PopupPinnablePositions","PopupPositions","concat","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","root","content","contentInner","popupPin","PopupIds","Popup","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","getProps","createPropsGetter","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","React","createRef","hasAnchorElementListeners","rootId","getRandomID","anchorElement","absoluteParent","renderInPortal","anchor","ref","default","createElement","RenderContainer","isMobileLayout","withoutMobile","renderMobile","renderContent","renderWithoutPortal","EmptyWrapper","updateAbsoluteElement","className","styles","updateAnchorElement","instance","childDomNode","isInstanceWithAnchorElement","getAnchorElement","getRootNode","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","getDOMRect","replace","percent","parseFloat","children","backgroundColor","_this$getProps","minWidth","theme","mergeRefs","refPopupContentElement","style","resetLocation","cancelDelayedUpdateLocation","setState","element","lastPopupContentElement","handleLayoutEvent","updateLocation","popupContentElement","getLocation","onPositionChange","locationEquals","getRelativeShift","_this2","disablePortal","rect","PopupHelper","getElementAbsoluteRect","_inheritsLoose2","_proto","prototype","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","_this3","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","ThemeContext","renderMain","renderChildren","CommonWrapper","rootNodeRef","setRootNode","MobilePopup","withoutRenderContainer","onCloseRequest","mobileOnCloseRequest","_anchor","useWrapper","isInstanceOf","globalObject","Element","isValidElement","anchorWithRef","isRefableElement","cloneElement","canGetAnchorNode","renderRef","renderAnchor","addEventListener","removeEventListener","_this4","_this$props","maxWidth","_this$getProps2","hasShadow","disableAnimations","ignoreHover","relativeShift","_PopupHelper$getPosit","getPositionObject","direction","rootStyle","Transition","timeout","appear","in","Boolean","mountOnEnter","unmountOnExit","onExited","nodeRef","_this4$props$id","_extends2","_ref","_extends3","ZIndex","id","priority","cx","popup","shadow","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","isFunction","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","isIE11","_this$props2","pinSize","borderColor","_this$getProps3","hasPin","PopupPin","popupElement","popupPosition","size","parseInt","popupPinSize","offset","getPinOffset","align","borderWidth","popupBackground","requestAnimationFrame","cancelAnimationFrame","x","y","isNullable","isEdge","Math","abs","reorderPropsPositionsWithPriorityPos","positions","pos_","pos","index","findIndex","startsWith","warning","join","slice","_this$getProps4","tryPreserveFirstRenderedPosition","anchorRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","_iterator","_createForOfIteratorHelperLoose2","_step","done","value","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNonNullable","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","safePropTypesInstanceOf","HTMLElement","node","isRequired","string","func","bool","number","array","isTestEnv","priorities","defaultRootNode","_React$Component2","_proto2"],"sources":["Popup.tsx"],"sourcesContent":["import React, { HTMLAttributes, LegacyRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport warning from 'warning';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Priority, ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { getRandomID, isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport {\n getFullReactUIFlagsContext,\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n} from '../../lib/featureFlagsContext';\nimport { mergeRefs } from '../../lib/mergeRefs';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupNonPinnablePositions = ['middle center', 'middle left', 'middle right'];\n\nexport const PopupPinnablePositions = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\nexport const PopupPositions = [...PopupPinnablePositions, ...PopupNonPinnablePositions] as const;\n\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = (typeof PopupPositions)[number];\nexport type PopupPinnablePositionsType = (typeof PopupPinnablePositions)[number];\nexport type ShortPopupPositionsType = 'top' | 'bottom' | 'left' | 'right';\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps\n extends Omit<CommonProps, 'children'>,\n PopupHandlerProps,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n anchorElement: React.ReactNode | Element;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n priority?: Priority;\n positions?: Readonly<PopupPositionsType[]>;\n pos?: PopupPositionsType | ShortPopupPositionsType;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n minWidth?: React.CSSProperties['minWidth'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в том числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n /** @ignore */\n disablePortal?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n root: 'Popup__root',\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\nexport const PopupIds = {\n root: PopupDataTids.root,\n};\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n | 'popupOffset'\n | 'hasPin'\n | 'hasShadow'\n | 'disablePortal'\n | 'disableAnimations'\n | 'useWrapper'\n | 'ignoreHover'\n | 'width'\n | 'priority'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n public static displayName = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(globalObject.HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Приоритетная позиция попапа\n */\n pos: PropTypes.string,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n disablePortal: false,\n width: 'auto',\n priority: ZIndex.priorities.Popup,\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n public featureFlags!: ReactUIFeatureFlags;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupContentElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n private hasAnchorElementListeners = false;\n private rootId = PopupIds.root + getRandomID();\n\n public anchorElement: Nullable<Element> = null;\n private absoluteParent: Nullable<HTMLDivElement> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n\n if (!this.hasAnchorElementListeners) {\n this.addEventListeners(this.anchorElement);\n }\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n if (this.hasAnchorElementListeners) {\n this.removeEventListeners(this.anchorElement);\n }\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <CommonWrapper rootNodeRef={this.setRootNode}>\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n </CommonWrapper>\n ) : null;\n }\n\n private renderMain() {\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isInstanceOf(anchorElement, globalObject.Element)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: mergeRefs(\n (anchor as React.RefAttributes<typeof anchor>)?.ref as React.RefCallback<any>,\n this.updateAnchorElement,\n ),\n } as { ref: (instance: Nullable<React.ReactInstance>) => void })\n : null;\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isInstanceOf(anchorElement, globalObject.Element);\n const renderRef = canGetAnchorNode ? null : this.updateAnchorElement;\n const renderAnchor = anchorWithRef || anchor;\n\n return this.props.disablePortal\n ? this.renderWithoutPortal(renderAnchor, renderRef)\n : this.renderInPortal(renderAnchor, renderRef);\n }\n\n private renderInPortal = (anchor: React.ReactNode, ref: null | LegacyRef<RenderContainer>) => {\n const { location } = this.state;\n\n return (\n <RenderContainer anchor={anchor} ref={ref}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n };\n\n private renderWithoutPortal = (anchor: React.ReactNode, ref: null | LegacyRef<EmptyWrapper>) => {\n const { location } = this.state;\n\n return (\n <EmptyWrapper ref={ref}>\n {anchor}\n {location && (\n <div ref={this.updateAbsoluteElement} className={styles.absoluteParent()}>\n {this.renderContent(location)}\n </div>\n )}\n </EmptyWrapper>\n );\n };\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private updateAbsoluteElement = (instance: HTMLDivElement) => {\n this.absoluteParent = instance;\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = true;\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = false;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = getDOMRect(this.anchorElement).width;\n\n return width.replace(/(\\d)+%/g, (percent: string) => `${(anchorWidth * parseFloat(percent)) / 100}px`);\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const { width, minWidth } = this.getProps();\n\n return (\n <div\n className={styles.content(this.theme)}\n data-tid={PopupDataTids.content}\n ref={mergeRefs(this.refForTransition, this.refPopupContentElement)}\n >\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width), minWidth: this.calculateWidth(minWidth) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const relativeShift = this.getRelativeShift();\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = {\n maxWidth,\n top: location.coordinates.top + relativeShift.top,\n left: location.coordinates.left + relativeShift.left,\n };\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n id={this.props.id ?? this.rootId}\n data-tid={PopupDataTids.root}\n priority={this.props.priority}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {(!this.isMobileLayout || this.props.withoutMobile) && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupContentElement = (element: HTMLDivElement) => {\n this.lastPopupContentElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin &&\n !PopupNonPinnablePositions.includes(positionName) && (\n <PopupPin\n popupElement={this.lastPopupContentElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = globalObject.requestAnimationFrame?.(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n globalObject.cancelAnimationFrame?.(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupContentElement = this.lastPopupContentElement;\n\n if (!popupContentElement) {\n return;\n }\n\n const location = this.getLocation(popupContentElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private reorderPropsPositionsWithPriorityPos() {\n const positions = this.props.positions ? this.props.positions : PopupPinnablePositions;\n let pos_ = '';\n if (this.props.pos) {\n pos_ = this.props.pos;\n } else {\n pos_ = positions[0];\n }\n const index = positions.findIndex((position) => position.startsWith(pos_));\n if (index === -1) {\n warning(false, 'Unexpected position ' + pos_ + ' passed to Popup. Expected one of: ' + positions.join(', '));\n return positions;\n }\n return [...positions.slice(index), ...positions.slice(0, index)];\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { tryPreserveFirstRenderedPosition } = this.getProps();\n const positions = this.reorderPropsPositionsWithPriorityPos();\n\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isInstanceOf(anchorElement, globalObject.Element),\n 'Anchor element is not defined or not instance of Element',\n );\n\n if (!(anchorElement && isInstanceOf(anchorElement, globalObject.Element))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getRelativeShift = () => {\n const { absoluteParent } = this;\n\n if (!this.props.disablePortal || !absoluteParent) {\n return {\n top: 0,\n left: 0,\n };\n }\n\n const rect = PopupHelper.getElementAbsoluteRect(absoluteParent);\n\n return {\n top: -rect.top,\n left: -rect.left,\n };\n };\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'middle':\n return {\n top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n\n// Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor\ntype EmptyWrapperProps = Readonly<{\n children: React.ReactNode;\n}>;\n\nclass EmptyWrapper extends React.Component<EmptyWrapperProps> {\n public render() {\n return this.props.children;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,11 +3,14 @@ import { HTMLProps } from '../../typings/html';
|
|
|
3
3
|
import { PopupPositionsType } from '../Popup';
|
|
4
4
|
import { CommonProps } from '../CommonWrapper';
|
|
5
5
|
import { MenuProps } from '../Menu';
|
|
6
|
+
export * from './tids';
|
|
6
7
|
export interface PopupMenuCaptionProps {
|
|
7
8
|
opened: boolean;
|
|
8
9
|
openMenu: (firstItemShouldBeSelected?: boolean) => void;
|
|
9
10
|
closeMenu: (restoreFocus?: boolean) => void;
|
|
10
11
|
toggleMenu: () => void;
|
|
12
|
+
/** @ignore */
|
|
13
|
+
corners?: React.CSSProperties;
|
|
11
14
|
}
|
|
12
15
|
export interface PopupMenuProps extends CommonProps, Pick<MenuProps, 'preventIconsOffset'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Pick<AriaAttributes, 'aria-label'> {
|
|
13
16
|
children?: React.ReactNode;
|
|
@@ -46,6 +49,8 @@ export interface PopupMenuProps extends CommonProps, Pick<MenuProps, 'preventIco
|
|
|
46
49
|
* Это может пригодиться при реализации a11y. Например, для того, чтобы связать `aria-controls` с выпадающим меню.
|
|
47
50
|
*/
|
|
48
51
|
popupMenuId?: HTMLProps['id'];
|
|
52
|
+
/** @ignore */
|
|
53
|
+
corners?: React.CSSProperties;
|
|
49
54
|
}
|
|
50
55
|
interface PopupMenuState {
|
|
51
56
|
menuVisible: boolean;
|
|
@@ -55,10 +60,6 @@ export declare const PopupMenuType: {
|
|
|
55
60
|
readonly Dropdown: "dropdown";
|
|
56
61
|
readonly Tooltip: "tooltip";
|
|
57
62
|
};
|
|
58
|
-
export declare const PopupMenuDataTids: {
|
|
59
|
-
readonly root: "PopupMenu__root";
|
|
60
|
-
readonly caption: "PopupMenu__caption";
|
|
61
|
-
};
|
|
62
63
|
type DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;
|
|
63
64
|
export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {
|
|
64
65
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -100,4 +101,3 @@ export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenu
|
|
|
100
101
|
private handleChangeMenuVisible;
|
|
101
102
|
private handleItemSelection;
|
|
102
103
|
}
|
|
103
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;var _exportNames = { PopupMenuType: true, PopupMenu: true };exports.PopupMenuType = exports.PopupMenu = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _globalObject = require("@skbkontur/global-object");
|
|
3
3
|
|
|
4
4
|
var _utils = require("../../lib/utils");
|
|
@@ -22,7 +22,15 @@ var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
|
22
22
|
var _Menu = require("../Menu");
|
|
23
23
|
|
|
24
24
|
var _validatePositions = require("./validatePositions");
|
|
25
|
-
var _PopupMenu2 = require("./PopupMenu.styles");
|
|
25
|
+
var _PopupMenu2 = require("./PopupMenu.styles");
|
|
26
|
+
var _tids = require("./tids");
|
|
27
|
+
|
|
28
|
+
Object.keys(_tids).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;if (key in exports && exports[key] === _tids[key]) return;exports[key] = _tids[key];});var _class, _PopupMenu;
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
26
34
|
|
|
27
35
|
|
|
28
36
|
|
|
@@ -87,11 +95,6 @@ var PopupMenuType = exports.PopupMenuType = {
|
|
|
87
95
|
Tooltip: 'tooltip'
|
|
88
96
|
};
|
|
89
97
|
|
|
90
|
-
var PopupMenuDataTids = exports.PopupMenuDataTids = {
|
|
91
|
-
root: 'PopupMenu__root',
|
|
92
|
-
caption: 'PopupMenu__caption'
|
|
93
|
-
};
|
|
94
|
-
|
|
95
98
|
var Positions = [
|
|
96
99
|
'top left',
|
|
97
100
|
'top center',
|
|
@@ -237,12 +240,13 @@ PopupMenu = exports.PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.
|
|
|
237
240
|
opened: _this.state.menuVisible,
|
|
238
241
|
openMenu: _this.showMenu,
|
|
239
242
|
closeMenu: _this.hideMenu,
|
|
240
|
-
toggleMenu: _this.toggleMenu
|
|
243
|
+
toggleMenu: _this.toggleMenu,
|
|
244
|
+
corners: _this.props.corners
|
|
241
245
|
});
|
|
242
246
|
|
|
243
247
|
return /*#__PURE__*/(
|
|
244
248
|
_react.default.createElement("span", {
|
|
245
|
-
"data-tid": PopupMenuDataTids.caption,
|
|
249
|
+
"data-tid": _tids.PopupMenuDataTids.caption,
|
|
246
250
|
className: _PopupMenu2.styles.caption(),
|
|
247
251
|
ref: function ref(element) {return _this.captionWrapper = element;} },
|
|
248
252
|
|
|
@@ -253,7 +257,7 @@ PopupMenu = exports.PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.
|
|
|
253
257
|
|
|
254
258
|
return /*#__PURE__*/(
|
|
255
259
|
_react.default.createElement("span", {
|
|
256
|
-
"data-tid": PopupMenuDataTids.caption,
|
|
260
|
+
"data-tid": _tids.PopupMenuDataTids.caption,
|
|
257
261
|
onClick: _this.handleCaptionClick,
|
|
258
262
|
onKeyDown: _this.handleCaptionKeyDown,
|
|
259
263
|
ref: function ref(element) {return _this.captionWrapper = element;},
|
|
@@ -364,4 +368,4 @@ PopupMenu = exports.PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.
|
|
|
364
368
|
|
|
365
369
|
var restoreFocus = event.type === 'keydown';
|
|
366
370
|
_this.hideMenu(restoreFocus);
|
|
367
|
-
};return _this;}(0, _inheritsLoose2.default)(PopupMenu, _React$Component);var _proto = PopupMenu.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ menuOffsetY: theme.popupMenuMenuOffsetY }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props$popupMenu2;var _this$getProps = this.getProps(),popupHasPin = _this$getProps.popupHasPin,disableAnimations = _this$getProps.disableAnimations;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.hideMenuWithoutFocusing, onFocusOutside: this.hideMenuWithoutFocusing, active: this.state.menuVisible }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": PopupMenuDataTids.root, className: _PopupMenu2.styles.container(), style: { width: this.props.width } }, this.renderCaption(), this.captionWrapper && this.props.children && /*#__PURE__*/_react.default.createElement(_Popup.Popup, { id: (_this$props$popupMenu2 = this.props.popupMenuId) != null ? _this$props$popupMenu2 : this.rootId, anchorElement: this.captionWrapper, opened: this.state.menuVisible, hasShadow: true, margin: this.props.popupMargin, hasPin: popupHasPin, pinOffset: this.props.popupPinOffset, positions: this.getPositions(), disableAnimations: disableAnimations, onOpen: this.handleOpen, mobileOnCloseRequest: this.hideMenu, width: this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto' }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none', onKeyDown: this.handleKeyDown, onItemClick: this.handleItemSelection, preventIconsOffset: this.props.preventIconsOffset, cyclicSelection: false, ref: this.menuRef, initialSelectedItemIndex: this.state.firstItemShouldBeSelected ? 0 : -1, header: this.props.header, footer: this.props.footer }, this.props.children)))));};_proto.getPositions = function getPositions() {var positions = this.getProps().positions;if (positions && (0, _validatePositions.isValidPositions)(positions)) {return positions;}return Positions;};return PopupMenu;}(_react.default.Component), _PopupMenu.__KONTUR_REACT_UI__ = 'PopupMenu', _PopupMenu.displayName = 'PopupMenu', _PopupMenu.defaultProps = { positions: Positions, type: PopupMenuType.Tooltip, popupHasPin: true, disableAnimations: false }, _PopupMenu.Type = PopupMenuType, _PopupMenu)) || _class) || _class;
|
|
371
|
+
};return _this;}(0, _inheritsLoose2.default)(PopupMenu, _React$Component);var _proto = PopupMenu.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ menuOffsetY: theme.popupMenuMenuOffsetY }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props$popupMenu2;var _this$getProps = this.getProps(),popupHasPin = _this$getProps.popupHasPin,disableAnimations = _this$getProps.disableAnimations;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.hideMenuWithoutFocusing, onFocusOutside: this.hideMenuWithoutFocusing, active: this.state.menuVisible }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": _tids.PopupMenuDataTids.root, className: _PopupMenu2.styles.container(), style: { width: this.props.width } }, this.renderCaption(), this.captionWrapper && this.props.children && /*#__PURE__*/_react.default.createElement(_Popup.Popup, { id: (_this$props$popupMenu2 = this.props.popupMenuId) != null ? _this$props$popupMenu2 : this.rootId, anchorElement: this.captionWrapper, opened: this.state.menuVisible, hasShadow: true, margin: this.props.popupMargin, hasPin: popupHasPin, pinOffset: this.props.popupPinOffset, positions: this.getPositions(), disableAnimations: disableAnimations, onOpen: this.handleOpen, mobileOnCloseRequest: this.hideMenu, width: this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto' }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none', onKeyDown: this.handleKeyDown, onItemClick: this.handleItemSelection, preventIconsOffset: this.props.preventIconsOffset, cyclicSelection: false, ref: this.menuRef, initialSelectedItemIndex: this.state.firstItemShouldBeSelected ? 0 : -1, header: this.props.header, footer: this.props.footer }, this.props.children)))));};_proto.getPositions = function getPositions() {var positions = this.getProps().positions;if (positions && (0, _validatePositions.isValidPositions)(positions)) {return positions;}return Positions;};return PopupMenu;}(_react.default.Component), _PopupMenu.__KONTUR_REACT_UI__ = 'PopupMenu', _PopupMenu.displayName = 'PopupMenu', _PopupMenu.defaultProps = { positions: Positions, type: PopupMenuType.Tooltip, popupHasPin: true, disableAnimations: false }, _PopupMenu.Type = PopupMenuType, _PopupMenu)) || _class) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_utils","_identifiers","_ThemeContext","_ThemeFactory","_Popup","_RenderLayer","_CommonWrapper","_decorator","_rootNode","_createPropsGetter","_Menu","_validatePositions","_PopupMenu2","_class","_PopupMenu","PopupMenuType","exports","Dropdown","Tooltip","PopupMenuDataTids","root","caption","Positions","PopupMenu","rootNode","responsiveLayout","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","rootId","PopupIds","getRandomID","getProps","createPropsGetter","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","menuRef","element","handleOpen","focus","passPropsToCaption","_this$props$popupMenu","React","cloneElement","id","props","popupMenuId","renderCaption","opened","openMenu","closeMenu","toggleMenu","default","createElement","className","styles","ref","onClick","handleCaptionClick","onKeyDown","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","someKeys","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleKeyDown","isKeyEscape","globalObject","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","theme","Provider","value","ThemeFactory","create","menuOffsetY","popupMenuMenuOffsetY","renderMain","_this$props$popupMenu2","_this$getProps","popupHasPin","disableAnimations","CommonWrapper","_extends2","rootNodeRef","setRootNode","RenderLayer","onClickOutside","onFocusOutside","active","container","style","width","children","Popup","anchorElement","hasShadow","margin","popupMargin","hasPin","pinOffset","popupPinOffset","positions","getPositions","mobileOnCloseRequest","isMobileLayout","menuWidth","Menu","maxHeight","menuMaxHeight","onItemClick","preventIconsOffset","cyclicSelection","initialSelectedItemIndex","header","footer","isValidPositions","Component","__KONTUR_REACT_UI__","displayName","Type"],"sources":["PopupMenu.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRandomID } from '../../lib/utils';\nimport { HTMLProps } from '../../typings/html';\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup, PopupIds, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Menu, MenuProps } from '../Menu';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps\n extends CommonProps,\n Pick<MenuProps, 'preventIconsOffset'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<AriaAttributes, 'aria-label'> {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations?: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n /**\n * Позволяет задать `id` выпадающему меню.\n *\n * Это может пригодиться при реализации a11y. Например, для того, чтобы связать `aria-controls` с выпадающим меню.\n */\n popupMenuId?: HTMLProps['id'];\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n} as const;\n\nexport const PopupMenuDataTids = {\n root: 'PopupMenu__root',\n caption: 'PopupMenu__caption',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\ntype DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n public static displayName = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n private rootId = PopupIds.root + getRandomID();\n\n public static defaultProps: DefaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n private getProps = createPropsGetter(PopupMenu.defaultProps);\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<Menu> = null;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n menuOffsetY: theme.popupMenuMenuOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { popupHasPin, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div data-tid={PopupMenuDataTids.root} className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n id={this.props.popupMenuId ?? this.rootId}\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <Menu\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n preventIconsOffset={this.props.preventIconsOffset}\n cyclicSelection={false}\n ref={this.menuRef}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </Menu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private menuRef = (element: Nullable<Menu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private passPropsToCaption = (caption: React.ReactNode) => {\n if (typeof caption === 'string' || typeof caption === 'number') {\n return caption;\n }\n\n return React.cloneElement(caption as React.ReactElement, {\n id: this.props.id,\n 'aria-controls': this.props.popupMenuId ?? this.rootId,\n 'aria-expanded': this.state.menuVisible ? 'true' : 'false',\n 'aria-label': this.props['aria-label'],\n });\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {this.passPropsToCaption(caption)}\n </span>\n );\n }\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.passPropsToCaption(this.props.caption)}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n const positions = this.getProps().positions;\n if (positions && isValidPositions(positions)) {\n return positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (globalObject.document) {\n this.savedFocusableElement = globalObject.document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_utils","_identifiers","_ThemeContext","_ThemeFactory","_Popup","_RenderLayer","_CommonWrapper","_decorator","_rootNode","_createPropsGetter","_Menu","_validatePositions","_PopupMenu2","_tids","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_class","_PopupMenu","PopupMenuType","Dropdown","Tooltip","Positions","PopupMenu","rootNode","responsiveLayout","_React$Component","_this","_len","arguments","length","args","Array","_key","apply","concat","rootId","PopupIds","root","getRandomID","getProps","createPropsGetter","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","menuRef","element","handleOpen","focus","passPropsToCaption","caption","_this$props$popupMenu","React","cloneElement","id","props","popupMenuId","renderCaption","opened","openMenu","closeMenu","toggleMenu","corners","default","createElement","PopupMenuDataTids","className","styles","ref","onClick","handleCaptionClick","onKeyDown","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","someKeys","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleKeyDown","isKeyEscape","globalObject","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","_inheritsLoose2","_proto","render","_this2","ThemeContext","Consumer","theme","Provider","value","ThemeFactory","create","menuOffsetY","popupMenuMenuOffsetY","renderMain","_this$props$popupMenu2","_this$getProps","popupHasPin","disableAnimations","CommonWrapper","_extends2","rootNodeRef","setRootNode","RenderLayer","onClickOutside","onFocusOutside","active","container","style","width","children","Popup","anchorElement","hasShadow","margin","popupMargin","hasPin","pinOffset","popupPinOffset","positions","getPositions","mobileOnCloseRequest","isMobileLayout","menuWidth","Menu","maxHeight","menuMaxHeight","onItemClick","preventIconsOffset","cyclicSelection","initialSelectedItemIndex","header","footer","isValidPositions","Component","__KONTUR_REACT_UI__","displayName","Type"],"sources":["PopupMenu.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRandomID } from '../../lib/utils';\nimport { HTMLProps } from '../../typings/html';\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup, PopupIds, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Menu, MenuProps } from '../Menu';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\nimport { PopupMenuDataTids } from './tids';\n\nexport * from './tids';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n /** @ignore */\n corners?: React.CSSProperties;\n}\n\nexport interface PopupMenuProps\n extends CommonProps,\n Pick<MenuProps, 'preventIconsOffset'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<AriaAttributes, 'aria-label'> {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations?: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n /**\n * Позволяет задать `id` выпадающему меню.\n *\n * Это может пригодиться при реализации a11y. Например, для того, чтобы связать `aria-controls` с выпадающим меню.\n */\n popupMenuId?: HTMLProps['id'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\ntype DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n public static displayName = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n private rootId = PopupIds.root + getRandomID();\n\n public static defaultProps: DefaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n private getProps = createPropsGetter(PopupMenu.defaultProps);\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<Menu> = null;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n menuOffsetY: theme.popupMenuMenuOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { popupHasPin, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div data-tid={PopupMenuDataTids.root} className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n id={this.props.popupMenuId ?? this.rootId}\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <Menu\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n preventIconsOffset={this.props.preventIconsOffset}\n cyclicSelection={false}\n ref={this.menuRef}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </Menu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private menuRef = (element: Nullable<Menu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private passPropsToCaption = (caption: React.ReactNode) => {\n if (typeof caption === 'string' || typeof caption === 'number') {\n return caption;\n }\n\n return React.cloneElement(caption as React.ReactElement, {\n id: this.props.id,\n 'aria-controls': this.props.popupMenuId ?? this.rootId,\n 'aria-expanded': this.state.menuVisible ? 'true' : 'false',\n 'aria-label': this.props['aria-label'],\n });\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n corners: this.props.corners,\n });\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {this.passPropsToCaption(caption)}\n </span>\n );\n }\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.passPropsToCaption(this.props.caption)}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n const positions = this.getProps().positions;\n if (positions && isValidPositions(positions)) {\n return positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (globalObject.document) {\n this.savedFocusableElement = globalObject.document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { story, kind, test } from 'creevey';
|
|
2
|
+
|
|
3
|
+
import { PopupMenuDataTids } from '../tids';
|
|
4
|
+
import { delay } from '../../../lib/delay';
|
|
5
|
+
|
|
6
|
+
const textAlignmentTests = () => {
|
|
7
|
+
test('opened', async (context) => {
|
|
8
|
+
await context.webdriver
|
|
9
|
+
.actions({
|
|
10
|
+
bridge: true,
|
|
11
|
+
})
|
|
12
|
+
.click(context.webdriver.findElement({ css: `[data-tid~="${PopupMenuDataTids.caption}"]` }))
|
|
13
|
+
.perform();
|
|
14
|
+
await delay(1000);
|
|
15
|
+
await context.matchImage(await context.takeScreenshot(), 'opened');
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
kind('PopupMenu', () => {
|
|
20
|
+
story('WithItems', ({ setStoryParameters }) => {
|
|
21
|
+
setStoryParameters({ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } } });
|
|
22
|
+
|
|
23
|
+
textAlignmentTests();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
story('WithItemsWithIcons', ({ setStoryParameters }) => {
|
|
27
|
+
setStoryParameters({ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } } });
|
|
28
|
+
|
|
29
|
+
textAlignmentTests();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
story('WithItemsWithIconsWithoutTextAlignment', ({ setStoryParameters }) => {
|
|
33
|
+
setStoryParameters({ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } } });
|
|
34
|
+
|
|
35
|
+
textAlignmentTests();
|
|
36
|
+
});
|
|
37
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PopupMenuDataTids","exports","root","caption"],"sources":["tids.ts"],"sourcesContent":["export const PopupMenuDataTids = {\n root: 'PopupMenu__root',\n caption: 'PopupMenu__caption',\n} as const;\n"],"mappings":"0EAAO,IAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC/BE,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAE;AACX,CAAU","ignoreList":[]}
|