@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.
- package/CHANGELOG.md +29 -0
- package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +5 -5
- package/cjs/components/Button/Button.styles.js +2 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/__docs__/Button.mdx +8 -9
- package/cjs/components/Calendar/__docs__/Calendar.mdx +8 -9
- package/cjs/components/Calendar/__docs__/CalendarDay.mdx +4 -5
- package/cjs/components/Center/__docs__/Center.mdx +4 -5
- package/cjs/components/Checkbox/__docs__/Checkbox.mdx +8 -9
- package/cjs/components/ComboBox/ComboBox.md +2 -2
- package/cjs/components/ComboBox/__docs__/ComboBox.mdx +8 -9
- package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +8 -9
- package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +4 -5
- package/cjs/components/DateInput/__docs__/DateInput.mdx +4 -7
- package/cjs/components/DatePicker/__docs__/DatePicker.mdx +8 -9
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/cjs/components/DateRangePicker/DateRangePicker.js +42 -8
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +8 -12
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/cjs/components/Dropdown/__docs__/Dropdown.mdx +8 -9
- package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
- package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +8 -9
- package/cjs/components/FileUploader/FileUploader.js +14 -2
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/__docs__/FileUploader.mdx +8 -9
- package/cjs/components/FxInput/__docs__/FxInput.mdx +8 -9
- package/cjs/components/Gapped/__docs__/Gapped.mdx +4 -5
- package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +8 -9
- package/cjs/components/Group/Group.md +4 -4
- package/cjs/components/Group/__docs__/Group.mdx +4 -5
- package/cjs/components/Hint/__docs__/Hint.mdx +8 -9
- package/cjs/components/Input/Input.md +4 -5
- package/cjs/components/Input/__docs__/Input.mdx +8 -9
- package/cjs/components/Kebab/Kebab.md +32 -32
- package/cjs/components/Kebab/__docs__/Kebab.mdx +8 -9
- package/cjs/components/Link/__docs__/Link.mdx +8 -9
- package/cjs/components/Loader/__docs__/Loader.mdx +4 -7
- package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +8 -9
- package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +4 -5
- package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +4 -5
- package/cjs/components/MenuItem/MenuItem.md +6 -6
- package/cjs/components/MenuItem/__docs__/MenuItem.mdx +4 -5
- package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +4 -5
- package/cjs/components/MiniModal/__docs__/MiniModal.mdx +8 -9
- package/cjs/components/Modal/__docs__/Modal.mdx +8 -9
- package/cjs/components/Paging/__docs__/Paging.mdx +8 -9
- package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +8 -9
- package/cjs/components/Radio/__docs__/Radio.mdx +8 -9
- package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +8 -9
- package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +4 -5
- package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +4 -5
- package/cjs/components/Select/Select.md +3 -3
- package/cjs/components/Select/__docs__/Select.mdx +8 -9
- package/cjs/components/SidePage/__docs__/SidePage.mdx +8 -9
- package/cjs/components/SidePage/__docs__/SidePageBody.mdx +1 -0
- package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/SingleToast/__docs__/SingleToast.mdx +8 -9
- package/cjs/components/Spinner/__docs__/Spinner.mdx +8 -9
- package/cjs/components/Sticky/__docs__/Sticky.mdx +4 -5
- package/cjs/components/Switcher/__docs__/Switcher.mdx +8 -9
- package/cjs/components/Tabs/__docs__/Tab.mdx +8 -9
- package/cjs/components/Tabs/__docs__/Tabs.mdx +8 -9
- package/cjs/components/Textarea/__docs__/Textarea.mdx +8 -9
- package/cjs/components/Toast/Toast.d.ts +4 -2
- package/cjs/components/Toast/Toast.js +16 -2
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/__docs__/Toast.mdx +8 -9
- package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +6 -4
- package/cjs/components/Toggle/__docs__/Toggle.mdx +8 -9
- package/cjs/components/Token/Token.md +0 -83
- package/cjs/components/Token/__docs__/Token.mdx +8 -9
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
- package/cjs/components/TokenInput/TokenInput.js +2 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +2 -33
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +28 -0
- package/cjs/components/TokenInput/__docs__/TokenInput.mdx +8 -9
- package/cjs/components/Tooltip/Tooltip.md +8 -8
- package/cjs/components/Tooltip/__docs__/Tooltip.mdx +8 -9
- package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
- package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +4 -5
- package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +2 -1
- package/cjs/internal/Popup/Popup.js +6 -3
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +16 -16
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +5 -12
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/utils.d.ts +1 -0
- package/cjs/lib/utils.js +5 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/__docs__/Autocomplete.mdx +5 -5
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/__docs__/Button.mdx +8 -9
- package/components/Calendar/__docs__/Calendar.mdx +8 -9
- package/components/Calendar/__docs__/CalendarDay.mdx +4 -5
- package/components/Center/__docs__/Center.mdx +4 -5
- package/components/Checkbox/__docs__/Checkbox.mdx +8 -9
- package/components/ComboBox/ComboBox.md +2 -2
- package/components/ComboBox/__docs__/ComboBox.mdx +8 -9
- package/components/CurrencyInput/__docs__/CurrencyInput.mdx +8 -9
- package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +4 -5
- package/components/DateInput/__docs__/DateInput.mdx +4 -7
- package/components/DatePicker/__docs__/DatePicker.mdx +8 -9
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +31 -11
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/__docs__/DateRangePicker.mdx +8 -12
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
- package/components/Dropdown/__docs__/Dropdown.mdx +8 -9
- package/components/DropdownMenu/DropdownMenu.md +8 -8
- package/components/DropdownMenu/__docs__/DropdownMenu.mdx +8 -9
- package/components/FileUploader/FileUploader/FileUploader.js +7 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/__docs__/FileUploader.mdx +8 -9
- package/components/FxInput/__docs__/FxInput.mdx +8 -9
- package/components/Gapped/__docs__/Gapped.mdx +4 -5
- package/components/GlobalLoader/__docs__/GlobalLoader.mdx +8 -9
- package/components/Group/Group.md +4 -4
- package/components/Group/__docs__/Group.mdx +4 -5
- package/components/Hint/__docs__/Hint.mdx +8 -9
- package/components/Input/Input.md +4 -5
- package/components/Input/__docs__/Input.mdx +8 -9
- package/components/Kebab/Kebab.md +32 -32
- package/components/Kebab/__docs__/Kebab.mdx +8 -9
- package/components/Link/__docs__/Link.mdx +8 -9
- package/components/Loader/__docs__/Loader.mdx +4 -7
- package/components/MaskedInput/__docs__/MaskedInput.mdx +8 -9
- package/components/MenuFooter/__docs__/MenuFooter.mdx +4 -5
- package/components/MenuHeader/__docs__/MenuHeader.mdx +4 -5
- package/components/MenuItem/MenuItem.md +6 -6
- package/components/MenuItem/__docs__/MenuItem.mdx +4 -5
- package/components/MenuSeparator/__docs__/MenuSeparator.mdx +4 -5
- package/components/MiniModal/__docs__/MiniModal.mdx +8 -9
- package/components/Modal/__docs__/Modal.mdx +8 -9
- package/components/Paging/__docs__/Paging.mdx +8 -9
- package/components/PasswordInput/__docs__/PasswordInput.mdx +8 -9
- package/components/Radio/__docs__/Radio.mdx +8 -9
- package/components/RadioGroup/__docs__/RadioGroup.mdx +8 -9
- package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +4 -5
- package/components/ScrollContainer/__docs__/ScrollContainer.mdx +4 -5
- package/components/Select/Select.md +3 -3
- package/components/Select/__docs__/Select.mdx +8 -9
- package/components/SidePage/__docs__/SidePage.mdx +8 -9
- package/components/SidePage/__docs__/SidePageBody.mdx +1 -0
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +3 -3
- package/components/SingleToast/__docs__/SingleToast.mdx +8 -9
- package/components/Spinner/__docs__/Spinner.mdx +8 -9
- package/components/Sticky/__docs__/Sticky.mdx +4 -5
- package/components/Switcher/__docs__/Switcher.mdx +8 -9
- package/components/Tabs/__docs__/Tab.mdx +8 -9
- package/components/Tabs/__docs__/Tabs.mdx +8 -9
- package/components/Textarea/__docs__/Textarea.mdx +8 -9
- package/components/Toast/Toast/Toast.js +6 -8
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +4 -2
- package/components/Toast/__docs__/Toast.mdx +8 -9
- package/components/Toggle/__creevey__/Toggle.creevey.mts +6 -4
- package/components/Toggle/__docs__/Toggle.mdx +8 -9
- package/components/Token/Token.md +0 -83
- package/components/Token/__docs__/Token.mdx +8 -9
- package/components/TokenInput/TokenInput/TokenInput.js +2 -1
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -2
- package/components/TokenInput/TokenInput.md +2 -33
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/components/TokenInput/__creevey__/TokenInput.creevey.mts +28 -0
- package/components/TokenInput/__docs__/TokenInput.mdx +8 -9
- package/components/Tooltip/Tooltip.md +8 -8
- package/components/Tooltip/__docs__/Tooltip.mdx +8 -9
- package/components/TooltipMenu/TooltipMenu.md +12 -12
- package/components/TooltipMenu/__docs__/TooltipMenu.mdx +4 -5
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +9 -5
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +2 -1
- package/internal/ThemePlayground/Playground/Playground.js +13 -13
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +5 -12
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/utils/utils.js +3 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +1 -0
- 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":"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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","_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
|
|
50
|
+
static push: ToastPush;
|
|
49
51
|
/** @deprecated use `close` method in ref or `SingleToast.close` */
|
|
50
|
-
static close
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
<
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
971
|
+
anchorElementForCursor: this.input,
|
|
972
|
+
anchorElementRoot: this.wrapper,
|
|
972
973
|
renderNotFound: renderNotFound,
|
|
973
974
|
renderItem: renderItem,
|
|
974
975
|
onValueChange: this.selectItem,
|