@skbkontur/react-ui 5.3.7 → 5.3.9
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 +22 -0
- package/cjs/components/SidePage/SidePage.js +3 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +39 -24
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/utils.d.ts +9 -0
- package/cjs/lib/utils.js +17 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +2 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +35 -29
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/lib/utils/utils.js +13 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +9 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.3.9](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.8...@skbkontur/react-ui@5.3.9) (2025-10-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **SidePage:** add support for overlays from widgets ([8a968cb](https://github.com/skbkontur/retail-ui/commit/8a968cb3b896d4ca22f9ed5116bb600a036426b4))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [5.3.8](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.7...@skbkontur/react-ui@5.3.8) (2025-10-01)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **TokenInput:** create token on blur in "withoutReference" mode (feature flag) ([10ebcbb](https://github.com/skbkontur/retail-ui/commit/10ebcbb58e3736f5c4887ea8daca148b55b6c6d6))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [5.3.7](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.6...@skbkontur/react-ui@5.3.7) (2025-09-24)
|
|
7
29
|
|
|
8
30
|
|
|
@@ -327,7 +327,9 @@ SidePage = exports.SidePage = /*#__PURE__*/function (_React$Component) {function
|
|
|
327
327
|
|
|
328
328
|
|
|
329
329
|
handleStackChange = function (stack) {
|
|
330
|
-
var sidePages = stack.filter(
|
|
330
|
+
var sidePages = stack.filter(
|
|
331
|
+
function (x) {return (0, _utils.isReactUIInstance)(x, 'SidePage') && x.props.fromLeft === _this.props.fromLeft;}
|
|
332
|
+
);
|
|
331
333
|
var currentSidePagePosition = sidePages.indexOf(_this);
|
|
332
334
|
|
|
333
335
|
var hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_reactFocusLock","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_stopPropagation","_HideBodyVerticalScroll","_ModalStack","_RenderContainer","_RenderLayer","_ZIndex","_ThemeContext","_CommonWrapper","_Emotion","_currentEnvironment","_ResponsiveLayout","_createPropsGetter","_isInstanceOf","_ThemeHelpers","_SidePageBody","_SidePageContainer","_SidePageContext","_SidePageFooter","_SidePageHeader","_SidePage2","SidePageDataTids","exports","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","React","createRef","updateLayout","_this$header","_this$footer","update","getProps","createPropsGetter","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","isInstanceOf","globalObject","MouseEvent","document","clientX","documentElement","handleKeyDown","isKeyEscape","stopPropagation","disableClose","onClose","ref","layoutRef","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","isNonNullable","remove","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","isThemeGTE","ResponsiveLayout","_ref","isMobile","RenderContainer","CommonWrapper","ZIndex","priority","onScroll","emit","createStackingContext","style","position","renderShadow","CSSTransition","in","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","HideBodyVerticalScroll","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","cx","styles","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","RenderLayer","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","SidePageContext","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass2","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","isTestEnv"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_reactFocusLock","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_stopPropagation","_HideBodyVerticalScroll","_ModalStack","_RenderContainer","_RenderLayer","_ZIndex","_ThemeContext","_CommonWrapper","_Emotion","_currentEnvironment","_ResponsiveLayout","_createPropsGetter","_isInstanceOf","_ThemeHelpers","_SidePageBody","_SidePageContainer","_SidePageContext","_SidePageFooter","_SidePageHeader","_SidePage2","SidePageDataTids","exports","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","React","createRef","updateLayout","_this$header","_this$footer","update","getProps","createPropsGetter","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","isReactUIInstance","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","isInstanceOf","globalObject","MouseEvent","document","clientX","documentElement","handleKeyDown","isKeyEscape","stopPropagation","disableClose","onClose","ref","layoutRef","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","isNonNullable","remove","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","isThemeGTE","ResponsiveLayout","_ref","isMobile","RenderContainer","CommonWrapper","ZIndex","priority","onScroll","emit","createStackingContext","style","position","renderShadow","CSSTransition","in","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","HideBodyVerticalScroll","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","cx","styles","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","RenderLayer","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","SidePageContext","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass2","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","isTestEnv"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isReactUIInstance } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter(\n (x) => isReactUIInstance<SidePage>(x, 'SidePage') && x.props.fromLeft === this.props.fromLeft,\n );\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import type { TokenProps, TokenSize } from '../Token';
|
|
|
4
4
|
import type { MenuItemState } from '../MenuItem';
|
|
5
5
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
6
6
|
import type { TGetRootNode } from '../../lib/rootNode';
|
|
7
|
+
import type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';
|
|
7
8
|
export declare enum TokenInputType {
|
|
8
9
|
WithReference = 0,
|
|
9
10
|
WithoutReference = 1,
|
|
@@ -146,6 +147,7 @@ export declare class TokenInput<T = string> extends React.PureComponent<TokenInp
|
|
|
146
147
|
private rootId;
|
|
147
148
|
private readonly locale;
|
|
148
149
|
private theme;
|
|
150
|
+
featureFlags: ReactUIFeatureFlags;
|
|
149
151
|
private input;
|
|
150
152
|
private tokensInputMenu;
|
|
151
153
|
private textHelper;
|
|
@@ -46,6 +46,8 @@ var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
|
46
46
|
var _uidUtils = require("../../lib/uidUtils");
|
|
47
47
|
var _TokenView = require("../Token/TokenView");
|
|
48
48
|
|
|
49
|
+
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
50
|
+
|
|
49
51
|
|
|
50
52
|
var _locale = require("./locale");
|
|
51
53
|
var _TokenInput2 = require("./TokenInput.styles");
|
|
@@ -318,6 +320,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
318
320
|
rootId = _Popup.PopupIds.root + (0, _utils.getRandomID)();_this.
|
|
319
321
|
|
|
320
322
|
|
|
323
|
+
|
|
321
324
|
input = null;_this.
|
|
322
325
|
tokensInputMenu = null;_this.
|
|
323
326
|
textHelper = null;_this.
|
|
@@ -551,6 +554,13 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
551
554
|
|
|
552
555
|
|
|
553
556
|
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
|
|
554
564
|
|
|
555
565
|
|
|
556
566
|
|
|
@@ -772,7 +782,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
772
782
|
};_this.
|
|
773
783
|
|
|
774
784
|
tryGetItems = /*#__PURE__*/function () {var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {var autocompleteItems, _this$getProps3, selectedItems, valueToItem, valueToString, isSelectedItem, isEditingItem, autocompleteItemsUnique, editingItem, selectItemIndex;return _regenerator.default.wrap(function _callee$(_context) {while (1) switch (_context.prev = _context.next) {case 0:if (query === void 0) {query = '';}if (!(
|
|
775
|
-
_this.props.getItems && (_this.
|
|
785
|
+
_this.props.getItems && (_this.isInputValueChanged || !_this.props.hideMenuIfEmptyInputValue))) {_context.next = 15;break;}
|
|
776
786
|
_this.dispatch({ type: 'SET_LOADING', payload: true });_context.next = 5;return (
|
|
777
787
|
_this.props.getItems(query));case 5:autocompleteItems = _context.sent;
|
|
778
788
|
_this.dispatch({ type: 'SET_LOADING', payload: false });_this$getProps3 =
|
|
@@ -796,7 +806,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
796
806
|
}
|
|
797
807
|
}
|
|
798
808
|
|
|
799
|
-
if (query === '' || _this.
|
|
809
|
+
if (query === '' || _this.isInputValueChanged) {
|
|
800
810
|
_this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: autocompleteItemsUnique }, function () {
|
|
801
811
|
LayoutEvents.emit();
|
|
802
812
|
_this.highlightMenuItem();
|
|
@@ -1018,7 +1028,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1018
1028
|
var editingTokenIndex = selectedItems.findIndex(function (item) {return item === itemNew;});
|
|
1019
1029
|
_this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });
|
|
1020
1030
|
|
|
1021
|
-
if (_this.
|
|
1031
|
+
if (_this.isInputValueChanged) {
|
|
1022
1032
|
if (_this.state.reservedInputValue === undefined) {
|
|
1023
1033
|
_this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: _this.state.inputValue });
|
|
1024
1034
|
}
|
|
@@ -1036,7 +1046,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1036
1046
|
var newItems = selectedItems.concat([]);
|
|
1037
1047
|
|
|
1038
1048
|
if (!_this.hasValueInItems(selectedItems, editedItem)) {
|
|
1039
|
-
newItems.splice.apply(newItems, [editingTokenIndex, 1].concat(
|
|
1049
|
+
newItems.splice.apply(newItems, [editingTokenIndex, 1].concat(_this.isInputValueChanged ? [editedItem] : []));
|
|
1040
1050
|
_this.handleValueChange(newItems);
|
|
1041
1051
|
}
|
|
1042
1052
|
|
|
@@ -1058,27 +1068,32 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1058
1068
|
var inputValue = _this.state.inputValue;
|
|
1059
1069
|
var onUnexpectedInput = _this.props.onUnexpectedInput;
|
|
1060
1070
|
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
var returnedValue = onUnexpectedInput(inputValue);
|
|
1071
|
+
// чекаем не возвращает ли что-нибудь обработчик
|
|
1072
|
+
var returnedValue = onUnexpectedInput == null ? void 0 : onUnexpectedInput(inputValue);
|
|
1064
1073
|
|
|
1065
|
-
|
|
1066
|
-
|
|
1074
|
+
if (returnedValue === undefined) {
|
|
1075
|
+
if (
|
|
1076
|
+
_this.featureFlags.tokenInputCreateTokenOnBlurInWithoutReferenceMode &&
|
|
1077
|
+
_this.type === TokenInputType.WithoutReference)
|
|
1078
|
+
{
|
|
1079
|
+
_this.handleAddItem();
|
|
1067
1080
|
}
|
|
1068
1081
|
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
if (_this.isEditingMode) {
|
|
1072
|
-
_this.finishTokenEdit();
|
|
1073
|
-
}
|
|
1074
|
-
});
|
|
1082
|
+
return;
|
|
1083
|
+
}
|
|
1075
1084
|
|
|
1076
|
-
|
|
1077
|
-
}
|
|
1085
|
+
if (returnedValue === null) {
|
|
1086
|
+
_this.dispatch({ type: 'CLEAR_INPUT' }, function () {
|
|
1087
|
+
if (_this.isEditingMode) {
|
|
1088
|
+
_this.finishTokenEdit();
|
|
1089
|
+
}
|
|
1090
|
+
});
|
|
1078
1091
|
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
if (returnedValue) {
|
|
1096
|
+
_this.selectItem(returnedValue);
|
|
1082
1097
|
}
|
|
1083
1098
|
};_this.
|
|
1084
1099
|
|
|
@@ -1089,7 +1104,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1089
1104
|
if (query.endsWith(' ')) {
|
|
1090
1105
|
query = query.trimRight() + ' ';
|
|
1091
1106
|
}
|
|
1092
|
-
if (_this.
|
|
1107
|
+
if (_this.isInputValueChanged && query === '') {
|
|
1093
1108
|
_this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });
|
|
1094
1109
|
}
|
|
1095
1110
|
_this.dispatch({ type: 'UPDATE_QUERY', payload: query }, function () {
|
|
@@ -1218,12 +1233,12 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1218
1233
|
* @public
|
|
1219
1234
|
*/;_proto.focus = function focus() {var _this$input8;(_this$input8 = this.input) == null || _this$input8.focus();} /**
|
|
1220
1235
|
* @public
|
|
1221
|
-
*/;_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 && (
|
|
1236
|
+
*/;_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(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);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 && (this.isInputValueChanged || !hideMenuIfEmptyInputValue);var theme = this.theme;var inputInlineStyles = { // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости
|
|
1222
1237
|
width: inputValueWidth, height: inputValueHeight, // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее
|
|
1223
1238
|
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, anchorElementForCursor: this.input, anchorElementRoot: 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
1239
|
* Сбрасывает введенное пользователем значение
|
|
1225
1240
|
* @public
|
|
1226
|
-
*/;_proto.reset = function reset() {this.dispatch({ type: 'RESET' });};_proto.isCursorVisibleForState = function isCursorVisibleForState(state) {return state.inFocus && (
|
|
1241
|
+
*/;_proto.reset = function reset() {this.dispatch({ type: 'RESET' });};_proto.isCursorVisibleForState = function isCursorVisibleForState(state) {return state.inFocus && (this.isInputValueChanged || state.activeTokens.length === 0);};_proto.updateInputTextWidth = function updateInputTextWidth() {if (this.textHelper) {// в IE текст иногда не помещается в input
|
|
1227
1242
|
// из-за округления, поэтому округляем явно
|
|
1228
|
-
var inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));var inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);}};_proto.moveFocusToLastToken = function moveFocusToLastToken() {var items = this.getProps().selectedItems;if (this.state.inputValue === '' && items && items.length > 0) {this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });}};return (0, _createClass2.default)(TokenInput, [{ key: "textareaId", get: function get() {var _this$props$id;return (_this$props$id = this.props.id) != null ? _this$props$id : this._textareaId;} }, { key: "showAddItemHint", get: function get() {var items = this.state.autocompleteItems;var value = this.getProps().valueToItem(this.state.inputValue);if (items && this.hasValueInItems(items, value)) {return false;}var selectedItems = this.getProps().selectedItems;if (selectedItems && this.hasValueInItems(selectedItems, value)) {return false;}if (this.type === TokenInputType.Combined && this.
|
|
1243
|
+
var inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));var inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);}};_proto.moveFocusToLastToken = function moveFocusToLastToken() {var items = this.getProps().selectedItems;if (this.state.inputValue === '' && items && items.length > 0) {this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });}};return (0, _createClass2.default)(TokenInput, [{ key: "textareaId", get: function get() {var _this$props$id;return (_this$props$id = this.props.id) != null ? _this$props$id : this._textareaId;} }, { key: "showAddItemHint", get: function get() {var items = this.state.autocompleteItems;var value = this.getProps().valueToItem(this.state.inputValue);if (items && this.hasValueInItems(items, value)) {return false;}var selectedItems = this.getProps().selectedItems;if (selectedItems && this.hasValueInItems(selectedItems, value)) {return false;}if (this.type === TokenInputType.Combined && this.isInputValueChanged) {return true;}} }, { key: "type", get: function get() {return this.props.type ? this.props.type : TokenInputType.WithReference;} }, { key: "menuRef", get: function get() {return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();} }, { key: "isCursorVisible", get: function get() {return this.isCursorVisibleForState(this.state);} }, { key: "isEditingMode", get: function get() {return this.state.editingTokenIndex > -1;} }, { key: "isInputChanged", get: function get() {if (this.isEditingMode) {return this.isTokenValueChanged;}return this.isInputValueChanged;} }, { key: "isInputValueChanged", get: function get() {var inputValue = this.state.inputValue;return inputValue !== '';} }, { key: "isTokenValueChanged", get: function get() {var _this$state4 = this.state,inputValue = _this$state4.inputValue,editingTokenIndex = _this$state4.editingTokenIndex;var _this$getProps9 = this.getProps(),valueToString = _this$getProps9.valueToString,selectedItems = _this$getProps9.selectedItems;if (this.isEditingMode) {return valueToString(selectedItems[editingTokenIndex]) !== inputValue;}return false;} }]);}(_react.default.PureComponent), _TokenInput.__KONTUR_REACT_UI__ = 'TokenInput', _TokenInput.displayName = 'TokenInput', _TokenInput.defaultProps = { selectedItems: [], // TEMP_FAKE_FLAG помогает узнать, остались ли разделители дефолтными или пользователь передал их равными дефолтным.
|
|
1229
1244
|
delimiters: [',', TEMP_FAKE_FLAG], renderItem: identity, renderValue: identity, valueToString: identity, valueToItem: function valueToItem(item) {return item;}, toKey: defaultToKey, onValueChange: function onValueChange() {return void 0;}, width: 250, onBlur: _utils.emptyHandler, onFocus: _utils.emptyHandler, onMouseEnter: _utils.emptyHandler, onMouseLeave: _utils.emptyHandler, menuWidth: 'auto', menuAlign: 'cursor', size: 'small' }, _TokenInput)) || _class) || _class);
|