@skbkontur/react-ui 5.6.7-aa2dc.0 → 5.6.8
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 +23 -0
- package/cjs/components/Calendar/Calendar.js +2 -31
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.js +2 -2
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +18 -19
- package/cjs/components/Dropdown/Dropdown.js +2 -3
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/FxInput/FxInput.js +1 -2
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +20 -23
- package/cjs/components/GlobalLoader/GlobalLoader.js +4 -7
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +10 -10
- package/cjs/components/Kebab/Kebab.js +1 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +9 -9
- package/cjs/components/Loader/Loader.js +3 -3
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +23 -22
- package/cjs/components/Paging/Paging.js +1 -0
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +28 -16
- package/cjs/components/Spinner/Spinner.js +17 -5
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Tabs/Indicator.styles.d.ts +1 -0
- package/cjs/components/Tabs/Indicator.styles.js +8 -1
- package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +11 -10
- package/cjs/components/Tabs/Tab.js +3 -2
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +7 -12
- package/cjs/components/Tabs/Tabs.js +1 -6
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +2 -3
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +4 -4
- package/cjs/components/Toast/Toast.js +2 -2
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +0 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +1 -2
- package/cjs/internal/Menu/Menu.js +0 -1
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +0 -7
- package/cjs/internal/Popup/Popup.js +2 -44
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.d.ts +0 -27
- package/cjs/internal/Popup/PopupHelper.js +2 -125
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -7
- package/cjs/internal/PopupMenu/PopupMenu.js +0 -4
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +1 -0
- package/cjs/internal/themes/BasicTheme.js +2 -1
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +2 -28
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/CalendarDay/CalendarDay.js +1 -1
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +2 -2
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +18 -19
- package/components/FxInput/FxInput/FxInput.js +3 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -7
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +20 -23
- package/components/Kebab/Kebab/Kebab.js +1 -2
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +10 -10
- package/components/Loader/Loader/Loader.js +3 -3
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +9 -9
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +23 -22
- package/components/Spinner/Spinner/Spinner.js +0 -5
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +28 -16
- package/components/Tabs/Indicator.styles/Indicator.styles.js +4 -1
- package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
- package/components/Tabs/Indicator.styles.d.ts +1 -0
- package/components/Tabs/Tab/Tab.js +3 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +11 -10
- package/components/Tabs/Tabs/Tabs.js +1 -6
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +7 -12
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Toast/Toast/Toast.js +2 -2
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +4 -4
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +0 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +1 -2
- package/internal/Popup/Popup/Popup.js +2 -26
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +0 -7
- package/internal/Popup/PopupHelper/PopupHelper.js +1 -114
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupHelper.d.ts +0 -27
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +3 -7
- package/internal/themes/BasicTheme/BasicTheme.js +2 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","globalObject","getRandomID","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","ThemeContext","ThemeFactory","Popup","PopupIds","RenderLayer","CommonWrapper","responsiveLayout","rootNode","createPropsGetter","Menu","isValidPositions","styles","PopupMenuDataTids","PopupMenuType","Dropdown","Tooltip","Positions","PopupMenu","_class","_PopupMenu","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","rootId","root","getProps","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","menuRef","element","handleOpen","focus","passPropsToCaption","caption","_this$props$popupMenu","cloneElement","id","props","popupMenuId","renderCaption","opened","openMenu","closeMenu","toggleMenu","corners","createElement","className","ref","onClick","handleCaptionClick","onKeyDown","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","_inheritsLoose","_proto","prototype","render","_this2","Consumer","theme","Provider","value","create","menuOffsetY","popupMenuMenuOffsetY","renderMain","_this$props$popupMenu2","_this$getProps","popupHasPin","disableAnimations","_extends","rootNodeRef","setRootNode","onClickOutside","onFocusOutside","active","container","style","width","children","anchorElement","hasShadow","margin","popupMargin","hasPin","pinOffset","popupPinOffset","positions","getPositions","mobileOnCloseRequest","isMobileLayout","menuWidth","maxHeight","menuMaxHeight","onItemClick","preventIconsOffset","cyclicSelection","initialSelectedItemIndex","header","footer","Component","__KONTUR_REACT_UI__","displayName","Type"],"sources":["PopupMenu.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRandomID } from '../../lib/utils';\nimport type { 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 type { PopupPositionsType } from '../Popup';\nimport { Popup, PopupIds } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { MenuProps } from '../Menu';\nimport { Menu } 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 public getRootNode!: TGetRootNode;\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":[]}
|
|
1
|
+
{"version":3,"names":["React","globalObject","getRandomID","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","ThemeContext","ThemeFactory","Popup","PopupIds","RenderLayer","CommonWrapper","responsiveLayout","rootNode","createPropsGetter","Menu","isValidPositions","styles","PopupMenuDataTids","PopupMenuType","Dropdown","Tooltip","Positions","PopupMenu","_class","_PopupMenu","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","rootId","root","getProps","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","menuRef","element","handleOpen","focus","passPropsToCaption","caption","_this$props$popupMenu","cloneElement","id","props","popupMenuId","renderCaption","opened","openMenu","closeMenu","toggleMenu","corners","createElement","className","ref","onClick","handleCaptionClick","onKeyDown","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","_inheritsLoose","_proto","prototype","render","_this2","Consumer","theme","Provider","value","create","menuOffsetY","popupMenuMenuOffsetY","renderMain","_this$props$popupMenu2","_this$getProps","popupHasPin","disableAnimations","_extends","rootNodeRef","setRootNode","onClickOutside","onFocusOutside","active","container","style","width","children","anchorElement","hasShadow","margin","popupMargin","hasPin","pinOffset","popupPinOffset","positions","getPositions","mobileOnCloseRequest","isMobileLayout","menuWidth","maxHeight","menuMaxHeight","onItemClick","preventIconsOffset","cyclicSelection","initialSelectedItemIndex","header","footer","Component","__KONTUR_REACT_UI__","displayName","Type"],"sources":["PopupMenu.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRandomID } from '../../lib/utils';\nimport type { 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 type { PopupPositionsType } from '../Popup';\nimport { Popup, PopupIds } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { MenuProps } from '../Menu';\nimport { Menu } 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 /** `id` выпадающего меню. */\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 public getRootNode!: TGetRootNode;\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":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,0BAA0B;;AAEvD,SAASC,WAAW,QAAQ,iBAAiB;;AAE7C;EACEC,kBAAkB;EAClBC,UAAU;EACVC,WAAW;EACXC,UAAU;EACVC,QAAQ;AACH,uCAAuC;AAC9C,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,KAAK,EAAEC,QAAQ,QAAQ,UAAU;AAC1C,SAASC,WAAW,QAAQ,gBAAgB;;;AAG5C,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,gBAAgB,QAAQ,6CAA6C;;AAE9E,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,IAAI,QAAQ,SAAS;;AAE9B,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,QAAQ;;AAE1C,cAAc,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DtB,OAAO,IAAMC,aAAa,GAAG;EAC3BC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE;AACX,CAAU;;AAEV,IAAMC,SAA+B,GAAG;AACtC,UAAU;AACV,YAAY;AACZ,WAAW;AACX,WAAW;AACX,cAAc;AACd,cAAc;AACd,aAAa;AACb,eAAe;AACf,cAAc;AACd,UAAU;AACV,aAAa;AACb,aAAa,CACd;;;;;AAID;;AAEaC,SAAS,GAFrBV,QAAQ,CAAAW,MAAA,GACRZ,gBAAgB,CAAAY,MAAA,IAAAC,UAAA,0BAAAC,gBAAA,YAAAH,UAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;IAMPU,MAAM,GAAG5B,QAAQ,CAAC6B,IAAI,GAAGtC,WAAW,CAAC,CAAC,CAAA2B,KAAA;;;;;;;;;IAStCY,QAAQ,GAAGzB,iBAAiB,CAACS,SAAS,CAACiB,YAAY,CAAC,CAAAb,KAAA;;;;IAIrDc,KAAK,GAAG;MACbC,WAAW,EAAE,KAAK;MAClBC,yBAAyB,EAAE;IAC7B,CAAC,CAAAhB,KAAA;;IAEOiB,cAAc,GAA2B,IAAI,CAAAjB,KAAA;IAC7CkB,qBAAqB,GAAuB,IAAI,CAAAlB,KAAA;IAChDmB,IAAI,GAAmB,IAAI,CAAAnB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwE5BoB,IAAI,GAAG,oBAAYpB,KAAA,CAAKqB,QAAQ,CAAC,CAAC,GAAArB,KAAA;IAClCsB,KAAK,GAAG,oBAAYtB,KAAA,CAAKuB,QAAQ,CAAC,CAAC,GAAAvB,KAAA;;IAElCwB,OAAO,GAAG,UAACC,OAAuB,UAAMzB,KAAA,CAAKmB,IAAI,GAAGM,OAAO,EAAC,CAAAzB,KAAA;;IAE5D0B,UAAU,GAAG,YAAM;MACzB,IAAI1B,KAAA,CAAKmB,IAAI,EAAE;QACbnB,KAAA,CAAKmB,IAAI,CAACQ,KAAK,CAAC,CAAC;MACnB;IACF,CAAC,CAAA3B,KAAA;;IAEO4B,kBAAkB,GAAG,UAACC,OAAwB,EAAK,KAAAC,qBAAA;MACzD,IAAI,OAAOD,OAAO,KAAK,QAAQ,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC9D,OAAOA,OAAO;MAChB;;MAEA,oBAAO1D,KAAK,CAAC4D,YAAY,CAACF,OAAO,EAAwB;QACvDG,EAAE,EAAEhC,KAAA,CAAKiC,KAAK,CAACD,EAAE;QACjB,eAAe,GAAAF,qBAAA,GAAE9B,KAAA,CAAKiC,KAAK,CAACC,WAAW,YAAAJ,qBAAA,GAAI9B,KAAA,CAAKU,MAAM;QACtD,eAAe,EAAEV,KAAA,CAAKc,KAAK,CAACC,WAAW,GAAG,MAAM,GAAG,OAAO;QAC1D,YAAY,EAAEf,KAAA,CAAKiC,KAAK,CAAC,YAAY;MACvC,CAAC,CAAC;IACJ,CAAC,CAAAjC,KAAA;;IAEOmC,aAAa,GAAG,YAAM;MAC5B,IAAI,OAAOnC,KAAA,CAAKiC,KAAK,CAACJ,OAAO,KAAK,UAAU,EAAE;QAC5C,IAAMA,OAAO,GAAG7B,KAAA,CAAKiC,KAAK,CAACJ,OAAO,CAAC;UACjCO,MAAM,EAAEpC,KAAA,CAAKc,KAAK,CAACC,WAAW;UAC9BsB,QAAQ,EAAErC,KAAA,CAAKqB,QAAQ;UACvBiB,SAAS,EAAEtC,KAAA,CAAKuB,QAAQ;UACxBgB,UAAU,EAAEvC,KAAA,CAAKuC,UAAU;UAC3BC,OAAO,EAAExC,KAAA,CAAKiC,KAAK,CAACO;QACtB,CAAC,CAAC;;QAEF;UACErE,KAAA,CAAAsE,aAAA;YACE,YAAUlD,iBAAiB,CAACsC,OAAQ;YACpCa,SAAS,EAAEpD,MAAM,CAACuC,OAAO,CAAC,CAAE;YAC5Bc,GAAG,EAAE,SAAAA,IAAClB,OAAO,UAAMzB,KAAA,CAAKiB,cAAc,GAAGQ,OAAO,EAAE;;UAEjDzB,KAAA,CAAK4B,kBAAkB,CAACC,OAAO;UAC5B,CAAC;;MAEX;;MAEA;QACE1D,KAAA,CAAAsE,aAAA;UACE,YAAUlD,iBAAiB,CAACsC,OAAQ;UACpCe,OAAO,EAAE5C,KAAA,CAAK6C,kBAAmB;UACjCC,SAAS,EAAE9C,KAAA,CAAK+C,oBAAqB;UACrCJ,GAAG,EAAE,SAAAA,IAAClB,OAAO,UAAMzB,KAAA,CAAKiB,cAAc,GAAGQ,OAAO,EAAE;UAClDiB,SAAS,EAAEpD,MAAM,CAACuC,OAAO,CAAC,CAAE;;QAE3B7B,KAAA,CAAK4B,kBAAkB,CAAC5B,KAAA,CAAKiC,KAAK,CAACJ,OAAO;QACvC,CAAC;;IAEX,CAAC,CAAA7B,KAAA;;IAEOgD,uBAAuB,GAAG,oBAAMhD,KAAA,CAAKuB,QAAQ,CAAC,CAAC,GAAAvB,KAAA;;;;;;;;;;;IAW/CqB,QAAQ,GAAG,UAACL,yBAAmC,EAAW;MAChEhB,KAAA,CAAKiD,SAAS,CAAC,CAAC;MAChBjD,KAAA,CAAKkD,QAAQ;QACX;UACEnC,WAAW,EAAE,IAAI;UACjBC,yBAAyB,EAAzBA;QACF,CAAC;QACD,YAAM;UACJhB,KAAA,CAAKmD,uBAAuB,CAAC,KAAK,CAAC;QACrC;MACF,CAAC;IACH,CAAC,CAAAnD,KAAA;;IAEOuB,QAAQ,GAAG,UAAC6B,YAAsB,EAAW;MACnDpD,KAAA,CAAKkD,QAAQ;QACX;UACEnC,WAAW,EAAE,KAAK;UAClBC,yBAAyB,EAAE;QAC7B,CAAC;QACD,YAAM;UACJhB,KAAA,CAAKmD,uBAAuB,CAAC,CAAC,CAACC,YAAY,CAAC;QAC9C;MACF,CAAC;IACH,CAAC,CAAApD,KAAA;;IAEOuC,UAAU,GAAG,YAAY;MAC/BvC,KAAA,CAAKc,KAAK,CAACC,WAAW,GAAGf,KAAA,CAAKuB,QAAQ,CAAC,CAAC,GAAGvB,KAAA,CAAKqB,QAAQ,CAAC,CAAC;IAC5D,CAAC,CAAArB,KAAA;;IAEO6C,kBAAkB,GAAG,YAAY;MACvC7C,KAAA,CAAKuC,UAAU,CAAC,CAAC;IACnB,CAAC,CAAAvC,KAAA;;IAEO+C,oBAAoB,GAAG,UAACM,CAAmC,EAAW;MAC5E,IAAI3E,QAAQ,CAACH,UAAU,EAAEE,UAAU,EAAEH,kBAAkB,CAAC,CAAC+E,CAAC,CAAC,EAAE;QAC3DA,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBtD,KAAA,CAAKqB,QAAQ,CAAC,IAAI,CAAC;MACrB;IACF,CAAC,CAAArB,KAAA;;IAEOuD,aAAa,GAAG,UAACF,CAAmC,EAAK;MAC/D,IAAI7E,WAAW,CAAC6E,CAAC,CAAC,EAAE;QAClB,IAAMD,YAAY,GAAG,IAAI;QACzBpD,KAAA,CAAKuB,QAAQ,CAAC6B,YAAY,CAAC;MAC7B;IACF,CAAC,CAAApD,KAAA;;IAEOiD,SAAS,GAAG,YAAY;MAC9B,IAAI7E,YAAY,CAACoF,QAAQ,EAAE;QACzBxD,KAAA,CAAKkB,qBAAqB,GAAG9C,YAAY,CAACoF,QAAQ,CAACC,aAA4B;MACjF;IACF,CAAC,CAAAzD,KAAA;;IAEOoD,YAAY,GAAG,YAAY;MACjC,IAAIpD,KAAA,CAAKkB,qBAAqB,EAAE;QAC9BlB,KAAA,CAAKkB,qBAAqB,CAACS,KAAK,CAAC,CAAC;QAClC3B,KAAA,CAAKkB,qBAAqB,GAAG,IAAI;MACnC;IACF,CAAC,CAAAlB,KAAA;;IAEOmD,uBAAuB,GAAG,UAACO,qBAA8B,EAAW;MAC1E,IAAIA,qBAAqB,EAAE;QACzB1D,KAAA,CAAKoD,YAAY,CAAC,CAAC;MACrB;;MAEA,IAAIpD,KAAA,CAAKc,KAAK,CAACC,WAAW,IAAIf,KAAA,CAAKiC,KAAK,CAAC0B,MAAM,EAAE;QAC/C3D,KAAA,CAAKiC,KAAK,CAAC0B,MAAM,CAAC,CAAC;MACrB;;MAEA,IAAI,CAAC3D,KAAA,CAAKc,KAAK,CAACC,WAAW,IAAIf,KAAA,CAAKiC,KAAK,CAAC2B,OAAO,EAAE;QACjD5D,KAAA,CAAKiC,KAAK,CAAC2B,OAAO,CAAC,CAAC;MACtB;;MAEA,IAAI,OAAO5D,KAAA,CAAKiC,KAAK,CAAC4B,iBAAiB,KAAK,UAAU,EAAE;QACtD7D,KAAA,CAAKiC,KAAK,CAAC4B,iBAAiB,CAAC7D,KAAA,CAAKc,KAAK,CAACC,WAAW,EAAE2C,qBAAqB,CAAC;MAC7E;IACF,CAAC,CAAA1D,KAAA;;IAEO8D,mBAAmB,GAAG,UAACC,KAAwC,EAAW;MAChF,IAAIA,KAAK,CAACC,kBAAkB,CAAC,CAAC,EAAE;QAC9B;MACF;;MAEA,IAAID,KAAK,CAACE,IAAI,KAAK,SAAS,EAAE;QAC5BF,KAAK,CAACT,cAAc,CAAC,CAAC;MACxB;;MAEA,IAAMF,YAAY,GAAGW,KAAK,CAACE,IAAI,KAAK,SAAS;MAC7CjE,KAAA,CAAKuB,QAAQ,CAAC6B,YAAY,CAAC;IAC7B,CAAC,QAAApD,KAAA,EAAAkE,cAAA,CAAAtE,SAAA,EAAAG,gBAAA,MAAAoE,MAAA,GAAAvE,SAAA,CAAAwE,SAAA,CAAAD,MAAA,CAlOME,MAAM,GAAb,SAAAA,OAAA,EAA6B,KAAAC,MAAA,QAC3B,oBACEnG,KAAA,CAAAsE,aAAA,CAAC9D,YAAY,CAAC4F,QAAQ,QACnB,UAACC,KAAK,EAAK,CACV,oBACErG,KAAA,CAAAsE,aAAA,CAAC9D,YAAY,CAAC8F,QAAQ,IACpBC,KAAK,EAAE9F,YAAY,CAAC+F,MAAM,CACxB,EACEC,WAAW,EAAEJ,KAAK,CAACK,oBAAoB,CACzC,CAAC,EACDL,KACF,CAAE,IAEDF,MAAI,CAACQ,UAAU,CAAC,CACI,CAAC,CAE5B,CACqB,CAAC,CAE5B,CAAC,CAAAX,MAAA,CAEOW,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAAC,sBAAA,CACnB,IAAAC,cAAA,GAA2C,IAAI,CAACpE,QAAQ,CAAC,CAAC,CAAlDqE,WAAW,GAAAD,cAAA,CAAXC,WAAW,CAAEC,iBAAiB,GAAAF,cAAA,CAAjBE,iBAAiB,CACtC,oBACE/G,KAAA,CAAAsE,aAAA,CAACzD,aAAa,EAAAmG,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACpD,KAAK,gBAC1D9D,KAAA,CAAAsE,aAAA,CAAC1D,WAAW,IACVuG,cAAc,EAAE,IAAI,CAACtC,uBAAwB,EAC7CuC,cAAc,EAAE,IAAI,CAACvC,uBAAwB,EAC7CwC,MAAM,EAAE,IAAI,CAAC1E,KAAK,CAACC,WAAY,iBAE/B5C,KAAA,CAAAsE,aAAA,UAAK,YAAUlD,iBAAiB,CAACoB,IAAK,EAAC+B,SAAS,EAAEpD,MAAM,CAACmG,SAAS,CAAC,CAAE,EAACC,KAAK,EAAE,EAAEC,KAAK,EAAE,IAAI,CAAC1D,KAAK,CAAC0D,KAAK,CAAC,CAAE,IACtG,IAAI,CAACxD,aAAa,CAAC,CAAC,EACpB,IAAI,CAAClB,cAAc,IAAI,IAAI,CAACgB,KAAK,CAAC2D,QAAQ,iBACzCzH,KAAA,CAAAsE,aAAA,CAAC5D,KAAK,IACJmD,EAAE,GAAA+C,sBAAA,GAAE,IAAI,CAAC9C,KAAK,CAACC,WAAW,YAAA6C,sBAAA,GAAI,IAAI,CAACrE,MAAO,EAC1CmF,aAAa,EAAE,IAAI,CAAC5E,cAAe,EACnCmB,MAAM,EAAE,IAAI,CAACtB,KAAK,CAACC,WAAY,EAC/B+E,SAAS,QACTC,MAAM,EAAE,IAAI,CAAC9D,KAAK,CAAC+D,WAAY,EAC/BC,MAAM,EAAEhB,WAAY,EACpBiB,SAAS,EAAE,IAAI,CAACjE,KAAK,CAACkE,cAAe,EACrCC,SAAS,EAAE,IAAI,CAACC,YAAY,CAAC,CAAE,EAC/BnB,iBAAiB,EAAEA,iBAAkB,EACrCvB,MAAM,EAAE,IAAI,CAACjC,UAAW,EACxB4E,oBAAoB,EAAE,IAAI,CAAC/E,QAAS,EACpCoE,KAAK,EAAE,IAAI,CAACY,cAAc,GAAG,MAAM,GAAG,IAAI,CAACtE,KAAK,CAACuE,SAAS,IAAI,MAAO,iBAErErI,KAAA,CAAAsE,aAAA,CAACrD,IAAI,IACHqH,SAAS,EAAE,IAAI,CAACF,cAAc,GAAG,MAAM,GAAG,IAAI,CAACtE,KAAK,CAACyE,aAAa,IAAI,MAAO,EAC7E5D,SAAS,EAAE,IAAI,CAACS,aAAc,EAC9BoD,WAAW,EAAE,IAAI,CAAC7C,mBAAoB,EACtC8C,kBAAkB,EAAE,IAAI,CAAC3E,KAAK,CAAC2E,kBAAmB,EAClDC,eAAe,EAAE,KAAM,EACvBlE,GAAG,EAAE,IAAI,CAACnB,OAAQ,EAClBsF,wBAAwB,EAAE,IAAI,CAAChG,KAAK,CAACE,yBAAyB,GAAG,CAAC,GAAG,CAAC,CAAE,EACxE+F,MAAM,EAAE,IAAI,CAAC9E,KAAK,CAAC8E,MAAO,EAC1BC,MAAM,EAAE,IAAI,CAAC/E,KAAK,CAAC+E,MAAO,IAEzB,IAAI,CAAC/E,KAAK,CAAC2D,QACR,CACD,CAEN,CACM,CACA,CAAC,CAEpB,CAAC,CAAAzB,MAAA,CA8DOkC,YAAY,GAApB,SAAAA,aAAA,EAAuD,CACrD,IAAMD,SAAS,GAAG,IAAI,CAACxF,QAAQ,CAAC,CAAC,CAACwF,SAAS,CAC3C,IAAIA,SAAS,IAAI/G,gBAAgB,CAAC+G,SAAS,CAAC,EAAE,CAC5C,OAAOA,SAAS,CAClB,CAEA,OAAOzG,SAAS,CAClB,CAAC,QAAAC,SAAA,GApK4BzB,KAAK,CAAC8I,SAAS,GAAAnH,UAAA,CAC9BoH,mBAAmB,GAAG,WAAW,EAAApH,UAAA,CACjCqH,WAAW,GAAG,WAAW,EAAArH,UAAA,CAKzBe,YAAY,GAAiB,EACzCuF,SAAS,EAAEzG,SAAS,EACpBsE,IAAI,EAAEzE,aAAa,CAACE,OAAO,EAC3BuF,WAAW,EAAE,IAAI,EACjBC,iBAAiB,EAAE,KAAK,CAC1B,CAAC,EAAApF,UAAA,CAIasH,IAAI,GAAG5H,aAAa,EAAAM,UAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
|
|
@@ -41,15 +41,11 @@ export interface PopupMenuProps extends CommonProps, Pick<MenuProps, 'preventIco
|
|
|
41
41
|
popupPinOffset?: number;
|
|
42
42
|
type?: 'dropdown' | 'tooltip';
|
|
43
43
|
disableAnimations?: boolean;
|
|
44
|
-
/** Действие при открытии
|
|
44
|
+
/** Действие при открытии меню. */
|
|
45
45
|
onOpen?: () => void;
|
|
46
|
-
/** Действие при закрытии
|
|
46
|
+
/** Действие при закрытии меню. */
|
|
47
47
|
onClose?: () => void;
|
|
48
|
-
/**
|
|
49
|
-
* Позволяет задать `id` выпадающему меню.
|
|
50
|
-
*
|
|
51
|
-
* Это может пригодиться при реализации a11y. Например, для того, чтобы связать `aria-controls` с выпадающим меню.
|
|
52
|
-
*/
|
|
48
|
+
/** `id` выпадающего меню. */
|
|
53
49
|
popupMenuId?: HTMLProps['id'];
|
|
54
50
|
/** @ignore */
|
|
55
51
|
corners?: React.CSSProperties;
|
|
@@ -2077,6 +2077,8 @@ export var BasicThemeClass = /*#__PURE__*/function () {
|
|
|
2077
2077
|
var borderWidth = parseInt(this.textareaBorderWidth, 10) || 0;
|
|
2078
2078
|
return lineHeight + paddingY * 2 + borderWidth * 2 + "px";
|
|
2079
2079
|
}
|
|
2080
|
+
|
|
2081
|
+
/** @deprecated Перестала использоваться с версии `react-ui@5.6.7`. */
|
|
2080
2082
|
}, {
|
|
2081
2083
|
key: "textareaPaddingYSmall",
|
|
2082
2084
|
get: function get() {
|