@skbkontur/react-ui 5.6.7-aa2dc.0 → 5.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/Calendar/Calendar.js +2 -31
  3. package/cjs/components/Calendar/Calendar.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDay.js +2 -2
  5. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  6. package/cjs/components/Dropdown/Dropdown.d.ts +18 -19
  7. package/cjs/components/Dropdown/Dropdown.js +2 -3
  8. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  9. package/cjs/components/FxInput/FxInput.js +1 -2
  10. package/cjs/components/FxInput/FxInput.js.map +1 -1
  11. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +20 -23
  12. package/cjs/components/GlobalLoader/GlobalLoader.js +4 -7
  13. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  14. package/cjs/components/Kebab/Kebab.d.ts +10 -10
  15. package/cjs/components/Kebab/Kebab.js +1 -2
  16. package/cjs/components/Kebab/Kebab.js.map +1 -1
  17. package/cjs/components/Loader/Loader.d.ts +9 -9
  18. package/cjs/components/Loader/Loader.js +3 -3
  19. package/cjs/components/Loader/Loader.js.map +1 -1
  20. package/cjs/components/Paging/Paging.d.ts +23 -22
  21. package/cjs/components/Paging/Paging.js +1 -0
  22. package/cjs/components/Paging/Paging.js.map +1 -1
  23. package/cjs/components/Spinner/Spinner.d.ts +28 -16
  24. package/cjs/components/Spinner/Spinner.js +17 -5
  25. package/cjs/components/Spinner/Spinner.js.map +1 -1
  26. package/cjs/components/Tabs/Indicator.styles.d.ts +1 -0
  27. package/cjs/components/Tabs/Indicator.styles.js +8 -1
  28. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  29. package/cjs/components/Tabs/Tab.d.ts +11 -10
  30. package/cjs/components/Tabs/Tab.js +3 -2
  31. package/cjs/components/Tabs/Tab.js.map +1 -1
  32. package/cjs/components/Tabs/Tabs.d.ts +7 -12
  33. package/cjs/components/Tabs/Tabs.js +1 -6
  34. package/cjs/components/Tabs/Tabs.js.map +1 -1
  35. package/cjs/components/Textarea/Textarea.styles.js +2 -3
  36. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  37. package/cjs/components/Toast/Toast.d.ts +4 -4
  38. package/cjs/components/Toast/Toast.js +2 -2
  39. package/cjs/components/Toast/Toast.js.map +1 -1
  40. package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  41. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  42. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  43. package/cjs/internal/CustomComboBox/ComboBoxView.js +0 -1
  44. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  45. package/cjs/internal/Menu/Menu.d.ts +1 -2
  46. package/cjs/internal/Menu/Menu.js +0 -1
  47. package/cjs/internal/Menu/Menu.js.map +1 -1
  48. package/cjs/internal/Popup/Popup.d.ts +0 -7
  49. package/cjs/internal/Popup/Popup.js +2 -44
  50. package/cjs/internal/Popup/Popup.js.map +1 -1
  51. package/cjs/internal/Popup/PopupHelper.d.ts +0 -27
  52. package/cjs/internal/Popup/PopupHelper.js +2 -125
  53. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  54. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -7
  55. package/cjs/internal/PopupMenu/PopupMenu.js +0 -4
  56. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  57. package/cjs/internal/themes/BasicTheme.d.ts +1 -0
  58. package/cjs/internal/themes/BasicTheme.js +2 -1
  59. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  60. package/components/Calendar/Calendar/Calendar.js +2 -28
  61. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  62. package/components/Calendar/CalendarDay/CalendarDay.js +1 -1
  63. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  64. package/components/Dropdown/Dropdown/Dropdown.js +2 -2
  65. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  66. package/components/Dropdown/Dropdown.d.ts +18 -19
  67. package/components/FxInput/FxInput/FxInput.js +3 -1
  68. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  69. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -7
  70. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  71. package/components/GlobalLoader/GlobalLoader.d.ts +20 -23
  72. package/components/Kebab/Kebab/Kebab.js +1 -2
  73. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  74. package/components/Kebab/Kebab.d.ts +10 -10
  75. package/components/Loader/Loader/Loader.js +3 -3
  76. package/components/Loader/Loader/Loader.js.map +1 -1
  77. package/components/Loader/Loader.d.ts +9 -9
  78. package/components/Paging/Paging/Paging.js.map +1 -1
  79. package/components/Paging/Paging.d.ts +23 -22
  80. package/components/Spinner/Spinner/Spinner.js +0 -5
  81. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  82. package/components/Spinner/Spinner.d.ts +28 -16
  83. package/components/Tabs/Indicator.styles/Indicator.styles.js +4 -1
  84. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  85. package/components/Tabs/Indicator.styles.d.ts +1 -0
  86. package/components/Tabs/Tab/Tab.js +3 -1
  87. package/components/Tabs/Tab/Tab.js.map +1 -1
  88. package/components/Tabs/Tab.d.ts +11 -10
  89. package/components/Tabs/Tabs/Tabs.js +1 -6
  90. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  91. package/components/Tabs/Tabs.d.ts +7 -12
  92. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  93. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  94. package/components/Toast/Toast/Toast.js +2 -2
  95. package/components/Toast/Toast/Toast.js.map +1 -1
  96. package/components/Toast/Toast.d.ts +4 -4
  97. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  98. package/components/Tooltip/Tooltip.d.ts +1 -1
  99. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +0 -1
  100. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  101. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  102. package/internal/Menu/Menu/Menu.js.map +1 -1
  103. package/internal/Menu/Menu.d.ts +1 -2
  104. package/internal/Popup/Popup/Popup.js +2 -26
  105. package/internal/Popup/Popup/Popup.js.map +1 -1
  106. package/internal/Popup/Popup.d.ts +0 -7
  107. package/internal/Popup/PopupHelper/PopupHelper.js +1 -114
  108. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  109. package/internal/Popup/PopupHelper.d.ts +0 -27
  110. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  111. package/internal/PopupMenu/PopupMenu.d.ts +3 -7
  112. package/internal/themes/BasicTheme/BasicTheme.js +2 -0
  113. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  114. package/internal/themes/BasicTheme.d.ts +1 -0
  115. package/package.json +2 -2
@@ -20,12 +20,7 @@ export var TabsDataTids = {
20
20
  };
21
21
 
22
22
  /**
23
- * Родитель компонента Tab. Связывает `Tab`'ы в группу и позволяет управлять их состоянием, помогают в навигации.
24
- *
25
- * Используйте `Tabs` для второстепенной навигации, для группировки или фильтрации контента.
26
- *
27
- * Не используйте `Tabs` для основной навигации. Для этого лучше подходит главное меню на цветной плашке — оно более заметно на странице.
28
- * Не используйте `Tabs` для переключения состояний — для этого есть RadioGroup, Toggle и Switcher.
23
+ * Контейнер для компонента [Tab](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_display-data-tabs-tab--doc). Группирует табы и позволяет управлять их состоянием.
29
24
  */
30
25
  export var Tabs = rootNode(_class = (_Tabs = /*#__PURE__*/function (_React$Component) {
31
26
  function Tabs() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","globalObject","ThemeContext","CommonWrapper","cx","getRootNode","rootNode","createPropsGetter","isInstanceOf","Indicator","styles","TabsContext","Tab","TabsDataTids","root","indicatorRoot","Tabs","_class","_Tabs","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","tabs","tabUpdates","on","cb","index","listeners","push","splice","shiftFocus","fromTab","delta","_this2","findIndex","x","id","newIndex","Math","max","min","tab","tabNode","getNode","htmlNode","HTMLElement","focus","notifyUpdate","forEach","switchTab","_this$props","props","onValueChange","value","getTab","_ref","find","_ref$getNode","addTab","removeTab","filter","_inheritsLoose","_proto","prototype","render","_this3","_this$props2","width","children","indicatorClassName","ariaDescribedby","_this$getProps","vertical","size","createElement","Consumer","theme","_cx","_extends","rootNodeRef","setRootNode","className","rootSmall","rootMedium","rootLarge","style","Provider","activeTab","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Tabs.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { emptyHandler } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode } from '../../lib/rootNode/getRootNode';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { Indicator } from './Indicator';\nimport { styles } from './Tabs.styles';\nimport type { TabsContextType } from './TabsContext';\nimport { TabsContext } from './TabsContext';\nimport { Tab } from './Tab';\n\ntype ValueBaseType = string;\ninterface TabType<T extends ValueBaseType> {\n getNode: () => Tab<T> | null;\n id: T;\n}\n\nexport interface TabsProps<T extends ValueBaseType = string> extends CommonProps {\n /** Задает кастомный класс подчёркиванию таба. */\n indicatorClassName?: string;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает текущий активный `<Tab />`. Принимает `id` таба. */\n value: T;\n\n /** Задает функцию, изменяющую текущий активный `<Tab />`. */\n onValueChange?: (value: T) => void;\n\n /** Задает расположение элементов по вертикали.\n * @default false */\n vertical?: boolean;\n\n /** Задает ширину компонента Tabs. */\n width?: number | string;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const TabsDataTids = {\n root: 'Tabs__root',\n indicatorRoot: 'Indicator__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;\n\n/**\n * Родитель компонента Tab. Связывает `Tab`'ы в группу и позволяет управлять их состоянием, помогают в навигации.\n *\n * Используйте `Tabs` для второстепенной навигации, для группировки или фильтрации контента.\n *\n * Не используйте `Tabs` для основной навигации. Для этого лучше подходит главное меню на цветной плашке — оно более заметно на странице.\n * Не используйте `Tabs` для переключения состояний — для этого есть RadioGroup, Toggle и Switcher.\n */\n@rootNode\nexport class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {\n public static __KONTUR_REACT_UI__ = 'Tabs';\n public static displayName = 'Tabs';\n\n public static defaultProps: DefaultProps = {\n vertical: false,\n size: 'large',\n };\n\n private getProps = createPropsGetter(Tabs.defaultProps);\n\n public static Tab = Tab;\n\n private theme!: Theme;\n\n private tabs: Array<TabType<T>> = [];\n\n private tabUpdates = {\n on: (cb: () => void) => {\n const index = this.listeners.push(cb);\n return () => {\n this.listeners.splice(index, 1);\n };\n },\n };\n\n private listeners: Array<typeof emptyHandler> = [];\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n const { value, width, children, indicatorClassName, 'aria-describedby': ariaDescribedby } = this.props;\n const { vertical, size } = this.getProps();\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={TabsDataTids.root}\n className={cx({\n [styles.rootSmall(this.theme)]: size === 'small',\n [styles.rootMedium(this.theme)]: size === 'medium',\n [styles.rootLarge(this.theme)]: size === 'large',\n [styles.vertical()]: vertical,\n })}\n style={{ width }}\n aria-describedby={ariaDescribedby}\n >\n <TabsContext.Provider\n value={{\n vertical,\n activeTab: value,\n size,\n getTab: this.getTab,\n addTab: this.addTab,\n removeTab: this.removeTab,\n notifyUpdate: this.notifyUpdate,\n shiftFocus: this.shiftFocus,\n switchTab: this.switchTab,\n }}\n >\n {children}\n <Indicator\n className={indicatorClassName}\n tabUpdates={this.tabUpdates}\n vertical={this.getProps().vertical}\n />\n </TabsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private shiftFocus: TabsContextType<T>['shiftFocus'] = (fromTab, delta) => {\n const { tabs } = this;\n const index = tabs.findIndex((x) => x.id === fromTab);\n const newIndex = Math.max(0, Math.min(index + delta, tabs.length - 1));\n const tab = tabs[newIndex];\n\n const tabNode = tab.getNode();\n const htmlNode = getRootNode(tabNode);\n\n if (isInstanceOf(htmlNode, globalObject.HTMLElement) && typeof htmlNode.focus === 'function') {\n htmlNode.focus();\n }\n };\n\n private notifyUpdate: TabsContextType<T>['notifyUpdate'] = () => {\n this.listeners.forEach((cb) => cb());\n };\n\n private switchTab: TabsContextType<T>['switchTab'] = (id) => {\n const { onValueChange, value } = this.props;\n if (id !== value && onValueChange) {\n onValueChange(id);\n }\n };\n\n private getTab: TabsContextType<T>['getTab'] = (id) => {\n const { getNode = null } = this.tabs.find((x) => x.id === id) || {};\n return getNode && getNode();\n };\n\n private addTab: TabsContextType<T>['addTab'] = (id, getNode) => {\n this.tabs = this.tabs.concat({ id, getNode });\n };\n\n private removeTab: TabsContextType<T>['removeTab'] = (id) => {\n this.tabs = this.tabs.filter((tab) => tab.id !== id);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","ThemeContext","CommonWrapper","cx","getRootNode","rootNode","createPropsGetter","isInstanceOf","Indicator","styles","TabsContext","Tab","TabsDataTids","root","indicatorRoot","Tabs","_class","_Tabs","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","tabs","tabUpdates","on","cb","index","listeners","push","splice","shiftFocus","fromTab","delta","_this2","findIndex","x","id","newIndex","Math","max","min","tab","tabNode","getNode","htmlNode","HTMLElement","focus","notifyUpdate","forEach","switchTab","_this$props","props","onValueChange","value","getTab","_ref","find","_ref$getNode","addTab","removeTab","filter","_inheritsLoose","_proto","prototype","render","_this3","_this$props2","width","children","indicatorClassName","ariaDescribedby","_this$getProps","vertical","size","createElement","Consumer","theme","_cx","_extends","rootNodeRef","setRootNode","className","rootSmall","rootMedium","rootLarge","style","Provider","activeTab","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Tabs.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { emptyHandler } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode } from '../../lib/rootNode/getRootNode';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { Indicator } from './Indicator';\nimport { styles } from './Tabs.styles';\nimport type { TabsContextType } from './TabsContext';\nimport { TabsContext } from './TabsContext';\nimport { Tab } from './Tab';\n\ntype ValueBaseType = string;\ninterface TabType<T extends ValueBaseType> {\n getNode: () => Tab<T> | null;\n id: T;\n}\n\nexport interface TabsProps<T extends ValueBaseType = string> extends CommonProps {\n /** Кастомный класс для индикатора (подчёркивания) активного таба. */\n indicatorClassName?: string;\n\n /** Размер табов. */\n size?: SizeProp;\n\n /** Идентификатор активного таба. Совпадает с `id` выбранного `<Tab />`. */\n value: T;\n\n /** Вызывается при смене активного таба. */\n onValueChange?: (value: T) => void;\n\n /** Располагает табы вертикально.\n * @default false */\n vertical?: boolean;\n\n /** Ширина компонента. */\n width?: number | string;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const TabsDataTids = {\n root: 'Tabs__root',\n indicatorRoot: 'Indicator__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;\n\n/**\n * Контейнер для компонента [Tab](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_display-data-tabs-tab--doc). Группирует табы и позволяет управлять их состоянием.\n */\n@rootNode\nexport class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {\n public static __KONTUR_REACT_UI__ = 'Tabs';\n public static displayName = 'Tabs';\n\n public static defaultProps: DefaultProps = {\n vertical: false,\n size: 'large',\n };\n\n private getProps = createPropsGetter(Tabs.defaultProps);\n\n public static Tab = Tab;\n\n private theme!: Theme;\n\n private tabs: Array<TabType<T>> = [];\n\n private tabUpdates = {\n on: (cb: () => void) => {\n const index = this.listeners.push(cb);\n return () => {\n this.listeners.splice(index, 1);\n };\n },\n };\n\n private listeners: Array<typeof emptyHandler> = [];\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n const { value, width, children, indicatorClassName, 'aria-describedby': ariaDescribedby } = this.props;\n const { vertical, size } = this.getProps();\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={TabsDataTids.root}\n className={cx({\n [styles.rootSmall(this.theme)]: size === 'small',\n [styles.rootMedium(this.theme)]: size === 'medium',\n [styles.rootLarge(this.theme)]: size === 'large',\n [styles.vertical()]: vertical,\n })}\n style={{ width }}\n aria-describedby={ariaDescribedby}\n >\n <TabsContext.Provider\n value={{\n vertical,\n activeTab: value,\n size,\n getTab: this.getTab,\n addTab: this.addTab,\n removeTab: this.removeTab,\n notifyUpdate: this.notifyUpdate,\n shiftFocus: this.shiftFocus,\n switchTab: this.switchTab,\n }}\n >\n {children}\n <Indicator\n className={indicatorClassName}\n tabUpdates={this.tabUpdates}\n vertical={this.getProps().vertical}\n />\n </TabsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private shiftFocus: TabsContextType<T>['shiftFocus'] = (fromTab, delta) => {\n const { tabs } = this;\n const index = tabs.findIndex((x) => x.id === fromTab);\n const newIndex = Math.max(0, Math.min(index + delta, tabs.length - 1));\n const tab = tabs[newIndex];\n\n const tabNode = tab.getNode();\n const htmlNode = getRootNode(tabNode);\n\n if (isInstanceOf(htmlNode, globalObject.HTMLElement) && typeof htmlNode.focus === 'function') {\n htmlNode.focus();\n }\n };\n\n private notifyUpdate: TabsContextType<T>['notifyUpdate'] = () => {\n this.listeners.forEach((cb) => cb());\n };\n\n private switchTab: TabsContextType<T>['switchTab'] = (id) => {\n const { onValueChange, value } = this.props;\n if (id !== value && onValueChange) {\n onValueChange(id);\n }\n };\n\n private getTab: TabsContextType<T>['getTab'] = (id) => {\n const { getNode = null } = this.tabs.find((x) => x.id === id) || {};\n return getNode && getNode();\n };\n\n private addTab: TabsContextType<T>['addTab'] = (id, getNode) => {\n this.tabs = this.tabs.concat({ id, getNode });\n };\n\n private removeTab: TabsContextType<T>['removeTab'] = (id) => {\n this.tabs = this.tabs.filter((tab) => tab.id !== id);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,18 +6,18 @@ import type { SizeProp } from '../../lib/types/props';
6
6
  import { Tab } from './Tab';
7
7
  type ValueBaseType = string;
8
8
  export interface TabsProps<T extends ValueBaseType = string> extends CommonProps {
9
- /** Задает кастомный класс подчёркиванию таба. */
9
+ /** Кастомный класс для индикатора (подчёркивания) активного таба. */
10
10
  indicatorClassName?: string;
11
- /** Задает размер контрола. */
11
+ /** Размер табов. */
12
12
  size?: SizeProp;
13
- /** Задает текущий активный `<Tab />`. Принимает `id` таба. */
13
+ /** Идентификатор активного таба. Совпадает с `id` выбранного `<Tab />`. */
14
14
  value: T;
15
- /** Задает функцию, изменяющую текущий активный `<Tab />`. */
15
+ /** Вызывается при смене активного таба. */
16
16
  onValueChange?: (value: T) => void;
17
- /** Задает расположение элементов по вертикали.
17
+ /** Располагает табы вертикально.
18
18
  * @default false */
19
19
  vertical?: boolean;
20
- /** Задает ширину компонента Tabs. */
20
+ /** Ширина компонента. */
21
21
  width?: number | string;
22
22
  /** @ignore */
23
23
  'aria-describedby'?: AriaAttributes['aria-describedby'];
@@ -28,12 +28,7 @@ export declare const TabsDataTids: {
28
28
  };
29
29
  type DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;
30
30
  /**
31
- * Родитель компонента Tab. Связывает `Tab`'ы в группу и позволяет управлять их состоянием, помогают в навигации.
32
- *
33
- * Используйте `Tabs` для второстепенной навигации, для группировки или фильтрации контента.
34
- *
35
- * Не используйте `Tabs` для основной навигации. Для этого лучше подходит главное меню на цветной плашке — оно более заметно на странице.
36
- * Не используйте `Tabs` для переключения состояний — для этого есть RadioGroup, Toggle и Switcher.
31
+ * Контейнер для компонента [Tab](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_display-data-tabs-tab--doc). Группирует табы и позволяет управлять их состоянием.
37
32
  */
38
33
  export declare class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {
39
34
  static __KONTUR_REACT_UI__: string;
@@ -16,7 +16,7 @@ export var styles = memoizeStyle({
16
16
  return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge));
17
17
  },
18
18
  textarea: function textarea(t) {
19
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin: ", ";\n -webkit-appearance: none;\n background: ", ";\n background-clip: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n min-width: ", ";\n outline: none;\n transition:\n border-color ", " ", ",\n height 0.2s ease-out;\n vertical-align: ", ";\n width: 100%;\n border-radius: ", ";\n white-space: pre-wrap;\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n color: ", ";\n }\n\n &:-moz-placeholder {\n color: ", ";\n }\n\n &::-moz-placeholder {\n color: ", ";\n }\n "])), t.textareaMargin, t.textareaBg, t.textareaBackgroundClip, t.textareaBorderWidth, t.textareaBorderColor, t.textareaBorderTopColor, t.textareaShadow, t.textareaColor, t.textareaWidth, t.transitionDuration, t.transitionTimingFunction, t.textareaVerticalAlign, t.textareaBorderRadius, t.textareaBorderColorFocus, t.textareaOutlineWidth, t.textareaBorderColorFocus, t.textareaPlaceholderColorLight, t.textareaPlaceholderColor, t.textareaPlaceholderColor, t.textareaPlaceholderColor);
19
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin: ", ";\n -webkit-appearance: none;\n background: ", ";\n background-clip: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n width: 100%;\n outline: none;\n transition:\n border-color ", " ", ",\n height 0.2s ease-out;\n vertical-align: ", ";\n border-radius: ", ";\n white-space: pre-wrap;\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n color: ", ";\n }\n\n &:-moz-placeholder {\n color: ", ";\n }\n\n &::-moz-placeholder {\n color: ", ";\n }\n "])), t.textareaMargin, t.textareaBg, t.textareaBackgroundClip, t.textareaBorderWidth, t.textareaBorderColor, t.textareaBorderTopColor, t.textareaShadow, t.textareaColor, t.transitionDuration, t.transitionTimingFunction, t.textareaVerticalAlign, t.textareaBorderRadius, t.textareaBorderColorFocus, t.textareaOutlineWidth, t.textareaBorderColorFocus, t.textareaPlaceholderColorLight, t.textareaPlaceholderColor, t.textareaPlaceholderColor, t.textareaPlaceholderColor);
20
20
  },
21
21
  textareaSmall: function textareaSmall(t) {
22
22
  return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall));
@@ -1 +1 @@
1
- {"version":3,"names":["css","memoizeStyle","counterSizeMixin","rootTextareaSizeMixin","textareaSizeMixin","styles","root","_templateObject","_taggedTemplateLiteralLoose","rootSmall","t","_templateObject2","textareaFontSizeSmall","textareaLineHeightSmall","rootMedium","_templateObject3","textareaFontSizeMedium","textareaLineHeightMedium","rootLarge","_templateObject4","textareaFontSizeLarge","textareaLineHeightLarge","textarea","_templateObject5","textareaMargin","textareaBg","textareaBackgroundClip","textareaBorderWidth","textareaBorderColor","textareaBorderTopColor","textareaShadow","textareaColor","textareaWidth","transitionDuration","transitionTimingFunction","textareaVerticalAlign","textareaBorderRadius","textareaBorderColorFocus","textareaOutlineWidth","textareaPlaceholderColorLight","textareaPlaceholderColor","textareaSmall","_templateObject6","textareaPaddingYSmall","textareaPaddingXSmall","textareaMinHeightSmall","textareaMedium","_templateObject7","textareaPaddingYMedium","textareaPaddingXMedium","textareaMinHeightMedium","textareaLarge","_templateObject8","textareaPaddingYLarge","textareaPaddingXLarge","textareaMinHeightLarge","hovering","_templateObject9","textareaBorderColorHover","error","_templateObject10","textareaBorderColorError","warning","_templateObject11","textareaBorderColorWarning","disabled","_templateObject12","textareaTextColorDisabled","textareaDisabledBg","textareaDisabledBorderColor","textareaPlaceholderColorDisabled","fake","_templateObject13","placeholder","_templateObject14","counterContainer","_templateObject15","counter","_templateObject16","textareaCounterBg","textareaCounterColor","counterSmall","_templateObject17","counterMedium","_templateObject18","counterLarge","_templateObject19","counterError","_templateObject20","textareaCounterErrorColor","counterHelp","_templateObject21","disableAnimations","_templateObject22"],"sources":["Textarea.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nimport { counterSizeMixin, rootTextareaSizeMixin, textareaSizeMixin } from './Textarea.mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n position: relative;\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeSmall, t.textareaLineHeightSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeMedium, t.textareaLineHeightMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge)};\n `;\n },\n\n textarea(t: Theme) {\n return css`\n margin: ${t.textareaMargin};\n -webkit-appearance: none;\n background: ${t.textareaBg};\n background-clip: ${t.textareaBackgroundClip};\n border: ${t.textareaBorderWidth} solid ${t.textareaBorderColor};\n border-top-color: ${t.textareaBorderTopColor};\n box-shadow: ${t.textareaShadow};\n box-sizing: border-box;\n color: ${t.textareaColor};\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n min-width: ${t.textareaWidth};\n outline: none;\n transition:\n border-color ${t.transitionDuration} ${t.transitionTimingFunction},\n height 0.2s ease-out;\n vertical-align: ${t.textareaVerticalAlign};\n width: 100%;\n border-radius: ${t.textareaBorderRadius};\n white-space: pre-wrap;\n\n &:focus {\n border-color: ${t.textareaBorderColorFocus};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorFocus};\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorLight};\n }\n }\n\n &::placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &:-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &::-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n `;\n },\n textareaSmall(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall)};\n `;\n },\n textareaMedium(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium, t.textareaMinHeightMedium)};\n `;\n },\n textareaLarge(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge, t.textareaMinHeightLarge)};\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:enabled:hover:not(:focus) {\n border-color: ${t.textareaBorderColorHover};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaBorderWidth} ${t.textareaBorderColorError};\n\n &:focus {\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorError};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n\n &:focus {\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.textareaTextColorDisabled};\n background: ${t.textareaDisabledBg};\n border-color: ${t.textareaDisabledBorderColor};\n box-shadow: none;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorDisabled};\n }\n `;\n },\n\n fake() {\n return css`\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n `;\n },\n\n placeholder() {\n return css`\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n `;\n },\n\n counterContainer(t: Theme) {\n return css`\n position: absolute;\n top: 0;\n border: ${t.textareaBorderWidth} solid transparent;\n box-sizing: content-box;\n `;\n },\n\n counter(t: Theme) {\n return css`\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ${t.textareaCounterBg};\n color: ${t.textareaCounterColor};\n border-radius: 2px;\n `;\n },\n counterSmall(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall)};\n `;\n },\n counterMedium(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium)};\n `;\n },\n counterLarge(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge)};\n `;\n },\n\n counterError(t: Theme) {\n return css`\n color: ${t.textareaCounterErrorColor};\n `;\n },\n\n counterHelp() {\n return css`\n margin-left: 4px;\n cursor: pointer;\n `;\n },\n\n disableAnimations() {\n return css`\n transition: none;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["css","memoizeStyle","counterSizeMixin","rootTextareaSizeMixin","textareaSizeMixin","styles","root","_templateObject","_taggedTemplateLiteralLoose","rootSmall","t","_templateObject2","textareaFontSizeSmall","textareaLineHeightSmall","rootMedium","_templateObject3","textareaFontSizeMedium","textareaLineHeightMedium","rootLarge","_templateObject4","textareaFontSizeLarge","textareaLineHeightLarge","textarea","_templateObject5","textareaMargin","textareaBg","textareaBackgroundClip","textareaBorderWidth","textareaBorderColor","textareaBorderTopColor","textareaShadow","textareaColor","transitionDuration","transitionTimingFunction","textareaVerticalAlign","textareaBorderRadius","textareaBorderColorFocus","textareaOutlineWidth","textareaPlaceholderColorLight","textareaPlaceholderColor","textareaSmall","_templateObject6","textareaPaddingYSmall","textareaPaddingXSmall","textareaMinHeightSmall","textareaMedium","_templateObject7","textareaPaddingYMedium","textareaPaddingXMedium","textareaMinHeightMedium","textareaLarge","_templateObject8","textareaPaddingYLarge","textareaPaddingXLarge","textareaMinHeightLarge","hovering","_templateObject9","textareaBorderColorHover","error","_templateObject10","textareaBorderColorError","warning","_templateObject11","textareaBorderColorWarning","disabled","_templateObject12","textareaTextColorDisabled","textareaDisabledBg","textareaDisabledBorderColor","textareaPlaceholderColorDisabled","fake","_templateObject13","placeholder","_templateObject14","counterContainer","_templateObject15","counter","_templateObject16","textareaCounterBg","textareaCounterColor","counterSmall","_templateObject17","counterMedium","_templateObject18","counterLarge","_templateObject19","counterError","_templateObject20","textareaCounterErrorColor","counterHelp","_templateObject21","disableAnimations","_templateObject22"],"sources":["Textarea.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nimport { counterSizeMixin, rootTextareaSizeMixin, textareaSizeMixin } from './Textarea.mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n position: relative;\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeSmall, t.textareaLineHeightSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeMedium, t.textareaLineHeightMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge)};\n `;\n },\n\n textarea(t: Theme) {\n return css`\n margin: ${t.textareaMargin};\n -webkit-appearance: none;\n background: ${t.textareaBg};\n background-clip: ${t.textareaBackgroundClip};\n border: ${t.textareaBorderWidth} solid ${t.textareaBorderColor};\n border-top-color: ${t.textareaBorderTopColor};\n box-shadow: ${t.textareaShadow};\n box-sizing: border-box;\n color: ${t.textareaColor};\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n width: 100%;\n outline: none;\n transition:\n border-color ${t.transitionDuration} ${t.transitionTimingFunction},\n height 0.2s ease-out;\n vertical-align: ${t.textareaVerticalAlign};\n border-radius: ${t.textareaBorderRadius};\n white-space: pre-wrap;\n\n &:focus {\n border-color: ${t.textareaBorderColorFocus};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorFocus};\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorLight};\n }\n }\n\n &::placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &:-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &::-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n `;\n },\n textareaSmall(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall)};\n `;\n },\n textareaMedium(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium, t.textareaMinHeightMedium)};\n `;\n },\n textareaLarge(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge, t.textareaMinHeightLarge)};\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:enabled:hover:not(:focus) {\n border-color: ${t.textareaBorderColorHover};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaBorderWidth} ${t.textareaBorderColorError};\n\n &:focus {\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorError};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n\n &:focus {\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.textareaTextColorDisabled};\n background: ${t.textareaDisabledBg};\n border-color: ${t.textareaDisabledBorderColor};\n box-shadow: none;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorDisabled};\n }\n `;\n },\n\n fake() {\n return css`\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n `;\n },\n\n placeholder() {\n return css`\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n `;\n },\n\n counterContainer(t: Theme) {\n return css`\n position: absolute;\n top: 0;\n border: ${t.textareaBorderWidth} solid transparent;\n box-sizing: content-box;\n `;\n },\n\n counter(t: Theme) {\n return css`\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ${t.textareaCounterBg};\n color: ${t.textareaCounterColor};\n border-radius: 2px;\n `;\n },\n counterSmall(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall)};\n `;\n },\n counterMedium(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium)};\n `;\n },\n counterLarge(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge)};\n `;\n },\n\n counterError(t: Theme) {\n return css`\n color: ${t.textareaCounterErrorColor};\n `;\n },\n\n counterHelp() {\n return css`\n margin-left: 4px;\n cursor: pointer;\n `;\n },\n\n disableAnimations() {\n return css`\n transition: none;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ import { ToastStatic } from "../ToastStatic";
17
17
  /**
18
18
  * Состояния тоста:
19
19
  *
20
- * - default стиль для отображения по-умолчанию
20
+ * - default стиль для отображения по умолчанию
21
21
  * - error стиль для отображения ошибок
22
22
  **/
23
23
 
@@ -25,7 +25,7 @@ import { ToastStatic } from "../ToastStatic";
25
25
 
26
26
  /** Объект с конфигурацией отображения Toast-а */
27
27
 
28
- /** TODO: Новый Api для метода push в Toast. Станет api по-умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */
28
+ /** TODO: Новый Api для метода push в Toast. Станет api по умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */
29
29
 
30
30
  export var ToastDataTids = {
31
31
  toastStatic: 'StaticToast',
@@ -1 +1 @@
1
- {"version":3,"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","_class","_Toast","_React$Component","props","_this","call","rootRef","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","currentUse","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","configOrAction","use","isNewToastPushApi","onPush","_ref","isOldToastPushApi","isEmptySecondArg","_ref2","_this$state","toastProps","onMouseEnter","onMouseLeave","children","key","classNames","enter","enterActive","exit","exitActive","timeout","nodeRef","_extends","rootNodeRef","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply","Boolean"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\n/**\n * Состояния тоста:\n *\n * - default стиль для отображения по-умолчанию\n * - error стиль для отображения ошибок\n **/\nexport type ToastUse = 'default' | 'error';\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n currentUse: ToastUse;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\n/** @deprecated выпилить старый подход к api push Toast-а в react-ui 6.0 */\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\n/** Объект с конфигурацией отображения Toast-а */\nexport interface ToastPushConfig {\n action?: Nullable<Action>;\n showTime?: number;\n showCloseIcon?: boolean;\n /**\n * Определяет стили для тоста.\n *\n * - default стиль для отображения по-умолчанию\n * - error стиль для отображения ошибок\n *\n * По-умолчанию будет использован стиль default.\n **/\n use?: ToastUse;\n}\n\n/** TODO: Новый Api для метода push в Toast. Станет api по-умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */\nexport type ToastNewPushApi = (notification: React.ReactNode, config: ToastPushConfig) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация и могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * В обозримом будущем планируем **полностью избавиться** от статического метода в компоненте `Toast`.\n *\n * В качестве альтернативы для `Toast.push` мы рекомендуем использовать компонент `SingleToast` или вызов метода push через `ref`.\n *\n * Метод `push` через ref поддерживает два api.\n *\n * 1. Устаревший с последовательной передачей аргументов: `toastRef.current.push('Hi', { label: 'Cancel', handler: () => {} }, 15000)`\n * 2. Новый с передачей объекта конфигурации: `toastRef.current.push('Hi', { action: { label: 'Cancel', handler: () => {} }, showTime: 15000 })`\n *\n * Устаревший подход с передачей аргументов последовательным образом **будет удалён** в следующей мажорной версии.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n currentUse: 'default',\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action` внутри config-а.\n * Время показа можно задать вручную, передав `showTime` внутри config-а.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {ToastPushConfig} config объект с конфигурацией отображения компонента Toast\n *\n * @description Сейчас есть поддержка старого api метода push с передачей аргументов последовательно, но с версии 6.0 этот функционал будет удалён.\n * @example\n * // Будет удален в 6.0\n * push('notification', { label: \"cat meow\", handler: () => {} }, 15_000, false, \"error\")\n *\n * @example\n * // Останется в > 6.0\n * push('notification', { action: { label: \"cat meow\", handler: () => {} }, showTime: 15_000, showCloseIcon: false, use: \"error\" })\n */\n public push(\n notification: React.ReactNode,\n configOrAction?: ToastPushConfig | Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n use?: ToastUse,\n ) {\n if (this.state.notification) {\n this.close();\n }\n\n if (isNewToastPushApi(configOrAction)) {\n const { action, showTime, showCloseIcon, use } = configOrAction;\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(\n ({ id }) => ({\n notification,\n action,\n id: id + 1,\n showTime,\n showCloseIcon,\n currentUse: use ?? 'default',\n }),\n this._setTimer,\n );\n }\n\n /** @deprecated выпилить старый подход к api push Toast-а в react-ui 6.0 */\n if (isOldToastPushApi(configOrAction) || isEmptySecondArg(configOrAction)) {\n const action = configOrAction;\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(\n ({ id }) => ({\n notification,\n action,\n id: id + 1,\n showTime,\n showCloseIcon,\n currentUse: use ?? 'default',\n }),\n this._setTimer,\n );\n }\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon, currentUse } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n use: currentUse,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n\nexport function isNewToastPushApi(value: unknown): value is ToastPushConfig {\n return Boolean(value && typeof value === 'object' && !('label' in value));\n}\n\nexport function isOldToastPushApi(value: unknown): value is Action {\n return Boolean(value && typeof value === 'object' && 'label' in value);\n}\n\n/** Хелпер для случая, когда передаём только текст */\nexport function isEmptySecondArg(value: unknown): value is null | undefined {\n return !value;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","_class","_Toast","_React$Component","props","_this","call","rootRef","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","currentUse","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","configOrAction","use","isNewToastPushApi","onPush","_ref","isOldToastPushApi","isEmptySecondArg","_ref2","_this$state","toastProps","onMouseEnter","onMouseLeave","children","key","classNames","enter","enterActive","exit","exitActive","timeout","nodeRef","_extends","rootNodeRef","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply","Boolean"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\n/**\n * Состояния тоста:\n *\n * - default стиль для отображения по умолчанию\n * - error стиль для отображения ошибок\n **/\nexport type ToastUse = 'default' | 'error';\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n currentUse: ToastUse;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\n/** @deprecated выпилить старый подход к api push Toast-а в react-ui 6.0 */\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\n/** Объект с конфигурацией отображения Toast-а */\nexport interface ToastPushConfig {\n action?: Nullable<Action>;\n showTime?: number;\n showCloseIcon?: boolean;\n /**\n * Определяет стили для тоста.\n *\n * - default стиль для отображения по умолчанию\n * - error стиль для отображения ошибок\n *\n * По умолчанию будет использован стиль default.\n **/\n use?: ToastUse;\n}\n\n/** TODO: Новый Api для метода push в Toast. Станет api по умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */\nexport type ToastNewPushApi = (notification: React.ReactNode, config: ToastPushConfig) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация и могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * В обозримом будущем планируем **полностью избавиться** от статического метода в компоненте `Toast`.\n *\n * В качестве альтернативы для `Toast.push` мы рекомендуем использовать компонент `SingleToast` или вызов метода push через `ref`.\n *\n * Метод `push` через ref поддерживает два api.\n *\n * 1. Устаревший с последовательной передачей аргументов: `toastRef.current.push('Hi', { label: 'Cancel', handler: () => {} }, 15000)`\n * 2. Новый с передачей объекта конфигурации: `toastRef.current.push('Hi', { action: { label: 'Cancel', handler: () => {} }, showTime: 15000 })`\n *\n * Устаревший подход с передачей аргументов последовательным образом **будет удалён** в следующей мажорной версии.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n currentUse: 'default',\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action` внутри config-а.\n * Время показа можно задать вручную, передав `showTime` внутри config-а.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {ToastPushConfig} config объект с конфигурацией отображения компонента Toast\n *\n * @description Сейчас есть поддержка старого api метода push с передачей аргументов последовательно, но с версии 6.0 этот функционал будет удалён.\n * @example\n * // Будет удален в 6.0\n * push('notification', { label: \"cat meow\", handler: () => {} }, 15_000, false, \"error\")\n *\n * @example\n * // Останется в > 6.0\n * push('notification', { action: { label: \"cat meow\", handler: () => {} }, showTime: 15_000, showCloseIcon: false, use: \"error\" })\n */\n public push(\n notification: React.ReactNode,\n configOrAction?: ToastPushConfig | Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n use?: ToastUse,\n ) {\n if (this.state.notification) {\n this.close();\n }\n\n if (isNewToastPushApi(configOrAction)) {\n const { action, showTime, showCloseIcon, use } = configOrAction;\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(\n ({ id }) => ({\n notification,\n action,\n id: id + 1,\n showTime,\n showCloseIcon,\n currentUse: use ?? 'default',\n }),\n this._setTimer,\n );\n }\n\n /** @deprecated выпилить старый подход к api push Toast-а в react-ui 6.0 */\n if (isOldToastPushApi(configOrAction) || isEmptySecondArg(configOrAction)) {\n const action = configOrAction;\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(\n ({ id }) => ({\n notification,\n action,\n id: id + 1,\n showTime,\n showCloseIcon,\n currentUse: use ?? 'default',\n }),\n this._setTimer,\n );\n }\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon, currentUse } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n use: currentUse,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n\nexport function isNewToastPushApi(value: unknown): value is ToastPushConfig {\n return Boolean(value && typeof value === 'object' && !('label' in value));\n}\n\nexport function isOldToastPushApi(value: unknown): value is Action {\n return Boolean(value && typeof value === 'object' && 'label' in value);\n}\n\n/** Хелпер для случая, когда передаём только текст */\nexport function isEmptySecondArg(value: unknown): value is null | undefined {\n return !value;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ export interface Action {
13
13
  /**
14
14
  * Состояния тоста:
15
15
  *
16
- * - default стиль для отображения по-умолчанию
16
+ * - default стиль для отображения по умолчанию
17
17
  * - error стиль для отображения ошибок
18
18
  **/
19
19
  export type ToastUse = 'default' | 'error';
@@ -43,14 +43,14 @@ export interface ToastPushConfig {
43
43
  /**
44
44
  * Определяет стили для тоста.
45
45
  *
46
- * - default стиль для отображения по-умолчанию
46
+ * - default стиль для отображения по умолчанию
47
47
  * - error стиль для отображения ошибок
48
48
  *
49
- * По-умолчанию будет использован стиль default.
49
+ * По умолчанию будет использован стиль default.
50
50
  **/
51
51
  use?: ToastUse;
52
52
  }
53
- /** TODO: Новый Api для метода push в Toast. Станет api по-умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */
53
+ /** TODO: Новый Api для метода push в Toast. Станет api по умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */
54
54
  export type ToastNewPushApi = (notification: React.ReactNode, config: ToastPushConfig) => void;
55
55
  export type ToastClose = () => void;
56
56
  export declare const ToastDataTids: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","warning","globalObject","isNullable","ThemeFactory","Popup","RenderLayer","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","CloseButtonIcon","isInstanceOf","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","cx","isThemeGTE","withSize","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","DefaultPositions","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","filter","item","includes","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","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';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { withSize } from '../../lib/size/SizeDecorator';\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 DefaultPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n\n@rootNode\n@withSize\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private size!: SizeProp;\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 : DefaultPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\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={isThemeGTE(this.theme, '5.4') ? this.getPositions() : this.props.allowedPositions}\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[] =>\n this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => DefaultPositions.includes(item))\n : DefaultPositions;\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.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.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":"qJAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,SAAS;;AAE7B,SAASC,YAAY,QAAQ,0BAA0B;;;AAGvD,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,KAAK,QAAQ,sBAAsB;;AAE5C,SAASC,WAAW,QAAQ,4BAA4B;;;AAGxD,SAASC,+BAA+B,QAAQ,8BAA8B;AAC9E,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,SAAS,QAAQ,8BAA8B;;AAExD,SAASC,aAAa,QAAQ,8BAA8B;;AAE5D,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,eAAe,QAAQ,gDAAgD;AAChF,SAASC,YAAY,QAAQ,wBAAwB;;AAErD,SAASC,0BAA0B,EAAEC,0BAA0B,QAAQ,+BAA+B;AACtG,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,QAAQ,QAAQ,8BAA8B;;AAEvD,SAASC,MAAM,QAAQ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EzC,IAAMC,aAAa,GAAG,GAAG;;;;;;;AAOzB,OAAO,IAAMC,eAAe,GAAG;EAC7BC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAE,kBAAkB;EAC3BC,SAAS,EAAE;AACb,CAAU;;AAEV,IAAMC,gBAAsC,GAAG;AAC7C,cAAc;AACd,cAAc;AACd,WAAW;AACX,WAAW;AACX,YAAY;AACZ,UAAU;AACV,UAAU;AACV,aAAa;AACb,aAAa;AACb,aAAa;AACb,eAAe;AACf,cAAc,CACf;;;;;;;;;;;;;;;AAcD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEaC,OAAO,GAFnBhB,QAAQ,CAAAiB,MAAA,GACRT,QAAQ,CAAAS,MAAA,IAAAC,QAAA,0BAAAC,oBAAA,YAAAH,QAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;IAYCU,QAAQ,GAAG7B,iBAAiB,CAACe,OAAO,CAACe,YAAY,CAAC,CAAAX,KAAA;;;;;;;;;;;IAWnDY,KAAK,GAAiB,EAAEC,MAAM,EAAE,KAAK,EAAEC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAAd,KAAA;;;;;;IAMtDe,cAAc,GAA0B,IAAI,CAAAf,KAAA;IAC5CgB,cAAc,GAAG,IAAI,CAAAhB,KAAA;;;;IAIrBiB,QAAQ,gBAAGhD,KAAK,CAACiD,SAAS,CAAQ,CAAC,CAAAlB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2DpCmB,aAAa,GAAG,YAAM;MAC3B,IAAM1B,OAAO,GAAGO,KAAA,CAAKoB,KAAK,CAACC,MAAM,GAAGrB,KAAA,CAAKoB,KAAK,CAACC,MAAM,CAAC,CAAC,GAAG,IAAI;MAC9D,IAAIjD,UAAU,CAACqB,OAAO,CAAC,EAAE;QACvB,OAAO,IAAI;MACb;;MAEA;QACExB,KAAA,CAAAqD,aAAA;UACEC,GAAG,EAAEvB,KAAA,CAAKwB,UAAW;UACrBC,SAAS,EAAEvC,EAAE,CAACG,MAAM,CAACqC,cAAc,CAAC1B,KAAA,CAAK2B,KAAK,CAAC,EAAE3B,KAAA,CAAK4B,aAAa,CAACC,YAAY,CAAE;UAClF,YAAUtC,eAAe,CAACE,OAAQ;;QAEjCA,OAAO;QACPO,KAAA,CAAK8B,iBAAiB,CAAC;QACrB,CAAC;;IAEV,CAAC,CAAA9B,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCM+B,gBAAgB,GAAG,YAAyB,KAAAC,qBAAA;MACjD,QAAAA,qBAAA,GAAOhC,KAAA,CAAKiB,QAAQ,CAACgB,OAAO,qBAArBD,qBAAA,CAAuBE,aAAa;IAC7C,CAAC,CAAAlC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+EOmC,YAAY,GAAG;QACrBnC,KAAA,CAAKoB,KAAK,CAACgB,gBAAgB;QACvBpC,KAAA,CAAKoB,KAAK,CAACgB,gBAAgB,CAACC,MAAM,CAAC,UAACC,IAAI,UAAK3C,gBAAgB,CAAC4C,QAAQ,CAACD,IAAI,CAAC,GAAC;QAC7E3C,gBAAgB,IAAAK,KAAA;;IAEdwB,UAAU,GAAG,UAACgB,IAAwB,EAAK;MACjDxC,KAAA,CAAKe,cAAc,GAAGyB,IAAI;IAC5B,CAAC,CAAAxC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuFOyC,IAAI,GAAG,oBAAMzC,KAAA,CAAK0C,QAAQ,CAAC,EAAE7B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAAb,KAAA;;IAE5C2C,KAAK,GAAG,oBAAM3C,KAAA,CAAK0C,QAAQ,CAAC,EAAE7B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAb,KAAA;;;;;;;;;IAS9C4C,gBAAgB,GAAG,UAACC,KAAqB,EAAK;MACpD,IAAMC,aAAa,GAAG9C,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACqC,OAAO,KAAK,aAAa;MAC/D,IAAID,aAAa,IAAID,KAAK,CAACG,MAAM,KAAKhD,KAAA,CAAKe,cAAc,EAAE;QACzD;MACF;;MAEAf,KAAA,CAAKiD,iBAAiB,CAAC,CAAC;MACxBjD,KAAA,CAAKkD,YAAY,GAAG/E,YAAY,CAACgF,UAAU,CAACnD,KAAA,CAAKyC,IAAI,EAAEzC,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAAC0C,eAAe,CAAC;IACzF,CAAC,CAAApD,KAAA;;IAEOqD,gBAAgB,GAAG,UAACR,KAAqB,EAAK;MACpD,IAAME,OAAO,GAAG/C,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACqC,OAAO;MACvC;MACGA,OAAO,KAAK,aAAa,IAAI/C,KAAA,CAAKY,KAAK,CAACE,OAAO;MAC/CiC,OAAO,KAAK,OAAO,IAAIF,KAAK,CAACS,aAAa,KAAKtD,KAAA,CAAKe,cAAe;MACpE;QACA;MACF;;MAEAf,KAAA,CAAKiD,iBAAiB,CAAC,CAAC;;MAExB,IAAIF,OAAO,KAAK,aAAa,EAAE;QAC7B/C,KAAA,CAAK2C,KAAK,CAAC,CAAC;MACd,CAAC,MAAM;QACL3C,KAAA,CAAKkD,YAAY,GAAG/E,YAAY,CAACgF,UAAU,CAACnD,KAAA,CAAK2C,KAAK,EAAE/C,OAAO,CAAC2D,KAAK,CAAC;MACxE;IACF,CAAC,CAAAvD,KAAA;;IAEOwD,WAAW,GAAG,YAAM;MAC1BxD,KAAA,CAAKyC,IAAI,CAAC,CAAC;IACb,CAAC,CAAAzC,KAAA;;IAEOyD,wBAAwB,GAAG,UAACZ,KAAY,EAAK;MACnD7C,KAAA,CAAKgB,cAAc,GAAGhB,KAAA,CAAK0D,qBAAqB,CAACb,KAAK,CAAC;MACvD,IAAI7C,KAAA,CAAKgB,cAAc,EAAE;QACvB,IAAIhB,KAAA,CAAKoB,KAAK,CAACuC,cAAc,EAAE;UAC7B3D,KAAA,CAAKoB,KAAK,CAACuC,cAAc,CAACd,KAAK,CAAC;QAClC;QACA7C,KAAA,CAAK2C,KAAK,CAAC,CAAC;MACd;IACF,CAAC,CAAA3C,KAAA;;;;;;;;;;IAUO4D,WAAW,GAAG,YAAM;MAC1B5D,KAAA,CAAK0C,QAAQ,CAAC,EAAE5B,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;MAChCd,KAAA,CAAKyC,IAAI,CAAC,CAAC;IACb,CAAC,CAAAzC,KAAA;;IAEO6D,UAAU,GAAG,YAAM;MACzB,IAAMd,OAAO,GAAG/C,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACqC,OAAO;MACvC,IAAIA,OAAO,KAAK,aAAa,IAAI/C,KAAA,CAAKgB,cAAc,EAAE;QACpDhB,KAAA,CAAK2C,KAAK,CAAC,CAAC;MACd;;MAEA,IAAII,OAAO,KAAK,OAAO,EAAE;QACvB/C,KAAA,CAAK2C,KAAK,CAAC,CAAC;MACd;;MAEA3C,KAAA,CAAKgB,cAAc,GAAG,IAAI;MAC1BhB,KAAA,CAAK0C,QAAQ,CAAC,EAAE5B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC,CAAAd,KAAA;;IAEO8D,sBAAsB,GAAG,UAACjB,KAAoC,EAAK;MACzEA,KAAK,CAACkB,eAAe,CAAC,CAAC;;MAEvB,IAAI/D,KAAA,CAAKoB,KAAK,CAAC4C,YAAY,EAAE;QAC3BhE,KAAA,CAAKoB,KAAK,CAAC4C,YAAY,CAACnB,KAAK,CAAC;MAChC;;MAEA,IAAIA,KAAK,CAACoB,gBAAgB,EAAE;QAC1B;MACF;;MAEA,IAAIjE,KAAA,CAAKoB,KAAK,CAACuC,cAAc,EAAE;QAC7B3D,KAAA,CAAKoB,KAAK,CAACuC,cAAc,CAACd,KAAK,CAAC;MAClC;;MAEA7C,KAAA,CAAK2C,KAAK,CAAC,CAAC;IACd,CAAC,CAAA3C,KAAA;;IAEOkE,gBAAgB,GAAG,YAA4B;MACrD,QAAQlE,KAAA,CAAKmE,IAAI;QACf,KAAK,OAAO;UACV,OAAO;YACLC,gBAAgB,EAAE/E,MAAM,CAACgF,gBAAgB,CAACrE,KAAA,CAAK2B,KAAK,CAAC;YACrDE,YAAY,EAAExC,MAAM,CAACiF,mBAAmB,CAACtE,KAAA,CAAK2B,KAAK,CAAC;YACpD4C,YAAY,EAAEvE,KAAA,CAAK2B,KAAK,CAAC6C,wBAAwB;YACjDC,OAAO,EAAEzE,KAAA,CAAK2B,KAAK,CAAC+C,mBAAmB;YACvCC,UAAU,EAAE3E,KAAA,CAAK2B,KAAK,CAACiD,sBAAsB;YAC7CC,UAAU,EAAE7E,KAAA,CAAK2B,KAAK,CAACmD,sBAAsB;YAC7CC,MAAM,EAAE/E,KAAA,CAAK2B,KAAK,CAACqD;UACrB,CAAC;QACH,KAAK,QAAQ;UACX,OAAO;YACLZ,gBAAgB,EAAE/E,MAAM,CAAC4F,iBAAiB,CAACjF,KAAA,CAAK2B,KAAK,CAAC;YACtDE,YAAY,EAAExC,MAAM,CAAC6F,oBAAoB,CAAClF,KAAA,CAAK2B,KAAK,CAAC;YACrD4C,YAAY,EAAEvE,KAAA,CAAK2B,KAAK,CAACwD,yBAAyB;YAClDV,OAAO,EAAEzE,KAAA,CAAK2B,KAAK,CAACyD,oBAAoB;YACxCT,UAAU,EAAE3E,KAAA,CAAK2B,KAAK,CAAC0D,uBAAuB;YAC9CR,UAAU,EAAE7E,KAAA,CAAK2B,KAAK,CAAC2D,uBAAuB;YAC9CP,MAAM,EAAE/E,KAAA,CAAK2B,KAAK,CAAC4D;UACrB,CAAC;QACH,KAAK,OAAO;UACV,OAAO;YACLnB,gBAAgB,EAAE/E,MAAM,CAACmG,gBAAgB,CAACxF,KAAA,CAAK2B,KAAK,CAAC;YACrDE,YAAY,EAAExC,MAAM,CAACoG,mBAAmB,CAACzF,KAAA,CAAK2B,KAAK,CAAC;YACpD4C,YAAY,EAAEvE,KAAA,CAAK2B,KAAK,CAAC+D,wBAAwB;YACjDjB,OAAO,EAAEzE,KAAA,CAAK2B,KAAK,CAACgE,mBAAmB;YACvChB,UAAU,EAAE3E,KAAA,CAAK2B,KAAK,CAACiE,sBAAsB;YAC7Cf,UAAU,EAAE7E,KAAA,CAAK2B,KAAK,CAACkE,sBAAsB;YAC7Cd,MAAM,EAAE/E,KAAA,CAAK2B,KAAK,CAACmE;UACrB,CAAC;QACH;UACEC,OAAO,CAACC,KAAK,4DAA0DhG,KAAA,CAAKmE,IAAI,yBAAsB,CAAC;UACvG,OAAO;YACLC,gBAAgB,EAAE/E,MAAM,CAACgF,gBAAgB,CAACrE,KAAA,CAAK2B,KAAK,CAAC;YACrDE,YAAY,EAAExC,MAAM,CAACiF,mBAAmB,CAACtE,KAAA,CAAK2B,KAAK,CAAC;YACpD4C,YAAY,EAAEvE,KAAA,CAAK2B,KAAK,CAAC6C,wBAAwB;YACjDC,OAAO,EAAEzE,KAAA,CAAK2B,KAAK,CAAC+C,mBAAmB;YACvCC,UAAU,EAAE3E,KAAA,CAAK2B,KAAK,CAACiD,sBAAsB;YAC7CC,UAAU,EAAE7E,KAAA,CAAK2B,KAAK,CAACmD,sBAAsB;YAC7CC,MAAM,EAAE/E,KAAA,CAAK2B,KAAK,CAACqD;UACrB,CAAC;MACL;IACF,CAAC,QAAAhF,KAAA,EAAAiG,cAAA,CAAArG,OAAA,EAAAG,oBAAA,MAAAmG,MAAA,GAAAtG,OAAA,CAAAuG,SAAA,CAAAD,MAAA,CA7bOE,aAAa,GAArB,SAAAA,cAAsBhF,KAAmB,EAAQ,CAC/ClD,OAAO,CACLkD,KAAK,CAACiF,QAAQ,IAAIjF,KAAK,CAACc,aAAa,sGAEvC,CAAC,CACH,CAAC,CAAAgE,MAAA,CAkBMI,mBAAmB,GAA1B,SAAAA,oBAAA,EAA6B,CAC3B,OAAO,IAAI,CAAClF,KAAK,CAACgB,gBAAgB,GAAG,IAAI,CAAChB,KAAK,CAACgB,gBAAgB,GAAGzC,gBAAgB,CACrF,CAAC,CAAAuG,MAAA,CAEMK,iBAAiB,GAAxB,SAAAA,kBAAA,EAAiC,CAC/B,IAAI,CAACH,aAAa,CAAC,IAAI,CAAC1F,QAAQ,CAAC,CAAC,CAAC,CACrC,CAAC,CAAAwF,MAAA,CAEMM,kBAAkB,GAAzB,SAAAA,mBAAA,EAA4B,CAC1B,IAAAC,cAAA,GAAoB,IAAI,CAAC/F,QAAQ,CAAC,CAAC,CAA3BqC,OAAO,GAAA0D,cAAA,CAAP1D,OAAO,CAEf,IAAI,CAACqD,aAAa,CAAC,IAAI,CAAC1F,QAAQ,CAAC,CAAC,CAAC,CACnC,IAAIqC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAACnC,KAAK,CAACC,MAAM,EAAE,CAC7C,IAAI,CAAC8B,KAAK,CAAC,CAAC,CACd,CACF,CAAC,CAAAuD,MAAA,CAEMQ,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5B,IAAI,CAACzD,iBAAiB,CAAC,CAAC,CAC1B,CAAC,CAAAiD,MAAA,CAEM7E,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAsF,MAAA,QACd,oBACE1I,KAAA,CAAAqD,aAAA,CAACrC,0BAA0B,CAAC2H,QAAQ,QACjC,UAACC,KAAK,EAAK,CACVF,MAAI,CAACG,YAAY,GAAG9H,0BAA0B,CAAC6H,KAAK,CAAC,CACrD,oBACE5I,KAAA,CAAAqD,aAAA,CAAC7C,YAAY,CAACmI,QAAQ,QACnB,UAACjF,KAAK,EAAK,CACVgF,MAAI,CAAChF,KAAK,GAAGA,KAAK,CAClBgF,MAAI,CAAC/E,aAAa,GAAG+E,MAAI,CAACzC,gBAAgB,CAAC,CAAC,CAC5C,oBACEjG,KAAA,CAAAqD,aAAA,CAAC7C,YAAY,CAACsI,QAAQ,IACpBC,KAAK,EAAE3I,YAAY,CAAC4I,MAAM,CACxB,EACEC,eAAe,EAAEvF,KAAK,CAACwF,SAAS,EAChCC,WAAW,EAAEzF,KAAK,CAAC0F,aAAa,EAChCC,iBAAiB,EAAEX,MAAI,CAAC/E,aAAa,CAAC2C,YAAY,EAClDgD,YAAY,EAAEZ,MAAI,CAAC/E,aAAa,CAAC6C,OAAO,EACxC+C,eAAe,EAAEb,MAAI,CAAC/E,aAAa,CAAC+C,UAAU,EAC9C8C,eAAe,EAAEd,MAAI,CAAC/E,aAAa,CAACiD,UAAU,EAC9C6C,WAAW,EAAEf,MAAI,CAAC/E,aAAa,CAACmD,MAAM,CACxC,CAAC,EACDpD,KACF,CAAE,IAEDgF,MAAI,CAACgB,UAAU,CAAC,CACI,CAAC,CAE5B,CACqB,CAAC,CAE5B,CACmC,CAAC,CAE1C,CAAC,CAAAzB,MAAA,CAoBMpE,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAM8F,QAAQ,GACZ,IAAI,CAACxG,KAAK,CAACyG,WAAW,KAAKC,SAAS,GAChC,CAAClI,OAAO,CAACmI,0BAA0B,CAACxF,QAAQ,CAAC,IAAI,CAAC7B,QAAQ,CAAC,CAAC,CAACqC,OAAO,CAAC,GACrE,IAAI,CAAC3B,KAAK,CAACyG,WAAW,CAE5B,IAAI,CAACD,QAAQ,EAAE,CACb,OAAO,IAAI,CACb,CAEA,IAAMI,IAAI,gBACR/J,KAAA,CAAAqD,aAAA,CAACxC,eAAe,IACdmJ,QAAQ,EAAE,KAAM,EAChBC,IAAI,EAAEC,QAAQ,CAAC,IAAI,CAACxG,KAAK,CAACyG,mBAAmB,CAAE,EAC/CC,KAAK,EAAE,IAAI,CAAC1G,KAAK,CAAC2G,oBAAqB,EACvCC,UAAU,EAAE,IAAI,CAAC5G,KAAK,CAAC6G,yBAA0B,EAClD,CACF,CAED,oBACEvK,KAAA,CAAAqD,aAAA,UACEG,SAAS,EAAEvC,EAAE,CAACG,MAAM,CAACwI,WAAW,CAAC,IAAI,CAAClG,KAAK,CAAC,EAAE,IAAI,CAACC,aAAa,CAACwC,gBAAgB,CAAE,EACnFqE,OAAO,EAAE,IAAI,CAAC3E,sBAAuB,EACrC,YAAUvE,eAAe,CAACG,SAAU,IAEnCsI,IACE,CAAC,CAEV,CAAC,EAMD;AACF;AACA;AACA;AACA,KAJE9B,MAAA,CAKOwC,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,IAAI,CAAC9H,KAAK,CAACC,MAAM,EAAE,CACrB,OACF,CACA,IAAMkC,OAAO,GAAG,IAAI,CAACrC,QAAQ,CAAC,CAAC,CAACqC,OAAO,CACvC,IAAIA,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,QAAQ,EAAE,CAChD7E,OAAO,CAAC,IAAI,gEAA8D6E,OAAO,MAAG,CAAC,CACrF,OACF,CACA,IAAI,CAACN,IAAI,CAAC,CAAC,CACb,CAAC,CAED;AACF;AACA;AACA;AACA,KAJE,CAAAyD,MAAA,CAKOyC,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAM5F,OAAO,GAAG,IAAI,CAACrC,QAAQ,CAAC,CAAC,CAACqC,OAAO,CACvC,IAAIA,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,QAAQ,EAAE,CAChD7E,OAAO,CAAC,IAAI,gEAA8D6E,OAAO,MAAG,CAAC,CACrF,OACF,CACA,IAAI,CAACJ,KAAK,CAAC,CAAC,CACd,CAAC,CAAAuD,MAAA,CAEOyB,UAAU,GAAlB,SAAAA,WAAA,EAAqB,CACnB,IAAMvG,KAAK,GAAG,IAAI,CAACA,KAAK,CACxB,IAAM3B,OAAO,GAAG,IAAI,CAAC0B,aAAa,CAAC,CAAC,CACpC,IAAAyH,qBAAA,GAAuD,IAAI,CAACC,qBAAqB,CAAC,CAAC,CAA3EC,UAAU,GAAAF,qBAAA,CAAVE,UAAU,CAAAC,sBAAA,GAAAH,qBAAA,CAAEI,UAAU,CAAVA,UAAU,GAAAD,sBAAA,cAAG,EAAEE,MAAM,EAAE,KAAK,CAAC,CAAC,GAAAF,sBAAA,CAClD,IAAM7G,aAAa,GAAGd,KAAK,CAACiF,QAAQ,IAAIjF,KAAK,CAACc,aAAa,CAC3D,IAAMgH,KAAK,GAAG,IAAI,CAACC,WAAW,CAACjH,aAAa,EAAE4G,UAAU,EAAErJ,OAAO,CAAC,CAElE,oBACExB,KAAA,CAAAqD,aAAA,CAAC/C,WAAW,EAAA6K,QAAA,KAAKJ,UAAU,IAAEjH,gBAAgB,EAAE,IAAI,CAACA,gBAAiB,KAClEmH,KACU,CAAC,CAElB,CAAC,CAAAhD,MAAA,CAEOiD,WAAW,GAAnB,SAAAA,YACEjH,aAA4C,EAC5C4G,UAA+B,EAC/BrJ,OAA2B,EAC3B,CACA,IAAA4J,eAAA,GAAuC,IAAI,CAAC3I,QAAQ,CAAC,CAAC,CAA9C4I,iBAAiB,GAAAD,eAAA,CAAjBC,iBAAiB,CAAEvG,OAAO,GAAAsG,eAAA,CAAPtG,OAAO,CAClC,oBACE9E,KAAA,CAAAqD,aAAA,CAAC3C,aAAa,EAAAyK,QAAA,GAACG,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACpI,KAAK,gBAC1DnD,KAAA,CAAAqD,aAAA,CAAChD,KAAK,EAAA8K,QAAA,GACJ,YAAU7J,eAAe,CAACC,IAAK,EAC/B0C,aAAa,EAAEA,aAAc,EAC7BuH,MAAM,QACNC,SAAS,QACTC,QAAQ,EAAC,MAAM,EACf9I,MAAM,EAAE,IAAI,CAACD,KAAK,CAACC,MAAO,EAC1ByI,iBAAiB,EAAEA,iBAAkB,EACrCM,SAAS,EAAEzK,UAAU,CAAC,IAAI,CAACwC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAACQ,YAAY,CAAC,CAAC,GAAG,IAAI,CAACf,KAAK,CAACgB,gBAAiB,EAC7FyH,GAAG,EAAE,IAAI,CAACzI,KAAK,CAACyI,GAAI,EACpBC,WAAW,EAAE/G,OAAO,KAAK,aAAc,EACvCgH,MAAM,EAAE,IAAI,CAAC3I,KAAK,CAAC2I,MAAO,EAC1BC,OAAO,EAAE,IAAI,CAAC5I,KAAK,CAAC4I,OAAQ,EAC5BC,gCAAgC,QAChC1I,GAAG,EAAE,IAAI,CAACN,QAAS,EACnBiJ,aAAa,UACTpB,UAAU,GAEbrJ,OACI,CACM,CAAC,CAEpB,CAAC,CAAAyG,MAAA,CAWO2C,qBAAqB,GAA7B,SAAAA,sBAAA,EAGE,CACA,IAAMzH,KAAK,GAAG,IAAI,CAACA,KAAK,CACxB,IAAM+I,UAAU,GAAG,CAAC,CAAC/I,KAAK,CAACiF,QAAQ,IAAI,IAAI,CAAC3F,QAAQ,CAAC,CAAC,CAACyJ,UAAU,CACjE,IAAMpH,OAAO,GAAG,IAAI,CAACrC,QAAQ,CAAC,CAAC,CAACqC,OAAO,CAEvC,QAAQA,OAAO,GACb,KAAK,QAAQ,CACX,OAAO,EACLiG,UAAU,EAAE,EACVC,MAAM,EAAE,IAAI,EACZmB,cAAc,EAAE,IAAI,CAAC3G,wBAAwB,CAC/C,CAAC,EACDqF,UAAU,EAAE,EACVjI,MAAM,EAAE,IAAI,EACZsJ,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CAEH,KAAK,QAAQ,CACX,OAAO,EACLrB,UAAU,EAAE,EACVjI,MAAM,EAAE,KAAK,EACbsJ,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CAEH,KAAK,aAAa,CAClB,KAAK,OAAO,CACV,OAAO,EACLrB,UAAU,EAAE,EACVuB,YAAY,EAAE,IAAI,CAACzH,gBAAgB,EACnC0H,YAAY,EAAE,IAAI,CAACjH,gBAAgB,EACnC8G,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CACH,KAAK,QAAQ,CACX,OAAO,EACLrB,UAAU,EAAE,EACVqB,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CACH,KAAK,OAAO,CACV,OAAO,EACLnB,UAAU,EAAE,EACVC,MAAM,EAAE,IAAI,CAACrI,KAAK,CAACC,MAAM,EACzBuJ,cAAc,EAAE,IAAI,CAAC3G,wBAAwB,CAC/C,CAAC,EACDqF,UAAU,EAAE,EACVL,OAAO,EAAE,IAAI,CAACjF,WAAW,EACzB2G,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CAEH,KAAK,OAAO,CACV,OAAO,EACLrB,UAAU,EAAE,EACVyB,OAAO,EAAE,IAAI,CAAC3G,WAAW,EACzB4G,MAAM,EAAE,IAAI,CAAC3G,UAAU,EACvBsG,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CAEH,KAAK,aAAa,CAChB,OAAO,EACLnB,UAAU,EAAE,EACVC,MAAM,EAAE,IAAI,CAACrI,KAAK,CAACC,MAAM,EACzBuJ,cAAc,EAAE,IAAI,CAAC3G,wBAAwB,CAC/C,CAAC,EACDqF,UAAU,EAAE,EACVyB,OAAO,EAAE,IAAI,CAAC3G,WAAW,EACzB4G,MAAM,EAAE,IAAI,CAAC3G,UAAU,EACvBwG,YAAY,EAAE,IAAI,CAACzH,gBAAgB,EACnC0H,YAAY,EAAE,IAAI,CAACjH,gBAAgB,EACnC8G,UAAU,EAAVA,UAAU,CACZ,CAAC,CACH,CAAC,CAEH,QACE,MAAM,IAAIM,KAAK,CAAC,6BAA6B,GAAG1H,OAAO,CAAC,CAC5D,CACF,CAAC,CAAAmD,MAAA,CAMOjD,iBAAiB,GAAzB,SAAAA,kBAAA,EAA4B,CAC1B,IAAI,IAAI,CAACC,YAAY,EAAE,CACrB/E,YAAY,CAACuM,YAAY,CAAC,IAAI,CAACxH,YAAY,CAAC,CAC5C,IAAI,CAACA,YAAY,GAAG,IAAI,CAC1B,CACF,CAAC,CAAAgD,MAAA,CA4COxC,qBAAqB,GAA7B,SAAAA,sBAA8Bb,KAAY,EAAE,CAC1C,IAAI,IAAI,CAAC9B,cAAc,IAAIhC,YAAY,CAAC8D,KAAK,CAACG,MAAM,EAAE7E,YAAY,CAACwM,OAAO,CAAC,EAAE,CAC3E,OAAO,CAACnM,+BAA+B,CAACqE,KAAK,CAACG,MAAM,CAAC,CAAC,IAAI,CAACjC,cAAc,CAAC,CAC5E,CAEA,OAAO,IAAI,CACb,CAAC,QAAAnB,OAAA,GAtX0B3B,KAAK,CAAC2M,aAAa,GAAA9K,QAAA,CAChC+K,mBAAmB,GAAG,SAAS,EAAA/K,QAAA,CAC/BgL,WAAW,GAAG,SAAS,EAAAhL,QAAA,CAEvBa,YAAY,GAAiB,EACzCoC,OAAO,EAAE,OAAO,EAChBuG,iBAAiB,EAAE5K,SAAS,EAC5ByL,UAAU,EAAE,KAAK,EACjB/G,eAAe,EAAE9D,aAAa,CAChC,CAAC,EAAAQ,QAAA,CAUayD,KAAK,GAAGjE,aAAa,EAAAQ,QAAA,CACpBiI,0BAA0B,GAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,EAAAjI,QAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","globalObject","isNullable","ThemeFactory","Popup","RenderLayer","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","CloseButtonIcon","isInstanceOf","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","cx","isThemeGTE","withSize","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","DefaultPositions","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","filter","item","includes","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","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';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { withSize } from '../../lib/size/SizeDecorator';\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 DefaultPositions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n\n@rootNode\n@withSize\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private size!: SizeProp;\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 : DefaultPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\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={isThemeGTE(this.theme, '5.4') ? this.getPositions() : this.props.allowedPositions}\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[] =>\n this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => DefaultPositions.includes(item))\n : DefaultPositions;\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.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.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":[]}
@@ -30,7 +30,7 @@ export interface TooltipProps extends CommonProps {
30
30
  children?: React.ReactNode;
31
31
  /** Задает HTML-атрибут class. */
32
32
  className?: string;
33
- /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */
33
+ /** Отображает крестик для закрытия тултипа. По умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */
34
34
  closeButton?: boolean;
35
35
  /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */
36
36
  render?: Nullable<() => React.ReactNode>;
@@ -95,7 +95,6 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = withSize(_
95
95
  React.createElement(Popup, {
96
96
  opened: true,
97
97
  hasShadow: true,
98
- tryBestFallbackPosition: true,
99
98
  minWidth: "100%",
100
99
  anchorElement: anchorElement,
101
100
  priority: ZIndex.priorities.PopupMenu,