@skbkontur/react-ui 4.14.0 → 4.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/cjs/components/Button/Button.js +1 -13
  3. package/cjs/components/Button/Button.js.map +1 -1
  4. package/cjs/components/Button/ButtonIcon.js +1 -12
  5. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  6. package/cjs/components/DateInput/CalendarIcon.js +3 -3
  7. package/cjs/components/DateInput/CalendarIcon.js.map +1 -1
  8. package/cjs/components/FileUploader/UploadIcon.js +3 -3
  9. package/cjs/components/FileUploader/UploadIcon.js.map +1 -1
  10. package/cjs/components/Input/Input.js +3 -1
  11. package/cjs/components/Input/Input.js.map +1 -1
  12. package/cjs/components/Input/InputLayout/InputLayout.styles.js +4 -2
  13. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  14. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +3 -15
  15. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  16. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +1 -1
  17. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +1 -1
  18. package/cjs/components/Kebab/Kebab.js +2 -24
  19. package/cjs/components/Kebab/Kebab.js.map +1 -1
  20. package/cjs/components/Link/Link.js +1 -6
  21. package/cjs/components/Link/Link.js.map +1 -1
  22. package/cjs/components/Modal/ModalClose.js +1 -1
  23. package/cjs/components/Modal/ModalClose.js.map +1 -1
  24. package/cjs/components/Paging/ForwardIcon.js +3 -3
  25. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  26. package/cjs/components/PasswordInput/PasswordInputIcon.js +2 -2
  27. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  28. package/cjs/components/Select/ArrowDownIcon.js +3 -3
  29. package/cjs/components/Select/ArrowDownIcon.js.map +1 -1
  30. package/cjs/components/Select/Select.js +1 -5
  31. package/cjs/components/Select/Select.js.map +1 -1
  32. package/cjs/components/Textarea/TextareaCounter.js +2 -2
  33. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  34. package/cjs/internal/CloseButtonIcon/CrossIcon.js +3 -3
  35. package/cjs/internal/CloseButtonIcon/CrossIcon.js.map +1 -1
  36. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  37. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  38. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.js +3 -3
  39. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.js.map +1 -1
  40. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.js +3 -3
  41. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.js.map +1 -1
  42. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.js +3 -3
  43. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.js.map +1 -1
  44. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  45. package/cjs/internal/icons2022/BaseIcon.js +34 -20
  46. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  47. package/components/Button/Button/Button.js +1 -15
  48. package/components/Button/Button/Button.js.map +1 -1
  49. package/components/Button/ButtonIcon/ButtonIcon.js +1 -16
  50. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  51. package/components/DateInput/CalendarIcon/CalendarIcon.js +3 -9
  52. package/components/DateInput/CalendarIcon/CalendarIcon.js.map +1 -1
  53. package/components/FileUploader/UploadIcon/UploadIcon.js +3 -9
  54. package/components/FileUploader/UploadIcon/UploadIcon.js.map +1 -1
  55. package/components/Input/Input/Input.js +1 -1
  56. package/components/Input/Input/Input.js.map +1 -1
  57. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
  58. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  59. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +4 -19
  60. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  61. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +1 -1
  62. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +1 -1
  63. package/components/Kebab/Kebab/Kebab.js +5 -15
  64. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  65. package/components/Link/Link/Link.js +1 -10
  66. package/components/Link/Link/Link.js.map +1 -1
  67. package/components/Modal/ModalClose/ModalClose.js +3 -1
  68. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  69. package/components/Paging/ForwardIcon/ForwardIcon.js +3 -9
  70. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  71. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +2 -4
  72. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
  73. package/components/Select/ArrowDownIcon/ArrowDownIcon.js +3 -9
  74. package/components/Select/ArrowDownIcon/ArrowDownIcon.js.map +1 -1
  75. package/components/Select/Select/Select.js +1 -4
  76. package/components/Select/Select/Select.js.map +1 -1
  77. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -4
  78. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  79. package/internal/CloseButtonIcon/CrossIcon/CrossIcon.js +8 -3
  80. package/internal/CloseButtonIcon/CrossIcon/CrossIcon.js.map +1 -1
  81. package/internal/DateSelect/DateSelect/DateSelect.js +0 -1
  82. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  83. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon/DeleteIcon.js +3 -9
  84. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon/DeleteIcon.js.map +1 -1
  85. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon/ErrorIcon.js +3 -9
  86. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon/ErrorIcon.js.map +1 -1
  87. package/internal/FileUploaderControl/FileUploaderFile/OkIcon/OkIcon.js +3 -9
  88. package/internal/FileUploaderControl/FileUploaderFile/OkIcon/OkIcon.js.map +1 -1
  89. package/internal/icons2022/BaseIcon/BaseIcon.js +21 -8
  90. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  91. package/internal/icons2022/BaseIcon.d.ts +1 -1
  92. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.14.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@4.14.0...@skbkontur/react-ui@4.14.1) (2023-06-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Input:** fix too long `prefix` & missing `placeholder` ([#3170](https://github.com/skbkontur/retail-ui/issues/3170)) ([ab31f22](https://github.com/skbkontur/retail-ui/commit/ab31f2248f1cadeb544b4711f024227d6da64a6a))
12
+
13
+
14
+
15
+
16
+
6
17
  # [4.14.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@4.13.4...@skbkontur/react-ui@4.14.0) (2023-05-30)
7
18
 
8
19
 
@@ -486,17 +486,6 @@ Button = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
486
486
 
487
487
 
488
488
 
489
-
490
-
491
-
492
-
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
489
 
501
490
 
502
491
 
@@ -540,5 +529,4 @@ Button = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
540
529
  // on this button if somewhere on the page user presses Enter while some
541
530
  // input is focused. So we set type to 'button' by default.
542
531
  type: type, className: rootClassName, style: (0, _extends2.default)({ textAlign: align }, corners), disabled: disabled || loading, onClick: onClick, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: onKeyDown, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, tabIndex: disableFocus ? -1 : 0, title: this.props.title };var wrapProps = { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_Button.styles.wrap(this.theme)] = true, _cx2[wrapClassNameWithArrow] = true, _cx2[this.getSizeWrapClassName()] = true, _cx2)), style: { width: width } };var innerShadowNode = _isTheme2022 ? null : /*#__PURE__*/_react.default.createElement("div", { className: _Button.globalClasses.innerShadow });var outlineNode = null;var isDisabled2022 = _isTheme2022 && (disabled || loading);if ((!isFocused || isLink) && !isDisabled2022) {var _cx3;outlineNode = /*#__PURE__*/_react.default.createElement("div", { style: { zIndex: _isTheme2022 && isLink ? -1 : undefined }, className: (0, _Emotion.cx)(_Button.styles.outline(), (_cx3 = {}, _cx3[_Button.styles.outlineWarning(this.theme)] = warning, _cx3[_Button.styles.outlineError(this.theme)] = error, _cx3[_Button.styles.outlineLink()] = isLink, _cx3[_Button.styles.outlineLinkWarning(this.theme)] = isLink && warning, _cx3[_Button.styles.outlineLinkError(this.theme)] = isLink && error, _cx3)) });}var iconNode = icon && /*#__PURE__*/_react.default.createElement(_ButtonIcon.ButtonIcon, { icon: icon, size: size, hasChildren: Boolean(children), disabled: disabled || false, loading: loading || false, use: use });var loadingNode = null;if (loading && !icon) {var loadingIcon = _isTheme2022 ? /*#__PURE__*/_react.default.createElement(_LoadingIcon.LoadingIcon, { size: size }) : /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { caption: null, dimmed: true, type: "mini" });loadingNode = /*#__PURE__*/_react.default.createElement("div", { className: _Button.styles.loading() }, loadingIcon);} // Force disable all props and features, that cannot be use with Link
543
- if (isLink) {var _cx4;rootProps.className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_Button.styles.root(this.theme)] = true, _cx4[sizeClass] = true, _cx4[_Button.styles.link(this.theme)] = true, _cx4[_Button.styles.linkLineHeight()] = !_client.isSafari || _client.isSafari && !_isTheme2022, _cx4[_Button.styles.linkLineHeightSafariFallback()] = _client.isSafari && _isTheme2022, _cx4[_Button.styles.linkFocus(this.theme)] = isFocused, _cx4[_Button.styles.linkDisabled(this.theme)] = disabled || loading, _cx4));Object.assign(wrapProps, { className: (0, _Emotion.cx)(_Button.styles.wrap(this.theme), _Button.styles.wrapLink()), style: { width: wrapProps.style.width } });rootProps.style.textAlign = undefined;}var captionNode = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.styles.caption(), _Button.globalClasses.caption, (_cx5 = {}, _cx5[_Button.styles.captionTranslated()] = (active || checked) && !loading && !_isTheme2022, _cx5[_Button.styles.captionLink()] = isLink, _cx5[_Button.styles.captionDisabled()] = !checked && disabled, _cx5)) }, loadingNode, iconNode, /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Button.globalClasses.text, (_cx6 = {}, _cx6[_Button.styles.visibilityHidden()] = !!loadingNode, _cx6)) }, children));if (_isTheme2022 && isLink && !loading) {var _icon = icon;if (icon) {var sizes = { small: parseInt(this.theme.btnIconSizeSmall), medium: parseInt(this.theme.btnIconSizeMedium), large: parseInt(this.theme.btnIconSizeLarge) }; // Expect icon to have a `size` prop
544
- _icon = /*#__PURE__*/_react.default.cloneElement(icon, { size: sizes[this.props.size || 'small'] });}captionNode = /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _getInnerLinkTheme.getInnerLinkTheme)(this.theme) }, /*#__PURE__*/_react.default.createElement(_Link.Link, { focused: isFocused, disabled: disabled, icon: _icon, as: "span", tabIndex: -1 }, children));}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("span", wrapProps, /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "data-tid": ButtonDataTids.root, ref: this._ref }, rootProps, { "aria-describedby": ariaDescribedby }), innerShadowNode, outlineNode, arrowNode, captionNode)));};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(this.theme);switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)(_Button.styles.sizeLarge(this.theme), (_cx7 = {}, _cx7[_Button.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx7[_Button.styles.sizeLargeWithIcon(this.theme)] = !!this.props.icon, _cx7[_Button.styles.sizeLargeWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx7));case 'medium':return (0, _Emotion.cx)(_Button.styles.sizeMedium(this.theme), (_cx8 = {}, _cx8[_Button.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx8[_Button.styles.sizeMediumWithIcon(this.theme)] = !!this.props.icon, _cx8[_Button.styles.sizeMediumWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx8));case 'small':default:return (0, _Emotion.cx)(_Button.styles.sizeSmall(this.theme), (_cx9 = {}, _cx9[_Button.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx9[_Button.styles.sizeSmallWithIcon(this.theme)] = !!this.props.icon, _cx9[_Button.styles.sizeSmallWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx9));}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button.styles.wrapLarge(this.theme);case 'medium':return _Button.styles.wrapMedium(this.theme);case 'small':default:return _Button.styles.wrapSmall(this.theme);}};return Button;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Button', _class2.__BUTTON__ = true, _class2.defaultProps = { use: 'default', size: 'small', type: 'button' }, _temp)) || _class;exports.Button = Button;var isButton = (0, _utils.isReactUIComponent)('Button');exports.isButton = isButton;
532
+ if (isLink) {var _cx4;rootProps.className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_Button.styles.root(this.theme)] = true, _cx4[sizeClass] = true, _cx4[_Button.styles.link(this.theme)] = true, _cx4[_Button.styles.linkLineHeight()] = !_client.isSafari || _client.isSafari && !_isTheme2022, _cx4[_Button.styles.linkLineHeightSafariFallback()] = _client.isSafari && _isTheme2022, _cx4[_Button.styles.linkFocus(this.theme)] = isFocused, _cx4[_Button.styles.linkDisabled(this.theme)] = disabled || loading, _cx4));Object.assign(wrapProps, { className: (0, _Emotion.cx)(_Button.styles.wrap(this.theme), _Button.styles.wrapLink()), style: { width: wrapProps.style.width } });rootProps.style.textAlign = undefined;}var captionNode = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.styles.caption(), _Button.globalClasses.caption, (_cx5 = {}, _cx5[_Button.styles.captionTranslated()] = (active || checked) && !loading && !_isTheme2022, _cx5[_Button.styles.captionLink()] = isLink, _cx5[_Button.styles.captionDisabled()] = !checked && disabled, _cx5)) }, loadingNode, iconNode, /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Button.globalClasses.text, (_cx6 = {}, _cx6[_Button.styles.visibilityHidden()] = !!loadingNode, _cx6)) }, children));if (_isTheme2022 && isLink && !loading) {captionNode = /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _getInnerLinkTheme.getInnerLinkTheme)(this.theme) }, /*#__PURE__*/_react.default.createElement(_Link.Link, { focused: isFocused, disabled: disabled, icon: icon, as: "span", tabIndex: -1 }, children));}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("span", wrapProps, /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "data-tid": ButtonDataTids.root, ref: this._ref }, rootProps, { "aria-describedby": ariaDescribedby }), innerShadowNode, outlineNode, arrowNode, captionNode)));};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(this.theme);switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)(_Button.styles.sizeLarge(this.theme), (_cx7 = {}, _cx7[_Button.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx7[_Button.styles.sizeLargeWithIcon(this.theme)] = !!this.props.icon, _cx7[_Button.styles.sizeLargeWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx7));case 'medium':return (0, _Emotion.cx)(_Button.styles.sizeMedium(this.theme), (_cx8 = {}, _cx8[_Button.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx8[_Button.styles.sizeMediumWithIcon(this.theme)] = !!this.props.icon, _cx8[_Button.styles.sizeMediumWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx8));case 'small':default:return (0, _Emotion.cx)(_Button.styles.sizeSmall(this.theme), (_cx9 = {}, _cx9[_Button.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx9[_Button.styles.sizeSmallWithIcon(this.theme)] = !!this.props.icon, _cx9[_Button.styles.sizeSmallWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx9));}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button.styles.wrapLarge(this.theme);case 'medium':return _Button.styles.wrapMedium(this.theme);case 'small':default:return _Button.styles.wrapSmall(this.theme);}};return Button;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Button', _class2.__BUTTON__ = true, _class2.defaultProps = { use: 'default', size: 'small', type: 'button' }, _temp)) || _class;exports.Button = Button;var isButton = (0, _utils.isReactUIComponent)('Button');exports.isButton = isButton;
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["ButtonDataTids","root","Button","rootNode","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","keyListener","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","ThemeFactory","create","renderMain","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","ariaDescribedby","use","type","size","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","rootClassName","trueDisabled","cx","styles","noPadding","noRightPadding","checkedDisabled","checkedDisabled2022","borderless2022","activeStyles","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","globalClasses","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","loadingNode","loadingIcon","link","linkLineHeight","isSafari","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","_icon","sizes","small","parseInt","btnIconSizeSmall","medium","btnIconSizeMedium","large","btnIconSizeLarge","React","cloneElement","setRootNode","sizeLarge","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"gXAAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoKO,IAAMA,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,cADsB,EAAvB,C;;;;;;AAOMC,M,OADZC,kB;;;;;;;;;;AAWSC,IAAAA,Q,GAAW,0CAAkBF,MAAM,CAACG,YAAzB,C;;AAEZC,IAAAA,K,GAAQ;AACbC,MAAAA,YAAY,EAAE,KADD,E;;;;AAKPC,IAAAA,I,GAAiC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+SjCC,IAAAA,W,GAAc,UAACC,CAAD,EAA4C;AAChE,UAAI,CAAC,MAAKC,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD;AACA;AACAC,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIC,yBAAYC,YAAhB,EAA8B;AAC5B,kBAAKC,QAAL,CAAc,EAAEV,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;AAKA,cAAKI,KAAL,CAAWO,OAAX,0BAAKP,KAAL,CAAWO,OAAX,CAAqBR,CAArB;AACD;AACF,K;;AAEOS,IAAAA,U,GAAa,UAACT,CAAD,EAA4C;AAC/D,YAAKO,QAAL,CAAc,EAAEV,YAAY,EAAE,KAAhB,EAAd;AACA,UAAI,CAAC,MAAKI,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD,cAAKF,KAAL,CAAWS,MAAX,0BAAKT,KAAL,CAAWS,MAAX,CAAoBV,CAApB;AACD;AACF,K;;AAEOW,IAAAA,I,GAAO,UAACb,IAAD,EAAoC;AACjD,YAAKA,IAAL,GAAYA,IAAZ;AACD,K,oDAlUMc,iB,GAAP,6BAA2B,CACzB,IAAI,KAAKX,KAAL,CAAWY,SAAf,EAA0B,CACxBR,yBAAYC,YAAZ,GAA2B,IAA3B,CACA,KAAKQ,KAAL,GACD,CACF,C,QAEaC,wB,GAAd,kCAAuCd,KAAvC,EAA2D,CACzD,IAAIA,KAAK,CAACe,OAAN,IAAiBf,KAAK,CAACC,QAA3B,EAAqC,CACnC,OAAO,EAAEL,YAAY,EAAE,KAAhB,EAAP,CACD,CACD,OAAO,IAAP,CACD,C,CAED;AACF;AACA,K,QACSiB,K,GAAP,iBAAe,gBACb,mBAAKhB,IAAL,gCAAWgB,KAAX,GACD,C,CAED;AACF;AACA,K,QACSG,I,GAAP,gBAAc,iBACZ,oBAAKnB,IAAL,iCAAWmB,IAAX,GACD,C,QAEMC,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAa,MAAI,CAAClB,KAAL,CAAWkB,KAAX,GAAmBC,2BAAaC,MAAb,CAAoB,MAAI,CAACpB,KAAL,CAAWkB,KAA/B,EAA+CA,KAA/C,CAAnB,GAA2EA,KAAxF,CACA,OAAO,MAAI,CAACG,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,sBACnB,kBAwBI,KAAKrB,KAxBT,CACEsB,OADF,eACEA,OADF,CAEEC,MAFF,eAEEA,MAFF,CAGEtB,QAHF,eAGEA,QAHF,CAIEuB,UAJF,eAIEA,UAJF,CAKEC,OALF,eAKEA,OALF,CAMEC,KANF,eAMEA,KANF,CAOEC,OAPF,eAOEA,OAPF,CAQEZ,OARF,eAQEA,OARF,CASEa,MATF,eASEA,MATF,CAUEC,IAVF,eAUEA,IAVF,CAWEC,UAXF,eAWEA,UAXF,CAYEC,eAZF,eAYEA,eAZF,CAaEC,eAbF,eAaEA,eAbF,CAcEC,KAdF,eAcEA,KAdF,CAeE/B,YAfF,eAeEA,YAfF,CAgBEgC,YAhBF,eAgBEA,YAhBF,CAiBEC,YAjBF,eAiBEA,YAjBF,CAkBEC,WAlBF,eAkBEA,WAlBF,CAmBEC,SAnBF,eAmBEA,SAnBF,CAoBEC,OApBF,eAoBEA,OApBF,CAqBEC,KArBF,eAqBEA,KArBF,CAsBEC,QAtBF,eAsBEA,QAtBF,CAuBsBC,eAvBtB,eAuBE,kBAvBF,EAyBA,qBAA4B,KAAKhD,QAAL,EAA5B,CAAQiD,GAAR,kBAAQA,GAAR,CAAaC,IAAb,kBAAaA,IAAb,CAAmBC,IAAnB,kBAAmBA,IAAnB,CACA,IAAMC,SAAS,GAAG,KAAKC,gBAAL,EAAlB,CAEA,IAAMC,SAAS,GAAG,KAAKpD,KAAL,CAAWC,YAAX,IAA2BoC,eAA7C,CACA,IAAMgB,MAAM,GAAGN,GAAG,KAAK,MAAvB,CACA,IAAMO,YAAY,GAAG,+BAAY,KAAK/B,KAAjB,CAArB,CA/BmB,CAiCnB;AACA,0BAAoE,4DAC7D,KAAKlB,KADwD,IACjD+C,SAAS,EAAEG,OAAO,CAACH,SAAD,CAD+B,KAElE,KAAK7B,KAF6D,CAApE,CAAOiC,sBAAP,sBAA+BC,sBAA/B,sBAAuDC,SAAvD,sBAKA,IAAIC,aAAa,GAAG,EAApB,CACA,IAAIL,YAAJ,EAAkB,CAChB,IAAMM,YAAY,GAAGtD,QAAQ,IAAIc,OAAjC,CACAuC,aAAa,GAAGE,2BACdC,eAAOnE,IAAP,CAAY,KAAK4B,KAAjB,CADc,EAEduC,eAAOf,GAAP,EAAY,KAAKxB,KAAjB,CAFc,EAGd2B,SAHc,EAIdjB,MAAM,IAAI6B,eAAO7B,MAAP,EAJI,EAKdE,UAAU,IAAI2B,eAAOC,SAAP,EALA,EAMd3B,eAAe,IAAI0B,eAAOE,cAAP,EANL,EAOdP,sBAPc,SAQVG,YAAY,GACZ,CACEE,eAAOxD,QAAP,CAAgB,KAAKiB,KAArB,CADF,EAEEO,OAAO,IAAIgC,eAAOG,eAAP,CAAuB,KAAK1C,KAA5B,CAFb,EAGEO,OAAO,IAAIgC,eAAOI,mBAAP,CAA2B,KAAK3C,KAAhC,CAHb,EAIEM,UAAU,IAAIiC,eAAOK,cAAP,EAJhB,CADY,GAOZ,CACEvC,MAAM,IAAI,CAACE,OAAX,IAAsBsC,qBAAarB,GAAb,EAAkB,KAAKxB,KAAvB,CADxB,EAEE6B,SAAS,IAAIU,eAAO5C,KAAP,CAAa,KAAKK,KAAlB,CAFf,EAGEO,OAAO,IAAIgC,eAAOO,WAAP,CAAmB,KAAK9C,KAAxB,CAHb,EAIEO,OAAO,IAAIsB,SAAX,IAAwBU,eAAOQ,cAAP,CAAsB,KAAK/C,KAA3B,CAJ1B,EAKEM,UAAU,IAAI,CAACC,OAAf,IAA0B,CAACsB,SAA3B,IAAwCU,eAAOK,cAAP,EAL1C,CAfU,EAAhB,CAuBD,CAzBD,MAyBO,SACLR,aAAa,GAAG,gCACbG,eAAOnE,IAAP,CAAY,KAAK4B,KAAjB,CADa,IACa,IADb,MAEbuC,eAAOS,cAAP,EAFa,IAEa,IAFb,MAGbT,eAAOf,GAAP,EAAY,KAAKxB,KAAjB,CAHa,IAGa,IAHb,MAIb6C,qBAAarB,GAAb,EAAkB,KAAKxB,KAAvB,CAJa,IAImBK,MAJnB,MAKbsB,SALa,IAKD,IALC,MAMbY,eAAO5C,KAAP,CAAa,KAAKK,KAAlB,CANa,IAMc6B,SANd,MAObU,eAAOhC,OAAP,CAAe,KAAKP,KAApB,CAPa,IAOgBO,OAPhB,MAQbgC,eAAOQ,cAAP,CAAsB,KAAK/C,KAA3B,CARa,IAQuBO,OAAO,IAAIsB,SARlC,MASbU,eAAOxD,QAAP,CAAgB,KAAKiB,KAArB,CATa,IASiBjB,QAAQ,IAAIc,OAT7B,MAUb0C,eAAOG,eAAP,CAAuB,KAAK1C,KAA5B,CAVa,IAUwBO,OAAO,IAAIxB,QAVnC,MAWbwD,eAAOjC,UAAP,EAXa,IAWSA,UAAU,IAAI,CAACvB,QAAf,IAA2B,CAACc,OAA5B,IAAuC,CAACU,OAAxC,IAAmD,CAACsB,SAApD,IAAiE,CAACxB,MAX3E,MAYbkC,eAAO7B,MAAP,EAZa,IAYKA,MAZL,MAab6B,eAAOC,SAAP,EAba,IAaQ5B,UAbR,MAcb2B,eAAOE,cAAP,EAda,IAca5B,eAdb,OAAhB,CAgBD,CAED,IAAMoC,SAAS,GAAG,EAChB;AACA;AACA;AACAxB,MAAAA,IAAI,EAAJA,IAJgB,EAKhByB,SAAS,EAAEd,aALK,EAMhBe,KAAK,2BACHC,SAAS,EAAErC,KADR,IAEAX,OAFA,CANW,EAUhBrB,QAAQ,EAAEA,QAAQ,IAAIc,OAVN,EAWhBuB,OAAO,EAAPA,OAXgB,EAYhB/B,OAAO,EAAE,KAAKT,WAZE,EAahBW,MAAM,EAAE,KAAKD,UAbG,EAchB6B,SAAS,EAATA,SAdgB,EAehBH,YAAY,EAAZA,YAfgB,EAgBhBC,YAAY,EAAZA,YAhBgB,EAiBhBC,WAAW,EAAXA,WAjBgB,EAkBhBmC,QAAQ,EAAErE,YAAY,GAAG,CAAC,CAAJ,GAAQ,CAlBd,EAmBhBsE,KAAK,EAAE,KAAKxE,KAAL,CAAWwE,KAnBF,EAAlB,CAsBA,IAAMC,SAAS,GAAG,EAChBL,SAAS,EAAE,kCACRX,eAAOiB,IAAP,CAAY,KAAKxD,KAAjB,CADQ,IACkB,IADlB,OAERiC,sBAFQ,IAEiB,IAFjB,OAGR,KAAKwB,oBAAL,EAHQ,IAGsB,IAHtB,QADK,EAMhBN,KAAK,EAAE,EACL9B,KAAK,EAALA,KADK,EANS,EAAlB,CAWA,IAAMqC,eAAe,GAAG3B,YAAY,GAAG,IAAH,gBAAU,sCAAK,SAAS,EAAE4B,sBAAcC,WAA9B,GAA9C,CAEA,IAAIC,WAAW,GAAG,IAAlB,CACA,IAAMC,cAAc,GAAG/B,YAAY,KAAKhD,QAAQ,IAAIc,OAAjB,CAAnC,CACA,IAAI,CAAC,CAACgC,SAAD,IAAcC,MAAf,KAA0B,CAACgC,cAA/B,EAA+C,UAC7CD,WAAW,gBACT,sCACE,KAAK,EAAE,EAAEE,MAAM,EAAEhC,YAAY,IAAID,MAAhB,GAAyB,CAAC,CAA1B,GAA8BkC,SAAxC,EADT,EAEE,SAAS,EAAE,iBAAGzB,eAAO0B,OAAP,EAAH,mBACR1B,eAAO2B,cAAP,CAAsB,KAAKlE,KAA3B,CADQ,IAC4BS,OAD5B,OAER8B,eAAO4B,YAAP,CAAoB,KAAKnE,KAAzB,CAFQ,IAE0BQ,KAF1B,OAGR+B,eAAO6B,WAAP,EAHQ,IAGetC,MAHf,OAIRS,eAAO8B,kBAAP,CAA0B,KAAKrE,KAA/B,CAJQ,IAIgC8B,MAAM,IAAIrB,OAJ1C,OAKR8B,eAAO+B,gBAAP,CAAwB,KAAKtE,KAA7B,CALQ,IAK8B8B,MAAM,IAAItB,KALxC,QAFb,GADF,CAYD,CAED,IAAM+D,QAAQ,GAAG5D,IAAI,iBACnB,6BAAC,sBAAD,IACE,IAAI,EAAEA,IADR,EAEE,IAAI,EAAEe,IAFR,EAGE,WAAW,EAAEM,OAAO,CAACV,QAAD,CAHtB,EAIE,QAAQ,EAAEvC,QAAQ,IAAI,KAJxB,EAKE,OAAO,EAAEc,OAAO,IAAI,KALtB,EAME,GAAG,EAAE2B,GANP,GADF,CAUA,IAAIgD,WAAW,GAAG,IAAlB,CACA,IAAI3E,OAAO,IAAI,CAACc,IAAhB,EAAsB,CACpB,IAAM8D,WAAW,GAAG1C,YAAY,gBAAG,6BAAC,wBAAD,IAAa,IAAI,EAAEL,IAAnB,GAAH,gBAAiC,6BAAC,gBAAD,IAAS,OAAO,EAAE,IAAlB,EAAwB,MAAM,MAA9B,EAA+B,IAAI,EAAC,MAApC,GAAjE,CACA8C,WAAW,gBAAG,sCAAK,SAAS,EAAEjC,eAAO1C,OAAP,EAAhB,IAAmC4E,WAAnC,CAAd,CACD,CAtJkB,CAwJnB;AACA,QAAI3C,MAAJ,EAAY,UACVmB,SAAS,CAACC,SAAV,GAAsB,kCACnBX,eAAOnE,IAAP,CAAY,KAAK4B,KAAjB,CADmB,IACO,IADP,OAEnB2B,SAFmB,IAEP,IAFO,OAGnBY,eAAOmC,IAAP,CAAY,KAAK1E,KAAjB,CAHmB,IAGO,IAHP,OAInBuC,eAAOoC,cAAP,EAJmB,IAIO,CAACC,gBAAD,IAAcA,oBAAY,CAAC7C,YAJlC,OAKnBQ,eAAOsC,4BAAP,EALmB,IAKqBD,oBAAY7C,YALjC,OAMnBQ,eAAOuC,SAAP,CAAiB,KAAK9E,KAAtB,CANmB,IAMY6B,SANZ,OAOnBU,eAAOwC,YAAP,CAAoB,KAAK/E,KAAzB,CAPmB,IAOejB,QAAQ,IAAIc,OAP3B,QAAtB,CASAmF,MAAM,CAACC,MAAP,CAAc1B,SAAd,EAAyB,EACvBL,SAAS,EAAE,iBAAGX,eAAOiB,IAAP,CAAY,KAAKxD,KAAjB,CAAH,EAA4BuC,eAAO2C,QAAP,EAA5B,CADY,EAEvB/B,KAAK,EAAE,EAAE9B,KAAK,EAAEkC,SAAS,CAACJ,KAAV,CAAgB9B,KAAzB,EAFgB,EAAzB,EAIA4B,SAAS,CAACE,KAAV,CAAgBC,SAAhB,GAA4BY,SAA5B,CACD,CAED,IAAImB,WAAW,gBACb,sCACE,SAAS,EAAE,iBAAG5C,eAAO6C,OAAP,EAAH,EAAqBzB,sBAAcyB,OAAnC,mBACR7C,eAAO8C,iBAAP,EADQ,IACqB,CAAChF,MAAM,IAAIE,OAAX,KAAuB,CAACV,OAAxB,IAAmC,CAACkC,YADzD,OAERQ,eAAO+C,WAAP,EAFQ,IAEexD,MAFf,OAGRS,eAAOgD,eAAP,EAHQ,IAGmB,CAAChF,OAAD,IAAYxB,QAH/B,QADb,IAOGyF,WAPH,EAQGD,QARH,eASE,uCACE,SAAS,EAAE,iBAAGZ,sBAAc6B,IAAjB,mBACRjD,eAAOkD,gBAAP,EADQ,IACoB,CAAC,CAACjB,WADtB,QADb,IAKGlD,QALH,CATF,CADF,CAmBA,IAAIS,YAAY,IAAID,MAAhB,IAA0B,CAACjC,OAA/B,EAAwC,CACtC,IAAI6F,KAAK,GAAG/E,IAAZ,CACA,IAAIA,IAAJ,EAAU,CACR,IAAMgF,KAAiC,GAAG,EACxCC,KAAK,EAAEC,QAAQ,CAAC,KAAK7F,KAAL,CAAW8F,gBAAZ,CADyB,EAExCC,MAAM,EAAEF,QAAQ,CAAC,KAAK7F,KAAL,CAAWgG,iBAAZ,CAFwB,EAGxCC,KAAK,EAAEJ,QAAQ,CAAC,KAAK7F,KAAL,CAAWkG,gBAAZ,CAHyB,EAA1C,CADQ,CAMR;AACAR,QAAAA,KAAK,gBAAGS,eAAMC,YAAN,CAAmBzF,IAAnB,EAAyB,EAAEe,IAAI,EAAEiE,KAAK,CAAC,KAAK7G,KAAL,CAAW4C,IAAX,IAAmB,OAApB,CAAb,EAAzB,CAAR,CACD,CAEDyD,WAAW,gBACT,6BAAC,0BAAD,CAAc,QAAd,IAAuB,KAAK,EAAE,0CAAkB,KAAKnF,KAAvB,CAA9B,iBACE,6BAAC,UAAD,IAAM,OAAO,EAAE6B,SAAf,EAA0B,QAAQ,EAAE9C,QAApC,EAA8C,IAAI,EAAE2G,KAApD,EAA2D,EAAE,EAAC,MAA9D,EAAqE,QAAQ,EAAE,CAAC,CAAhF,IACGpE,QADH,CADF,CADF,CAOD,CAED,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAK+E,WAAjC,IAAkD,KAAKvH,KAAvD,gBACE,qCAAUyE,SAAV,eACE,gEAAQ,YAAUpF,cAAc,CAACC,IAAjC,EAAuC,GAAG,EAAE,KAAKoB,IAAjD,IAA2DyD,SAA3D,IAAsE,oBAAkB1B,eAAxF,KACGmC,eADH,EAEGG,WAFH,EAGG1B,SAHH,EAIGgD,WAJH,CADF,CADF,CADF,CAYD,C,QAEOvD,gB,GAAR,4BAA2B,sBACzB,IAAMG,YAAY,GAAG,+BAAY,KAAK/B,KAAjB,CAArB,CACA,QAAQ,KAAKzB,QAAL,GAAgBmD,IAAxB,GACE,KAAK,OAAL,CACE,OAAO,iBAAGa,eAAO+D,SAAP,CAAiB,KAAKtG,KAAtB,CAAH,mBACJuC,eAAOgE,aAAP,CAAqB,KAAKvG,KAA1B,CADI,IAC+BwG,kBAAUC,cADzC,OAEJlE,eAAOmE,iBAAP,CAAyB,KAAK1G,KAA9B,CAFI,IAEmC,CAAC,CAAC,KAAKlB,KAAL,CAAW6B,IAFhD,OAGJ4B,eAAOoE,4BAAP,CAAoC,KAAK3G,KAAzC,CAHI,IAG8C+B,YAAY,IAAI,CAAC,CAAC,KAAKjD,KAAL,CAAW6B,IAA7B,IAAqC,CAAC,KAAK7B,KAAL,CAAWwC,QAH/F,QAAP,CAKF,KAAK,QAAL,CACE,OAAO,iBAAGiB,eAAOqE,UAAP,CAAkB,KAAK5G,KAAvB,CAAH,mBACJuC,eAAOsE,cAAP,CAAsB,KAAK7G,KAA3B,CADI,IACgCwG,kBAAUC,cAD1C,OAEJlE,eAAOuE,kBAAP,CAA0B,KAAK9G,KAA/B,CAFI,IAEoC,CAAC,CAAC,KAAKlB,KAAL,CAAW6B,IAFjD,OAGJ4B,eAAOwE,6BAAP,CAAqC,KAAK/G,KAA1C,CAHI,IAG+C+B,YAAY,IAAI,CAAC,CAAC,KAAKjD,KAAL,CAAW6B,IAA7B,IAAqC,CAAC,KAAK7B,KAAL,CAAWwC,QAHhG,QAAP,CAKF,KAAK,OAAL,CACA,QACE,OAAO,iBAAGiB,eAAOyE,SAAP,CAAiB,KAAKhH,KAAtB,CAAH,mBACJuC,eAAO0E,aAAP,CAAqB,KAAKjH,KAA1B,CADI,IAC+BwG,kBAAUC,cADzC,OAEJlE,eAAO2E,iBAAP,CAAyB,KAAKlH,KAA9B,CAFI,IAEmC,CAAC,CAAC,KAAKlB,KAAL,CAAW6B,IAFhD,OAGJ4B,eAAO4E,4BAAP,CAAoC,KAAKnH,KAAzC,CAHI,IAG8C+B,YAAY,IAAI,CAAC,CAAC,KAAKjD,KAAL,CAAW6B,IAA7B,IAAqC,CAAC,KAAK7B,KAAL,CAAWwC,QAH/F,QAAP,CAfJ,CAqBD,C,QAEOmC,oB,GAAR,gCAA+B,CAC7B,QAAQ,KAAKlF,QAAL,GAAgBmD,IAAxB,GACE,KAAK,OAAL,CACE,OAAOa,eAAO6E,SAAP,CAAiB,KAAKpH,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAOuC,eAAO8E,UAAP,CAAkB,KAAKrH,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOuC,eAAO+E,SAAP,CAAiB,KAAKtH,KAAtB,CAAP,CAPJ,CASD,C,iBA9TyBmG,eAAMoB,S,WAClBC,mB,GAAsB,Q,UACtBC,U,GAAa,I,UAEbjJ,Y,GAA6B,EACzCgD,GAAG,EAAE,SADoC,EAEzCE,IAAI,EAAE,OAFmC,EAGzCD,IAAI,EAAE,QAHmC,E,4CAqVtC,IAAMiG,QAAQ,GAAG,+BAAgC,QAAhC,CAAjB,C","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Link } from '../Link';\nimport { Spinner } from '../Spinner';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n 'aria-describedby': ariaDescribedby,\n } = this.props;\n const { use, type, size } = this.getProps();\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const _isTheme2022 = isTheme2022(this.theme);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [wrapClassNameWithArrow, rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n\n let rootClassName = '';\n if (_isTheme2022) {\n const trueDisabled = disabled || loading;\n rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n borderless && styles.borderless2022(),\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked2022(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && styles.borderless2022(),\n ]),\n );\n } else {\n rootClassName = cx({\n [styles.root(this.theme)]: true,\n [styles.simulatedPress()]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n });\n }\n\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [wrapClassNameWithArrow]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = _isTheme2022 ? null : <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n const isDisabled2022 = _isTheme2022 && (disabled || loading);\n if ((!isFocused || isLink) && !isDisabled2022) {\n outlineNode = (\n <div\n style={{ zIndex: _isTheme2022 && isLink ? -1 : undefined }}\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconNode = icon && (\n <ButtonIcon\n icon={icon}\n size={size}\n hasChildren={Boolean(children)}\n disabled={disabled || false}\n loading={loading || false}\n use={use}\n />\n );\n let loadingNode = null;\n if (loading && !icon) {\n const loadingIcon = _isTheme2022 ? <LoadingIcon size={size} /> : <Spinner caption={null} dimmed type=\"mini\" />;\n loadingNode = <div className={styles.loading()}>{loadingIcon}</div>;\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkLineHeight()]: !isSafari || (isSafari && !_isTheme2022),\n [styles.linkLineHeightSafariFallback()]: isSafari && _isTheme2022,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n }\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: (active || checked) && !loading && !_isTheme2022,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {iconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: !!loadingNode,\n })}\n >\n {children}\n </span>\n </div>\n );\n if (_isTheme2022 && isLink && !loading) {\n let _icon = icon;\n if (icon) {\n const sizes: Record<ButtonSize, number> = {\n small: parseInt(this.theme.btnIconSizeSmall),\n medium: parseInt(this.theme.btnIconSizeMedium),\n large: parseInt(this.theme.btnIconSizeLarge),\n };\n // Expect icon to have a `size` prop\n _icon = React.cloneElement(icon, { size: sizes[this.props.size || 'small'] });\n }\n\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n <Link focused={isFocused} disabled={disabled} icon={_icon} as=\"span\" tabIndex={-1}>\n {children}\n </Link>\n </ThemeContext.Provider>\n );\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button data-tid={ButtonDataTids.root} ref={this._ref} {...rootProps} aria-describedby={ariaDescribedby}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getSizeClassName() {\n const _isTheme2022 = isTheme2022(this.theme);\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["ButtonDataTids","root","Button","rootNode","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","keyListener","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","ThemeFactory","create","renderMain","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","ariaDescribedby","use","type","size","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","rootClassName","trueDisabled","cx","styles","noPadding","noRightPadding","checkedDisabled","checkedDisabled2022","borderless2022","activeStyles","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","globalClasses","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","loadingNode","loadingIcon","link","linkLineHeight","isSafari","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","setRootNode","sizeLarge","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","React","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Link } from '../Link';\nimport { Spinner } from '../Spinner';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n 'aria-describedby': ariaDescribedby,\n } = this.props;\n const { use, type, size } = this.getProps();\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const _isTheme2022 = isTheme2022(this.theme);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [wrapClassNameWithArrow, rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n\n let rootClassName = '';\n if (_isTheme2022) {\n const trueDisabled = disabled || loading;\n rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n borderless && styles.borderless2022(),\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked2022(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && styles.borderless2022(),\n ]),\n );\n } else {\n rootClassName = cx({\n [styles.root(this.theme)]: true,\n [styles.simulatedPress()]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n });\n }\n\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [wrapClassNameWithArrow]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = _isTheme2022 ? null : <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n const isDisabled2022 = _isTheme2022 && (disabled || loading);\n if ((!isFocused || isLink) && !isDisabled2022) {\n outlineNode = (\n <div\n style={{ zIndex: _isTheme2022 && isLink ? -1 : undefined }}\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconNode = icon && (\n <ButtonIcon\n icon={icon}\n size={size}\n hasChildren={Boolean(children)}\n disabled={disabled || false}\n loading={loading || false}\n use={use}\n />\n );\n let loadingNode = null;\n if (loading && !icon) {\n const loadingIcon = _isTheme2022 ? <LoadingIcon size={size} /> : <Spinner caption={null} dimmed type=\"mini\" />;\n loadingNode = <div className={styles.loading()}>{loadingIcon}</div>;\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkLineHeight()]: !isSafari || (isSafari && !_isTheme2022),\n [styles.linkLineHeightSafariFallback()]: isSafari && _isTheme2022,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n }\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: (active || checked) && !loading && !_isTheme2022,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {iconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: !!loadingNode,\n })}\n >\n {children}\n </span>\n </div>\n );\n if (_isTheme2022 && isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n <Link focused={isFocused} disabled={disabled} icon={icon} as=\"span\" tabIndex={-1}>\n {children}\n </Link>\n </ThemeContext.Provider>\n );\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button data-tid={ButtonDataTids.root} ref={this._ref} {...rootProps} aria-describedby={ariaDescribedby}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getSizeClassName() {\n const _isTheme2022 = isTheme2022(this.theme);\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
@@ -34,11 +34,6 @@ var ButtonIcon = function ButtonIcon(_ref)
34
34
  return _Button.styles.iconSmall(theme);}
35
35
 
36
36
  };
37
- var sizes = {
38
- small: parseInt(theme.btnIconSizeSmall),
39
- medium: parseInt(theme.btnIconSizeMedium),
40
- large: parseInt(theme.btnIconSizeLarge) };
41
-
42
37
 
43
38
  var space = (0, _ThemeHelpers.isTheme2022)(theme) ? _chars.ZERO_WIDTH_SPACE : '';
44
39
  var style = (0, _ThemeHelpers.isTheme2022)(theme) ?
@@ -48,12 +43,6 @@ var ButtonIcon = function ButtonIcon(_ref)
48
43
 
49
44
  {};
50
45
 
51
- var _icon = icon;
52
- if (icon && (0, _ThemeHelpers.isTheme2022)(theme)) {
53
- // Expect icon to have a `size` and `disableCompensation` props
54
- _icon = /*#__PURE__*/_react.default.cloneElement(icon, { size: sizes[size], disableCompensation: true });
55
- }
56
-
57
46
  return /*#__PURE__*/(
58
47
  _react.default.createElement("span", {
59
48
  style: style,
@@ -63,7 +52,7 @@ var ButtonIcon = function ButtonIcon(_ref)
63
52
 
64
53
 
65
54
  space,
66
- loading ? /*#__PURE__*/_react.default.createElement(_LoadingIcon.LoadingIcon, { size: size }) : _icon));
55
+ loading ? /*#__PURE__*/_react.default.createElement(_LoadingIcon.LoadingIcon, { size: size }) : icon));
67
56
 
68
57
 
69
58
  };exports.ButtonIcon = ButtonIcon;
@@ -1 +1 @@
1
- {"version":3,"sources":["ButtonIcon.tsx"],"names":["ButtonIcon","icon","hasChildren","use","loading","size","theme","ThemeContext","isLink","getSizeIconClassName","styles","iconLarge","iconMedium","iconSmall","sizes","small","parseInt","btnIconSizeSmall","medium","btnIconSizeMedium","large","btnIconSizeLarge","space","ZERO_WIDTH_SPACE","style","display","alignItems","_icon","React","cloneElement","disableCompensation","globalClasses","iconNoRightMargin","iconLink"],"mappings":"mEAAA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,yC;;;;;;AAMO,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD;;;;;;AAM9D,aALJC,IAKI,QALJA,IAKI,CAJJC,WAII,QAJJA,WAII,CAHJC,GAGI,QAHJA,GAGI,qBAFJC,OAEI,CAFJA,OAEI,6BAFM,KAEN,iCADJC,IACI,CADJA,IACI,0BADG,OACH;AACJ,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,MAAM,GAAGL,GAAG,KAAK,MAAvB;;AAEA,MAAMM,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC,YAAQJ,IAAR;AACE,WAAK,OAAL;AACE,eAAOK,eAAOC,SAAP,CAAiBL,KAAjB,CAAP;AACF,WAAK,QAAL;AACE,eAAOI,eAAOE,UAAP,CAAkBN,KAAlB,CAAP;AACF,WAAK,OAAL;AACA;AACE,eAAOI,eAAOG,SAAP,CAAiBP,KAAjB,CAAP,CAPJ;;AASD,GAVD;AAWA,MAAMQ,KAAiC,GAAG;AACxCC,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACW,gBAAP,CADyB;AAExCC,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACa,iBAAP,CAFwB;AAGxCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACe,gBAAP,CAHyB,EAA1C;;;AAMA,MAAMC,KAAK,GAAG,+BAAYhB,KAAZ,IAAqBiB,uBAArB,GAAwC,EAAtD;AACA,MAAMC,KAA0B,GAAG,+BAAYlB,KAAZ;AAC/B;AACEmB,IAAAA,OAAO,EAAE,aADX;AAEEC,IAAAA,UAAU,EAAE,QAFd,EAD+B;;AAK/B,IALJ;;AAOA,MAAIC,KAAK,GAAG1B,IAAZ;AACA,MAAIA,IAAI,IAAI,+BAAYK,KAAZ,CAAZ,EAAgC;AAC9B;AACAqB,IAAAA,KAAK,gBAAGC,eAAMC,YAAN,CAAmB5B,IAAnB,EAAyB,EAAEI,IAAI,EAAES,KAAK,CAACT,IAAD,CAAb,EAAqByB,mBAAmB,EAAE,IAA1C,EAAzB,CAAR;AACD;;AAED;AACE;AACE,MAAA,KAAK,EAAEN,KADT;AAEE,MAAA,SAAS,EAAE,iBAAGO,sBAAc9B,IAAjB,EAAuBS,eAAOT,IAAP,EAAvB,EAAsCQ,oBAAoB,EAA1D;AACRC,qBAAOsB,iBAAP,EADQ,IACqB,CAAC9B,WADtB;AAERQ,qBAAOuB,QAAP,CAAgB3B,KAAhB,CAFQ,IAEiBE,MAFjB,OAFb;;;AAOGc,IAAAA,KAPH;AAQGlB,IAAAA,OAAO,gBAAG,6BAAC,wBAAD,IAAa,IAAI,EAAEC,IAAnB,GAAH,GAAiCsB,KAR3C,CADF;;;AAYD,CArDM,C","sourcesContent":["import React, { useContext } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ZERO_WIDTH_SPACE } from '../../lib/chars';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\n\nimport { ButtonProps, ButtonSize } from './Button';\nimport { globalClasses, styles } from './Button.styles';\n\ntype ButtonIconProps = Pick<ButtonProps, 'size' | 'icon' | 'loading' | 'disabled' | 'use'> & {\n hasChildren: boolean;\n};\n\nexport const ButtonIcon: React.FunctionComponent<ButtonIconProps> = ({\n icon,\n hasChildren,\n use,\n loading = false,\n size = 'small',\n}) => {\n const theme = useContext(ThemeContext);\n const isLink = use === 'link';\n\n const getSizeIconClassName = () => {\n switch (size) {\n case 'large':\n return styles.iconLarge(theme);\n case 'medium':\n return styles.iconMedium(theme);\n case 'small':\n default:\n return styles.iconSmall(theme);\n }\n };\n const sizes: Record<ButtonSize, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n\n const space = isTheme2022(theme) ? ZERO_WIDTH_SPACE : '';\n const style: React.CSSProperties = isTheme2022(theme)\n ? {\n display: 'inline-flex',\n alignItems: 'center',\n }\n : {};\n\n let _icon = icon;\n if (icon && isTheme2022(theme)) {\n // Expect icon to have a `size` and `disableCompensation` props\n _icon = React.cloneElement(icon, { size: sizes[size], disableCompensation: true });\n }\n\n return (\n <span\n style={style}\n className={cx(globalClasses.icon, styles.icon(), getSizeIconClassName(), {\n [styles.iconNoRightMargin()]: !hasChildren,\n [styles.iconLink(theme)]: isLink,\n })}\n >\n {space}\n {loading ? <LoadingIcon size={size} /> : _icon}\n </span>\n );\n};\n"]}
1
+ {"version":3,"sources":["ButtonIcon.tsx"],"names":["ButtonIcon","icon","hasChildren","use","loading","size","theme","ThemeContext","isLink","getSizeIconClassName","styles","iconLarge","iconMedium","iconSmall","space","ZERO_WIDTH_SPACE","style","display","alignItems","globalClasses","iconNoRightMargin","iconLink"],"mappings":"mEAAA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,yC;;;;;;AAMO,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD;;;;;;AAM9D,aALJC,IAKI,QALJA,IAKI,CAJJC,WAII,QAJJA,WAII,CAHJC,GAGI,QAHJA,GAGI,qBAFJC,OAEI,CAFJA,OAEI,6BAFM,KAEN,iCADJC,IACI,CADJA,IACI,0BADG,OACH;AACJ,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,MAAM,GAAGL,GAAG,KAAK,MAAvB;;AAEA,MAAMM,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC,YAAQJ,IAAR;AACE,WAAK,OAAL;AACE,eAAOK,eAAOC,SAAP,CAAiBL,KAAjB,CAAP;AACF,WAAK,QAAL;AACE,eAAOI,eAAOE,UAAP,CAAkBN,KAAlB,CAAP;AACF,WAAK,OAAL;AACA;AACE,eAAOI,eAAOG,SAAP,CAAiBP,KAAjB,CAAP,CAPJ;;AASD,GAVD;;AAYA,MAAMQ,KAAK,GAAG,+BAAYR,KAAZ,IAAqBS,uBAArB,GAAwC,EAAtD;AACA,MAAMC,KAA0B,GAAG,+BAAYV,KAAZ;AAC/B;AACEW,IAAAA,OAAO,EAAE,aADX;AAEEC,IAAAA,UAAU,EAAE,QAFd,EAD+B;;AAK/B,IALJ;;AAOA;AACE;AACE,MAAA,KAAK,EAAEF,KADT;AAEE,MAAA,SAAS,EAAE,iBAAGG,sBAAclB,IAAjB,EAAuBS,eAAOT,IAAP,EAAvB,EAAsCQ,oBAAoB,EAA1D;AACRC,qBAAOU,iBAAP,EADQ,IACqB,CAAClB,WADtB;AAERQ,qBAAOW,QAAP,CAAgBf,KAAhB,CAFQ,IAEiBE,MAFjB,OAFb;;;AAOGM,IAAAA,KAPH;AAQGV,IAAAA,OAAO,gBAAG,6BAAC,wBAAD,IAAa,IAAI,EAAEC,IAAnB,GAAH,GAAiCJ,IAR3C,CADF;;;AAYD,CA1CM,C","sourcesContent":["import React, { useContext } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ZERO_WIDTH_SPACE } from '../../lib/chars';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\n\nimport { ButtonProps } from './Button';\nimport { globalClasses, styles } from './Button.styles';\n\ntype ButtonIconProps = Pick<ButtonProps, 'size' | 'icon' | 'loading' | 'disabled' | 'use'> & {\n hasChildren: boolean;\n};\n\nexport const ButtonIcon: React.FunctionComponent<ButtonIconProps> = ({\n icon,\n hasChildren,\n use,\n loading = false,\n size = 'small',\n}) => {\n const theme = useContext(ThemeContext);\n const isLink = use === 'link';\n\n const getSizeIconClassName = () => {\n switch (size) {\n case 'large':\n return styles.iconLarge(theme);\n case 'medium':\n return styles.iconMedium(theme);\n case 'small':\n default:\n return styles.iconSmall(theme);\n }\n };\n\n const space = isTheme2022(theme) ? ZERO_WIDTH_SPACE : '';\n const style: React.CSSProperties = isTheme2022(theme)\n ? {\n display: 'inline-flex',\n alignItems: 'center',\n }\n : {};\n\n return (\n <span\n style={style}\n className={cx(globalClasses.icon, styles.icon(), getSizeIconClassName(), {\n [styles.iconNoRightMargin()]: !hasChildren,\n [styles.iconLink(theme)]: isLink,\n })}\n >\n {space}\n {loading ? <LoadingIcon size={size} /> : icon}\n </span>\n );\n};\n"]}
@@ -8,8 +8,8 @@ var _iconSizer = require("../../internal/icons2022/iconSizer"); /* eslint-disabl
8
8
 
9
9
  var CalendarIcon = (0, _iconSizer.iconSizer)(
10
10
  {
11
- small: function small() {return /*#__PURE__*/_react.default.createElement(_CalendarIcon16Light.CalendarIcon16Light, { disableCompensation: false });},
12
- medium: function medium() {return /*#__PURE__*/_react.default.createElement(_CalendarIcon20Light.CalendarIcon20Light, { disableCompensation: false });},
13
- large: function large() {return /*#__PURE__*/_react.default.createElement(_CalendarIcon24Regular.CalendarIcon24Regular, { disableCompensation: false });} },
11
+ small: function small() {return /*#__PURE__*/_react.default.createElement(_CalendarIcon16Light.CalendarIcon16Light, null);},
12
+ medium: function medium() {return /*#__PURE__*/_react.default.createElement(_CalendarIcon20Light.CalendarIcon20Light, null);},
13
+ large: function large() {return /*#__PURE__*/_react.default.createElement(_CalendarIcon24Regular.CalendarIcon24Regular, null);} },
14
14
 
15
15
  'CalendarIcon');exports.CalendarIcon = CalendarIcon;
@@ -1 +1 @@
1
- {"version":3,"sources":["CalendarIcon.tsx"],"names":["CalendarIcon","small","medium","large"],"mappings":";AACA;;AAEA;AACA;AACA;AACA,+D,CANA;;AAQO,IAAMA,YAAY,GAAG;AAC1B;AACEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,wCAAD,IAAqB,mBAAmB,EAAE,KAA1C,GAAN,EADT;AAEEC,EAAAA,MAAM,EAAE,uCAAM,6BAAC,wCAAD,IAAqB,mBAAmB,EAAE,KAA1C,GAAN,EAFV;AAGEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,4CAAD,IAAuB,mBAAmB,EAAE,KAA5C,GAAN,EAHT,EAD0B;;AAM1B,cAN0B,CAArB,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\n\nimport { CalendarIcon16Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon16Light';\nimport { CalendarIcon20Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon20Light';\nimport { CalendarIcon24Regular } from '../../internal/icons2022/CalendarIcon/CalendarIcon24Regular';\nimport { iconSizer } from '../../internal/icons2022/iconSizer';\n\nexport const CalendarIcon = iconSizer(\n {\n small: () => <CalendarIcon16Light disableCompensation={false} />,\n medium: () => <CalendarIcon20Light disableCompensation={false} />,\n large: () => <CalendarIcon24Regular disableCompensation={false} />,\n },\n 'CalendarIcon',\n);\n"]}
1
+ {"version":3,"sources":["CalendarIcon.tsx"],"names":["CalendarIcon","small","medium","large"],"mappings":";AACA;;AAEA;AACA;AACA;AACA,+D,CANA;;AAQO,IAAMA,YAAY,GAAG;AAC1B;AACEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,wCAAD,OAAN,EADT;AAEEC,EAAAA,MAAM,EAAE,uCAAM,6BAAC,wCAAD,OAAN,EAFV;AAGEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,4CAAD,OAAN,EAHT,EAD0B;;AAM1B,cAN0B,CAArB,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\n\nimport { CalendarIcon16Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon16Light';\nimport { CalendarIcon20Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon20Light';\nimport { CalendarIcon24Regular } from '../../internal/icons2022/CalendarIcon/CalendarIcon24Regular';\nimport { iconSizer } from '../../internal/icons2022/iconSizer';\n\nexport const CalendarIcon = iconSizer(\n {\n small: () => <CalendarIcon16Light />,\n medium: () => <CalendarIcon20Light />,\n large: () => <CalendarIcon24Regular />,\n },\n 'CalendarIcon',\n);\n"]}
@@ -8,8 +8,8 @@ var _NetUploadIcon24Regular = require("../../internal/icons2022/NetUploadIcon/Ne
8
8
 
9
9
  var UploadIcon = (0, _iconSizer.iconSizer)(
10
10
  {
11
- small: function small() {return /*#__PURE__*/_react.default.createElement(_NetUploadIcon16Light.NetUploadIcon16Light, { disableCompensation: false });},
12
- medium: function medium() {return /*#__PURE__*/_react.default.createElement(_NetUploadIcon20Light.NetUploadIcon20Light, { disableCompensation: false });},
13
- large: function large() {return /*#__PURE__*/_react.default.createElement(_NetUploadIcon24Regular.NetUploadIcon24Regular, { disableCompensation: false });} },
11
+ small: function small() {return /*#__PURE__*/_react.default.createElement(_NetUploadIcon16Light.NetUploadIcon16Light, null);},
12
+ medium: function medium() {return /*#__PURE__*/_react.default.createElement(_NetUploadIcon20Light.NetUploadIcon20Light, null);},
13
+ large: function large() {return /*#__PURE__*/_react.default.createElement(_NetUploadIcon24Regular.NetUploadIcon24Regular, null);} },
14
14
 
15
15
  'UploadIcon');exports.UploadIcon = UploadIcon;
@@ -1 +1 @@
1
- {"version":3,"sources":["UploadIcon.tsx"],"names":["UploadIcon","small","medium","large"],"mappings":";AACA;;AAEA;AACA;AACA;AACA,uG,CANA;;AAQO,IAAMA,UAAU,GAAG;AACxB;AACEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,0CAAD,IAAsB,mBAAmB,EAAE,KAA3C,GAAN,EADT;AAEEC,EAAAA,MAAM,EAAE,uCAAM,6BAAC,0CAAD,IAAsB,mBAAmB,EAAE,KAA3C,GAAN,EAFV;AAGEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,8CAAD,IAAwB,mBAAmB,EAAE,KAA7C,GAAN,EAHT,EADwB;;AAMxB,YANwB,CAAnB,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer';\nimport { NetUploadIcon16Light } from '../../internal/icons2022/NetUploadIcon/NetUploadIcon16Light';\nimport { NetUploadIcon20Light } from '../../internal/icons2022/NetUploadIcon/NetUploadIcon20Light';\nimport { NetUploadIcon24Regular } from '../../internal/icons2022/NetUploadIcon/NetUploadIcon24Regular';\n\nexport const UploadIcon = iconSizer(\n {\n small: () => <NetUploadIcon16Light disableCompensation={false} />,\n medium: () => <NetUploadIcon20Light disableCompensation={false} />,\n large: () => <NetUploadIcon24Regular disableCompensation={false} />,\n },\n 'UploadIcon',\n);\n"]}
1
+ {"version":3,"sources":["UploadIcon.tsx"],"names":["UploadIcon","small","medium","large"],"mappings":";AACA;;AAEA;AACA;AACA;AACA,uG,CANA;;AAQO,IAAMA,UAAU,GAAG;AACxB;AACEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,0CAAD,OAAN,EADT;AAEEC,EAAAA,MAAM,EAAE,uCAAM,6BAAC,0CAAD,OAAN,EAFV;AAGEC,EAAAA,KAAK,EAAE,sCAAM,6BAAC,8CAAD,OAAN,EAHT,EADwB;;AAMxB,YANwB,CAAnB,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer';\nimport { NetUploadIcon16Light } from '../../internal/icons2022/NetUploadIcon/NetUploadIcon16Light';\nimport { NetUploadIcon20Light } from '../../internal/icons2022/NetUploadIcon/NetUploadIcon20Light';\nimport { NetUploadIcon24Regular } from '../../internal/icons2022/NetUploadIcon/NetUploadIcon24Regular';\n\nexport const UploadIcon = iconSizer(\n {\n small: () => <NetUploadIcon16Light />,\n medium: () => <NetUploadIcon20Light />,\n large: () => <NetUploadIcon24Regular />,\n },\n 'UploadIcon',\n);\n"]}
@@ -422,7 +422,8 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
422
422
  labelProps: labelProps,
423
423
  context: { disabled: Boolean(disabled), focused: focused, size: size } },
424
424
 
425
- input, /*#__PURE__*/
425
+ input,
426
+ _this.state.needsPolyfillPlaceholder && /*#__PURE__*/
426
427
  _react.default.createElement(_PolyfillPlaceholder.PolyfillPlaceholder, {
427
428
  isMaskVisible: _this.isMaskVisible,
428
429
  value: value,
@@ -433,6 +434,7 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
433
434
 
434
435
 
435
436
 
437
+
436
438
  }
437
439
 
438
440
  return /*#__PURE__*/(
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","blinkTimeout","input","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","rest","labelProps","className","styles","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","canBeUsedWithMask","renderMaskedInput","React","createElement","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__"],"mappings":";;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wE;;AAEO,IAAMA,UAAU,GAAG,CAAC,UAAD,EAAa,MAAb,EAAqB,QAArB,EAA+B,KAA/B,EAAsC,QAAtC,EAAgD,MAAhD,EAAwD,MAAxD,EAAgE,KAAhE,EAAuE,OAAvE,CAAnB,C;;;;;;;AAOA,IAAMC,qBAAkC,GAAG,CAAC,MAAD,EAAS,UAAT,EAAqB,KAArB,EAA4B,QAA5B,EAAsC,KAAtC,CAA3C,C;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,IAAD,EAAkBC,YAAlB,EAAwE,KAAtDA,YAAsD,cAAtDA,YAAsD,GAA1BH,qBAA0B;AAC3G,kEAA6DE,IAA7D,0CAAqGC,YAAY;AAC9GC,EAAAA,GADkG,CAC9F,UAACC,CAAD,iBAAWA,CAAX,SAD8F;AAElGC,EAAAA,IAFkG,CAE7F,IAF6F,CAArG;AAGD,CAJM,C;;AAMA,IAAMC,kBAA+B,GAAG,CAAC,QAAD,EAAW,MAAX,EAAmB,MAAnB,CAAxC,C;AACA,IAAMC,gBAA6B,GAAGT,UAAU,CAACU,MAAX,CAAkB,UAACP,IAAD,EAAU;AACvE,SAAO,CAACK,kBAAkB,CAACG,QAAnB,CAA4BR,IAA5B,CAAR;AACD,CAF4C,CAAtC,C;AAGA,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACT,IAAD,EAAkBC,YAAlB,EAAmE,KAAjDA,YAAiD,cAAjDA,YAAiD,GAArBK,gBAAqB;AACjG,+DAAwDN,IAAxD,6BAAmFC,YAAY;AAC5FC,EAAAA,GADgF,CAC5E,UAACC,CAAD,iBAAWA,CAAX,SAD4E;AAEhFC,EAAAA,IAFgF,CAE3E,IAF2E,CAAnF;AAGD,CAJM,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2GA,IAAMM,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,aADqB,EAAtB,C;;;;;AAMP;AACA;AACA;AACA,G;;AAEaC,K,OADZC,kB;;;;;;;;AASSC,IAAAA,Q,GAAW,0CAAkBF,KAAK,CAACG,YAAxB,C;;AAEZC,IAAAA,K,GAAoB;AACzBC,MAAAA,wBAAwB,EAAxBA,kDADyB;AAEzBC,MAAAA,QAAQ,EAAE,KAFe;AAGzBC,MAAAA,OAAO,EAAE,KAHgB,E;;;AAMnBC,IAAAA,W,GAA6B,I;;AAE7BC,IAAAA,Y,GAAe,C;AACfC,IAAAA,K,GAAiC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6HlCC,IAAAA,S,GAAY,YAAY;AAC7B,UAAI,MAAKD,KAAT,EAAgB;AACd,cAAKE,iBAAL,CAAuB,CAAvB,EAA0B,MAAKF,KAAL,CAAWG,KAAX,CAAiBC,MAA3C;AACD;AACF,K;;AAEOC,IAAAA,c,GAAiB,oBAAe,MAAKP,WAAL,GAAmB,kBAAI,MAAKG,SAAT,CAAlC,E;;AAEjBK,IAAAA,sB,GAAyB,YAAY;AAC3C,UAAI,MAAKR,WAAT,EAAsB;AACpBS,qBAAIC,MAAJ,CAAW,MAAKV,WAAhB;AACA,cAAKA,WAAL,GAAmB,IAAnB;AACD;AACF,K;;AAEOW,IAAAA,W,GAAc,UAACC,QAAD,EAAiC;AACrD,UAAI,MAAKX,YAAT,EAAuB;AACrBY,QAAAA,YAAY,CAAC,MAAKZ,YAAN,CAAZ;AACA,cAAKA,YAAL,GAAoB,CAApB;AACA,YAAI,MAAKL,KAAL,CAAWE,QAAf,EAAyB;AACvB,gBAAKgB,QAAL,CAAc,EAAEhB,QAAQ,EAAE,KAAZ,EAAd,EAAmCc,QAAnC;AACA;AACD;AACF;AACD,UAAIA,QAAJ,EAAc;AACZA,QAAAA,QAAQ;AACT;AACF,K;;AAEOG,IAAAA,U,GAAa,UAACC,KAAD,EAA+C;AAClE;AACEC,MAAAA,YADF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BID,MAAAA,KA/BJ,CACEC,YADF,CAEEC,YAFF,GA+BIF,KA/BJ,CAEEE,YAFF,CAGEC,WAHF,GA+BIH,KA/BJ,CAGEG,WAHF,CAIEC,SAJF,GA+BIJ,KA/BJ,CAIEI,SAJF,CAKEC,UALF,GA+BIL,KA/BJ,CAKEK,UALF,CAMEC,aANF,GA+BIN,KA/BJ,CAMEM,aANF,CAOEC,KAPF,GA+BIP,KA/BJ,CAOEO,KAPF,CAQEC,KARF,GA+BIR,KA/BJ,CAQEQ,KARF,CASEC,IATF,GA+BIT,KA/BJ,CASES,IATF,CAUEC,OAVF,GA+BIV,KA/BJ,CAUEU,OAVF,CAWEC,QAXF,GA+BIX,KA/BJ,CAWEW,QAXF,CAYEC,SAZF,GA+BIZ,KA/BJ,CAYEY,SAZF,CAaEC,UAbF,GA+BIb,KA/BJ,CAaEa,UAbF,CAcExB,KAdF,GA+BIW,KA/BJ,CAcEX,KAdF,CAeEyB,KAfF,GA+BId,KA/BJ,CAeEc,KAfF,CAgBElD,IAhBF,GA+BIoC,KA/BJ,CAgBEpC,IAhBF,CAiBEmD,IAjBF,GA+BIf,KA/BJ,CAiBEe,IAjBF,CAkBEC,QAlBF,GA+BIhB,KA/BJ,CAkBEgB,QAlBF,CAmBEC,cAnBF,GA+BIjB,KA/BJ,CAmBEiB,cAnBF,CAoBEC,IApBF,GA+BIlB,KA/BJ,CAoBEkB,IApBF,CAqBEC,WArBF,GA+BInB,KA/BJ,CAqBEmB,WArBF,CAsBEC,gBAtBF,GA+BIpB,KA/BJ,CAsBEoB,gBAtBF,CAuBEC,QAvBF,GA+BIrB,KA/BJ,CAuBEqB,QAvBF,CAwBEC,iBAxBF,GA+BItB,KA/BJ,CAwBEsB,iBAxBF,CAyBEC,MAzBF,GA+BIvB,KA/BJ,CAyBEuB,MAzBF,CA0BEC,MA1BF,GA+BIxB,KA/BJ,CA0BEwB,MA1BF,CA2BEC,WA3BF,GA+BIzB,KA/BJ,CA2BEyB,WA3BF,CA4BEC,OA5BF,GA+BI1B,KA/BJ,CA4BE0B,OA5BF,CA6BsBC,eA7BtB,GA+BI3B,KA/BJ,CA6BE,kBA7BF,EA8BK4B,IA9BL,+CA+BI5B,KA/BJ;;AAiCA,wBAA8B,MAAKpB,KAAnC,CAAQE,QAAR,eAAQA,QAAR,CAAkBC,OAAlB,eAAkBA,OAAlB;;AAEA,UAAM8C,UAAU,GAAG;AACjBC,QAAAA,SAAS,EAAE,iBAAGC,cAAOxD,IAAP,CAAY,MAAKyD,KAAjB,CAAH,EAA4B,MAAKC,gBAAL,EAA5B;AACRF,sBAAOG,KAAP,CAAa,MAAKF,KAAlB,CADQ,IACmBjD,OAAO,IAAI,CAAC2B,OAAZ,IAAuB,CAACF,KAD3C;AAERuB,sBAAOI,QAAP,CAAgB,MAAKH,KAArB,CAFQ,IAEsB,CAACjD,OAAD,IAAY,CAACsC,QAAb,IAAyB,CAACX,OAA1B,IAAqC,CAACF,KAAtC,IAA+C,CAACK,UAFtE;AAGRkB,sBAAOK,KAAP,CAAa,MAAKJ,KAAlB,CAHQ,IAGmBlD,QAHnB;AAIRiD,sBAAOlB,UAAP,EAJQ,IAIcA,UAAU,IAAI,CAAC9B,OAJ7B;AAKRgD,sBAAOV,QAAP,CAAgB,MAAKW,KAArB,CALQ,IAKsBX,QALtB;AAMRU,sBAAOrB,OAAP,CAAe,MAAKsB,KAApB,CANQ,IAMqBtB,OANrB;AAORqB,sBAAOvB,KAAP,CAAa,MAAKwB,KAAlB,CAPQ,IAOmBxB,KAPnB;AAQRuB,sBAAOM,aAAP,CAAqB,MAAKL,KAA1B,CARQ,IAQ2BjD,OAAO,KAAKuD,kBAAUC,cAAf,CARlC;AASRR,sBAAOS,eAAP,CAAuB,MAAKR,KAA5B,CATQ,IAS6BtB,OAAO,KAAK4B,kBAAUC,cAAf,CATpC;AAURR,sBAAOU,aAAP,CAAqB,MAAKT,KAA1B,CAVQ,IAU2BxB,KAAK,KAAK8B,kBAAUC,cAAf,CAVhC,OADM;;AAajBG,QAAAA,KAAK,2BAAInC,KAAK,EAALA,KAAJ,IAAcmB,OAAd,CAbY;AAcjBzB,QAAAA,YAAY,EAAZA,YAdiB;AAejBC,QAAAA,YAAY,EAAZA,YAfiB;AAgBjBC,QAAAA,WAAW,EAAXA,WAhBiB,EAAnB;;;AAmBA,UAAMwC,UAAU;AACXf,MAAAA,IADW;AAEdE,QAAAA,SAAS,EAAE,iBAAGC,cAAO7C,KAAP,CAAa,MAAK8C,KAAlB,CAAH;AACRD,sBAAOa,UAAP,CAAkB,MAAKZ,KAAvB,CADQ,IACwBjD,OADxB;AAERgD,sBAAOc,aAAP,CAAqB,MAAKb,KAA1B,CAFQ,IAE2BX,QAF3B,QAFG;;AAMdhC,QAAAA,KAAK,EAALA,KANc;AAOdoB,QAAAA,IAAI,EAAJA,IAPc;AAQdqC,QAAAA,QAAQ,EAAE,MAAKC,YARD;AASdC,QAAAA,OAAO,EAAE,MAAKC,WATA;AAUd7C,QAAAA,SAAS,EAAE,MAAK8C,aAVF;AAWd7C,QAAAA,UAAU,EAAE,MAAK8C,cAXH;AAYdC,QAAAA,MAAM,EAAE,MAAKC,UAZC;AAadX,QAAAA,KAAK,EAAE,EAAEY,SAAS,EAAExC,KAAb,EAbO;AAcdyC,QAAAA,GAAG,EAAE,MAAKC,QAdI;AAed5F,QAAAA,IAAI,EAAJA,IAfc;AAgBduD,QAAAA,WAAW,EAAE,CAAC,MAAKsC,aAAN,IAAuB,CAAC5E,kDAAxB,GAAmDsC,WAAnD,GAAiEuC,SAhBhE;AAiBdrC,QAAAA,QAAQ,EAARA,QAjBc;AAkBd,4BAAoBM,eAlBN,GAAhB;;;AAqBA,UAAMzC,KAAK;AACT6B,MAAAA,IAAI,IAAI,CAAC,MAAK4C,iBAAd;AACI,YAAKC,iBAAL,CAAuBjB,UAAvB,EAAmC5B,IAAnC,CADJ;AAEI8C,qBAAMC,aAAN,CAAoB,OAApB,EAA6BnB,UAA7B,CAHN;;AAKA,UAAI,+BAAY,MAAKX,KAAjB,CAAJ,EAA6B;AAC3B;AACE,uCAAC,wBAAD;AACE,YAAA,QAAQ,EAAErB,QADZ;AAEE,YAAA,SAAS,EAAEC,SAFb;AAGE,YAAA,MAAM,EAAEW,MAHV;AAIE,YAAA,MAAM,EAAEC,MAJV;AAKE,YAAA,UAAU,EAAEK,UALd;AAME,YAAA,OAAO,EAAE,EAAER,QAAQ,EAAE0C,OAAO,CAAC1C,QAAD,CAAnB,EAA+BtC,OAAO,EAAPA,OAA/B,EAAwCmC,IAAI,EAAJA,IAAxC,EANX;;AAQGhC,UAAAA,KARH;AASE,uCAAC,wCAAD;AACE,YAAA,aAAa,EAAE,MAAKuE,aADtB;AAEE,YAAA,KAAK,EAAEpE,KAFT;AAGE,YAAA,YAAY,EAAE,MAAKW,KAAL,CAAWgE,YAH3B;AAIE,YAAA,KAAK,EAAElD,KAJT;;AAMGK,UAAAA,WANH,CATF,CADF;;;;AAoBD;;AAED;AACE,uEAAO,YAAU7C,aAAa,CAACC,IAA/B,IAAyCsD,UAAzC;AACE,+CAAM,SAAS,EAAEE,cAAOkC,aAAP,EAAjB;AACG,cAAKC,cAAL,EADH;AAEG,cAAKC,YAAL,EAFH,CADF;;AAKE,+CAAM,SAAS,EAAEpC,cAAOqC,OAAP,EAAjB;AACGlF,QAAAA,KADH;AAEG,cAAKmF,iBAAL,EAFH,CALF;;AASE,+CAAM,SAAS,EAAE,iBAAGtC,cAAOkC,aAAP,EAAH,EAA2BlC,cAAOuC,cAAP,EAA3B,CAAjB;AACG,cAAKC,YAAL,EADH;AAEG,cAAKC,eAAL,EAFH,CATF,CADF;;;;AAgBD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8GOhB,IAAAA,Q,GAAW,UAACiB,OAAD,EAAoD;AACrE,UAAIA,OAAO,YAAYC,wBAAvB,EAAoC;AAClC,cAAKxF,KAAL,GAAauF,OAAO,CAACvF,KAArB;AACD,OAFD,MAEO;AACL,cAAKA,KAAL,GAAauF,OAAb;AACD;AACF,K;;AAEO1B,IAAAA,Y,GAAe,UAAC4B,KAAD,EAAgD;AACrE,UAAI9F,kDAAJ,EAA8B;AAC5B,YAAM+F,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaxF,KAAb,KAAuB,EAA5C;AACA,YAAI,MAAKT,KAAL,CAAWC,wBAAX,KAAwC+F,YAA5C,EAA0D;AACxD,gBAAK9E,QAAL,CAAc,EAAEjB,wBAAwB,EAAE+F,YAA5B,EAAd;AACD;AACF;;AAED,UAAI,MAAK5E,KAAL,CAAWM,aAAf,EAA8B;AAC5B,cAAKN,KAAL,CAAWM,aAAX,CAAyBqE,KAAK,CAACE,MAAN,CAAaxF,KAAtC;AACD;;AAED,UAAI,MAAKW,KAAL,CAAW8C,QAAf,EAAyB;AACvB,cAAK9C,KAAL,CAAW8C,QAAX,CAAoB6B,KAApB;AACD;AACF,K;;AAEO1B,IAAAA,W,GAAc,UAAC0B,KAAD,EAA+C;AACnE,YAAK7E,QAAL,CAAc;AACZf,QAAAA,OAAO,EAAE,IADG,EAAd;;;AAIA,UAAI,MAAKiB,KAAL,CAAWoB,gBAAf,EAAiC;AAC/B,cAAKlC,KAAL,IAAc,CAACoD,cAAf,GAAwB,MAAKnD,SAAL,EAAxB,GAA2C,MAAKI,cAAL,EAA3C;AACD;;AAED,UAAI,MAAKS,KAAL,CAAWgD,OAAf,EAAwB;AACtB,cAAKhD,KAAL,CAAWgD,OAAX,CAAmB2B,KAAnB;AACD;AACF,K;;AAEOzB,IAAAA,a,GAAgB,UAAC4B,CAAD,EAA8C;AACpE,UAAI,MAAK9E,KAAL,CAAWI,SAAf,EAA0B;AACxB,cAAKJ,KAAL,CAAWI,SAAX,CAAqB0E,CAArB;AACD;;AAED,UAAMC,WAAW,GAAG,2BAASC,2BAAT,EAAyBC,wBAAzB,EAAsCH,CAAtC,CAApB;;AAEA,UAAI,CAACA,CAAC,CAACI,aAAF,CAAgB7F,KAAjB,IAA0B0F,WAA1B,IAAyC,CAACD,CAAC,CAACK,MAAhD,EAAwD;AACtD,cAAKC,qBAAL;AACD;AACF,K;;AAEOjC,IAAAA,c,GAAiB,UAACwB,KAAD,EAAkD;AACzE,UAAI,MAAK3E,KAAL,CAAWK,UAAf,EAA2B;AACzB,cAAKL,KAAL,CAAWK,UAAX,CAAsBsE,KAAtB;AACD;;AAED,UAAI,MAAK3E,KAAL,CAAWqF,SAAX,KAAyBV,KAAK,CAACO,aAAN,CAAoB7F,KAApB,CAA0BC,MAAvD,EAA+D;AAC7D,cAAK8F,qBAAL,CAA2BT,KAAK,CAACO,aAAN,CAAoB7F,KAA/C;AACD;AACF,K;;AAEOiG,IAAAA,uB,GAA0B,UAACjG,KAAD,EAAmB;AACnD,UAAI,MAAKW,KAAL,CAAWM,aAAf,EAA8B;AAC5B,cAAKN,KAAL,CAAWM,aAAX,CAAyBjB,KAAzB;AACD;AACF,K;;AAEO+F,IAAAA,qB,GAAwB,UAAC/F,KAAD,EAA4C,KAA3CA,KAA2C,cAA3CA,KAA2C,GAA3B,MAAKW,KAAL,CAAWX,KAAX,IAAoB,EAAO;AAC1E,UAAI,MAAKW,KAAL,CAAWsB,iBAAf,EAAkC;AAChC,cAAKtB,KAAL,CAAWsB,iBAAX,CAA6BjC,KAA7B;AACD,OAFD,MAEO;AACL,cAAK+C,KAAL;AACD;AACF,K;;AAEOiB,IAAAA,U,GAAa,UAACsB,KAAD,EAA+C;AAClE,YAAK7E,QAAL,CAAc,EAAEf,OAAO,EAAE,KAAX,EAAd;;AAEA,UAAI,MAAKiB,KAAL,CAAWoD,MAAf,EAAuB;AACrB,cAAKpD,KAAL,CAAWoD,MAAX,CAAkBuB,KAAlB;AACD;AACF,K;;AAEOR,IAAAA,Y,GAAe,YAAM;AAC3B,wBAA6B,MAAKnE,KAAlC,CAAQuB,MAAR,eAAQA,MAAR,CAAgBF,QAAhB,eAAgBA,QAAhB;;AAEA,UAAI,CAACE,MAAL,EAAa;AACX,eAAO,IAAP;AACD;;AAED;AACE,+CAAM,SAAS,EAAE,iBAAGQ,cAAOR,MAAP,CAAc,MAAKS,KAAnB,CAAH,mBAAiCD,cAAOwD,cAAP,CAAsB,MAAKvD,KAA3B,CAAjC,IAAqEX,QAArE,QAAjB,IAAoGE,MAApG,CADF;;AAGD,K;;AAEOgD,IAAAA,Y,GAAe,YAAM;AAC3B,yBAA6B,MAAKvE,KAAlC,CAAQwB,MAAR,gBAAQA,MAAR,CAAgBH,QAAhB,gBAAgBA,QAAhB;;AAEA,UAAI,CAACG,MAAL,EAAa;AACX,eAAO,IAAP;AACD;;AAED;AACE,+CAAM,SAAS,EAAE,iBAAGO,cAAOP,MAAP,CAAc,MAAKQ,KAAnB,CAAH,mBAAiCD,cAAOyD,cAAP,CAAsB,MAAKxD,KAA3B,CAAjC,IAAqEX,QAArE,QAAjB,IAAoGG,MAApG,CADF;;AAGD,K,mDAteOiE,e,GAAR,2BAA0B,CACxB,sBAAQ,EAAE,KAAKzF,KAAL,CAAWe,IAAX,IAAmB,KAAK4C,iBAA1B,CAAR,EAAsDtF,gBAAgB,CAAC,KAAKK,QAAL,GAAgBd,IAAjB,CAAtE,EACD,C,QAEM8H,iB,GAAP,6BAA2B,CACzB,KAAKD,eAAL,GACD,C,QAEME,kB,GAAP,4BAA0BC,SAA1B,EAA2D,CACzD,IAAI,KAAK5F,KAAL,CAAWpC,IAAX,KAAoBgI,SAAS,CAAChI,IAA9B,IAAsC,KAAKoC,KAAL,CAAWe,IAAX,KAAoB6E,SAAS,CAAC7E,IAAxE,EAA8E,CAC5E,KAAK0E,eAAL,GACD,CACF,C,QAEMI,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAK5G,YAAT,EAAuB,CACrBY,YAAY,CAAC,KAAKZ,YAAN,CAAZ,CACD,CACD,KAAKO,sBAAL,GACD,C,CAED;AACF;AACA,K,QACS0C,K,GAAP,iBAAe,CACb,wBAAU,KAAKhD,KAAf,EAAsB,kDAAtB,EACA,KAAKA,KAAL,CAAWgD,KAAX,GACD,C,CAED;AACF;AACA,K,QACS4D,I,GAAP,gBAAc,CACZ,wBAAU,KAAK5G,KAAf,EAAsB,iDAAtB,EACA,KAAKA,KAAL,CAAW4G,IAAX,GACD,C,CAED;AACF;AACA,K,QACSC,O,GAAP,mBAAiB,CACf,OAAO,KAAK7G,KAAZ,CACD,C,CAED;AACF;AACA,K,QACSkD,K,GAAP,iBAAe,mBACb,IAAI,KAAKnD,YAAT,EAAuB,CACrB,KAAKU,WAAL,CAAiB,YAAM,CACrB;AACA;AACA,cAAM,MAAI,CAACT,KAAL,IAAc,MAAI,CAACA,KAAL,CAAW8G,WAA/B,EACA,MAAI,CAAC5D,KAAL,GACD,CALD,EAMA,OACD,CACD,KAAKtC,QAAL,CAAc,EAAEhB,QAAQ,EAAE,IAAZ,EAAd,EAAkC,YAAM,CACtC,MAAI,CAACG,YAAL,GAAoBgH,MAAM,CAACC,UAAP,CAAkB,MAAI,CAACvG,WAAvB,EAAoC,GAApC,CAApB,CACD,CAFD,EAGD,C,CAED;AACF;AACA;AACA;AACA,K,QACSP,iB,GAAP,2BAAyB+G,KAAzB,EAAwCC,GAAxC,EAAqD,sCACnD;AACA;AACA,QAAI,CAAC1I,qBAAqB,CAACU,QAAtB,CAA+B,KAAKM,QAAL,GAAgBd,IAA/C,CAAL,EAA2D,CACzD,sBAAQ,KAAR,EAAeD,qBAAqB,CAAC,KAAKe,QAAL,GAAgBd,IAAjB,CAApC,EAEA,OACD,CAED,IAAI,CAAC,KAAKsB,KAAV,EAAiB,CACf,MAAM,IAAImH,KAAJ,CAAU,oDAAV,CAAN,CACD,CAED,IAAIC,QAAQ,CAACC,aAAT,KAA2B,KAAKrH,KAApC,EAA2C,CACzC,KAAKgD,KAAL,GACD,CACD,IAAI,KAAKlC,KAAL,CAAWe,IAAX,IAAmB,KAAKf,KAAL,CAAWX,KAA9B,IAAuC,2BAAKW,KAAL,CAAWX,KAAX,uCAAkBC,MAAlB,IAA2B,KAAKU,KAAL,CAAWe,IAAX,CAAgBzB,MAAtF,EAA8F,CAC5F4G,UAAU,CAAC,YAAM,kBACf,gBAAA,MAAI,CAAChH,KAAL,kCAAYE,iBAAZ,CAA8B+G,KAA9B,EAAqCC,GAArC,EACD,CAFS,EAEP,GAFO,CAAV,CAGD,CAJD,MAIO,iBACL,oBAAKlH,KAAL,iCAAYE,iBAAZ,CAA8B+G,KAA9B,EAAqCC,GAArC,EACD,CACF,C,QAQMI,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACxE,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,MAAI,CAACyE,WAAjC,IAAkD,MAAI,CAACzG,KAAvD,GACG,MAAI,CAACD,UADR,CADF,CAKD,CARH,CADF,CAYD,C,QAkKO6D,iB,GAAR,2BACEjB,UADF,EAIE5B,IAJF,EAKE,CACA,oBACE,6BAAC,wBAAD,6BACM4B,UADN,IAEE,IAAI,EAAE5B,IAFR,EAGE,QAAQ,EAAE,KAAKf,KAAL,CAAWgB,QAHvB,EAIE,cAAc,EAAE,KAAKhB,KAAL,CAAWiB,cAJ7B,EAKE,WAAW,EAAE,KAAKjB,KAAL,CAAWyB,WAL1B,EAME,QAAQ,EAAE,KAAKzB,KAAL,CAAW8C,QANvB,EAOE,aAAa,EAAE,KAAKwC,uBAPtB,EAQE,iBAAiB,EAAE,KAAKF,qBAR1B,IADF,CAYD,C,QAEOsB,oB,GAAR,8BAA6BC,KAA7B,EAA4C,KAAfA,KAAe,cAAfA,KAAe,GAAP,KAAO,EAC1C,QAAQ,KAAKjI,QAAL,GAAgBwC,IAAxB,GACE,KAAK,OAAL,CACE,OAAOyF,KAAK,GAAG5E,cAAO6E,cAAP,CAAsB,KAAK5E,KAA3B,CAAH,GAAuCD,cAAO8E,aAAP,CAAqB,KAAK7E,KAA1B,CAAnD,CACF,KAAK,QAAL,CACE,OAAO2E,KAAK,GAAG5E,cAAO+E,eAAP,CAAuB,KAAK9E,KAA5B,CAAH,GAAwCD,cAAOgF,cAAP,CAAsB,KAAK/E,KAA3B,CAApD,CACF,KAAK,OAAL,CACA,QACE,OAAO2E,KAAK,GAAG5E,cAAOiF,cAAP,CAAsB,KAAKhF,KAA3B,CAAH,GAAuCD,cAAOkF,aAAP,CAAqB,KAAKjF,KAA1B,CAAnD,CAPJ,CASD,C,QAEOkC,c,GAAR,0BAAyB,CACvB,OAAO,KAAKgD,UAAL,CAAgB,KAAKlH,KAAL,CAAWW,QAA3B,EAAqC,KAAK+F,oBAAL,EAArC,CAAP,CACD,C,QAEOlC,e,GAAR,2BAA0B,CACxB,OAAO,KAAK0C,UAAL,CAAgB,KAAKlH,KAAL,CAAWY,SAA3B,EAAsC,KAAK8F,oBAAL,CAA0B,IAA1B,CAAtC,CAAP,CACD,C,QAEOQ,U,GAAR,oBAAmBC,IAAnB,EAAwCC,aAAxC,EAA+D,UAC7D,IAAI,CAACD,IAAL,EAAW,CACT,OAAO,IAAP,CACD,CACD,IAAQ9F,QAAR,GAAqB,KAAKrB,KAA1B,CAAQqB,QAAR,CACA,IAAMgG,QAAQ,GAAGF,IAAI,YAAYG,QAAhB,GAA2BH,IAAI,EAA/B,GAAoCA,IAArD,CAEA,oBACE,uCACE,SAAS,EAAE,iBAAGpF,cAAOoF,IAAP,EAAH,EAAkBC,aAAlB,EAAiCrF,cAAOwF,eAAP,CAAuB,KAAKvF,KAA5B,CAAjC,mBACRD,cAAOyF,SAAP,CAAiB,KAAKxF,KAAtB,CADQ,IACuB,KAAKpD,KAAL,CAAWG,OADlC,OAERgD,cAAO0F,YAAP,EAFQ,IAEgBpG,QAFhB,QADb,IAMGgG,QANH,CADF,CAUD,C,QAEOhD,iB,GAAR,6BAA4B,CAC1B,IAAQhD,QAAR,GAAqB,KAAKrB,KAA1B,CAAQqB,QAAR,CACA,IAAQtC,OAAR,GAAoB,KAAKH,KAAzB,CAAQG,OAAR,CACA,IAAIoC,WAAW,GAAG,IAAlB,CAEA,IACE,KAAKvC,KAAL,CAAWC,wBAAX,IACA,KAAKmB,KAAL,CAAWmB,WADX,IAEA,CAAC,KAAKsC,aAFN,IAGA,CAAC,KAAKzD,KAAL,CAAWX,KAHZ,IAIA,CAAC,KAAKW,KAAL,CAAWgE,YALd,EAME,UACA7C,WAAW,gBACT,sCACE,SAAS,EAAE,iBAAGY,cAAOZ,WAAP,CAAmB,KAAKa,KAAxB,CAAH,mBACRD,cAAO2F,mBAAP,CAA2B,KAAK1F,KAAhC,CADQ,IACiCX,QADjC,OAERU,cAAO4F,gBAAP,CAAwB,KAAK3F,KAA7B,CAFQ,IAE8BjD,OAF9B,QADb,EAKE,KAAK,EAAE,EAAEuE,SAAS,EAAE,KAAKtD,KAAL,CAAWc,KAAX,IAAoB,SAAjC,EALT,IAOG,KAAKd,KAAL,CAAWmB,WAPd,CADF,CAWD,CAED,OAAOA,WAAP,CACD,C,QAEOc,gB,GAAR,4BAA2B,sBACzB,QAAQ,KAAKvD,QAAL,GAAgBwC,IAAxB,GACE,KAAK,OAAL,CACE,OAAO,kCACJa,cAAO6F,SAAP,CAAiB,KAAK5F,KAAtB,CADI,IAC2B,IAD3B,OAEJD,cAAO8F,iBAAP,CAAyB,KAAK7F,KAA9B,CAFI,IAEmCM,kBAAUC,cAF7C,QAAP,CAIF,KAAK,QAAL,CACE,OAAO,kCACJR,cAAO+F,UAAP,CAAkB,KAAK9F,KAAvB,CADI,IAC4B,IAD5B,OAEJD,cAAOgG,kBAAP,CAA0B,KAAK/F,KAA/B,CAFI,IAEoCM,kBAAUC,cAF9C,QAAP,CAIF,KAAK,OAAL,CACA,QACE,OAAO,kCACJR,cAAOiG,SAAP,CAAiB,KAAKhG,KAAtB,CADI,IAC2B,IAD3B,OAEJD,cAAOkG,iBAAP,CAAyB,KAAKjG,KAA9B,CAFI,IAEmCM,kBAAUC,cAF7C,QAAP,CAbJ,CAkBD,C,iEA/RD,eAAoC,CAClC,mBAAiC,KAAKvC,KAAtC,CAAQe,IAAR,gBAAQA,IAAR,CAAcE,cAAd,gBAAcA,cAAd,CACA,IAAQlC,OAAR,GAAoB,KAAKH,KAAzB,CAAQG,OAAR,CACA,OAAOgF,OAAO,CAAChD,IAAI,KAAKhC,OAAO,IAAIkC,cAAhB,CAAL,CAAd,CACD,C,qCAiBD,eAAgC,CAC9B,OAAOhD,kBAAkB,CAACG,QAAnB,CAA4B,KAAKM,QAAL,GAAgBd,IAA5C,CAAP,CACD,C,CAED;AACF;AACA;AACA;AACA,O,oBA/I2BiG,eAAMqE,S,WACjBC,mB,GAAsB,O,UAEtBxJ,Y,GAA6B,EACzCuC,IAAI,EAAE,OADmC,EAEzCtD,IAAI,EAAE,MAFmC,E","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, HTMLAttributes } from 'react';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Input.styles';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputSize = 'small' | 'medium' | 'large';\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url` */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: InputSize;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\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.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n };\n\n const input =\n mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, mask)\n : React.createElement('input', inputProps);\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","blinkTimeout","input","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","rest","labelProps","className","styles","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","canBeUsedWithMask","renderMaskedInput","React","createElement","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, HTMLAttributes } from 'react';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Input.styles';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputSize = 'small' | 'medium' | 'large';\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url` */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: InputSize;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\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.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n };\n\n const input =\n mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, mask)\n : React.createElement('input', inputProps);\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
@@ -7,7 +7,8 @@ var stylesLayout = (0, _Emotion.memoizeStyle)({
7
7
  return _Input.styles.root(t);
8
8
  },
9
9
  input: function input() {
10
- return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n "])));
10
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n "])));
11
+
11
12
 
12
13
 
13
14
 
@@ -15,7 +16,8 @@ var stylesLayout = (0, _Emotion.memoizeStyle)({
15
16
 
16
17
  },
17
18
  aside: function aside() {
18
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n align-items: center;\n "])));
19
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n "])));
20
+
19
21
 
20
22
 
21
23
 
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayout.styles.ts"],"names":["stylesLayout","root","t","styles","input","css","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":"kRAAA;;AAEA,wC;;AAEO,IAAMA,YAAY,GAAG,2BAAa;AACvCC,EAAAA,IADuC,gBAClCC,CADkC,EACxB;AACb,WAAOC,cAAOF,IAAP,CAAYC,CAAZ,CAAP;AACD,GAHsC;AAIvCE,EAAAA,KAJuC,mBAI/B;AACN,eAAOC,YAAP;;;;;;AAMD,GAXsC;AAYvCC,EAAAA,KAZuC,mBAY/B;AACN,eAAOD,YAAP;;;;AAID,GAjBsC;AAkBvCE,EAAAA,IAlBuC,gBAkBlCL,CAlBkC,EAkBxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACM,cADb;;AAGD,GAtBsC;AAuBvCC,EAAAA,SAvBuC,qBAuB7BP,CAvB6B,EAuBnB;AAClB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACQ,qBADb;;AAGD,GA3BsC;AA4BvCC,EAAAA,YA5BuC,0BA4BxB;AACb,eAAON,YAAP;;;AAGD,GAhCsC;AAiCvCO,EAAAA,IAjCuC,gBAiClCV,CAjCkC,EAiCxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACW,qBADb;;AAGD,GArCsC;AAsCvCC,EAAAA,YAtCuC,wBAsC1BZ,CAtC0B,EAsChB;AACrB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACa,6BADb;;AAGD,GA1CsC,EAAb,CAArB,C","sourcesContent":["import { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { styles } from '../Input.styles';\n\nexport const stylesLayout = memoizeStyle({\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n `;\n },\n aside() {\n return css`\n display: inline-flex;\n align-items: center;\n `;\n },\n icon(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["InputLayout.styles.ts"],"names":["stylesLayout","root","t","styles","input","css","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":"kRAAA;;AAEA,wC;;AAEO,IAAMA,YAAY,GAAG,2BAAa;AACvCC,EAAAA,IADuC,gBAClCC,CADkC,EACxB;AACb,WAAOC,cAAOF,IAAP,CAAYC,CAAZ,CAAP;AACD,GAHsC;AAIvCE,EAAAA,KAJuC,mBAI/B;AACN,eAAOC,YAAP;;;;;;;AAOD,GAZsC;AAavCC,EAAAA,KAbuC,mBAa/B;AACN,eAAOD,YAAP;;;;;AAKD,GAnBsC;AAoBvCE,EAAAA,IApBuC,gBAoBlCL,CApBkC,EAoBxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACM,cADb;;AAGD,GAxBsC;AAyBvCC,EAAAA,SAzBuC,qBAyB7BP,CAzB6B,EAyBnB;AAClB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACQ,qBADb;;AAGD,GA7BsC;AA8BvCC,EAAAA,YA9BuC,0BA8BxB;AACb,eAAON,YAAP;;;AAGD,GAlCsC;AAmCvCO,EAAAA,IAnCuC,gBAmClCV,CAnCkC,EAmCxB;AACb,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACW,qBADb;;AAGD,GAvCsC;AAwCvCC,EAAAA,YAxCuC,wBAwC1BZ,CAxC0B,EAwChB;AACrB,eAAOG,YAAP;AACWH,IAAAA,CAAC,CAACa,6BADb;;AAGD,GA5CsC,EAAb,CAArB,C","sourcesContent":["import { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { styles } from '../Input.styles';\n\nexport const stylesLayout = memoizeStyle({\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n `;\n },\n icon(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n});\n"]}