@skbkontur/react-ui 5.6.1-9a162.0 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -3
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Button/Button.d.ts +7 -7
  5. package/cjs/components/Button/Button.js.map +1 -1
  6. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -4
  7. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  8. package/cjs/components/FxInput/FxInput.d.ts +5 -5
  9. package/cjs/components/FxInput/FxInput.js.map +1 -1
  10. package/cjs/components/Input/Input.d.ts +6 -6
  11. package/cjs/components/Input/Input.js.map +1 -1
  12. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -2
  13. package/cjs/components/Input/InputLayout/InputLayout.js +17 -20
  14. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  15. package/cjs/components/Link/Link.d.ts +3 -3
  16. package/cjs/components/Link/Link.js.map +1 -1
  17. package/cjs/components/Loader/Loader.styles.js +10 -1
  18. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  19. package/cjs/components/MaskedInput/MaskedInput.d.ts +3 -3
  20. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  21. package/cjs/components/RadioGroup/RadioGroup.d.ts +9 -9
  22. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  23. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  24. package/components/Autocomplete/Autocomplete.d.ts +3 -3
  25. package/components/Button/Button/Button.js.map +1 -1
  26. package/components/Button/Button.d.ts +7 -7
  27. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  28. package/components/CurrencyInput/CurrencyInput.d.ts +4 -4
  29. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  30. package/components/FxInput/FxInput.d.ts +5 -5
  31. package/components/Input/Input/Input.js.map +1 -1
  32. package/components/Input/Input.d.ts +6 -6
  33. package/components/Input/InputLayout/InputLayout/InputLayout.js +2 -3
  34. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  35. package/components/Input/InputLayout/InputLayout.d.ts +1 -2
  36. package/components/Link/Link/Link.js.map +1 -1
  37. package/components/Link/Link.d.ts +3 -3
  38. package/components/Loader/Loader.styles/Loader.styles.js +1 -1
  39. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  40. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  41. package/components/MaskedInput/MaskedInput.d.ts +3 -3
  42. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  43. package/components/RadioGroup/RadioGroup.d.ts +9 -9
  44. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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.6.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.6.0...@skbkontur/react-ui@5.6.1) (2026-01-14)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Loader:** add transparency to the overlay veil ([68a8260](https://github.com/skbkontur/retail-ui/commit/68a8260e72e897c8686fe7b4e1e4f17722c76f82))
12
+
13
+
14
+
15
+
16
+
6
17
  # [5.6.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.5.2...@skbkontur/react-ui@5.6.0) (2025-12-26)
7
18
 
8
19
 
@@ -7,7 +7,7 @@ import type { TGetRootNode } from '../../lib/rootNode';
7
7
  import type { SizeProp } from '../../lib/types/props';
8
8
  import { type MaskedProps } from '../MaskedInput';
9
9
  export interface AutocompleteProps extends CommonProps, Pick<AriaAttributes, 'aria-label'>, Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>, Override<Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>, {
10
- /** Задаёт функцию отрисовки элементов результата поиска. */
10
+ /** Отрисовывает элементы результата поиска. */
11
11
  renderItem?: (item: string) => React.ReactNode;
12
12
  /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений. */
13
13
  source?: string[] | ((patter: string) => Promise<string[]>);
@@ -23,9 +23,9 @@ export interface AutocompleteProps extends CommonProps, Pick<AriaAttributes, 'ar
23
23
  menuWidth?: number | string;
24
24
  /** Отключает скролл окна, когда выпадающий список раскрыт. */
25
25
  preventWindowScroll?: boolean;
26
- /** Задаёт функцию, которая вызывается при изменении `value`. */
26
+ /** Событие изменения `value`. */
27
27
  onValueChange: (value: string) => void;
28
- /** Задаёт функцию, которая вызывается при потере автокомплитом фокуса. */
28
+ /** Событие потери автокомплитом фокуса. */
29
29
  onBlur?: () => void;
30
30
  /** Размер автокомплита. */
31
31
  size?: SizeProp;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_MenuMessage","_decorators","_utils","_ThemeContext","_Emotion","_identifiers","_Input","_Menu","_MenuItem","_RenderLayer","_createPropsGetter","_fixClickFocusIE","_CommonWrapper","_MobilePopup","_decorator","_rootNode","_getDOMRect","_Popup","_getMenuPositions","_ZIndex","_MaskedInput","_ReactUIFeatureFlagsContext","_FeatureFlagsHelpers","_SizeDecorator","_Autocomplete2","_locale","_getAutocompleteTheme","_excluded","_dec","_class","_Autocomplete","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","exports","root","menu","AutocompleteIds","Autocomplete","locale","AutocompleteLocaleHelper","responsiveLayout","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","getRandomID","requestId","getProps","createPropsGetter","defaultProps","renderMain","props","_cx","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","menuPos","_props$width","width","theme","inputWidth","mobileMenuHeaderText","type","rest","_objectWithoutPropertiesLoose2","default","inputProps","_extends2","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","RenderLayer","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","cx","styles","noPortal","style","refRootSpan","getInput","renderMobileMenu","renderMenu","featureFlags","autocompleteUseMaskedInput","mask","MaskedInput","getSafeMaskInputType","maskChar","Input","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","inputMode","MobilePopup","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","Menu","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","MenuItem","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","fixClickFocusIE","isKeyEscape","preventDefault","isKeyArrowUp","up","isKeyArrowDown","down","isKeyEnter","enter","getAnchor","getRootNode","el","span","rootSpan","_inheritsLoose2","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","getAutocompleteTheme","Provider","CommonWrapper","rootNodeRef","setRootNode","MenuMessage","notFound","isNullable","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","getDOMRect","menuProps","hasMargin","Popup","priority","ZIndex","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","getMenuPositions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","globalObject","setTimeout","_this5","trim","promise","expectingId","then","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../../internal/Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getSafeMaskInputType, MaskedInput, type MaskedProps } from '../MaskedInput';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { styles } from './Autocomplete.styles';\nimport type { AutocompleteLocale } from './locale';\nimport { AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n Override<\n Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n {\n /** Задаёт функцию отрисовки элементов результата поиска. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** По умолчанию выпадающий список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего списка. */\n hasShadow?: boolean;\n\n /** Выравнивание выпадающего списка. */\n menuAlign?: 'left' | 'right';\n\n /** Максимальная высота выпадающего списка. */\n menuMaxHeight?: number | string;\n\n /** Ширина выпадающего списка. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда выпадающий список раскрыт. */\n preventWindowScroll?: boolean;\n\n /** Задаёт функцию, которая вызывается при изменении `value`. */\n onValueChange: (value: string) => void;\n\n /** Задаёт функцию, которая вызывается при потере автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Размер автокомплита. */\n size?: SizeProp;\n\n /** Значение автокомплита. */\n value: string;\n\n /** Текст заголовка выпадающего списка в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /** Расположение выпадающего списка — над или под полем. */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<AutocompleteProps, 'renderItem' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>\n>;\n\n/**\n * Автокомплит — поле ввода с выпадающим списком подсказок. Подсказки отображаются пользователю, когда он начинает вводить значение в поле. */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\n@withSize\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n private featureFlags!: ReactUIFeatureFlags;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /** Программно устанавливает фокус на автокомплит.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /** Программно снимает фокус с автокомплита.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n type,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n 'aria-controls': this.menuId,\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={cx(styles.root(this.theme), {\n [styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n {this.getInput(inputProps)}\n\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: calculatedMenuWidth,\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private getInput = (inputProps: InputProps) => {\n return this.featureFlags.autocompleteUseMaskedInput && this.props.mask ? (\n <MaskedInput\n {...inputProps}\n type={getSafeMaskInputType(this.props.type)}\n mask={this.props.mask}\n maskChar={this.props.maskChar}\n />\n ) : (\n <Input {...inputProps} mask={this.props.mask} maskChar={this.props.maskChar} />\n );\n };\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n type: this.props.type,\n inputMode: this.props.inputMode,\n 'aria-label': this.props['aria-label'],\n 'aria-controls': this.menuId,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={this.getInput(inputProps)}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n\n // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.\n // Можно будет убрать после полного перехода на MaskedInput\n globalObject.setTimeout(() => {\n this.blur();\n }, 0);\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_MenuMessage","_decorators","_utils","_ThemeContext","_Emotion","_identifiers","_Input","_Menu","_MenuItem","_RenderLayer","_createPropsGetter","_fixClickFocusIE","_CommonWrapper","_MobilePopup","_decorator","_rootNode","_getDOMRect","_Popup","_getMenuPositions","_ZIndex","_MaskedInput","_ReactUIFeatureFlagsContext","_FeatureFlagsHelpers","_SizeDecorator","_Autocomplete2","_locale","_getAutocompleteTheme","_excluded","_dec","_class","_Autocomplete","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","exports","root","menu","AutocompleteIds","Autocomplete","locale","AutocompleteLocaleHelper","responsiveLayout","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","getRandomID","requestId","getProps","createPropsGetter","defaultProps","renderMain","props","_cx","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","menuPos","_props$width","width","theme","inputWidth","mobileMenuHeaderText","type","rest","_objectWithoutPropertiesLoose2","default","inputProps","_extends2","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","RenderLayer","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","cx","styles","noPortal","style","refRootSpan","getInput","renderMobileMenu","renderMenu","featureFlags","autocompleteUseMaskedInput","mask","MaskedInput","getSafeMaskInputType","maskChar","Input","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","inputMode","MobilePopup","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","Menu","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","MenuItem","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","fixClickFocusIE","isKeyEscape","preventDefault","isKeyArrowUp","up","isKeyArrowDown","down","isKeyEnter","enter","getAnchor","getRootNode","el","span","rootSpan","_inheritsLoose2","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","getAutocompleteTheme","Provider","CommonWrapper","rootNodeRef","setRootNode","MenuMessage","notFound","isNullable","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","getDOMRect","menuProps","hasMargin","Popup","priority","ZIndex","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","getMenuPositions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","globalObject","setTimeout","_this5","trim","promise","expectingId","then","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../../internal/Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getSafeMaskInputType, MaskedInput, type MaskedProps } from '../MaskedInput';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { styles } from './Autocomplete.styles';\nimport type { AutocompleteLocale } from './locale';\nimport { AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n Override<\n Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n {\n /** Отрисовывает элементы результата поиска. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** По умолчанию выпадающий список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего списка. */\n hasShadow?: boolean;\n\n /** Выравнивание выпадающего списка. */\n menuAlign?: 'left' | 'right';\n\n /** Максимальная высота выпадающего списка. */\n menuMaxHeight?: number | string;\n\n /** Ширина выпадающего списка. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда выпадающий список раскрыт. */\n preventWindowScroll?: boolean;\n\n /** Событие изменения `value`. */\n onValueChange: (value: string) => void;\n\n /** Событие потери автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Размер автокомплита. */\n size?: SizeProp;\n\n /** Значение автокомплита. */\n value: string;\n\n /** Текст заголовка выпадающего списка в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /** Расположение выпадающего списка — над или под полем. */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<AutocompleteProps, 'renderItem' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>\n>;\n\n/**\n * Автокомплит — поле ввода с выпадающим списком подсказок. Подсказки отображаются пользователю, когда он начинает вводить значение в поле. */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\n@withSize\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n private featureFlags!: ReactUIFeatureFlags;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /** Программно устанавливает фокус на автокомплит.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /** Программно снимает фокус с автокомплита.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n type,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n 'aria-controls': this.menuId,\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={cx(styles.root(this.theme), {\n [styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n {this.getInput(inputProps)}\n\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: calculatedMenuWidth,\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private getInput = (inputProps: InputProps) => {\n return this.featureFlags.autocompleteUseMaskedInput && this.props.mask ? (\n <MaskedInput\n {...inputProps}\n type={getSafeMaskInputType(this.props.type)}\n mask={this.props.mask}\n maskChar={this.props.maskChar}\n />\n ) : (\n <Input {...inputProps} mask={this.props.mask} maskChar={this.props.maskChar} />\n );\n };\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n type: this.props.type,\n inputMode: this.props.inputMode,\n 'aria-label': this.props['aria-label'],\n 'aria-controls': this.menuId,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={this.getInput(inputProps)}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n\n // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.\n // Можно будет убрать после полного перехода на MaskedInput\n globalObject.setTimeout(() => {\n this.blur();\n }, 0);\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ export interface ButtonInnerProps extends CommonProps {
14
14
  _noRightPadding?: boolean;
15
15
  /** Применяет к кнопке стили псевдокласса `:active`. */
16
16
  active?: boolean;
17
- /** Задаёт выравнивание текста в кнопке. */
17
+ /** Выравнивание текста в кнопке. */
18
18
  align?: React.CSSProperties['textAlign'];
19
19
  /** Преобразует обычную кнопку в кнопку со стрелкой. */
20
20
  arrow?: boolean | 'left';
@@ -49,13 +49,13 @@ export interface ButtonInnerProps extends CommonProps {
49
49
  *
50
50
  * **Не рекомендуем использовать, противоречит дизайн-требованиям.** */
51
51
  narrow?: boolean;
52
- /** Задаёт размер кнопки. */
52
+ /** Размер кнопки. */
53
53
  size?: SizeProp;
54
- /** Задаёт HTML-атрибут `type`. */
54
+ /** HTML-атрибут `type`. */
55
55
  type?: ButtonType;
56
- /** Задаёт HTML-атрибут `title`. */
56
+ /** HTML-атрибут `title`. */
57
57
  title?: string;
58
- /** Задаёт стиль кнопки.
58
+ /** Стиль кнопки.
59
59
  * **Вариант `link` устарел.** Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.
60
60
  */
61
61
  use?: ButtonUse;
@@ -66,9 +66,9 @@ export interface ButtonInnerProps extends CommonProps {
66
66
  * **Не рекомендуем использовать, противоречит дизайн-требованиям.**
67
67
  */
68
68
  warning?: boolean;
69
- /** Задаёт ширину кнопки. */
69
+ /** Ширина кнопки. */
70
70
  width?: number | string;
71
- /** Задаёт объект с переменными темы. */
71
+ /** Объект с переменными темы. */
72
72
  theme?: ThemeIn;
73
73
  }
74
74
  export declare const BUTTON_DEFAULT_COMPONENT = "button";
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_utils","_client","_keyListener","_ThemeHelpers","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_ThemeFactory","_createPropsGetter","_Link","_SizeDecorator","_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","withSize","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","theme","_this$getProps","sizeClass","getSizeClassName","isFocused","isLink","_useButtonArrow","useButtonArrow","_extends2","Boolean","size","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","nonInteractive","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","buttonOnlyProps","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","_this$getProps2","isThemeGTE_5_3","isThemeGTE","_commonClasses","_themeSpecificClasses","commonClasses","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","themeSpecificClasses","sizeLargeWithRightIcon","sizeLargeWithIconWithoutText5_3","sizeLarge","_commonClasses3","_themeSpecificClasses3","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeMediumWithRightIcon","sizeMediumWithIconWithoutText5_3","sizeMedium","_commonClasses5","_themeSpecificClasses5","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","sizeSmallWithRightIcon","sizeSmallWithIconWithoutText5_3","sizeSmall","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","displayName","__BUTTON__","type"],"sources":["Button.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { isKonturIcon } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Link } from '../Link';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport type { ButtonIconProps } from './ButtonIcon';\nimport { ButtonIcon, 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 /** Применяет к кнопке стили псевдокласса `:active`. */\n active?: boolean;\n\n /** Задаёт выравнивание текста в кнопке. */\n align?: React.CSSProperties['textAlign'];\n\n /** Преобразует обычную кнопку в кнопку со стрелкой. */\n arrow?: boolean | 'left';\n\n /** Устанавливает фокус на кнопке после окончания загрузки страницы.*/\n autoFocus?: boolean;\n\n /** Убирает обводку у кнопки.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.**\n */\n borderless?: boolean;\n\n /** @ignore */\n checked?: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Блокирует кнопку и перекрашивает в серый. */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Ошибка\".\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.** */\n error?: boolean;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа от текста кнопки. */\n rightIcon?: React.ReactElement;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Сужает кнопку.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.** */\n narrow?: boolean;\n\n /** Задаёт размер кнопки. */\n size?: SizeProp;\n\n /** Задаёт HTML-атрибут `type`. */\n type?: ButtonType;\n\n /** Задаёт HTML-атрибут `title`. */\n title?: string;\n\n /** Задаёт стиль кнопки.\n * **Вариант `link` устарел.** Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Предупреждение\".\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.**\n */\n warning?: boolean;\n\n /** Задаёт ширину кнопки. */\n width?: number | string;\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' | 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n/** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */\n@withSize\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 // 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 size!: SizeProp;\n public getRootNode!: TGetRootNode;\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 theme,\n ...rest\n } = props;\n const { use, 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), size: this.size },\n this.theme,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n\n const nonInteractive = 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 ...(nonInteractive\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 onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: nonInteractive, 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 buttonOnlyProps = component === 'button' ? { disabled: nonInteractive } : {};\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !nonInteractive) {\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.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)]: nonInteractive,\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={this.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} {...buttonOnlyProps}>\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.size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n const { icon, rightIcon, children } = this.getProps();\n const isThemeGTE_5_3 = isThemeGTE(this.theme, '5.3');\n\n switch (this.size) {\n case 'large': {\n const commonClasses = {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: !!icon && !children,\n };\n\n const themeSpecificClasses = {\n [styles.sizeLargeWithRightIcon(this.theme)]: !!rightIcon,\n [styles.sizeLargeWithIconWithoutText5_3(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n return cx(styles.sizeLarge(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);\n }\n case 'medium': {\n const commonClasses = {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: !!icon && !children,\n };\n\n const themeSpecificClasses = {\n [styles.sizeMediumWithRightIcon(this.theme)]: !!rightIcon,\n [styles.sizeMediumWithIconWithoutText5_3(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return cx(styles.sizeMedium(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);\n }\n case 'small':\n default: {\n const commonClasses = {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: !!icon && !children,\n };\n\n const themeSpecificClasses = {\n [styles.sizeSmallWithRightIcon(this.theme)]: !!rightIcon,\n [styles.sizeSmallWithIconWithoutText5_3(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return cx(styles.sizeSmall(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);\n }\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_utils","_client","_keyListener","_ThemeHelpers","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_ThemeFactory","_createPropsGetter","_Link","_SizeDecorator","_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","withSize","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","theme","_this$getProps","sizeClass","getSizeClassName","isFocused","isLink","_useButtonArrow","useButtonArrow","_extends2","Boolean","size","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","nonInteractive","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","buttonOnlyProps","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","_this$getProps2","isThemeGTE_5_3","isThemeGTE","_commonClasses","_themeSpecificClasses","commonClasses","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","themeSpecificClasses","sizeLargeWithRightIcon","sizeLargeWithIconWithoutText5_3","sizeLarge","_commonClasses3","_themeSpecificClasses3","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeMediumWithRightIcon","sizeMediumWithIconWithoutText5_3","sizeMedium","_commonClasses5","_themeSpecificClasses5","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","sizeSmallWithRightIcon","sizeSmallWithIconWithoutText5_3","sizeSmall","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","displayName","__BUTTON__","type"],"sources":["Button.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { isKonturIcon } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Link } from '../Link';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport type { ButtonIconProps } from './ButtonIcon';\nimport { ButtonIcon, 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 /** Применяет к кнопке стили псевдокласса `:active`. */\n active?: boolean;\n\n /** Выравнивание текста в кнопке. */\n align?: React.CSSProperties['textAlign'];\n\n /** Преобразует обычную кнопку в кнопку со стрелкой. */\n arrow?: boolean | 'left';\n\n /** Устанавливает фокус на кнопке после окончания загрузки страницы.*/\n autoFocus?: boolean;\n\n /** Убирает обводку у кнопки.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.**\n */\n borderless?: boolean;\n\n /** @ignore */\n checked?: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Блокирует кнопку и перекрашивает в серый. */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Ошибка\".\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.** */\n error?: boolean;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа от текста кнопки. */\n rightIcon?: React.ReactElement;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Сужает кнопку.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.** */\n narrow?: boolean;\n\n /** Размер кнопки. */\n size?: SizeProp;\n\n /** HTML-атрибут `type`. */\n type?: ButtonType;\n\n /** HTML-атрибут `title`. */\n title?: string;\n\n /** Стиль кнопки.\n * **Вариант `link` устарел.** Если нужна кнопка, выглядящая как ссылка, используйте `Link component=button`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Предупреждение\".\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.**\n */\n warning?: boolean;\n\n /** Ширина кнопки. */\n width?: number | string;\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' | 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n/** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */\n@withSize\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 // 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 size!: SizeProp;\n public getRootNode!: TGetRootNode;\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 theme,\n ...rest\n } = props;\n const { use, 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), size: this.size },\n this.theme,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n\n const nonInteractive = 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 ...(nonInteractive\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 onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: nonInteractive, 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 buttonOnlyProps = component === 'button' ? { disabled: nonInteractive } : {};\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !nonInteractive) {\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.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)]: nonInteractive,\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={this.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} {...buttonOnlyProps}>\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.size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n const { icon, rightIcon, children } = this.getProps();\n const isThemeGTE_5_3 = isThemeGTE(this.theme, '5.3');\n\n switch (this.size) {\n case 'large': {\n const commonClasses = {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: !!icon && !children,\n };\n\n const themeSpecificClasses = {\n [styles.sizeLargeWithRightIcon(this.theme)]: !!rightIcon,\n [styles.sizeLargeWithIconWithoutText5_3(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n return cx(styles.sizeLarge(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);\n }\n case 'medium': {\n const commonClasses = {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: !!icon && !children,\n };\n\n const themeSpecificClasses = {\n [styles.sizeMediumWithRightIcon(this.theme)]: !!rightIcon,\n [styles.sizeMediumWithIconWithoutText5_3(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return cx(styles.sizeMedium(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);\n }\n case 'small':\n default: {\n const commonClasses = {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: !!icon && !children,\n };\n\n const themeSpecificClasses = {\n [styles.sizeSmallWithRightIcon(this.theme)]: !!rightIcon,\n [styles.sizeSmallWithIconWithoutText5_3(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return cx(styles.sizeSmall(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);\n }\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.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"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonW
6
6
  import type { TGetRootNode } from '../../lib/rootNode';
7
7
  import type { Selection } from './SelectionHelper';
8
8
  export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<Omit<InputProps, 'showClearIcon'>, {
9
- /** Задаёт значение поля. */
9
+ /** Значение поля. */
10
10
  value?: Nullable<number>;
11
11
  /** Убирает лишние нули после запятой. */
12
12
  hideTrailingZeros?: boolean;
@@ -14,12 +14,12 @@ export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>,
14
14
  fractionDigits?: Nullable<number>;
15
15
  /** Разрешает вводить в поле символ минуса для отрицательных значений. */
16
16
  signed?: boolean;
17
- /** Задаёт допустимое количество цифр целой части до запятой.
17
+ /** Допустимое количество цифр целой части до запятой.
18
18
  * Если передан **0**, то в целой части допускается только **0**. */
19
19
  integerDigits?: Nullable<number>;
20
- /** Задаёт функцию, которая вызывается при изменении `value`. */
20
+ /** Событие изменения `value`. */
21
21
  onValueChange: (value: Nullable<number>) => void;
22
- /** Задаёт функцию, которая вызывается при отправке формы. */
22
+ /** Событие отправки формы. */
23
23
  onSubmit?: () => void;
24
24
  }> {
25
25
  }