@skbkontur/react-ui 1.6.4 → 1.6.8-fixed-modal-stack

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 (821) hide show
  1. package/README.md +135 -135
  2. package/components/Autocomplete/Autocomplete.adapter.d.ts +2 -2
  3. package/components/Autocomplete/Autocomplete.adapter.js.flow +4 -4
  4. package/components/Autocomplete/Autocomplete.d.ts +108 -108
  5. package/components/Autocomplete/Autocomplete.js +23 -23
  6. package/components/Autocomplete/Autocomplete.js.flow +37 -37
  7. package/components/Autocomplete/README.md +7 -7
  8. package/components/Autocomplete/index.d.ts +1 -1
  9. package/components/Autocomplete/index.js.flow +2 -2
  10. package/components/Button/Button.adapter.d.ts +3 -3
  11. package/components/Button/Button.adapter.js.flow +4 -4
  12. package/components/Button/Button.d.ts +98 -98
  13. package/components/Button/Button.js +4 -4
  14. package/components/Button/Button.js.flow +58 -58
  15. package/components/Button/Button.mixins.d.ts +4 -4
  16. package/components/Button/Button.styles.d.ts +22 -22
  17. package/components/Button/Corners.d.ts +7 -7
  18. package/components/Button/Corners.js.flow +12 -12
  19. package/components/Button/README.md +85 -85
  20. package/components/Button/index.d.ts +1 -1
  21. package/components/Button/index.js.flow +2 -2
  22. package/components/Calendar/Animation.d.ts +6 -6
  23. package/components/Calendar/Animation.js.flow +7 -7
  24. package/components/Calendar/Calendar.d.ts +61 -61
  25. package/components/Calendar/Calendar.js +3 -3
  26. package/components/Calendar/Calendar.js.flow +33 -33
  27. package/components/Calendar/Calendar.styles.d.ts +5 -5
  28. package/components/Calendar/CalendarDateShape.d.ts +14 -14
  29. package/components/Calendar/CalendarDateShape.js.flow +26 -26
  30. package/components/Calendar/CalendarScrollEvents.d.ts +9 -9
  31. package/components/Calendar/CalendarScrollEvents.js.flow +15 -15
  32. package/components/Calendar/CalendarUtils.d.ts +18 -18
  33. package/components/Calendar/CalendarUtils.js.flow +35 -35
  34. package/components/Calendar/DayCellView.d.ts +19 -19
  35. package/components/Calendar/DayCellView.js.flow +16 -16
  36. package/components/Calendar/DayCellView.styles.d.ts +8 -8
  37. package/components/Calendar/DayCellViewModel.d.ts +8 -8
  38. package/components/Calendar/DayCellViewModel.js.flow +9 -9
  39. package/components/Calendar/Month.d.ts +31 -31
  40. package/components/Calendar/Month.js.flow +23 -23
  41. package/components/Calendar/MonthView.d.ts +25 -25
  42. package/components/Calendar/MonthView.js.flow +24 -24
  43. package/components/Calendar/MonthView.styles.d.ts +6 -6
  44. package/components/Calendar/MonthViewModel.d.ts +13 -13
  45. package/components/Calendar/MonthViewModel.js.flow +16 -16
  46. package/components/Calendar/config.d.ts +25 -25
  47. package/components/Calendar/config.js +11 -11
  48. package/components/Calendar/config.js.flow +11 -11
  49. package/components/Calendar/index.d.ts +1 -1
  50. package/components/Calendar/index.js.flow +2 -2
  51. package/components/Calendar/presets.d.ts +19 -19
  52. package/components/Calendar/presets.js.flow +21 -21
  53. package/components/Calendar/stepper.d.ts +1 -1
  54. package/components/Calendar/stepper.js.flow +2 -2
  55. package/components/Calendar/utils.d.ts +1 -1
  56. package/components/Calendar/utils.js.flow +2 -2
  57. package/components/Center/Center.d.ts +26 -26
  58. package/components/Center/Center.js +3 -3
  59. package/components/Center/Center.js.flow +15 -15
  60. package/components/Center/README.md +5 -5
  61. package/components/Center/index.d.ts +1 -1
  62. package/components/Center/index.js.flow +2 -2
  63. package/components/Checkbox/Checkbox.adapter.d.ts +2 -2
  64. package/components/Checkbox/Checkbox.adapter.js.flow +4 -4
  65. package/components/Checkbox/Checkbox.d.ts +76 -76
  66. package/components/Checkbox/Checkbox.js +12 -12
  67. package/components/Checkbox/Checkbox.js.flow +27 -27
  68. package/components/Checkbox/Checkbox.styles.d.ts +21 -21
  69. package/components/Checkbox/README.md +61 -61
  70. package/components/Checkbox/index.d.ts +1 -1
  71. package/components/Checkbox/index.js.flow +2 -2
  72. package/components/ComboBox/ComboBox.d.ts +177 -177
  73. package/components/ComboBox/ComboBox.js +20 -20
  74. package/components/ComboBox/ComboBox.js.flow +58 -58
  75. package/components/ComboBox/README.md +423 -423
  76. package/components/ComboBox/__mocks__/getCities.js.map +1 -1
  77. package/components/ComboBox/__mocks__/kladr.json +20002 -20002
  78. package/components/ComboBox/index.d.ts +1 -1
  79. package/components/ComboBox/index.js.flow +2 -2
  80. package/components/ComboBoxOld/ComboBoxOld.adapter.js +1 -1
  81. package/components/ComboBoxOld/ComboBoxOld.adapter.js.map +1 -1
  82. package/components/ComboBoxOld/ComboBoxOld.d.ts +120 -120
  83. package/components/ComboBoxOld/ComboBoxOld.js +47 -47
  84. package/components/ComboBoxOld/ComboBoxOld.js.map +1 -1
  85. package/components/ComboBoxOld/ComboBoxRenderer.js +1 -1
  86. package/components/ComboBoxOld/ComboBoxRenderer.js.map +1 -1
  87. package/components/ComboBoxOld/README.md +83 -83
  88. package/components/ComboBoxOld/index.d.ts +1 -1
  89. package/components/ComboBoxOld/index.js.map +1 -1
  90. package/components/CurrencyInput/CurrencyHelper.d.ts +38 -38
  91. package/components/CurrencyInput/CurrencyHelper.js.flow +44 -44
  92. package/components/CurrencyInput/CurrencyInput.d.ts +98 -98
  93. package/components/CurrencyInput/CurrencyInput.js +11 -11
  94. package/components/CurrencyInput/CurrencyInput.js.flow +30 -30
  95. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  96. package/components/CurrencyInput/CurrencyInputHelper.js.flow +38 -38
  97. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  98. package/components/CurrencyInput/CurrencyInputKeyboardActions.js.flow +19 -19
  99. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  100. package/components/CurrencyInput/CursorHelper.js.flow +15 -15
  101. package/components/CurrencyInput/README.md +19 -19
  102. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  103. package/components/CurrencyInput/SelectionHelper.js.flow +16 -16
  104. package/components/CurrencyInput/constants.d.ts +2 -2
  105. package/components/CurrencyInput/index.d.ts +1 -1
  106. package/components/CurrencyInput/index.js.flow +2 -2
  107. package/components/CurrencyLabel/CurrencyLabel.d.ts +23 -23
  108. package/components/CurrencyLabel/CurrencyLabel.js.flow +10 -10
  109. package/components/CurrencyLabel/README.md +23 -23
  110. package/components/CurrencyLabel/index.d.ts +1 -1
  111. package/components/CurrencyLabel/index.js.flow +2 -2
  112. package/components/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  113. package/components/CustomComboBox/ComboBoxMenu.js.flow +22 -22
  114. package/components/CustomComboBox/ComboBoxView.d.ts +76 -76
  115. package/components/CustomComboBox/ComboBoxView.js.flow +52 -52
  116. package/components/CustomComboBox/CustomComboBox.d.ts +129 -129
  117. package/components/CustomComboBox/CustomComboBox.js +16 -16
  118. package/components/CustomComboBox/CustomComboBox.js.flow +130 -130
  119. package/components/CustomComboBox/CustomComboBoxReducer.d.ts +73 -73
  120. package/components/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  121. package/components/CustomComboBox/index.d.ts +1 -1
  122. package/components/CustomComboBox/index.js.flow +2 -2
  123. package/components/CustomComboBox/locale/index.d.ts +4 -4
  124. package/components/CustomComboBox/locale/locales/en.d.ts +3 -3
  125. package/components/CustomComboBox/locale/locales/ru.d.ts +3 -3
  126. package/components/CustomComboBox/locale/types.d.ts +5 -5
  127. package/components/DateInput/DateFragmentsView.d.ts +17 -17
  128. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  129. package/components/DateInput/DateInput.d.ts +107 -107
  130. package/components/DateInput/DateInput.js.flow +60 -60
  131. package/components/DateInput/DateInput.styles.d.ts +9 -9
  132. package/components/DateInput/README.md +104 -104
  133. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  134. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  135. package/components/DateInput/helpers/DateInputKeyboardActions.js.flow +17 -17
  136. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  137. package/components/DateInput/helpers/SelectionHelpers.js.flow +3 -3
  138. package/components/DateInput/helpers/inputNumber.d.ts +2 -2
  139. package/components/DateInput/helpers/inputNumber.js.flow +4 -4
  140. package/components/DateInput/index.d.ts +1 -1
  141. package/components/DateInput/index.js.flow +2 -2
  142. package/components/DatePicker/DatePicker.d.ts +116 -116
  143. package/components/DatePicker/DatePicker.js +15 -15
  144. package/components/DatePicker/DatePicker.js.flow +45 -45
  145. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  146. package/components/DatePicker/DatePickerHelpers.js.flow +7 -7
  147. package/components/DatePicker/DateShape.js.flow +11 -11
  148. package/components/DatePicker/Picker.d.ts +32 -32
  149. package/components/DatePicker/Picker.js.flow +23 -23
  150. package/components/DatePicker/Picker.styles.d.ts +6 -6
  151. package/components/DatePicker/README.md +307 -307
  152. package/components/DatePicker/index.d.ts +1 -1
  153. package/components/DatePicker/index.js.flow +2 -2
  154. package/components/DatePicker/locale/index.d.ts +5 -5
  155. package/components/DatePicker/locale/locales/en.d.ts +3 -3
  156. package/components/DatePicker/locale/locales/ru.d.ts +3 -3
  157. package/components/DatePicker/locale/types.d.ts +5 -5
  158. package/components/DatePickerOld/Calendar.js +1 -1
  159. package/components/DatePickerOld/Calendar.js.map +1 -1
  160. package/components/DatePickerOld/Calendar.module.css +0 -0
  161. package/components/DatePickerOld/CalendarCell.js +0 -0
  162. package/components/DatePickerOld/CalendarCell.js.map +1 -1
  163. package/components/DatePickerOld/DateInput.js +3 -3
  164. package/components/DatePickerOld/DateInput.js.map +1 -1
  165. package/components/DatePickerOld/DatePicker.adapter.js +0 -0
  166. package/components/DatePickerOld/DatePicker.adapter.js.map +1 -1
  167. package/components/DatePickerOld/DatePickerOld.d.ts +35 -35
  168. package/components/DatePickerOld/DatePickerOld.js +17 -17
  169. package/components/DatePickerOld/DatePickerOld.js.map +1 -1
  170. package/components/DatePickerOld/Picker.js +1 -1
  171. package/components/DatePickerOld/Picker.js.map +1 -1
  172. package/components/DatePickerOld/Picker.module.css +0 -0
  173. package/components/DatePickerOld/README.md +7 -7
  174. package/components/DatePickerOld/dateParser.js +0 -0
  175. package/components/DatePickerOld/dateParser.js.map +1 -1
  176. package/components/DatePickerOld/index.d.ts +1 -1
  177. package/components/DatePickerOld/index.js +0 -0
  178. package/components/DatePickerOld/index.js.map +1 -1
  179. package/components/DateSelect/DateSelect.d.ts +89 -89
  180. package/components/DateSelect/DateSelect.js +4 -4
  181. package/components/DateSelect/DateSelect.js.flow +30 -30
  182. package/components/DateSelect/DateSelect.styles.d.ts +13 -13
  183. package/components/DateSelect/index.d.ts +1 -1
  184. package/components/DateSelect/index.js.flow +2 -2
  185. package/components/Dropdown/Dropdown.d.ts +119 -119
  186. package/components/Dropdown/Dropdown.js +24 -24
  187. package/components/Dropdown/Dropdown.js.flow +41 -41
  188. package/components/Dropdown/README.md +14 -14
  189. package/components/Dropdown/index.d.ts +1 -1
  190. package/components/Dropdown/index.js.flow +2 -2
  191. package/components/DropdownContainer/DropdownContainer.d.ts +45 -45
  192. package/components/DropdownContainer/DropdownContainer.js.flow +29 -29
  193. package/components/DropdownMenu/DropdownMenu.d.ts +45 -45
  194. package/components/DropdownMenu/DropdownMenu.js +2 -2
  195. package/components/DropdownMenu/DropdownMenu.js.flow +20 -20
  196. package/components/DropdownMenu/README.md +66 -66
  197. package/components/DropdownMenu/index.d.ts +1 -1
  198. package/components/DropdownMenu/index.js.flow +2 -2
  199. package/components/Fias/Fias.d.ts +133 -133
  200. package/components/Fias/Fias.js.flow +37 -37
  201. package/components/Fias/Fias.styles.d.ts +6 -6
  202. package/components/Fias/FiasModal.d.ts +14 -14
  203. package/components/Fias/FiasModal.js.flow +12 -12
  204. package/components/Fias/FiasSearch/FiasSearch.d.ts +53 -53
  205. package/components/Fias/FiasSearch/FiasSearch.js.flow +32 -32
  206. package/components/Fias/FiasSearch/README.md +78 -78
  207. package/components/Fias/Form/FiasComboBox.d.ts +39 -39
  208. package/components/Fias/Form/FiasComboBox.js.flow +25 -25
  209. package/components/Fias/Form/FiasCountrySelector.d.ts +20 -20
  210. package/components/Fias/Form/FiasForm.d.ts +94 -94
  211. package/components/Fias/Form/FiasForm.js.flow +21 -21
  212. package/components/Fias/README.md +436 -436
  213. package/components/Fias/api/APIResultFactory.d.ts +5 -5
  214. package/components/Fias/api/APIResultFactory.js.flow +7 -7
  215. package/components/Fias/api/FiasAPI.d.ts +27 -27
  216. package/components/Fias/api/FiasAPI.js.flow +13 -13
  217. package/components/Fias/api/MockAPI.d.ts +9 -9
  218. package/components/Fias/api/MockAPI.js.flow +13 -13
  219. package/components/Fias/api/data.json +285 -285
  220. package/components/Fias/constants/abbreviations.d.ts +4 -4
  221. package/components/Fias/constants/abbreviations.js.flow +7 -7
  222. package/components/Fias/index.d.ts +4 -4
  223. package/components/Fias/index.js.flow +5 -5
  224. package/components/Fias/locale/index.d.ts +4 -4
  225. package/components/Fias/locale/locales/ru.d.ts +3 -3
  226. package/components/Fias/locale/types.d.ts +56 -56
  227. package/components/Fias/locale/types.js.flow +71 -71
  228. package/components/Fias/logger/Logger.d.ts +9 -9
  229. package/components/Fias/logger/Logger.js.flow +13 -13
  230. package/components/Fias/models/Address.d.ts +97 -97
  231. package/components/Fias/models/Address.js.flow +57 -57
  232. package/components/Fias/models/AddressElement.d.ts +18 -18
  233. package/components/Fias/models/AddressElement.js.flow +15 -15
  234. package/components/Fias/models/FiasData.d.ts +20 -20
  235. package/components/Fias/models/FiasData.js.flow +10 -10
  236. package/components/Fias/types.d.ts +142 -142
  237. package/components/Fias/types.js.flow +133 -133
  238. package/components/FxInput/FxInput.adapter.d.ts +2 -2
  239. package/components/FxInput/FxInput.adapter.js.flow +4 -4
  240. package/components/FxInput/FxInput.d.ts +44 -44
  241. package/components/FxInput/FxInput.js +4 -4
  242. package/components/FxInput/FxInput.js.flow +24 -24
  243. package/components/FxInput/README.md +13 -13
  244. package/components/FxInput/index.d.ts +1 -1
  245. package/components/FxInput/index.js.flow +2 -2
  246. package/components/Gapped/Gapped.d.ts +35 -35
  247. package/components/Gapped/Gapped.js +8 -8
  248. package/components/Gapped/Gapped.js.flow +13 -13
  249. package/components/Gapped/README.md +6 -6
  250. package/components/Gapped/index.d.ts +1 -1
  251. package/components/Gapped/index.js.flow +2 -2
  252. package/components/Group/Group.d.ts +23 -23
  253. package/components/Group/Group.js +3 -3
  254. package/components/Group/Group.js.flow +14 -14
  255. package/components/Group/README.md +27 -27
  256. package/components/Group/index.d.ts +1 -1
  257. package/components/Group/index.js.flow +2 -2
  258. package/components/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +15 -15
  259. package/components/HideBodyVerticalScroll/HideBodyVerticalScroll.js.flow +7 -7
  260. package/components/HideBodyVerticalScroll/index.d.ts +1 -1
  261. package/components/HideBodyVerticalScroll/index.js.flow +2 -2
  262. package/components/Hint/Hint.d.ts +38 -38
  263. package/components/Hint/Hint.js.flow +37 -37
  264. package/components/Hint/README.md +3 -3
  265. package/components/Hint/index.d.ts +1 -1
  266. package/components/Hint/index.js.flow +2 -2
  267. package/components/Icon/20px/Icon.d.ts +32 -32
  268. package/components/Icon/20px/Icon.js +2 -2
  269. package/components/Icon/20px/Icon.js.flow +27 -27
  270. package/components/Icon/20px/index.d.ts +1 -1
  271. package/components/Icon/20px/index.js.flow +2 -2
  272. package/components/Icon/README.md +64 -64
  273. package/components/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  274. package/components/IgnoreLayerClick/IgnoreLayerClick.js.flow +12 -12
  275. package/components/IgnoreLayerClick/index.d.ts +1 -1
  276. package/components/IgnoreLayerClick/index.js.flow +2 -2
  277. package/components/Input/Input.adapter.d.ts +7 -7
  278. package/components/Input/Input.adapter.js.flow +9 -9
  279. package/components/Input/Input.d.ts +146 -146
  280. package/components/Input/Input.js +13 -13
  281. package/components/Input/Input.js.flow +55 -55
  282. package/components/Input/Input.styles.d.ts +18 -18
  283. package/components/Input/README.md +13 -13
  284. package/components/Input/index.d.ts +1 -1
  285. package/components/Input/index.js.flow +2 -2
  286. package/components/Kebab/Kebab.d.ts +60 -60
  287. package/components/Kebab/Kebab.js +6 -6
  288. package/components/Kebab/Kebab.js.flow +23 -23
  289. package/components/Kebab/Kebab.styles.d.ts +6 -6
  290. package/components/Kebab/README.md +44 -44
  291. package/components/Kebab/index.d.ts +1 -1
  292. package/components/Kebab/index.js.flow +2 -2
  293. package/components/Kladr/AddressModal.d.ts +39 -39
  294. package/components/Kladr/AddressModal.js +1 -1
  295. package/components/Kladr/AddressModal.js.flow +20 -20
  296. package/components/Kladr/AddressModal.js.map +1 -1
  297. package/components/Kladr/Kladr.d.ts +39 -39
  298. package/components/Kladr/Kladr.js +4 -4
  299. package/components/Kladr/Kladr.js.flow +27 -27
  300. package/components/Kladr/Kladr.js.map +1 -1
  301. package/components/Kladr/KladrAPI.d.ts +8 -8
  302. package/components/Kladr/KladrAPI.js.flow +8 -8
  303. package/components/Kladr/KladrAPI.js.map +1 -1
  304. package/components/Kladr/README.md +3 -3
  305. package/components/Kladr/Types.d.ts +40 -40
  306. package/components/Kladr/Types.js.flow +39 -39
  307. package/components/Kladr/index.d.ts +1 -1
  308. package/components/Kladr/index.js.flow +2 -2
  309. package/components/Kladr/index.js.map +1 -1
  310. package/components/Kladr/util.js.map +1 -1
  311. package/components/Kladr/utils.d.ts +4 -4
  312. package/components/Kladr/utils.js.flow +4 -4
  313. package/components/Link/Link.adapter.d.ts +2 -2
  314. package/components/Link/Link.adapter.js.flow +4 -4
  315. package/components/Link/Link.d.ts +51 -51
  316. package/components/Link/Link.js +5 -5
  317. package/components/Link/Link.js.flow +25 -25
  318. package/components/Link/Link.styles.d.ts +8 -8
  319. package/components/Link/README.md +11 -11
  320. package/components/Link/index.d.ts +1 -1
  321. package/components/Link/index.js.flow +2 -2
  322. package/components/Loader/Loader.d.ts +65 -65
  323. package/components/Loader/Loader.js +22 -23
  324. package/components/Loader/Loader.js.flow +20 -20
  325. package/components/Loader/Loader.js.map +1 -1
  326. package/components/Loader/Loader.module.css +1 -6
  327. package/components/Loader/Loader.styles.d.ts +5 -5
  328. package/components/Loader/Loader.styles.js +1 -2
  329. package/components/Loader/Loader.styles.js.map +1 -1
  330. package/components/Loader/README.md +25 -25
  331. package/components/Loader/index.d.ts +1 -1
  332. package/components/Loader/index.js.flow +2 -2
  333. package/components/LocaleProvider/LocaleHelper.d.ts +9 -9
  334. package/components/LocaleProvider/LocaleProvider.d.ts +16 -16
  335. package/components/LocaleProvider/constants.d.ts +2 -2
  336. package/components/LocaleProvider/decorators.d.ts +24 -24
  337. package/components/LocaleProvider/index.d.ts +3 -3
  338. package/components/LocaleProvider/types.d.ts +24 -24
  339. package/components/Logotype/Logotype.d.ts +76 -76
  340. package/components/Logotype/Logotype.js.flow +21 -21
  341. package/components/Logotype/Logotype.styles.d.ts +6 -6
  342. package/components/Logotype/ProductWidget.d.ts +4 -4
  343. package/components/Logotype/ProductWidget.js.flow +7 -7
  344. package/components/Logotype/README.md +32 -32
  345. package/components/Logotype/index.d.ts +1 -1
  346. package/components/Logotype/index.js.flow +2 -2
  347. package/components/Logotype/locale/index.d.ts +4 -4
  348. package/components/Logotype/locale/locales/en.d.ts +3 -3
  349. package/components/Logotype/locale/locales/ru.d.ts +3 -3
  350. package/components/Logotype/locale/types.d.ts +4 -4
  351. package/components/Menu/Menu.d.ts +62 -62
  352. package/components/Menu/Menu.js +10 -10
  353. package/components/Menu/Menu.js.flow +24 -24
  354. package/components/Menu/Menu.styles.d.ts +6 -6
  355. package/components/Menu/isActiveElement.d.ts +3 -3
  356. package/components/Menu/isActiveElement.js.flow +7 -7
  357. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  358. package/components/MenuHeader/MenuHeader.js +2 -2
  359. package/components/MenuHeader/MenuHeader.js.flow +11 -11
  360. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  361. package/components/MenuHeader/index.d.ts +1 -1
  362. package/components/MenuHeader/index.js.flow +2 -2
  363. package/components/MenuItem/MenuItem.d.ts +51 -51
  364. package/components/MenuItem/MenuItem.js +2 -2
  365. package/components/MenuItem/MenuItem.js.flow +33 -33
  366. package/components/MenuItem/MenuItem.styles.d.ts +10 -10
  367. package/components/MenuItem/README.md +5 -5
  368. package/components/MenuItem/index.d.ts +1 -1
  369. package/components/MenuItem/index.js.flow +2 -2
  370. package/components/MenuSeparator/MenuSeparator.d.ts +9 -9
  371. package/components/MenuSeparator/MenuSeparator.js +2 -2
  372. package/components/MenuSeparator/MenuSeparator.js.flow +7 -7
  373. package/components/MenuSeparator/MenuSeparator.styles.d.ts +5 -5
  374. package/components/MenuSeparator/index.d.ts +1 -1
  375. package/components/MenuSeparator/index.js.flow +2 -2
  376. package/components/Modal/Modal.adapter.d.ts +2 -2
  377. package/components/Modal/Modal.adapter.js.flow +4 -4
  378. package/components/Modal/Modal.d.ts +71 -71
  379. package/components/Modal/Modal.js +13 -13
  380. package/components/Modal/Modal.js.flow +30 -30
  381. package/components/Modal/Modal.js.map +1 -1
  382. package/components/Modal/Modal.module.css +2 -0
  383. package/components/Modal/Modal.styles.d.ts +11 -11
  384. package/components/Modal/ModalBody.d.ts +4 -4
  385. package/components/Modal/ModalBody.js.flow +7 -7
  386. package/components/Modal/ModalClose.d.ts +7 -7
  387. package/components/Modal/ModalClose.js.flow +6 -6
  388. package/components/Modal/ModalContext.d.ts +11 -11
  389. package/components/Modal/ModalContext.js.flow +15 -15
  390. package/components/Modal/ModalFooter.d.ts +23 -23
  391. package/components/Modal/ModalFooter.js +2 -2
  392. package/components/Modal/ModalFooter.js.flow +11 -11
  393. package/components/Modal/ModalHeader.d.ts +16 -16
  394. package/components/Modal/ModalHeader.js.flow +11 -11
  395. package/components/Modal/README.md +38 -38
  396. package/components/Modal/index.d.ts +1 -1
  397. package/components/Modal/index.js.flow +2 -2
  398. package/components/ModalStack/ModalStack.d.ts +9 -7
  399. package/components/ModalStack/ModalStack.js +13 -2
  400. package/components/ModalStack/ModalStack.js.flow +10 -10
  401. package/components/ModalStack/ModalStack.js.map +1 -1
  402. package/components/ModalStack/index.d.ts +1 -1
  403. package/components/ModalStack/index.js.flow +2 -2
  404. package/components/Paging/NavigationHelper.d.ts +10 -10
  405. package/components/Paging/NavigationHelper.js.flow +13 -13
  406. package/components/Paging/Paging.d.ts +93 -93
  407. package/components/Paging/Paging.js +10 -10
  408. package/components/Paging/Paging.js.flow +38 -38
  409. package/components/Paging/Paging.styles.d.ts +11 -11
  410. package/components/Paging/PagingHelper.d.ts +6 -6
  411. package/components/Paging/PagingHelper.js.flow +10 -10
  412. package/components/Paging/README.md +43 -43
  413. package/components/Paging/index.d.ts +1 -1
  414. package/components/Paging/index.js.flow +2 -2
  415. package/components/Paging/locale/index.d.ts +4 -4
  416. package/components/Paging/locale/locales/en.d.ts +3 -3
  417. package/components/Paging/locale/locales/ru.d.ts +3 -3
  418. package/components/Paging/locale/types.d.ts +3 -3
  419. package/components/PasswordInput/PasswordInput.d.ts +44 -44
  420. package/components/PasswordInput/PasswordInput.js +8 -8
  421. package/components/PasswordInput/PasswordInput.js.flow +26 -26
  422. package/components/PasswordInput/PasswordInputFallback.d.ts +18 -18
  423. package/components/PasswordInput/PasswordInputFallback.js.flow +13 -13
  424. package/components/PasswordInput/getCharHelper.js.flow +4 -4
  425. package/components/PasswordInput/index.d.ts +1 -1
  426. package/components/PasswordInput/index.js.flow +2 -2
  427. package/components/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  428. package/components/PhoneInput/PhoneInput.js +4 -4
  429. package/components/PhoneInput/PhoneInput.js.map +1 -1
  430. package/components/PhoneInput/index.js.map +1 -1
  431. package/components/Popup/Popup.d.ts +144 -144
  432. package/components/Popup/Popup.js +38 -37
  433. package/components/Popup/Popup.js.flow +60 -60
  434. package/components/Popup/Popup.js.map +1 -1
  435. package/components/Popup/Popup.styles.d.ts +8 -8
  436. package/components/Popup/PopupHelper.d.ts +26 -26
  437. package/components/Popup/PopupHelper.js.flow +29 -29
  438. package/components/Popup/PopupPin.d.ts +55 -55
  439. package/components/Popup/PopupPin.js +16 -16
  440. package/components/Popup/PopupPin.js.flow +15 -15
  441. package/components/Popup/index.d.ts +1 -1
  442. package/components/Popup/index.js.flow +2 -2
  443. package/components/Radio/README.md +14 -14
  444. package/components/Radio/Radio.d.ts +89 -89
  445. package/components/Radio/Radio.js +22 -22
  446. package/components/Radio/Radio.js.flow +33 -33
  447. package/components/Radio/Radio.styles.d.ts +11 -11
  448. package/components/Radio/index.d.ts +1 -1
  449. package/components/Radio/index.js.flow +2 -2
  450. package/components/RadioGroup/Prevent.d.ts +9 -9
  451. package/components/RadioGroup/Prevent.js.flow +9 -9
  452. package/components/RadioGroup/README.md +44 -44
  453. package/components/RadioGroup/RadioGroup.adapter.d.ts +2 -2
  454. package/components/RadioGroup/RadioGroup.adapter.js.flow +4 -4
  455. package/components/RadioGroup/RadioGroup.d.ts +139 -139
  456. package/components/RadioGroup/RadioGroup.js +46 -46
  457. package/components/RadioGroup/RadioGroup.js.flow +42 -42
  458. package/components/RadioGroup/index.d.ts +1 -1
  459. package/components/RadioGroup/index.js.flow +2 -2
  460. package/components/RenderContainer/RenderContainer.d.ts +16 -16
  461. package/components/RenderContainer/RenderContainer.js.flow +11 -11
  462. package/components/RenderContainer/RenderContainerFallback.d.ts +25 -25
  463. package/components/RenderContainer/RenderContainerNative.d.ts +12 -12
  464. package/components/RenderContainer/RenderContainerTypes.d.ts +8 -8
  465. package/components/RenderContainer/index.d.ts +1 -1
  466. package/components/RenderContainer/index.js.flow +2 -2
  467. package/components/RenderLayer/RenderLayer.d.ts +26 -26
  468. package/components/RenderLayer/RenderLayer.js.flow +12 -12
  469. package/components/RenderLayer/index.d.ts +1 -1
  470. package/components/RenderLayer/index.js.flow +2 -2
  471. package/components/ScrollContainer/README.md +60 -60
  472. package/components/ScrollContainer/ScrollContainer.d.ts +65 -65
  473. package/components/ScrollContainer/ScrollContainer.js +6 -6
  474. package/components/ScrollContainer/ScrollContainer.js.flow +24 -24
  475. package/components/ScrollContainer/index.d.ts +1 -1
  476. package/components/ScrollContainer/index.js.flow +2 -2
  477. package/components/Select/Item.d.ts +7 -7
  478. package/components/Select/Item.js.flow +7 -7
  479. package/components/Select/README.md +23 -23
  480. package/components/Select/Select.adapter.d.ts +2 -2
  481. package/components/Select/Select.adapter.js.flow +4 -4
  482. package/components/Select/Select.d.ts +178 -178
  483. package/components/Select/Select.js +42 -42
  484. package/components/Select/Select.js.flow +81 -81
  485. package/components/Select/Select.styles.d.ts +6 -6
  486. package/components/Select/index.d.ts +1 -1
  487. package/components/Select/index.js.flow +2 -2
  488. package/components/Select/locale/index.d.ts +4 -4
  489. package/components/Select/locale/locales/en.d.ts +3 -3
  490. package/components/Select/locale/locales/ru.d.ts +3 -3
  491. package/components/Select/locale/types.d.ts +4 -4
  492. package/components/SidePage/README.md +46 -46
  493. package/components/SidePage/SidePage.d.ts +85 -85
  494. package/components/SidePage/SidePage.js +11 -11
  495. package/components/SidePage/SidePage.js.flow +34 -34
  496. package/components/SidePage/SidePage.js.map +1 -1
  497. package/components/SidePage/SidePage.styles.d.ts +9 -9
  498. package/components/SidePage/SidePageBody.d.ts +12 -12
  499. package/components/SidePage/SidePageBody.js.flow +13 -13
  500. package/components/SidePage/SidePageContainer.d.ts +4 -4
  501. package/components/SidePage/SidePageContainer.js.flow +9 -9
  502. package/components/SidePage/SidePageContext.d.ts +8 -8
  503. package/components/SidePage/SidePageContext.js.flow +15 -15
  504. package/components/SidePage/SidePageFooter.d.ts +33 -33
  505. package/components/SidePage/SidePageFooter.js +2 -2
  506. package/components/SidePage/SidePageFooter.js.flow +16 -16
  507. package/components/SidePage/SidePageHeader.d.ts +26 -25
  508. package/components/SidePage/SidePageHeader.js +10 -9
  509. package/components/SidePage/SidePageHeader.js.flow +11 -11
  510. package/components/SidePage/SidePageHeader.js.map +1 -1
  511. package/components/SidePage/index.d.ts +1 -1
  512. package/components/SidePage/index.js.flow +2 -2
  513. package/components/Spinner/README.md +33 -33
  514. package/components/Spinner/Spinner.d.ts +47 -47
  515. package/components/Spinner/Spinner.js +12 -12
  516. package/components/Spinner/Spinner.js.flow +20 -20
  517. package/components/Spinner/Spinner.styles.d.ts +11 -11
  518. package/components/Spinner/SpinnerFallback.d.ts +24 -24
  519. package/components/Spinner/SpinnerFallback.js.flow +15 -15
  520. package/components/Spinner/index.d.ts +1 -1
  521. package/components/Spinner/index.js.flow +2 -2
  522. package/components/Spinner/locale/index.d.ts +4 -4
  523. package/components/Spinner/locale/locales/en.d.ts +3 -3
  524. package/components/Spinner/locale/locales/ru.d.ts +3 -3
  525. package/components/Spinner/locale/types.d.ts +4 -4
  526. package/components/Spinner/settings.d.ts +38 -38
  527. package/components/Spinner/settings.js.flow +48 -48
  528. package/components/Sticky/README.md +27 -27
  529. package/components/Sticky/Sticky.d.ts +57 -57
  530. package/components/Sticky/Sticky.js +8 -7
  531. package/components/Sticky/Sticky.js.flow +22 -22
  532. package/components/Sticky/Sticky.js.map +1 -1
  533. package/components/Sticky/Sticky.module.css +0 -1
  534. package/components/Sticky/index.d.ts +1 -1
  535. package/components/Sticky/index.js.flow +2 -2
  536. package/components/Switcher/README.md +10 -10
  537. package/components/Switcher/Switcher.d.ts +54 -54
  538. package/components/Switcher/Switcher.js.flow +26 -26
  539. package/components/Switcher/Switcher.styles.d.ts +5 -5
  540. package/components/Switcher/index.d.ts +1 -1
  541. package/components/Switcher/index.js.flow +2 -2
  542. package/components/Tabs/Indicator.d.ts +29 -29
  543. package/components/Tabs/Indicator.js.flow +21 -21
  544. package/components/Tabs/Indicator.styles.d.ts +9 -9
  545. package/components/Tabs/README.md +28 -28
  546. package/components/Tabs/Tab.d.ts +134 -134
  547. package/components/Tabs/Tab.js +14 -14
  548. package/components/Tabs/Tab.js.flow +48 -48
  549. package/components/Tabs/Tab.styles.d.ts +12 -12
  550. package/components/Tabs/Tabs.d.ts +65 -65
  551. package/components/Tabs/Tabs.js +4 -4
  552. package/components/Tabs/Tabs.js.flow +28 -28
  553. package/components/Tabs/TabsContext.d.ts +12 -12
  554. package/components/Tabs/index.d.ts +1 -1
  555. package/components/Tabs/index.js.flow +2 -2
  556. package/components/Textarea/README.md +9 -9
  557. package/components/Textarea/Textarea.adapter.d.ts +7 -7
  558. package/components/Textarea/Textarea.adapter.js.flow +11 -11
  559. package/components/Textarea/Textarea.d.ts +139 -139
  560. package/components/Textarea/Textarea.js +14 -14
  561. package/components/Textarea/Textarea.js.flow +33 -33
  562. package/components/Textarea/Textarea.styles.d.ts +8 -8
  563. package/components/Textarea/TextareaHelpers.d.ts +4 -4
  564. package/components/Textarea/TextareaHelpers.js.flow +6 -6
  565. package/components/Textarea/index.d.ts +1 -1
  566. package/components/Textarea/index.js.flow +2 -2
  567. package/components/ThemeConsumer/ThemeConsumer.d.ts +1 -1
  568. package/components/ThemeConsumer/index.d.ts +1 -1
  569. package/components/ThemeProvider/Playground/AnotherInputsPlayground.d.ts +13 -13
  570. package/components/ThemeProvider/Playground/CheckboxPlayground.d.ts +4 -4
  571. package/components/ThemeProvider/Playground/ComponentsGroup.d.ts +10 -10
  572. package/components/ThemeProvider/Playground/CurrencyInputPlayground.d.ts +11 -11
  573. package/components/ThemeProvider/Playground/FxInputPlayground.d.ts +10 -10
  574. package/components/ThemeProvider/Playground/HintPlayground.d.ts +6 -6
  575. package/components/ThemeProvider/Playground/PagingPlayground.d.ts +10 -10
  576. package/components/ThemeProvider/Playground/Playground.d.ts +33 -33
  577. package/components/ThemeProvider/Playground/README.md +7 -7
  578. package/components/ThemeProvider/Playground/RadioPlayground.d.ts +4 -4
  579. package/components/ThemeProvider/Playground/SelectPlayground.d.ts +12 -12
  580. package/components/ThemeProvider/Playground/ShowcaseGroup.d.ts +6 -6
  581. package/components/ThemeProvider/Playground/SwitcherPlayground.d.ts +15 -15
  582. package/components/ThemeProvider/Playground/ThemeEditor.d.ts +30 -30
  583. package/components/ThemeProvider/Playground/ThemeProviderPlayground.d.ts +50 -50
  584. package/components/ThemeProvider/Playground/TogglePlayground.d.ts +9 -9
  585. package/components/ThemeProvider/Playground/TokenInputPlayground.d.ts +7 -7
  586. package/components/ThemeProvider/Playground/VariableValue.d.ts +42 -42
  587. package/components/ThemeProvider/Playground/constants.d.ts +14 -14
  588. package/components/ThemeProvider/Playground/darkTheme.d.ts +252 -252
  589. package/components/ThemeProvider/Playground/helpers.d.ts +2 -2
  590. package/components/ThemeProvider/Playground/jsStyles.d.ts +8 -8
  591. package/components/ThemeProvider/README.md +172 -172
  592. package/components/ThemeProvider/ThemeProvider.d.ts +14 -14
  593. package/components/ThemeProvider/index.d.ts +1 -1
  594. package/components/ThemeShowcase/README.md +13 -13
  595. package/components/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  596. package/components/ThemeShowcase/ThemeShowcaseHelpers/FormatSourceCode.d.ts +2 -2
  597. package/components/ThemeShowcase/ThemeShowcaseHelpers/FormatSourceCode.js +0 -1
  598. package/components/ThemeShowcase/ThemeShowcaseHelpers/FormatSourceCode.js.map +1 -1
  599. package/components/ThemeShowcase/ThemeShowcaseHelpers/VariablesCollector.d.ts +24 -24
  600. package/components/ThemeShowcase/ThemeShowcaseHelpers/VariablesCollector.js +37 -35
  601. package/components/ThemeShowcase/ThemeShowcaseHelpers/VariablesCollector.js.map +1 -1
  602. package/components/Toast/README.md +39 -39
  603. package/components/Toast/Toast.d.ts +53 -53
  604. package/components/Toast/Toast.js +17 -17
  605. package/components/Toast/Toast.js.flow +29 -29
  606. package/components/Toast/ToastStatic.d.ts +9 -9
  607. package/components/Toast/ToastStatic.js.flow +10 -10
  608. package/components/Toast/ToastView.d.ts +33 -33
  609. package/components/Toast/ToastView.js +4 -4
  610. package/components/Toast/ToastView.js.flow +16 -16
  611. package/components/Toast/ToastView.styles.d.ts +7 -7
  612. package/components/Toast/index.d.ts +1 -1
  613. package/components/Toast/index.js.flow +2 -2
  614. package/components/Toggle/README.md +9 -9
  615. package/components/Toggle/Toggle.d.ts +50 -50
  616. package/components/Toggle/Toggle.js +2 -2
  617. package/components/Toggle/Toggle.js.flow +28 -28
  618. package/components/Toggle/Toggle.styles.d.ts +12 -12
  619. package/components/Toggle/index.d.ts +1 -1
  620. package/components/Toggle/index.js.flow +2 -2
  621. package/components/Token/README.md +109 -109
  622. package/components/Token/Token.d.ts +28 -28
  623. package/components/Token/Token.js.flow +25 -25
  624. package/components/Token/Token.styles.d.ts +22 -22
  625. package/components/Token/TokenRemoveIcon.d.ts +7 -7
  626. package/components/Token/TokenRemoveIcon.js.flow +11 -11
  627. package/components/Token/index.d.ts +1 -1
  628. package/components/Token/index.js.flow +2 -2
  629. package/components/TokenInput/README.md +82 -82
  630. package/components/TokenInput/TextWidthHelper.d.ts +10 -10
  631. package/components/TokenInput/TextWidthHelper.js +2 -2
  632. package/components/TokenInput/TextWidthHelper.js.flow +10 -10
  633. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  634. package/components/TokenInput/TokenInput.d.ts +108 -108
  635. package/components/TokenInput/TokenInput.js +2 -2
  636. package/components/TokenInput/TokenInput.js.flow +39 -39
  637. package/components/TokenInput/TokenInput.styles.d.ts +11 -11
  638. package/components/TokenInput/TokenInputMenu.d.ts +16 -16
  639. package/components/TokenInput/TokenInputMenu.js.flow +17 -17
  640. package/components/TokenInput/TokenInputReducer.d.ts +91 -91
  641. package/components/TokenInput/TokenInputReducer.js.flow +63 -63
  642. package/components/TokenInput/index.d.ts +1 -1
  643. package/components/TokenInput/index.js.flow +2 -2
  644. package/components/TokenInput/locale/index.d.ts +4 -4
  645. package/components/TokenInput/locale/locales/en.d.ts +3 -3
  646. package/components/TokenInput/locale/locales/ru.d.ts +3 -3
  647. package/components/TokenInput/locale/types.d.ts +4 -4
  648. package/components/Tooltip/README.md +207 -207
  649. package/components/Tooltip/Tooltip.d.ts +143 -143
  650. package/components/Tooltip/Tooltip.js.flow +33 -33
  651. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  652. package/components/Tooltip/index.d.ts +1 -1
  653. package/components/Tooltip/index.js.flow +2 -2
  654. package/components/TooltipMenu/README.md +106 -106
  655. package/components/TooltipMenu/TooltipMenu.d.ts +43 -43
  656. package/components/TooltipMenu/TooltipMenu.js +7 -7
  657. package/components/TooltipMenu/TooltipMenu.js.flow +19 -19
  658. package/components/TooltipMenu/index.d.ts +1 -1
  659. package/components/TooltipMenu/index.js.flow +2 -2
  660. package/components/TopBar/ButtonItem.d.ts +21 -21
  661. package/components/TopBar/ButtonItem.js.flow +22 -22
  662. package/components/TopBar/Divider.d.ts +7 -7
  663. package/components/TopBar/Divider.js.flow +5 -5
  664. package/components/TopBar/Item.d.ts +27 -27
  665. package/components/TopBar/Item.js.flow +19 -19
  666. package/components/TopBar/Organizations.d.ts +25 -25
  667. package/components/TopBar/Organizations.js.flow +16 -16
  668. package/components/TopBar/README.md +112 -112
  669. package/components/TopBar/TopBar.d.ts +110 -110
  670. package/components/TopBar/TopBar.js +36 -36
  671. package/components/TopBar/TopBar.js.flow +53 -53
  672. package/components/TopBar/TopBar.styles.d.ts +7 -7
  673. package/components/TopBar/TopBarDropdown.d.ts +30 -30
  674. package/components/TopBar/TopBarDropdown.js.flow +23 -23
  675. package/components/TopBar/TopBarEnd.d.ts +3 -3
  676. package/components/TopBar/TopBarEnd.js.flow +4 -4
  677. package/components/TopBar/TopBarLogout.d.ts +10 -10
  678. package/components/TopBar/TopBarLogout.js.flow +6 -6
  679. package/components/TopBar/TopBarStart.d.ts +3 -3
  680. package/components/TopBar/TopBarStart.js.flow +4 -4
  681. package/components/TopBar/User.d.ts +21 -21
  682. package/components/TopBar/User.js +2 -2
  683. package/components/TopBar/User.js.flow +9 -9
  684. package/components/TopBar/index.d.ts +1 -1
  685. package/components/TopBar/index.js.flow +2 -2
  686. package/components/TopBar/locale/index.d.ts +4 -4
  687. package/components/TopBar/locale/locales/en.d.ts +3 -3
  688. package/components/TopBar/locale/locales/ru.d.ts +3 -3
  689. package/components/TopBar/locale/types.d.ts +7 -7
  690. package/components/ZIndex/ZIndex.d.ts +33 -33
  691. package/components/ZIndex/ZIndex.js +9 -9
  692. package/components/ZIndex/ZIndex.js.flow +11 -11
  693. package/components/ZIndex/ZIndex.js.map +1 -1
  694. package/components/ZIndex/ZIndexStorage.d.ts +17 -16
  695. package/components/ZIndex/ZIndexStorage.js +1 -0
  696. package/components/ZIndex/ZIndexStorage.js.map +1 -1
  697. package/components/ZIndex/index.d.ts +1 -1
  698. package/components/ZIndex/index.js.flow +2 -2
  699. package/components/__mocks__/react-addons-css-transition-group.js.map +1 -1
  700. package/components/all.d.ts +36 -36
  701. package/components/all.js.flow +36 -36
  702. package/components/ensureOldIEClassName.d.ts +4 -4
  703. package/components/ensureOldIEClassName.js.flow +6 -6
  704. package/components/eventHandlers.js.flow +9 -9
  705. package/components/filterProps.d.ts +15 -15
  706. package/components/index.d.ts +4 -4
  707. package/components/index.js +2 -2
  708. package/components/index.js.flow +2 -2
  709. package/components/internal/ComponentCombinator.d.ts +25 -25
  710. package/components/internal/ComponentTable.d.ts +21 -21
  711. package/components/internal/FocusTrap/FocusTrap.d.ts +14 -14
  712. package/components/internal/FocusTrap/__test__/FocusTrap.test.d.ts +1 -1
  713. package/components/internal/FocusTrap/index.d.ts +1 -1
  714. package/components/internal/InputLikeText/InputLikeText.d.ts +49 -49
  715. package/components/internal/InputLikeText/InputLikeText.js +6 -6
  716. package/components/internal/InputLikeText/InputLikeText.js.flow +24 -24
  717. package/components/internal/InputLikeText/index.d.ts +1 -1
  718. package/components/internal/InputLikeText/index.js.flow +2 -2
  719. package/components/internal/InternalMenu/InternalMenu.d.ts +63 -63
  720. package/components/internal/InternalMenu/InternalMenu.js.flow +23 -23
  721. package/components/internal/InternalMenu/InternalMenu.styles.d.ts +5 -5
  722. package/components/internal/InternalMenu/isActiveElement.d.ts +3 -3
  723. package/components/internal/InternalMenu/isActiveElement.js.flow +7 -7
  724. package/components/internal/LifeCycleProxy.d.ts +13 -13
  725. package/components/internal/MaskedInput/MaskedInput.d.ts +37 -37
  726. package/components/internal/MaskedInput/MaskedInput.js.flow +24 -24
  727. package/components/internal/MaskedInput/MaskedInput.styles.d.ts +5 -5
  728. package/components/internal/MaskedInput/index.d.ts +1 -1
  729. package/components/internal/MaskedInput/index.js.flow +2 -2
  730. package/components/internal/MockDate.d.ts +9 -9
  731. package/components/internal/MockDate.js.flow +9 -9
  732. package/components/internal/PopupMenu/PopupMenu.d.ts +81 -81
  733. package/components/internal/PopupMenu/PopupMenu.js.flow +40 -40
  734. package/components/internal/PopupMenu/PopupMenuPositions.d.ts +3 -3
  735. package/components/internal/PopupMenu/PopupMenuPositions.js.flow +4 -4
  736. package/components/internal/PopupMenu/index.d.ts +1 -1
  737. package/components/internal/PopupMenu/index.js.flow +2 -2
  738. package/components/internal/PopupMenu/validatePositions.d.ts +3 -3
  739. package/components/internal/PopupMenu/validatePositions.js.flow +4 -4
  740. package/components/internal/ResizeDetector/ResizeDetector.d.ts +11 -11
  741. package/components/internal/ResizeDetector/ResizeDetector.js.flow +8 -8
  742. package/components/internal/ResizeDetector/index.d.ts +1 -1
  743. package/components/internal/ResizeDetector/index.js.flow +2 -2
  744. package/components/internal/Supports.d.ts +1 -1
  745. package/components/internal/createPropsGetter.d.ts +2 -2
  746. package/components/internal/createPropsGetter.js.flow +8 -8
  747. package/components/internal/cross.d.ts +4 -4
  748. package/components/internal/cross.js.flow +4 -4
  749. package/components/internal/currentEnvironment.d.ts +3 -3
  750. package/components/internal/currentEnvironment.js.flow +4 -4
  751. package/components/internal/extractKeyboardAction.d.ts +13 -13
  752. package/components/internal/extractKeyboardAction.js.flow +12 -12
  753. package/components/polyfillPlaceholder.d.ts +2 -2
  754. package/components/polyfillPlaceholder.js.flow +4 -4
  755. package/components/variables.css +1 -1
  756. package/components/variables.module.css +1 -1
  757. package/lib/BGRuler.d.ts +30 -30
  758. package/lib/BGRuler.js +5 -5
  759. package/lib/Colors.d.ts +6 -6
  760. package/lib/LayoutEvents.d.ts +9 -9
  761. package/lib/SSRSafePropTypes.d.ts +2 -2
  762. package/lib/Upgrades.d.ts +11 -11
  763. package/lib/date/InternalDate.d.ts +55 -55
  764. package/lib/date/InternalDate.js +3 -3
  765. package/lib/date/InternalDateCalculator.d.ts +6 -6
  766. package/lib/date/InternalDateGetter.d.ts +15 -15
  767. package/lib/date/InternalDateSetter.d.ts +6 -6
  768. package/lib/date/InternalDateTransformer.d.ts +12 -12
  769. package/lib/date/InternalDateValidator.d.ts +9 -9
  770. package/lib/date/constants.d.ts +27 -27
  771. package/lib/date/localeSets.d.ts +5 -5
  772. package/lib/date/types.d.ts +88 -88
  773. package/lib/dom/getComputedStyle.d.ts +2 -2
  774. package/lib/dom/getFocusableElements.d.ts +42 -42
  775. package/lib/dom/getFocusableElements.js +33 -33
  776. package/lib/dom/getScrollWidth.d.ts +1 -1
  777. package/lib/events/MouseDrag.d.ts +15 -15
  778. package/lib/events/fixClickFocusIE.d.ts +1 -1
  779. package/lib/events/keyboard/KeyboardEventCodes.d.ts +31 -31
  780. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  781. package/lib/events/keyboard/extractCode.d.ts +3 -3
  782. package/lib/events/keyboard/identifiers.d.ts +47 -47
  783. package/lib/events/stopPropagation.d.ts +1 -1
  784. package/lib/events/tabListener.d.ts +6 -6
  785. package/lib/listenFocusOutside.d.ts +5 -5
  786. package/lib/listenFocusOutside.js +9 -9
  787. package/lib/net/fetch-cors.d.ts +13 -13
  788. package/lib/pluralize.d.ts +1 -1
  789. package/lib/reactGetTextContent/reactGetTextContent.d.ts +2 -2
  790. package/lib/styles/ColorFactory.d.ts +11 -11
  791. package/lib/styles/ColorFunctions.d.ts +12 -12
  792. package/lib/styles/ColorHelpers.d.ts +20 -20
  793. package/lib/styles/ColorKeywords.d.ts +150 -150
  794. package/lib/styles/ColorObject.d.ts +51 -51
  795. package/lib/styles/DimensionFunctions.d.ts +4 -4
  796. package/lib/styles/Mixins.d.ts +2 -2
  797. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  798. package/lib/theming/Emotion.d.ts +13 -13
  799. package/lib/theming/Theme.d.ts +9 -9
  800. package/lib/theming/ThemeContext.d.ts +6 -6
  801. package/lib/theming/ThemeFactory.d.ts +10 -10
  802. package/lib/theming/ThemeHelpers.d.ts +1 -1
  803. package/lib/theming/themes/DefaultTheme.d.ts +4 -4
  804. package/lib/theming/themes/FlatTheme.d.ts +4 -4
  805. package/lib/utils.d.ts +28 -28
  806. package/package.json +4 -1
  807. package/typings/console.d.ts +3 -3
  808. package/typings/event-types.d.ts +4 -4
  809. package/typings/fbjs.d.ts +4 -4
  810. package/typings/global.d.ts +6 -6
  811. package/typings/images.d.ts +1 -1
  812. package/typings/less.d.ts +4 -4
  813. package/typings/mockdate.d.ts +1 -1
  814. package/typings/normalize-wheel.d.ts +1 -1
  815. package/typings/raf.d.ts +1 -1
  816. package/typings/react-addons-css-transition-group.d.ts +1 -1
  817. package/typings/react-testing/index.d.ts +4 -4
  818. package/typings/react-testing/window.d.ts +5 -5
  819. package/typings/react.d.ts +8 -8
  820. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  821. package/typings/utility-types.d.ts +17 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxOld.js"],"names":["ComboBoxOld","info","renderer","render","props","state","spread","_ref","focus","_focus","componentDidMount","_mounted","value","_fetchInfo","componentWillUnmount","componentWillReceiveProps","newProps","_maybeRefetchInfo","setState","promise","_infoPromise","then","React","Component","autoFocus","PropTypes","bool","borderless","debounceInterval","number","disablePortal","disabled","error","oneOfType","any","func","menuAlign","oneOf","openButton","placeholder","string","recover","renderItem","renderNotFound","renderTotalCount","renderValue","source","isRequired","warning","width","onBlur","onChange","onClose","onFocus","onInputChange","onInputKeyDown","onMouseEnter","onMouseLeave","onMouseOver","onOpen"],"mappings":"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","sourcesContent":["// @flow\n/* eslint-disable flowtype/no-types-missing-file-annotation */\n/* eslint-disable flowtype/no-weak-types */\nimport * as React from 'react';\nimport warning from 'warning';\nimport PropTypes from 'prop-types';\n\nimport ComboBoxRenderer from './ComboBoxRenderer';\nimport type { BaseProps, Info, Value } from './ComboBoxRenderer';\n\ntype Props = BaseProps & {\n info?: Info | ((v: Value) => Promise<Info>),\n};\n\n/**\n * @deprecated Компонент устарел и будет удален в версии 2.0.0. Используйте актульный [ComboBox](#/Components/ComboBox).\n */\nexport default class ComboBoxOld extends React.Component<Props, $FlowFixMeState> {\n static propTypes = {\n autoFocus: PropTypes.bool,\n\n borderless: PropTypes.bool,\n\n debounceInterval: PropTypes.number,\n\n /**\n * Не использовать Portal для рендеринга меню.\n * По-умолчанию `false`.\n * См. https://github.com/skbkontur/retail-ui/issues/15\n */\n disablePortal: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Визуально показать наличие ошибки.\n */\n error: PropTypes.bool,\n\n /**\n * Данные, которые будут переданы в функции для отрисовки значений\n * (`renderValue` и `renderItem`).\n */\n info: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Показывать кнопку-треугольник для показа резаультатов.\n */\n openButton: PropTypes.bool,\n\n placeholder: PropTypes.string,\n\n /**\n * Функция для обработки неожиданного ввода. Если пользователь ввел что-то в\n * строку поиска и нажал Enter или ушел из поля, не выбрав значение, то\n * будет вызвана эта функция, которая может вернуть значение, которое будет\n * использовано как будто оно было выбрано.\n *\n * Возвращаемое значение может быть `null`, либо объектом такой формы:\n * `{value: any, info?: any}`.\n *\n * Если задать это поле в `true`, то будет использована такая функция:\n * `(searchText) => searchText`.\n */\n recover: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\n renderItem: PropTypes.func,\n\n /**\n * Сообщение при отсутствии результатов\n *\n * `string | (searchText: string) => React$Element<*> | string`\n */\n renderNotFound: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n /**\n * Общее количество найденных элементов\n *\n * `(foundCount: number, totalCount: number) => React$Element<*> | string`\n */\n renderTotalCount: PropTypes.func,\n\n renderValue: PropTypes.func,\n\n source: PropTypes.func.isRequired,\n\n value: PropTypes.any,\n\n /**\n * Визуально показать наличие предупреждения.\n */\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onChange: PropTypes.func,\n\n onClose: PropTypes.func,\n\n onFocus: PropTypes.func,\n\n /**\n * Вызывается при изменении текста в поле ввода,\n * если результатом функции будет строка,\n * то она станет следующим состояним полем ввода\n *\n * `(value: string) => any`\n */\n onInputChange: PropTypes.func,\n\n /**\n * Позволяет обработать нажатия клавиш.\n * Можно отменить стандартное поведение, используя `event.preventDefault()`\n *\n * `(event: KeyboardSyntheticEvent) => void`\n */\n onInputKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n onOpen: PropTypes.func,\n };\n\n static defaultProps = {\n menuAlign: 'left',\n placeholder: '',\n width: 250,\n };\n\n state = {\n info: null,\n };\n\n renderer: ComboBoxRenderer;\n\n _mounted = false;\n _infoPromise: ?Promise<any>;\n\n render() {\n let info = this.props.info;\n if (typeof info === 'function') {\n info = this.state.info;\n }\n\n // Flow needs this for some reason.\n const spread: BaseProps = this.props;\n\n return <ComboBoxRenderer ref={this._ref} {...spread} info={info} />;\n }\n\n focus() {\n if (this.renderer) {\n this.renderer._focus();\n }\n }\n\n _ref = (renderer: ComboBoxRenderer) => {\n this.renderer = renderer;\n };\n\n componentDidMount() {\n warning(false, 'ComboBoxOld is deprecated and will be removed in v2.0.0. Please, use the actual ComboBox instead.');\n this._mounted = true;\n const { value, info } = this.props;\n if (typeof info === 'function') {\n this._fetchInfo(value, info);\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n componentWillReceiveProps(newProps: Props) {\n this._maybeRefetchInfo(newProps.value, newProps.info);\n }\n\n _maybeRefetchInfo(value: Value, info: Info) {\n if (typeof info !== 'function') {\n return;\n }\n\n const props = this.props;\n\n if (value === props.value && typeof props.info === 'function') {\n // Values hasn't changed and info is still a function. So we are already\n // fetching info.\n return;\n }\n\n this.setState({ info: null });\n this._fetchInfo(value, info);\n }\n\n _fetchInfo(value: Value, info: Info) {\n const promise = info(value);\n this._infoPromise = promise;\n\n promise.then(info => {\n if (this._mounted && this._infoPromise === promise) {\n this.setState({ info });\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxOld.js"],"names":["ComboBoxOld","info","renderer","render","props","state","spread","_ref","focus","_focus","componentDidMount","_mounted","value","_fetchInfo","componentWillUnmount","componentWillReceiveProps","newProps","_maybeRefetchInfo","setState","promise","_infoPromise","then","React","Component","autoFocus","PropTypes","bool","borderless","debounceInterval","number","disablePortal","disabled","error","oneOfType","any","func","menuAlign","oneOf","openButton","placeholder","string","recover","renderItem","renderNotFound","renderTotalCount","renderValue","source","isRequired","warning","width","onBlur","onChange","onClose","onFocus","onInputChange","onInputKeyDown","onMouseEnter","onMouseLeave","onMouseOver","onOpen"],"mappings":"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","sourcesContent":["// @flow\r\n/* eslint-disable flowtype/no-types-missing-file-annotation */\r\n/* eslint-disable flowtype/no-weak-types */\r\nimport * as React from 'react';\r\nimport warning from 'warning';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport ComboBoxRenderer from './ComboBoxRenderer';\r\nimport type { BaseProps, Info, Value } from './ComboBoxRenderer';\r\n\r\ntype Props = BaseProps & {\r\n info?: Info | ((v: Value) => Promise<Info>),\r\n};\r\n\r\n/**\r\n * @deprecated Компонент устарел и будет удален в версии 2.0.0. Используйте актульный [ComboBox](#/Components/ComboBox).\r\n */\r\nexport default class ComboBoxOld extends React.Component<Props, $FlowFixMeState> {\r\n static propTypes = {\r\n autoFocus: PropTypes.bool,\r\n\r\n borderless: PropTypes.bool,\r\n\r\n debounceInterval: PropTypes.number,\r\n\r\n /**\r\n * Не использовать Portal для рендеринга меню.\r\n * По-умолчанию `false`.\r\n * См. https://github.com/skbkontur/retail-ui/issues/15\r\n */\r\n disablePortal: PropTypes.bool,\r\n\r\n disabled: PropTypes.bool,\r\n\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error: PropTypes.bool,\r\n\r\n /**\r\n * Данные, которые будут переданы в функции для отрисовки значений\r\n * (`renderValue` и `renderItem`).\r\n */\r\n info: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\r\n\r\n menuAlign: PropTypes.oneOf(['left', 'right']),\r\n\r\n /**\r\n * Показывать кнопку-треугольник для показа резаультатов.\r\n */\r\n openButton: PropTypes.bool,\r\n\r\n placeholder: PropTypes.string,\r\n\r\n /**\r\n * Функция для обработки неожиданного ввода. Если пользователь ввел что-то в\r\n * строку поиска и нажал Enter или ушел из поля, не выбрав значение, то\r\n * будет вызвана эта функция, которая может вернуть значение, которое будет\r\n * использовано как будто оно было выбрано.\r\n *\r\n * Возвращаемое значение может быть `null`, либо объектом такой формы:\r\n * `{value: any, info?: any}`.\r\n *\r\n * Если задать это поле в `true`, то будет использована такая функция:\r\n * `(searchText) => searchText`.\r\n */\r\n recover: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\r\n\r\n renderItem: PropTypes.func,\r\n\r\n /**\r\n * Сообщение при отсутствии результатов\r\n *\r\n * `string | (searchText: string) => React$Element<*> | string`\r\n */\r\n renderNotFound: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\r\n\r\n /**\r\n * Общее количество найденных элементов\r\n *\r\n * `(foundCount: number, totalCount: number) => React$Element<*> | string`\r\n */\r\n renderTotalCount: PropTypes.func,\r\n\r\n renderValue: PropTypes.func,\r\n\r\n source: PropTypes.func.isRequired,\r\n\r\n value: PropTypes.any,\r\n\r\n /**\r\n * Визуально показать наличие предупреждения.\r\n */\r\n warning: PropTypes.bool,\r\n\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n\r\n onBlur: PropTypes.func,\r\n\r\n onChange: PropTypes.func,\r\n\r\n onClose: PropTypes.func,\r\n\r\n onFocus: PropTypes.func,\r\n\r\n /**\r\n * Вызывается при изменении текста в поле ввода,\r\n * если результатом функции будет строка,\r\n * то она станет следующим состояним полем ввода\r\n *\r\n * `(value: string) => any`\r\n */\r\n onInputChange: PropTypes.func,\r\n\r\n /**\r\n * Позволяет обработать нажатия клавиш.\r\n * Можно отменить стандартное поведение, используя `event.preventDefault()`\r\n *\r\n * `(event: KeyboardSyntheticEvent) => void`\r\n */\r\n onInputKeyDown: PropTypes.func,\r\n\r\n onMouseEnter: PropTypes.func,\r\n\r\n onMouseLeave: PropTypes.func,\r\n\r\n onMouseOver: PropTypes.func,\r\n\r\n onOpen: PropTypes.func,\r\n };\r\n\r\n static defaultProps = {\r\n menuAlign: 'left',\r\n placeholder: '',\r\n width: 250,\r\n };\r\n\r\n state = {\r\n info: null,\r\n };\r\n\r\n renderer: ComboBoxRenderer;\r\n\r\n _mounted = false;\r\n _infoPromise: ?Promise<any>;\r\n\r\n render() {\r\n let info = this.props.info;\r\n if (typeof info === 'function') {\r\n info = this.state.info;\r\n }\r\n\r\n // Flow needs this for some reason.\r\n const spread: BaseProps = this.props;\r\n\r\n return <ComboBoxRenderer ref={this._ref} {...spread} info={info} />;\r\n }\r\n\r\n focus() {\r\n if (this.renderer) {\r\n this.renderer._focus();\r\n }\r\n }\r\n\r\n _ref = (renderer: ComboBoxRenderer) => {\r\n this.renderer = renderer;\r\n };\r\n\r\n componentDidMount() {\r\n warning(false, 'ComboBoxOld is deprecated and will be removed in v2.0.0. Please, use the actual ComboBox instead.');\r\n this._mounted = true;\r\n const { value, info } = this.props;\r\n if (typeof info === 'function') {\r\n this._fetchInfo(value, info);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._mounted = false;\r\n }\r\n\r\n componentWillReceiveProps(newProps: Props) {\r\n this._maybeRefetchInfo(newProps.value, newProps.info);\r\n }\r\n\r\n _maybeRefetchInfo(value: Value, info: Info) {\r\n if (typeof info !== 'function') {\r\n return;\r\n }\r\n\r\n const props = this.props;\r\n\r\n if (value === props.value && typeof props.info === 'function') {\r\n // Values hasn't changed and info is still a function. So we are already\r\n // fetching info.\r\n return;\r\n }\r\n\r\n this.setState({ info: null });\r\n this._fetchInfo(value, info);\r\n }\r\n\r\n _fetchInfo(value: Value, info: Info) {\r\n const promise = info(value);\r\n this._infoPromise = promise;\r\n\r\n promise.then(info => {\r\n if (this._mounted && this._infoPromise === promise) {\r\n this.setState({ info });\r\n }\r\n });\r\n }\r\n}\r\n"]}
@@ -14,7 +14,7 @@ var _InputLikeText = _interopRequireDefault(require("../internal/InputLikeText/I
14
14
  var _Menu = _interopRequireDefault(require("../Menu/Menu"));
15
15
  var _MenuItem = _interopRequireDefault(require("../MenuItem/MenuItem"));
16
16
 
17
- var _fixClickFocusIE = require("../../lib/events/fixClickFocusIE");var _ComboBoxRendererModule = _interopRequireDefault(require("./ComboBoxRenderer.module.css"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function _getRequireWildcardCache() {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};if (obj != null) {var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}}newObj["default"] = obj;if (cache) {cache.set(obj, newObj);}return newObj;}function _extends() {_extends = Object.assign || function (target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i];for (var key in source) {if (Object.prototype.hasOwnProperty.call(source, key)) {target[key] = source[key];}}}return target;};return _extends.apply(this, arguments);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _inheritsLoose(subClass, superClass) {subClass.prototype = Object.create(superClass.prototype);subClass.prototype.constructor = subClass;subClass.__proto__ = superClass;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}
17
+ var _fixClickFocusIE = require("../../lib/events/fixClickFocusIE");var _ComboBoxRendererModule = _interopRequireDefault(require("./ComboBoxRenderer.module.css"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function _getRequireWildcardCache() {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { "default": obj };}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj["default"] = obj;if (cache) {cache.set(obj, newObj);}return newObj;}function _extends() {_extends = Object.assign || function (target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i];for (var key in source) {if (Object.prototype.hasOwnProperty.call(source, key)) {target[key] = source[key];}}}return target;};return _extends.apply(this, arguments);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _inheritsLoose(subClass, superClass) {subClass.prototype = Object.create(superClass.prototype);subClass.prototype.constructor = subClass;subClass.__proto__ = superClass;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}
18
18
 
19
19
 
20
20
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxRenderer.js"],"names":["INPUT_PASS_PROPS","borderless","error","warning","width","disabled","onMouseEnter","onMouseLeave","onMouseOver","ComboBoxRenderer","element","props","context","el","_focusable","focus","ReactDOM","findDOMNode","menu","_menu","event","value","newInputValue","inputValueChanged","state","searchText","onInputChange","nextState","setState","opened","_debouncedFetchList","_ignoreRecover","onInputKeyDown","defaultPrevented","key","preventDefault","safelyCall","onOpen","up","down","handled","enter","_tryRecover","_handleBlur","_close","_setCurrentSearchText","info","_fetchList","_handleFocus","_handleValueClick","_ignoreBlur","isEditing","onFocus","onAlkoFocus","onBlur","onAlkoBlur","e","endEdit","result","onClose","pattern","expectingId","_fetchingId","source","then","_mounted","reset","setSelectionRange","length","selected","debounceInterval","render","_handleClickOutside","styles","root","renderInput","renderValue","renderMenu","openButton","arrow","_handleArrowClick","_handleArrowMouseDown","inputProps","input","_refFocusable","_handleInputChange","_handleInputKey","placeholder","isNotRecovered","_error","isEmptyResults","values","menuAlign","disablePortal","_refMenu","renderEmptyResults","renderResults","renderTotalCount","mapResult","i","React","isValidElement","cloneElement","onClick","_handleItemClick","renderItem","renderNotFound","isFunction","total","totalCount","componentDidMount","autoFocus","_focus","componentWillUnmount","options","_change","recover","recovered","_setError","_lastError","onError","onChange","target","valueToString","Component","children","fn","args","map","infos"],"mappings":"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","sourcesContent":["// @flow\n/* eslint-disable flowtype/no-weak-types */\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport filterProps from '../filterProps';\n\nimport debounce from 'lodash.debounce';\n\nimport RenderLayer from '../RenderLayer';\nimport DropdownContainer from '../DropdownContainer/DropdownContainer';\nimport Input from '../Input';\nimport InputLikeText from '../internal/InputLikeText/InputLikeText';\nimport Menu from '../Menu/Menu';\nimport MenuItem from '../MenuItem/MenuItem';\nimport type { MenuItemState } from '../MenuItem/MenuItem';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\n\nimport styles from './ComboBoxRenderer.module.less';\n\nconst INPUT_PASS_PROPS = {\n borderless: true,\n error: true,\n warning: true,\n width: true,\n disabled: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport type Value = any;\nexport type Info = any;\n\ntype SourceResult = {\n values: Array<Value | React.Element<any> | (() => React.Element<any>)>,\n infos?: Array<Info>,\n total?: number,\n};\n\ntype RecoverResult = {\n value: Value,\n info?: Info,\n};\n\ntype ErrorKind = null | 'not_recovered';\n\ntype RecoverFunc = (searchString: string) => RecoverResult;\n\nexport type BaseProps = {\n autoFocus?: boolean,\n borderless?: boolean,\n disabled?: boolean,\n error?: boolean,\n info?: Info | ((v: Value) => Promise<Info>),\n menuAlign: 'left' | 'right',\n disablePortal?: boolean,\n debounceInterval?: number,\n openButton?: boolean,\n placeholder: string,\n recover?: RecoverFunc | boolean,\n renderItem: (value: Value, info: Info, state: MenuItemState) => React.Node,\n renderValue: (value: Value, info: ?Info) => React.Element<any>,\n renderNotFound?: string | ((searchText: string) => React.Element<any> | string),\n renderTotalCount?: (f: number, total: number) => React.Element<any> | string,\n source: (searchText: string) => Promise<SourceResult>,\n warning?: boolean,\n value: Value | null,\n valueToString?: (value: Value, info: ?Info) => string,\n width: number | string,\n\n onBlur?: () => void,\n onChange?: (event: { target: { value: Value } }, value: Value) => void,\n onClose?: () => void,\n onError?: (kind: ErrorKind) => void,\n onFocus?: () => void,\n onOpen?: () => void,\n onInputChange?: (value: string) => ?string,\n onInputKeyDown?: (e: SyntheticKeyboardEvent<>) => void,\n\n alkoValueToText?: (value: Value) => string,\n onAlkoFocus?: () => void,\n onAlkoBlur?: () => void,\n\n onMouseEnter?: (e: SyntheticMouseEvent<>) => void,\n onMouseLeave?: (e: SyntheticMouseEvent<>) => void,\n onMouseOver?: (e: SyntheticMouseEvent<>) => void,\n};\n\ntype Props = BaseProps & {\n info: Info,\n};\n\ntype State = {\n opened: boolean,\n searchText: string,\n isEditing: boolean,\n result: ?SourceResult,\n selected: number,\n};\n\nclass ComboBoxRenderer extends React.Component<Props, State> {\n // eslint-disable-next-line react/no-multi-comp\n static Item = class Item extends React.Component<{ children?: React.Node }> {\n render() {\n return <MenuItem>{this.props.children}</MenuItem>;\n }\n };\n\n static static(element: (() => React.Element<any>) | React.Element<any>) {\n return element;\n }\n\n static defaultProps = {\n renderItem,\n renderValue,\n placeholder: '',\n width: (250: number | string),\n menuAlign: 'left',\n debounceInterval: 0,\n };\n\n _mounted = false;\n _focusable = null;\n _menu: ?Menu = null;\n _focusSubscribtion: ?{ remove: () => void } = null;\n _lastError: ErrorKind = null;\n _error: ErrorKind = null;\n _ignoreRecover = true;\n _ignoreBlur = true;\n _fetchingId = 0;\n _debouncedFetchList: Function;\n\n constructor(props: Props, context: mixed) {\n super(props, context);\n\n this.state = {\n opened: false,\n searchText: '',\n result: null,\n isEditing: false,\n selected: -1,\n };\n\n const { debounceInterval } = this.props;\n this._debouncedFetchList =\n debounceInterval && debounceInterval > 0 ? debounce(this._fetchList, debounceInterval) : this._fetchList;\n }\n\n render() {\n return (\n <RenderLayer\n onFocusOutside={this._handleBlur}\n onClickOutside={this._handleClickOutside}\n active={this.state.opened}\n >\n <label className={styles.root} style={{ width: this.props.width }}>\n {this.state.isEditing ? this.renderInput() : this.renderValue()}\n {this.state.opened && this.renderMenu()}\n {this.props.openButton && (\n <div className={styles.arrow} onClick={this._handleArrowClick} onMouseDown={this._handleArrowMouseDown} />\n )}\n </label>\n </RenderLayer>\n );\n }\n\n renderInput() {\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\n return (\n <div className={styles.input}>\n <Input\n ref={this._refFocusable}\n {...inputProps}\n value={this.state.searchText}\n rightIcon={this.props.openButton && <span />}\n onChange={this._handleInputChange}\n onKeyDown={this._handleInputKey}\n />\n </div>\n );\n }\n\n renderValue() {\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\n\n const value = this.props.value ? (\n this.props.renderValue(this.props.value, this.props.info)\n ) : (\n <span className={styles.placeholder}>{this.props.placeholder}</span>\n );\n\n const isNotRecovered = !!this._error;\n\n return (\n <InputLikeText\n ref={this._refFocusable}\n {...inputProps}\n onClick={this._handleValueClick}\n onFocus={this._handleValueClick}\n error={isNotRecovered || this.props.error}\n >\n {isNotRecovered ? this.state.searchText : value}\n </InputLikeText>\n );\n }\n\n renderMenu() {\n const { result } = this.state;\n if (!result) {\n return null;\n }\n\n const isEmptyResults = result.values.length === 0;\n\n return (\n <DropdownContainer\n getParent={() => ReactDOM.findDOMNode(this)}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n offsetY={1}\n >\n <Menu ref={this._refMenu} maxHeight={200}>\n {isEmptyResults ? this.renderEmptyResults() : this.renderResults(result)}\n {this.renderTotalCount(result)}\n </Menu>\n </DropdownContainer>\n );\n }\n\n renderResults(result: SourceResult): Array<?React.Element<Class<MenuItem>>> {\n return mapResult(result, (value, info, i) => {\n if (typeof value === 'function' || React.isValidElement(value)) {\n const element = typeof value === 'function' ? value() : value;\n return React.cloneElement(element, {\n key: i,\n onClick: event => this._handleItemClick(event, element.props),\n });\n }\n return (\n <MenuItem\n key={i}\n onClick={(event: SyntheticEvent<*>) => {\n this._handleItemClick(event, { value, info });\n }}\n >\n {state => this.props.renderItem(value, info, state)}\n </MenuItem>\n );\n });\n }\n\n renderEmptyResults(): ?React.Element<typeof MenuItem> {\n const { renderNotFound } = this.props;\n\n if (!renderNotFound) {\n return null;\n }\n\n const { searchText } = this.state;\n\n return (\n <MenuItem disabled={!isFunction(renderNotFound)}>\n {isFunction(renderNotFound) ? renderNotFound(searchText) : renderNotFound}\n </MenuItem>\n );\n }\n\n renderTotalCount(result: SourceResult) {\n const { renderTotalCount } = this.props;\n\n if (!renderTotalCount || !result || !result.values || !result.total) {\n return null;\n }\n\n if (result.values.length === result.total) {\n return null;\n }\n\n return (\n <MenuItem disabled>\n <div className={styles.totalCount}>{renderTotalCount(result.values.length, result.total)}</div>\n </MenuItem>\n );\n }\n\n componentDidMount() {\n this._mounted = true;\n if (this.props.autoFocus) {\n this._focus();\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n _refFocusable = (el: Input | InputLikeText | null) => {\n this._focusable = el && (el.focus ? el : (ReactDOM.findDOMNode(el): any));\n };\n\n _refMenu = (menu: ?Menu) => {\n this._menu = menu;\n };\n\n _handleInputChange = (event: SyntheticInputEvent<HTMLInputElement>, value: string) => {\n let newInputValue = value;\n\n const inputValueChanged = this.state.searchText !== newInputValue;\n if (inputValueChanged && this.props.onInputChange) {\n let nextState = this.props.onInputChange(newInputValue);\n\n if (nextState != null && typeof nextState !== 'object') {\n newInputValue = '' + nextState;\n }\n }\n\n this.setState(() => ({\n searchText: newInputValue,\n opened: true,\n }));\n this._debouncedFetchList(newInputValue);\n this._ignoreRecover = false;\n };\n\n _handleInputKey = (event: SyntheticKeyboardEvent<>) => {\n if (typeof this.props.onInputKeyDown === 'function') {\n this.props.onInputKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n\n if (!this.state.opened) {\n this.setState({ opened: true });\n safelyCall(this.props.onOpen);\n }\n\n this._menu && this._menu.up();\n break;\n case 'ArrowDown':\n event.preventDefault();\n\n if (!this.state.opened) {\n this.setState({ opened: true });\n safelyCall(this.props.onOpen);\n }\n\n this._menu && this._menu.down();\n break;\n case 'Enter':\n event.preventDefault();\n const handled = this._menu && this._menu.enter(event);\n if (!handled) {\n this._tryRecover();\n\n // Close ComboBox only if Enter wasn't handled by the Menu.\n this._handleBlur();\n }\n break;\n case 'Escape':\n event.preventDefault();\n if (!this.state.opened) {\n return;\n }\n this._close();\n break;\n }\n };\n\n _handleValueClick = () => {\n this._setCurrentSearchText(this.props.value, this.props.info);\n this._fetchList('');\n this._handleFocus();\n };\n\n _handleItemClick(event: SyntheticEvent<*>, options: { value?: Value, info?: Info, onClick?: () => void }) {\n this.setState({ searchText: '', opened: false, isEditing: false });\n this._change(options.value, options.info);\n\n safelyCall(options.onClick);\n this._handleBlur();\n }\n\n _handleArrowMouseDown = (event: SyntheticMouseEvent<>) => {\n event.preventDefault();\n };\n\n _handleArrowClick = (event: SyntheticMouseEvent<>) => {\n if (!this.state.opened && !this.props.disabled) {\n this._handleValueClick();\n }\n };\n\n _handleFocus = () => {\n /* Allow blur happen only if focus occured */\n this._ignoreBlur = false;\n\n this.setState({ isEditing: true, opened: true });\n safelyCall(this.props.onOpen);\n\n if (!safelyCall(this.props.onFocus)) {\n safelyCall(this.props.onAlkoFocus);\n }\n };\n\n _handleBlur = () => {\n if (this._ignoreBlur) {\n return;\n }\n\n this._close(true);\n this._tryRecover();\n\n if (!safelyCall(this.props.onBlur)) {\n safelyCall(this.props.onAlkoBlur);\n }\n\n /* Blur should occure only once */\n this._ignoreBlur = true;\n };\n\n _handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this._handleBlur();\n };\n\n _close = (endEdit?: boolean) => {\n this.setState(() => ({ isEditing: !endEdit, opened: false, result: null }));\n safelyCall(this.props.onClose);\n };\n\n _fetchList = (pattern: string) => {\n const expectingId = ++this._fetchingId;\n this.props.source(pattern).then(result => {\n if (!this._mounted) {\n return;\n }\n\n if (expectingId === this._fetchingId && this.state.opened) {\n this._menu && this._menu.reset();\n this.setState(() => ({ result }));\n }\n });\n };\n\n _focus = () => {\n if (this._focusable && this._focusable.setSelectionRange) {\n // $FlowIgnore\n this._focusable.setSelectionRange(0, this.state.searchText.length);\n } else if (this._focusable) {\n this._focusable.focus();\n }\n };\n\n _tryRecover() {\n if (this._ignoreRecover) {\n return;\n }\n this._ignoreRecover = true;\n\n if (!this.props.recover) {\n this._change(null);\n this.setState({ searchText: '' });\n return;\n }\n\n const searchText = this.state.searchText;\n let recovered: ?RecoverResult = null;\n\n if (typeof this.props.recover === 'function') {\n recovered = this.props.recover(searchText);\n } else if (this.props.recover === true) {\n recovered = { value: searchText };\n }\n\n if (recovered) {\n this._change(recovered.value, recovered.info);\n } else {\n this._change(null);\n this._setError(this.state.searchText ? 'not_recovered' : null);\n }\n }\n\n _setError(error: ErrorKind) {\n this._error = error;\n if (this._lastError !== error) {\n this._lastError = error;\n safelyCall(this.props.onError, error);\n }\n }\n\n _change(value: Value, info?: Info) {\n safelyCall(this.props.onChange, { target: { value } }, value, info);\n this._setError(null);\n\n /* No need in recovers after value changes */\n this._ignoreRecover = true;\n }\n\n _setCurrentSearchText(value: Value, info: ?Info) {\n const valueToString = this.props.valueToString;\n\n if (valueToString) {\n const searchText = value ? valueToString(value, info) : this.state.searchText;\n\n return this.setState({ searchText }, this._focus);\n }\n\n return this.setState({ searchText: '' }, this._focus);\n }\n}\n\nfunction safelyCall(fn: ?Function, ...args: any[]) {\n if (fn) {\n fn(...args);\n return true;\n }\n return false;\n}\n\nfunction mapResult(result: SourceResult, fn: (v: Value, d: Info, i: number) => any): Array<any> {\n return result.values.map((value, i) => {\n const info = result.infos && result.infos[i];\n return fn(value, info, i);\n });\n}\n\nfunction renderValue(value: *, info: *) {\n return info;\n}\n\nfunction renderItem(value: *, info: *, state: *) {\n return info;\n}\n\nfunction isFunction(fn) /*: boolean %checks */ {\n return typeof fn === 'function';\n}\n\nexport default ComboBoxRenderer;\n"]}
1
+ {"version":3,"sources":["ComboBoxRenderer.js"],"names":["INPUT_PASS_PROPS","borderless","error","warning","width","disabled","onMouseEnter","onMouseLeave","onMouseOver","ComboBoxRenderer","element","props","context","el","_focusable","focus","ReactDOM","findDOMNode","menu","_menu","event","value","newInputValue","inputValueChanged","state","searchText","onInputChange","nextState","setState","opened","_debouncedFetchList","_ignoreRecover","onInputKeyDown","defaultPrevented","key","preventDefault","safelyCall","onOpen","up","down","handled","enter","_tryRecover","_handleBlur","_close","_setCurrentSearchText","info","_fetchList","_handleFocus","_handleValueClick","_ignoreBlur","isEditing","onFocus","onAlkoFocus","onBlur","onAlkoBlur","e","endEdit","result","onClose","pattern","expectingId","_fetchingId","source","then","_mounted","reset","setSelectionRange","length","selected","debounceInterval","render","_handleClickOutside","styles","root","renderInput","renderValue","renderMenu","openButton","arrow","_handleArrowClick","_handleArrowMouseDown","inputProps","input","_refFocusable","_handleInputChange","_handleInputKey","placeholder","isNotRecovered","_error","isEmptyResults","values","menuAlign","disablePortal","_refMenu","renderEmptyResults","renderResults","renderTotalCount","mapResult","i","React","isValidElement","cloneElement","onClick","_handleItemClick","renderItem","renderNotFound","isFunction","total","totalCount","componentDidMount","autoFocus","_focus","componentWillUnmount","options","_change","recover","recovered","_setError","_lastError","onError","onChange","target","valueToString","Component","children","fn","args","map","infos"],"mappings":"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","sourcesContent":["// @flow\r\n/* eslint-disable flowtype/no-weak-types */\r\nimport * as React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport filterProps from '../filterProps';\r\n\r\nimport debounce from 'lodash.debounce';\r\n\r\nimport RenderLayer from '../RenderLayer';\r\nimport DropdownContainer from '../DropdownContainer/DropdownContainer';\r\nimport Input from '../Input';\r\nimport InputLikeText from '../internal/InputLikeText/InputLikeText';\r\nimport Menu from '../Menu/Menu';\r\nimport MenuItem from '../MenuItem/MenuItem';\r\nimport type { MenuItemState } from '../MenuItem/MenuItem';\r\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\r\n\r\nimport styles from './ComboBoxRenderer.module.less';\r\n\r\nconst INPUT_PASS_PROPS = {\r\n borderless: true,\r\n error: true,\r\n warning: true,\r\n width: true,\r\n disabled: true,\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport type Value = any;\r\nexport type Info = any;\r\n\r\ntype SourceResult = {\r\n values: Array<Value | React.Element<any> | (() => React.Element<any>)>,\r\n infos?: Array<Info>,\r\n total?: number,\r\n};\r\n\r\ntype RecoverResult = {\r\n value: Value,\r\n info?: Info,\r\n};\r\n\r\ntype ErrorKind = null | 'not_recovered';\r\n\r\ntype RecoverFunc = (searchString: string) => RecoverResult;\r\n\r\nexport type BaseProps = {\r\n autoFocus?: boolean,\r\n borderless?: boolean,\r\n disabled?: boolean,\r\n error?: boolean,\r\n info?: Info | ((v: Value) => Promise<Info>),\r\n menuAlign: 'left' | 'right',\r\n disablePortal?: boolean,\r\n debounceInterval?: number,\r\n openButton?: boolean,\r\n placeholder: string,\r\n recover?: RecoverFunc | boolean,\r\n renderItem: (value: Value, info: Info, state: MenuItemState) => React.Node,\r\n renderValue: (value: Value, info: ?Info) => React.Element<any>,\r\n renderNotFound?: string | ((searchText: string) => React.Element<any> | string),\r\n renderTotalCount?: (f: number, total: number) => React.Element<any> | string,\r\n source: (searchText: string) => Promise<SourceResult>,\r\n warning?: boolean,\r\n value: Value | null,\r\n valueToString?: (value: Value, info: ?Info) => string,\r\n width: number | string,\r\n\r\n onBlur?: () => void,\r\n onChange?: (event: { target: { value: Value } }, value: Value) => void,\r\n onClose?: () => void,\r\n onError?: (kind: ErrorKind) => void,\r\n onFocus?: () => void,\r\n onOpen?: () => void,\r\n onInputChange?: (value: string) => ?string,\r\n onInputKeyDown?: (e: SyntheticKeyboardEvent<>) => void,\r\n\r\n alkoValueToText?: (value: Value) => string,\r\n onAlkoFocus?: () => void,\r\n onAlkoBlur?: () => void,\r\n\r\n onMouseEnter?: (e: SyntheticMouseEvent<>) => void,\r\n onMouseLeave?: (e: SyntheticMouseEvent<>) => void,\r\n onMouseOver?: (e: SyntheticMouseEvent<>) => void,\r\n};\r\n\r\ntype Props = BaseProps & {\r\n info: Info,\r\n};\r\n\r\ntype State = {\r\n opened: boolean,\r\n searchText: string,\r\n isEditing: boolean,\r\n result: ?SourceResult,\r\n selected: number,\r\n};\r\n\r\nclass ComboBoxRenderer extends React.Component<Props, State> {\r\n // eslint-disable-next-line react/no-multi-comp\r\n static Item = class Item extends React.Component<{ children?: React.Node }> {\r\n render() {\r\n return <MenuItem>{this.props.children}</MenuItem>;\r\n }\r\n };\r\n\r\n static static(element: (() => React.Element<any>) | React.Element<any>) {\r\n return element;\r\n }\r\n\r\n static defaultProps = {\r\n renderItem,\r\n renderValue,\r\n placeholder: '',\r\n width: (250: number | string),\r\n menuAlign: 'left',\r\n debounceInterval: 0,\r\n };\r\n\r\n _mounted = false;\r\n _focusable = null;\r\n _menu: ?Menu = null;\r\n _focusSubscribtion: ?{ remove: () => void } = null;\r\n _lastError: ErrorKind = null;\r\n _error: ErrorKind = null;\r\n _ignoreRecover = true;\r\n _ignoreBlur = true;\r\n _fetchingId = 0;\r\n _debouncedFetchList: Function;\r\n\r\n constructor(props: Props, context: mixed) {\r\n super(props, context);\r\n\r\n this.state = {\r\n opened: false,\r\n searchText: '',\r\n result: null,\r\n isEditing: false,\r\n selected: -1,\r\n };\r\n\r\n const { debounceInterval } = this.props;\r\n this._debouncedFetchList =\r\n debounceInterval && debounceInterval > 0 ? debounce(this._fetchList, debounceInterval) : this._fetchList;\r\n }\r\n\r\n render() {\r\n return (\r\n <RenderLayer\r\n onFocusOutside={this._handleBlur}\r\n onClickOutside={this._handleClickOutside}\r\n active={this.state.opened}\r\n >\r\n <label className={styles.root} style={{ width: this.props.width }}>\r\n {this.state.isEditing ? this.renderInput() : this.renderValue()}\r\n {this.state.opened && this.renderMenu()}\r\n {this.props.openButton && (\r\n <div className={styles.arrow} onClick={this._handleArrowClick} onMouseDown={this._handleArrowMouseDown} />\r\n )}\r\n </label>\r\n </RenderLayer>\r\n );\r\n }\r\n\r\n renderInput() {\r\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\r\n return (\r\n <div className={styles.input}>\r\n <Input\r\n ref={this._refFocusable}\r\n {...inputProps}\r\n value={this.state.searchText}\r\n rightIcon={this.props.openButton && <span />}\r\n onChange={this._handleInputChange}\r\n onKeyDown={this._handleInputKey}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n renderValue() {\r\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\r\n\r\n const value = this.props.value ? (\r\n this.props.renderValue(this.props.value, this.props.info)\r\n ) : (\r\n <span className={styles.placeholder}>{this.props.placeholder}</span>\r\n );\r\n\r\n const isNotRecovered = !!this._error;\r\n\r\n return (\r\n <InputLikeText\r\n ref={this._refFocusable}\r\n {...inputProps}\r\n onClick={this._handleValueClick}\r\n onFocus={this._handleValueClick}\r\n error={isNotRecovered || this.props.error}\r\n >\r\n {isNotRecovered ? this.state.searchText : value}\r\n </InputLikeText>\r\n );\r\n }\r\n\r\n renderMenu() {\r\n const { result } = this.state;\r\n if (!result) {\r\n return null;\r\n }\r\n\r\n const isEmptyResults = result.values.length === 0;\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={() => ReactDOM.findDOMNode(this)}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n offsetY={1}\r\n >\r\n <Menu ref={this._refMenu} maxHeight={200}>\r\n {isEmptyResults ? this.renderEmptyResults() : this.renderResults(result)}\r\n {this.renderTotalCount(result)}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n renderResults(result: SourceResult): Array<?React.Element<Class<MenuItem>>> {\r\n return mapResult(result, (value, info, i) => {\r\n if (typeof value === 'function' || React.isValidElement(value)) {\r\n const element = typeof value === 'function' ? value() : value;\r\n return React.cloneElement(element, {\r\n key: i,\r\n onClick: event => this._handleItemClick(event, element.props),\r\n });\r\n }\r\n return (\r\n <MenuItem\r\n key={i}\r\n onClick={(event: SyntheticEvent<*>) => {\r\n this._handleItemClick(event, { value, info });\r\n }}\r\n >\r\n {state => this.props.renderItem(value, info, state)}\r\n </MenuItem>\r\n );\r\n });\r\n }\r\n\r\n renderEmptyResults(): ?React.Element<typeof MenuItem> {\r\n const { renderNotFound } = this.props;\r\n\r\n if (!renderNotFound) {\r\n return null;\r\n }\r\n\r\n const { searchText } = this.state;\r\n\r\n return (\r\n <MenuItem disabled={!isFunction(renderNotFound)}>\r\n {isFunction(renderNotFound) ? renderNotFound(searchText) : renderNotFound}\r\n </MenuItem>\r\n );\r\n }\r\n\r\n renderTotalCount(result: SourceResult) {\r\n const { renderTotalCount } = this.props;\r\n\r\n if (!renderTotalCount || !result || !result.values || !result.total) {\r\n return null;\r\n }\r\n\r\n if (result.values.length === result.total) {\r\n return null;\r\n }\r\n\r\n return (\r\n <MenuItem disabled>\r\n <div className={styles.totalCount}>{renderTotalCount(result.values.length, result.total)}</div>\r\n </MenuItem>\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._mounted = true;\r\n if (this.props.autoFocus) {\r\n this._focus();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._mounted = false;\r\n }\r\n\r\n _refFocusable = (el: Input | InputLikeText | null) => {\r\n this._focusable = el && (el.focus ? el : (ReactDOM.findDOMNode(el): any));\r\n };\r\n\r\n _refMenu = (menu: ?Menu) => {\r\n this._menu = menu;\r\n };\r\n\r\n _handleInputChange = (event: SyntheticInputEvent<HTMLInputElement>, value: string) => {\r\n let newInputValue = value;\r\n\r\n const inputValueChanged = this.state.searchText !== newInputValue;\r\n if (inputValueChanged && this.props.onInputChange) {\r\n let nextState = this.props.onInputChange(newInputValue);\r\n\r\n if (nextState != null && typeof nextState !== 'object') {\r\n newInputValue = '' + nextState;\r\n }\r\n }\r\n\r\n this.setState(() => ({\r\n searchText: newInputValue,\r\n opened: true,\r\n }));\r\n this._debouncedFetchList(newInputValue);\r\n this._ignoreRecover = false;\r\n };\r\n\r\n _handleInputKey = (event: SyntheticKeyboardEvent<>) => {\r\n if (typeof this.props.onInputKeyDown === 'function') {\r\n this.props.onInputKeyDown(event);\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n }\r\n\r\n switch (event.key) {\r\n case 'ArrowUp':\r\n event.preventDefault();\r\n\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n safelyCall(this.props.onOpen);\r\n }\r\n\r\n this._menu && this._menu.up();\r\n break;\r\n case 'ArrowDown':\r\n event.preventDefault();\r\n\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n safelyCall(this.props.onOpen);\r\n }\r\n\r\n this._menu && this._menu.down();\r\n break;\r\n case 'Enter':\r\n event.preventDefault();\r\n const handled = this._menu && this._menu.enter(event);\r\n if (!handled) {\r\n this._tryRecover();\r\n\r\n // Close ComboBox only if Enter wasn't handled by the Menu.\r\n this._handleBlur();\r\n }\r\n break;\r\n case 'Escape':\r\n event.preventDefault();\r\n if (!this.state.opened) {\r\n return;\r\n }\r\n this._close();\r\n break;\r\n }\r\n };\r\n\r\n _handleValueClick = () => {\r\n this._setCurrentSearchText(this.props.value, this.props.info);\r\n this._fetchList('');\r\n this._handleFocus();\r\n };\r\n\r\n _handleItemClick(event: SyntheticEvent<*>, options: { value?: Value, info?: Info, onClick?: () => void }) {\r\n this.setState({ searchText: '', opened: false, isEditing: false });\r\n this._change(options.value, options.info);\r\n\r\n safelyCall(options.onClick);\r\n this._handleBlur();\r\n }\r\n\r\n _handleArrowMouseDown = (event: SyntheticMouseEvent<>) => {\r\n event.preventDefault();\r\n };\r\n\r\n _handleArrowClick = (event: SyntheticMouseEvent<>) => {\r\n if (!this.state.opened && !this.props.disabled) {\r\n this._handleValueClick();\r\n }\r\n };\r\n\r\n _handleFocus = () => {\r\n /* Allow blur happen only if focus occured */\r\n this._ignoreBlur = false;\r\n\r\n this.setState({ isEditing: true, opened: true });\r\n safelyCall(this.props.onOpen);\r\n\r\n if (!safelyCall(this.props.onFocus)) {\r\n safelyCall(this.props.onAlkoFocus);\r\n }\r\n };\r\n\r\n _handleBlur = () => {\r\n if (this._ignoreBlur) {\r\n return;\r\n }\r\n\r\n this._close(true);\r\n this._tryRecover();\r\n\r\n if (!safelyCall(this.props.onBlur)) {\r\n safelyCall(this.props.onAlkoBlur);\r\n }\r\n\r\n /* Blur should occure only once */\r\n this._ignoreBlur = true;\r\n };\r\n\r\n _handleClickOutside = (e: Event) => {\r\n fixClickFocusIE(e);\r\n this._handleBlur();\r\n };\r\n\r\n _close = (endEdit?: boolean) => {\r\n this.setState(() => ({ isEditing: !endEdit, opened: false, result: null }));\r\n safelyCall(this.props.onClose);\r\n };\r\n\r\n _fetchList = (pattern: string) => {\r\n const expectingId = ++this._fetchingId;\r\n this.props.source(pattern).then(result => {\r\n if (!this._mounted) {\r\n return;\r\n }\r\n\r\n if (expectingId === this._fetchingId && this.state.opened) {\r\n this._menu && this._menu.reset();\r\n this.setState(() => ({ result }));\r\n }\r\n });\r\n };\r\n\r\n _focus = () => {\r\n if (this._focusable && this._focusable.setSelectionRange) {\r\n // $FlowIgnore\r\n this._focusable.setSelectionRange(0, this.state.searchText.length);\r\n } else if (this._focusable) {\r\n this._focusable.focus();\r\n }\r\n };\r\n\r\n _tryRecover() {\r\n if (this._ignoreRecover) {\r\n return;\r\n }\r\n this._ignoreRecover = true;\r\n\r\n if (!this.props.recover) {\r\n this._change(null);\r\n this.setState({ searchText: '' });\r\n return;\r\n }\r\n\r\n const searchText = this.state.searchText;\r\n let recovered: ?RecoverResult = null;\r\n\r\n if (typeof this.props.recover === 'function') {\r\n recovered = this.props.recover(searchText);\r\n } else if (this.props.recover === true) {\r\n recovered = { value: searchText };\r\n }\r\n\r\n if (recovered) {\r\n this._change(recovered.value, recovered.info);\r\n } else {\r\n this._change(null);\r\n this._setError(this.state.searchText ? 'not_recovered' : null);\r\n }\r\n }\r\n\r\n _setError(error: ErrorKind) {\r\n this._error = error;\r\n if (this._lastError !== error) {\r\n this._lastError = error;\r\n safelyCall(this.props.onError, error);\r\n }\r\n }\r\n\r\n _change(value: Value, info?: Info) {\r\n safelyCall(this.props.onChange, { target: { value } }, value, info);\r\n this._setError(null);\r\n\r\n /* No need in recovers after value changes */\r\n this._ignoreRecover = true;\r\n }\r\n\r\n _setCurrentSearchText(value: Value, info: ?Info) {\r\n const valueToString = this.props.valueToString;\r\n\r\n if (valueToString) {\r\n const searchText = value ? valueToString(value, info) : this.state.searchText;\r\n\r\n return this.setState({ searchText }, this._focus);\r\n }\r\n\r\n return this.setState({ searchText: '' }, this._focus);\r\n }\r\n}\r\n\r\nfunction safelyCall(fn: ?Function, ...args: any[]) {\r\n if (fn) {\r\n fn(...args);\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction mapResult(result: SourceResult, fn: (v: Value, d: Info, i: number) => any): Array<any> {\r\n return result.values.map((value, i) => {\r\n const info = result.infos && result.infos[i];\r\n return fn(value, info, i);\r\n });\r\n}\r\n\r\nfunction renderValue(value: *, info: *) {\r\n return info;\r\n}\r\n\r\nfunction renderItem(value: *, info: *, state: *) {\r\n return info;\r\n}\r\n\r\nfunction isFunction(fn) /*: boolean %checks */ {\r\n return typeof fn === 'function';\r\n}\r\n\r\nexport default ComboBoxRenderer;\r\n"]}
@@ -1,83 +1,83 @@
1
- ```jsx
2
- var items = [
3
- { id: 1, name: 'Kappa' },
4
- { id: 2, name: 'Keepo' },
5
- { id: 3, name: 'ResidentSleeper' },
6
- { id: 4, name: 'Kestrel' },
7
- { id: 5, name: 'Kats' },
8
- { id: 6, name: 'Junior' },
9
- ];
10
-
11
- function info(id) {
12
- return Promise.resolve(items.find(item => item.id === id));
13
- }
14
-
15
- function search(query) {
16
- query = query.toLowerCase();
17
- var results = items.filter(item => item.name.toLowerCase().indexOf(query) !== -1);
18
- return Promise.resolve({
19
- values: results.map(d => d.id).slice(0, 3),
20
- infos: results,
21
- total: results.length,
22
- });
23
- }
24
-
25
- function recover(query) {
26
- var found = items.find(x => x.name.toLowerCase() === query.toLowerCase());
27
- if (found) {
28
- return { value: found.id };
29
- }
30
- return null;
31
- }
32
-
33
- function renderValue(value, info) {
34
- return <span>{info ? info.name : 'Loading'}</span>;
35
- }
36
-
37
- function renderItem(value, info) {
38
- return (
39
- <span>
40
- {value}: {info.name}
41
- </span>
42
- );
43
- }
44
-
45
- function valueToString(id) {
46
- var info = items.find(x => x.id === id);
47
- return info ? info.name : '';
48
- }
49
-
50
- function renderTotalCount(found, total) {
51
- return (
52
- <div style={{ maxWidth: 220 }}>
53
- Displayed {found} from {total}
54
- </div>
55
- );
56
- }
57
-
58
- class Comp extends React.Component {
59
- constructor(props) {
60
- super(props);
61
- this.state = { value: 3 };
62
- }
63
-
64
- render() {
65
- return (
66
- <ComboBoxOld
67
- info={info}
68
- source={search}
69
- value={this.state.value}
70
- recover={recover}
71
- renderValue={renderValue}
72
- renderItem={renderItem}
73
- renderNotFound="Nothing here"
74
- renderTotalCount={renderTotalCount}
75
- valueToString={valueToString}
76
- onChange={e => this.setState({ value: e.target.value })}
77
- />
78
- );
79
- }
80
- }
81
-
82
- <Comp />;
83
- ```
1
+ ```jsx
2
+ var items = [
3
+ { id: 1, name: 'Kappa' },
4
+ { id: 2, name: 'Keepo' },
5
+ { id: 3, name: 'ResidentSleeper' },
6
+ { id: 4, name: 'Kestrel' },
7
+ { id: 5, name: 'Kats' },
8
+ { id: 6, name: 'Junior' },
9
+ ];
10
+
11
+ function info(id) {
12
+ return Promise.resolve(items.find(item => item.id === id));
13
+ }
14
+
15
+ function search(query) {
16
+ query = query.toLowerCase();
17
+ var results = items.filter(item => item.name.toLowerCase().indexOf(query) !== -1);
18
+ return Promise.resolve({
19
+ values: results.map(d => d.id).slice(0, 3),
20
+ infos: results,
21
+ total: results.length,
22
+ });
23
+ }
24
+
25
+ function recover(query) {
26
+ var found = items.find(x => x.name.toLowerCase() === query.toLowerCase());
27
+ if (found) {
28
+ return { value: found.id };
29
+ }
30
+ return null;
31
+ }
32
+
33
+ function renderValue(value, info) {
34
+ return <span>{info ? info.name : 'Loading'}</span>;
35
+ }
36
+
37
+ function renderItem(value, info) {
38
+ return (
39
+ <span>
40
+ {value}: {info.name}
41
+ </span>
42
+ );
43
+ }
44
+
45
+ function valueToString(id) {
46
+ var info = items.find(x => x.id === id);
47
+ return info ? info.name : '';
48
+ }
49
+
50
+ function renderTotalCount(found, total) {
51
+ return (
52
+ <div style={{ maxWidth: 220 }}>
53
+ Displayed {found} from {total}
54
+ </div>
55
+ );
56
+ }
57
+
58
+ class Comp extends React.Component {
59
+ constructor(props) {
60
+ super(props);
61
+ this.state = { value: 3 };
62
+ }
63
+
64
+ render() {
65
+ return (
66
+ <ComboBoxOld
67
+ info={info}
68
+ source={search}
69
+ value={this.state.value}
70
+ recover={recover}
71
+ renderValue={renderValue}
72
+ renderItem={renderItem}
73
+ renderNotFound="Nothing here"
74
+ renderTotalCount={renderTotalCount}
75
+ valueToString={valueToString}
76
+ onChange={e => this.setState({ value: e.target.value })}
77
+ />
78
+ );
79
+ }
80
+ }
81
+
82
+ <Comp />;
83
+ ```
@@ -1 +1 @@
1
- export { default, ComboBoxOldProps, ComboBoxOldState } from './ComboBoxOld';
1
+ export { default, ComboBoxOldProps, ComboBoxOldState } from './ComboBoxOld';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"names":["ComboBoxOld"],"mappings":"mEAAA,oE;AACeA,uB","sourcesContent":["import ComboBoxOld from './ComboBoxOld';\nexport default ComboBoxOld;\n"]}
1
+ {"version":3,"sources":["index.js"],"names":["ComboBoxOld"],"mappings":"mEAAA,oE;AACeA,uB","sourcesContent":["import ComboBoxOld from './ComboBoxOld';\r\nexport default ComboBoxOld;\r\n"]}
@@ -1,38 +1,38 @@
1
- import { DecimalOptions } from './CurrencyInputHelper';
2
- import { CursorMap } from './CursorHelper';
3
- import { Nullable } from '../../typings/utility-types';
4
- export interface DecimalFormattingOptions {
5
- fractionDigits?: Nullable<number>;
6
- thousandsDelimiter?: string;
7
- minusSign?: string;
8
- }
9
- interface DecimalFormattingOptionsInternal {
10
- fractionDigits: Nullable<number>;
11
- thousandsDelimiter: string;
12
- minusSign: string;
13
- }
14
- export interface FormattingInfo {
15
- raw: string;
16
- formatted: string;
17
- cursorMap: CursorMap;
18
- }
19
- export default class CurrencyHelper {
20
- static defaultOptions: DecimalFormattingOptionsInternal;
21
- static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal;
22
- static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo;
23
- static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap;
24
- static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string;
25
- static parse(value: string): Nullable<number>;
26
- static unformatString(value: string): string;
27
- static formatForClipboard(value: string): string;
28
- static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
29
- static isValidString(value: string, options: DecimalOptions): boolean;
30
- static extractValid(value: string, options: DecimalOptions): string;
31
- static destructString(value: string): {
32
- sign: string;
33
- integer: string;
34
- delimiter: string;
35
- fraction: string;
36
- } | null;
37
- }
38
- export {};
1
+ import { DecimalOptions } from './CurrencyInputHelper';
2
+ import { CursorMap } from './CursorHelper';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ export interface DecimalFormattingOptions {
5
+ fractionDigits?: Nullable<number>;
6
+ thousandsDelimiter?: string;
7
+ minusSign?: string;
8
+ }
9
+ interface DecimalFormattingOptionsInternal {
10
+ fractionDigits: Nullable<number>;
11
+ thousandsDelimiter: string;
12
+ minusSign: string;
13
+ }
14
+ export interface FormattingInfo {
15
+ raw: string;
16
+ formatted: string;
17
+ cursorMap: CursorMap;
18
+ }
19
+ export default class CurrencyHelper {
20
+ static defaultOptions: DecimalFormattingOptionsInternal;
21
+ static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal;
22
+ static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo;
23
+ static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap;
24
+ static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string;
25
+ static parse(value: string): Nullable<number>;
26
+ static unformatString(value: string): string;
27
+ static formatForClipboard(value: string): string;
28
+ static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
29
+ static isValidString(value: string, options: DecimalOptions): boolean;
30
+ static extractValid(value: string, options: DecimalOptions): string;
31
+ static destructString(value: string): {
32
+ sign: string;
33
+ integer: string;
34
+ delimiter: string;
35
+ fraction: string;
36
+ } | null;
37
+ }
38
+ export {};
@@ -1,44 +1,44 @@
1
- /* @flow */
2
- import type { CursorMap } from './CursorHelper';
3
-
4
- export type DecimalFormattingOptions = {|
5
- fractionDigits?: ?number,
6
- thousandsDelimiter?: string,
7
- minusSign?: string,
8
- |};
9
-
10
- type DecimalFormattingOptionsInternal = {|
11
- fractionDigits: ?number,
12
- thousandsDelimiter: string,
13
- minusSign: string,
14
- |};
15
-
16
- export type FormattingInfo = {|
17
- raw: string,
18
- formatted: string,
19
- cursorMap: CursorMap,
20
- |};
21
-
22
- declare class CurrencyHelper {
23
- static defaultOptions: DecimalFormattingOptionsInternal;
24
- static getOptions(options?: ?DecimalFormattingOptions): DecimalFormattingOptionsInternal;
25
- static getInfo(value: string, options?: ?DecimalFormattingOptions): FormattingInfo;
26
- static getCursorMap(formatted: string, formattingOptions?: ?DecimalFormattingOptions): CursorMap;
27
- static format(value: ?number, options?: ?DecimalFormattingOptions): string;
28
- static parse(value: string): ?number;
29
- static unformatString(value: string): string;
30
- static formatForClipboard(value: string): string;
31
- static formatString(value: string, formattingOptions?: ?DecimalFormattingOptions): string;
32
- static isValidString(value: string, fractionDigits: ?number, unsigned?: ?boolean): boolean;
33
- static extractValid(value: string, fractionDigits: ?number, unsigned: ?boolean): string;
34
- static destructString(
35
- value: string,
36
- ): {
37
- sign: string,
38
- integer: string,
39
- delimiter: string,
40
- fraction: string,
41
- } | null;
42
- }
43
-
44
- export default CurrencyHelper;
1
+ /* @flow */
2
+ import type { CursorMap } from './CursorHelper';
3
+
4
+ export type DecimalFormattingOptions = {|
5
+ fractionDigits?: ?number,
6
+ thousandsDelimiter?: string,
7
+ minusSign?: string,
8
+ |};
9
+
10
+ type DecimalFormattingOptionsInternal = {|
11
+ fractionDigits: ?number,
12
+ thousandsDelimiter: string,
13
+ minusSign: string,
14
+ |};
15
+
16
+ export type FormattingInfo = {|
17
+ raw: string,
18
+ formatted: string,
19
+ cursorMap: CursorMap,
20
+ |};
21
+
22
+ declare class CurrencyHelper {
23
+ static defaultOptions: DecimalFormattingOptionsInternal;
24
+ static getOptions(options?: ?DecimalFormattingOptions): DecimalFormattingOptionsInternal;
25
+ static getInfo(value: string, options?: ?DecimalFormattingOptions): FormattingInfo;
26
+ static getCursorMap(formatted: string, formattingOptions?: ?DecimalFormattingOptions): CursorMap;
27
+ static format(value: ?number, options?: ?DecimalFormattingOptions): string;
28
+ static parse(value: string): ?number;
29
+ static unformatString(value: string): string;
30
+ static formatForClipboard(value: string): string;
31
+ static formatString(value: string, formattingOptions?: ?DecimalFormattingOptions): string;
32
+ static isValidString(value: string, fractionDigits: ?number, unsigned?: ?boolean): boolean;
33
+ static extractValid(value: string, fractionDigits: ?number, unsigned: ?boolean): string;
34
+ static destructString(
35
+ value: string,
36
+ ): {
37
+ sign: string,
38
+ integer: string,
39
+ delimiter: string,
40
+ fraction: string,
41
+ } | null;
42
+ }
43
+
44
+ export default CurrencyHelper;