@skbkontur/react-ui 5.4.1 → 5.4.3

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 (91) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +10 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js +18 -2
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +23 -13
  6. package/cjs/components/Button/Button.js +13 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +11 -22
  9. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -16
  10. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  11. package/cjs/components/FxInput/FxInput.d.ts +14 -14
  12. package/cjs/components/FxInput/FxInput.js +7 -8
  13. package/cjs/components/FxInput/FxInput.js.map +1 -1
  14. package/cjs/components/Input/Input.d.ts +27 -37
  15. package/cjs/components/Input/Input.js +9 -19
  16. package/cjs/components/Input/Input.js.map +1 -1
  17. package/cjs/components/Link/Link.d.ts +10 -10
  18. package/cjs/components/Link/Link.js +1 -1
  19. package/cjs/components/Link/Link.js.map +1 -1
  20. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -6
  21. package/cjs/components/PasswordInput/PasswordInput.js +4 -5
  22. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  23. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  24. package/cjs/components/Textarea/Textarea.js +14 -2
  25. package/cjs/components/Textarea/Textarea.js.map +1 -1
  26. package/cjs/components/__stories__/Form.js +95 -0
  27. package/cjs/components/__stories__/Form.js.map +1 -0
  28. package/cjs/internal/CommonWrapper/types.d.ts +1 -1
  29. package/cjs/internal/CommonWrapper/types.js.map +1 -1
  30. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  31. package/cjs/internal/ResizeDetector/ResizeDetector.js +8 -1
  32. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  33. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  34. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -1
  35. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  36. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  37. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  38. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  39. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  40. package/cjs/lib/utils.d.ts +1 -1
  41. package/cjs/lib/utils.js +2 -3
  42. package/cjs/lib/utils.js.map +1 -1
  43. package/cjs/test-setup.d.ts +1 -0
  44. package/cjs/vitest.config.d.ts +2 -0
  45. package/components/Autocomplete/Autocomplete/Autocomplete.js +10 -2
  46. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  47. package/components/Autocomplete/Autocomplete.d.ts +10 -2
  48. package/components/Button/Button/Button.js +4 -2
  49. package/components/Button/Button/Button.js.map +1 -1
  50. package/components/Button/Button.d.ts +23 -13
  51. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +4 -16
  52. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  53. package/components/CurrencyInput/CurrencyInput.d.ts +11 -22
  54. package/components/FxInput/FxInput/FxInput.js +5 -8
  55. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  56. package/components/FxInput/FxInput.d.ts +14 -14
  57. package/components/Input/Input/Input.js +8 -16
  58. package/components/Input/Input/Input.js.map +1 -1
  59. package/components/Input/Input.d.ts +27 -37
  60. package/components/Link/Link/Link.js +1 -1
  61. package/components/Link/Link/Link.js.map +1 -1
  62. package/components/Link/Link.d.ts +10 -10
  63. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -5
  64. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  65. package/components/PasswordInput/PasswordInput.d.ts +5 -6
  66. package/components/Textarea/Textarea/Textarea.js +12 -6
  67. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  68. package/components/Textarea/Textarea.d.ts +1 -0
  69. package/components/__stories__/Form/Form.js +98 -0
  70. package/components/__stories__/Form/Form.js.map +1 -0
  71. package/components/__stories__/Form/package.json +6 -0
  72. package/internal/CommonWrapper/types/types.js.map +1 -1
  73. package/internal/CommonWrapper/types.d.ts +1 -1
  74. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +1 -1
  75. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  76. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  77. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +4 -1
  78. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  79. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  80. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  81. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  82. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  83. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  84. package/lib/utils/utils.js +5 -2
  85. package/lib/utils/utils.js.map +1 -1
  86. package/lib/utils.d.ts +1 -1
  87. package/package.json +14 -18
  88. package/test-setup.d.ts +1 -0
  89. package/vitest.config.d.ts +2 -0
  90. package/cjs/lib/__stories__/Blink.creevey.mts +0 -90
  91. package/lib/__stories__/Blink.creevey.mts +0 -90
@@ -4,7 +4,7 @@ import type { InputProps } from '../Input';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
5
  import type { TGetRootNode } from '../../lib/rootNode';
6
6
  export interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Omit<InputProps, 'showClearIcon'> {
7
- /** Включает CapsLock детектор. */
7
+ /** Визуально показывает, что активен CapsLock. */
8
8
  detectCapsLock?: boolean;
9
9
  }
10
10
  export interface PasswordInputState {
@@ -18,9 +18,7 @@ export declare const PasswordInputDataTids: {
18
18
  readonly eyeIcon: "PasswordInputEyeIcon";
19
19
  };
20
20
  /**
21
- * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.
22
- *
23
- * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.
21
+ * Однострочное поле для ввода пароля, в котором символы заменяются на точки.
24
22
  */
25
23
  export declare class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {
26
24
  static __KONTUR_REACT_UI__: string;
@@ -38,11 +36,12 @@ export declare class PasswordInput extends React.PureComponent<PasswordInputProp
38
36
  visible: boolean;
39
37
  };
40
38
  render(): JSX.Element;
41
- /**
39
+ /** Программно устанавливает фокус на поле.
40
+ * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
42
41
  * @public
43
42
  */
44
43
  focus: () => void;
45
- /**
44
+ /** Программно снимает фокус с кнопки.
46
45
  * @public
47
46
  */
48
47
  blur: () => void;
@@ -48,9 +48,7 @@ var PasswordInputDataTids = exports.PasswordInputDataTids = {
48
48
  };
49
49
 
50
50
  /**
51
- * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.
52
- *
53
- * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.
51
+ * Однострочное поле для ввода пароля, в котором символы заменяются на точки.
54
52
  */var
55
53
 
56
54
 
@@ -112,7 +110,8 @@ PasswordInput = exports.PasswordInput = (_dec = (0, _decorators.locale)('Passwor
112
110
 
113
111
 
114
112
 
115
- /**
113
+ /** Программно устанавливает фокус на поле.
114
+ * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
116
115
  * @public
117
116
  */_this.
118
117
  focus = function () {
@@ -121,7 +120,7 @@ PasswordInput = exports.PasswordInput = (_dec = (0, _decorators.locale)('Passwor
121
120
  }
122
121
  };
123
122
 
124
- /**
123
+ /** Программно снимает фокус с кнопки.
125
124
  * @public
126
125
  */_this.
127
126
  blur = function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_decorators","_RenderLayer","_utils","_identifiers","_KeyboardEventCodes","_Input","_client","_CommonWrapper","_ThemeContext","_Emotion","_rootNode","_SizeDecorator","_createPropsGetter","_PasswordInput2","_PasswordInputIcon","_locale","_dec","_class","_PasswordInput","PasswordInputDataTids","exports","root","capsLockDetector","eyeIcon","PasswordInput","locale","PasswordInputLocaleHelper","rootNode","withSize","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","visible","focused","capsLockEnabled","getProps","createPropsGetter","focus","input","blur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","Codes","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","isKeyCapsLock","isNonNullable","handleToggleVisibility","prevState","focusOnInput","handleFocus","event","onFocus","handleFocusOutside","hideSymbols","renderEye","default","createElement","className","styles","iconWrapper","cx","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","PasswordInputIcon","size","refInput","element","renderMain","RenderLayer","active","onFocusOutside","onClickOutside","Input","_extends2","ref","rightIcon","_inheritsLoose2","_proto","prototype","componentDidMount","isIE11","isBrowser","globalObject","document","msCapsLockWarningOff","getDerivedStateFromProps","render","_this3","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport type { PasswordInputLocale } from './locale';\nimport { PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Omit<InputProps, 'showClearIcon'> {\n /** Включает CapsLock детектор. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\n/**\n * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.\n *\n * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.\n */\n\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\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 handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n {...props}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;;AAEA,IAAAO,MAAA,GAAAP,OAAA;;AAEA,IAAAQ,OAAA,GAAAR,OAAA;;AAEA,IAAAS,cAAA,GAAAT,OAAA;;AAEA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;;AAEA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAb,OAAA;;AAEA,IAAAc,kBAAA,GAAAd,OAAA;;AAEA,IAAAe,eAAA,GAAAf,OAAA;AACA,IAAAgB,kBAAA,GAAAhB,OAAA;;AAEA,IAAAiB,OAAA,GAAAjB,OAAA,aAAqD,IAAAkB,IAAA,EAAAC,MAAA,EAAAC,cAAA;;;;;;;;;;;;;;;;AAgB9C,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG;EACnCE,IAAI,EAAE,eAAe;EACrBC,gBAAgB,EAAE,+BAA+B;EACjDC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA;AACA;AACA;AACA,GAJA;;;;;AASaC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,IAAAR,IAAA,GAFzB,IAAAS,kBAAM,EAAC,eAAe,EAAEC,iCAAyB,CAAC,MADlDC,kBAAQ,EAAAV,MAAA,GAAAD,IAAA,CAAAC,MAAA,OAERW,uBAAQ,EAAAX,MAAA,IAAAC,cAAA,0BAAAW,oBAAA,YAAAL,cAAA,OAAAM,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;IAKAU,KAAK,GAAuB;MACjCC,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE,KAAK;MACdC,eAAe,EAAE;IACnB,CAAC,CAAAb,KAAA;;;;;;;;;;IAUOc,QAAQ,GAAG,IAAAC,oCAAiB,EAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsCxC;AACF;AACA,OAFEf,KAAA;IAGOgB,KAAK,GAAG,YAAM;MACnB,IAAIhB,KAAA,CAAKiB,KAAK,EAAE;QACdjB,KAAA,CAAKiB,KAAK,CAACD,KAAK,CAAC,CAAC;MACpB;IACF,CAAC;;IAED;AACF;AACA,OAFEhB,KAAA;IAGOkB,IAAI,GAAG,YAAM;MAClB,IAAIlB,KAAA,CAAKiB,KAAK,EAAE;QACdjB,KAAA,CAAKiB,KAAK,CAACC,IAAI,CAAC,CAAC;MACnB;IACF,CAAC,CAAAlB,KAAA;;IAEOmB,cAAc,GAAG,UAACC,CAAwC,EAAK;MACrE,IAAAC,WAAA,GAAuCrB,KAAA,CAAKsB,KAAK,CAAzCC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;;MAElC,IAAID,UAAU,EAAE;QACdA,UAAU,CAACH,CAAC,CAAC;MACf;;MAEA,IAAI,CAACI,cAAc,EAAE;QACnB;MACF;;MAEA,IAAMX,eAAe,GAAGO,CAAC,CAACK,gBAAgB,CAACC,sCAAK,CAACC,QAAQ,CAAC;;MAE1D3B,KAAA,CAAK4B,QAAQ,CAAC,EAAEf,eAAe,EAAfA,eAAe,CAAC,CAAC,CAAC;IACpC,CAAC,CAAAb,KAAA;;IAEO6B,aAAa,GAAG,UAACT,CAAwC,EAAK;MACpE,IAAAU,MAAA,GAAA9B,KAAA,CAAA+B,YAAA,GAAAD,MAAA;QACER,KAAK,CAAIE,cAAc,GAAAO,YAAA,CAAdP,cAAc,CAAEQ,SAAS,GAAAD,YAAA,CAATC,SAAS;QACzBnB,eAAe,GAAAiB,MAAA,CAAxBpB,KAAK,CAAIG,eAAe;;;MAG1B,IAAImB,SAAS,EAAE;QACbA,SAAS,CAACZ,CAAC,CAAC;MACd;;MAEA,IAAI,CAACI,cAAc,EAAE;QACnB;MACF;;MAEA,IAAI,IAAAS,0BAAa,EAACb,CAAC,CAAC,IAAI,IAAAc,oBAAa,EAACrB,eAAe,CAAC,EAAE;QACtDb,KAAA,CAAK4B,QAAQ,CAAC,EAAEf,eAAe,EAAE,CAACA,eAAe,CAAC,CAAC,CAAC;MACtD;IACF,CAAC,CAAAb,KAAA;;IAEOmC,sBAAsB,GAAG,YAAM;MACrCnC,KAAA,CAAK4B,QAAQ,CAAC,UAACQ,SAAS,UAAM,EAAEzB,OAAO,EAAE,CAACyB,SAAS,CAACzB,OAAO,CAAC,CAAC,EAAC,EAAEX,KAAA,CAAKqC,YAAY,CAAC;IACpF,CAAC,CAAArC,KAAA;;IAEOqC,YAAY,GAAG,YAAM;MAC3B,IAAIrC,KAAA,CAAKiB,KAAK,EAAE;QACdjB,KAAA,CAAKiB,KAAK,CAACD,KAAK,CAAC,CAAC;MACpB;IACF,CAAC,CAAAhB,KAAA;;IAEOsC,WAAW,GAAG,UAACC,KAAyC,EAAK;MACnE,IAAIvC,KAAA,CAAKU,KAAK,CAACE,OAAO,EAAE;QACtB;MACF;;MAEAZ,KAAA,CAAK4B,QAAQ,CAAC,EAAEhB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;MAEhC,IAAIZ,KAAA,CAAKsB,KAAK,CAACkB,OAAO,EAAE;QACtBxC,KAAA,CAAKsB,KAAK,CAACkB,OAAO,CAACD,KAAK,CAAC;MAC3B;IACF,CAAC,CAAAvC,KAAA;;IAEOyC,kBAAkB,GAAG,YAAM;MACjCzC,KAAA,CAAK0C,WAAW,CAAC,CAAC;;MAElB,IAAI1C,KAAA,CAAKU,KAAK,CAACE,OAAO,EAAE;QACtBZ,KAAA,CAAK4B,QAAQ,CAAC,EAAEhB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,CAAAZ,KAAA;;;;;;;;;;;;;;IAcO2C,SAAS,GAAG,YAAM;MACxB,IAAQ9B,eAAe,GAAKb,KAAA,CAAKU,KAAK,CAA9BG,eAAe;;MAEvB;QACE/C,MAAA,CAAA8E,OAAA,CAAAC,aAAA,WAAMC,SAAS,EAAEC,sBAAM,CAACC,WAAW,CAAC,CAAE;QACnCnC,eAAe;QACd/C,MAAA,CAAA8E,OAAA,CAAAC,aAAA,WAAMC,SAAS,EAAEC,sBAAM,CAACvD,gBAAgB,CAAC,CAAE,EAAC,YAAUH,qBAAqB,CAACG,gBAAiB,EAAE,CAChG;;QACD1B,MAAA,CAAA8E,OAAA,CAAAC,aAAA,WAAMC,SAAS,EAAE,IAAAG,WAAE,EAACF,sBAAM,CAACG,gBAAgB,CAAClD,KAAA,CAAKmD,KAAK,CAAC,EAAEnD,KAAA,CAAKoD,sBAAsB,CAAC,CAAC,CAAE;QACrF,CAACpD,KAAA,CAAKsB,KAAK,CAAC+B,QAAQ;QACnBvF,MAAA,CAAA8E,OAAA,CAAAC,aAAA;UACES,IAAI,EAAC,QAAQ;UACb,cAAYtD,KAAA,CAAKU,KAAK,CAACC,OAAO,GAAGX,KAAA,CAAKL,MAAM,CAAC4D,kBAAkB,GAAGvD,KAAA,CAAKL,MAAM,CAAC6D,kBAAmB;UACjGC,OAAO,EAAEzD,KAAA,CAAKmC,sBAAuB;UACrCW,SAAS,EAAEC,sBAAM,CAACW,IAAI,CAAC,CAAE;UACzB,YAAUrE,qBAAqB,CAACI,OAAQ;;QAExC3B,MAAA,CAAA8E,OAAA,CAAAC,aAAA,CAAC7D,kBAAA,CAAA2E,iBAAiB,IAACC,IAAI,EAAE5D,KAAA,CAAK4D,IAAK,EAACjD,OAAO,EAAEX,KAAA,CAAKU,KAAK,CAACC,OAAQ,EAAE;QAC5D;;QAEN;QACF,CAAC;;IAEX,CAAC,CAAAX,KAAA;;IAEO6D,QAAQ,GAAG,UAACC,OAAc,EAAK;MACrC9D,KAAA,CAAKiB,KAAK,GAAG6C,OAAO;IACtB,CAAC,CAAA9D,KAAA;;IAEO0C,WAAW,GAAG,YAAM;MAC1B1C,KAAA,CAAK4B,QAAQ,CAAC,EAAEjB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC,CAAAX,KAAA;;IAEO+D,UAAU,GAAG,UAACzC,KAAiD,EAAK;MAC1E;QACExD,MAAA,CAAA8E,OAAA,CAAAC,aAAA,CAAC1E,YAAA,CAAA6F,WAAW;UACVC,MAAM,EAAEjE,KAAA,CAAKU,KAAK,CAACE,OAAQ;UAC3BsD,cAAc,EAAElE,KAAA,CAAKyC,kBAAmB;UACxC0B,cAAc,EAAEnE,KAAA,CAAKyC,kBAAmB;;QAExC3E,MAAA,CAAA8E,OAAA,CAAAC,aAAA,UAAK,YAAUxD,qBAAqB,CAACE,IAAK,EAACuD,SAAS,EAAEC,sBAAM,CAACxD,IAAI,CAAC,CAAE;QAClEzB,MAAA,CAAA8E,OAAA,CAAAC,aAAA,CAACtE,MAAA,CAAA6F,KAAK,MAAAC,SAAA,CAAAzB,OAAA;UACJ0B,GAAG,EAAEtE,KAAA,CAAK6D,QAAS;UACnBP,IAAI,EAAEtD,KAAA,CAAKU,KAAK,CAACC,OAAO,GAAG,MAAM,GAAG,UAAW;UAC/CqB,SAAS,EAAEhC,KAAA,CAAK6B,aAAc;UAC9BN,UAAU,EAAEvB,KAAA,CAAKmB,cAAe;UAChCoD,SAAS,EAAEvE,KAAA,CAAK2C,SAAS,CAAC,CAAE;UAC5BH,OAAO,EAAExC,KAAA,CAAKsC,WAAY;QACtBhB,KAAK;QACV;QACE;QACM,CAAC;;IAElB,CAAC,QAAAtB,KAAA,MAAAwE,eAAA,CAAA5B,OAAA,EAAAlD,aAAA,EAAAK,oBAAA,MAAA0E,MAAA,GAAA/E,aAAA,CAAAgF,SAAA,CAAAD,MAAA,CAxLME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,IAAI,CAACrD,KAAK,CAACE,cAAc,EAAE,CAC7B,IAAI,CAACI,QAAQ,CAAC,EAAEf,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1C,CAAC,CAED;IACA,IAAI+D,cAAM,IAAI,IAAAC,uBAAS,EAACC,0BAAY,CAAC,IAAI,CAACA,0BAAY,CAACC,QAAQ,CAACC,oBAAoB,EAAE,CACpF;MACA;MACAF,0BAAY,CAACC,QAAQ,CAACC,oBAAoB,GAAG,IAAI,CACnD,CACF,CAAC,CAAAtF,aAAA,CAEauF,wBAAwB,GAAtC,SAAAA,yBAAuC3D,KAAyB,EAAEZ,KAAyB,EAAE,CAC3F,IAAIY,KAAK,CAAC+B,QAAQ,EAAE,CAClB,OAAO,EAAE1C,OAAO,EAAE,KAAK,CAAC,CAAC,CAC3B,CAEA,OAAOD,KAAK,CACd,CAAC,CAAA+D,MAAA,CAEMS,MAAM,GAAb,SAAAA,OAAA,EAA6B,KAAAC,MAAA,QAC3B,oBACErH,MAAA,CAAA8E,OAAA,CAAAC,aAAA,CAACnE,aAAA,CAAA0G,YAAY,CAACC,QAAQ,QACnB,UAAClC,KAAK,EAAK,CACVgC,MAAI,CAAChC,KAAK,GAAGA,KAAK,CAClB,oBACErF,MAAA,CAAA8E,OAAA,CAAAC,aAAA,CAACpE,cAAA,CAAA6G,aAAa,MAAAjB,SAAA,CAAAzB,OAAA,IAAC2C,WAAW,EAAEJ,MAAI,CAACK,WAAY,IAAKL,MAAI,CAACrE,QAAQ,CAAC,CAAC,GAC9DqE,MAAI,CAACpB,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAAAU,MAAA,CAqFOrB,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAACQ,IAAI,GACf,KAAK,OAAO,CACV,OAAOb,sBAAM,CAAC0C,eAAe,CAAC,IAAI,CAACtC,KAAK,CAAC,CAC3C,KAAK,QAAQ,CACX,OAAOJ,sBAAM,CAAC2C,gBAAgB,CAAC,IAAI,CAACvC,KAAK,CAAC,CAC5C,KAAK,OAAO,CACZ,QACE,OAAOJ,sBAAM,CAAC4C,eAAe,CAAC,IAAI,CAACxC,KAAK,CAAC,CAC7C,CACF,CAAC,QAAAzD,aAAA,GArJgCkG,cAAK,CAACC,aAAa,GAAAzG,cAAA,CACtC0G,mBAAmB,GAAG,eAAe,EAAA1G,cAAA,CACrC2G,WAAW,GAAG,eAAe,EAAA3G,cAAA,MAAAD,MAAA,KAAAA,MAAA,KAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_decorators","_RenderLayer","_utils","_identifiers","_KeyboardEventCodes","_Input","_client","_CommonWrapper","_ThemeContext","_Emotion","_rootNode","_SizeDecorator","_createPropsGetter","_PasswordInput2","_PasswordInputIcon","_locale","_dec","_class","_PasswordInput","PasswordInputDataTids","exports","root","capsLockDetector","eyeIcon","PasswordInput","locale","PasswordInputLocaleHelper","rootNode","withSize","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","visible","focused","capsLockEnabled","getProps","createPropsGetter","focus","input","blur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","Codes","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","isKeyCapsLock","isNonNullable","handleToggleVisibility","prevState","focusOnInput","handleFocus","event","onFocus","handleFocusOutside","hideSymbols","renderEye","default","createElement","className","styles","iconWrapper","cx","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","PasswordInputIcon","size","refInput","element","renderMain","RenderLayer","active","onFocusOutside","onClickOutside","Input","_extends2","ref","rightIcon","_inheritsLoose2","_proto","prototype","componentDidMount","isIE11","isBrowser","globalObject","document","msCapsLockWarningOff","getDerivedStateFromProps","render","_this3","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport type { PasswordInputLocale } from './locale';\nimport { PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Omit<InputProps, 'showClearIcon'> {\n /** Визуально показывает, что активен CapsLock. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\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 handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n {...props}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -82,6 +82,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
82
82
  };
83
83
  private size;
84
84
  private reflowCounter;
85
+ private featureFlags;
85
86
  private theme;
86
87
  private selectAllId;
87
88
  private node;
@@ -22,6 +22,11 @@ var _createPropsGetter = require("../../lib/createPropsGetter");
22
22
 
23
23
 
24
24
  var _SizeDecorator = require("../../lib/size/SizeDecorator");
25
+ var _ReactUIFeatureFlagsContext = require("../../lib/featureFlagsContext/ReactUIFeatureFlagsContext");
26
+
27
+
28
+
29
+ var _FeatureFlagsHelpers = require("../../lib/featureFlagsContext/FeatureFlagsHelpers");
25
30
 
26
31
  var _TextareaHelpers = require("./TextareaHelpers");
27
32
  var _Textarea2 = require("./Textarea.styles");
@@ -259,6 +264,13 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (0, _SizeDecorato
259
264
 
260
265
 
261
266
 
267
+
268
+
269
+
270
+
271
+
272
+
273
+
262
274
 
263
275
 
264
276
 
@@ -394,7 +406,7 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (0, _SizeDecorato
394
406
  ) }),
395
407
 
396
408
  placeholderPolyfill, /*#__PURE__*/
397
- _react.default.createElement(_ResizeDetector.ResizeDetector, { onResize: _this.reflowCounter }, /*#__PURE__*/
409
+ _react.default.createElement(_ResizeDetector.ResizeDetector, { onResize: _this.reflowCounter, alignBaseline: _this.featureFlags.textareaBaselineAlign }, /*#__PURE__*/
398
410
  _react.default.createElement(Component, (0, _extends2.default)({},
399
411
  textareaProps, {
400
412
  className: textareaClassNames,
@@ -545,7 +557,7 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (0, _SizeDecorato
545
557
  }
546
558
  };return _this;}(0, _inheritsLoose2.default)(Textarea, _React$Component);var _proto = Textarea.prototype;_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.size) {case 'large':return _Textarea2.styles.rootLarge(this.theme);case 'medium':return _Textarea2.styles.rootMedium(this.theme);case 'small':default:return _Textarea2.styles.rootSmall(this.theme);}};_proto.getTextareaSizeClassName = function getTextareaSizeClassName() {switch (this.size) {case 'large':return _Textarea2.styles.textareaLarge(this.theme);case 'medium':return _Textarea2.styles.textareaMedium(this.theme);case 'small':default:return _Textarea2.styles.textareaSmall(this.theme);}};_proto.getAutoResizeThrottleWait = function getAutoResizeThrottleWait(props) {if (props === void 0) {props = this.props;} // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты
547
559
  // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120
548
- return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;};_proto.isAnimationsDisabled = function isAnimationsDisabled(_temp) {var _ref3 = _temp === void 0 ? this.props : _temp,disableAnimations = _ref3.disableAnimations,extraRow = _ref3.extraRow;return disableAnimations || !extraRow;};_proto.componentDidMount = function componentDidMount() {if (this.props.autoResize) {this.autoResize();this.layoutEvents = LayoutEvents.addListener(this.autoResize);}if (this.node && this.props.showLengthCounter && this.textareaObserver) {this.textareaObserver.observe(this.node, { attributes: true });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutEvents) {this.layoutEvents.remove();}if (this.props.showLengthCounter && this.textareaObserver) {this.textareaObserver.disconnect();}this.cancelDelayedSelectAll();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {this.autoResize.cancel();this.autoResize = (0, _lodash.default)(this.autoResizeHandler, this.getAutoResizeThrottleWait());}var _this$getProps2 = this.getProps(),rows = _this$getProps2.rows,maxRows = _this$getProps2.maxRows;if (this.props.autoResize && (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)) {this.autoResize();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});} /**
560
+ return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;};_proto.isAnimationsDisabled = function isAnimationsDisabled(_temp) {var _ref3 = _temp === void 0 ? this.props : _temp,disableAnimations = _ref3.disableAnimations,extraRow = _ref3.extraRow;return disableAnimations || !extraRow;};_proto.componentDidMount = function componentDidMount() {if (this.props.autoResize) {this.autoResize();this.layoutEvents = LayoutEvents.addListener(this.autoResize);}if (this.node && this.props.showLengthCounter && this.textareaObserver) {this.textareaObserver.observe(this.node, { attributes: true });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutEvents) {this.layoutEvents.remove();}if (this.props.showLengthCounter && this.textareaObserver) {this.textareaObserver.disconnect();}this.cancelDelayedSelectAll();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {this.autoResize.cancel();this.autoResize = (0, _lodash.default)(this.autoResizeHandler, this.getAutoResizeThrottleWait());}var _this$getProps2 = this.getProps(),rows = _this$getProps2.rows,maxRows = _this$getProps2.maxRows;if (this.props.autoResize && (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)) {this.autoResize();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ReactUIFeatureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _FeatureFlagsHelpers.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});});} /**
549
561
  * @public
550
562
  */;_proto.focus = function focus() {if (this.node) {this.node.focus();}} /**
551
563
  * @public
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","_identifiers","_needsPolyfillPlaceholder","LayoutEvents","_interopRequireWildcard","_ThemeContext","_RenderLayer","_ResizeDetector","_client","_CommonWrapper","_currentEnvironment","_Emotion","_rootNode","_createPropsGetter","_SizeDecorator","_TextareaHelpers","_Textarea2","_TextareaCounter","_TextareaWithSafari17Workaround","_excluded","_class","_Textarea","DEFAULT_WIDTH","exports","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","clear","node","value","fakeNode","getProps","createPropsGetter","defaultProps","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","globalObject","MutationObserver","setSelectionRange","start","end","_globalObject$documen","Error","document","activeElement","focus","selectAll","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose2","default","rootProps","style","textareaClassNames","cx","getTextareaSizeClassName","styles","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","textAlign","align","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends2","ref","refFake","TextareaCounter","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","isSafariWithTextareaBug","TextareaWithSafari17Workaround","RenderLayer","onFocusOutside","onClickOutside","active","getRootSizeClassName","ResizeDetector","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","isKeyEnter","preventDefault","fieldIsEmpty","target","element","autoResizeHandler","_this$getProps","rows","_ref2","getTextAreaHeight","minRows","parseInt","height","exceededMaxHeight","overflowY","throttle","getAutoResizeThrottleWait","event","isIE11","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","blur","React","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Textarea.tsx"],"sourcesContent":["import type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafariWithTextareaBug } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { InputAlign } from '../Input';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nexport const DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-controls' | 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n\n@rootNode\n@withSize\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n disableAnimations: isTestEnv,\n };\n\n public clear = () => {\n if (this.node) {\n this.node.value = '';\n }\n if (this.fakeNode) {\n this.fakeNode.value = '';\n }\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private size!: SizeProp;\n\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n textAlign: this.props.align,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","_identifiers","_needsPolyfillPlaceholder","LayoutEvents","_interopRequireWildcard","_ThemeContext","_RenderLayer","_ResizeDetector","_client","_CommonWrapper","_currentEnvironment","_Emotion","_rootNode","_createPropsGetter","_SizeDecorator","_ReactUIFeatureFlagsContext","_FeatureFlagsHelpers","_TextareaHelpers","_Textarea2","_TextareaCounter","_TextareaWithSafari17Workaround","_excluded","_class","_Textarea","DEFAULT_WIDTH","exports","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","clear","node","value","fakeNode","getProps","createPropsGetter","defaultProps","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","globalObject","MutationObserver","setSelectionRange","start","end","_globalObject$documen","Error","document","activeElement","focus","selectAll","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose2","default","rootProps","style","textareaClassNames","cx","getTextareaSizeClassName","styles","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","textAlign","align","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends2","ref","refFake","TextareaCounter","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","isSafariWithTextareaBug","TextareaWithSafari17Workaround","RenderLayer","onFocusOutside","onClickOutside","active","getRootSizeClassName","ResizeDetector","onResize","alignBaseline","featureFlags","textareaBaselineAlign","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","isKeyEnter","preventDefault","fieldIsEmpty","target","element","autoResizeHandler","_this$getProps","rows","_ref2","getTextAreaHeight","minRows","parseInt","height","exceededMaxHeight","overflowY","throttle","getAutoResizeThrottleWait","event","isIE11","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","CommonWrapper","rootNodeRef","setRootNode","blur","React","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Textarea.tsx"],"sourcesContent":["import type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafariWithTextareaBug } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { InputAlign } from '../Input';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport {\n ReactUIFeatureFlagsContext,\n type ReactUIFeatureFlags,\n} from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nexport const DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-controls' | 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n\n@rootNode\n@withSize\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n disableAnimations: isTestEnv,\n };\n\n public clear = () => {\n if (this.node) {\n this.node.value = '';\n }\n if (this.fakeNode) {\n this.fakeNode.value = '';\n }\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private size!: SizeProp;\n\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n private featureFlags!: ReactUIFeatureFlags;\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\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 = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n textAlign: this.props.align,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter} alignBaseline={this.featureFlags.textareaBaselineAlign}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.Form = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react = _interopRequireDefault(require("react"));
2
+ var _Emotion = require("@skbkontur/react-ui/lib/theming/Emotion");var _excluded = ["children", "className"],_excluded2 = ["children", "className"],_excluded3 = ["children", "className"],_excluded4 = ["children", "className"],_excluded5 = ["children", "className"],_excluded6 = ["children", "className"];var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
3
+
4
+ var line = (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: flex;\n align-items: baseline;\n margin-bottom: 10px;\n"])));
5
+
6
+
7
+
8
+
9
+
10
+ var title = (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-sizing: border-box;\n margin-right: 10px;\n width: 150px;\n text-align: right;\n"])));
11
+
12
+
13
+
14
+
15
+
16
+
17
+ var content = (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n"])));
18
+
19
+
20
+
21
+ var formLineBreak = (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n height: 20px;\n"])));
22
+
23
+
24
+
25
+ var actionsBar = (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-top: 10px;\n padding-left: 160px;\n"])));
26
+
27
+
28
+
29
+
30
+ var formWrapper = (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: flex;\n flex-direction: column;\n"])));
31
+
32
+
33
+
34
+
35
+
36
+
37
+ var FormLine = function FormLine(_ref) {var children = _ref.children,className = _ref.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
38
+ return /*#__PURE__*/(
39
+ _react.default.createElement("div", (0, _extends2.default)({ className: (0, _Emotion.css)(line, className) }, rest),
40
+ children
41
+ ));
42
+
43
+ };
44
+
45
+ var Line = function Line(_ref2) {var children = _ref2.children,className = _ref2.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded2);
46
+ return /*#__PURE__*/(
47
+ _react.default.createElement("div", (0, _extends2.default)({ className: (0, _Emotion.css)(line, className) }, rest),
48
+ children
49
+ ));
50
+
51
+ };
52
+
53
+ var Title = function Title(_ref3) {var children = _ref3.children,className = _ref3.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref3, _excluded3);
54
+ return /*#__PURE__*/(
55
+ _react.default.createElement("span", (0, _extends2.default)({ className: (0, _Emotion.css)(title, className) }, rest),
56
+ children
57
+ ));
58
+
59
+ };
60
+
61
+ var Content = function Content(_ref4) {var children = _ref4.children,className = _ref4.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref4, _excluded4);
62
+ return /*#__PURE__*/(
63
+ _react.default.createElement("span", (0, _extends2.default)({ className: (0, _Emotion.css)(content, className) }, rest),
64
+ children
65
+ ));
66
+
67
+ };
68
+
69
+ var LineBreak = function LineBreak(_ref5) {var children = _ref5.children,className = _ref5.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref5, _excluded5);
70
+ return /*#__PURE__*/(
71
+ _react.default.createElement("div", (0, _extends2.default)({ className: (0, _Emotion.css)(formLineBreak, className) }, rest),
72
+ children
73
+ ));
74
+
75
+ };
76
+
77
+ var ActionsBar = function ActionsBar(_ref6) {var children = _ref6.children,className = _ref6.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref6, _excluded6);
78
+ return /*#__PURE__*/(
79
+ _react.default.createElement("div", (0, _extends2.default)({ className: (0, _Emotion.css)(actionsBar, className) }, rest),
80
+ children
81
+ ));
82
+
83
+ };var
84
+
85
+ Form = exports.Form = /*#__PURE__*/function (_React$Component) {function Form() {return _React$Component.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(Form, _React$Component);var _proto = Form.prototype;_proto.
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+ render = function render() {
94
+ return /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.css)(formWrapper, this.props.className) }, this.props.children);
95
+ };return Form;}(_react.default.Component);Form.Line = Line;Form.LineBreak = LineBreak;Form.ActionsBar = ActionsBar;Form.FormLine = FormLine;Form.Title = Title;Form.Content = Content;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Emotion","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_excluded6","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","line","css","_taggedTemplateLiteralLoose2","default","title","content","formLineBreak","actionsBar","formWrapper","FormLine","_ref","children","className","rest","_objectWithoutPropertiesLoose2","createElement","_extends2","Line","_ref2","Title","_ref3","Content","_ref4","LineBreak","_ref5","ActionsBar","_ref6","Form","exports","_React$Component","apply","arguments","_inheritsLoose2","_proto","prototype","render","props","React","Component"],"sources":["Form.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@skbkontur/react-ui/lib/theming/Emotion';\n\nconst line = css`\n display: flex;\n align-items: baseline;\n margin-bottom: 10px;\n`;\n\nconst title = css`\n box-sizing: border-box;\n margin-right: 10px;\n width: 150px;\n text-align: right;\n`;\n\nconst content = css`\n display: inline-flex;\n`;\n\nconst formLineBreak = css`\n height: 20px;\n`;\n\nconst actionsBar = css`\n margin-top: 10px;\n padding-left: 160px;\n`;\n\nconst formWrapper = css`\n display: flex;\n flex-direction: column;\n`;\n\ntype ComponentProps = React.PropsWithChildren<React.HTMLAttributes<HTMLElement>>;\n\nconst FormLine = ({ children, className, ...rest }: ComponentProps) => {\n return (\n <div className={css(line, className)} {...rest}>\n {children}\n </div>\n );\n};\n\nconst Line = ({ children, className, ...rest }: ComponentProps) => {\n return (\n <div className={css(line, className)} {...rest}>\n {children}\n </div>\n );\n};\n\nconst Title = ({ children, className, ...rest }: ComponentProps) => {\n return (\n <span className={css(title, className)} {...rest}>\n {children}\n </span>\n );\n};\n\nconst Content = ({ children, className, ...rest }: ComponentProps) => {\n return (\n <span className={css(content, className)} {...rest}>\n {children}\n </span>\n );\n};\n\nconst LineBreak = ({ children, className, ...rest }: ComponentProps) => {\n return (\n <div className={css(formLineBreak, className)} {...rest}>\n {children}\n </div>\n );\n};\n\nconst ActionsBar = ({ children, className, ...rest }: ComponentProps) => {\n return (\n <div className={css(actionsBar, className)} {...rest}>\n {children}\n </div>\n );\n};\n\nexport class Form extends React.Component<ComponentProps> {\n public static Line = Line;\n public static LineBreak = LineBreak;\n public static ActionsBar = ActionsBar;\n public static FormLine = FormLine;\n public static Title = Title;\n public static Content = Content;\n\n public render() {\n return <div className={css(formWrapper, this.props.className)}>{this.props.children}</div>;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ export interface CommonProps {
10
10
  */
11
11
  style?: React.HTMLAttributes<HTMLElement>['style'];
12
12
  /**
13
- * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.
13
+ * Наравне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.
14
14
  */
15
15
  'data-tid'?: string;
16
16
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n children?: React.ReactNode;\n}\n\nexport interface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<Element>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * Наравне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n children?: React.ReactNode;\n}\n\nexport interface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<Element>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n"],"mappings":"","ignoreList":[]}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  export interface ResizeDetectorProps {
3
3
  onResize?: (event: UIEvent) => void;
4
4
  fullHeight?: boolean;
5
+ alignBaseline?: boolean;
5
6
  }
6
7
  export declare class ResizeDetector extends React.Component<React.PropsWithChildren<ResizeDetectorProps>> {
7
8
  static __KONTUR_REACT_UI__: string;
@@ -9,6 +9,7 @@ var _ResizeDetector2 = require("./ResizeDetector.styles");var
9
9
 
10
10
 
11
11
 
12
+
12
13
  ResizeDetector = exports.ResizeDetector = /*#__PURE__*/function (_React$Component) {function ResizeDetector() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
13
14
 
14
15
 
@@ -28,6 +29,12 @@ ResizeDetector = exports.ResizeDetector = /*#__PURE__*/function (_React$Componen
28
29
 
29
30
 
30
31
 
32
+
33
+
34
+
35
+
36
+
37
+
31
38
 
32
39
 
33
40
 
@@ -42,4 +49,4 @@ ResizeDetector = exports.ResizeDetector = /*#__PURE__*/function (_React$Componen
42
49
  if (iframe && iframe.contentWindow) {
43
50
  _this.iframeWindow = iframe.contentWindow;
44
51
  }
45
- };return _this;}(0, _inheritsLoose2.default)(ResizeDetector, _React$Component);var _proto = ResizeDetector.prototype;_proto.componentDidMount = function componentDidMount() {if (this.iframeWindow) {this.iframeWindow.addEventListener('resize', this.handleResize);}};_proto.render = function render() {var _cx;return /*#__PURE__*/_react.default.createElement("div", { className: _ResizeDetector2.styles.root() }, /*#__PURE__*/_react.default.createElement("iframe", { title: "resizeDetector", ref: this.iframeRef, className: _ResizeDetector2.styles.iframe(), tabIndex: -1 }), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx = {}, _cx[_ResizeDetector2.styles.content()] = true, _cx[_ResizeDetector2.styles.fullHeight()] = this.props.fullHeight, _cx)) }, this.props.children));};return ResizeDetector;}(_react.default.Component);ResizeDetector.__KONTUR_REACT_UI__ = 'ResizeDetector';ResizeDetector.displayName = 'ResizeDetector';
52
+ };return _this;}(0, _inheritsLoose2.default)(ResizeDetector, _React$Component);var _proto = ResizeDetector.prototype;_proto.componentDidMount = function componentDidMount() {if (this.iframeWindow) {this.iframeWindow.addEventListener('resize', this.handleResize);}};_proto.render = function render() {var _cx;return /*#__PURE__*/_react.default.createElement("div", { className: _ResizeDetector2.styles.root() }, /*#__PURE__*/_react.default.createElement("iframe", { title: "resizeDetector", ref: this.iframeRef, className: _ResizeDetector2.styles.iframe(), tabIndex: -1 }), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx = {}, _cx[_ResizeDetector2.styles.content()] = true, _cx[_ResizeDetector2.styles.fullHeight()] = this.props.fullHeight, _cx[_ResizeDetector2.styles.flex()] = this.props.alignBaseline, _cx)) }, this.props.children));};return ResizeDetector;}(_react.default.Component);ResizeDetector.__KONTUR_REACT_UI__ = 'ResizeDetector';ResizeDetector.displayName = 'ResizeDetector';
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Emotion","_ResizeDetector2","ResizeDetector","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","iframeWindow","handleResize","event","props","onResize","iframeRef","iframe","contentWindow","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","render","_cx","createElement","className","styles","root","title","ref","tabIndex","cx","content","fullHeight","children","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["ResizeDetector.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './ResizeDetector.styles';\n\nexport interface ResizeDetectorProps {\n onResize?: (event: UIEvent) => void;\n fullHeight?: boolean;\n}\n\nexport class ResizeDetector extends React.Component<React.PropsWithChildren<ResizeDetectorProps>> {\n public static __KONTUR_REACT_UI__ = 'ResizeDetector';\n public static displayName = 'ResizeDetector';\n\n private iframeWindow: Window | null = null;\n\n public componentDidMount() {\n if (this.iframeWindow) {\n this.iframeWindow.addEventListener('resize', this.handleResize);\n }\n }\n\n public render() {\n return (\n <div className={styles.root()}>\n <iframe title=\"resizeDetector\" ref={this.iframeRef} className={styles.iframe()} tabIndex={-1} />\n <div className={cx({ [styles.content()]: true, [styles.fullHeight()]: this.props.fullHeight })}>\n {this.props.children}\n </div>\n </div>\n );\n }\n\n private handleResize = (event: UIEvent) => {\n if (this.props.onResize) {\n this.props.onResize(event);\n }\n };\n\n private iframeRef = (iframe: HTMLIFrameElement) => {\n if (iframe && iframe.contentWindow) {\n this.iframeWindow = iframe.contentWindow;\n }\n };\n}\n"],"mappings":"kQAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;AAEA,IAAAC,QAAA,GAAAD,OAAA;;AAEA,IAAAE,gBAAA,GAAAF,OAAA,4BAAiD;;;;;;;AAOpCG,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAAE,gBAAA,YAAAF,eAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;IAIjBU,YAAY,GAAkB,IAAI,CAAAV,KAAA;;;;;;;;;;;;;;;;;;;IAmBlCW,YAAY,GAAG,UAACC,KAAc,EAAK;MACzC,IAAIZ,KAAA,CAAKa,KAAK,CAACC,QAAQ,EAAE;QACvBd,KAAA,CAAKa,KAAK,CAACC,QAAQ,CAACF,KAAK,CAAC;MAC5B;IACF,CAAC,CAAAZ,KAAA;;IAEOe,SAAS,GAAG,UAACC,MAAyB,EAAK;MACjD,IAAIA,MAAM,IAAIA,MAAM,CAACC,aAAa,EAAE;QAClCjB,KAAA,CAAKU,YAAY,GAAGM,MAAM,CAACC,aAAa;MAC1C;IACF,CAAC,QAAAjB,KAAA,MAAAkB,eAAA,CAAAC,OAAA,EAAAtB,cAAA,EAAAE,gBAAA,MAAAqB,MAAA,GAAAvB,cAAA,CAAAwB,SAAA,CAAAD,MAAA,CA3BME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,IAAI,CAACZ,YAAY,EAAE,CACrB,IAAI,CAACA,YAAY,CAACa,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACZ,YAAY,CAAC,CACjE,CACF,CAAC,CAAAS,MAAA,CAEMI,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,GAAA,CACd,oBACEjC,MAAA,CAAA2B,OAAA,CAAAO,aAAA,UAAKC,SAAS,EAAEC,uBAAM,CAACC,IAAI,CAAC,CAAE,iBAC5BrC,MAAA,CAAA2B,OAAA,CAAAO,aAAA,aAAQI,KAAK,EAAC,gBAAgB,EAACC,GAAG,EAAE,IAAI,CAAChB,SAAU,EAACY,SAAS,EAAEC,uBAAM,CAACZ,MAAM,CAAC,CAAE,EAACgB,QAAQ,EAAE,CAAC,CAAE,EAAE,CAAC,eAChGxC,MAAA,CAAA2B,OAAA,CAAAO,aAAA,UAAKC,SAAS,EAAE,IAAAM,WAAE,GAAAR,GAAA,OAAAA,GAAA,CAAIG,uBAAM,CAACM,OAAO,CAAC,CAAC,IAAG,IAAI,EAAAT,GAAA,CAAGG,uBAAM,CAACO,UAAU,CAAC,CAAC,IAAG,IAAI,CAACtB,KAAK,CAACsB,UAAU,EAAAV,GAAA,CAAE,CAAE,IAC5F,IAAI,CAACZ,KAAK,CAACuB,QACT,CACF,CAAC,CAEV,CAAC,QAAAvC,cAAA,GArBiCwC,cAAK,CAACC,SAAS,EAAtCzC,cAAc,CACX0C,mBAAmB,GAAG,gBAAgB,CADzC1C,cAAc,CAEX2C,WAAW,GAAG,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Emotion","_ResizeDetector2","ResizeDetector","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","iframeWindow","handleResize","event","props","onResize","iframeRef","iframe","contentWindow","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","render","_cx","createElement","className","styles","root","title","ref","tabIndex","cx","content","fullHeight","flex","alignBaseline","children","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["ResizeDetector.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './ResizeDetector.styles';\n\nexport interface ResizeDetectorProps {\n onResize?: (event: UIEvent) => void;\n fullHeight?: boolean;\n alignBaseline?: boolean;\n}\n\nexport class ResizeDetector extends React.Component<React.PropsWithChildren<ResizeDetectorProps>> {\n public static __KONTUR_REACT_UI__ = 'ResizeDetector';\n public static displayName = 'ResizeDetector';\n\n private iframeWindow: Window | null = null;\n\n public componentDidMount() {\n if (this.iframeWindow) {\n this.iframeWindow.addEventListener('resize', this.handleResize);\n }\n }\n\n public render() {\n return (\n <div className={styles.root()}>\n <iframe title=\"resizeDetector\" ref={this.iframeRef} className={styles.iframe()} tabIndex={-1} />\n <div\n className={cx({\n [styles.content()]: true,\n [styles.fullHeight()]: this.props.fullHeight,\n [styles.flex()]: this.props.alignBaseline,\n })}\n >\n {this.props.children}\n </div>\n </div>\n );\n }\n\n private handleResize = (event: UIEvent) => {\n if (this.props.onResize) {\n this.props.onResize(event);\n }\n };\n\n private iframeRef = (iframe: HTMLIFrameElement) => {\n if (iframe && iframe.contentWindow) {\n this.iframeWindow = iframe.contentWindow;\n }\n };\n}\n"],"mappings":"kQAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;AAEA,IAAAC,QAAA,GAAAD,OAAA;;AAEA,IAAAE,gBAAA,GAAAF,OAAA,4BAAiD;;;;;;;;AAQpCG,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAAE,gBAAA,YAAAF,eAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;IAIjBU,YAAY,GAAkB,IAAI,CAAAV,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;IAyBlCW,YAAY,GAAG,UAACC,KAAc,EAAK;MACzC,IAAIZ,KAAA,CAAKa,KAAK,CAACC,QAAQ,EAAE;QACvBd,KAAA,CAAKa,KAAK,CAACC,QAAQ,CAACF,KAAK,CAAC;MAC5B;IACF,CAAC,CAAAZ,KAAA;;IAEOe,SAAS,GAAG,UAACC,MAAyB,EAAK;MACjD,IAAIA,MAAM,IAAIA,MAAM,CAACC,aAAa,EAAE;QAClCjB,KAAA,CAAKU,YAAY,GAAGM,MAAM,CAACC,aAAa;MAC1C;IACF,CAAC,QAAAjB,KAAA,MAAAkB,eAAA,CAAAC,OAAA,EAAAtB,cAAA,EAAAE,gBAAA,MAAAqB,MAAA,GAAAvB,cAAA,CAAAwB,SAAA,CAAAD,MAAA,CAjCME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,IAAI,CAACZ,YAAY,EAAE,CACrB,IAAI,CAACA,YAAY,CAACa,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACZ,YAAY,CAAC,CACjE,CACF,CAAC,CAAAS,MAAA,CAEMI,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,GAAA,CACd,oBACEjC,MAAA,CAAA2B,OAAA,CAAAO,aAAA,UAAKC,SAAS,EAAEC,uBAAM,CAACC,IAAI,CAAC,CAAE,iBAC5BrC,MAAA,CAAA2B,OAAA,CAAAO,aAAA,aAAQI,KAAK,EAAC,gBAAgB,EAACC,GAAG,EAAE,IAAI,CAAChB,SAAU,EAACY,SAAS,EAAEC,uBAAM,CAACZ,MAAM,CAAC,CAAE,EAACgB,QAAQ,EAAE,CAAC,CAAE,EAAE,CAAC,eAChGxC,MAAA,CAAA2B,OAAA,CAAAO,aAAA,UACEC,SAAS,EAAE,IAAAM,WAAE,GAAAR,GAAA,OAAAA,GAAA,CACVG,uBAAM,CAACM,OAAO,CAAC,CAAC,IAAG,IAAI,EAAAT,GAAA,CACvBG,uBAAM,CAACO,UAAU,CAAC,CAAC,IAAG,IAAI,CAACtB,KAAK,CAACsB,UAAU,EAAAV,GAAA,CAC3CG,uBAAM,CAACQ,IAAI,CAAC,CAAC,IAAG,IAAI,CAACvB,KAAK,CAACwB,aAAa,EAAAZ,GAAA,CAC1C,CAAE,IAEF,IAAI,CAACZ,KAAK,CAACyB,QACT,CACF,CAAC,CAEV,CAAC,QAAAzC,cAAA,GA3BiC0C,cAAK,CAACC,SAAS,EAAtC3C,cAAc,CACX4C,mBAAmB,GAAG,gBAAgB,CADzC5C,cAAc,CAEX6C,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -3,4 +3,5 @@ export declare const styles: {
3
3
  iframe(): string;
4
4
  content(): string;
5
5
  fullHeight(): string;
6
+ flex(): string;
6
7
  };