@skbkontur/react-ui 4.0.6 → 4.1.0

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 (219) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/FileUploader/FileUploader.js +5 -4
  3. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  4. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  5. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  6. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  7. package/cjs/components/Input/Input.d.ts +1 -5
  8. package/cjs/components/Input/Input.js +14 -21
  9. package/cjs/components/Input/Input.js.map +1 -1
  10. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  11. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  12. package/cjs/components/Modal/Modal.styles.js +10 -6
  13. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  14. package/cjs/components/Paging/Paging.d.ts +12 -2
  15. package/cjs/components/Paging/Paging.js +14 -3
  16. package/cjs/components/Paging/Paging.js.map +1 -1
  17. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  18. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  19. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  20. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  21. package/cjs/components/PasswordInput/PasswordInput.js +22 -4
  22. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  23. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  24. package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
  25. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  26. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  27. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  28. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  29. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  30. package/cjs/components/Textarea/Textarea.d.ts +2 -2
  31. package/cjs/components/Textarea/Textarea.js +6 -6
  32. package/cjs/components/Textarea/Textarea.js.map +1 -1
  33. package/cjs/components/Textarea/TextareaCounter.js +10 -2
  34. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  35. package/cjs/components/Toast/ToastView.js +1 -1
  36. package/cjs/components/Toast/ToastView.js.map +1 -1
  37. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  38. package/cjs/components/Toast/ToastView.styles.js +3 -2
  39. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  40. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  41. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  42. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  43. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  44. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  45. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  46. package/cjs/index.d.ts +2 -0
  47. package/cjs/index.js +2 -0
  48. package/cjs/index.js.map +1 -1
  49. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  50. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  51. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
  52. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  53. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  54. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  55. package/cjs/internal/Menu/Menu.styles.js +5 -3
  56. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  57. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  58. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  59. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  60. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -1
  61. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  62. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  63. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  64. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  65. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  66. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  67. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  68. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  69. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  70. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  71. package/cjs/internal/ThemePlayground/constants.js +3 -1
  72. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  73. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  74. package/cjs/internal/icons/16px/index.js +8 -0
  75. package/cjs/internal/icons/16px/index.js.map +1 -1
  76. package/cjs/internal/icons/20px/svg.js +6 -0
  77. package/cjs/internal/icons/20px/svg.js.map +1 -1
  78. package/cjs/internal/themes/DefaultTheme.d.ts +20 -1
  79. package/cjs/internal/themes/DefaultTheme.js +40 -5
  80. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  81. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  82. package/cjs/internal/themes/NotFlat.js +12 -2
  83. package/cjs/internal/themes/NotFlat.js.map +1 -1
  84. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  85. package/cjs/internal/themes/Theme2022.js +100 -0
  86. package/cjs/internal/themes/Theme2022.js.map +1 -0
  87. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  88. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  89. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  90. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  91. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  92. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  93. package/cjs/lib/rootNode/getRootNode.js +3 -2
  94. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  95. package/cjs/lib/rootNode/rootNodeDecorator.js +2 -1
  96. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  97. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  98. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  99. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  100. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  101. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  102. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  103. package/components/FileUploader/FileUploader/FileUploader.js +5 -6
  104. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  105. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  106. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  107. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  108. package/components/Input/Input/Input.js +7 -25
  109. package/components/Input/Input/Input.js.map +1 -1
  110. package/components/Input/Input.d.ts +1 -5
  111. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  112. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  113. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  114. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  115. package/components/Paging/Paging/Paging.js +7 -9
  116. package/components/Paging/Paging/Paging.js.map +1 -1
  117. package/components/Paging/Paging.d.ts +12 -2
  118. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  119. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  120. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  121. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  122. package/components/PasswordInput/PasswordInput/PasswordInput.js +24 -5
  123. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  124. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  125. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
  126. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  127. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  128. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  129. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  130. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  131. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  132. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  133. package/components/Textarea/Textarea/Textarea.js +6 -6
  134. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  135. package/components/Textarea/Textarea.d.ts +2 -2
  136. package/components/Textarea/TextareaCounter/TextareaCounter.js +9 -1
  137. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  138. package/components/Toast/ToastView/ToastView.js +1 -1
  139. package/components/Toast/ToastView/ToastView.js.map +1 -1
  140. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  141. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  142. package/components/Toast/ToastView.styles.d.ts +1 -1
  143. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  144. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  145. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  146. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  147. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  148. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  149. package/index.d.ts +2 -0
  150. package/index.js +2 -0
  151. package/index.js.map +1 -1
  152. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  153. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  154. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  155. package/internal/InputLikeText/InputLikeText.d.ts +1 -1
  156. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  157. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  158. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  159. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  160. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  161. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  162. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +8 -2
  163. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  164. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  165. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  166. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  167. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  168. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  169. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  170. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  171. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  172. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  173. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  174. package/internal/ThemePlayground/constants/constants.js +2 -0
  175. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  176. package/internal/ThemePlayground/constants.d.ts +3 -1
  177. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  178. package/internal/icons/16px/index/index.js +7 -0
  179. package/internal/icons/16px/index/index.js.map +1 -1
  180. package/internal/icons/20px/svg/svg.js +5 -0
  181. package/internal/icons/20px/svg/svg.js.map +1 -1
  182. package/internal/themes/DefaultTheme/DefaultTheme.js +48 -4
  183. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  184. package/internal/themes/DefaultTheme.d.ts +20 -1
  185. package/internal/themes/NotFlat/NotFlat.js +15 -0
  186. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  187. package/internal/themes/NotFlat.d.ts +6 -0
  188. package/internal/themes/Theme2022/Theme2022.js +78 -0
  189. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  190. package/internal/themes/Theme2022/package.json +6 -0
  191. package/internal/themes/Theme2022.d.ts +66 -0
  192. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  193. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  194. package/internal/themes/Theme2022Dark/package.json +6 -0
  195. package/internal/themes/Theme2022Dark.d.ts +5 -0
  196. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  197. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  198. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  199. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  200. package/lib/rootNode/getRootNode/getRootNode.js +1 -0
  201. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  202. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +2 -0
  203. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  204. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  205. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  206. package/lib/theming/themes/Theme2022/package.json +6 -0
  207. package/lib/theming/themes/Theme2022.d.ts +1 -0
  208. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  209. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  210. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  211. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  212. package/package.json +2 -2
  213. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  214. package/cjs/lib/polyfillPlaceholder.js +0 -17
  215. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  216. package/lib/polyfillPlaceholder/package.json +0 -6
  217. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  218. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  219. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1,4 +1,5 @@
1
- "use strict";exports.__esModule = true;exports.ResponsiveLayout = void 0;var _react = _interopRequireWildcard(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ResponsiveLayout = void 0;var _react = _interopRequireWildcard(require("react"));
2
+ var _propTypes = _interopRequireDefault(require("prop-types"));
2
3
 
3
4
  var _utils = require("../../lib/utils");
4
5
  var _CommonWrapper = require("../../internal/CommonWrapper");
@@ -29,4 +30,8 @@ var ResponsiveLayout = function ResponsiveLayout(props) {var _props$children, _p
29
30
  (0, _utils.isFunction)(props.children) ? (_props$children = props.children(layoutFlags)) != null ? _props$children : null : (_props$children2 = props.children) != null ? _props$children2 : null));
30
31
 
31
32
 
32
- };exports.ResponsiveLayout = ResponsiveLayout;
33
+ };exports.ResponsiveLayout = ResponsiveLayout;
34
+
35
+ ResponsiveLayout.propTypes = {
36
+ onLayoutChange: _propTypes.default.func,
37
+ children: _propTypes.default.node };
@@ -1 +1 @@
1
- {"version":3,"sources":["ResponsiveLayout.tsx"],"names":["ResponsiveLayout","props","layoutFlags","onLayoutChange","children"],"mappings":"yEAAA;;AAEA;AACA;;;AAGA,4D;;;;;;;AAOA;AACA;AACA;;AAEO,IAAMA,gBAAiD,GAAG,SAApDA,gBAAoD,CAACC,KAAD,EAAW;AAC1E,MAAMC,WAAW,GAAG,+CAApB;;AAEA,wBAAU,YAAM;AACd,QAAID,KAAK,CAACE,cAAV,EAA0B;AACxBF,MAAAA,KAAK,CAACE,cAAN,CAAqBD,WAArB;AACD;AACF,GAJD,EAIG,CAACA,WAAD,CAJH;;AAMA;AACE,iCAAC,4BAAD,EAAmBD,KAAnB;AACG,2BAAWA,KAAK,CAACG,QAAjB,uBAA6BH,KAAK,CAACG,QAAN,CAAeF,WAAf,CAA7B,8BAA4D,IAA5D,uBAAmED,KAAK,CAACG,QAAzE,+BAAqF,IADxF,CADF;;;AAKD,CAdM,C","sourcesContent":["import React, { useEffect } from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps {\n onLayoutChange?: (layout: ResponsiveLayoutFlags) => void;\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags) => React.ReactNode);\n}\n\n/**\n * Компонент для определения текущего лэйаута.\n */\n\nexport const ResponsiveLayout: React.FC<ResponsiveLayoutProps> = (props) => {\n const layoutFlags = useResponsiveLayout();\n\n useEffect(() => {\n if (props.onLayoutChange) {\n props.onLayoutChange(layoutFlags);\n }\n }, [layoutFlags]);\n\n return (\n <CommonWrapper {...props}>\n {isFunction(props.children) ? props.children(layoutFlags) ?? null : props.children ?? null}\n </CommonWrapper>\n );\n};\n"]}
1
+ {"version":3,"sources":["ResponsiveLayout.tsx"],"names":["ResponsiveLayout","props","layoutFlags","onLayoutChange","children","propTypes","func","node"],"mappings":"8JAAA;AACA;;AAEA;AACA;;;AAGA,4D;;;;;;;AAOA;AACA;AACA;;AAEO,IAAMA,gBAAiD,GAAG,SAApDA,gBAAoD,CAACC,KAAD,EAAW;AAC1E,MAAMC,WAAW,GAAG,+CAApB;;AAEA,wBAAU,YAAM;AACd,QAAID,KAAK,CAACE,cAAV,EAA0B;AACxBF,MAAAA,KAAK,CAACE,cAAN,CAAqBD,WAArB;AACD;AACF,GAJD,EAIG,CAACA,WAAD,CAJH;;AAMA;AACE,iCAAC,4BAAD,EAAmBD,KAAnB;AACG,2BAAWA,KAAK,CAACG,QAAjB,uBAA6BH,KAAK,CAACG,QAAN,CAAeF,WAAf,CAA7B,8BAA4D,IAA5D,uBAAmED,KAAK,CAACG,QAAzE,+BAAqF,IADxF,CADF;;;AAKD,CAdM,C;;AAgBPJ,gBAAgB,CAACK,SAAjB,GAA6B;AAC3BF,EAAAA,cAAc,EAAEE,mBAAUC,IADC;AAE3BF,EAAAA,QAAQ,EAAEC,mBAAUE,IAFO,EAA7B","sourcesContent":["import React, { useEffect } from 'react';\nimport propTypes from 'prop-types';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps {\n onLayoutChange?: (layout: ResponsiveLayoutFlags) => void;\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags) => React.ReactNode);\n}\n\n/**\n * Компонент для определения текущего лэйаута.\n */\n\nexport const ResponsiveLayout: React.FC<ResponsiveLayoutProps> = (props) => {\n const layoutFlags = useResponsiveLayout();\n\n useEffect(() => {\n if (props.onLayoutChange) {\n props.onLayoutChange(layoutFlags);\n }\n }, [layoutFlags]);\n\n return (\n <CommonWrapper {...props}>\n {isFunction(props.children) ? props.children(layoutFlags) ?? null : props.children ?? null}\n </CommonWrapper>\n );\n};\n\nResponsiveLayout.propTypes = {\n onLayoutChange: propTypes.func,\n children: propTypes.node,\n};\n"]}
@@ -59,8 +59,8 @@ var styles = (0, _Emotion.memoizeStyle)({
59
59
  error: function error(t) {
60
60
  var insideWidth = parseInt(t.btnBorderWidth);
61
61
  var outsideWidth = parseInt(t.switcherOutlineWidth) - insideWidth + "px";
62
- return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: 2px;\n box-shadow: inset 0 0 0 ", "px ", ", 0 0 0 ", " ", ";\n "])),
63
-
62
+ return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: ", ";\n box-shadow: inset 0 0 0 ", "px ", ", 0 0 0 ", " ", ";\n "])),
63
+ t.switcherBorderRadius,
64
64
  insideWidth, t.borderColorError, outsideWidth, t.borderColorError);
65
65
 
66
66
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Switcher.styles.ts"],"names":["styles","root","css","wrap","input","caption","t","switcherTextColor","captionSmall","switcherCaptionGapSmall","switcherCaptionFontSizeSmall","switcherCaptionLineHeightSmall","captionMedium","switcherCaptionGapMedium","switcherCaptionFontSizeMedium","switcherCaptionLineHeightMedium","captionLarge","switcherCaptionGapLarge","switcherCaptionFontSizeLarge","switcherCaptionLineHeightLarge","error","insideWidth","parseInt","btnBorderWidth","outsideWidth","switcherOutlineWidth","borderColorError"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;AAGD,GALgC;;AAOjCC,EAAAA,IAPiC,kBAO1B;AACL,eAAOD,YAAP;;;;AAID,GAZgC;;AAcjCE,EAAAA,KAdiC,mBAczB;AACN,eAAOF,YAAP;;;;;;AAMD,GArBgC;;AAuBjCG,EAAAA,OAvBiC,mBAuBzBC,CAvByB,EAuBf;AAChB,eAAOJ,YAAP;AACWI,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GA7BgC;;AA+BjCC,EAAAA,YA/BiC,wBA+BpBF,CA/BoB,EA+BV;AACrB,eAAOJ,YAAP;AACkBI,IAAAA,CAAC,CAACG,uBADpB;AAEeH,IAAAA,CAAC,CAACI,4BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,8BAHnB;;AAKD,GArCgC;;AAuCjCC,EAAAA,aAvCiC,yBAuCnBN,CAvCmB,EAuCT;AACtB,eAAOJ,YAAP;AACkBI,IAAAA,CAAC,CAACO,wBADpB;AAEeP,IAAAA,CAAC,CAACQ,6BAFjB;AAGiBR,IAAAA,CAAC,CAACS,+BAHnB;;AAKD,GA7CgC;;AA+CjCC,EAAAA,YA/CiC,wBA+CpBV,CA/CoB,EA+CV;AACrB,eAAOJ,YAAP;AACkBI,IAAAA,CAAC,CAACW,uBADpB;AAEeX,IAAAA,CAAC,CAACY,4BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,8BAHnB;;AAKD,GArDgC;;AAuDjCC,EAAAA,KAvDiC,iBAuD3Bd,CAvD2B,EAuDjB;AACd,QAAMe,WAAW,GAAGC,QAAQ,CAAChB,CAAC,CAACiB,cAAH,CAA5B;AACA,QAAMC,YAAY,GAAMF,QAAQ,CAAChB,CAAC,CAACmB,oBAAH,CAAR,GAAmCJ,WAAzC,OAAlB;AACA,eAAOnB,YAAP;;AAE4BmB,IAAAA,WAF5B,EAE6Cf,CAAC,CAACoB,gBAF/C,EAE0EF,YAF1E,EAE0FlB,CAAC,CAACoB,gBAF5F;;AAID,GA9DgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n line-height: normal;\n `;\n },\n\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n captionSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherCaptionGapSmall};\n font-size: ${t.switcherCaptionFontSizeSmall};\n line-height: ${t.switcherCaptionLineHeightSmall};\n `;\n },\n\n captionMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherCaptionGapMedium};\n font-size: ${t.switcherCaptionFontSizeMedium};\n line-height: ${t.switcherCaptionLineHeightMedium};\n `;\n },\n\n captionLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherCaptionGapLarge};\n font-size: ${t.switcherCaptionFontSizeLarge};\n line-height: ${t.switcherCaptionLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n const insideWidth = parseInt(t.btnBorderWidth);\n const outsideWidth = `${parseInt(t.switcherOutlineWidth) - insideWidth}px`;\n return css`\n border-radius: 2px;\n box-shadow: inset 0 0 0 ${insideWidth}px ${t.borderColorError}, 0 0 0 ${outsideWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Switcher.styles.ts"],"names":["styles","root","css","wrap","input","caption","t","switcherTextColor","captionSmall","switcherCaptionGapSmall","switcherCaptionFontSizeSmall","switcherCaptionLineHeightSmall","captionMedium","switcherCaptionGapMedium","switcherCaptionFontSizeMedium","switcherCaptionLineHeightMedium","captionLarge","switcherCaptionGapLarge","switcherCaptionFontSizeLarge","switcherCaptionLineHeightLarge","error","insideWidth","parseInt","btnBorderWidth","outsideWidth","switcherOutlineWidth","switcherBorderRadius","borderColorError"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;AAGD,GALgC;;AAOjCC,EAAAA,IAPiC,kBAO1B;AACL,eAAOD,YAAP;;;;AAID,GAZgC;;AAcjCE,EAAAA,KAdiC,mBAczB;AACN,eAAOF,YAAP;;;;;;AAMD,GArBgC;;AAuBjCG,EAAAA,OAvBiC,mBAuBzBC,CAvByB,EAuBf;AAChB,eAAOJ,YAAP;AACWI,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GA7BgC;;AA+BjCC,EAAAA,YA/BiC,wBA+BpBF,CA/BoB,EA+BV;AACrB,eAAOJ,YAAP;AACkBI,IAAAA,CAAC,CAACG,uBADpB;AAEeH,IAAAA,CAAC,CAACI,4BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,8BAHnB;;AAKD,GArCgC;;AAuCjCC,EAAAA,aAvCiC,yBAuCnBN,CAvCmB,EAuCT;AACtB,eAAOJ,YAAP;AACkBI,IAAAA,CAAC,CAACO,wBADpB;AAEeP,IAAAA,CAAC,CAACQ,6BAFjB;AAGiBR,IAAAA,CAAC,CAACS,+BAHnB;;AAKD,GA7CgC;;AA+CjCC,EAAAA,YA/CiC,wBA+CpBV,CA/CoB,EA+CV;AACrB,eAAOJ,YAAP;AACkBI,IAAAA,CAAC,CAACW,uBADpB;AAEeX,IAAAA,CAAC,CAACY,4BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,8BAHnB;;AAKD,GArDgC;;AAuDjCC,EAAAA,KAvDiC,iBAuD3Bd,CAvD2B,EAuDjB;AACd,QAAMe,WAAW,GAAGC,QAAQ,CAAChB,CAAC,CAACiB,cAAH,CAA5B;AACA,QAAMC,YAAY,GAAMF,QAAQ,CAAChB,CAAC,CAACmB,oBAAH,CAAR,GAAmCJ,WAAzC,OAAlB;AACA,eAAOnB,YAAP;AACmBI,IAAAA,CAAC,CAACoB,oBADrB;AAE4BL,IAAAA,WAF5B,EAE6Cf,CAAC,CAACqB,gBAF/C,EAE0EH,YAF1E,EAE0FlB,CAAC,CAACqB,gBAF5F;;AAID,GA9DgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n line-height: normal;\n `;\n },\n\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n captionSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherCaptionGapSmall};\n font-size: ${t.switcherCaptionFontSizeSmall};\n line-height: ${t.switcherCaptionLineHeightSmall};\n `;\n },\n\n captionMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherCaptionGapMedium};\n font-size: ${t.switcherCaptionFontSizeMedium};\n line-height: ${t.switcherCaptionLineHeightMedium};\n `;\n },\n\n captionLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherCaptionGapLarge};\n font-size: ${t.switcherCaptionFontSizeLarge};\n line-height: ${t.switcherCaptionLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n const insideWidth = parseInt(t.btnBorderWidth);\n const outsideWidth = `${parseInt(t.switcherOutlineWidth) - insideWidth}px`;\n return css`\n border-radius: ${t.switcherBorderRadius};\n box-shadow: inset 0 0 0 ${insideWidth}px ${t.borderColorError}, 0 0 0 ${outsideWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
@@ -70,7 +70,7 @@ export interface TextareaProps extends CommonProps, Override<React.TextareaHTMLA
70
70
  }> {
71
71
  }
72
72
  export interface TextareaState {
73
- polyfillPlaceholder: boolean;
73
+ needsPolyfillPlaceholder: boolean;
74
74
  isCounterVisible: boolean;
75
75
  }
76
76
  /**
@@ -132,7 +132,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
132
132
  disableAnimations: boolean;
133
133
  };
134
134
  state: {
135
- polyfillPlaceholder: boolean;
135
+ needsPolyfillPlaceholder: boolean;
136
136
  isCounterVisible: boolean;
137
137
  };
138
138
  private reflowCounter;
@@ -4,7 +4,7 @@ var _lodash = _interopRequireDefault(require("lodash.throttle"));
4
4
  var _raf = _interopRequireDefault(require("raf"));
5
5
 
6
6
  var _identifiers = require("../../lib/events/keyboard/identifiers");
7
- var _polyfillPlaceholder = require("../../lib/polyfillPlaceholder");
7
+ var _needsPolyfillPlaceholder = require("../../lib/needsPolyfillPlaceholder");
8
8
  var LayoutEvents = _interopRequireWildcard(require("../../lib/LayoutEvents"));
9
9
 
10
10
  var _ThemeContext = require("../../lib/theming/ThemeContext");
@@ -184,7 +184,7 @@ Textarea = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
184
184
 
185
185
 
186
186
  state = {
187
- polyfillPlaceholder: _polyfillPlaceholder.polyfillPlaceholder,
187
+ needsPolyfillPlaceholder: _needsPolyfillPlaceholder.needsPolyfillPlaceholder,
188
188
  isCounterVisible: false };_this.
189
189
 
190
190
  reflowCounter = function () {
@@ -359,7 +359,7 @@ Textarea = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
359
359
 
360
360
  var placeholderPolyfill = null;
361
361
 
362
- if (_this.state.polyfillPlaceholder && !textareaProps.value) {
362
+ if (_this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {
363
363
  placeholderPolyfill = /*#__PURE__*/_react.default.createElement("span", { className: _Textarea.styles.placeholder() }, placeholder);
364
364
  }
365
365
 
@@ -435,11 +435,11 @@ Textarea = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
435
435
  };_this.
436
436
 
437
437
  handleChange = function (e) {
438
- if (_polyfillPlaceholder.polyfillPlaceholder) {
438
+ if (_needsPolyfillPlaceholder.needsPolyfillPlaceholder) {
439
439
  var fieldIsEmpty = e.target.value === '';
440
440
 
441
- if (_this.state.polyfillPlaceholder !== fieldIsEmpty) {
442
- _this.setState({ polyfillPlaceholder: fieldIsEmpty });
441
+ if (_this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {
442
+ _this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });
443
443
  }
444
444
  }
445
445
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Textarea.tsx"],"names":["DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","Textarea","rootNode","state","polyfillPlaceholder","isCounterVisible","reflowCounter","counter","reflow","selectAllId","textareaObserver","isBrowser","MutationObserver","setSelectionRange","start","end","node","Error","document","activeElement","focus","selectAll","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","renderMain","props","width","error","warning","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","rootProps","style","textareaClassNames","styles","textarea","theme","isAnimationsDisabled","textareaStyle","placeholderPolyfill","fakeTextarea","fakeProps","defaultValue","className","fake","readOnly","refFake","maxLength","handleCloseCounterHelp","refCounter","root","undefined","ref","handleChange","handleCut","handlePaste","handleFocus","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","onKeyDown","fieldIsEmpty","target","onChange","element","fakeNode","autoResizeHandler","rows","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","isIE11","componentDidMount","layoutEvents","LayoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","render","setRootNode","blur","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","oneOfType","string","number","id","name","title","spellCheck","role","tabIndex","func","onMouseEnter","onMouseLeave","onMouseOver","onMouseMove","onMouseOut","onMouseUp","onMouseDown","onClick","onDoubleClick","onKeyPress","onKeyUp","onInput","onBlur","onScroll","onWheel","onCopy","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport raf from 'raf';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { polyfillPlaceholder } from '../../lib/polyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isBrowser, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport { TextareaCounter, TextareaCounterRef } from './TextareaCounter';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Не активное состояние */\n disabled?: boolean;\n\n /**\n * Автоматический ресайз\n * в зависимости от содержимого\n */\n autoResize?: boolean;\n /**\n * Число строк\n */\n rows: number;\n /**\n * Максимальное число строк при\n * автоматическом ресайзе\n */\n maxRows: string | number;\n\n /**\n * Стандартный ресайз\n * Попадает в `style`\n */\n resize?: React.CSSProperties['resize'];\n\n /**\n * Ширина\n */\n width?: React.CSSProperties['width'];\n\n /**\n * Вызывается при изменении `value`\n */\n onValueChange?: (value: string) => void;\n\n /** Выделение значения при фокусе */\n selectAllOnFocus?: boolean;\n\n /** Показывать счетчик символов */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счетчике.\n * Если не указано, равно `maxLength`\n */\n lengthCounter?: number;\n\n /** Подсказка к счетчику символов.\n *\n * По умолчанию - тултип с содержимым из пропа, если передан`ReactNode`.\n *\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой. Например,\n *\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ```\n * */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавлять дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04\n * */\n extraRow: boolean;\n\n /** Отключать анимацию при авто-ресайзе.\n * Автоматически отключается когда в `extraRow` передан `false`.\n */\n disableAnimations: boolean;\n }\n > {}\n\nexport interface TextareaState {\n polyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\n/**\n * Компонент для ввода многострочного текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n *\n * ** `className` и `style` игнорируются**\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n disableAnimations: isTestEnv,\n };\n\n public state = {\n polyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = isBrowser ? new MutationObserver(this.reflowCounter) : null;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n if (\n this.props.autoResize &&\n (this.props.rows !== prevProps.rows ||\n this.props.maxRows !== prevProps.maxRows ||\n this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number => (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 renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx({\n [styles.textarea(this.theme)]: true,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.polyfillPlaceholder && !textareaProps.value) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label {...rootProps} className={styles.root(this.theme)}>\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <textarea\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </textarea>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (polyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.polyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ polyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows, extraRow } = this.props;\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n const { height, exceededMaxHeight } = getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow,\n });\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Textarea.tsx"],"names":["DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","Textarea","rootNode","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","counter","reflow","selectAllId","textareaObserver","isBrowser","MutationObserver","setSelectionRange","start","end","node","Error","document","activeElement","focus","selectAll","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","renderMain","props","width","error","warning","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","rootProps","style","textareaClassNames","styles","textarea","theme","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","fakeTextarea","fakeProps","className","fake","readOnly","refFake","maxLength","handleCloseCounterHelp","refCounter","root","undefined","ref","handleChange","handleCut","handlePaste","handleFocus","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","onKeyDown","fieldIsEmpty","target","onChange","element","fakeNode","autoResizeHandler","rows","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","isIE11","componentDidMount","layoutEvents","LayoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","render","setRootNode","blur","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","oneOfType","string","number","id","name","title","spellCheck","role","tabIndex","func","onMouseEnter","onMouseLeave","onMouseOver","onMouseMove","onMouseOut","onMouseUp","onMouseDown","onClick","onDoubleClick","onKeyPress","onKeyUp","onInput","onBlur","onScroll","onWheel","onCopy","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport raf from 'raf';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isBrowser, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport { TextareaCounter, TextareaCounterRef } from './TextareaCounter';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Не активное состояние */\n disabled?: boolean;\n\n /**\n * Автоматический ресайз\n * в зависимости от содержимого\n */\n autoResize?: boolean;\n /**\n * Число строк\n */\n rows: number;\n /**\n * Максимальное число строк при\n * автоматическом ресайзе\n */\n maxRows: string | number;\n\n /**\n * Стандартный ресайз\n * Попадает в `style`\n */\n resize?: React.CSSProperties['resize'];\n\n /**\n * Ширина\n */\n width?: React.CSSProperties['width'];\n\n /**\n * Вызывается при изменении `value`\n */\n onValueChange?: (value: string) => void;\n\n /** Выделение значения при фокусе */\n selectAllOnFocus?: boolean;\n\n /** Показывать счетчик символов */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счетчике.\n * Если не указано, равно `maxLength`\n */\n lengthCounter?: number;\n\n /** Подсказка к счетчику символов.\n *\n * По умолчанию - тултип с содержимым из пропа, если передан`ReactNode`.\n *\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой. Например,\n *\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ```\n * */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавлять дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04\n * */\n extraRow: boolean;\n\n /** Отключать анимацию при авто-ресайзе.\n * Автоматически отключается когда в `extraRow` передан `false`.\n */\n disableAnimations: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\n/**\n * Компонент для ввода многострочного текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n *\n * ** `className` и `style` игнорируются**\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n disableAnimations: isTestEnv,\n };\n\n public state = {\n needsPolyfillPlaceholder: needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = isBrowser ? new MutationObserver(this.reflowCounter) : null;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n if (\n this.props.autoResize &&\n (this.props.rows !== prevProps.rows ||\n this.props.maxRows !== prevProps.maxRows ||\n this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number => (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 renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx({\n [styles.textarea(this.theme)]: true,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label {...rootProps} className={styles.root(this.theme)}>\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <textarea\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </textarea>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows, extraRow } = this.props;\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n const { height, exceededMaxHeight } = getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow,\n });\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"]}
@@ -1,4 +1,5 @@
1
- "use strict";exports.__esModule = true;exports.TextareaCounter = void 0;var _react = _interopRequireWildcard(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.TextareaCounter = void 0;var _react = _interopRequireWildcard(require("react"));
2
+ var _propTypes = _interopRequireDefault(require("prop-types"));
2
3
 
3
4
  var _px = require("../../internal/icons/16px");
4
5
  var _ThemeContext = require("../../lib/theming/ThemeContext");
@@ -59,4 +60,11 @@ ref)
59
60
 
60
61
 
61
62
 
62
- });exports.TextareaCounter = TextareaCounter;
63
+ });exports.TextareaCounter = TextareaCounter;
64
+
65
+ TextareaCounter.propTypes = {
66
+ length: _propTypes.default.number.isRequired,
67
+ value: _propTypes.default.oneOf([_propTypes.default.string, _propTypes.default.number]),
68
+ help: _propTypes.default.oneOf([_propTypes.default.node, _propTypes.default.func]),
69
+ onCloseHelp: _propTypes.default.func.isRequired,
70
+ textarea: _propTypes.default.node.isRequired };
@@ -1 +1 @@
1
- {"version":3,"sources":["TextareaCounter.tsx"],"names":["handleHelpMouseDown","e","preventDefault","TextareaCounter","React","forwardRef","ref","length","value","help","onCloseHelp","textarea","theme","ThemeContext","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","counterHelp","textareaCounterHelpIconColor","styles","counterContainer","counter","counterError"],"mappings":"wEAAA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,6C;;;;;;;;;;;;;;AAcA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,CAAD,UAAuBA,CAAC,CAACC,cAAF,EAAvB,EAA5B;;AAEO,IAAMC,eAAe,gBAAGC,eAAMC,UAAN,CAA2D,SAASF,eAAT;;AAExFG,GAFwF;AAGxF,aAFEC,MAEF,QAFEA,MAEF,CAFUC,KAEV,QAFUA,KAEV,CAFiBC,IAEjB,QAFiBA,IAEjB,CAFuBC,WAEvB,QAFuBA,WAEvB,CAFoCC,QAEpC,QAFoCA,QAEpC;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,kBAA0B,qBAASF,QAAQ,CAACG,WAAlB,CAA1B,CAAOC,KAAP,gBAAcC,QAAd;AACA,mBAA4B,qBAASL,QAAQ,CAACM,YAAlB,CAA5B,CAAOC,MAAP,iBAAeC,SAAf;AACA,MAAMC,MAAM,GAAG,wBAAY,YAAM;AAC/B,QAAQN,WAAR,GAAsCH,QAAtC,CAAQG,WAAR,CAAqBG,YAArB,GAAsCN,QAAtC,CAAqBM,YAArB;AACAD,IAAAA,QAAQ,CAACF,WAAD,CAAR;AACAK,IAAAA,SAAS,CAACF,YAAD,CAAT;AACD,GAJc,EAIZ,CAACN,QAAD,CAJY,CAAf;AAKA,kCAAoBL,GAApB,EAAyB,oBAAO,EAAEc,MAAM,EAANA,MAAF,EAAP,EAAzB,EAA6C,CAACA,MAAD,CAA7C;AACA,MAAMC,oBAAoB,GAAG,wBAAY,oBAAMZ,IAAN,EAAZ,EAAwB,CAACA,IAAD,CAAxB,CAA7B;AACA,MAAMa,aAAa,GAAGd,KAAK,GAAGA,KAAK,CAACe,QAAN,GAAiBhB,MAApB,GAA6B,CAAxD;AACA,MAAMiB,YAAY,GAAGjB,MAAM,GAAGe,aAA9B;AACA,MAAMG,WAAW,GAAG,uBAAWhB,IAAX;AAClBA,EAAAA,IAAI,EADc;;AAGlB,+BAAC,gBAAD,IAAS,GAAG,EAAE,cAAd,EAA8B,OAAO,EAAE,OAAvC,EAAgD,MAAM,EAAEY,oBAAxD,EAA8E,YAAY,EAAEX,WAA5F;AACE,+BAAC,eAAD,IAAa,WAAW,EAAEV,mBAA1B,EAA+C,KAAK,EAAEY,KAAK,CAACc,4BAA5D,GADF,CAHF;;;;AAQA;AACE,0CAAK,SAAS,EAAEC,iBAAOC,gBAAP,CAAwBhB,KAAxB,CAAhB,EAAgD,KAAK,EAAE,EAAEG,KAAK,EAALA,KAAF,EAASG,MAAM,EAANA,MAAT,EAAvD;AACE;AACE,MAAA,SAAS,EAAE,iBAAGS,iBAAOE,OAAP,CAAejB,KAAf,CAAH;AACRe,uBAAOG,YAAP,CAAoBlB,KAApB,CADQ,IACqBY,YAAY,GAAG,CADpC,OADb;;;AAKGA,IAAAA,YALH;AAMGf,IAAAA,IAAI,iBAAI,uCAAM,SAAS,EAAEkB,iBAAOF,WAAP,EAAjB,IAAwCA,WAAxC,CANX,CADF,CADF;;;;AAYD,CApC8B,CAAxB,C","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\n\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport type TextareaCounterProps = {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n};\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = React.forwardRef<TextareaCounterRef, TextareaCounterProps>(function TextareaCounter(\n { length, value, help, onCloseHelp, textarea },\n ref,\n) {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n <HelpDotIcon onMouseDown={handleHelpMouseDown} color={theme.textareaCounterHelpIconColor} />\n </Tooltip>\n );\n\n return (\n <div className={styles.counterContainer(theme)} style={{ width, height }}>\n <span\n className={cx(styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n});\n"]}
1
+ {"version":3,"sources":["TextareaCounter.tsx"],"names":["handleHelpMouseDown","e","preventDefault","TextareaCounter","React","forwardRef","ref","length","value","help","onCloseHelp","textarea","theme","ThemeContext","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","counterHelp","textareaCounterHelpIconColor","styles","counterContainer","counter","counterError","propTypes","number","isRequired","oneOf","string","node","func"],"mappings":"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","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\nimport propTypes from 'prop-types';\n\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport type TextareaCounterProps = {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n};\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = React.forwardRef<TextareaCounterRef, TextareaCounterProps>(function TextareaCounter(\n { length, value, help, onCloseHelp, textarea },\n ref,\n) {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n <HelpDotIcon onMouseDown={handleHelpMouseDown} color={theme.textareaCounterHelpIconColor} />\n </Tooltip>\n );\n\n return (\n <div className={styles.counterContainer(theme)} style={{ width, height }}>\n <span\n className={cx(styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n});\n\nTextareaCounter.propTypes = {\n length: propTypes.number.isRequired,\n value: propTypes.oneOf([propTypes.string, propTypes.number]),\n help: propTypes.oneOf([propTypes.node, propTypes.func]),\n onCloseHelp: propTypes.func.isRequired,\n textarea: propTypes.node.isRequired,\n};\n"]}
@@ -76,7 +76,7 @@ ToastView = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/fun
76
76
  null;
77
77
 
78
78
  return /*#__PURE__*/(
79
- _react.default.createElement(_ZIndex.ZIndex, { priority: "Toast", className: _ToastView.styles.wrapper() }, /*#__PURE__*/
79
+ _react.default.createElement(_ZIndex.ZIndex, { priority: "Toast", className: _ToastView.styles.wrapper(_this.theme) }, /*#__PURE__*/
80
80
  _react.default.createElement("div", (0, _extends2.default)({ "data-tid": "ToastView__root" }, rest, { className: _ToastView.styles.root(_this.theme), ref: _this.setRootNode }), /*#__PURE__*/
81
81
  _react.default.createElement("span", null, _this.props.children),
82
82
  link,
@@ -1 +1 @@
1
- {"version":3,"sources":["ToastView.tsx"],"names":["ToastView","rootNode","renderMain","props","action","onClose","rest","link","styles","theme","handler","label","close","closeWrapper","wrapper","root","setRootNode","children","render","React","Component","propTypes","string","isRequired","func"],"mappings":"mcAAA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,+C;;;;;;;;;;;;;;;;;;;;AAoBaA,S,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BSC,IAAAA,U,GAAa,UAACC,KAAD,EAAmD;AACtE,UAAQC,MAAR,GAAqCD,KAArC,CAAQC,MAAR,CAAgBC,OAAhB,GAAqCF,KAArC,CAAgBE,OAAhB,CAA4BC,IAA5B,+CAAqCH,KAArC;;AAEA,UAAMI,IAAI,GAAGH,MAAM;AACjB,6CAAM,YAAS,mBAAf,EAAmC,SAAS,EAAEI,kBAAOD,IAAP,CAAY,MAAKE,KAAjB,CAA9C,EAAuE,OAAO,EAAEL,MAAM,CAACM,OAAvF;AACGN,MAAAA,MAAM,CAACO,KADV,CADiB;;AAIf,UAJJ;;AAMA,UAAMC,KAAK,GAAGR,MAAM;AAClB,6CAAM,SAAS,EAAEI,kBAAOK,YAAP,CAAoB,MAAKJ,KAAzB,CAAjB;AACE,6CAAM,YAAS,kBAAf,EAAkC,SAAS,EAAED,kBAAOI,KAAP,CAAa,MAAKH,KAAlB,CAA7C,EAAuE,OAAO,EAAEJ,OAAhF;AACE,mCAAC,oBAAD,OADF,CADF,CADkB;;;AAMhB,UANJ;;AAQA;AACE,qCAAC,cAAD,IAAQ,QAAQ,EAAC,OAAjB,EAAyB,SAAS,EAAEG,kBAAOM,OAAP,EAApC;AACE,qEAAK,YAAS,iBAAd,IAAoCR,IAApC,IAA0C,SAAS,EAAEE,kBAAOO,IAAP,CAAY,MAAKN,KAAjB,CAArD,EAA8E,GAAG,EAAE,MAAKO,WAAxF;AACE,mDAAO,MAAKb,KAAL,CAAWc,QAAlB,CADF;AAEGV,QAAAA,IAFH;AAGGK,QAAAA,KAHH,CADF,CADF;;;;AASD,K,uDArCMM,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACT,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBAAO,6BAAC,4BAAD,EAAmB,MAAI,CAACN,KAAxB,EAAgC,MAAI,CAACD,UAArC,CAAP,CACD,CAJH,CADF,CAQD,C,oBA5B4BiB,eAAMC,S,WACrBC,S,GAAY,EACxB;AACJ;AACA,KACIjB,MAAM,EAAE,sBAAM,EACZO,KAAK,EAAEW,kBAAOC,UADF,EAEZb,OAAO,EAAEc,gBAAKD,UAFF,EAAN,CAJgB,EAQxB;AACJ;AACA,KACIN,QAAQ,EAAEK,kBAAOC,UAXO,EAYxBlB,OAAO,EAAEmB,eAZe,E","sourcesContent":["import React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './ToastView.styles';\n\nexport interface ToastViewProps extends CommonProps {\n /**\n * Toast content\n */\n children?: string;\n /**\n * Adds action handling and close icon for toast\n */\n action?: {\n label: string;\n handler: () => void;\n } | null;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<ToastViewProps>) => {\n const { action, onClose, ...rest } = props;\n\n const link = action ? (\n <span data-tid=\"ToastView__action\" className={styles.link(this.theme)} onClick={action.handler}>\n {action.label}\n </span>\n ) : null;\n\n const close = action ? (\n <span className={styles.closeWrapper(this.theme)}>\n <span data-tid=\"ToastView__close\" className={styles.close(this.theme)} onClick={onClose}>\n <CrossIcon />\n </span>\n </span>\n ) : null;\n\n return (\n <ZIndex priority=\"Toast\" className={styles.wrapper()}>\n <div data-tid=\"ToastView__root\" {...rest} className={styles.root(this.theme)} ref={this.setRootNode}>\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["ToastView.tsx"],"names":["ToastView","rootNode","renderMain","props","action","onClose","rest","link","styles","theme","handler","label","close","closeWrapper","wrapper","root","setRootNode","children","render","React","Component","propTypes","string","isRequired","func"],"mappings":"mcAAA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,+C;;;;;;;;;;;;;;;;;;;;AAoBaA,S,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BSC,IAAAA,U,GAAa,UAACC,KAAD,EAAmD;AACtE,UAAQC,MAAR,GAAqCD,KAArC,CAAQC,MAAR,CAAgBC,OAAhB,GAAqCF,KAArC,CAAgBE,OAAhB,CAA4BC,IAA5B,+CAAqCH,KAArC;;AAEA,UAAMI,IAAI,GAAGH,MAAM;AACjB,6CAAM,YAAS,mBAAf,EAAmC,SAAS,EAAEI,kBAAOD,IAAP,CAAY,MAAKE,KAAjB,CAA9C,EAAuE,OAAO,EAAEL,MAAM,CAACM,OAAvF;AACGN,MAAAA,MAAM,CAACO,KADV,CADiB;;AAIf,UAJJ;;AAMA,UAAMC,KAAK,GAAGR,MAAM;AAClB,6CAAM,SAAS,EAAEI,kBAAOK,YAAP,CAAoB,MAAKJ,KAAzB,CAAjB;AACE,6CAAM,YAAS,kBAAf,EAAkC,SAAS,EAAED,kBAAOI,KAAP,CAAa,MAAKH,KAAlB,CAA7C,EAAuE,OAAO,EAAEJ,OAAhF;AACE,mCAAC,oBAAD,OADF,CADF,CADkB;;;AAMhB,UANJ;;AAQA;AACE,qCAAC,cAAD,IAAQ,QAAQ,EAAC,OAAjB,EAAyB,SAAS,EAAEG,kBAAOM,OAAP,CAAe,MAAKL,KAApB,CAApC;AACE,qEAAK,YAAS,iBAAd,IAAoCH,IAApC,IAA0C,SAAS,EAAEE,kBAAOO,IAAP,CAAY,MAAKN,KAAjB,CAArD,EAA8E,GAAG,EAAE,MAAKO,WAAxF;AACE,mDAAO,MAAKb,KAAL,CAAWc,QAAlB,CADF;AAEGV,QAAAA,IAFH;AAGGK,QAAAA,KAHH,CADF,CADF;;;;AASD,K,uDArCMM,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACT,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBAAO,6BAAC,4BAAD,EAAmB,MAAI,CAACN,KAAxB,EAAgC,MAAI,CAACD,UAArC,CAAP,CACD,CAJH,CADF,CAQD,C,oBA5B4BiB,eAAMC,S,WACrBC,S,GAAY,EACxB;AACJ;AACA,KACIjB,MAAM,EAAE,sBAAM,EACZO,KAAK,EAAEW,kBAAOC,UADF,EAEZb,OAAO,EAAEc,gBAAKD,UAFF,EAAN,CAJgB,EAQxB;AACJ;AACA,KACIN,QAAQ,EAAEK,kBAAOC,UAXO,EAYxBlB,OAAO,EAAEmB,eAZe,E","sourcesContent":["import React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './ToastView.styles';\n\nexport interface ToastViewProps extends CommonProps {\n /**\n * Toast content\n */\n children?: string;\n /**\n * Adds action handling and close icon for toast\n */\n action?: {\n label: string;\n handler: () => void;\n } | null;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<ToastViewProps>) => {\n const { action, onClose, ...rest } = props;\n\n const link = action ? (\n <span data-tid=\"ToastView__action\" className={styles.link(this.theme)} onClick={action.handler}>\n {action.label}\n </span>\n ) : null;\n\n const close = action ? (\n <span className={styles.closeWrapper(this.theme)}>\n <span data-tid=\"ToastView__close\" className={styles.close(this.theme)} onClick={onClose}>\n <CrossIcon />\n </span>\n </span>\n ) : null;\n\n return (\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div data-tid=\"ToastView__root\" {...rest} className={styles.root(this.theme)} ref={this.setRootNode}>\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n );\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
3
  root(t: Theme): string;
4
- wrapper(): string;
4
+ wrapper(t: Theme): string;
5
5
  closeWrapper(t: Theme): string;
6
6
  link(t: Theme): string;
7
7
  close(t: Theme): string;
@@ -26,14 +26,15 @@ var styles = (0, _Emotion.memoizeStyle)({
26
26
 
27
27
  },
28
28
 
29
- wrapper: function wrapper() {
30
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n "])));
29
+ wrapper: function wrapper(t) {
30
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n border-radius: ", ";\n "])),
31
31
 
32
32
 
33
33
 
34
34
 
35
35
 
36
36
 
37
+ t.toastBorderRadius);
37
38
 
38
39
  },
39
40
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ToastView.styles.ts"],"names":["getVerticalPaddingsWithCompensation","theme","toastPaddingY","fontFamilyCompensationBaseline","paddingY","parseInt","compensation","styles","root","t","paddingTop","paddingBottom","css","toastBg","toastBorderRadius","toastBorder","toastColor","toastFontSize","toastLineHeight","toastPaddingX","toastTop","wrapper","closeWrapper","toastClosePadding","link","marginRight","Math","round","toastLinkColor","close","toastCloseColor","toastCloseSize","toastCloseHoverColor"],"mappings":"4QAAA,oD;;;AAGA,IAAMA,mCAAmC,GAAG,SAAtCA,mCAAsC,CAACC,KAAD,EAAkB;AAC5D,MAAQC,aAAR,GAA0DD,KAA1D,CAAQC,aAAR,CAAuBC,8BAAvB,GAA0DF,KAA1D,CAAuBE,8BAAvB;AACA,MAAMC,QAAQ,GAAGC,QAAQ,CAACH,aAAD,CAAzB;AACA,MAAMI,YAAY,GAAGD,QAAQ,CAACF,8BAAD,CAA7B;AACA,SAAO,CAAIC,QAAQ,GAAGE,YAAf,SAAoCF,QAAQ,GAAGE,YAA/C,QAAP;AACD,CALD;;AAOO,IAAMC,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,gCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,4BAAmBC,aAAnB;AACA,eAAOC,YAAP;AACgBH,IAAAA,CAAC,CAACI,OADlB;AAEmBJ,IAAAA,CAAC,CAACK,iBAFrB;AAGYL,IAAAA,CAAC,CAACM,WAHd;AAIWN,IAAAA,CAAC,CAACO,UAJb;;AAMeP,IAAAA,CAAC,CAACQ,aANjB;AAOiBR,IAAAA,CAAC,CAACS,eAPnB;;AASaR,IAAAA,UATb,EAS2BD,CAAC,CAACU,aAT7B,EAS8CR,aAT9C;;AAWSF,IAAAA,CAAC,CAACW,QAXX;;AAaD,GAhBgC;;AAkBjCC,EAAAA,OAlBiC,qBAkBvB;AACR,eAAOT,YAAP;;;;;;;;AAQD,GA3BgC;;AA6BjCU,EAAAA,YA7BiC,wBA6BpBb,CA7BoB,EA6BV;AACrB,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,eAAOC,YAAP;;AAEaF,IAAAA,UAFb,EAE4BD,CAAC,CAACU,aAF9B,EAEgDR,aAFhD,EAEkEF,CAAC,CAACc,iBAFpE;;AAID,GAnCgC;;AAqCjCC,EAAAA,IArCiC,gBAqC5Bf,CArC4B,EAqClB;AACb,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,QAAMc,WAAW,GAAMC,IAAI,CAACC,KAAL,CAAWtB,QAAQ,CAACI,CAAC,CAACU,aAAH,CAAR,GAA4B,GAAvC,CAAN,OAAjB;AACA,eAAOP,YAAP;AACWH,IAAAA,CAAC,CAACmB,cADb;;;;;AAMalB,IAAAA,UANb,EAM2Be,WAN3B,EAM2Cd,aAN3C,EAM4DF,CAAC,CAACU,aAN9D;;AAQaT,IAAAA,UARb,EAQ6BC,aAR7B;;;;;;AAcD,GAtDgC;;AAwDjCkB,EAAAA,KAxDiC,iBAwD3BpB,CAxD2B,EAwDjB;AACd,eAAOG,YAAP;;AAEWH,IAAAA,CAAC,CAACqB,eAFb;;;AAKYrB,IAAAA,CAAC,CAACsB,cALd;;AAOatB,IAAAA,CAAC,CAACc,iBAPf;;AASWd,IAAAA,CAAC,CAACsB,cATb;;;AAYatB,IAAAA,CAAC,CAACuB,oBAZf;;;AAeD,GAxEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst getVerticalPaddingsWithCompensation = (theme: Theme) => {\n const { toastPaddingY, fontFamilyCompensationBaseline } = theme;\n const paddingY = parseInt(toastPaddingY);\n const compensation = parseInt(fontFamilyCompensationBaseline);\n return [`${paddingY - compensation}px`, `${paddingY + compensation}px`];\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n background: ${t.toastBg};\n border-radius: ${t.toastBorderRadius};\n border: ${t.toastBorder};\n color: ${t.toastColor};\n display: inline-flex;\n font-size: ${t.toastFontSize};\n line-height: ${t.toastLineHeight};\n opacity: 1;\n padding: ${paddingTop} ${t.toastPaddingX} ${paddingBottom};\n position: relative;\n top: ${t.toastTop};\n `;\n },\n\n wrapper() {\n return css`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n `;\n },\n\n closeWrapper(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n display: flex;\n margin: -${paddingTop} -${t.toastPaddingX} -${paddingBottom} -${t.toastClosePadding};\n `;\n },\n\n link(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n const marginRight = `${Math.round(parseInt(t.toastPaddingX) * 1.5)}px`;\n return css`\n color: ${t.toastLinkColor};\n cursor: pointer;\n display: inline-block;\n font-weight: 600;\n\n margin: -${paddingTop} ${marginRight} -${paddingBottom} ${t.toastPaddingX};\n\n padding: ${paddingTop} 0 ${paddingBottom};\n\n &:hover {\n text-decoration: underline;\n }\n `;\n },\n\n close(t: Theme) {\n return css`\n box-sizing: content-box !important; // fix \"reset.css\" problem\n color: ${t.toastCloseColor};\n cursor: pointer;\n display: inline-block;\n height: ${t.toastCloseSize};\n line-height: 0;\n padding: ${t.toastClosePadding};\n text-align: center;\n width: ${t.toastCloseSize};\n\n &:hover {\n color: ${t.toastCloseHoverColor};\n }\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["ToastView.styles.ts"],"names":["getVerticalPaddingsWithCompensation","theme","toastPaddingY","fontFamilyCompensationBaseline","paddingY","parseInt","compensation","styles","root","t","paddingTop","paddingBottom","css","toastBg","toastBorderRadius","toastBorder","toastColor","toastFontSize","toastLineHeight","toastPaddingX","toastTop","wrapper","closeWrapper","toastClosePadding","link","marginRight","Math","round","toastLinkColor","close","toastCloseColor","toastCloseSize","toastCloseHoverColor"],"mappings":"4QAAA,oD;;;AAGA,IAAMA,mCAAmC,GAAG,SAAtCA,mCAAsC,CAACC,KAAD,EAAkB;AAC5D,MAAQC,aAAR,GAA0DD,KAA1D,CAAQC,aAAR,CAAuBC,8BAAvB,GAA0DF,KAA1D,CAAuBE,8BAAvB;AACA,MAAMC,QAAQ,GAAGC,QAAQ,CAACH,aAAD,CAAzB;AACA,MAAMI,YAAY,GAAGD,QAAQ,CAACF,8BAAD,CAA7B;AACA,SAAO,CAAIC,QAAQ,GAAGE,YAAf,SAAoCF,QAAQ,GAAGE,YAA/C,QAAP;AACD,CALD;;AAOO,IAAMC,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,gCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,4BAAmBC,aAAnB;AACA,eAAOC,YAAP;AACgBH,IAAAA,CAAC,CAACI,OADlB;AAEmBJ,IAAAA,CAAC,CAACK,iBAFrB;AAGYL,IAAAA,CAAC,CAACM,WAHd;AAIWN,IAAAA,CAAC,CAACO,UAJb;;AAMeP,IAAAA,CAAC,CAACQ,aANjB;AAOiBR,IAAAA,CAAC,CAACS,eAPnB;;AASaR,IAAAA,UATb,EAS2BD,CAAC,CAACU,aAT7B,EAS8CR,aAT9C;;AAWSF,IAAAA,CAAC,CAACW,QAXX;;AAaD,GAhBgC;;AAkBjCC,EAAAA,OAlBiC,mBAkBzBZ,CAlByB,EAkBf;AAChB,eAAOG,YAAP;;;;;;;AAOmBH,IAAAA,CAAC,CAACK,iBAPrB;;AASD,GA5BgC;;AA8BjCQ,EAAAA,YA9BiC,wBA8BpBb,CA9BoB,EA8BV;AACrB,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,eAAOC,YAAP;;AAEaF,IAAAA,UAFb,EAE4BD,CAAC,CAACU,aAF9B,EAEgDR,aAFhD,EAEkEF,CAAC,CAACc,iBAFpE;;AAID,GApCgC;;AAsCjCC,EAAAA,IAtCiC,gBAsC5Bf,CAtC4B,EAsClB;AACb,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,QAAMc,WAAW,GAAMC,IAAI,CAACC,KAAL,CAAWtB,QAAQ,CAACI,CAAC,CAACU,aAAH,CAAR,GAA4B,GAAvC,CAAN,OAAjB;AACA,eAAOP,YAAP;AACWH,IAAAA,CAAC,CAACmB,cADb;;;;;AAMalB,IAAAA,UANb,EAM2Be,WAN3B,EAM2Cd,aAN3C,EAM4DF,CAAC,CAACU,aAN9D;;AAQaT,IAAAA,UARb,EAQ6BC,aAR7B;;;;;;AAcD,GAvDgC;;AAyDjCkB,EAAAA,KAzDiC,iBAyD3BpB,CAzD2B,EAyDjB;AACd,eAAOG,YAAP;;AAEWH,IAAAA,CAAC,CAACqB,eAFb;;;AAKYrB,IAAAA,CAAC,CAACsB,cALd;;AAOatB,IAAAA,CAAC,CAACc,iBAPf;;AASWd,IAAAA,CAAC,CAACsB,cATb;;;AAYatB,IAAAA,CAAC,CAACuB,oBAZf;;;AAeD,GAzEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst getVerticalPaddingsWithCompensation = (theme: Theme) => {\n const { toastPaddingY, fontFamilyCompensationBaseline } = theme;\n const paddingY = parseInt(toastPaddingY);\n const compensation = parseInt(fontFamilyCompensationBaseline);\n return [`${paddingY - compensation}px`, `${paddingY + compensation}px`];\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n background: ${t.toastBg};\n border-radius: ${t.toastBorderRadius};\n border: ${t.toastBorder};\n color: ${t.toastColor};\n display: inline-flex;\n font-size: ${t.toastFontSize};\n line-height: ${t.toastLineHeight};\n opacity: 1;\n padding: ${paddingTop} ${t.toastPaddingX} ${paddingBottom};\n position: relative;\n top: ${t.toastTop};\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n border-radius: ${t.toastBorderRadius};\n `;\n },\n\n closeWrapper(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n display: flex;\n margin: -${paddingTop} -${t.toastPaddingX} -${paddingBottom} -${t.toastClosePadding};\n `;\n },\n\n link(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n const marginRight = `${Math.round(parseInt(t.toastPaddingX) * 1.5)}px`;\n return css`\n color: ${t.toastLinkColor};\n cursor: pointer;\n display: inline-block;\n font-weight: 600;\n\n margin: -${paddingTop} ${marginRight} -${paddingBottom} ${t.toastPaddingX};\n\n padding: ${paddingTop} 0 ${paddingBottom};\n\n &:hover {\n text-decoration: underline;\n }\n `;\n },\n\n close(t: Theme) {\n return css`\n box-sizing: content-box !important; // fix \"reset.css\" problem\n color: ${t.toastCloseColor};\n cursor: pointer;\n display: inline-block;\n height: ${t.toastCloseSize};\n line-height: 0;\n padding: ${t.toastClosePadding};\n text-align: center;\n width: ${t.toastCloseSize};\n\n &:hover {\n color: ${t.toastCloseHoverColor};\n }\n `;\n },\n});\n"]}
@@ -15,7 +15,7 @@ var styles = (0, _Emotion.memoizeStyle)({
15
15
  root: function root(t) {
16
16
  var handleWidthWithBorders = t.toggleHeight;
17
17
  var handleActiveWidth = "calc(" + handleWidthWithBorders + " - 2 * " + t.toggleBorderWidth + " + " + t.toggleHandleActiveWidthIncrement + ")";
18
- return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ")\n translateX(-", ");\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "], ["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ")\n translateX(-", ");\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "])),
18
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ") translateX(-4px);\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "], ["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ") translateX(-4px);\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "])),
19
19
 
20
20
 
21
21
 
@@ -31,7 +31,6 @@ var styles = (0, _Emotion.memoizeStyle)({
31
31
 
32
32
  globalClasses.disabled, globalClasses.handle,
33
33
  t.toggleWidth, handleWidthWithBorders,
34
- t.toggleHandleActiveWidthIncrement,
35
34
 
36
35
 
37
36
 
@@ -47,18 +46,17 @@ var styles = (0, _Emotion.memoizeStyle)({
47
46
  },
48
47
 
49
48
  handle: function handle(t) {
50
- var handleSize = "calc(" + t.toggleHeight + " - 2 * " + t.toggleBorderWidth + ")";
51
49
  return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n border-radius: ", ";\n bottom: ", ";\n box-shadow: 0 ", " 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ", " rgba(0, 0, 0, 0.15);\n height: ", ";\n left: ", ";\n position: absolute;\n top: ", ";\n transition: 0.2s ease-in;\n width: ", ";\n "])),
52
- t.toggleBg,
50
+ t.toggleHandleBg,
53
51
  t.toggleHandleBorderRadius,
54
52
  t.toggleBorderWidth,
55
53
  t.toggleBorderWidth, t.toggleBorderWidth,
56
- handleSize,
57
- t.toggleBorderWidth,
54
+ t.toggleHandleSize,
55
+ t.toggleHandleLeft,
58
56
 
59
- t.toggleBorderWidth,
57
+ t.toggleHandleTop,
60
58
 
61
- handleSize);
59
+ t.toggleHandleSize);
62
60
 
63
61
  },
64
62
 
@@ -70,7 +68,7 @@ var styles = (0, _Emotion.memoizeStyle)({
70
68
 
71
69
  input: function input(t) {
72
70
  var handleWidthWithBorders = t.toggleHeight;
73
- return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n background: ", ";\n box-shadow: inset 0 0 0 ", " ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n border-radius: calc(", " * 0.5) 0 0 calc(", " * 0.5);\n box-shadow: inset 0 0 0 1px ", ";\n }\n &:checked ~ .", " {\n transform: translateX(", ") translateX(-", ");\n }\n "])),
71
+ return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n background: ", ";\n box-shadow: inset 0 0 0 ", " ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n border-radius: calc(", " * 0.5) 0 0 calc(", " * 0.5);\n box-shadow: inset 0 0 0 1px ", ";\n }\n &:checked ~ .", " {\n transform: translateX(", ") translateX(-", ");\n background: ", ";\n &:hover {\n background: ", ";\n }\n }\n "])),
74
72
 
75
73
 
76
74
 
@@ -102,7 +100,11 @@ var styles = (0, _Emotion.memoizeStyle)({
102
100
  t.toggleBorderColorDisabledChecked,
103
101
 
104
102
  globalClasses.handle,
105
- t.toggleWidth, handleWidthWithBorders);
103
+ t.toggleWidth, handleWidthWithBorders,
104
+ t.toggleCheckedBg,
105
+
106
+ t.toggleCheckedBgHover);
107
+
106
108
 
107
109
 
108
110
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["Toggle.styles.ts"],"names":["globalClasses","handle","container","disabled","containerDisabled","containerLoading","background","styles","root","t","handleWidthWithBorders","toggleHeight","handleActiveWidth","toggleBorderWidth","toggleHandleActiveWidthIncrement","css","toggleLineHeight","toggleFontSize","toggleBgHover","toggleWidth","handleSize","toggleBg","toggleHandleBorderRadius","handleDisabled","toggleDisabledHandleBg","input","toggleBgChecked","toggleBorderColorDisabledChecked","toggleBgDisabledChecked","toggleBorderColor","toggleBorderRadius","toggleBgDisabled","toggleBorderColorDisabled","focused","outlineColorFocus","toggleOutlineWidth","toggleFocusShadowColor","activeBackground","disabledBackground","activeBackgroundLoading","toggleBgActive","isWarning","toggleShadowColorWarning","isError","toggleShadowColorError","button","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","checkboxFontSize","baselineCompensation","isChrome","toggleBaseBg","toggleButtonOffsetY","buttonRight","rootLeft","caption","toggleTextColor","toggleCaptionGap","disabledCaption","textColorDisabled","captionLeft"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n disabled: 'disabled',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${t.toggleBorderWidth} + ${t.toggleHandleActiveWidthIncrement})`;\n return css`\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n &:active:not(.${globalClasses.disabled}) .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active:not(.${globalClasses.disabled}) input:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders})\n translateX(-${t.toggleHandleActiveWidthIncrement});\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.toggleWidth};\n flex: 0 0 auto;\n }\n `;\n },\n\n handle(t: Theme) {\n const handleSize = `calc(${t.toggleHeight} - 2 * ${t.toggleBorderWidth})`;\n return css`\n background: ${t.toggleBg};\n border-radius: ${t.toggleHandleBorderRadius};\n bottom: ${t.toggleBorderWidth};\n box-shadow: 0 ${t.toggleBorderWidth} 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ${t.toggleBorderWidth} rgba(0, 0, 0, 0.15);\n height: ${handleSize};\n left: ${t.toggleBorderWidth};\n position: absolute;\n top: ${t.toggleBorderWidth};\n transition: 0.2s ease-in;\n width: ${handleSize};\n `;\n },\n\n handleDisabled(t: Theme) {\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n `;\n },\n\n input(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n return css`\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .${globalClasses.container} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBgChecked};\n background: ${t.toggleBgChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerDisabled} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColorDisabledChecked};\n background: ${t.toggleBgDisabledChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerLoading} {\n background: ${t.toggleBorderColor};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n }\n &:checked ~ .${globalClasses.container} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgChecked};\n }\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgDisabledChecked};\n border-radius: calc(${t.toggleHeight} * 0.5) 0 0 calc(${t.toggleHeight} * 0.5);\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabledChecked};\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n },\n\n container(t: Theme) {\n return css`\n border-radius: ${t.toggleBorderRadius};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n `;\n },\n\n containerDisabled(t: Theme) {\n return css`\n background: ${t.toggleBgDisabled};\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n `;\n },\n\n focused(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n activeBackground() {\n return css`\n background: inherit;\n bottom: 0;\n left: 0;\n position: absolute;\n top: 0;\n transition: 0.2s ease-in;\n width: 10px;\n `;\n },\n\n disabledBackground(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n width: 0;\n `;\n },\n\n activeBackgroundLoading(t: Theme) {\n return css`\n background: ${t.toggleBgActive};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n button(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = fontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return css`\n position: absolute;\n left: 0;\n top: 0;\n height: ${t.toggleHeight};\n width: ${t.toggleWidth};\n flex: 1 0 ${t.toggleWidth};\n\n background: ${t.toggleBaseBg};\n border-radius: ${t.toggleBorderRadius};\n line-height: ${t.toggleHeight};\n\n margin-top: calc(${t.toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n },\n\n buttonRight() {\n return css`\n right: 0;\n left: auto;\n `;\n },\n\n disabled() {\n return css`\n cursor: default;\n `;\n },\n\n rootLeft() {\n return css`\n flex-direction: row-reverse;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 0 0 ${t.toggleCaptionGap};\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n `;\n },\n\n disabledCaption(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n captionLeft(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Toggle.styles.ts"],"names":["globalClasses","handle","container","disabled","containerDisabled","containerLoading","background","styles","root","t","handleWidthWithBorders","toggleHeight","handleActiveWidth","toggleBorderWidth","toggleHandleActiveWidthIncrement","css","toggleLineHeight","toggleFontSize","toggleBgHover","toggleWidth","toggleHandleBg","toggleHandleBorderRadius","toggleHandleSize","toggleHandleLeft","toggleHandleTop","handleDisabled","toggleDisabledHandleBg","input","toggleBgChecked","toggleBorderColorDisabledChecked","toggleBgDisabledChecked","toggleBorderColor","toggleCheckedBg","toggleCheckedBgHover","toggleBorderRadius","toggleBgDisabled","toggleBorderColorDisabled","focused","outlineColorFocus","toggleOutlineWidth","toggleFocusShadowColor","activeBackground","disabledBackground","activeBackgroundLoading","toggleBgActive","isWarning","toggleShadowColorWarning","isError","toggleShadowColorError","button","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","checkboxFontSize","baselineCompensation","isChrome","toggleBaseBg","toggleButtonOffsetY","buttonRight","rootLeft","caption","toggleTextColor","toggleCaptionGap","disabledCaption","textColorDisabled","captionLeft"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n disabled: 'disabled',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${t.toggleBorderWidth} + ${t.toggleHandleActiveWidthIncrement})`;\n return css`\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n &:active:not(.${globalClasses.disabled}) .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active:not(.${globalClasses.disabled}) input:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders}) translateX(-4px);\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.toggleWidth};\n flex: 0 0 auto;\n }\n `;\n },\n\n handle(t: Theme) {\n return css`\n background: ${t.toggleHandleBg};\n border-radius: ${t.toggleHandleBorderRadius};\n bottom: ${t.toggleBorderWidth};\n box-shadow: 0 ${t.toggleBorderWidth} 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ${t.toggleBorderWidth} rgba(0, 0, 0, 0.15);\n height: ${t.toggleHandleSize};\n left: ${t.toggleHandleLeft};\n position: absolute;\n top: ${t.toggleHandleTop};\n transition: 0.2s ease-in;\n width: ${t.toggleHandleSize};\n `;\n },\n\n handleDisabled(t: Theme) {\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n `;\n },\n\n input(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n return css`\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .${globalClasses.container} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBgChecked};\n background: ${t.toggleBgChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerDisabled} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColorDisabledChecked};\n background: ${t.toggleBgDisabledChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerLoading} {\n background: ${t.toggleBorderColor};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n }\n &:checked ~ .${globalClasses.container} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgChecked};\n }\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgDisabledChecked};\n border-radius: calc(${t.toggleHeight} * 0.5) 0 0 calc(${t.toggleHeight} * 0.5);\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabledChecked};\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders});\n background: ${t.toggleCheckedBg};\n &:hover {\n background: ${t.toggleCheckedBgHover};\n }\n }\n `;\n },\n\n container(t: Theme) {\n return css`\n border-radius: ${t.toggleBorderRadius};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n `;\n },\n\n containerDisabled(t: Theme) {\n return css`\n background: ${t.toggleBgDisabled};\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n `;\n },\n\n focused(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n activeBackground() {\n return css`\n background: inherit;\n bottom: 0;\n left: 0;\n position: absolute;\n top: 0;\n transition: 0.2s ease-in;\n width: 10px;\n `;\n },\n\n disabledBackground(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n width: 0;\n `;\n },\n\n activeBackgroundLoading(t: Theme) {\n return css`\n background: ${t.toggleBgActive};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n button(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = fontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return css`\n position: absolute;\n left: 0;\n top: 0;\n height: ${t.toggleHeight};\n width: ${t.toggleWidth};\n flex: 1 0 ${t.toggleWidth};\n\n background: ${t.toggleBaseBg};\n border-radius: ${t.toggleBorderRadius};\n line-height: ${t.toggleHeight};\n\n margin-top: calc(${t.toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n },\n\n buttonRight() {\n return css`\n right: 0;\n left: auto;\n `;\n },\n\n disabled() {\n return css`\n cursor: default;\n `;\n },\n\n rootLeft() {\n return css`\n flex-direction: row-reverse;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 0 0 ${t.toggleCaptionGap};\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n `;\n },\n\n disabledCaption(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n captionLeft(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n});\n"]}
@@ -20,19 +20,20 @@ var mixins = {
20
20
 
21
21
  var styles = (0, _Emotion.memoizeStyle)({
22
22
  label: function label(t) {
23
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n box-shadow: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-sizing: border-box;\n cursor: text;\n padding: ", " ", ";\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n "])),
23
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n box-shadow: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-sizing: border-box;\n cursor: text;\n padding: ", " ", ";\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n border-radius: ", ";\n "])),
24
24
  t.tokenInputBg,
25
25
  t.tokenInputShadow,
26
26
  t.tokenInputBorderWidth, t.tokenInputBorderColor,
27
27
  t.tokenInputBorderTopColor,
28
28
 
29
29
 
30
- t.tokenInputPaddingY, t.tokenInputPaddingX);
30
+ t.tokenInputPaddingY, t.tokenInputPaddingX,
31
31
 
32
32
 
33
33
 
34
34
 
35
35
 
36
+ t.tokenInputBorderRadius);
36
37
 
37
38
  },
38
39