@skbkontur/react-ui 3.8.5 → 3.10.0-fileuploader.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/Button/Button.d.ts +66 -10
  3. package/cjs/components/Button/Button.js +55 -0
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.md +42 -30
  6. package/cjs/components/Checkbox/Checkbox.d.ts +2 -2
  7. package/cjs/components/Checkbox/Checkbox.js +2 -2
  8. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  9. package/cjs/components/ComboBox/ComboBox.d.ts +6 -0
  10. package/cjs/components/ComboBox/ComboBox.js +4 -0
  11. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  12. package/cjs/components/DateInput/DateInput.d.ts +6 -0
  13. package/cjs/components/DateInput/DateInput.js +6 -0
  14. package/cjs/components/DateInput/DateInput.js.map +1 -1
  15. package/cjs/components/DatePicker/DatePicker.d.ts +6 -0
  16. package/cjs/components/DatePicker/DatePicker.js +6 -0
  17. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  18. package/cjs/components/Dropdown/Dropdown.d.ts +2 -2
  19. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  20. package/cjs/components/FileUploader/FileUploader.d.ts +31 -0
  21. package/cjs/components/FileUploader/FileUploader.js +270 -0
  22. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  23. package/cjs/components/FileUploader/FileUploader.md +67 -0
  24. package/cjs/components/FileUploader/FileUploader.styles.d.ts +19 -0
  25. package/cjs/components/FileUploader/FileUploader.styles.js +159 -0
  26. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  27. package/cjs/components/FileUploader/index.d.ts +4 -0
  28. package/cjs/components/FileUploader/index.js +4 -0
  29. package/cjs/components/FileUploader/index.js.map +1 -0
  30. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  31. package/cjs/components/FileUploader/locale/index.js +11 -0
  32. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  33. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  34. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  35. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  36. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  37. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  38. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  39. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  40. package/cjs/components/FileUploader/locale/types.js +1 -0
  41. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  42. package/cjs/components/Hint/Hint.d.ts +5 -0
  43. package/cjs/components/Hint/Hint.js +5 -0
  44. package/cjs/components/Hint/Hint.js.map +1 -1
  45. package/cjs/components/Input/Input.d.ts +6 -2
  46. package/cjs/components/Input/Input.js +4 -0
  47. package/cjs/components/Input/Input.js.map +1 -1
  48. package/cjs/components/Link/Link.js +3 -6
  49. package/cjs/components/Link/Link.js.map +1 -1
  50. package/cjs/components/Link/Link.mixins.js +2 -1
  51. package/cjs/components/Link/Link.mixins.js.map +1 -1
  52. package/cjs/components/Radio/Radio.d.ts +27 -11
  53. package/cjs/components/Radio/Radio.js +19 -6
  54. package/cjs/components/Radio/Radio.js.map +1 -1
  55. package/cjs/components/Radio/Radio.md +36 -12
  56. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -2
  57. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  58. package/cjs/components/Select/Select.d.ts +4 -1
  59. package/cjs/components/Select/Select.js +3 -0
  60. package/cjs/components/Select/Select.js.map +1 -1
  61. package/cjs/components/SidePage/SidePage.d.ts +5 -0
  62. package/cjs/components/SidePage/SidePage.js +10 -1
  63. package/cjs/components/SidePage/SidePage.js.map +1 -1
  64. package/cjs/components/SidePage/SidePage.styles.d.ts +0 -1
  65. package/cjs/components/SidePage/SidePage.styles.js +16 -24
  66. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  67. package/cjs/components/Tabs/Tab.d.ts +2 -2
  68. package/cjs/components/Tabs/Tab.js.map +1 -1
  69. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  70. package/cjs/components/Textarea/Textarea.js +9 -2
  71. package/cjs/components/Textarea/Textarea.js.map +1 -1
  72. package/cjs/components/Textarea/Textarea.styles.d.ts +1 -0
  73. package/cjs/components/Textarea/Textarea.styles.js +22 -19
  74. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  75. package/cjs/components/Toggle/Toggle.d.ts +2 -2
  76. package/cjs/components/Toggle/Toggle.js.map +1 -1
  77. package/cjs/components/Token/Token.d.ts +6 -0
  78. package/cjs/components/Token/Token.js +6 -0
  79. package/cjs/components/Token/Token.js.map +1 -1
  80. package/cjs/components/TokenInput/TokenInput.d.ts +6 -0
  81. package/cjs/components/TokenInput/TokenInput.js +23 -17
  82. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  83. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  84. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  85. package/cjs/components/Tooltip/Tooltip.d.ts +3 -3
  86. package/cjs/components/Tooltip/Tooltip.js +2 -1
  87. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  88. package/cjs/hooks/useDrop.d.ts +11 -0
  89. package/cjs/hooks/useDrop.js +75 -0
  90. package/cjs/hooks/useDrop.js.map +1 -0
  91. package/cjs/hooks/useMemoObject.d.ts +1 -0
  92. package/cjs/hooks/useMemoObject.js +5 -0
  93. package/cjs/hooks/useMemoObject.js.map +1 -0
  94. package/cjs/index.d.ts +1 -0
  95. package/cjs/index.js +1 -0
  96. package/cjs/index.js.map +1 -1
  97. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -0
  98. package/cjs/internal/CustomComboBox/ComboBoxView.js +6 -0
  99. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  100. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -0
  101. package/cjs/internal/CustomComboBox/CustomComboBox.js +11 -9
  102. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  103. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +11 -0
  104. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +15 -0
  105. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  106. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  107. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +107 -0
  108. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  109. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  110. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +187 -0
  111. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  112. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  113. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +66 -0
  114. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  115. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  116. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +24 -0
  117. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  118. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  119. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +17 -0
  120. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  121. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  122. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  123. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  124. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +18 -0
  125. package/cjs/internal/FileUploaderControl/fileUtils.js +55 -0
  126. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  127. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  128. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  129. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  130. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  131. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  132. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  133. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  134. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +18 -0
  135. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  136. package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
  137. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  138. package/cjs/internal/Popup/Popup.d.ts +13 -0
  139. package/cjs/internal/Popup/Popup.js +25 -3
  140. package/cjs/internal/Popup/Popup.js.map +1 -1
  141. package/cjs/internal/Popup/PopupHelper.js +1 -0
  142. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  143. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  144. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
  145. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  146. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  147. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  148. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  149. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -0
  150. package/cjs/internal/ThemePlayground/Playground.js +11 -1
  151. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  152. package/cjs/internal/ThemePlayground/darkTheme.d.ts +15 -0
  153. package/cjs/internal/ThemePlayground/darkTheme.js +25 -1
  154. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  155. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  156. package/cjs/internal/icons/16px/index.d.ts +3 -0
  157. package/cjs/internal/icons/16px/index.js +38 -2
  158. package/cjs/internal/icons/16px/index.js.map +1 -1
  159. package/cjs/internal/themes/DefaultTheme.d.ts +23 -0
  160. package/cjs/internal/themes/DefaultTheme.js +64 -1
  161. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  162. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  163. package/cjs/lib/forwardRefAndName.js +23 -0
  164. package/cjs/lib/forwardRefAndName.js.map +1 -0
  165. package/cjs/lib/guidUtils.d.ts +1 -0
  166. package/cjs/lib/guidUtils.js +5 -0
  167. package/cjs/lib/guidUtils.js.map +1 -0
  168. package/cjs/lib/locale/types.d.ts +2 -0
  169. package/cjs/lib/locale/types.js +2 -0
  170. package/cjs/lib/locale/types.js.map +1 -1
  171. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  172. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  173. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  174. package/cjs/lib/stringUtils.d.ts +1 -0
  175. package/cjs/lib/stringUtils.js +13 -0
  176. package/cjs/lib/stringUtils.js.map +1 -0
  177. package/cjs/lib/utils.d.ts +1 -0
  178. package/cjs/lib/utils.js +20 -2
  179. package/cjs/lib/utils.js.map +1 -1
  180. package/components/Button/Button/Button.js.map +1 -1
  181. package/components/Button/Button.d.ts +66 -10
  182. package/components/Button/Button.md +42 -30
  183. package/components/Checkbox/Checkbox/Checkbox.js +1 -1
  184. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  185. package/components/Checkbox/Checkbox.d.ts +2 -2
  186. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  187. package/components/ComboBox/ComboBox.d.ts +6 -0
  188. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  189. package/components/DateInput/DateInput.d.ts +6 -0
  190. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  191. package/components/DatePicker/DatePicker.d.ts +6 -0
  192. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  193. package/components/Dropdown/Dropdown.d.ts +2 -2
  194. package/components/FileUploader/FileUploader/FileUploader.js +277 -0
  195. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  196. package/components/FileUploader/FileUploader/package.json +6 -0
  197. package/components/FileUploader/FileUploader.d.ts +31 -0
  198. package/components/FileUploader/FileUploader.md +67 -0
  199. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +56 -0
  200. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  201. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  202. package/components/FileUploader/FileUploader.styles.d.ts +19 -0
  203. package/components/FileUploader/index/index.js +3 -0
  204. package/components/FileUploader/index/index.js.map +1 -0
  205. package/components/FileUploader/index/package.json +6 -0
  206. package/components/FileUploader/index.d.ts +4 -0
  207. package/components/FileUploader/locale/index/index.js +8 -0
  208. package/components/FileUploader/locale/index/index.js.map +1 -0
  209. package/components/FileUploader/locale/index/package.json +6 -0
  210. package/components/FileUploader/locale/index.d.ts +4 -0
  211. package/components/FileUploader/locale/locales/en/en.js +6 -0
  212. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  213. package/components/FileUploader/locale/locales/en/package.json +6 -0
  214. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  215. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  216. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  217. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  218. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  219. package/components/FileUploader/locale/package.json +6 -0
  220. package/components/FileUploader/locale/types/package.json +6 -0
  221. package/components/FileUploader/locale/types/types.js +0 -0
  222. package/components/FileUploader/locale/types/types.js.map +1 -0
  223. package/components/FileUploader/locale/types.d.ts +6 -0
  224. package/components/FileUploader/package.json +6 -0
  225. package/components/Hint/Hint/Hint.js.map +1 -1
  226. package/components/Hint/Hint.d.ts +5 -0
  227. package/components/Input/Input/Input.js.map +1 -1
  228. package/components/Input/Input.d.ts +6 -2
  229. package/components/Link/Link/Link.js +4 -8
  230. package/components/Link/Link/Link.js.map +1 -1
  231. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  232. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  233. package/components/Radio/Radio/Radio.js +6 -5
  234. package/components/Radio/Radio/Radio.js.map +1 -1
  235. package/components/Radio/Radio.d.ts +27 -11
  236. package/components/Radio/Radio.md +36 -12
  237. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  238. package/components/RadioGroup/RadioGroup.d.ts +2 -2
  239. package/components/Select/Select/Select.js.map +1 -1
  240. package/components/Select/Select.d.ts +4 -1
  241. package/components/SidePage/SidePage/SidePage.js +8 -4
  242. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  243. package/components/SidePage/SidePage.d.ts +5 -0
  244. package/components/SidePage/SidePage.styles/SidePage.styles.js +16 -19
  245. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  246. package/components/SidePage/SidePage.styles.d.ts +0 -1
  247. package/components/Tabs/Tab/Tab.js.map +1 -1
  248. package/components/Tabs/Tab.d.ts +2 -2
  249. package/components/Textarea/Textarea/Textarea.js +5 -3
  250. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  251. package/components/Textarea/Textarea.d.ts +6 -2
  252. package/components/Textarea/Textarea.styles/Textarea.styles.js +12 -9
  253. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  254. package/components/Textarea/Textarea.styles.d.ts +1 -0
  255. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  256. package/components/Toggle/Toggle.d.ts +2 -2
  257. package/components/Token/Token/Token.js.map +1 -1
  258. package/components/Token/Token.d.ts +6 -0
  259. package/components/TokenInput/TokenInput/TokenInput.js +30 -19
  260. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  261. package/components/TokenInput/TokenInput.d.ts +6 -0
  262. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  263. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  264. package/components/Tooltip/Tooltip/Tooltip.js +2 -1
  265. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  266. package/components/Tooltip/Tooltip.d.ts +3 -3
  267. package/hooks/useDrop/package.json +6 -0
  268. package/hooks/useDrop/useDrop.js +57 -0
  269. package/hooks/useDrop/useDrop.js.map +1 -0
  270. package/hooks/useDrop.d.ts +11 -0
  271. package/hooks/useMemoObject/package.json +6 -0
  272. package/hooks/useMemoObject/useMemoObject.js +6 -0
  273. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  274. package/hooks/useMemoObject.d.ts +1 -0
  275. package/index.d.ts +1 -0
  276. package/index.js +1 -0
  277. package/index.js.map +1 -1
  278. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  279. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -0
  280. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +5 -12
  281. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  282. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -0
  283. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  284. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  285. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  286. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +11 -0
  287. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +79 -0
  288. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  289. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  290. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  291. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +176 -0
  292. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  293. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  294. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  295. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  296. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  297. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  298. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  299. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +23 -0
  300. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  301. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  302. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  303. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +11 -0
  304. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  305. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  306. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  307. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +18 -0
  308. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  309. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  310. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  311. package/internal/FileUploaderControl/fileUtils/fileUtils.js +85 -0
  312. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  313. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  314. package/internal/FileUploaderControl/fileUtils.d.ts +18 -0
  315. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  316. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  317. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  318. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  319. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  320. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  321. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  322. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  323. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  324. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +16 -0
  325. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  326. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  327. package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
  328. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  329. package/internal/Popup/Popup/Popup.js +9 -2
  330. package/internal/Popup/Popup/Popup.js.map +1 -1
  331. package/internal/Popup/Popup.d.ts +13 -0
  332. package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
  333. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  334. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +49 -0
  335. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  336. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  337. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  338. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  339. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  340. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  341. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  342. package/internal/ThemePlayground/Playground/Playground.js +11 -1
  343. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  344. package/internal/ThemePlayground/Playground.d.ts +1 -0
  345. package/internal/ThemePlayground/darkTheme/darkTheme.js +26 -1
  346. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  347. package/internal/ThemePlayground/darkTheme.d.ts +15 -0
  348. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  349. package/internal/icons/16px/index/index.js +27 -0
  350. package/internal/icons/16px/index/index.js.map +1 -1
  351. package/internal/icons/16px/index.d.ts +3 -0
  352. package/internal/themes/DefaultTheme/DefaultTheme.js +67 -0
  353. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  354. package/internal/themes/DefaultTheme.d.ts +23 -0
  355. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  356. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  357. package/lib/forwardRefAndName/package.json +6 -0
  358. package/lib/forwardRefAndName.d.ts +5 -0
  359. package/lib/guidUtils/guidUtils.js +4 -0
  360. package/lib/guidUtils/guidUtils.js.map +1 -0
  361. package/lib/guidUtils/package.json +6 -0
  362. package/lib/guidUtils.d.ts +1 -0
  363. package/lib/locale/types/types.js.map +1 -1
  364. package/lib/locale/types.d.ts +2 -0
  365. package/lib/locale/useLocaleForControl/package.json +6 -0
  366. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  367. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  368. package/lib/locale/useLocaleForControl.d.ts +3 -0
  369. package/lib/stringUtils/package.json +6 -0
  370. package/lib/stringUtils/stringUtils.js +12 -0
  371. package/lib/stringUtils/stringUtils.js.map +1 -0
  372. package/lib/stringUtils.d.ts +1 -0
  373. package/lib/utils/utils.js +18 -0
  374. package/lib/utils/utils.js.map +1 -1
  375. package/lib/utils.d.ts +1 -0
  376. package/package.json +3 -3
@@ -1,12 +1,11 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
2
2
  var _Emotion = require("../../lib/theming/Emotion");
3
3
 
4
- var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35;
4
+ var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34;
5
5
 
6
6
  var styles = (0, _Emotion.memoizeStyle)({
7
7
  root: function root() {
8
- return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n height: 100%;\n position: fixed;\n right: 0;\n top: 0;\n "])));
9
-
8
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n height: 100%;\n position: fixed;\n top: 0;\n "])));
10
9
 
11
10
 
12
11
 
@@ -169,17 +168,10 @@ var styles = (0, _Emotion.memoizeStyle)({
169
168
  return (0, _Emotion.css)(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-shadow: ", ";\n "])),
170
169
  t.sidePageContainerShadow);
171
170
 
172
- },
173
-
174
- leftSide: function leftSide() {
175
- return (0, _Emotion.css)(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteralLoose2.default)(["\n left: 0;\n right: auto;\n "])));
176
-
177
-
178
-
179
171
  },
180
172
 
181
173
  close: function close(t) {
182
- return (0, _Emotion.css)(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n cursor: pointer;\n color: ", ";\n padding: ", ";\n margin: -", ";\n font-size: 0;\n\n &:focus,\n &:hover {\n color: ", ";\n }\n\n & > svg {\n width: ", ";\n height: ", ";\n box-sizing: content-box;\n }\n "])),
174
+ return (0, _Emotion.css)(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n cursor: pointer;\n color: ", ";\n padding: ", ";\n margin: -", ";\n font-size: 0;\n\n &:focus,\n &:hover {\n color: ", ";\n }\n\n & > svg {\n width: ", ";\n height: ", ";\n box-sizing: content-box;\n }\n "])),
183
175
  (0, _Mixins.resetButton)(),
184
176
 
185
177
  t.sidePageCloseButtonColor,
@@ -201,13 +193,13 @@ var styles = (0, _Emotion.memoizeStyle)({
201
193
  },
202
194
 
203
195
  closeFocus: function closeFocus(t) {
204
- return (0, _Emotion.css)(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteralLoose2.default)(["\n outline: 2px solid ", ";\n "])),
196
+ return (0, _Emotion.css)(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteralLoose2.default)(["\n outline: 2px solid ", ";\n "])),
205
197
  t.borderColorFocus);
206
198
 
207
199
  },
208
200
 
209
201
  wrapperClose: function wrapperClose(t) {
210
- return (0, _Emotion.css)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-sizing: border-box;\n height: 100%;\n line-height: ", ";\n padding: ", " 0 ", ";\n position: absolute;\n right: ", ";\n top: 0;\n "])),
202
+ return (0, _Emotion.css)(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-sizing: border-box;\n height: 100%;\n line-height: ", ";\n padding: ", " 0 ", ";\n position: absolute;\n right: ", ";\n top: 0;\n "])),
211
203
 
212
204
 
213
205
  t.sidePageHeaderLineHeight,
@@ -219,7 +211,7 @@ var styles = (0, _Emotion.memoizeStyle)({
219
211
  },
220
212
 
221
213
  panel: function panel(t) {
222
- return (0, _Emotion.css)(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n padding: ", " ", " ", "\n ", ";\n "])),
214
+ return (0, _Emotion.css)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n padding: ", " ", " ", "\n ", ";\n "])),
223
215
  t.sidePageFooterPanelBg,
224
216
  t.sidePageFooterPanelPaddingTop, t.sidePagePaddingRight, t.sidePageFooterPanelPaddingBottom,
225
217
  t.sidePagePaddingLeft);
@@ -227,20 +219,20 @@ var styles = (0, _Emotion.memoizeStyle)({
227
219
  },
228
220
 
229
221
  fixed: function fixed(t) {
230
- return (0, _Emotion.css)(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteralLoose2.default)(["\n line-height: ", ";\n padding: ", " 0;\n "])),
222
+ return (0, _Emotion.css)(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteralLoose2.default)(["\n line-height: ", ";\n padding: ", " 0;\n "])),
231
223
  t.sidePageHeaderFixedLineHeight,
232
224
  t.sidePageHeaderFixedPaddingY);
233
225
 
234
226
  },
235
227
 
236
228
  footerWrapper: function footerWrapper() {
237
- return (0, _Emotion.css)(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteralLoose2.default)(["\n flex: 0 0 auto;\n "])));
229
+ return (0, _Emotion.css)(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteralLoose2.default)(["\n flex: 0 0 auto;\n "])));
238
230
 
239
231
 
240
232
  },
241
233
 
242
234
  footer: function footer() {
243
- return (0, _Emotion.css)(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteralLoose2.default)(["\n bottom: 0;\n position: fixed;\n z-index: 10;\n "])));
235
+ return (0, _Emotion.css)(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteralLoose2.default)(["\n bottom: 0;\n position: fixed;\n z-index: 10;\n "])));
244
236
 
245
237
 
246
238
 
@@ -248,14 +240,14 @@ var styles = (0, _Emotion.memoizeStyle)({
248
240
  },
249
241
 
250
242
  footerContent: function footerContent(t) {
251
- return (0, _Emotion.css)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: ", " ", " ", "\n ", ";\n "])),
243
+ return (0, _Emotion.css)(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: ", " ", " ", "\n ", ";\n "])),
252
244
  t.sidePageFooterPaddingTop, t.sidePagePaddingRight, t.sidePageFooterPaddingBottom,
253
245
  t.sidePagePaddingLeft);
254
246
 
255
247
  },
256
248
 
257
249
  footerFixed: function footerFixed(t) {
258
- return (0, _Emotion.css)(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n\n &:before {\n top: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "])),
250
+ return (0, _Emotion.css)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n\n &:before {\n top: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "])),
259
251
  t.sidePageBgDefault,
260
252
 
261
253
 
@@ -272,19 +264,19 @@ var styles = (0, _Emotion.memoizeStyle)({
272
264
  },
273
265
 
274
266
  transitionLeft: function transitionLeft() {
275
- return (0, _Emotion.css)(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteralLoose2.default)(["\n transform: translateX(100px);\n "])));
267
+ return (0, _Emotion.css)(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteralLoose2.default)(["\n transform: translateX(100px);\n "])));
276
268
 
277
269
 
278
270
  },
279
271
 
280
272
  transitionRight: function transitionRight() {
281
- return (0, _Emotion.css)(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteralLoose2.default)(["\n transform: translateX(-100px);\n "])));
273
+ return (0, _Emotion.css)(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteralLoose2.default)(["\n transform: translateX(-100px);\n "])));
282
274
 
283
275
 
284
276
  },
285
277
 
286
278
  transitionActive: function transitionActive() {
287
- return (0, _Emotion.css)(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteralLoose2.default)(["\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1;\n transform: translate(0, 0);\n "])));
279
+ return (0, _Emotion.css)(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteralLoose2.default)(["\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1;\n transform: translate(0, 0);\n "])));
288
280
 
289
281
 
290
282
 
@@ -292,13 +284,13 @@ var styles = (0, _Emotion.memoizeStyle)({
292
284
  },
293
285
 
294
286
  transitionLeave: function transitionLeave() {
295
- return (0, _Emotion.css)(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteralLoose2.default)(["\n opacity: 1;\n "])));
287
+ return (0, _Emotion.css)(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteralLoose2.default)(["\n opacity: 1;\n "])));
296
288
 
297
289
 
298
290
  },
299
291
 
300
292
  transitionLeaveActive: function transitionLeaveActive() {
301
- return (0, _Emotion.css)(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteralLoose2.default)(["\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n "])));
293
+ return (0, _Emotion.css)(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteralLoose2.default)(["\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n "])));
302
294
 
303
295
 
304
296
 
@@ -1 +1 @@
1
- {"version":3,"sources":["SidePage.styles.ts"],"names":["styles","root","css","overlay","body","container","t","sidePagePaddingLeft","sidePagePaddingRight","containerWithoutHeader","sidePagePaddingTop","containerWithoutFooter","sidePagePaddingBottom","containerWithPanel","focusLock","wrapper","sidePageBgDefault","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","headerWrapper","header","sidePageHeaderFontSize","sidePageHeaderLineHeight","sidePageHeaderPaddingTop","sidePageHeaderPaddingBottom","sidePageHeaderTextColor","headerFixed","sidePageHeaderFixedFontSize","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","sidePageFixedHeaderShadow","title","paddingRight","parseInt","sidePageCloseButtonPadding","sidePageCloseButtonLegacyPaddingLeft","sidePageCloseIconSize","titleFixed","background","backgroundGray","sidePageBackingBg","sidePageBackingBgOpacity","shadow","sidePageContainerShadow","leftSide","close","sidePageCloseButtonColor","sidePageCloseButtonClickArea","sidePageCloseButtonHoverColor","closeFocus","borderColorFocus","wrapperClose","panel","sidePageFooterPanelBg","sidePageFooterPanelPaddingTop","sidePageFooterPanelPaddingBottom","fixed","footerWrapper","footer","footerContent","sidePageFooterPaddingTop","sidePageFooterPaddingBottom","footerFixed","sidePageFixedFooterShadow","transitionLeft","transitionRight","transitionActive","transitionLeave","transitionLeaveActive"],"mappings":"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","sourcesContent":["import { is8pxTheme } from '../../lib/theming/ThemeHelpers';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n position: fixed;\n right: 0;\n top: 0;\n `;\n },\n\n overlay() {\n return css`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n `;\n },\n\n body() {\n return css`\n flex: 1 0 auto;\n z-index: 0;\n `;\n },\n\n container(t: Theme) {\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${t.sidePagePaddingRight};\n `;\n },\n\n containerWithoutHeader(t: Theme) {\n return css`\n padding-top: ${is8pxTheme(t) ? t.sidePagePaddingTop : 0};\n `;\n },\n\n containerWithoutFooter(t: Theme) {\n return css`\n padding-bottom: ${is8pxTheme(t) ? t.sidePagePaddingBottom : 0};\n `;\n },\n\n containerWithPanel(t: Theme) {\n return css`\n padding-bottom: ${is8pxTheme(t) ? t.sidePagePaddingBottom : 0};\n `;\n },\n\n focusLock() {\n return css`\n height: 100%;\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n float: right;\n height: 100%;\n width: 100%;\n overflow-y: auto;\n position: relative;\n white-space: normal;\n align-items: stretch;\n display: flex;\n flex-direction: column;\n `;\n },\n\n wrapperLeft() {\n return css`\n float: left;\n `;\n },\n\n wrapperMarginLeft() {\n return css`\n margin-left: 20px;\n `;\n },\n\n wrapperMarginRight() {\n return css`\n margin-right: 20px;\n `;\n },\n\n headerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.sidePageHeaderFontSize};\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n width: 100%;\n position: relative;\n color: ${t.sidePageHeaderTextColor};\n `;\n },\n\n headerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n font-size: ${t.sidePageHeaderFixedFontSize};\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n\n &:after {\n bottom: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedHeaderShadow};\n }\n `;\n },\n\n title(t: Theme) {\n const paddingRight =\n parseInt(t.sidePageCloseButtonPadding) +\n parseInt(t.sidePageCloseButtonLegacyPaddingLeft) +\n parseInt(t.sidePageCloseIconSize);\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${paddingRight}px;\n `;\n },\n\n titleFixed() {\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n },\n\n background() {\n return css`\n height: 100%;\n position: absolute;\n width: 100%;\n `;\n },\n\n backgroundGray(t: Theme) {\n return css`\n background: ${t.sidePageBackingBg};\n opacity: ${t.sidePageBackingBgOpacity};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n box-shadow: ${t.sidePageContainerShadow};\n `;\n },\n\n leftSide() {\n return css`\n left: 0;\n right: auto;\n `;\n },\n\n close(t: Theme) {\n return css`\n ${resetButton()};\n cursor: pointer;\n color: ${t.sidePageCloseButtonColor};\n padding: ${t.sidePageCloseButtonClickArea};\n margin: -${t.sidePageCloseButtonClickArea};\n font-size: 0;\n\n &:focus,\n &:hover {\n color: ${t.sidePageCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.sidePageCloseIconSize};\n height: ${t.sidePageCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n closeFocus(t: Theme) {\n return css`\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n wrapperClose(t: Theme) {\n return css`\n box-sizing: border-box;\n height: 100%;\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n position: absolute;\n right: ${t.sidePageCloseButtonPadding};\n top: 0;\n `;\n },\n\n panel(t: Theme) {\n return css`\n background: ${t.sidePageFooterPanelBg};\n padding: ${t.sidePageFooterPanelPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPanelPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n fixed(t: Theme) {\n return css`\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n `;\n },\n\n footerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n footer() {\n return css`\n bottom: 0;\n position: fixed;\n z-index: 10;\n `;\n },\n\n footerContent(t: Theme) {\n return css`\n padding: ${t.sidePageFooterPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n footerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n\n &:before {\n top: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedFooterShadow};\n }\n `;\n },\n\n transitionLeft() {\n return css`\n transform: translateX(100px);\n `;\n },\n\n transitionRight() {\n return css`\n transform: translateX(-100px);\n `;\n },\n\n transitionActive() {\n return css`\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1;\n transform: translate(0, 0);\n `;\n },\n\n transitionLeave() {\n return css`\n opacity: 1;\n `;\n },\n\n transitionLeaveActive() {\n return css`\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["SidePage.styles.ts"],"names":["styles","root","css","overlay","body","container","t","sidePagePaddingLeft","sidePagePaddingRight","containerWithoutHeader","sidePagePaddingTop","containerWithoutFooter","sidePagePaddingBottom","containerWithPanel","focusLock","wrapper","sidePageBgDefault","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","headerWrapper","header","sidePageHeaderFontSize","sidePageHeaderLineHeight","sidePageHeaderPaddingTop","sidePageHeaderPaddingBottom","sidePageHeaderTextColor","headerFixed","sidePageHeaderFixedFontSize","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","sidePageFixedHeaderShadow","title","paddingRight","parseInt","sidePageCloseButtonPadding","sidePageCloseButtonLegacyPaddingLeft","sidePageCloseIconSize","titleFixed","background","backgroundGray","sidePageBackingBg","sidePageBackingBgOpacity","shadow","sidePageContainerShadow","close","sidePageCloseButtonColor","sidePageCloseButtonClickArea","sidePageCloseButtonHoverColor","closeFocus","borderColorFocus","wrapperClose","panel","sidePageFooterPanelBg","sidePageFooterPanelPaddingTop","sidePageFooterPanelPaddingBottom","fixed","footerWrapper","footer","footerContent","sidePageFooterPaddingTop","sidePageFooterPaddingBottom","footerFixed","sidePageFixedFooterShadow","transitionLeft","transitionRight","transitionActive","transitionLeave","transitionLeaveActive"],"mappings":"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","sourcesContent":["import { is8pxTheme } from '../../lib/theming/ThemeHelpers';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n position: fixed;\n top: 0;\n `;\n },\n\n overlay() {\n return css`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n `;\n },\n\n body() {\n return css`\n flex: 1 0 auto;\n z-index: 0;\n `;\n },\n\n container(t: Theme) {\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${t.sidePagePaddingRight};\n `;\n },\n\n containerWithoutHeader(t: Theme) {\n return css`\n padding-top: ${is8pxTheme(t) ? t.sidePagePaddingTop : 0};\n `;\n },\n\n containerWithoutFooter(t: Theme) {\n return css`\n padding-bottom: ${is8pxTheme(t) ? t.sidePagePaddingBottom : 0};\n `;\n },\n\n containerWithPanel(t: Theme) {\n return css`\n padding-bottom: ${is8pxTheme(t) ? t.sidePagePaddingBottom : 0};\n `;\n },\n\n focusLock() {\n return css`\n height: 100%;\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n float: right;\n height: 100%;\n width: 100%;\n overflow-y: auto;\n position: relative;\n white-space: normal;\n align-items: stretch;\n display: flex;\n flex-direction: column;\n `;\n },\n\n wrapperLeft() {\n return css`\n float: left;\n `;\n },\n\n wrapperMarginLeft() {\n return css`\n margin-left: 20px;\n `;\n },\n\n wrapperMarginRight() {\n return css`\n margin-right: 20px;\n `;\n },\n\n headerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.sidePageHeaderFontSize};\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n width: 100%;\n position: relative;\n color: ${t.sidePageHeaderTextColor};\n `;\n },\n\n headerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n font-size: ${t.sidePageHeaderFixedFontSize};\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n\n &:after {\n bottom: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedHeaderShadow};\n }\n `;\n },\n\n title(t: Theme) {\n const paddingRight =\n parseInt(t.sidePageCloseButtonPadding) +\n parseInt(t.sidePageCloseButtonLegacyPaddingLeft) +\n parseInt(t.sidePageCloseIconSize);\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${paddingRight}px;\n `;\n },\n\n titleFixed() {\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n },\n\n background() {\n return css`\n height: 100%;\n position: absolute;\n width: 100%;\n `;\n },\n\n backgroundGray(t: Theme) {\n return css`\n background: ${t.sidePageBackingBg};\n opacity: ${t.sidePageBackingBgOpacity};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n box-shadow: ${t.sidePageContainerShadow};\n `;\n },\n\n close(t: Theme) {\n return css`\n ${resetButton()};\n cursor: pointer;\n color: ${t.sidePageCloseButtonColor};\n padding: ${t.sidePageCloseButtonClickArea};\n margin: -${t.sidePageCloseButtonClickArea};\n font-size: 0;\n\n &:focus,\n &:hover {\n color: ${t.sidePageCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.sidePageCloseIconSize};\n height: ${t.sidePageCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n closeFocus(t: Theme) {\n return css`\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n wrapperClose(t: Theme) {\n return css`\n box-sizing: border-box;\n height: 100%;\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n position: absolute;\n right: ${t.sidePageCloseButtonPadding};\n top: 0;\n `;\n },\n\n panel(t: Theme) {\n return css`\n background: ${t.sidePageFooterPanelBg};\n padding: ${t.sidePageFooterPanelPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPanelPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n fixed(t: Theme) {\n return css`\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n `;\n },\n\n footerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n footer() {\n return css`\n bottom: 0;\n position: fixed;\n z-index: 10;\n `;\n },\n\n footerContent(t: Theme) {\n return css`\n padding: ${t.sidePageFooterPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n footerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n\n &:before {\n top: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedFooterShadow};\n }\n `;\n },\n\n transitionLeft() {\n return css`\n transform: translateX(100px);\n `;\n },\n\n transitionRight() {\n return css`\n transform: translateX(-100px);\n `;\n },\n\n transitionActive() {\n return css`\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1;\n transform: translate(0, 0);\n `;\n },\n\n transitionLeave() {\n return css`\n opacity: 1;\n `;\n },\n\n transitionLeaveActive() {\n return css`\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n `;\n },\n});\n"]}
@@ -40,11 +40,11 @@ export interface TabProps<T extends string = string> extends CommonProps {
40
40
  */
41
41
  disabled?: boolean;
42
42
  /**
43
- * Error indicator
43
+ * Cостояние валидации при ошибке.
44
44
  */
45
45
  error?: boolean;
46
46
  /**
47
- * Warning indicator
47
+ * Cостояние валидации при предупреждении.
48
48
  */
49
49
  warning?: boolean;
50
50
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["Tab.tsx"],"names":["Tab","context","state","focusedByKeyboard","theme","tabComponent","getUnderlyingNode","getId","props","id","href","refTabComponent","instance","getTabInstance","switchTab","event","disabled","preventDefault","onClick","defaultPrevented","component","handleKeyDown","e","onKeyDown","delta","shiftFocus","handleFocus","requestAnimationFrame","keyListener","isTabPressed","isArrowPressed","setState","handleBlur","UNSAFE_componentWillMount","TabsContextDefaultValue","componentDidMount","addTab","componentDidUpdate","activeTab","notifyUpdate","componentWillUnmount","removeTab","render","renderMain","getIndicators","error","Boolean","warning","success","primary","children","Component","defaultProps","isActive","isVertical","vertical","orientationStyles","verticalStyles","horizontalStyles","styles","root","active","focus","globalClasses","React","__KONTUR_REACT_UI__","contextType","TabsContext","propTypes","PropTypes","node","bool","string","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport invariant from 'invariant';\n\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isKeyArrow, isKeyArrowLeft, isKeyArrowUp } from '../../lib/events/keyboard/identifiers';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunctionalComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TabsContext, TabsContextType, TabsContextDefaultValue } from './TabsContext';\nimport { styles, horizontalStyles, verticalStyles, globalClasses } from './Tab.styles';\n\nexport interface TabIndicators {\n error: boolean;\n warning: boolean;\n success: boolean;\n primary: boolean;\n disabled: boolean;\n}\n\nexport interface TabProps<T extends string = string> extends CommonProps {\n /**\n * Tab content\n */\n children?: React.ReactNode;\n\n /**\n * Component to use as a tab\n */\n component?: React.ComponentType<any> | string;\n\n /**\n * Link href\n */\n href?: string;\n\n /**\n * Tab identifier\n */\n id?: T;\n\n /**\n * Click event\n */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n\n /**\n * Click event\n */\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n /**\n * Disabled indicator\n */\n disabled?: boolean;\n\n /**\n * Error indicator\n */\n error?: boolean;\n\n /**\n * Warning indicator\n */\n warning?: boolean;\n\n /**\n * Success indicator\n */\n success?: boolean;\n\n /**\n * Primary indicator\n */\n primary?: boolean;\n\n /**\n * Style property\n */\n style?: React.CSSProperties;\n}\n\nexport interface TabState {\n focusedByKeyboard: boolean;\n}\n\n/**\n * Tab element of Tabs component\n *\n * Can be used for creating custom tabs\n * ```js\n *\n * const RouteTab = (props) => (\n * <Tab id={props.to} component={RouteLink} {...props}/>\n * )\n *\n * const MyAwesomeTab = (props) => <Tab id={props.id}>8) {props.children}</Tab>\n * ```\n *\n * Works only inside Tabs component, otherwise throws\n */\nexport class Tab<T extends string = string> extends React.Component<TabProps<T>, TabState> {\n public static __KONTUR_REACT_UI__ = 'Tab';\n\n public static contextType = TabsContext;\n public context: TabsContextType = this.context;\n\n public static propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n href: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n };\n\n public static defaultProps = {\n component: 'a',\n href: '',\n };\n\n public state: TabState = {\n focusedByKeyboard: false,\n };\n\n private theme!: Theme;\n private tabComponent: Nullable<React.ReactElement<Tab<T>>> = null;\n\n public UNSAFE_componentWillMount() {\n invariant(this.context !== TabsContextDefaultValue, 'Tab should be placed inside Tabs component');\n }\n\n public componentDidMount() {\n const id = this.getId();\n if (typeof id === 'string') {\n this.context.addTab(id, this.getTabInstance);\n }\n }\n\n public componentDidUpdate() {\n if (this.context.activeTab === this.props.id) {\n this.context.notifyUpdate();\n }\n }\n\n public componentWillUnmount() {\n const id = this.getId();\n if (typeof id === 'string') {\n this.context.removeTab(id);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getIndicators() {\n return {\n error: Boolean(this.props.error),\n warning: Boolean(this.props.warning),\n success: Boolean(this.props.success),\n primary: Boolean(this.props.primary),\n disabled: Boolean(this.props.disabled),\n };\n }\n\n public getUnderlyingNode = () => this.tabComponent;\n\n private renderMain() {\n const {\n children,\n disabled,\n error,\n warning,\n success,\n primary,\n component: Component = Tab.defaultProps.component,\n href,\n } = this.props;\n\n let isActive = false;\n let isVertical = false;\n\n const id = this.getId();\n if (typeof id === 'string') {\n isActive = this.context.activeTab === this.getId();\n isVertical = this.context.vertical;\n }\n const orientationStyles = isVertical ? verticalStyles : horizontalStyles;\n\n return (\n <CommonWrapper {...this.props}>\n <Component\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.vertical(this.theme)]: !!isVertical,\n [orientationStyles.primary(this.theme)]: !!primary,\n [orientationStyles.success(this.theme)]: !!success,\n [orientationStyles.warning(this.theme)]: !!warning,\n [orientationStyles.error(this.theme)]: !!error,\n [styles.active()]: !!isActive,\n [orientationStyles.active(this.theme)]: !!isActive,\n [styles.disabled(this.theme)]: !!disabled,\n [orientationStyles.disabled()]: !!disabled,\n })}\n onBlur={this.handleBlur}\n onClick={this.switchTab}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n tabIndex={disabled ? -1 : 0}\n ref={isFunctionalComponent(Component) ? null : this.refTabComponent}\n href={href}\n >\n <ResizeDetector onResize={this.context.notifyUpdate}>{children}</ResizeDetector>\n {this.state.focusedByKeyboard && <div className={cx(styles.focus(this.theme), globalClasses.focus)} />}\n </Component>\n </CommonWrapper>\n );\n }\n\n private getId = () => this.props.id || this.props.href;\n\n private refTabComponent = (instance: React.ReactElement<any>) => {\n this.tabComponent = instance;\n };\n\n private getTabInstance = () => this;\n\n private switchTab = (event: React.MouseEvent<HTMLElement>) => {\n if (this.props.disabled) {\n event.preventDefault();\n return;\n }\n\n const id = this.props.id || this.props.href;\n if (this.props.onClick) {\n this.props.onClick(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n if (typeof id === 'string') {\n this.context.switchTab(id);\n }\n if (this.props.component === 'a' && !this.props.href) {\n event.preventDefault();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n if (e.defaultPrevented) {\n return;\n }\n }\n const id = this.getId();\n if (typeof id !== 'string') {\n return;\n }\n if (!isKeyArrow(e)) {\n return;\n }\n e.preventDefault();\n const delta = isKeyArrowLeft(e) || isKeyArrowUp(e) ? -1 : 1;\n this.context.shiftFocus(id, delta);\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n // focus event fires before keyDown eventlistener\n // so we should check focusKeyPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed || keyListener.isArrowPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n };\n\n private handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
1
+ {"version":3,"sources":["Tab.tsx"],"names":["Tab","context","state","focusedByKeyboard","theme","tabComponent","getUnderlyingNode","getId","props","id","href","refTabComponent","instance","getTabInstance","switchTab","event","disabled","preventDefault","onClick","defaultPrevented","component","handleKeyDown","e","onKeyDown","delta","shiftFocus","handleFocus","requestAnimationFrame","keyListener","isTabPressed","isArrowPressed","setState","handleBlur","UNSAFE_componentWillMount","TabsContextDefaultValue","componentDidMount","addTab","componentDidUpdate","activeTab","notifyUpdate","componentWillUnmount","removeTab","render","renderMain","getIndicators","error","Boolean","warning","success","primary","children","Component","defaultProps","isActive","isVertical","vertical","orientationStyles","verticalStyles","horizontalStyles","styles","root","active","focus","globalClasses","React","__KONTUR_REACT_UI__","contextType","TabsContext","propTypes","PropTypes","node","bool","string","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport invariant from 'invariant';\n\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isKeyArrow, isKeyArrowLeft, isKeyArrowUp } from '../../lib/events/keyboard/identifiers';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunctionalComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TabsContext, TabsContextType, TabsContextDefaultValue } from './TabsContext';\nimport { styles, horizontalStyles, verticalStyles, globalClasses } from './Tab.styles';\n\nexport interface TabIndicators {\n error: boolean;\n warning: boolean;\n success: boolean;\n primary: boolean;\n disabled: boolean;\n}\n\nexport interface TabProps<T extends string = string> extends CommonProps {\n /**\n * Tab content\n */\n children?: React.ReactNode;\n\n /**\n * Component to use as a tab\n */\n component?: React.ComponentType<any> | string;\n\n /**\n * Link href\n */\n href?: string;\n\n /**\n * Tab identifier\n */\n id?: T;\n\n /**\n * Click event\n */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n\n /**\n * Click event\n */\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n /**\n * Disabled indicator\n */\n disabled?: boolean;\n\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * Success indicator\n */\n success?: boolean;\n\n /**\n * Primary indicator\n */\n primary?: boolean;\n\n /**\n * Style property\n */\n style?: React.CSSProperties;\n}\n\nexport interface TabState {\n focusedByKeyboard: boolean;\n}\n\n/**\n * Tab element of Tabs component\n *\n * Can be used for creating custom tabs\n * ```js\n *\n * const RouteTab = (props) => (\n * <Tab id={props.to} component={RouteLink} {...props}/>\n * )\n *\n * const MyAwesomeTab = (props) => <Tab id={props.id}>8) {props.children}</Tab>\n * ```\n *\n * Works only inside Tabs component, otherwise throws\n */\nexport class Tab<T extends string = string> extends React.Component<TabProps<T>, TabState> {\n public static __KONTUR_REACT_UI__ = 'Tab';\n\n public static contextType = TabsContext;\n public context: TabsContextType = this.context;\n\n public static propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n href: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n };\n\n public static defaultProps = {\n component: 'a',\n href: '',\n };\n\n public state: TabState = {\n focusedByKeyboard: false,\n };\n\n private theme!: Theme;\n private tabComponent: Nullable<React.ReactElement<Tab<T>>> = null;\n\n public UNSAFE_componentWillMount() {\n invariant(this.context !== TabsContextDefaultValue, 'Tab should be placed inside Tabs component');\n }\n\n public componentDidMount() {\n const id = this.getId();\n if (typeof id === 'string') {\n this.context.addTab(id, this.getTabInstance);\n }\n }\n\n public componentDidUpdate() {\n if (this.context.activeTab === this.props.id) {\n this.context.notifyUpdate();\n }\n }\n\n public componentWillUnmount() {\n const id = this.getId();\n if (typeof id === 'string') {\n this.context.removeTab(id);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getIndicators() {\n return {\n error: Boolean(this.props.error),\n warning: Boolean(this.props.warning),\n success: Boolean(this.props.success),\n primary: Boolean(this.props.primary),\n disabled: Boolean(this.props.disabled),\n };\n }\n\n public getUnderlyingNode = () => this.tabComponent;\n\n private renderMain() {\n const {\n children,\n disabled,\n error,\n warning,\n success,\n primary,\n component: Component = Tab.defaultProps.component,\n href,\n } = this.props;\n\n let isActive = false;\n let isVertical = false;\n\n const id = this.getId();\n if (typeof id === 'string') {\n isActive = this.context.activeTab === this.getId();\n isVertical = this.context.vertical;\n }\n const orientationStyles = isVertical ? verticalStyles : horizontalStyles;\n\n return (\n <CommonWrapper {...this.props}>\n <Component\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.vertical(this.theme)]: !!isVertical,\n [orientationStyles.primary(this.theme)]: !!primary,\n [orientationStyles.success(this.theme)]: !!success,\n [orientationStyles.warning(this.theme)]: !!warning,\n [orientationStyles.error(this.theme)]: !!error,\n [styles.active()]: !!isActive,\n [orientationStyles.active(this.theme)]: !!isActive,\n [styles.disabled(this.theme)]: !!disabled,\n [orientationStyles.disabled()]: !!disabled,\n })}\n onBlur={this.handleBlur}\n onClick={this.switchTab}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n tabIndex={disabled ? -1 : 0}\n ref={isFunctionalComponent(Component) ? null : this.refTabComponent}\n href={href}\n >\n <ResizeDetector onResize={this.context.notifyUpdate}>{children}</ResizeDetector>\n {this.state.focusedByKeyboard && <div className={cx(styles.focus(this.theme), globalClasses.focus)} />}\n </Component>\n </CommonWrapper>\n );\n }\n\n private getId = () => this.props.id || this.props.href;\n\n private refTabComponent = (instance: React.ReactElement<any>) => {\n this.tabComponent = instance;\n };\n\n private getTabInstance = () => this;\n\n private switchTab = (event: React.MouseEvent<HTMLElement>) => {\n if (this.props.disabled) {\n event.preventDefault();\n return;\n }\n\n const id = this.props.id || this.props.href;\n if (this.props.onClick) {\n this.props.onClick(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n if (typeof id === 'string') {\n this.context.switchTab(id);\n }\n if (this.props.component === 'a' && !this.props.href) {\n event.preventDefault();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n if (e.defaultPrevented) {\n return;\n }\n }\n const id = this.getId();\n if (typeof id !== 'string') {\n return;\n }\n if (!isKeyArrow(e)) {\n return;\n }\n e.preventDefault();\n const delta = isKeyArrowLeft(e) || isKeyArrowUp(e) ? -1 : 1;\n this.context.shiftFocus(id, delta);\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n // focus event fires before keyDown eventlistener\n // so we should check focusKeyPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed || keyListener.isArrowPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n };\n\n private handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
@@ -3,9 +3,13 @@ import PropTypes from 'prop-types';
3
3
  import { Override } from '../../typings/utility-types';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface TextareaProps extends CommonProps, Override<React.TextareaHTMLAttributes<HTMLTextAreaElement>, {
6
- /** Ошибка */
6
+ /**
7
+ * Cостояние валидации при ошибке.
8
+ */
7
9
  error?: boolean;
8
- /** Предупреждение */
10
+ /**
11
+ * Cостояние валидации при предупреждении.
12
+ */
9
13
  warning?: boolean;
10
14
  /** Не активное состояние */
11
15
  disabled?: boolean;
@@ -101,6 +101,10 @@ var AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;
101
101
 
102
102
 
103
103
 
104
+
105
+
106
+
107
+
104
108
 
105
109
 
106
110
 
@@ -323,7 +327,8 @@ Textarea = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
323
327
 
324
328
 
325
329
 
326
- props.width,width = _props$width === void 0 ? DEFAULT_WIDTH : _props$width,error = props.error,warning = props.warning,autoResize = props.autoResize,resize = props.resize,onCut = props.onCut,onPaste = props.onPaste,maxRows = props.maxRows,onFocus = props.onFocus,selectAllOnFocus = props.selectAllOnFocus,placeholder = props.placeholder,onValueChange = props.onValueChange,showLengthCounter = props.showLengthCounter,lengthCounter = props.lengthCounter,counterHelp = props.counterHelp,extraRow = props.extraRow,disableAnimations = props.disableAnimations,textareaProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["width", "error", "warning", "autoResize", "resize", "onCut", "onPaste", "maxRows", "onFocus", "selectAllOnFocus", "placeholder", "onValueChange", "showLengthCounter", "lengthCounter", "counterHelp", "extraRow", "disableAnimations"]);var
330
+
331
+ props.width,width = _props$width === void 0 ? DEFAULT_WIDTH : _props$width,error = props.error,warning = props.warning,autoResize = props.autoResize,resize = props.resize,onCut = props.onCut,onPaste = props.onPaste,maxRows = props.maxRows,onFocus = props.onFocus,selectAllOnFocus = props.selectAllOnFocus,placeholder = props.placeholder,onValueChange = props.onValueChange,showLengthCounter = props.showLengthCounter,lengthCounter = props.lengthCounter,counterHelp = props.counterHelp,extraRow = props.extraRow,disableAnimations = props.disableAnimations,disabled = props.disabled,textareaProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["width", "error", "warning", "autoResize", "resize", "onCut", "onPaste", "maxRows", "onFocus", "selectAllOnFocus", "placeholder", "onValueChange", "showLengthCounter", "lengthCounter", "counterHelp", "extraRow", "disableAnimations", "disabled"]);var
327
332
 
328
333
  isCounterVisible = _this.state.isCounterVisible;
329
334
 
@@ -335,6 +340,7 @@ Textarea = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
335
340
 
336
341
  var textareaClassNames = (0, _Emotion.cx)((_cx = {}, _cx[
337
342
  _Textarea.styles.textarea(_this.theme)] = true, _cx[
343
+ _Textarea.styles.disabled(_this.theme)] = disabled, _cx[
338
344
  _Textarea.styles.error(_this.theme)] = !!error, _cx[
339
345
  _Textarea.styles.warning(_this.theme)] = !!warning, _cx[
340
346
  _Textarea.styles.disableAnimations()] = _this.isAnimationsDisabled(), _cx));
@@ -391,7 +397,8 @@ Textarea = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
391
397
  onCut: _this.handleCut,
392
398
  onPaste: _this.handlePaste,
393
399
  onFocus: _this.handleFocus,
394
- onKeyDown: _this.handleKeyDown }),
400
+ onKeyDown: _this.handleKeyDown,
401
+ disabled: disabled }),
395
402
 
396
403
  _this.props.children)),
397
404
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Textarea.tsx"],"names":["DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","Textarea","state","polyfillPlaceholder","isCounterVisible","reflowCounter","counter","reflow","theme","selectAllId","node","fakeNode","layoutEvents","textareaObserver","isBrowser","MutationObserver","setSelectionRange","start","end","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","textareaProps","rootProps","style","textareaClassNames","styles","textarea","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","autoResizeHandler","rows","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","isIE11","componentDidMount","LayoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","render","blur","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","disabled","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';\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 error?: boolean;\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 */\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 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 <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\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 ...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.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 >\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","state","polyfillPlaceholder","isCounterVisible","reflowCounter","counter","reflow","theme","selectAllId","node","fakeNode","layoutEvents","textareaObserver","isBrowser","MutationObserver","setSelectionRange","start","end","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","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","autoResizeHandler","rows","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","isIE11","componentDidMount","LayoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","render","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';\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 * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\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 */\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 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 <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\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"]}
@@ -4,6 +4,7 @@ export declare const styles: {
4
4
  textarea(t: Theme): string;
5
5
  error(t: Theme): string;
6
6
  warning(t: Theme): string;
7
+ disabled(t: Theme): string;
7
8
  fake(): string;
8
9
  placeholder(): string;
9
10
  counterContainer(t: Theme): string;