@skbkontur/react-ui 5.1.3 → 5.1.5

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 (210) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +5 -5
  3. package/cjs/components/Button/Button.styles.js +2 -1
  4. package/cjs/components/Button/Button.styles.js.map +1 -1
  5. package/cjs/components/Button/__docs__/Button.mdx +8 -9
  6. package/cjs/components/Calendar/__docs__/Calendar.mdx +8 -9
  7. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +4 -5
  8. package/cjs/components/Center/__docs__/Center.mdx +4 -5
  9. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +8 -9
  10. package/cjs/components/ComboBox/ComboBox.md +2 -2
  11. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +8 -9
  12. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +8 -9
  13. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +4 -5
  14. package/cjs/components/DateInput/__docs__/DateInput.mdx +4 -7
  15. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +8 -9
  16. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +2 -0
  17. package/cjs/components/DateRangePicker/DateRangePicker.js +42 -8
  18. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  19. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  20. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  21. package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +8 -12
  22. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  23. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  24. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +8 -9
  25. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  26. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +8 -9
  27. package/cjs/components/FileUploader/FileUploader.js +14 -2
  28. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  29. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +8 -9
  30. package/cjs/components/FxInput/__docs__/FxInput.mdx +8 -9
  31. package/cjs/components/Gapped/__docs__/Gapped.mdx +4 -5
  32. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +8 -9
  33. package/cjs/components/Group/Group.md +4 -4
  34. package/cjs/components/Group/__docs__/Group.mdx +4 -5
  35. package/cjs/components/Hint/__docs__/Hint.mdx +8 -9
  36. package/cjs/components/Input/Input.md +4 -5
  37. package/cjs/components/Input/__docs__/Input.mdx +8 -9
  38. package/cjs/components/Kebab/Kebab.md +32 -32
  39. package/cjs/components/Kebab/__docs__/Kebab.mdx +8 -9
  40. package/cjs/components/Link/__docs__/Link.mdx +8 -9
  41. package/cjs/components/Loader/__docs__/Loader.mdx +4 -7
  42. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +8 -9
  43. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +4 -5
  44. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +4 -5
  45. package/cjs/components/MenuItem/MenuItem.md +6 -6
  46. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +4 -5
  47. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +4 -5
  48. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +8 -9
  49. package/cjs/components/Modal/__docs__/Modal.mdx +8 -9
  50. package/cjs/components/Paging/__docs__/Paging.mdx +8 -9
  51. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +8 -9
  52. package/cjs/components/Radio/__docs__/Radio.mdx +8 -9
  53. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +8 -9
  54. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +4 -5
  55. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +4 -5
  56. package/cjs/components/Select/Select.md +3 -3
  57. package/cjs/components/Select/__docs__/Select.mdx +8 -9
  58. package/cjs/components/SidePage/__docs__/SidePage.mdx +8 -9
  59. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +1 -0
  60. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  61. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  62. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +8 -9
  63. package/cjs/components/Spinner/__docs__/Spinner.mdx +8 -9
  64. package/cjs/components/Sticky/__docs__/Sticky.mdx +4 -5
  65. package/cjs/components/Switcher/__docs__/Switcher.mdx +8 -9
  66. package/cjs/components/Tabs/__docs__/Tab.mdx +8 -9
  67. package/cjs/components/Tabs/__docs__/Tabs.mdx +8 -9
  68. package/cjs/components/Textarea/__docs__/Textarea.mdx +8 -9
  69. package/cjs/components/Toast/Toast.d.ts +4 -2
  70. package/cjs/components/Toast/Toast.js +16 -2
  71. package/cjs/components/Toast/Toast.js.map +1 -1
  72. package/cjs/components/Toast/__docs__/Toast.mdx +8 -9
  73. package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +6 -4
  74. package/cjs/components/Toggle/__docs__/Toggle.mdx +8 -9
  75. package/cjs/components/Token/Token.md +0 -83
  76. package/cjs/components/Token/__docs__/Token.mdx +8 -9
  77. package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
  78. package/cjs/components/TokenInput/TokenInput.js +2 -1
  79. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  80. package/cjs/components/TokenInput/TokenInput.md +2 -33
  81. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  82. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  83. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  84. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +28 -0
  85. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +8 -9
  86. package/cjs/components/Tooltip/Tooltip.md +8 -8
  87. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +8 -9
  88. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  89. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +4 -5
  90. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
  91. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  92. package/cjs/internal/Popup/Popup.d.ts +2 -1
  93. package/cjs/internal/Popup/Popup.js +6 -3
  94. package/cjs/internal/Popup/Popup.js.map +1 -1
  95. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  96. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  97. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  98. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  99. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  100. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  101. package/cjs/lib/rootNode/getRootNode.js +5 -12
  102. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  103. package/cjs/lib/utils.d.ts +1 -0
  104. package/cjs/lib/utils.js +5 -1
  105. package/cjs/lib/utils.js.map +1 -1
  106. package/components/Autocomplete/__docs__/Autocomplete.mdx +5 -5
  107. package/components/Button/Button.styles/Button.styles.js +1 -1
  108. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  109. package/components/Button/__docs__/Button.mdx +8 -9
  110. package/components/Calendar/__docs__/Calendar.mdx +8 -9
  111. package/components/Calendar/__docs__/CalendarDay.mdx +4 -5
  112. package/components/Center/__docs__/Center.mdx +4 -5
  113. package/components/Checkbox/__docs__/Checkbox.mdx +8 -9
  114. package/components/ComboBox/ComboBox.md +2 -2
  115. package/components/ComboBox/__docs__/ComboBox.mdx +8 -9
  116. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +8 -9
  117. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +4 -5
  118. package/components/DateInput/__docs__/DateInput.mdx +4 -7
  119. package/components/DatePicker/__docs__/DatePicker.mdx +8 -9
  120. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +31 -11
  121. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  122. package/components/DateRangePicker/DateRangePicker.d.ts +2 -0
  123. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  124. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  125. package/components/DateRangePicker/__docs__/DateRangePicker.mdx +8 -12
  126. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  127. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  128. package/components/Dropdown/__docs__/Dropdown.mdx +8 -9
  129. package/components/DropdownMenu/DropdownMenu.md +8 -8
  130. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +8 -9
  131. package/components/FileUploader/FileUploader/FileUploader.js +7 -2
  132. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  133. package/components/FileUploader/__docs__/FileUploader.mdx +8 -9
  134. package/components/FxInput/__docs__/FxInput.mdx +8 -9
  135. package/components/Gapped/__docs__/Gapped.mdx +4 -5
  136. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +8 -9
  137. package/components/Group/Group.md +4 -4
  138. package/components/Group/__docs__/Group.mdx +4 -5
  139. package/components/Hint/__docs__/Hint.mdx +8 -9
  140. package/components/Input/Input.md +4 -5
  141. package/components/Input/__docs__/Input.mdx +8 -9
  142. package/components/Kebab/Kebab.md +32 -32
  143. package/components/Kebab/__docs__/Kebab.mdx +8 -9
  144. package/components/Link/__docs__/Link.mdx +8 -9
  145. package/components/Loader/__docs__/Loader.mdx +4 -7
  146. package/components/MaskedInput/__docs__/MaskedInput.mdx +8 -9
  147. package/components/MenuFooter/__docs__/MenuFooter.mdx +4 -5
  148. package/components/MenuHeader/__docs__/MenuHeader.mdx +4 -5
  149. package/components/MenuItem/MenuItem.md +6 -6
  150. package/components/MenuItem/__docs__/MenuItem.mdx +4 -5
  151. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +4 -5
  152. package/components/MiniModal/__docs__/MiniModal.mdx +8 -9
  153. package/components/Modal/__docs__/Modal.mdx +8 -9
  154. package/components/Paging/__docs__/Paging.mdx +8 -9
  155. package/components/PasswordInput/__docs__/PasswordInput.mdx +8 -9
  156. package/components/Radio/__docs__/Radio.mdx +8 -9
  157. package/components/RadioGroup/__docs__/RadioGroup.mdx +8 -9
  158. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +4 -5
  159. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +4 -5
  160. package/components/Select/Select.md +3 -3
  161. package/components/Select/__docs__/Select.mdx +8 -9
  162. package/components/SidePage/__docs__/SidePage.mdx +8 -9
  163. package/components/SidePage/__docs__/SidePageBody.mdx +1 -0
  164. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  165. package/components/SingleToast/SingleToast.d.ts +3 -3
  166. package/components/SingleToast/__docs__/SingleToast.mdx +8 -9
  167. package/components/Spinner/__docs__/Spinner.mdx +8 -9
  168. package/components/Sticky/__docs__/Sticky.mdx +4 -5
  169. package/components/Switcher/__docs__/Switcher.mdx +8 -9
  170. package/components/Tabs/__docs__/Tab.mdx +8 -9
  171. package/components/Tabs/__docs__/Tabs.mdx +8 -9
  172. package/components/Textarea/__docs__/Textarea.mdx +8 -9
  173. package/components/Toast/Toast/Toast.js +6 -8
  174. package/components/Toast/Toast/Toast.js.map +1 -1
  175. package/components/Toast/Toast.d.ts +4 -2
  176. package/components/Toast/__docs__/Toast.mdx +8 -9
  177. package/components/Toggle/__creevey__/Toggle.creevey.mts +6 -4
  178. package/components/Toggle/__docs__/Toggle.mdx +8 -9
  179. package/components/Token/Token.md +0 -83
  180. package/components/Token/__docs__/Token.mdx +8 -9
  181. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  182. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  183. package/components/TokenInput/TokenInput.d.ts +2 -2
  184. package/components/TokenInput/TokenInput.md +2 -33
  185. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  186. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  187. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  188. package/components/TokenInput/__creevey__/TokenInput.creevey.mts +28 -0
  189. package/components/TokenInput/__docs__/TokenInput.mdx +8 -9
  190. package/components/Tooltip/Tooltip.md +8 -8
  191. package/components/Tooltip/__docs__/Tooltip.mdx +8 -9
  192. package/components/TooltipMenu/TooltipMenu.md +12 -12
  193. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +4 -5
  194. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  195. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  196. package/internal/Popup/Popup/Popup.js +9 -5
  197. package/internal/Popup/Popup/Popup.js.map +1 -1
  198. package/internal/Popup/Popup.d.ts +2 -1
  199. package/internal/ThemePlayground/Playground/Playground.js +13 -13
  200. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  201. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  202. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  203. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  204. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  205. package/lib/rootNode/getRootNode/getRootNode.js +5 -12
  206. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  207. package/lib/utils/utils.js +3 -0
  208. package/lib/utils/utils.js.map +1 -1
  209. package/lib/utils.d.ts +1 -0
  210. package/package.json +2 -3
@@ -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","_inheritsLoose","push","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","onPush","_ref","_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"],"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 { 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\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\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\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 * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\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 private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n }\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close() {\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 };\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`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\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 } = 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 };\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"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,eAAe,QAAQ,wBAAwB;;AAEvE,SAASC,YAAY,QAAQ,0BAA0B;;AAEvD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,eAAe,QAAQ,gCAAgC;;;AAGhE,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,SAAS,QAAQ,8BAA8B;;AAExD,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C,SAASC,MAAM,QAAQ,gBAAgB;;AAEvC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,WAAW,QAAQ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2B3C,OAAO,IAAMC,aAAa,GAAG;EAC3BC,WAAW,EAAE,aAAa;EAC1BC,SAAS,EAAE,iBAAiB;EAC5BC,MAAM,EAAE,mBAAmB;EAC3BC,KAAK,EAAE;AACT,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,KAAK,GADjBT,QAAQ,CAAAU,MAAA,IAAAC,MAAA,0BAAAC,gBAAA;;;;;;;;;;;;;;;;;;;;;EAsBP,SAAAH,MAAYI,KAAiB,EAAE,KAAAC,KAAA;IAC7BA,KAAA,GAAAF,gBAAA,CAAAG,IAAA,OAAMF,KAAK,CAAC,SAACC,KAAA,CAHPE,OAAO,gBAAGzB,KAAK,CAAC0B,SAAS,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDhD;AACF;AACA,OAFEH,KAAA;IAGON,KAAK,GAAG,YAAM;MACnBU,UAAU,CAACJ,KAAA,CAAKD,KAAK,CAACM,OAAO,EAAEL,KAAA,CAAKM,KAAK,CAACC,YAAY,EAAEP,KAAA,CAAKM,KAAK,CAACb,MAAM,CAAC;MAC1EO,KAAA,CAAKQ,QAAQ,CAAC,EAAED,YAAY,EAAE,IAAI,EAAEd,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,CAAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2COS,UAAU,GAAG,UAACC,OAA0B,EAAK;MACnDV,KAAA,CAAKW,WAAW,CAACD,OAAO,CAAC;MACzB;MACAV,KAAA,CAAKE,OAAO,CAACU,OAAO,GAAGF,OAAO;IAChC,CAAC,CAAAV,KAAA;;IAEOa,WAAW,GAAG,YAAM;MAC1B,IAAIb,KAAA,CAAKc,QAAQ,EAAE;QACjBlC,YAAY,CAACmC,YAAY,CAACf,KAAA,CAAKc,QAAQ,CAAC;QACxCd,KAAA,CAAKc,QAAQ,GAAG,IAAI;MACtB;IACF,CAAC,CAAAd,KAAA;;IAEOgB,SAAS,GAAG,YAAM,KAAAC,oBAAA;MACxBjB,KAAA,CAAKa,WAAW,CAAC,CAAC;;MAElB,IAAIK,QAAQ,GAAGlB,KAAA,CAAKM,KAAK,CAACb,MAAM,GAAG,IAAI,GAAG,IAAI;MAC9CyB,QAAQ,IAAAD,oBAAA,GAAGjB,KAAA,CAAKM,KAAK,CAACY,QAAQ,YAAAD,oBAAA,GAAIC,QAAQ;MAC1ClB,KAAA,CAAKc,QAAQ,GAAGlC,YAAY,CAACuC,UAAU,CAACnB,KAAA,CAAKN,KAAK,EAAEwB,QAAQ,CAAC;IAC/D,CAAC,CAAAlB,KAAA;;IAEOoB,SAAS,GAAG,UAACV,OAAkB,EAAK;MAC1CV,KAAA,CAAKqB,MAAM,GAAGX,OAAO;IACvB,CAAC,CA7HCV,KAAA,CAAKM,KAAK,GAAG,EACXC,YAAY,EAAE,IAAI,EAClBd,MAAM,EAAE,IAAI,EACZ6B,EAAE,EAAE,CAAC,EACLJ,QAAQ,EAAE,IAAI,EACdK,aAAa,EAAE,KAAK,CACtB,CAAC,CAAC,OAAAvB,KAAA,CACJ,CAACwB,cAAA,CAAA7B,KAAA,EAAAG,gBAAA,GAvBD,iEAAAH,KAAA,CACc8B,IAAI,GAAlB,SAAAA,KAAmBlB,YAAoB,EAAEd,MAAyB,EAAEyB,QAAiB,EAAEK,aAAuB,EAAE,CAC9GlC,WAAW,CAACoC,IAAI,CAAClB,YAAY,EAAEd,MAAM,EAAEyB,QAAQ,EAAEK,aAAa,CAAC,CACjE,CAAC,CAED,oEAAA5B,KAAA,CACcD,KAAK,GAAnB,SAAAA,MAAA,EAAsB,CACpBL,WAAW,CAACK,KAAK,CAAC,CAAC,CACrB,CAAC,KAAAgC,MAAA,GAAA/B,KAAA,CAAAgC,SAAA,CAAAD,MAAA,CAiBME,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5B,IAAI,CAACf,WAAW,CAAC,CAAC,CACpB,CAAC,CAAAa,MAAA,CAEMG,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACErD,KAAA,CAAAsD,aAAA,CAACjD,YAAY,CAACkD,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGH,MAAI,CAAC/B,KAAK,CAACkC,KAAK,GAAGpD,YAAY,CAACqD,MAAM,CAACJ,MAAI,CAAC/B,KAAK,CAACkC,KAAK,EAAWA,KAAK,CAAC,GAAGA,KAAK,CAC7F,oBACExD,KAAA,CAAAsD,aAAA,CAACjD,YAAY,CAACqD,QAAQ,IAACC,KAAK,EAAEN,MAAI,CAACG,KAAM,iBACvCxD,KAAA,CAAAsD,aAAA,CAAChD,eAAe,qBACdN,KAAA,CAAAsD,aAAA,CAACpD,eAAe,QAAEmD,MAAI,CAACO,YAAY,CAAC,CAAmB,CACxC,CACI,CAAC,CAE5B,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAZE,CAAAX,MAAA,CAaOD,IAAI,GAAX,SAAAA,KAAYlB,YAAoB,EAAEd,MAAyB,EAAEyB,QAAiB,EAAEK,aAAuB,EAAE,CACvG,IAAI,IAAI,CAACjB,KAAK,CAACC,YAAY,EAAE,CAC3B,IAAI,CAACb,KAAK,CAAC,CAAC,CACd,CAEAU,UAAU,CAAC,IAAI,CAACL,KAAK,CAACuC,MAAM,EAAE/B,YAAY,EAAEd,MAAM,CAAC,CAEnD,IAAI,CAACe,QAAQ,CAAC,UAAA+B,IAAA,OAAGjB,EAAE,GAAAiB,IAAA,CAAFjB,EAAE,QAAQ,EAAEf,YAAY,EAAZA,YAAY,EAAEd,MAAM,EAANA,MAAM,EAAE6B,EAAE,EAAEA,EAAE,GAAG,CAAC,EAAEJ,QAAQ,EAARA,QAAQ,EAAEK,aAAa,EAAbA,aAAa,CAAC,CAAC,EAAC,EAAE,IAAI,CAACP,SAAS,CAAC,CAC5G,CAAC,CAAAU,MAAA,CAUOW,YAAY,GAApB,SAAAA,aAAA,EAAuB,CACrB,IAAAG,WAAA,GAAoD,IAAI,CAAClC,KAAK,CAAtDC,YAAY,GAAAiC,WAAA,CAAZjC,YAAY,CAAEd,MAAM,GAAA+C,WAAA,CAAN/C,MAAM,CAAE6B,EAAE,GAAAkB,WAAA,CAAFlB,EAAE,CAAEC,aAAa,GAAAiB,WAAA,CAAbjB,aAAa,CAE/C,IAAI,CAAChB,YAAY,EAAE,CACjB,OAAO,IAAI,CACb,CAEA,IAAMkC,UAA0B,GAAG,EACjCC,YAAY,EAAE,IAAI,CAAC7B,WAAW,EAC9B8B,YAAY,EAAE,IAAI,CAAC3B,SAAS,EAC5BX,OAAO,EAAE,IAAI,CAACX,KAAK,EACnBkD,QAAQ,EAAErC,YAAY,EACtB,YAAY,EAAE,IAAI,CAACR,KAAK,CAAC,YAAY,CAAC,EACtCN,MAAM,EAANA,MAAM,EACN8B,aAAa,EAAbA,aAAa,CACf,CAAC,CAED,oBACE9C,KAAA,CAAAsD,aAAA,CAACrD,aAAa,IACZmE,GAAG,EAAEvB,EAAG,EACRwB,UAAU,EAAE,EACVC,KAAK,EAAE5D,MAAM,CAAC4D,KAAK,CAAC,CAAC,EACrBC,WAAW,EAAE7D,MAAM,CAAC6D,WAAW,CAAC,CAAC,EACjCC,IAAI,EAAE9D,MAAM,CAAC8D,IAAI,CAAC,CAAC,EACnBC,UAAU,EAAE/D,MAAM,CAAC+D,UAAU,CAAC,CAAC,CACjC,CAAE,EACFC,OAAO,EAAE,EACPJ,KAAK,EAAE,GAAG,EACVE,IAAI,EAAE,GAAG,CACX,CAAE,EACFF,KAAK,EAAE,CAAC9D,SAAU,EAClBgE,IAAI,EAAE,CAAChE,SAAU,EACjBmE,OAAO,EAAE,IAAI,CAAClD,OAAQ,iBAEtBzB,KAAA,CAAAsD,aAAA,CAAC/C,aAAa,EAAAqE,QAAA,GAACC,WAAW,EAAE,IAAI,CAAC7C,UAAW,IAAK,IAAI,CAACV,KAAK,gBACzDtB,KAAA,CAAAsD,aAAA,CAAC3C,SAAS,EAAAiE,QAAA,GAACE,GAAG,EAAE,IAAI,CAACnC,SAAU,IAAKqB,UAAU,CAAG,CACpC,CACF,CAAC,CAEpB,CAAC,QAAA9C,KAAA,GA3HwBlB,KAAK,CAAC+E,SAAS,GAAA3D,MAAA,CAC1B4D,mBAAmB,GAAG,OAAO,EAAA5D,MAAA,CAC7B6D,WAAW,GAAG,OAAO,EAAA7D,MAAA,MAAAD,MAAA,CAqJrC,SAASQ,UAAUA,CAACuD,EAA8B,EAAkB,CAClE,IAAIA,EAAE,EAAE,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAD6CC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA,GAEvDN,EAAE,CAAAO,KAAA,SAAIH,IAAI,CAAC,CACb,CACF","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","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","onPush","_ref","_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"],"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 { 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\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\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\nexport type ToastPush = (\n notification: string,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => 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 * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\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 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: string,\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 };\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`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\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 } = 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 };\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"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,8 @@ export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonPr
24
24
  /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */
25
25
  theme?: ThemeIn;
26
26
  }
27
+ export type ToastPush = (notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
28
+ export type ToastClose = () => void;
27
29
  export declare const ToastDataTids: {
28
30
  readonly toastStatic: "StaticToast";
29
31
  readonly toastView: "ToastView__root";
@@ -45,9 +47,9 @@ export declare class Toast extends React.Component<ToastProps, ToastState> {
45
47
  private setRootNode;
46
48
  private theme;
47
49
  /** @deprecated use `push` method in ref or `SingleToast.push` */
48
- static push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean): void;
50
+ static push: ToastPush;
49
51
  /** @deprecated use `close` method in ref or `SingleToast.close` */
50
- static close(): void;
52
+ static close: ToastClose;
51
53
  _toast: Nullable<ToastView>;
52
54
  private _timeout;
53
55
  private rootRef;
@@ -1,14 +1,16 @@
1
1
  import * as ToastStories from './Toast.docs.stories.tsx';
2
2
  import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
3
  import { Meta } from '../../../.storybook/Meta';
4
+ import { Header } from '../../../.storybook/Header';
5
+ import { PropsTable } from '../../../.storybook/PropsTable';
4
6
 
5
7
  <Meta of={ToastStories} />
6
8
 
7
- # Toast
8
-
9
- [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/popup-elements/toast/)
10
-
11
- [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A5203)
9
+ <Header
10
+ component="Toast"
11
+ guides="https://guides.kontur.ru/components/popup-elements/toast/"
12
+ figma="https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A5203"
13
+ />
12
14
 
13
15
  <Description />
14
16
 
@@ -18,10 +20,7 @@ import { Meta } from '../../../.storybook/Meta';
18
20
 
19
21
  ## Пропы
20
22
 
21
- <details>
22
- <summary>Открыть таблицу с пропами</summary>
23
- <ArgTypes />
24
- </details>
23
+ <PropsTable />
25
24
 
26
25
  ## Примеры использования
27
26
 
@@ -1,6 +1,8 @@
1
1
  import { story, kind, test } from 'creevey';
2
2
 
3
3
  import { delay } from '../../../lib/delay';
4
+ import { ToggleDataTids } from '../Toggle';
5
+ import { TooltipDataTids } from '../../Tooltip';
4
6
 
5
7
  kind('Toggle', () => {
6
8
  story('Plain', ({ setStoryParameters }) => {
@@ -20,7 +22,7 @@ kind('Toggle', () => {
20
22
  bridge: true,
21
23
  })
22
24
  .move({
23
- origin: context.webdriver.findElement({ css: 'label' }),
25
+ origin: context.webdriver.findElement({ css: `[data-tid="${ToggleDataTids.root}"]` }),
24
26
  })
25
27
  .press()
26
28
  .perform();
@@ -33,7 +35,7 @@ kind('Toggle', () => {
33
35
  .actions({
34
36
  bridge: true,
35
37
  })
36
- .click(context.webdriver.findElement({ css: 'label' }))
38
+ .click(context.webdriver.findElement({ css: `[data-tid="${ToggleDataTids.root}"]` }))
37
39
  .perform();
38
40
  await delay(1000);
39
41
  await context.matchImage(await context.takeScreenshot(), 'clicked');
@@ -47,7 +49,7 @@ kind('Toggle', () => {
47
49
  bridge: true,
48
50
  })
49
51
  .move({
50
- origin: context.webdriver.findElement({ css: 'label' }),
52
+ origin: context.webdriver.findElement({ css: `[data-tid="${TooltipDataTids.root}"]` }),
51
53
  })
52
54
  .press()
53
55
  .perform();
@@ -78,7 +80,7 @@ kind('Toggle', () => {
78
80
  .actions({
79
81
  bridge: true,
80
82
  })
81
- .click(context.webdriver.findElement({ css: 'label' }))
83
+ .click(context.webdriver.findElement({ css: `[data-tid="${ToggleDataTids.root}"]` }))
82
84
  .perform();
83
85
  await delay(1000);
84
86
  await context.matchImage(await context.takeScreenshot(), 'clicked');
@@ -1,14 +1,16 @@
1
1
  import * as ToggleStories from './Toggle.docs.stories.tsx';
2
2
  import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
3
  import { Meta } from '../../../.storybook/Meta';
4
+ import { Header } from '../../../.storybook/Header';
5
+ import { PropsTable } from '../../../.storybook/PropsTable';
4
6
 
5
7
  <Meta of={ToggleStories} />
6
8
 
7
- # Toggle
8
-
9
- [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/selection-elements/toggle/)
10
-
11
- [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A9888)
9
+ <Header
10
+ component="Toggle"
11
+ guides="https://guides.kontur.ru/components/selection-elements/toggle/"
12
+ figma="https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A9888"
13
+ />
12
14
 
13
15
  <Description />
14
16
 
@@ -18,10 +20,7 @@ import { Meta } from '../../../.storybook/Meta';
18
20
 
19
21
  ## Пропы
20
22
 
21
- <details>
22
- <summary>Открыть таблицу с пропами</summary>
23
- <ArgTypes />
24
- </details>
23
+ <PropsTable />
25
24
 
26
25
  ## Примеры использования
27
26
 
@@ -6,89 +6,6 @@ import { Token } from '@skbkontur/react-ui';
6
6
  <Token>Example</Token>;
7
7
  ```
8
8
 
9
- ### Цвет токена
10
- У разных токенов может быть разный цвет.
11
-
12
- ```jsx harmony
13
- import { Gapped, Token } from '@skbkontur/react-ui';
14
-
15
- const colors = {
16
- default: {
17
- idle: 'defaultIdle',
18
- active: 'defaultActive',
19
- },
20
- gray: {
21
- idle: 'grayIdle',
22
- active: 'grayActive',
23
- },
24
- blue: {
25
- idle: 'blueIdle',
26
- active: 'blueActive',
27
- },
28
- green: {
29
- idle: 'greenIdle',
30
- active: 'greenActive',
31
- },
32
- yellow: {
33
- idle: 'yellowIdle',
34
- active: 'yellowActive',
35
- },
36
- red: {
37
- idle: 'redIdle',
38
- active: 'redActive',
39
- },
40
- mono: {
41
- idle: 'white',
42
- active: 'black',
43
- },
44
- };
45
-
46
- <Gapped gap={20} vertical>
47
- <Gapped gap={10}>
48
- <Token colors={colors.default}>Default</Token>
49
- <Token isActive colors={colors.default}>
50
- Default
51
- </Token>
52
- </Gapped>
53
- <Gapped gap={10}>
54
- <Token colors={colors.gray}>Gray</Token>
55
- <Token isActive colors={colors.gray}>
56
- Gray
57
- </Token>
58
- </Gapped>
59
- <Gapped gap={10}>
60
- <Token colors={colors.blue}>Blue</Token>
61
- <Token isActive colors={colors.blue}>
62
- Blue
63
- </Token>
64
- </Gapped>
65
- <Gapped gap={10}>
66
- <Token colors={colors.green}>Green</Token>
67
- <Token isActive colors={colors.green}>
68
- Green
69
- </Token>
70
- </Gapped>
71
- <Gapped gap={10}>
72
- <Token colors={colors.yellow}>Yellow</Token>
73
- <Token isActive colors={colors.yellow}>
74
- Yellow
75
- </Token>
76
- </Gapped>
77
- <Gapped gap={10}>
78
- <Token colors={colors.red}>Red</Token>
79
- <Token isActive colors={colors.red}>
80
- Red
81
- </Token>
82
- </Gapped>
83
- <Gapped gap={10}>
84
- <Token colors={colors.mono}>Monochrome</Token>
85
- <Token isActive colors={colors.mono}>
86
- Monochrome
87
- </Token>
88
- </Gapped>
89
- </Gapped>;
90
- ```
91
-
92
9
  ### Состояние валидации
93
10
 
94
11
  ```jsx harmony
@@ -1,14 +1,16 @@
1
1
  import * as TokenStories from './Token.docs.stories.tsx';
2
2
  import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
3
  import { Meta } from '../../../.storybook/Meta';
4
+ import { Header } from '../../../.storybook/Header';
5
+ import { PropsTable } from '../../../.storybook/PropsTable';
4
6
 
5
7
  <Meta of={TokenStories} />
6
8
 
7
- # Token
8
-
9
- [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/tokens/)
10
-
11
- [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A2955)
9
+ <Header
10
+ component="Token"
11
+ guides="https://guides.kontur.ru/components/input-fields/tokens/"
12
+ figma="https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A2955"
13
+ />
12
14
 
13
15
  <Description />
14
16
 
@@ -18,10 +20,7 @@ import { Meta } from '../../../.storybook/Meta';
18
20
 
19
21
  ## Пропы
20
22
 
21
- <details>
22
- <summary>Открыть таблицу с пропами</summary>
23
- <ArgTypes />
24
- </details>
23
+ <PropsTable />
25
24
 
26
25
  ## Примеры использования
27
26
 
@@ -968,7 +968,8 @@ export var TokenInput = (_dec = locale('TokenInput', TokenInputLocaleHelper), ro
968
968
  loading: loading,
969
969
  opened: showMenu,
970
970
  maxMenuHeight: maxMenuHeight,
971
- anchorElement: menuAlign === 'cursor' ? this.input : this.wrapper,
971
+ anchorElementForCursor: this.input,
972
+ anchorElementRoot: this.wrapper,
972
973
  renderNotFound: renderNotFound,
973
974
  renderItem: renderItem,
974
975
  onValueChange: this.selectItem,