@skbkontur/react-ui 1.6.10 → 1.6.11

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 (342) hide show
  1. package/README.md +135 -135
  2. package/components/Autocomplete/Autocomplete.adapter.js.flow +4 -4
  3. package/components/Autocomplete/Autocomplete.js.flow +37 -37
  4. package/components/Autocomplete/README.md +7 -7
  5. package/components/Autocomplete/index.js.flow +2 -2
  6. package/components/Button/Button.adapter.js.flow +4 -4
  7. package/components/Button/Button.js.flow +58 -58
  8. package/components/Button/Corners.js.flow +12 -12
  9. package/components/Button/README.md +85 -85
  10. package/components/Button/index.js.flow +2 -2
  11. package/components/Calendar/Animation.js.flow +7 -7
  12. package/components/Calendar/Calendar.js.flow +33 -33
  13. package/components/Calendar/CalendarDateShape.js.flow +26 -26
  14. package/components/Calendar/CalendarScrollEvents.js.flow +15 -15
  15. package/components/Calendar/CalendarUtils.js.flow +35 -35
  16. package/components/Calendar/DayCellView.js.flow +16 -16
  17. package/components/Calendar/DayCellViewModel.js.flow +9 -9
  18. package/components/Calendar/Month.js.flow +23 -23
  19. package/components/Calendar/MonthView.js.flow +24 -24
  20. package/components/Calendar/MonthViewModel.js.flow +16 -16
  21. package/components/Calendar/config.js.flow +11 -11
  22. package/components/Calendar/index.js.flow +2 -2
  23. package/components/Calendar/presets.js.flow +21 -21
  24. package/components/Calendar/stepper.js.flow +2 -2
  25. package/components/Calendar/utils.js.flow +2 -2
  26. package/components/Center/Center.js.flow +15 -15
  27. package/components/Center/README.md +5 -5
  28. package/components/Center/index.js.flow +2 -2
  29. package/components/Checkbox/Checkbox.adapter.js.flow +4 -4
  30. package/components/Checkbox/Checkbox.js.flow +27 -27
  31. package/components/Checkbox/README.md +61 -61
  32. package/components/Checkbox/index.js.flow +2 -2
  33. package/components/ComboBox/ComboBox.js.flow +58 -58
  34. package/components/ComboBox/README.md +423 -423
  35. package/components/ComboBox/__mocks__/getCities.js.map +1 -1
  36. package/components/ComboBox/__mocks__/kladr.json +20002 -20002
  37. package/components/ComboBox/index.js.flow +2 -2
  38. package/components/ComboBoxOld/ComboBoxOld.adapter.js.map +1 -1
  39. package/components/ComboBoxOld/ComboBoxOld.d.ts +120 -120
  40. package/components/ComboBoxOld/ComboBoxOld.js +45 -45
  41. package/components/ComboBoxOld/ComboBoxOld.js.map +1 -1
  42. package/components/ComboBoxOld/ComboBoxRenderer.js.map +1 -1
  43. package/components/ComboBoxOld/README.md +83 -83
  44. package/components/ComboBoxOld/index.d.ts +1 -1
  45. package/components/ComboBoxOld/index.js.map +1 -1
  46. package/components/CurrencyInput/CurrencyHelper.js.flow +44 -44
  47. package/components/CurrencyInput/CurrencyInput.js.flow +30 -30
  48. package/components/CurrencyInput/CurrencyInputHelper.js.flow +38 -38
  49. package/components/CurrencyInput/CurrencyInputKeyboardActions.js.flow +19 -19
  50. package/components/CurrencyInput/CursorHelper.js.flow +15 -15
  51. package/components/CurrencyInput/README.md +19 -19
  52. package/components/CurrencyInput/SelectionHelper.js.flow +16 -16
  53. package/components/CurrencyInput/index.js.flow +2 -2
  54. package/components/CurrencyLabel/CurrencyLabel.js.flow +10 -10
  55. package/components/CurrencyLabel/README.md +23 -23
  56. package/components/CurrencyLabel/index.js.flow +2 -2
  57. package/components/CustomComboBox/ComboBoxMenu.js.flow +22 -22
  58. package/components/CustomComboBox/ComboBoxView.js.flow +52 -52
  59. package/components/CustomComboBox/CustomComboBox.js.flow +130 -130
  60. package/components/CustomComboBox/index.js.flow +2 -2
  61. package/components/DateInput/DateInput.js.flow +60 -60
  62. package/components/DateInput/README.md +104 -104
  63. package/components/DateInput/helpers/DateInputKeyboardActions.js.flow +17 -17
  64. package/components/DateInput/helpers/SelectionHelpers.js.flow +3 -3
  65. package/components/DateInput/helpers/inputNumber.js.flow +4 -4
  66. package/components/DateInput/index.js.flow +2 -2
  67. package/components/DatePicker/DatePicker.js.flow +45 -45
  68. package/components/DatePicker/DatePickerHelpers.js.flow +7 -7
  69. package/components/DatePicker/DateShape.js.flow +11 -11
  70. package/components/DatePicker/Picker.js.flow +23 -23
  71. package/components/DatePicker/README.md +307 -307
  72. package/components/DatePicker/index.js.flow +2 -2
  73. package/components/DatePickerOld/Calendar.js.map +1 -1
  74. package/components/DatePickerOld/CalendarCell.js.map +1 -1
  75. package/components/DatePickerOld/DateInput.js +2 -2
  76. package/components/DatePickerOld/DateInput.js.map +1 -1
  77. package/components/DatePickerOld/DatePicker.adapter.js.map +1 -1
  78. package/components/DatePickerOld/DatePickerOld.d.ts +35 -35
  79. package/components/DatePickerOld/DatePickerOld.js +16 -16
  80. package/components/DatePickerOld/DatePickerOld.js.map +1 -1
  81. package/components/DatePickerOld/Picker.js.map +1 -1
  82. package/components/DatePickerOld/README.md +7 -7
  83. package/components/DatePickerOld/dateParser.js.map +1 -1
  84. package/components/DatePickerOld/index.d.ts +1 -1
  85. package/components/DatePickerOld/index.js.map +1 -1
  86. package/components/DateSelect/DateSelect.js.flow +30 -30
  87. package/components/DateSelect/index.js.flow +2 -2
  88. package/components/Dropdown/Dropdown.js.flow +41 -41
  89. package/components/Dropdown/README.md +14 -14
  90. package/components/Dropdown/index.js.flow +2 -2
  91. package/components/DropdownContainer/DropdownContainer.js.flow +29 -29
  92. package/components/DropdownMenu/DropdownMenu.js.flow +20 -20
  93. package/components/DropdownMenu/README.md +66 -66
  94. package/components/DropdownMenu/index.js.flow +2 -2
  95. package/components/Fias/Fias.js.flow +37 -37
  96. package/components/Fias/FiasModal.js.flow +12 -12
  97. package/components/Fias/FiasSearch/FiasSearch.js.flow +32 -32
  98. package/components/Fias/FiasSearch/README.md +78 -78
  99. package/components/Fias/Form/FiasComboBox.js.flow +25 -25
  100. package/components/Fias/Form/FiasForm.js.flow +21 -21
  101. package/components/Fias/README.md +436 -436
  102. package/components/Fias/api/APIResultFactory.js.flow +7 -7
  103. package/components/Fias/api/FiasAPI.js.flow +13 -13
  104. package/components/Fias/api/MockAPI.js.flow +13 -13
  105. package/components/Fias/api/data.json +285 -285
  106. package/components/Fias/constants/abbreviations.js.flow +7 -7
  107. package/components/Fias/index.js.flow +5 -5
  108. package/components/Fias/locale/types.js.flow +71 -71
  109. package/components/Fias/logger/Logger.js.flow +13 -13
  110. package/components/Fias/models/Address.js.flow +57 -57
  111. package/components/Fias/models/AddressElement.js.flow +15 -15
  112. package/components/Fias/models/FiasData.js.flow +10 -10
  113. package/components/Fias/types.js.flow +133 -133
  114. package/components/FxInput/FxInput.adapter.js.flow +4 -4
  115. package/components/FxInput/FxInput.js.flow +24 -24
  116. package/components/FxInput/README.md +13 -13
  117. package/components/FxInput/index.js.flow +2 -2
  118. package/components/Gapped/Gapped.js.flow +13 -13
  119. package/components/Gapped/README.md +6 -6
  120. package/components/Gapped/index.js.flow +2 -2
  121. package/components/Group/Group.js.flow +14 -14
  122. package/components/Group/README.md +27 -27
  123. package/components/Group/index.js.flow +2 -2
  124. package/components/HideBodyVerticalScroll/HideBodyVerticalScroll.js.flow +7 -7
  125. package/components/HideBodyVerticalScroll/index.js.flow +2 -2
  126. package/components/Hint/Hint.js.flow +37 -37
  127. package/components/Hint/README.md +3 -3
  128. package/components/Hint/index.js.flow +2 -2
  129. package/components/Icon/20px/Icon.js.flow +27 -27
  130. package/components/Icon/20px/index.js.flow +2 -2
  131. package/components/Icon/README.md +64 -64
  132. package/components/IgnoreLayerClick/IgnoreLayerClick.js.flow +12 -12
  133. package/components/IgnoreLayerClick/index.js.flow +2 -2
  134. package/components/Input/Input.adapter.js.flow +9 -9
  135. package/components/Input/Input.js.flow +55 -55
  136. package/components/Input/README.md +13 -13
  137. package/components/Input/index.js.flow +2 -2
  138. package/components/Kebab/Kebab.js.flow +23 -23
  139. package/components/Kebab/README.md +44 -44
  140. package/components/Kebab/index.js.flow +2 -2
  141. package/components/Kladr/AddressModal.d.ts +39 -39
  142. package/components/Kladr/AddressModal.js.flow +20 -20
  143. package/components/Kladr/AddressModal.js.map +1 -1
  144. package/components/Kladr/Kladr.d.ts +39 -39
  145. package/components/Kladr/Kladr.js +2 -2
  146. package/components/Kladr/Kladr.js.flow +27 -27
  147. package/components/Kladr/Kladr.js.map +1 -1
  148. package/components/Kladr/KladrAPI.d.ts +8 -8
  149. package/components/Kladr/KladrAPI.js.flow +8 -8
  150. package/components/Kladr/KladrAPI.js.map +1 -1
  151. package/components/Kladr/README.md +3 -3
  152. package/components/Kladr/Types.d.ts +40 -40
  153. package/components/Kladr/Types.js.flow +39 -39
  154. package/components/Kladr/index.d.ts +1 -1
  155. package/components/Kladr/index.js.flow +2 -2
  156. package/components/Kladr/index.js.map +1 -1
  157. package/components/Kladr/util.js.map +1 -1
  158. package/components/Kladr/utils.d.ts +4 -4
  159. package/components/Kladr/utils.js.flow +4 -4
  160. package/components/Link/Link.adapter.js.flow +4 -4
  161. package/components/Link/Link.js.flow +25 -25
  162. package/components/Link/README.md +11 -11
  163. package/components/Link/index.js.flow +2 -2
  164. package/components/Loader/Loader.js.flow +20 -20
  165. package/components/Loader/README.md +25 -25
  166. package/components/Loader/index.js.flow +2 -2
  167. package/components/Logotype/Logotype.js.flow +21 -21
  168. package/components/Logotype/ProductWidget.js.flow +7 -7
  169. package/components/Logotype/README.md +32 -32
  170. package/components/Logotype/index.js.flow +2 -2
  171. package/components/Menu/Menu.js.flow +24 -24
  172. package/components/Menu/isActiveElement.js.flow +7 -7
  173. package/components/MenuHeader/MenuHeader.js.flow +11 -11
  174. package/components/MenuHeader/index.js.flow +2 -2
  175. package/components/MenuItem/MenuItem.js.flow +33 -33
  176. package/components/MenuItem/README.md +5 -5
  177. package/components/MenuItem/index.js.flow +2 -2
  178. package/components/MenuSeparator/MenuSeparator.js.flow +7 -7
  179. package/components/MenuSeparator/index.js.flow +2 -2
  180. package/components/Modal/Modal.adapter.js.flow +4 -4
  181. package/components/Modal/Modal.js.flow +30 -30
  182. package/components/Modal/Modal.js.map +1 -1
  183. package/components/Modal/ModalBody.js.flow +7 -7
  184. package/components/Modal/ModalClose.js.flow +6 -6
  185. package/components/Modal/ModalContext.js.flow +15 -15
  186. package/components/Modal/ModalFooter.js.flow +11 -11
  187. package/components/Modal/ModalHeader.js.flow +11 -11
  188. package/components/Modal/README.md +38 -38
  189. package/components/Modal/index.js.flow +2 -2
  190. package/components/ModalStack/ModalStack.d.ts +4 -2
  191. package/components/ModalStack/ModalStack.js +13 -2
  192. package/components/ModalStack/ModalStack.js.flow +10 -10
  193. package/components/ModalStack/ModalStack.js.map +1 -1
  194. package/components/ModalStack/index.js.flow +2 -2
  195. package/components/Paging/NavigationHelper.js.flow +13 -13
  196. package/components/Paging/Paging.js.flow +38 -38
  197. package/components/Paging/PagingHelper.js.flow +10 -10
  198. package/components/Paging/README.md +43 -43
  199. package/components/Paging/index.js.flow +2 -2
  200. package/components/PasswordInput/PasswordInput.js.flow +26 -26
  201. package/components/PasswordInput/PasswordInputFallback.js.flow +13 -13
  202. package/components/PasswordInput/getCharHelper.js.flow +4 -4
  203. package/components/PasswordInput/index.js.flow +2 -2
  204. package/components/PhoneInput/PhoneInput.js +2 -2
  205. package/components/PhoneInput/PhoneInput.js.map +1 -1
  206. package/components/PhoneInput/index.js.map +1 -1
  207. package/components/Popup/Popup.js.flow +60 -60
  208. package/components/Popup/PopupHelper.js.flow +29 -29
  209. package/components/Popup/PopupPin.js.flow +15 -15
  210. package/components/Popup/index.js.flow +2 -2
  211. package/components/Radio/README.md +14 -14
  212. package/components/Radio/Radio.js.flow +33 -33
  213. package/components/Radio/index.js.flow +2 -2
  214. package/components/RadioGroup/Prevent.js.flow +9 -9
  215. package/components/RadioGroup/README.md +44 -44
  216. package/components/RadioGroup/RadioGroup.adapter.js.flow +4 -4
  217. package/components/RadioGroup/RadioGroup.js +1 -1
  218. package/components/RadioGroup/RadioGroup.js.flow +42 -42
  219. package/components/RadioGroup/RadioGroup.js.map +1 -1
  220. package/components/RadioGroup/index.js.flow +2 -2
  221. package/components/RenderContainer/RenderContainer.js.flow +11 -11
  222. package/components/RenderContainer/index.js.flow +2 -2
  223. package/components/RenderLayer/RenderLayer.js.flow +12 -12
  224. package/components/RenderLayer/index.js.flow +2 -2
  225. package/components/ScrollContainer/README.md +60 -60
  226. package/components/ScrollContainer/ScrollContainer.js.flow +24 -24
  227. package/components/ScrollContainer/index.js.flow +2 -2
  228. package/components/Select/Item.js.flow +7 -7
  229. package/components/Select/README.md +23 -23
  230. package/components/Select/Select.adapter.js.flow +4 -4
  231. package/components/Select/Select.js.flow +81 -81
  232. package/components/Select/index.js.flow +2 -2
  233. package/components/SidePage/README.md +46 -46
  234. package/components/SidePage/SidePage.js.flow +34 -34
  235. package/components/SidePage/SidePage.js.map +1 -1
  236. package/components/SidePage/SidePageBody.js.flow +13 -13
  237. package/components/SidePage/SidePageContainer.js.flow +9 -9
  238. package/components/SidePage/SidePageContext.js.flow +15 -15
  239. package/components/SidePage/SidePageFooter.js.flow +16 -16
  240. package/components/SidePage/SidePageHeader.js.flow +11 -11
  241. package/components/SidePage/index.js.flow +2 -2
  242. package/components/Spinner/README.md +33 -33
  243. package/components/Spinner/Spinner.js.flow +20 -20
  244. package/components/Spinner/SpinnerFallback.js.flow +15 -15
  245. package/components/Spinner/index.js.flow +2 -2
  246. package/components/Spinner/settings.js.flow +48 -48
  247. package/components/Sticky/README.md +27 -27
  248. package/components/Sticky/Sticky.js.flow +22 -22
  249. package/components/Sticky/index.js.flow +2 -2
  250. package/components/Switcher/README.md +10 -10
  251. package/components/Switcher/Switcher.js.flow +26 -26
  252. package/components/Switcher/index.js.flow +2 -2
  253. package/components/Tabs/Indicator.js.flow +21 -21
  254. package/components/Tabs/README.md +28 -28
  255. package/components/Tabs/Tab.js.flow +48 -48
  256. package/components/Tabs/Tabs.js.flow +28 -28
  257. package/components/Tabs/index.js.flow +2 -2
  258. package/components/Textarea/README.md +9 -9
  259. package/components/Textarea/Textarea.adapter.js.flow +11 -11
  260. package/components/Textarea/Textarea.js.flow +33 -33
  261. package/components/Textarea/TextareaHelpers.js.flow +6 -6
  262. package/components/Textarea/index.js.flow +2 -2
  263. package/components/ThemeProvider/Playground/README.md +7 -7
  264. package/components/ThemeProvider/README.md +172 -172
  265. package/components/ThemeShowcase/README.md +13 -13
  266. package/components/Toast/README.md +39 -39
  267. package/components/Toast/Toast.js.flow +29 -29
  268. package/components/Toast/ToastStatic.js.flow +10 -10
  269. package/components/Toast/ToastView.js.flow +16 -16
  270. package/components/Toast/index.js.flow +2 -2
  271. package/components/Toggle/README.md +9 -9
  272. package/components/Toggle/Toggle.js.flow +28 -28
  273. package/components/Toggle/index.js.flow +2 -2
  274. package/components/Token/README.md +109 -109
  275. package/components/Token/Token.js.flow +25 -25
  276. package/components/Token/TokenRemoveIcon.js.flow +11 -11
  277. package/components/Token/index.js.flow +2 -2
  278. package/components/TokenInput/README.md +82 -82
  279. package/components/TokenInput/TextWidthHelper.js.flow +10 -10
  280. package/components/TokenInput/TokenInput.js.flow +39 -39
  281. package/components/TokenInput/TokenInputMenu.js.flow +17 -17
  282. package/components/TokenInput/TokenInputReducer.js.flow +63 -63
  283. package/components/TokenInput/index.js.flow +2 -2
  284. package/components/Tooltip/README.md +207 -207
  285. package/components/Tooltip/Tooltip.js.flow +33 -33
  286. package/components/Tooltip/index.js.flow +2 -2
  287. package/components/TooltipMenu/README.md +106 -106
  288. package/components/TooltipMenu/TooltipMenu.js.flow +19 -19
  289. package/components/TooltipMenu/index.js.flow +2 -2
  290. package/components/TopBar/ButtonItem.js.flow +22 -22
  291. package/components/TopBar/Divider.js.flow +5 -5
  292. package/components/TopBar/Item.js.flow +19 -19
  293. package/components/TopBar/Organizations.js.flow +16 -16
  294. package/components/TopBar/README.md +112 -112
  295. package/components/TopBar/TopBar.js.flow +53 -53
  296. package/components/TopBar/TopBarDropdown.js.flow +23 -23
  297. package/components/TopBar/TopBarEnd.js.flow +4 -4
  298. package/components/TopBar/TopBarLogout.js.flow +6 -6
  299. package/components/TopBar/TopBarStart.js.flow +4 -4
  300. package/components/TopBar/User.js.flow +9 -9
  301. package/components/TopBar/index.js.flow +2 -2
  302. package/components/ZIndex/ZIndex.js.flow +11 -11
  303. package/components/ZIndex/index.js.flow +2 -2
  304. package/components/__mocks__/react-addons-css-transition-group.js.map +1 -1
  305. package/components/all.js.flow +36 -36
  306. package/components/ensureOldIEClassName.js.flow +6 -6
  307. package/components/eventHandlers.js.flow +9 -9
  308. package/components/index.js.flow +2 -2
  309. package/components/internal/InputLikeText/InputLikeText.js.flow +24 -24
  310. package/components/internal/InputLikeText/index.js.flow +2 -2
  311. package/components/internal/InternalMenu/InternalMenu.js.flow +23 -23
  312. package/components/internal/InternalMenu/isActiveElement.js.flow +7 -7
  313. package/components/internal/MaskedInput/MaskedInput.js.flow +24 -24
  314. package/components/internal/MaskedInput/index.js.flow +2 -2
  315. package/components/internal/MockDate.js.flow +9 -9
  316. package/components/internal/PopupMenu/PopupMenu.js.flow +40 -40
  317. package/components/internal/PopupMenu/PopupMenuPositions.js.flow +4 -4
  318. package/components/internal/PopupMenu/index.js.flow +2 -2
  319. package/components/internal/PopupMenu/validatePositions.js.flow +4 -4
  320. package/components/internal/ResizeDetector/ResizeDetector.js.flow +8 -8
  321. package/components/internal/ResizeDetector/index.js.flow +2 -2
  322. package/components/internal/createPropsGetter.js.flow +8 -8
  323. package/components/internal/cross.js.flow +4 -4
  324. package/components/internal/currentEnvironment.js.flow +4 -4
  325. package/components/internal/extractKeyboardAction.js.flow +12 -12
  326. package/components/polyfillPlaceholder.js.flow +4 -4
  327. package/package.json +1 -4
  328. package/typings/console.d.ts +3 -3
  329. package/typings/event-types.d.ts +4 -4
  330. package/typings/fbjs.d.ts +4 -4
  331. package/typings/global.d.ts +6 -6
  332. package/typings/images.d.ts +1 -1
  333. package/typings/less.d.ts +4 -4
  334. package/typings/mocha/index.d.ts +2 -2
  335. package/typings/mockdate.d.ts +1 -1
  336. package/typings/normalize-wheel.d.ts +1 -1
  337. package/typings/raf.d.ts +1 -1
  338. package/typings/react-addons-css-transition-group.d.ts +1 -1
  339. package/typings/react-testing/index.d.ts +4 -4
  340. package/typings/react-testing/window.d.ts +5 -5
  341. package/typings/react.d.ts +8 -8
  342. package/typings/utility-types.d.ts +17 -17
package/README.md CHANGED
@@ -1,135 +1,135 @@
1
- # React UI
2
-
3
- [![Build Status](https://tc.skbkontur.ru/app/rest/builds/buildType:FrontendInfrastructure_Packages_RunAll/statusIcon)](https://tc.skbkontur.ru/project.html?projectId=FrontendInfrastructure_Packages_ReactUI&tab=projectOverview)
4
-
5
- - [Варианты использования](#Варианты-использования)
6
- - [Квик-старт](#Квик-старт) **@skbkontur/react-ui** собранная версия библиотеки
7
- - [Слоу-старт](#Слоу-старт) **retail-ui** исходники для самостоятельной сборки, для переопределения `.less`-переменных
8
- - [FAQ](#FAQ)
9
-
10
- ## <a name="Варианты-использования"></a>Варианты использования
11
-
12
- ### <a name="Квик-старт"></a>Квик-старт
13
-
14
- ```bash
15
- yarn add @skbkontur/react-ui
16
- ```
17
-
18
- И используем компонентики у себя в проекте:
19
-
20
- ```jsx static
21
- import Button from '@skbkontur/react-ui/Button';
22
- import Toast from '@skbkontur/react-ui/Toast';
23
-
24
- const MyApp = () => (
25
- <div>
26
- Click this button <Button onClick={() => Toast.push('Hey!')}>Click me</Button>
27
- </div>
28
- );
29
- ```
30
-
31
- Если ругается, что `regeneratorRuntime` не определен, то необходимо подключить `regenerator-runtime` или `@babel/polyfill`, например в `index.html`
32
-
33
- Квик-старт подойдёт, если Вебпак настроен на сборку. Например, вы используете `create-react-app`. В противном случае добавьте в конфиг Вебпака `style-`, `css-` и `file-loader`
34
-
35
- ### <a name="Слоу-старт"></a>Слоу-старт
36
-
37
- ```bash
38
- yarn add retail-ui
39
- ```
40
-
41
- Необходимо установить как зависимости и добавить в [конфиг Вебпака](https://webpack.js.org/configuration/) следующие лоадеры:
42
-
43
- ```js static
44
- module: {
45
- rules: [
46
- {
47
- test: /\.jsx?$/,
48
- use: [
49
- {
50
- loader: 'babel-loader',
51
- options: {
52
- presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-flow'],
53
- plugins: ['@babel/plugin-proposal-class-properties', '@babel/plugin-proposal-object-rest-spread'],
54
- },
55
- },
56
- ],
57
- include: /retail-ui/,
58
- },
59
- {
60
- test: /\.less$/,
61
- use: [
62
- 'style-loader',
63
- {
64
- loader: 'css-loader',
65
- options: { modules: 'global' },
66
- },
67
- 'less-loader',
68
- ],
69
- },
70
- {
71
- test: /\.(png|woff|woff2|eot)$/,
72
- use: ['file-loader'],
73
- },
74
- ];
75
- }
76
- ```
77
-
78
- ### Хотим другой цвет кнопки!
79
-
80
- Тут придется юзать слоу-старт. В конфиге нужно указать:
81
-
82
- ```js static
83
- resolve: {
84
- alias: {
85
- 'react-ui-theme': path.join(__dirname, 'path-to-my-theme-variables.less')
86
- }
87
- }
88
- ```
89
-
90
- Список переменных можно глянуть в `components/variables.less`
91
-
92
- ### Глобальные css-стили приложения портят внешний вид контролов
93
-
94
- Если библиотека используется в проекте с легаси, где стилизация сделана прямо по названиям тегов, то внешний вид контролов из библиотеки может сильно испортиться
95
-
96
- Если нет возможности разобрать легаси, то можно увеличить специфичность селекторов в библиотеке, тогда стили контролов будут приоритетнее стилей из легаси проекта
97
-
98
- Специфичность достигается за счет n-кратного повторения css-класса `react-ui` в селекторе стилей. Количество повторений задается через переменную `@specificity-level`, значение по умолчанию равно нулю, то есть по умолчанию css-класс `react-ui` никак ни на что не будет влиять
99
-
100
- Чтобы специфичность заработала в легаси проекте, react-блок, в котором используются компоненты из библиотеки, должен быть обернут в тег с css-классом `react-ui`
101
-
102
- Пример настройки специфичности
103
-
104
- ```less
105
- /* ... */
106
- @specificity-level: 5;
107
- /* ... */
108
- ```
109
-
110
- ## <a name="FAQ"></a>FAQ
111
-
112
- ### Сломались стили при использовании css-loader 2.x (create-react-app/CRA 3.x)
113
-
114
- Во [2-й версии](https://github.com/webpack-contrib/css-loader/releases/tag/v2.0.0), `css-loader` отключили использование `css-modules` по умолчанию.
115
- **Решение**: В опциях к `css-loader` явно задать `modules: 'global'`.
116
-
117
- ### Как использовать retail-ui с storybook 5.x?
118
-
119
- В 5-й версии изменилось [API сторибука для кастомизации настроек webpack](https://github.com/storybooks/storybook/blob/v5.0.0/MIGRATION.md#webpack-config-simplifcation).
120
- Кроме того был изменен дефолтный webpack конфиг. Это порождает проблемы вида [storybooks/storybook#4891](https://github.com/storybooks/storybook/issues/4891).
121
- **Решение**: Заменить лоадеры для `css/less`. Например [так](https://github.com/storybooks/storybook/issues/6319#issuecomment-477852640) на свои
122
-
123
- ### Возникает ошибка `Error: Can't resolve 'mask-char-font/font.eot'`
124
-
125
- Ошибка проявляется при использовании `css-loader@1.x` с выставленой опцией `modules`.
126
- **Решение**: Обновить `css-loader` до 2-й версии или дополнительно указать опцию `url: false`
127
-
128
- ### Не могу прокинуть css-класс компонентам. Как кастомизировать?
129
-
130
- Никак.
131
-
132
- ### Помощь в развитии
133
-
134
- Мы рады любой сторонней помощи. Не стесняйтесь писать в [issues](https://github.com/skbkontur/retail-ui/issues)
135
- баги и идеи для развития библиотеки.<br />
1
+ # React UI
2
+
3
+ [![Build Status](https://tc.skbkontur.ru/app/rest/builds/buildType:FrontendInfrastructure_Packages_RunAll/statusIcon)](https://tc.skbkontur.ru/project.html?projectId=FrontendInfrastructure_Packages_ReactUI&tab=projectOverview)
4
+
5
+ - [Варианты использования](#Варианты-использования)
6
+ - [Квик-старт](#Квик-старт) **@skbkontur/react-ui** собранная версия библиотеки
7
+ - [Слоу-старт](#Слоу-старт) **retail-ui** исходники для самостоятельной сборки, для переопределения `.less`-переменных
8
+ - [FAQ](#FAQ)
9
+
10
+ ## <a name="Варианты-использования"></a>Варианты использования
11
+
12
+ ### <a name="Квик-старт"></a>Квик-старт
13
+
14
+ ```bash
15
+ yarn add @skbkontur/react-ui
16
+ ```
17
+
18
+ И используем компонентики у себя в проекте:
19
+
20
+ ```jsx static
21
+ import Button from '@skbkontur/react-ui/Button';
22
+ import Toast from '@skbkontur/react-ui/Toast';
23
+
24
+ const MyApp = () => (
25
+ <div>
26
+ Click this button <Button onClick={() => Toast.push('Hey!')}>Click me</Button>
27
+ </div>
28
+ );
29
+ ```
30
+
31
+ Если ругается, что `regeneratorRuntime` не определен, то необходимо подключить `regenerator-runtime` или `@babel/polyfill`, например в `index.html`
32
+
33
+ Квик-старт подойдёт, если Вебпак настроен на сборку. Например, вы используете `create-react-app`. В противном случае добавьте в конфиг Вебпака `style-`, `css-` и `file-loader`
34
+
35
+ ### <a name="Слоу-старт"></a>Слоу-старт
36
+
37
+ ```bash
38
+ yarn add retail-ui
39
+ ```
40
+
41
+ Необходимо установить как зависимости и добавить в [конфиг Вебпака](https://webpack.js.org/configuration/) следующие лоадеры:
42
+
43
+ ```js static
44
+ module: {
45
+ rules: [
46
+ {
47
+ test: /\.jsx?$/,
48
+ use: [
49
+ {
50
+ loader: 'babel-loader',
51
+ options: {
52
+ presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-flow'],
53
+ plugins: ['@babel/plugin-proposal-class-properties', '@babel/plugin-proposal-object-rest-spread'],
54
+ },
55
+ },
56
+ ],
57
+ include: /retail-ui/,
58
+ },
59
+ {
60
+ test: /\.less$/,
61
+ use: [
62
+ 'style-loader',
63
+ {
64
+ loader: 'css-loader',
65
+ options: { modules: 'global' },
66
+ },
67
+ 'less-loader',
68
+ ],
69
+ },
70
+ {
71
+ test: /\.(png|woff|woff2|eot)$/,
72
+ use: ['file-loader'],
73
+ },
74
+ ];
75
+ }
76
+ ```
77
+
78
+ ### Хотим другой цвет кнопки!
79
+
80
+ Тут придется юзать слоу-старт. В конфиге нужно указать:
81
+
82
+ ```js static
83
+ resolve: {
84
+ alias: {
85
+ 'react-ui-theme': path.join(__dirname, 'path-to-my-theme-variables.less')
86
+ }
87
+ }
88
+ ```
89
+
90
+ Список переменных можно глянуть в `components/variables.less`
91
+
92
+ ### Глобальные css-стили приложения портят внешний вид контролов
93
+
94
+ Если библиотека используется в проекте с легаси, где стилизация сделана прямо по названиям тегов, то внешний вид контролов из библиотеки может сильно испортиться
95
+
96
+ Если нет возможности разобрать легаси, то можно увеличить специфичность селекторов в библиотеке, тогда стили контролов будут приоритетнее стилей из легаси проекта
97
+
98
+ Специфичность достигается за счет n-кратного повторения css-класса `react-ui` в селекторе стилей. Количество повторений задается через переменную `@specificity-level`, значение по умолчанию равно нулю, то есть по умолчанию css-класс `react-ui` никак ни на что не будет влиять
99
+
100
+ Чтобы специфичность заработала в легаси проекте, react-блок, в котором используются компоненты из библиотеки, должен быть обернут в тег с css-классом `react-ui`
101
+
102
+ Пример настройки специфичности
103
+
104
+ ```less
105
+ /* ... */
106
+ @specificity-level: 5;
107
+ /* ... */
108
+ ```
109
+
110
+ ## <a name="FAQ"></a>FAQ
111
+
112
+ ### Сломались стили при использовании css-loader 2.x (create-react-app/CRA 3.x)
113
+
114
+ Во [2-й версии](https://github.com/webpack-contrib/css-loader/releases/tag/v2.0.0), `css-loader` отключили использование `css-modules` по умолчанию.
115
+ **Решение**: В опциях к `css-loader` явно задать `modules: 'global'`.
116
+
117
+ ### Как использовать retail-ui с storybook 5.x?
118
+
119
+ В 5-й версии изменилось [API сторибука для кастомизации настроек webpack](https://github.com/storybooks/storybook/blob/v5.0.0/MIGRATION.md#webpack-config-simplifcation).
120
+ Кроме того был изменен дефолтный webpack конфиг. Это порождает проблемы вида [storybooks/storybook#4891](https://github.com/storybooks/storybook/issues/4891).
121
+ **Решение**: Заменить лоадеры для `css/less`. Например [так](https://github.com/storybooks/storybook/issues/6319#issuecomment-477852640) на свои
122
+
123
+ ### Возникает ошибка `Error: Can't resolve 'mask-char-font/font.eot'`
124
+
125
+ Ошибка проявляется при использовании `css-loader@1.x` с выставленой опцией `modules`.
126
+ **Решение**: Обновить `css-loader` до 2-й версии или дополнительно указать опцию `url: false`
127
+
128
+ ### Не могу прокинуть css-класс компонентам. Как кастомизировать?
129
+
130
+ Никак.
131
+
132
+ ### Помощь в развитии
133
+
134
+ Мы рады любой сторонней помощи. Не стесняйтесь писать в [issues](https://github.com/skbkontur/retail-ui/issues)
135
+ баги и идеи для развития библиотеки.<br />
@@ -1,4 +1,4 @@
1
- /* @flow */
2
- import Autocomplete from './Autocomplete.js';
3
-
4
- export default Autocomplete;
1
+ /* @flow */
2
+ import Autocomplete from './Autocomplete.js';
3
+
4
+ export default Autocomplete;
@@ -1,37 +1,37 @@
1
- /* @flow */
2
- import type { InputProps } from '../Input';
3
-
4
- export type AutocompleteProps = {
5
- ...$Exact<InputProps>,
6
- renderItem?: (item: string) => React$Node,
7
- source?: string[] | ((patter: string) => Promise<string[]>),
8
- disablePortal?: boolean,
9
- hasShadow?: boolean,
10
- menuAlign?: 'left' | 'right',
11
- menuMaxHeight?: number | string,
12
- menuWidth?: number | string,
13
- preventWindowScroll?: boolean,
14
- onChange: (
15
- event: {
16
- target: {
17
- value: string,
18
- },
19
- },
20
- value: string,
21
- ) => void,
22
- onBlur?: () => void,
23
- size?: $PropertyType<InputProps, 'size'>,
24
- value: string,
25
- };
26
-
27
- export type AutocomplpeteState = {|
28
- items: void | null | string[],
29
- selected: number,
30
- |};
31
-
32
- declare class Autocomplete extends React$Component<AutocompleteProps, AutocomplpeteState> {
33
- focus(): void;
34
- blur(): void;
35
- }
36
-
37
- export default Autocomplete;
1
+ /* @flow */
2
+ import type { InputProps } from '../Input';
3
+
4
+ export type AutocompleteProps = {
5
+ ...$Exact<InputProps>,
6
+ renderItem?: (item: string) => React$Node,
7
+ source?: string[] | ((patter: string) => Promise<string[]>),
8
+ disablePortal?: boolean,
9
+ hasShadow?: boolean,
10
+ menuAlign?: 'left' | 'right',
11
+ menuMaxHeight?: number | string,
12
+ menuWidth?: number | string,
13
+ preventWindowScroll?: boolean,
14
+ onChange: (
15
+ event: {
16
+ target: {
17
+ value: string,
18
+ },
19
+ },
20
+ value: string,
21
+ ) => void,
22
+ onBlur?: () => void,
23
+ size?: $PropertyType<InputProps, 'size'>,
24
+ value: string,
25
+ };
26
+
27
+ export type AutocomplpeteState = {|
28
+ items: void | null | string[],
29
+ selected: number,
30
+ |};
31
+
32
+ declare class Autocomplete extends React$Component<AutocompleteProps, AutocomplpeteState> {
33
+ focus(): void;
34
+ blur(): void;
35
+ }
36
+
37
+ export default Autocomplete;
@@ -1,7 +1,7 @@
1
- ```js
2
- let items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
3
-
4
- let initialState = { value: 'Kappa' };
5
-
6
- <Autocomplete source={items} value={state.value} onChange={(_, value) => setState({ value })} />;
7
- ```
1
+ ```js
2
+ let items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
3
+
4
+ let initialState = { value: 'Kappa' };
5
+
6
+ <Autocomplete source={items} value={state.value} onChange={(_, value) => setState({ value })} />;
7
+ ```
@@ -1,2 +1,2 @@
1
- /* @flow */
2
- export { default, AutocompleteProps, AutocomplpeteState } from './Autocomplete';
1
+ /* @flow */
2
+ export { default, AutocompleteProps, AutocomplpeteState } from './Autocomplete';
@@ -1,4 +1,4 @@
1
- /* @flow */
2
- import Button from './Button.js';
3
-
4
- export default Button;
1
+ /* @flow */
2
+ import Button from './Button.js';
3
+
4
+ export default Button;
@@ -1,58 +1,58 @@
1
- /* @flow */
2
- import * as CSS from 'csstype';
3
- import type { FocusEventHandler, MouseEventHandler, KeyboardEventHandler } from '../eventHandlers';
4
-
5
- export type ButtonSize = 'small' | 'medium' | 'large';
6
- export type ButtonType = 'button' | 'submit' | 'reset';
7
- export type ButtonArrow = boolean | 'left';
8
- export type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';
9
-
10
- export type ButtonProps = {|
11
- _noPadding?: boolean,
12
- _noRightPadding?: boolean,
13
- active?: boolean,
14
- align?: CSS.TextAlignProperty,
15
- arrow?: ButtonArrow,
16
- autoFocus?: boolean,
17
- borderless?: boolean,
18
- checked?: boolean,
19
- children?: React$Node,
20
- corners?: number,
21
- disabled?: boolean,
22
- disableFocus?: boolean,
23
- error?: boolean,
24
- focused?: boolean,
25
- // eslint-disable-next-line flowtype/no-weak-types
26
- icon?: React$Element<any>,
27
- loading?: boolean,
28
- narrow?: boolean,
29
- onBlur?: FocusEventHandler<HTMLButtonElement>,
30
- onClick?: MouseEventHandler<HTMLButtonElement>,
31
- onFocus?: FocusEventHandler<HTMLButtonElement>,
32
- onKeyDown?: KeyboardEventHandler<HTMLButtonElement>,
33
- onMouseEnter?: MouseEventHandler<HTMLButtonElement>,
34
- onMouseLeave?: MouseEventHandler<HTMLButtonElement>,
35
- onMouseOver?: MouseEventHandler<HTMLButtonElement>,
36
- size?: ButtonSize,
37
- type?: ButtonType,
38
- use?: ButtonUse,
39
- visuallyFocused?: boolean,
40
- warning?: boolean,
41
- width?: number | string,
42
- |};
43
-
44
- export type ButtonState = {|
45
- focusedByTab: boolean,
46
- |};
47
-
48
- declare class Button extends React$Component<ButtonProps, ButtonState> {
49
- static TOP_LEFT: number;
50
- static TOP_RIGHT: number;
51
- static BOTTOM_RIGHT: number;
52
- static BOTTOM_LEFT: number;
53
-
54
- focus(): void;
55
- blur(): void;
56
- }
57
-
58
- export default Button;
1
+ /* @flow */
2
+ import * as CSS from 'csstype';
3
+ import type { FocusEventHandler, MouseEventHandler, KeyboardEventHandler } from '../eventHandlers';
4
+
5
+ export type ButtonSize = 'small' | 'medium' | 'large';
6
+ export type ButtonType = 'button' | 'submit' | 'reset';
7
+ export type ButtonArrow = boolean | 'left';
8
+ export type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';
9
+
10
+ export type ButtonProps = {|
11
+ _noPadding?: boolean,
12
+ _noRightPadding?: boolean,
13
+ active?: boolean,
14
+ align?: CSS.TextAlignProperty,
15
+ arrow?: ButtonArrow,
16
+ autoFocus?: boolean,
17
+ borderless?: boolean,
18
+ checked?: boolean,
19
+ children?: React$Node,
20
+ corners?: number,
21
+ disabled?: boolean,
22
+ disableFocus?: boolean,
23
+ error?: boolean,
24
+ focused?: boolean,
25
+ // eslint-disable-next-line flowtype/no-weak-types
26
+ icon?: React$Element<any>,
27
+ loading?: boolean,
28
+ narrow?: boolean,
29
+ onBlur?: FocusEventHandler<HTMLButtonElement>,
30
+ onClick?: MouseEventHandler<HTMLButtonElement>,
31
+ onFocus?: FocusEventHandler<HTMLButtonElement>,
32
+ onKeyDown?: KeyboardEventHandler<HTMLButtonElement>,
33
+ onMouseEnter?: MouseEventHandler<HTMLButtonElement>,
34
+ onMouseLeave?: MouseEventHandler<HTMLButtonElement>,
35
+ onMouseOver?: MouseEventHandler<HTMLButtonElement>,
36
+ size?: ButtonSize,
37
+ type?: ButtonType,
38
+ use?: ButtonUse,
39
+ visuallyFocused?: boolean,
40
+ warning?: boolean,
41
+ width?: number | string,
42
+ |};
43
+
44
+ export type ButtonState = {|
45
+ focusedByTab: boolean,
46
+ |};
47
+
48
+ declare class Button extends React$Component<ButtonProps, ButtonState> {
49
+ static TOP_LEFT: number;
50
+ static TOP_RIGHT: number;
51
+ static BOTTOM_RIGHT: number;
52
+ static BOTTOM_LEFT: number;
53
+
54
+ focus(): void;
55
+ blur(): void;
56
+ }
57
+
58
+ export default Button;
@@ -1,12 +1,12 @@
1
- /* @flow */
2
-
3
- type Corners = {|
4
- TOP_LEFT: number,
5
- TOP_RIGHT: number,
6
- BOTTOM_RIGHT: number,
7
- BOTTOM_LEFT: number,
8
- |};
9
-
10
- var corners: Corners;
11
-
12
- export default corners;
1
+ /* @flow */
2
+
3
+ type Corners = {|
4
+ TOP_LEFT: number,
5
+ TOP_RIGHT: number,
6
+ BOTTOM_RIGHT: number,
7
+ BOTTOM_LEFT: number,
8
+ |};
9
+
10
+ var corners: Corners;
11
+
12
+ export default corners;