@skbkontur/react-ui 5.3.1 → 5.3.3

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.
Files changed (139) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  3. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  4. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  5. package/components/Tooltip/Tooltip.d.ts +1 -1
  6. package/package.json +1 -6
  7. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  8. package/cjs/components/Button/Button.md +0 -261
  9. package/cjs/components/Calendar/Calendar.md +0 -276
  10. package/cjs/components/Calendar/CalendarDay.md +0 -70
  11. package/cjs/components/Center/Center.md +0 -26
  12. package/cjs/components/Checkbox/Checkbox.md +0 -171
  13. package/cjs/components/ComboBox/ComboBox.md +0 -574
  14. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  15. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  16. package/cjs/components/DateInput/DateInput.md +0 -111
  17. package/cjs/components/DatePicker/DatePicker.md +0 -368
  18. package/cjs/components/Dropdown/Dropdown.md +0 -45
  19. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  20. package/cjs/components/FileUploader/FileUploader.md +0 -131
  21. package/cjs/components/FxInput/FxInput.md +0 -31
  22. package/cjs/components/Gapped/Gapped.md +0 -44
  23. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  24. package/cjs/components/Group/Group.md +0 -19
  25. package/cjs/components/Hint/Hint.md +0 -86
  26. package/cjs/components/Input/Input.md +0 -86
  27. package/cjs/components/Kebab/Kebab.md +0 -306
  28. package/cjs/components/Link/Link.md +0 -182
  29. package/cjs/components/Loader/Loader.md +0 -33
  30. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  31. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  32. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  33. package/cjs/components/MenuItem/MenuItem.md +0 -139
  34. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  35. package/cjs/components/MiniModal/MiniModal.md +0 -231
  36. package/cjs/components/Modal/Modal.md +0 -56
  37. package/cjs/components/Paging/Paging.md +0 -57
  38. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  39. package/cjs/components/Radio/Radio.md +0 -57
  40. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  41. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  42. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  43. package/cjs/components/Select/Select.md +0 -113
  44. package/cjs/components/SidePage/SidePage.md +0 -65
  45. package/cjs/components/SingleToast/SingleToast.md +0 -36
  46. package/cjs/components/Spinner/Spinner.md +0 -36
  47. package/cjs/components/Sticky/Sticky.md +0 -28
  48. package/cjs/components/Switcher/Switcher.md +0 -111
  49. package/cjs/components/Tabs/Tab.md +0 -73
  50. package/cjs/components/Tabs/Tabs.md +0 -54
  51. package/cjs/components/Textarea/Textarea.md +0 -58
  52. package/cjs/components/Toast/Toast.md +0 -69
  53. package/cjs/components/Toggle/Toggle.md +0 -110
  54. package/cjs/components/Token/Token.md +0 -48
  55. package/cjs/components/TokenInput/TokenInput.md +0 -277
  56. package/cjs/components/Tooltip/Tooltip.md +0 -322
  57. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  58. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  59. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  60. package/cjs/internal/DataTids/DataTids.js +0 -50
  61. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  62. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  63. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  64. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  65. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  66. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  67. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  68. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  69. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  70. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  71. package/cjs/lib/theming/ThemeContext.md +0 -265
  72. package/components/Autocomplete/Autocomplete.md +0 -113
  73. package/components/Button/Button.md +0 -261
  74. package/components/Calendar/Calendar.md +0 -276
  75. package/components/Calendar/CalendarDay.md +0 -70
  76. package/components/Center/Center.md +0 -26
  77. package/components/Checkbox/Checkbox.md +0 -171
  78. package/components/ComboBox/ComboBox.md +0 -574
  79. package/components/CurrencyInput/CurrencyInput.md +0 -39
  80. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  81. package/components/DateInput/DateInput.md +0 -111
  82. package/components/DatePicker/DatePicker.md +0 -368
  83. package/components/Dropdown/Dropdown.md +0 -45
  84. package/components/DropdownMenu/DropdownMenu.md +0 -290
  85. package/components/FileUploader/FileUploader.md +0 -131
  86. package/components/FxInput/FxInput.md +0 -31
  87. package/components/Gapped/Gapped.md +0 -44
  88. package/components/GlobalLoader/GlobalLoader.md +0 -97
  89. package/components/Group/Group.md +0 -19
  90. package/components/Hint/Hint.md +0 -86
  91. package/components/Input/Input.md +0 -86
  92. package/components/Kebab/Kebab.md +0 -306
  93. package/components/Link/Link.md +0 -182
  94. package/components/Loader/Loader.md +0 -33
  95. package/components/MaskedInput/MaskedInput.md +0 -114
  96. package/components/MenuFooter/MenuFooter.md +0 -27
  97. package/components/MenuHeader/MenuHeader.md +0 -35
  98. package/components/MenuItem/MenuItem.md +0 -139
  99. package/components/MenuSeparator/MenuSeparator.md +0 -14
  100. package/components/MiniModal/MiniModal.md +0 -231
  101. package/components/Modal/Modal.md +0 -56
  102. package/components/Paging/Paging.md +0 -57
  103. package/components/PasswordInput/PasswordInput.md +0 -29
  104. package/components/Radio/Radio.md +0 -57
  105. package/components/RadioGroup/RadioGroup.md +0 -44
  106. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  107. package/components/ScrollContainer/ScrollContainer.md +0 -224
  108. package/components/Select/Select.md +0 -113
  109. package/components/SidePage/SidePage.md +0 -65
  110. package/components/SingleToast/SingleToast.md +0 -36
  111. package/components/Spinner/Spinner.md +0 -36
  112. package/components/Sticky/Sticky.md +0 -28
  113. package/components/Switcher/Switcher.md +0 -111
  114. package/components/Tabs/Tab.md +0 -73
  115. package/components/Tabs/Tabs.md +0 -54
  116. package/components/Textarea/Textarea.md +0 -58
  117. package/components/Toast/Toast.md +0 -69
  118. package/components/Toggle/Toggle.md +0 -110
  119. package/components/Token/Token.md +0 -48
  120. package/components/TokenInput/TokenInput.md +0 -277
  121. package/components/Tooltip/Tooltip.md +0 -322
  122. package/components/TooltipMenu/TooltipMenu.md +0 -241
  123. package/internal/DataTids/DATATIDS.md +0 -12
  124. package/internal/DataTids/DataTids/DataTids.js +0 -69
  125. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  126. package/internal/DataTids/DataTids/package.json +0 -6
  127. package/internal/DataTids/DataTids.d.ts +0 -12
  128. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  129. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  130. package/internal/DataTids/DataTids.styles/package.json +0 -6
  131. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  132. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  133. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  134. package/internal/DataTids/componentsDataTids/package.json +0 -6
  135. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  136. package/internal/ThemePlayground/Playground.md +0 -7
  137. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  138. package/lib/locale/LOCALECONTEXT.md +0 -222
  139. package/lib/theming/ThemeContext.md +0 -265
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.3.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.2...@skbkontur/react-ui@5.3.3) (2025-09-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Tooltip:** fix incorrect import ([58206c9](https://github.com/skbkontur/retail-ui/commit/58206c91875e3180180be91800e302031b1b3266))
12
+
13
+
14
+
15
+
16
+
17
+ ## [5.3.2](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.1...@skbkontur/react-ui@5.3.2) (2025-09-10)
18
+
19
+ **Note:** Version bump only for package @skbkontur/react-ui
20
+
21
+
22
+
23
+
24
+
6
25
  ## [5.3.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.0...@skbkontur/react-ui@5.3.1) (2025-09-01)
7
26
 
8
27
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SizeProp } from 'react-ui/lib/types/props';
2
+ import type { SizeProp } from '../../lib/types/props';
3
3
  import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';
4
4
  import type { Nullable } from '../../typings/utility-types';
5
5
  import type { CommonProps } from '../../internal/CommonWrapper';
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_warning","_globalObject","_utils","_ThemeFactory","_Popup","_RenderLayer","_listenFocusOutside","_ThemeContext","_currentEnvironment","_CommonWrapper","_rootNode","_createPropsGetter","_CloseButtonIcon","_isInstanceOf","_featureFlagsContext","_Emotion","_Tooltip2","_class","_Tooltip","DEFAULT_DELAY","TooltipDataTids","exports","root","content","crossIcon","OldPositions","Tooltip","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","opened","focused","contentElement","clickedOutside","popupRef","React","createRef","renderContent","props","render","isNullable","default","createElement","ref","refContent","className","cx","styles","tooltipContent","theme","sizeVariables","contentStyle","renderCloseButton","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","allowedPositions","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","globalObject","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","getSizeVariables","size","closeButtonStyle","closeButtonSmall","tooltipContentSmall","borderRadius","tooltipBorderRadiusSmall","pinSize","tooltipPinSizeSmall","pinOffsetX","tooltipPinOffsetXSmall","pinOffsetY","tooltipPinOffsetYSmall","margin","tooltipMarginSmall","closeButtonMedium","tooltipContentMedium","tooltipBorderRadiusMedium","tooltipPinSizeMedium","tooltipPinOffsetXMedium","tooltipPinOffsetYMedium","tooltipMarginMedium","closeButtonLarge","tooltipContentLarge","tooltipBorderRadiusLarge","tooltipPinSizeLarge","tooltipPinOffsetXLarge","tooltipPinOffsetYLarge","tooltipMarginLarge","console","error","_inheritsLoose2","_proto","prototype","validateProps","warning","children","getAllowedPositions","componentDidMount","componentDidUpdate","_this$getProps","componentWillUnmount","_this2","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","ThemeContext","Provider","value","ThemeFactory","create","popupBackground","tooltipBg","popupBorder","tooltipBorder","popupBorderRadius","popupPinSize","popupPinOffsetX","popupPinOffsetY","popupMargin","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","CloseButtonIcon","tabbable","side","parseInt","tooltipCloseBtnSide","color","tooltipCloseBtnColor","colorHover","tooltipCloseBtnHoverColor","onClick","show","hide","_this$getPopupAndLaye","getPopupAndLayerProps","popupProps","_this$getPopupAndLaye2","layerProps","active","popup","renderPopup","RenderLayer","_extends2","_this$getProps2","disableAnimations","CommonWrapper","rootNodeRef","setRootNode","Popup","hasPin","hasShadow","maxWidth","positions","pos","ignoreHover","onOpen","onClose","tryPreserveFirstRenderedPosition","withoutMobile","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onFocus","onBlur","Error","clearTimeout","isInstanceOf","Element","containsTargetOrRenderContainer","PureComponent","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { SizeProp } from 'react-ui/lib/types/props';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { RenderLayerProps } from '../../internal/RenderLayer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /** Указывает элемент, относительно которого позиционировать тултип. */\n anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst OldPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'size' | 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private sizeVariables!: TooltipSizeVariables;\n public featureFlags!: ReactUIFeatureFlags;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\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 this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={cx(styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n globalObject.clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = globalObject.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n\n private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.props.size) {\n case 'small':\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: styles.closeButtonMedium(this.theme),\n contentStyle: styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: styles.closeButtonLarge(this.theme),\n contentStyle: styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n console.error(`Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_warning","_globalObject","_utils","_ThemeFactory","_Popup","_RenderLayer","_listenFocusOutside","_ThemeContext","_currentEnvironment","_CommonWrapper","_rootNode","_createPropsGetter","_CloseButtonIcon","_isInstanceOf","_featureFlagsContext","_Emotion","_Tooltip2","_class","_Tooltip","DEFAULT_DELAY","TooltipDataTids","exports","root","content","crossIcon","OldPositions","Tooltip","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","opened","focused","contentElement","clickedOutside","popupRef","React","createRef","renderContent","props","render","isNullable","default","createElement","ref","refContent","className","cx","styles","tooltipContent","theme","sizeVariables","contentStyle","renderCloseButton","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","allowedPositions","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","globalObject","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","getSizeVariables","size","closeButtonStyle","closeButtonSmall","tooltipContentSmall","borderRadius","tooltipBorderRadiusSmall","pinSize","tooltipPinSizeSmall","pinOffsetX","tooltipPinOffsetXSmall","pinOffsetY","tooltipPinOffsetYSmall","margin","tooltipMarginSmall","closeButtonMedium","tooltipContentMedium","tooltipBorderRadiusMedium","tooltipPinSizeMedium","tooltipPinOffsetXMedium","tooltipPinOffsetYMedium","tooltipMarginMedium","closeButtonLarge","tooltipContentLarge","tooltipBorderRadiusLarge","tooltipPinSizeLarge","tooltipPinOffsetXLarge","tooltipPinOffsetYLarge","tooltipMarginLarge","console","error","_inheritsLoose2","_proto","prototype","validateProps","warning","children","getAllowedPositions","componentDidMount","componentDidUpdate","_this$getProps","componentWillUnmount","_this2","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","ThemeContext","Provider","value","ThemeFactory","create","popupBackground","tooltipBg","popupBorder","tooltipBorder","popupBorderRadius","popupPinSize","popupPinOffsetX","popupPinOffsetY","popupMargin","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","CloseButtonIcon","tabbable","side","parseInt","tooltipCloseBtnSide","color","tooltipCloseBtnColor","colorHover","tooltipCloseBtnHoverColor","onClick","show","hide","_this$getPopupAndLaye","getPopupAndLayerProps","popupProps","_this$getPopupAndLaye2","layerProps","active","popup","renderPopup","RenderLayer","_extends2","_this$getProps2","disableAnimations","CommonWrapper","rootNodeRef","setRootNode","Popup","hasPin","hasShadow","maxWidth","positions","pos","ignoreHover","onOpen","onClose","tryPreserveFirstRenderedPosition","withoutMobile","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onFocus","onBlur","Error","clearTimeout","isInstanceOf","Element","containsTargetOrRenderContainer","PureComponent","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { SizeProp } from '../../lib/types/props';\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { RenderLayerProps } from '../../internal/RenderLayer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /** Указывает элемент, относительно которого позиционировать тултип. */\n anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst OldPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'size' | 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private sizeVariables!: TooltipSizeVariables;\n public featureFlags!: ReactUIFeatureFlags;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\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 this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={cx(styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n globalObject.clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = globalObject.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n\n private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.props.size) {\n case 'small':\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: styles.closeButtonMedium(this.theme),\n contentStyle: styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: styles.closeButtonLarge(this.theme),\n contentStyle: styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n console.error(`Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","warning","globalObject","isNullable","ThemeFactory","Popup","RenderLayer","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","CloseButtonIcon","isInstanceOf","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","cx","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","OldPositions","Tooltip","_class","_Tooltip","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","focused","contentElement","clickedOutside","popupRef","createRef","renderContent","props","render","createElement","ref","refContent","className","tooltipContent","theme","sizeVariables","contentStyle","renderCloseButton","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","allowedPositions","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","getSizeVariables","size","closeButtonStyle","closeButtonSmall","tooltipContentSmall","borderRadius","tooltipBorderRadiusSmall","pinSize","tooltipPinSizeSmall","pinOffsetX","tooltipPinOffsetXSmall","pinOffsetY","tooltipPinOffsetYSmall","margin","tooltipMarginSmall","closeButtonMedium","tooltipContentMedium","tooltipBorderRadiusMedium","tooltipPinSizeMedium","tooltipPinOffsetXMedium","tooltipPinOffsetYMedium","tooltipMarginMedium","closeButtonLarge","tooltipContentLarge","tooltipBorderRadiusLarge","tooltipPinSizeLarge","tooltipPinOffsetXLarge","tooltipPinOffsetYLarge","tooltipMarginLarge","console","error","_inheritsLoose","_proto","prototype","validateProps","children","getAllowedPositions","componentDidMount","componentDidUpdate","_this$getProps","componentWillUnmount","_this2","Consumer","flags","featureFlags","Provider","value","create","popupBackground","tooltipBg","popupBorder","tooltipBorder","popupBorderRadius","popupPinSize","popupPinOffsetX","popupPinOffsetY","popupMargin","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","tabbable","side","parseInt","tooltipCloseBtnSide","color","tooltipCloseBtnColor","colorHover","tooltipCloseBtnHoverColor","onClick","show","hide","_this$getPopupAndLaye","getPopupAndLayerProps","popupProps","_this$getPopupAndLaye2","layerProps","active","popup","renderPopup","_extends","_this$getProps2","disableAnimations","rootNodeRef","setRootNode","hasPin","hasShadow","maxWidth","positions","pos","ignoreHover","onOpen","onClose","tryPreserveFirstRenderedPosition","withoutMobile","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onFocus","onBlur","Error","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { SizeProp } from 'react-ui/lib/types/props';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { RenderLayerProps } from '../../internal/RenderLayer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /** Указывает элемент, относительно которого позиционировать тултип. */\n anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst OldPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'size' | 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private sizeVariables!: TooltipSizeVariables;\n public featureFlags!: ReactUIFeatureFlags;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\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 this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={cx(styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n globalObject.clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = globalObject.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n\n private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.props.size) {\n case 'small':\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: styles.closeButtonMedium(this.theme),\n contentStyle: styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: styles.closeButtonLarge(this.theme),\n contentStyle: styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n console.error(`Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","globalObject","isNullable","ThemeFactory","Popup","RenderLayer","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","CloseButtonIcon","isInstanceOf","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","cx","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","OldPositions","Tooltip","_class","_Tooltip","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","focused","contentElement","clickedOutside","popupRef","createRef","renderContent","props","render","createElement","ref","refContent","className","tooltipContent","theme","sizeVariables","contentStyle","renderCloseButton","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","allowedPositions","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","getSizeVariables","size","closeButtonStyle","closeButtonSmall","tooltipContentSmall","borderRadius","tooltipBorderRadiusSmall","pinSize","tooltipPinSizeSmall","pinOffsetX","tooltipPinOffsetXSmall","pinOffsetY","tooltipPinOffsetYSmall","margin","tooltipMarginSmall","closeButtonMedium","tooltipContentMedium","tooltipBorderRadiusMedium","tooltipPinSizeMedium","tooltipPinOffsetXMedium","tooltipPinOffsetYMedium","tooltipMarginMedium","closeButtonLarge","tooltipContentLarge","tooltipBorderRadiusLarge","tooltipPinSizeLarge","tooltipPinOffsetXLarge","tooltipPinOffsetYLarge","tooltipMarginLarge","console","error","_inheritsLoose","_proto","prototype","validateProps","children","getAllowedPositions","componentDidMount","componentDidUpdate","_this$getProps","componentWillUnmount","_this2","Consumer","flags","featureFlags","Provider","value","create","popupBackground","tooltipBg","popupBorder","tooltipBorder","popupBorderRadius","popupPinSize","popupPinOffsetX","popupPinOffsetY","popupMargin","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","tabbable","side","parseInt","tooltipCloseBtnSide","color","tooltipCloseBtnColor","colorHover","tooltipCloseBtnHoverColor","onClick","show","hide","_this$getPopupAndLaye","getPopupAndLayerProps","popupProps","_this$getPopupAndLaye2","layerProps","active","popup","renderPopup","_extends","_this$getProps2","disableAnimations","rootNodeRef","setRootNode","hasPin","hasShadow","maxWidth","positions","pos","ignoreHover","onOpen","onClose","tryPreserveFirstRenderedPosition","withoutMobile","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onFocus","onBlur","Error","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { SizeProp } from '../../lib/types/props';\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { RenderLayerProps } from '../../internal/RenderLayer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /** Указывает элемент, относительно которого позиционировать тултип. */\n anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst OldPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'size' | 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private sizeVariables!: TooltipSizeVariables;\n public featureFlags!: ReactUIFeatureFlags;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\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 this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div\n ref={this.refContent}\n className={cx(styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n globalObject.clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = globalObject.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && isInstanceOf(event.target, globalObject.Element)) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n\n private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.props.size) {\n case 'small':\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: styles.closeButtonMedium(this.theme),\n contentStyle: styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: styles.closeButtonLarge(this.theme),\n contentStyle: styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n console.error(`Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SizeProp } from 'react-ui/lib/types/props';
2
+ import type { SizeProp } from '../../lib/types/props';
3
3
  import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';
4
4
  import type { Nullable } from '../../typings/utility-types';
5
5
  import type { CommonProps } from '../../internal/CommonWrapper';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/react-ui",
3
- "version": "5.3.1",
3
+ "version": "5.3.3",
4
4
  "description": "UI Components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "index.js",
@@ -22,16 +22,12 @@
22
22
  "clean": "git clean -fdxqe node_modules",
23
23
  "prerelease": "node scripts/publish/prepublish && yarn build",
24
24
  "release": "npm publish ./build --workspaces=false",
25
- "build-old-docs": "rimraf .styleguide/deploy && yarn run styleguide:build",
26
- "deploy-old-docs": "gh-pages -a -d .styleguide/deploy -r git@github.com:skbkontur/react-ui.git",
27
25
  "storybook": "storybook dev -p 6060",
28
26
  "storybook:build": "cross-env STORYBOOK_REACT_UI_TEST=true storybook build -o .storybook/build --quiet",
29
27
  "storybook:docs-build": "cross-env STORYBOOK_REACT_UI_DOCS=true storybook build --docs -c .storybook-docs -o .storybook/build --quiet",
30
28
  "storybook:test": "cross-env STORYBOOK_REACT_UI_TEST=true storybook dev --ci -p 6060",
31
29
  "storybook:docs": "cross-env STORYBOOK_REACT_UI_DOCS=true storybook dev --docs -p 6061 -c .storybook-docs",
32
30
  "storybook:serve": "yarn serve -l 6060 .storybook/build",
33
- "styleguide": "styleguidist server --config .styleguide/config/dev.config.js",
34
- "styleguide:build": "node .styleguide/build",
35
31
  "lint": "run-p -c lint:*",
36
32
  "lint:eslint": "cross-env TIMING=1 yarn eslint ./",
37
33
  "lint:tsc": "tsc --noEmit --diagnostics",
@@ -140,7 +136,6 @@
140
136
  "react": "18.3.1",
141
137
  "react-docgen-typescript": "^2.2.2",
142
138
  "react-dom": "^18.3.1",
143
- "react-styleguidist": "^12.0.1",
144
139
  "rimraf": "^5.0.7",
145
140
  "selenium-webdriver": "^4.27.0",
146
141
  "semver": "^7.6.2",
@@ -1,113 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- import { Autocomplete } from '@skbkontur/react-ui';
4
-
5
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
6
-
7
- const [value, setValue] = React.useState('Kappa');
8
-
9
- <Autocomplete source={items} value={value} onValueChange={setValue} />;
10
- ```
11
-
12
- ### Очистка Autocomplete
13
- Очистить значение в `Autocomplete` можно только с помощью пустой строки.
14
- ```jsx harmony
15
- import { Autocomplete, Button, Group } from '@skbkontur/react-ui';
16
-
17
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
18
-
19
- const [value, setValue] = React.useState('Kappa');
20
-
21
- <Group>
22
- <Autocomplete source={items} value={value} onValueChange={setValue} />
23
- <Button onClick={() => setValue('')}>Очистить</Button>
24
- </Group>
25
- ```
26
-
27
- ### Размер
28
- ```jsx harmony
29
- import { Autocomplete, Gapped } from '@skbkontur/react-ui';
30
-
31
- const items = ['Маленький', 'Средний', 'Большой'];
32
-
33
- const [valueSmall, setValueSmall] = React.useState('Маленький');
34
- const [valueMedium, setValueMedium] = React.useState('Средний');
35
- const [valueLarge, setValueLarge] = React.useState('Большой');
36
-
37
- <Gapped vertical>
38
- <Autocomplete source={items} value={valueSmall} onValueChange={setValueSmall} size={'small'} />
39
- <Autocomplete source={items} value={valueMedium} onValueChange={setValueMedium} size={'medium'} />
40
- <Autocomplete source={items} value={valueLarge} onValueChange={setValueLarge} size={'large'} />
41
- </Gapped>
42
- ```
43
-
44
- ### Выделение введеного значения при фокусе
45
- ```jsx harmony
46
- import { Autocomplete } from '@skbkontur/react-ui';
47
-
48
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
49
-
50
- const [value, setValue] = React.useState('');
51
-
52
- <Autocomplete source={items} value={value} onValueChange={setValue} selectAllOnFocus />
53
- ```
54
-
55
- ### Иконка
56
- ```jsx harmony
57
- import { Autocomplete, Gapped } from '@skbkontur/react-ui';
58
- import { SearchLoupeIcon16Regular } from '@skbkontur/icons/SearchLoupeIcon16Regular';
59
-
60
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
61
-
62
- const [valueLeft, setValueLeft] = React.useState('');
63
- const [valueRight, setValueRight] = React.useState('');
64
-
65
- <Gapped>
66
- <Autocomplete source={items} value={valueLeft} onValueChange={setValueLeft} leftIcon={<SearchLoupeIcon16Regular />} />
67
- <Autocomplete source={items} value={valueRight} onValueChange={setValueRight} rightIcon={<SearchLoupeIcon16Regular />} />
68
- </Gapped>
69
- ```
70
-
71
- ### Ширина меню
72
- ```jsx harmony
73
- import { Autocomplete } from '@skbkontur/react-ui';
74
-
75
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
76
-
77
- const [value, setValue] = React.useState('');
78
-
79
- <Autocomplete source={items} value={value} onValueChange={setValue} menuWidth={'80%'} />
80
- ```
81
-
82
- ### Расположение выпадающего окна Autocomplete
83
- ```jsx harmony
84
- import { Autocomplete } from '@skbkontur/react-ui';
85
-
86
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
87
-
88
- const [value, setValue] = React.useState('');
89
-
90
- <Autocomplete source={items} value={value} onValueChange={setValue} menuPos={'top'} />
91
- ```
92
-
93
- ### Тень у выпадающего меню
94
- ```jsx harmony
95
- import { Autocomplete } from '@skbkontur/react-ui';
96
-
97
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
98
-
99
- const [value, setValue] = React.useState('');
100
-
101
- <Autocomplete source={items} value={value} onValueChange={setValue} hasShadow />
102
- ```
103
-
104
- ### Режима прозрачной рамки
105
- ```jsx harmony
106
- import { Autocomplete } from '@skbkontur/react-ui';
107
-
108
- const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
109
-
110
- const [value, setValue] = React.useState('Kappa');
111
-
112
- <Autocomplete source={items} value={value} onValueChange={setValue} borderless />
113
- ```