@skbkontur/react-ui 5.0.2 → 5.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/cjs/components/Button/Button.js +0 -1
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +2 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +1 -0
- package/cjs/components/MenuItem/MenuItem.js +3 -3
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.js +5 -1
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +2 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.js +19 -0
- package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.js.map +1 -1
- package/cjs/lib/dom/getParentOrShadowHost.d.ts +1 -0
- package/cjs/lib/dom/getParentOrShadowHost.js +3 -0
- package/cjs/lib/dom/getParentOrShadowHost.js.map +1 -0
- package/cjs/lib/dom/scrollYCenterIntoNearestScrollable.d.ts +2 -0
- package/cjs/lib/dom/scrollYCenterIntoNearestScrollable.js +48 -0
- package/cjs/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -0
- package/components/Button/Button/Button.js +0 -2
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Calendar/Calendar.md +2 -1
- package/components/MenuItem/MenuItem/MenuItem.js +3 -5
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +1 -0
- package/components/SingleToast/SingleToast/SingleToast.js +9 -4
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +2 -1
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/__creevey__/TokenInput.creevey/TokenInput.creevey.js +46 -0
- package/components/TokenInput/__creevey__/TokenInput.creevey/TokenInput.creevey.js.map +1 -1
- package/lib/dom/getParentOrShadowHost/getParentOrShadowHost.js +3 -0
- package/lib/dom/getParentOrShadowHost/getParentOrShadowHost.js.map +1 -0
- package/lib/dom/getParentOrShadowHost/package.json +6 -0
- package/lib/dom/getParentOrShadowHost.d.ts +1 -0
- package/lib/dom/scrollYCenterIntoNearestScrollable/package.json +6 -0
- package/lib/dom/scrollYCenterIntoNearestScrollable/scrollYCenterIntoNearestScrollable.js +40 -0
- package/lib/dom/scrollYCenterIntoNearestScrollable/scrollYCenterIntoNearestScrollable.js.map +1 -0
- package/lib/dom/scrollYCenterIntoNearestScrollable.d.ts +2 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.0.4](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.3...@skbkontur/react-ui@5.0.4) (2024-12-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **TokenInput:** forward prop `size` to menu items ([#3553](https://github.com/skbkontur/retail-ui/issues/3553)) ([5a0c990](https://github.com/skbkontur/retail-ui/commit/5a0c990f99478adb12fce10b04f5875406b75e61))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [5.0.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.2...@skbkontur/react-ui@5.0.3) (2024-11-22)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **Calendar,MenuItem:** page jumps when opening DateSelect ([#3543](https://github.com/skbkontur/retail-ui/issues/3543)) ([7b4acd6](https://github.com/skbkontur/retail-ui/commit/7b4acd61f1645298062cdd6294ab780eb49f8669))
|
|
23
|
+
* **SingleToast:** avoid flushSync error in react@16 ([#3546](https://github.com/skbkontur/retail-ui/issues/3546)) ([767c848](https://github.com/skbkontur/retail-ui/commit/767c848339591f1b26cacf7da2f0436c5535008a))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
## [5.0.2](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.1...@skbkontur/react-ui@5.0.2) (2024-11-19)
|
|
7
30
|
|
|
8
31
|
|
|
@@ -290,7 +290,6 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
|
|
|
290
290
|
var isFocused = _this.state.focusedByTab || visuallyFocused;
|
|
291
291
|
var isLink = use === 'link';
|
|
292
292
|
|
|
293
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
294
293
|
var _useButtonArrow = (0, _ButtonArrow.useButtonArrow)((0, _extends2.default)({},
|
|
295
294
|
_this.props, { isFocused: Boolean(isFocused) }),
|
|
296
295
|
_this.theme
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_utils","_client","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_ThemeFactory","_createPropsGetter","_Link","_Button2","_ButtonIcon","_ButtonArrow","_getInnerLinkTheme","_LoadingButtonIcon","_class","_Button","_excluded","_excluded2","BUTTON_DEFAULT_COMPONENT","exports","ButtonDataTids","rootElement","root","spinner","SpanComponent","_ref","children","rest","_objectWithoutPropertiesLoose2","default","createElement","Button","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","node","renderMain","props","_cx","_cx4","_cx5","corners","active","disabled","borderless","checked","error","warning","loading","narrow","arrow","icon","rightIcon","_noPadding","_noRightPadding","visuallyFocused","align","disableFocus","width","tabIndex","_component","component","useProp","use","sizeProp","size","theme","_this$getProps","sizeClass","getSizeClassName","isFocused","isLink","_useButtonArrow","useButtonArrow","_extends2","Boolean","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","trueDisabled","rootClassName","cx","styles","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","backlessDisabled","textDisabled","globalClasses","activeStyles","focus","checkedFocused","rootProps","className","style","textAlign","onFocus","handleFocus","onBlur","handleBlur","getTabIndex","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","outlineNode","_cx2","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconProps","hasChildren","leftIconNode","ButtonIcon","position","rightIconNode","hasBothIcons","_cx3","link","linkLineHeight","isSafari","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","hasLoadingNode","loadingNode","LoadingButtonIcon","captionNode","caption","captionLink","captionDisabled","text","visibilityHidden","ThemeContext","Provider","value","getInnerLinkTheme","Link","focused","renderIcon2022","Root","ref","e","globalObject","requestAnimationFrame","keyListener","isTabPressed","setState","_inheritsLoose2","_proto","prototype","componentDidMount","autoFocus","getDerivedStateFromProps","_this$node","blur","_this$node2","render","_this2","Consumer","ThemeFactory","create","CommonWrapper","rootNodeRef","setRootNode","_ref2","_ref2$tabIndex","isKonturIcon","_icon$props$size","sizes","getButtonIconSizes","React","cloneElement","_cx6","_cx7","_cx8","sizeLarge","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","displayName","__BUTTON__","type","isButton","isReactUIComponent"],"sources":["Button.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { isKonturIcon, isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Link } from '../Link';\nimport { SizeProp } from '../../lib/types/props';\nimport { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon, ButtonIconProps, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\nimport { LoadingButtonIcon } from './LoadingButtonIcon';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonInnerProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement;\n\n /**\n * Иконка справа от текста кнопки.\n */\n rightIcon?: React.ReactElement;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: SizeProp;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n *\n * **Вариант `link` устарел.**\n * Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport const BUTTON_DEFAULT_COMPONENT = 'button';\n\nexport type ButtonProps<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> =\n PolymorphicPropsWithoutRef<ButtonInnerProps, C>;\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n rootElement: 'Button__rootElement',\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps<ButtonLinkAllowedValues>, 'use' | 'size' | 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n@rootNode\nexport class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> extends React.Component<\n ButtonProps<C>,\n ButtonState\n> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static displayName = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: 'button',\n component: BUTTON_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n // warning(\n // this.props.use !== 'link',\n // `[Button]: Use 'Link' has been deprecated. Please, use Link with 'component=button' prop instead.`,\n // );\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\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 <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex({\n disableFocus,\n disabled,\n tabIndex = 0,\n }: Pick<ButtonProps, 'disableFocus' | 'disabled' | 'tabIndex'>) {\n if (disableFocus || disabled) {\n return -1;\n }\n\n return tabIndex;\n }\n\n private renderMain = (props: CommonWrapperRestProps<ButtonProps>) => {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n arrow,\n icon,\n rightIcon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n width,\n tabIndex,\n component: _component,\n use: useProp,\n size: sizeProp,\n theme,\n ...rest\n } = props;\n const { use, size, component, children } = this.getProps();\n\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n\n const trueDisabled = disabled || loading;\n const rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n isUseStateWithoutOutlineInDisabledState && styles.disabledWithoutOutline(this.theme),\n checked && styles.checkedDisabled(this.theme),\n borderless && styles.borderless(),\n use === 'backless' && styles.backlessDisabled(this.theme),\n use === 'text' && styles.textDisabled(),\n globalClasses.disabled,\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && styles.borderless(),\n ]),\n );\n\n const rootProps = {\n ...rest,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: trueDisabled,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: trueDisabled, tabIndex }),\n };\n\n const wrapProps = {\n className: cx(globalClasses.root, {\n [styles.wrap(this.theme)]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !trueDisabled) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconProps: Omit<ButtonIconProps, 'position'> = {\n use,\n size: this.getProps().size,\n hasChildren: !!children,\n loading: loading || false,\n };\n const leftIconNode = icon && <ButtonIcon {...iconProps} position=\"left\" icon={icon} />;\n const rightIconNode = rightIcon && (\n <ButtonIcon {...iconProps} hasBothIcons={!!icon && !!rightIcon} position=\"right\" icon={rightIcon} />\n );\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkLineHeight()]: !isSafari,\n [styles.linkLineHeightSafariFallback()]: isSafari,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: trueDisabled,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n\n rootProps.style.textAlign = undefined;\n }\n\n const hasLoadingNode = loading && !icon && !rightIcon;\n const loadingNode = hasLoadingNode && <LoadingButtonIcon size={size} />;\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {leftIconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: hasLoadingNode,\n })}\n >\n {children}\n </span>\n {rightIconNode}\n </div>\n );\n if (isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n {\n <Link<typeof SpanComponent>\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n rightIcon={this.renderIcon2022(rightIcon)}\n tabIndex={-1}\n component={SpanComponent}\n >\n {children}\n </Link>\n }\n </ThemeContext.Provider>\n );\n }\n\n const Root: React.ElementType = component;\n\n return (\n <span {...wrapProps} data-tid={ButtonDataTids.root}>\n <Root data-tid={ButtonDataTids.rootElement} ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </Root>\n </span>\n );\n };\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.getProps().size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_utils","_client","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_ThemeFactory","_createPropsGetter","_Link","_Button2","_ButtonIcon","_ButtonArrow","_getInnerLinkTheme","_LoadingButtonIcon","_class","_Button","_excluded","_excluded2","BUTTON_DEFAULT_COMPONENT","exports","ButtonDataTids","rootElement","root","spinner","SpanComponent","_ref","children","rest","_objectWithoutPropertiesLoose2","default","createElement","Button","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","node","renderMain","props","_cx","_cx4","_cx5","corners","active","disabled","borderless","checked","error","warning","loading","narrow","arrow","icon","rightIcon","_noPadding","_noRightPadding","visuallyFocused","align","disableFocus","width","tabIndex","_component","component","useProp","use","sizeProp","size","theme","_this$getProps","sizeClass","getSizeClassName","isFocused","isLink","_useButtonArrow","useButtonArrow","_extends2","Boolean","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","trueDisabled","rootClassName","cx","styles","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","backlessDisabled","textDisabled","globalClasses","activeStyles","focus","checkedFocused","rootProps","className","style","textAlign","onFocus","handleFocus","onBlur","handleBlur","getTabIndex","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","outlineNode","_cx2","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconProps","hasChildren","leftIconNode","ButtonIcon","position","rightIconNode","hasBothIcons","_cx3","link","linkLineHeight","isSafari","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","hasLoadingNode","loadingNode","LoadingButtonIcon","captionNode","caption","captionLink","captionDisabled","text","visibilityHidden","ThemeContext","Provider","value","getInnerLinkTheme","Link","focused","renderIcon2022","Root","ref","e","globalObject","requestAnimationFrame","keyListener","isTabPressed","setState","_inheritsLoose2","_proto","prototype","componentDidMount","autoFocus","getDerivedStateFromProps","_this$node","blur","_this$node2","render","_this2","Consumer","ThemeFactory","create","CommonWrapper","rootNodeRef","setRootNode","_ref2","_ref2$tabIndex","isKonturIcon","_icon$props$size","sizes","getButtonIconSizes","React","cloneElement","_cx6","_cx7","_cx8","sizeLarge","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","displayName","__BUTTON__","type","isButton","isReactUIComponent"],"sources":["Button.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { isKonturIcon, isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Link } from '../Link';\nimport { SizeProp } from '../../lib/types/props';\nimport { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon, ButtonIconProps, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\nimport { LoadingButtonIcon } from './LoadingButtonIcon';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonInnerProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement;\n\n /**\n * Иконка справа от текста кнопки.\n */\n rightIcon?: React.ReactElement;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: SizeProp;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n *\n * **Вариант `link` устарел.**\n * Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport const BUTTON_DEFAULT_COMPONENT = 'button';\n\nexport type ButtonProps<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> =\n PolymorphicPropsWithoutRef<ButtonInnerProps, C>;\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n rootElement: 'Button__rootElement',\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps<ButtonLinkAllowedValues>, 'use' | 'size' | 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n@rootNode\nexport class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> extends React.Component<\n ButtonProps<C>,\n ButtonState\n> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static displayName = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: 'button',\n component: BUTTON_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n // warning(\n // this.props.use !== 'link',\n // `[Button]: Use 'Link' has been deprecated. Please, use Link with 'component=button' prop instead.`,\n // );\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\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 <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex({\n disableFocus,\n disabled,\n tabIndex = 0,\n }: Pick<ButtonProps, 'disableFocus' | 'disabled' | 'tabIndex'>) {\n if (disableFocus || disabled) {\n return -1;\n }\n\n return tabIndex;\n }\n\n private renderMain = (props: CommonWrapperRestProps<ButtonProps>) => {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n arrow,\n icon,\n rightIcon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n width,\n tabIndex,\n component: _component,\n use: useProp,\n size: sizeProp,\n theme,\n ...rest\n } = props;\n const { use, size, component, children } = this.getProps();\n\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n\n const [rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n\n const trueDisabled = disabled || loading;\n const rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n isUseStateWithoutOutlineInDisabledState && styles.disabledWithoutOutline(this.theme),\n checked && styles.checkedDisabled(this.theme),\n borderless && styles.borderless(),\n use === 'backless' && styles.backlessDisabled(this.theme),\n use === 'text' && styles.textDisabled(),\n globalClasses.disabled,\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && styles.borderless(),\n ]),\n );\n\n const rootProps = {\n ...rest,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: trueDisabled,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: trueDisabled, tabIndex }),\n };\n\n const wrapProps = {\n className: cx(globalClasses.root, {\n [styles.wrap(this.theme)]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !trueDisabled) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconProps: Omit<ButtonIconProps, 'position'> = {\n use,\n size: this.getProps().size,\n hasChildren: !!children,\n loading: loading || false,\n };\n const leftIconNode = icon && <ButtonIcon {...iconProps} position=\"left\" icon={icon} />;\n const rightIconNode = rightIcon && (\n <ButtonIcon {...iconProps} hasBothIcons={!!icon && !!rightIcon} position=\"right\" icon={rightIcon} />\n );\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkLineHeight()]: !isSafari,\n [styles.linkLineHeightSafariFallback()]: isSafari,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: trueDisabled,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n\n rootProps.style.textAlign = undefined;\n }\n\n const hasLoadingNode = loading && !icon && !rightIcon;\n const loadingNode = hasLoadingNode && <LoadingButtonIcon size={size} />;\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {leftIconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: hasLoadingNode,\n })}\n >\n {children}\n </span>\n {rightIconNode}\n </div>\n );\n if (isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n {\n <Link<typeof SpanComponent>\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n rightIcon={this.renderIcon2022(rightIcon)}\n tabIndex={-1}\n component={SpanComponent}\n >\n {children}\n </Link>\n }\n </ThemeContext.Provider>\n );\n }\n\n const Root: React.ElementType = component;\n\n return (\n <span {...wrapProps} data-tid={ButtonDataTids.root}>\n <Root data-tid={ButtonDataTids.rootElement} ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </Root>\n </span>\n );\n };\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.getProps().size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -174,7 +174,8 @@ const [value, setValue] = React.useState(null);
|
|
|
174
174
|
|
|
175
175
|
<ThemeContext.Provider
|
|
176
176
|
value={ThemeFactory.create({
|
|
177
|
-
|
|
177
|
+
calendarCellWidth: '56px',
|
|
178
|
+
calendarCellHeight: '56px',
|
|
178
179
|
calendarCellLineHeight: '1.5',
|
|
179
180
|
calendarWrapperHeight: '600px',
|
|
180
181
|
calendarCellBorderRadius: '8px'
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
3
|
var _globalObject = require("@skbkontur/global-object");
|
|
4
4
|
|
|
5
|
+
var _scrollYCenterIntoNearestScrollable = require("../../lib/dom/scrollYCenterIntoNearestScrollable");
|
|
5
6
|
|
|
6
7
|
var _utils = require("../../lib/utils");
|
|
7
8
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
@@ -98,6 +99,7 @@ var _MenuItem2 = require("./MenuItem.styles");var _excluded = ["link", "comment"
|
|
|
98
99
|
|
|
99
100
|
|
|
100
101
|
|
|
102
|
+
|
|
101
103
|
|
|
102
104
|
|
|
103
105
|
var MenuItemDataTids = exports.MenuItemDataTids = {
|
|
@@ -207,8 +209,6 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
|
|
|
207
209
|
|
|
208
210
|
|
|
209
211
|
|
|
210
|
-
|
|
211
|
-
|
|
212
212
|
|
|
213
213
|
|
|
214
214
|
|
|
@@ -432,7 +432,7 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
|
|
|
432
432
|
|
|
433
433
|
hasIconAmongItems = function () {var _this$context$navigat3;
|
|
434
434
|
return Boolean((_this$context$navigat3 = _this.context.navigation) == null ? void 0 : _this$context$navigat3.items.some(function (item) {return item.props.icon;}));
|
|
435
|
-
};return _this;}(0, _inheritsLoose2.default)(MenuItem, _React$Component);var _proto = MenuItem.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ hover: _this2.isHover, selected: _this2.isSelected }), _this2.props), _this2.renderMain(_this2.props));});};_proto.componentDidMount = function componentDidMount() {if (this.props.scrollIntoView
|
|
435
|
+
};return _this;}(0, _inheritsLoose2.default)(MenuItem, _React$Component);var _proto = MenuItem.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ hover: _this2.isHover, selected: _this2.isSelected }), _this2.props), _this2.renderMain(_this2.props));});};_proto.componentDidMount = function componentDidMount() {if (this.props.scrollIntoView && this.rootRef) {(0, _scrollYCenterIntoNearestScrollable.scrollYCenterIntoNearestScrollable)(this.rootRef);}if (this.rootRef && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {this.setState({ iconOffsetTop: _globalObject.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });}if (this.contentRef.current && !this.props.isNotSelectable) {var _this$context$navigat4;(_this$context$navigat4 = this.context.navigation) == null || _this$context$navigat4.add(this.contentRef.current, this);}if (this.props.icon) {var _this$context$setEnab, _this$context;(_this$context$setEnab = (_this$context = this.context).setEnableIconPadding) == null || _this$context$setEnab.call(_this$context, true);}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.contentRef.current) {var _this$context$navigat5, _this$context$setEnab2, _this$context2;!this.props.isNotSelectable && ((_this$context$navigat5 = this.context.navigation) == null ? void 0 : _this$context$navigat5.remove(this.contentRef.current));(_this$context$setEnab2 = (_this$context2 = this.context).setEnableIconPadding) == null || _this$context$setEnab2.call(_this$context2, this.hasIconAmongItems());}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.icon !== this.props.icon) {var _this$context$setEnab3, _this$context3;(_this$context$setEnab3 = (_this$context3 = this.context).setEnableIconPadding) == null || _this$context$setEnab3.call(_this$context3, !!this.props.icon || this.hasIconAmongItems());}if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {if (this.props.isNotSelectable) {var _this$context$navigat6;this.unhighlight();(_this$context$navigat6 = this.context.navigation) == null || _this$context$navigat6.remove(this.contentRef.current);} else {var _this$context$navigat7;(_this$context$navigat7 = this.context.navigation) == null || _this$context$navigat7.add(this.contentRef.current, this);}}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.rootLarge(this.theme);case 'medium':return _MenuItem2.styles.rootMedium(this.theme);case 'small':default:return _MenuItem2.styles.rootSmall(this.theme);}};_proto.getIconSizeClassName = function getIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.iconLarge(this.theme);case 'medium':return _MenuItem2.styles.iconMedium(this.theme);case 'small':default:return _MenuItem2.styles.iconSmall(this.theme);}};_proto.getWithIconSizeClassName = function getWithIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.withIconLarge(this.theme);case 'medium':return _MenuItem2.styles.withIconMedium(this.theme);case 'small':default:return _MenuItem2.styles.withIconSmall(this.theme);}};return (0, _createClass2.default)(MenuItem, [{ key: "activeState", get: function get() {return this.state.highlighted ? 'hover' : this.props.state;} }, { key: "isHover", get: function get() {return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;} }, { key: "isSelected", get: function get() {return this.props.state === 'selected' && !this.state.highlighted;} }]);}(_react.default.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.propTypes = { comment: _propTypes.default.node, disabled: _propTypes.default.bool, href: _propTypes.default.string, icon: _propTypes.default.node, loose: _propTypes.default.bool, state: _propTypes.default.string, target: _propTypes.default.string, onClick: _propTypes.default.func, size: _propTypes.default.string }, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class;
|
|
436
436
|
|
|
437
437
|
|
|
438
438
|
var isMenuItem = exports.isMenuItem = (0, _utils.isReactUIComponent)('MenuItem');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_utils","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_MenuContext","_getVisualStateDataAttributes","_MenuItem2","_excluded","_class","_MenuItem","MenuItemDataTids","exports","root","content","comment","MenuItem","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","React","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_props$rel","rel","isExternalLink","isNotSelectable","rest","_objectWithoutPropertiesLoose2","default","iconElement","_cx","createElement","style","top","className","cx","styles","getIconSizeClassName","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","children","isFunction","Component","getComponent","_extends2","ref","setRootRef","activeState","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","isNonNullable","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","componentDidMount","_this$rootRef","block","isBrowser","globalObject","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass2","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","PropTypes","node","bool","string","func","contextType","MenuContext","isMenuItem","isReactUIComponent"],"sources":["MenuItem.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { SizeProp } from '../../lib/types/props';\nimport { MenuContext, MenuContextType } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /**\n * @ignore\n */\n _enableIconPadding?: boolean;\n /**\n * Добавляет описание для элемента меню.\n */\n comment?: React.ReactNode;\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет элементу меню иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n */\n link?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * @ignore\n */\n loose?: boolean;\n /**\n * @ignore\n */\n state?: MenuItemState;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n /**\n * HTML-атрибут `target`.\n */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут `title`.\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n /**\n * HTML-атрибут `href`.\n */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n /**\n * HTML-атрибут `rel`.\n *\n * Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\"\n */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n /**\n * Заменяет корневой элемент, на компонент переданный в проп.\n *\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`.\n */\n component?: React.ComponentType<any>;\n /**\n * Запрещает выделение и выбор данного пункта меню\n *\n */\n isNotSelectable?: boolean;\n\n isMobile?: boolean;\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n {this.renderMain(this.props)}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView) {\n this.rootRef?.scrollIntoView({\n block: 'center',\n });\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = this.props.href && isExternalLink(this.props.href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n ...rest\n } = props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {this.props.comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_scrollYCenterIntoNearestScrollable","_utils","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_MenuContext","_getVisualStateDataAttributes","_MenuItem2","_excluded","_class","_MenuItem","MenuItemDataTids","exports","root","content","comment","MenuItem","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","React","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_props$rel","rel","isExternalLink","isNotSelectable","rest","_objectWithoutPropertiesLoose2","default","iconElement","_cx","createElement","style","top","className","cx","styles","getIconSizeClassName","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","children","isFunction","Component","getComponent","_extends2","ref","setRootRef","activeState","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","isNonNullable","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","componentDidMount","scrollYCenterIntoNearestScrollable","isBrowser","globalObject","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass2","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","PropTypes","node","bool","string","func","contextType","MenuContext","isMenuItem","isReactUIComponent"],"sources":["MenuItem.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable';\nimport { Nullable } from '../../typings/utility-types';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { SizeProp } from '../../lib/types/props';\nimport { MenuContext, MenuContextType } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /**\n * @ignore\n */\n _enableIconPadding?: boolean;\n /**\n * Добавляет описание для элемента меню.\n */\n comment?: React.ReactNode;\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет элементу меню иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n */\n link?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * @ignore\n */\n loose?: boolean;\n /**\n * @ignore\n */\n state?: MenuItemState;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n /**\n * HTML-атрибут `target`.\n */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут `title`.\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n /**\n * HTML-атрибут `href`.\n */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n /**\n * HTML-атрибут `rel`.\n *\n * Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\"\n */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n /**\n * Заменяет корневой элемент, на компонент переданный в проп.\n *\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`.\n */\n component?: React.ComponentType<any>;\n /**\n * Запрещает выделение и выбор данного пункта меню\n *\n */\n isNotSelectable?: boolean;\n\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n {this.renderMain(this.props)}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView && this.rootRef) {\n scrollYCenterIntoNearestScrollable(this.rootRef);\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = this.props.href && isExternalLink(this.props.href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n ...rest\n } = props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {this.props.comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,10 @@ SingleToast = exports.SingleToast = /*#__PURE__*/function (_React$Component) {fu
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
21
25
|
render = function () {
|
|
22
26
|
return /*#__PURE__*/_react.default.createElement(_Toast.Toast, (0, _extends2.default)({ ref: SingleToast.ref }, _this.props));
|
|
23
|
-
};return _this;}(0, _inheritsLoose2.default)(SingleToast, _React$Component);return SingleToast;}(_react.default.Component);_SingleToast = SingleToast;SingleToast.__KONTUR_REACT_UI__ = 'SingleToast';SingleToast.displayName = 'SingleToast';SingleToast.ref = /*#__PURE__*/_react.default.createRef();SingleToast.push = function () {var _SingleToast$ref$curr;_SingleToast.close();for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}(_SingleToast$ref$curr = _SingleToast.ref.current) == null || _SingleToast$ref$curr.push.apply(_SingleToast$ref$curr, args);};SingleToast.close = function () {_reactDom.default.flushSync(function () {var _SingleToast$ref$curr2;return (_SingleToast$ref$curr2 = _SingleToast.ref.current) == null ? void 0 : _SingleToast$ref$curr2.close();});};
|
|
27
|
+
};return _this;}(0, _inheritsLoose2.default)(SingleToast, _React$Component);return SingleToast;}(_react.default.Component);_SingleToast = SingleToast;SingleToast.__KONTUR_REACT_UI__ = 'SingleToast';SingleToast.displayName = 'SingleToast';SingleToast.ref = /*#__PURE__*/_react.default.createRef();SingleToast.push = function () {var _SingleToast$ref$curr;_SingleToast.close();for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}(_SingleToast$ref$curr = _SingleToast.ref.current) == null || _SingleToast$ref$curr.push.apply(_SingleToast$ref$curr, args);};SingleToast.close = function () {if (_react.default.version.search('18') === 0) {_reactDom.default.flushSync(function () {var _SingleToast$ref$curr2;return (_SingleToast$ref$curr2 = _SingleToast.ref.current) == null ? void 0 : _SingleToast$ref$curr2.close();});} else {var _SingleToast$ref$curr3;(_SingleToast$ref$curr3 = _SingleToast.ref.current) == null || _SingleToast$ref$curr3.close();}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","ReactDOM","flushSync","_SingleToast$ref$curr2"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * Позволяет вызывать тосты с помощью статических методов. В отличие от статических методов из компонента `<Toast>` - их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA,mBAAmD,IAAAG,YAAA;;AAEnD;AACA;AACA,GAFA;AAGaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","ReactDOM","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * Позволяет вызывать тосты с помощью статических методов. В отличие от статических методов из компонента `<Toast>` - их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n } else {\n SingleToast.ref.current?.close();\n }\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA,mBAAmD,IAAAG,YAAA;;AAEnD;AACA;AACA,GAFA;AAGaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;IAgBtBU,MAAM,GAAG,YAAM;MACb,oBAAOnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,MAAA,CAAAkB,KAAK,MAAAC,SAAA,CAAAH,OAAA,IAACI,GAAG,EAAElB,WAAW,CAACkB,GAAI,IAAKf,KAAA,CAAKgB,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAhB,KAAA,MAAAiB,eAAA,CAAAN,OAAA,EAAAd,WAAA,EAAAE,gBAAA,SAAAF,WAAA,GAlB8BqB,cAAK,CAACC,SAAS,EAAAvB,YAAA,GAAnCC,WAAW,CAAXA,WAAW,CACRuB,mBAAmB,GAAG,aAAa,CADtCvB,WAAW,CAERwB,WAAW,GAAG,aAAa,CAF9BxB,WAAW,CAIRkB,GAAG,gBAAGG,cAAK,CAACI,SAAS,CAAQ,CAAC,CAJjCzB,WAAW,CAKR0B,IAAI,GAAsB,YAAa,KAAAC,qBAAA,CACnD3B,YAAW,CAAC4B,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EADsBC,IAAI,OAAAC,KAAA,CAAAqB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJvB,IAAI,CAAAuB,KAAA,IAAAzB,SAAA,CAAAyB,KAAA,GAE9C,CAAAH,qBAAA,GAAA3B,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAf,KAAA,CAAAgB,qBAAA,EAAIpB,IAAI,CAAC,CACxC,CAAC,CARUP,WAAW,CASR4B,KAAK,GAAuB,YAAM,CAC9C,IAAIP,cAAK,CAACW,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpCC,iBAAQ,CAACC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMpC,YAAW,CAACkB,GAAG,CAACa,OAAO,qBAAvBK,sBAAA,CAAyBR,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC,MAAM,KAAAS,sBAAA,CACL,CAAAA,sBAAA,GAAArC,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBM,sBAAA,CAAyBT,KAAK,CAAC,CAAC,CAClC,CACF,CAAC","ignoreList":[]}
|
|
@@ -557,6 +557,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
557
557
|
|
|
558
558
|
|
|
559
559
|
|
|
560
|
+
|
|
560
561
|
|
|
561
562
|
|
|
562
563
|
hasValueInItems = function (items, value) {
|
|
@@ -1220,7 +1221,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1220
1221
|
* @public
|
|
1221
1222
|
*/;_proto.blur = function blur() {var _this$input9;(_this$input9 = this.input) == null || _this$input9.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getLabelSizeClassName = function getLabelSizeClassName() {switch (this.getProps().size) {case 'large':return _TokenInput2.styles.labelLarge(this.theme);case 'medium':return _TokenInput2.styles.labelMedium(this.theme);case 'small':default:return _TokenInput2.styles.labelSmall(this.theme);}};_proto.getInputSizeClassName = function getInputSizeClassName() {switch (this.getProps().size) {case 'large':return _TokenInput2.styles.inputLarge(this.theme);case 'medium':return _TokenInput2.styles.inputMedium(this.theme);case 'small':default:return _TokenInput2.styles.inputSmall(this.theme);}};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx3;if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {throw Error('Missed getItems for type ' + this.type);}var _this$props2 = this.props,maxMenuHeight = _this$props2.maxMenuHeight,error = _this$props2.error,warning = _this$props2.warning,disabled = _this$props2.disabled,renderNotFound = _this$props2.renderNotFound,hideMenuIfEmptyInputValue = _this$props2.hideMenuIfEmptyInputValue,inputMode = _this$props2.inputMode,renderTotalCount = _this$props2.renderTotalCount,totalCount = _this$props2.totalCount,ariaDescribedby = _this$props2['aria-describedby'],ariaLabel = _this$props2['aria-label'];var _this$getProps8 = this.getProps(),selectedItems = _this$getProps8.selectedItems,width = _this$getProps8.width,onMouseEnter = _this$getProps8.onMouseEnter,onMouseLeave = _this$getProps8.onMouseLeave,menuWidth = _this$getProps8.menuWidth,menuAlign = _this$getProps8.menuAlign,renderItem = _this$getProps8.renderItem;var _this$state3 = this.state,activeTokens = _this$state3.activeTokens,inFocus = _this$state3.inFocus,inputValueWidth = _this$state3.inputValueWidth,inputValueHeight = _this$state3.inputValueHeight,inputValue = _this$state3.inputValue,reservedInputValue = _this$state3.reservedInputValue,autocompleteItems = _this$state3.autocompleteItems,loading = _this$state3.loading;var showMenu = this.type !== TokenInputType.WithoutReference && this.isCursorVisible && activeTokens.length === 0 && (inputValue !== '' || !hideMenuIfEmptyInputValue);var theme = this.theme;var inputInlineStyles = { // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости
|
|
1222
1223
|
width: inputValueWidth, height: inputValueHeight, // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее
|
|
1223
|
-
caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput2.styles.label(theme), this.getLabelSizeClassName(), (_cx = {}, _cx[_TokenInput2.styles.hovering(this.theme)] = !inFocus && !disabled && !warning && !error, _cx[_TokenInput2.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput2.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput2.styles.error(theme)] = !!error, _cx[_TokenInput2.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput2.styles.input(theme), this.getInputSizeClassName(), (_cx2 = {}, _cx2[_TokenInput2.styles.inputDisabled(theme)] = !!disabled, _cx2));var placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';var inputNode = /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.getProps().size, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_TokenInput2.styles.inputPlaceholderWrapper()] = Boolean(placeholder), _cx3)), hideCloseButton: Boolean(placeholder) }, /*#__PURE__*/_react.default.createElement("textarea", { id: this.textareaId, ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode, "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp, htmlFor: this.textareaId, "aria-controls": this.rootId, "data-tid": TokenInputDataTids.label }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, text: inputValue, theme: this.theme, size: this.getProps().size }), this.renderTokensStart(), inputNode, showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { popupMenuId: this.rootId, ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight, anchorElement: menuAlign === 'cursor' ? this.input : this.wrapper, renderNotFound: renderNotFound, renderItem: renderItem, onValueChange: this.selectItem, renderAddButton: this.renderAddButton, menuWidth: menuWidth, menuAlign: menuAlign, renderTotalCount: renderTotalCount, totalCount: totalCount }), this.renderTokensEnd(), this.isEditingMode ? /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.props.size }, /*#__PURE__*/_react.default.createElement("span", { className: _TokenInput2.styles.reservedInput(theme) }, reservedInputValue)) : null)));} /**
|
|
1224
|
+
caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput2.styles.label(theme), this.getLabelSizeClassName(), (_cx = {}, _cx[_TokenInput2.styles.hovering(this.theme)] = !inFocus && !disabled && !warning && !error, _cx[_TokenInput2.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput2.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput2.styles.error(theme)] = !!error, _cx[_TokenInput2.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput2.styles.input(theme), this.getInputSizeClassName(), (_cx2 = {}, _cx2[_TokenInput2.styles.inputDisabled(theme)] = !!disabled, _cx2));var placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';var inputNode = /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.getProps().size, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_TokenInput2.styles.inputPlaceholderWrapper()] = Boolean(placeholder), _cx3)), hideCloseButton: Boolean(placeholder) }, /*#__PURE__*/_react.default.createElement("textarea", { id: this.textareaId, ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode, "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp, htmlFor: this.textareaId, "aria-controls": this.rootId, "data-tid": TokenInputDataTids.label }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, text: inputValue, theme: this.theme, size: this.getProps().size }), this.renderTokensStart(), inputNode, showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { popupMenuId: this.rootId, ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight, anchorElement: menuAlign === 'cursor' ? this.input : this.wrapper, renderNotFound: renderNotFound, renderItem: renderItem, onValueChange: this.selectItem, renderAddButton: this.renderAddButton, menuWidth: menuWidth, menuAlign: menuAlign, renderTotalCount: renderTotalCount, totalCount: totalCount, size: this.getProps().size }), this.renderTokensEnd(), this.isEditingMode ? /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.props.size }, /*#__PURE__*/_react.default.createElement("span", { className: _TokenInput2.styles.reservedInput(theme) }, reservedInputValue)) : null)));} /**
|
|
1224
1225
|
* Сбрасывает введенное пользователем значение
|
|
1225
1226
|
* @public
|
|
1226
1227
|
*/;_proto.reset = function reset() {this.dispatch({ type: 'RESET' });};_proto.isCursorVisibleForState = function isCursorVisibleForState(state) {return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);};_proto.updateInputTextWidth = function updateInputTextWidth() {if (this.textHelper) {// в IE текст иногда не помещается в input
|