@steroidsjs/core 2.0.0-rc.7 → 2.0.1-beta.113

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 (965) hide show
  1. package/LICENSE +1 -1
  2. package/actions/auth.ts +55 -0
  3. package/actions/fields.ts +5 -0
  4. package/actions/list.ts +303 -0
  5. package/actions/modal.ts +33 -0
  6. package/actions/notifications.ts +37 -0
  7. package/actions/router.ts +111 -0
  8. package/actions/screen.ts +28 -0
  9. package/base/Enum.ts +28 -0
  10. package/build/docs-autogen-result.json +33256 -0
  11. package/build/docs-autogen.js +124 -0
  12. package/build/helpers.js +276 -0
  13. package/components/ClientStorageComponent.ts +117 -0
  14. package/components/HtmlComponent.ts +77 -0
  15. package/components/HttpComponent.tsx +300 -0
  16. package/components/LocaleComponent.tsx +136 -0
  17. package/components/MetaComponent.ts +226 -0
  18. package/components/ResourceComponent.ts +140 -0
  19. package/components/SocialComponent.ts +39 -0
  20. package/components/StoreComponent.ts +169 -0
  21. package/components/UiComponent.ts +107 -0
  22. package/components/WebSocketComponent.ts +222 -0
  23. package/components/index.ts +19 -0
  24. package/components/social/FacebookProvider.ts +55 -0
  25. package/components/social/GoogleProvider.ts +47 -0
  26. package/components/social/SteamProvider.ts +69 -0
  27. package/components/social/VkProvider.ts +70 -0
  28. package/components/social/index.ts +10 -0
  29. package/hoc/application.tsx +103 -0
  30. package/hoc/bem.tsx +55 -0
  31. package/hoc/components.tsx +67 -0
  32. package/hoc/connect.ts +16 -0
  33. package/hoc/dataProvider.tsx +521 -0
  34. package/hoc/fetch.tsx +175 -0
  35. package/hoc/field.tsx +285 -0
  36. package/hoc/file.tsx +322 -0
  37. package/hoc/form.tsx +88 -0
  38. package/hoc/formSubmit.tsx +158 -0
  39. package/hoc/http.tsx +112 -0
  40. package/hoc/index.ts +37 -0
  41. package/hoc/layout.tsx +205 -0
  42. package/hoc/list.tsx +549 -0
  43. package/hoc/normalize.tsx +60 -0
  44. package/hoc/props.tsx +27 -0
  45. package/hoc/screen.tsx +66 -0
  46. package/hoc/theme.tsx +56 -0
  47. package/index.d.ts +80 -89
  48. package/package.json +18 -58
  49. package/reducers/auth.ts +57 -0
  50. package/reducers/fields.ts +44 -0
  51. package/reducers/index.ts +23 -0
  52. package/reducers/list.ts +191 -0
  53. package/reducers/modal.ts +79 -0
  54. package/reducers/notifications.ts +39 -0
  55. package/reducers/router.ts +322 -0
  56. package/reducers/screen.ts +43 -0
  57. package/tsconfig.json +7 -0
  58. package/ui/crud/Crud/Crud.tsx +454 -0
  59. package/ui/crud/Crud/CrudDetail.tsx +17 -0
  60. package/ui/crud/Crud/CrudForm.tsx +33 -0
  61. package/ui/crud/Crud/CrudGrid.tsx +25 -0
  62. package/ui/crud/Crud/demo/default.tsx +58 -0
  63. package/ui/crud/Crud/{index.d.ts → index.ts} +0 -0
  64. package/ui/crud/index.ts +31 -0
  65. package/ui/form/AutoCompleteField/AutoCompleteField.story.js +9 -0
  66. package/ui/form/AutoCompleteField/AutoCompleteField.tsx +161 -0
  67. package/ui/form/AutoCompleteField/demo/basic.tsx +19 -0
  68. package/ui/form/AutoCompleteField/{index.d.ts → index.ts} +0 -0
  69. package/ui/form/BlankField/BlankField.tsx +23 -0
  70. package/ui/form/BlankField/{index.d.ts → index.ts} +0 -0
  71. package/ui/form/Button/Button.story.js +17 -0
  72. package/ui/form/Button/Button.tsx +383 -0
  73. package/ui/form/Button/demo/block.tsx +17 -0
  74. package/ui/form/Button/demo/colors.tsx +40 -0
  75. package/ui/form/Button/demo/disabled.tsx +16 -0
  76. package/ui/form/Button/demo/link.tsx +19 -0
  77. package/ui/form/Button/demo/sizes.tsx +28 -0
  78. package/ui/form/Button/index.ts +2 -0
  79. package/ui/form/CheckboxField/CheckboxField.story.js +15 -0
  80. package/ui/form/CheckboxField/CheckboxField.tsx +80 -0
  81. package/ui/form/CheckboxField/demo/basic.tsx +14 -0
  82. package/ui/form/CheckboxField/demo/disabled.tsx +15 -0
  83. package/ui/form/CheckboxField/demo/errors.tsx +15 -0
  84. package/ui/form/CheckboxField/demo/required.tsx +15 -0
  85. package/ui/form/CheckboxField/{index.d.ts → index.ts} +0 -0
  86. package/ui/form/CheckboxListField/CheckboxListField.tsx +81 -0
  87. package/ui/form/CheckboxListField/{index.d.ts → index.ts} +0 -0
  88. package/ui/form/DateField/DateField.story.js +19 -0
  89. package/ui/form/DateField/DateField.tsx +165 -0
  90. package/ui/form/DateField/demo/disabled.tsx +11 -0
  91. package/ui/form/DateField/demo/errors.tsx +10 -0
  92. package/ui/form/DateField/demo/icon.tsx +13 -0
  93. package/ui/form/DateField/demo/placeholder.tsx +10 -0
  94. package/ui/form/DateField/demo/required.tsx +10 -0
  95. package/ui/form/DateField/demo/sizes.tsx +20 -0
  96. package/ui/form/DateField/{index.d.ts → index.ts} +0 -0
  97. package/ui/form/DateTimeField/DateTimeField.story.js +15 -0
  98. package/ui/form/DateTimeField/DateTimeField.tsx +153 -0
  99. package/ui/form/DateTimeField/demo/disabled.tsx +10 -0
  100. package/ui/form/DateTimeField/demo/errors.tsx +10 -0
  101. package/ui/form/DateTimeField/demo/required.tsx +10 -0
  102. package/ui/form/DateTimeField/demo/sizes.tsx +20 -0
  103. package/ui/form/DateTimeField/{index.d.ts → index.ts} +0 -0
  104. package/ui/form/DropDownField/DropDownField.story.js +23 -0
  105. package/ui/form/DropDownField/DropDownField.tsx +146 -0
  106. package/ui/form/DropDownField/demo/auto-complete.tsx +31 -0
  107. package/ui/form/DropDownField/demo/disabled.tsx +13 -0
  108. package/ui/form/DropDownField/demo/errors.tsx +13 -0
  109. package/ui/form/DropDownField/demo/multiple.tsx +13 -0
  110. package/ui/form/DropDownField/demo/no-border.tsx +16 -0
  111. package/ui/form/DropDownField/demo/placeholder.tsx +14 -0
  112. package/ui/form/DropDownField/demo/required.tsx +13 -0
  113. package/ui/form/DropDownField/demo/show-reset.tsx +13 -0
  114. package/ui/form/DropDownField/{index.d.ts → index.ts} +0 -0
  115. package/ui/form/Field/Field.tsx +34 -0
  116. package/ui/form/Field/{index.d.ts → index.ts} +0 -0
  117. package/ui/form/FieldLayout/FieldLayout.story.js +13 -0
  118. package/ui/form/FieldLayout/FieldLayout.tsx +73 -0
  119. package/ui/form/FieldLayout/demo/default.tsx +8 -0
  120. package/ui/form/FieldLayout/demo/horizontal.tsx +8 -0
  121. package/ui/form/FieldLayout/demo/inline.tsx +9 -0
  122. package/ui/form/FieldLayout/{index.d.ts → index.ts} +0 -0
  123. package/ui/form/FieldList/FieldList.story.js +9 -0
  124. package/ui/form/FieldList/FieldList.tsx +204 -0
  125. package/ui/form/FieldList/demo/basic.tsx +29 -0
  126. package/ui/form/FieldList/{index.d.ts → index.ts} +0 -0
  127. package/ui/form/FieldList/tableNavigationHandler.ts +41 -0
  128. package/ui/form/FieldSet/FieldSet.tsx +69 -0
  129. package/ui/form/FieldSet/{index.d.ts → index.ts} +0 -0
  130. package/ui/form/FileField/FileField.story.js +9 -0
  131. package/ui/form/FileField/FileField.tsx +204 -0
  132. package/ui/form/FileField/demo/basic.tsx +12 -0
  133. package/ui/form/FileField/{index.d.ts → index.ts} +0 -0
  134. package/ui/form/Form/AutoSaveHelper.ts +23 -0
  135. package/ui/form/Form/Form.story.js +9 -0
  136. package/ui/form/Form/Form.tsx +274 -0
  137. package/ui/form/Form/SyncAddressBarHelper.ts +82 -0
  138. package/ui/form/Form/demo/basic.tsx +42 -0
  139. package/ui/form/Form/{index.d.ts → index.ts} +0 -0
  140. package/ui/form/HtmlField/HtmlField.tsx +291 -0
  141. package/ui/form/HtmlField/demo/basic.tsx +41 -0
  142. package/ui/form/HtmlField/{index.d.ts → index.ts} +0 -0
  143. package/ui/form/InputField/InputField.story.js +27 -0
  144. package/ui/form/InputField/InputField.tsx +180 -0
  145. package/ui/form/InputField/demo/addons.tsx +14 -0
  146. package/ui/form/InputField/demo/basic.tsx +14 -0
  147. package/ui/form/InputField/demo/disabled.tsx +14 -0
  148. package/ui/form/InputField/demo/errors.tsx +14 -0
  149. package/ui/form/InputField/demo/mask.tsx +19 -0
  150. package/ui/form/InputField/demo/placeholder.tsx +14 -0
  151. package/ui/form/InputField/demo/required.tsx +14 -0
  152. package/ui/form/InputField/demo/sizes.tsx +24 -0
  153. package/ui/form/InputField/demo/textAddons.tsx +14 -0
  154. package/ui/form/InputField/demo/types.tsx +26 -0
  155. package/ui/form/InputField/{index.d.ts → index.ts} +0 -0
  156. package/ui/form/NavField/NavField.tsx +36 -0
  157. package/ui/form/NavField/{index.d.ts → index.ts} +0 -0
  158. package/ui/form/NumberField/NumberField.story.js +19 -0
  159. package/ui/form/NumberField/NumberField.tsx +90 -0
  160. package/ui/form/NumberField/demo/basic.tsx +14 -0
  161. package/ui/form/NumberField/demo/disabled.tsx +14 -0
  162. package/ui/form/NumberField/demo/errors.tsx +14 -0
  163. package/ui/form/NumberField/demo/placeholder.tsx +14 -0
  164. package/ui/form/NumberField/demo/required.tsx +14 -0
  165. package/ui/form/NumberField/demo/sizes.tsx +24 -0
  166. package/ui/form/NumberField/{index.d.ts → index.ts} +0 -0
  167. package/ui/form/PasswordField/PasswordField.story.js +21 -0
  168. package/ui/form/PasswordField/PasswordField.tsx +127 -0
  169. package/ui/form/PasswordField/demo/basic.tsx +14 -0
  170. package/ui/form/PasswordField/demo/disabled.tsx +14 -0
  171. package/ui/form/PasswordField/demo/errors.tsx +14 -0
  172. package/ui/form/PasswordField/demo/placeholder.tsx +14 -0
  173. package/ui/form/PasswordField/demo/required.tsx +14 -0
  174. package/ui/form/PasswordField/demo/security.tsx +14 -0
  175. package/ui/form/PasswordField/demo/sizes.tsx +24 -0
  176. package/ui/form/PasswordField/{index.d.ts → index.ts} +0 -0
  177. package/ui/form/RadioListField/RadioListField.story.js +13 -0
  178. package/ui/form/RadioListField/RadioListField.tsx +70 -0
  179. package/ui/form/RadioListField/demo/disabled.tsx +31 -0
  180. package/ui/form/RadioListField/demo/errors.tsx +13 -0
  181. package/ui/form/RadioListField/demo/required.tsx +13 -0
  182. package/ui/form/RadioListField/{index.d.ts → index.ts} +0 -0
  183. package/ui/form/RangeField/RangeField.story.js +19 -0
  184. package/ui/form/RangeField/RangeField.tsx +173 -0
  185. package/ui/form/RangeField/demo/date.tsx +11 -0
  186. package/ui/form/RangeField/demo/disabled.tsx +8 -0
  187. package/ui/form/RangeField/demo/errors.tsx +11 -0
  188. package/ui/form/RangeField/demo/placeholders.tsx +12 -0
  189. package/ui/form/RangeField/demo/required.tsx +8 -0
  190. package/ui/form/RangeField/demo/sizes.tsx +18 -0
  191. package/ui/form/RangeField/demo/types.tsx +17 -0
  192. package/ui/form/RangeField/index.ts +2 -0
  193. package/ui/form/ReCaptchaField/ReCaptchaField.tsx +40 -0
  194. package/ui/form/ReCaptchaField/{index.d.ts → index.ts} +0 -0
  195. package/ui/form/SliderField/SliderField.tsx +80 -0
  196. package/ui/form/SliderField/{index.d.ts → index.ts} +0 -0
  197. package/ui/form/SwitcherField/SwitcherField.tsx +60 -0
  198. package/ui/form/SwitcherField/{index.d.ts → index.ts} +0 -0
  199. package/ui/form/TextField/TextField.story.js +19 -0
  200. package/ui/form/TextField/TextField.tsx +93 -0
  201. package/ui/form/TextField/demo/disabled.tsx +8 -0
  202. package/ui/form/TextField/demo/errors.tsx +8 -0
  203. package/ui/form/TextField/demo/placeholder.tsx +8 -0
  204. package/ui/form/TextField/demo/required.tsx +8 -0
  205. package/ui/form/TextField/demo/sizes.tsx +18 -0
  206. package/ui/form/TextField/demo/submit.tsx +8 -0
  207. package/ui/form/TextField/{index.d.ts → index.ts} +0 -0
  208. package/ui/form/TimeField/TimeField.story.js +17 -0
  209. package/ui/form/TimeField/TimeField.tsx +107 -0
  210. package/ui/form/TimeField/demo/disabled.tsx +8 -0
  211. package/ui/form/TimeField/demo/errors.tsx +8 -0
  212. package/ui/form/TimeField/demo/placeholder.tsx +8 -0
  213. package/ui/form/TimeField/demo/required.tsx +8 -0
  214. package/ui/form/TimeField/demo/sizes.tsx +18 -0
  215. package/ui/form/TimeField/{index.d.ts → index.ts} +0 -0
  216. package/ui/form/index.ts +84 -0
  217. package/ui/form/validate.ts +90 -0
  218. package/ui/format/BooleanFormatter/BooleanFormatter.tsx +23 -0
  219. package/ui/format/BooleanFormatter/{index.d.ts → index.ts} +0 -0
  220. package/ui/format/DateFormatter/DateFormatter.tsx +40 -0
  221. package/ui/format/DateFormatter/demo/basic.tsx +11 -0
  222. package/ui/format/DateFormatter/{index.d.ts → index.ts} +0 -0
  223. package/ui/format/DateTimeFormatter/DateTimeFormatter.tsx +52 -0
  224. package/ui/format/DateTimeFormatter/demo/basic.tsx +11 -0
  225. package/ui/format/DateTimeFormatter/{index.d.ts → index.ts} +0 -0
  226. package/ui/format/EnumFormatter/EnumFormatter.tsx +62 -0
  227. package/ui/format/EnumFormatter/{index.d.ts → index.ts} +0 -0
  228. package/ui/format/FileSize/FileSize.tsx +60 -0
  229. package/ui/format/FileSize/{index.d.ts → index.ts} +0 -0
  230. package/ui/format/Format/Format.tsx +80 -0
  231. package/ui/format/Format/{index.d.ts → index.ts} +0 -0
  232. package/ui/format/MoneyFormatter/MoneyFormatter.tsx +67 -0
  233. package/ui/format/MoneyFormatter/{index.d.ts → index.ts} +0 -0
  234. package/ui/format/PhotosFormatter/PhotosFormatter.tsx +63 -0
  235. package/ui/format/PhotosFormatter/index.ts +2 -0
  236. package/ui/format/index.ts +27 -0
  237. package/ui/icon/Icon/Icon.tsx +98 -0
  238. package/ui/icon/Icon/demo/icon.tsx +70 -0
  239. package/ui/icon/Icon/index.ts +2 -0
  240. package/ui/layout/Header/Header.tsx +40 -0
  241. package/ui/layout/Header/{index.d.ts → index.ts} +0 -0
  242. package/ui/layout/Loader/Loader.tsx +23 -0
  243. package/ui/layout/Loader/{index.d.ts → index.ts} +0 -0
  244. package/ui/layout/Notifications/Notifications.tsx +145 -0
  245. package/ui/layout/Notifications/demo/basic.tsx +48 -0
  246. package/ui/layout/Notifications/{index.d.ts → index.ts} +0 -0
  247. package/ui/layout/Portal.tsx +31 -0
  248. package/ui/layout/Tooltip/Tooltip.tsx +500 -0
  249. package/ui/layout/Tooltip/TooltipPortalInner.tsx +18 -0
  250. package/ui/layout/Tooltip/demo/basic.tsx +23 -0
  251. package/ui/layout/Tooltip/{index.d.ts → index.tsx} +0 -0
  252. package/ui/layout/index.ts +10 -0
  253. package/ui/list/Accordion/Accordion.tsx +146 -0
  254. package/ui/list/Accordion/index.ts +2 -0
  255. package/ui/list/CheckboxColumn/CheckboxColumn.tsx +82 -0
  256. package/ui/list/CheckboxColumn/{index.d.ts → index.ts} +0 -0
  257. package/ui/list/ControlsColumn/ControlsColumn.tsx +49 -0
  258. package/ui/list/ControlsColumn/{index.d.ts → index.ts} +0 -0
  259. package/ui/list/Detail/Detail.tsx +116 -0
  260. package/ui/list/Detail/index.ts +2 -0
  261. package/ui/list/Empty/Empty.tsx +28 -0
  262. package/ui/list/Empty/demo/basic.tsx +11 -0
  263. package/ui/list/Empty/{index.d.ts → index.ts} +0 -0
  264. package/ui/list/Grid/Grid.tsx +169 -0
  265. package/ui/list/Grid/demo/load-more.tsx +71 -0
  266. package/ui/list/Grid/demo/pagination.tsx +40 -0
  267. package/ui/list/Grid/demo/visible.tsx +36 -0
  268. package/ui/list/Grid/{index.d.ts → index.ts} +0 -0
  269. package/ui/list/List/List.tsx +75 -0
  270. package/ui/list/List/demo/basic.tsx +42 -0
  271. package/ui/list/List/demo/empty.tsx +16 -0
  272. package/ui/list/List/demo/pagination-layout.tsx +36 -0
  273. package/ui/list/List/demo/pagination-more-size.tsx +28 -0
  274. package/ui/list/List/demo/pagination-pages.tsx +28 -0
  275. package/ui/list/List/demo/pagination-search.tsx +42 -0
  276. package/ui/list/List/{index.d.ts → index.ts} +0 -0
  277. package/ui/list/Pagination/Pagination.tsx +125 -0
  278. package/ui/list/Pagination/demo/basic.tsx +49 -0
  279. package/ui/list/Pagination/demo/load-more.tsx +18 -0
  280. package/ui/list/Pagination/demo/sizes.tsx +28 -0
  281. package/ui/list/Pagination/{index.d.ts → index.ts} +0 -0
  282. package/ui/list/PaginationSize/PaginationSize.tsx +76 -0
  283. package/ui/list/PaginationSize/demo/basic.tsx +31 -0
  284. package/ui/list/PaginationSize/{index.d.ts → index.ts} +0 -0
  285. package/ui/list/index.ts +7 -0
  286. package/ui/modal/Modal/Modal.tsx +55 -0
  287. package/ui/modal/Modal/demo/basic.tsx +50 -0
  288. package/ui/modal/Modal/{index.d.ts → index.ts} +0 -0
  289. package/ui/modal/ModalPortal/ModalPortal.tsx +75 -0
  290. package/ui/modal/ModalPortal/{index.d.ts → index.ts} +0 -0
  291. package/ui/modal/TwoFactorModal/TwoFactorModal.tsx +80 -0
  292. package/ui/modal/TwoFactorModal/{index.d.ts → index.ts} +0 -0
  293. package/ui/modal/index.ts +6 -0
  294. package/ui/nav/Breadcrumbs/Breadcrumbs.tsx +40 -0
  295. package/ui/nav/Breadcrumbs/{index.d.ts → index.ts} +0 -0
  296. package/ui/nav/Controls/Controls.tsx +87 -0
  297. package/ui/nav/Controls/{index.d.ts → index.ts} +0 -0
  298. package/ui/nav/Link/Link.tsx +25 -0
  299. package/ui/nav/Link/{index.d.ts → index.ts} +0 -0
  300. package/ui/nav/Nav/Nav.tsx +147 -0
  301. package/ui/nav/Nav/demo/buttons.tsx +48 -0
  302. package/ui/nav/Nav/demo/links.tsx +13 -0
  303. package/ui/nav/Nav/demo/navbar.tsx +34 -0
  304. package/ui/nav/Nav/demo/tabs.tsx +13 -0
  305. package/ui/nav/Nav/{index.d.ts → index.ts} +0 -0
  306. package/ui/nav/Router/Router.tsx +235 -0
  307. package/ui/nav/Router/SsrProvider.tsx +32 -0
  308. package/ui/nav/Router/{index.d.ts → index.ts} +0 -0
  309. package/ui/nav/Router/navigationHoc.tsx +135 -0
  310. package/ui/nav/Tree/Tree.tsx +279 -0
  311. package/ui/nav/Tree/demo/level-tree-routes.tsx +10 -0
  312. package/ui/nav/Tree/demo/level-tree.tsx +44 -0
  313. package/ui/nav/Tree/{index.d.ts → index.ts} +0 -0
  314. package/ui/nav/{index.d.ts → index.ts} +0 -0
  315. package/utils/collection.ts +13 -0
  316. package/utils/data.ts +120 -0
  317. package/utils/query.ts +147 -0
  318. package/utils/text.ts +82 -0
  319. package/actions/auth.d.ts +0 -24
  320. package/actions/auth.js +0 -65
  321. package/actions/fields.d.ts +0 -5
  322. package/actions/fields.js +0 -9
  323. package/actions/form.d.ts +0 -59
  324. package/actions/form.js +0 -68
  325. package/actions/list.d.ts +0 -103
  326. package/actions/list.js +0 -293
  327. package/actions/modal.d.ts +0 -20
  328. package/actions/modal.js +0 -44
  329. package/actions/notifications.d.ts +0 -13
  330. package/actions/notifications.js +0 -50
  331. package/actions/router.d.ts +0 -15
  332. package/actions/router.js +0 -51
  333. package/actions/screen.d.ts +0 -7
  334. package/actions/screen.js +0 -33
  335. package/base/Enum.d.ts +0 -11
  336. package/base/Enum.js +0 -32
  337. package/components/ClientStorageComponent.d.ts +0 -33
  338. package/components/ClientStorageComponent.js +0 -129
  339. package/components/HtmlComponent.d.ts +0 -15
  340. package/components/HtmlComponent.js +0 -93
  341. package/components/HttpComponent.d.ts +0 -49
  342. package/components/HttpComponent.js +0 -333
  343. package/components/LocaleComponent.d.ts +0 -30
  344. package/components/LocaleComponent.js +0 -156
  345. package/components/MetaComponent.d.ts +0 -136
  346. package/components/MetaComponent.js +0 -175
  347. package/components/MetricsComponent.d.ts +0 -39
  348. package/components/MetricsComponent.js +0 -156
  349. package/components/ResourceComponent.d.ts +0 -22
  350. package/components/ResourceComponent.js +0 -144
  351. package/components/SocialComponent.d.ts +0 -12
  352. package/components/SocialComponent.js +0 -41
  353. package/components/StoreComponent.d.ts +0 -29
  354. package/components/StoreComponent.js +0 -146
  355. package/components/UiComponent.d.ts +0 -37
  356. package/components/UiComponent.js +0 -173
  357. package/components/WebSocketComponent.d.ts +0 -31
  358. package/components/WebSocketComponent.js +0 -234
  359. package/components/social/FacebookProvider.d.ts +0 -8
  360. package/components/social/FacebookProvider.js +0 -93
  361. package/components/social/GoogleProvider.d.ts +0 -9
  362. package/components/social/GoogleProvider.js +0 -98
  363. package/components/social/SteamProvider.d.ts +0 -7
  364. package/components/social/SteamProvider.js +0 -126
  365. package/components/social/VkProvider.d.ts +0 -8
  366. package/components/social/VkProvider.js +0 -128
  367. package/components/social/index.d.ts +0 -11
  368. package/components/social/index.js +0 -15
  369. package/hoc/application.d.ts +0 -8
  370. package/hoc/application.js +0 -46
  371. package/hoc/bem.d.ts +0 -14
  372. package/hoc/bem.js +0 -38
  373. package/hoc/components.d.ts +0 -11
  374. package/hoc/components.js +0 -58
  375. package/hoc/connect.d.ts +0 -6
  376. package/hoc/connect.js +0 -3
  377. package/hoc/fetch.d.ts +0 -13
  378. package/hoc/fetch.js +0 -56
  379. package/hoc/file.d.ts +0 -23
  380. package/hoc/file.js +0 -41
  381. package/hoc/http.d.ts +0 -7
  382. package/hoc/http.js +0 -49
  383. package/hoc/index.d.ts +0 -8
  384. package/hoc/index.js +0 -20
  385. package/hoc/layout.d.ts +0 -31
  386. package/hoc/layout.js +0 -44
  387. package/hooks/index.d.ts +0 -7
  388. package/hooks/index.js +0 -18
  389. package/hooks/useAddressBar.d.ts +0 -23
  390. package/hooks/useAddressBar.js +0 -127
  391. package/hooks/useApplication.d.ts +0 -33
  392. package/hooks/useApplication.js +0 -119
  393. package/hooks/useBem.d.ts +0 -10
  394. package/hooks/useBem.js +0 -14
  395. package/hooks/useComponents.d.ts +0 -14
  396. package/hooks/useComponents.js +0 -12
  397. package/hooks/useDataProvider.d.ts +0 -92
  398. package/hooks/useDataProvider.js +0 -144
  399. package/hooks/useDataSelect.d.ts +0 -42
  400. package/hooks/useDataSelect.js +0 -155
  401. package/hooks/useDispatch.d.ts +0 -1
  402. package/hooks/useDispatch.js +0 -7
  403. package/hooks/useFetch.d.ts +0 -30
  404. package/hooks/useFetch.js +0 -147
  405. package/hooks/useFile.d.ts +0 -2
  406. package/hooks/useFile.js +0 -194
  407. package/hooks/useForm.d.ts +0 -8
  408. package/hooks/useForm.js +0 -18
  409. package/hooks/useInitial.d.ts +0 -1
  410. package/hooks/useInitial.js +0 -11
  411. package/hooks/useLayout.d.ts +0 -12
  412. package/hooks/useLayout.js +0 -127
  413. package/hooks/useList.d.ts +0 -155
  414. package/hooks/useList.js +0 -238
  415. package/hooks/useModel.d.ts +0 -2
  416. package/hooks/useModel.js +0 -16
  417. package/hooks/useSelector.d.ts +0 -1
  418. package/hooks/useSelector.js +0 -7
  419. package/hooks/useUniqueId.d.ts +0 -1
  420. package/hooks/useUniqueId.js +0 -15
  421. package/reducers/auth.d.ts +0 -21
  422. package/reducers/auth.js +0 -61
  423. package/reducers/fields.d.ts +0 -11
  424. package/reducers/fields.js +0 -55
  425. package/reducers/form.d.ts +0 -9
  426. package/reducers/form.js +0 -66
  427. package/reducers/index.d.ts +0 -13
  428. package/reducers/index.js +0 -41
  429. package/reducers/list.d.ts +0 -12
  430. package/reducers/list.js +0 -143
  431. package/reducers/modal.d.ts +0 -12
  432. package/reducers/modal.js +0 -78
  433. package/reducers/notifications.d.ts +0 -10
  434. package/reducers/notifications.js +0 -44
  435. package/reducers/router.d.ts +0 -62
  436. package/reducers/router.js +0 -221
  437. package/reducers/screen.d.ts +0 -26
  438. package/reducers/screen.js +0 -54
  439. package/ui/crud/Crud/Crud.d.ts +0 -85
  440. package/ui/crud/Crud/Crud.js +0 -359
  441. package/ui/crud/Crud/CrudDetail.d.ts +0 -2
  442. package/ui/crud/Crud/CrudDetail.js +0 -14
  443. package/ui/crud/Crud/CrudForm.d.ts +0 -3
  444. package/ui/crud/Crud/CrudForm.js +0 -49
  445. package/ui/crud/Crud/CrudGrid.d.ts +0 -3
  446. package/ui/crud/Crud/CrudGrid.js +0 -46
  447. package/ui/crud/Crud/demo/default.d.ts +0 -8
  448. package/ui/crud/Crud/demo/default.js +0 -72
  449. package/ui/crud/Crud/index.js +0 -7
  450. package/ui/crud/index.d.ts +0 -31
  451. package/ui/crud/index.js +0 -29
  452. package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +0 -44
  453. package/ui/form/AutoCompleteField/AutoCompleteField.js +0 -109
  454. package/ui/form/AutoCompleteField/demo/basic.d.ts +0 -12
  455. package/ui/form/AutoCompleteField/demo/basic.js +0 -48
  456. package/ui/form/AutoCompleteField/demo/disabled.d.ts +0 -8
  457. package/ui/form/AutoCompleteField/demo/disabled.js +0 -34
  458. package/ui/form/AutoCompleteField/demo/errors.d.ts +0 -3
  459. package/ui/form/AutoCompleteField/demo/errors.js +0 -29
  460. package/ui/form/AutoCompleteField/demo/placeholder.d.ts +0 -8
  461. package/ui/form/AutoCompleteField/demo/placeholder.js +0 -34
  462. package/ui/form/AutoCompleteField/demo/required.d.ts +0 -8
  463. package/ui/form/AutoCompleteField/demo/required.js +0 -34
  464. package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -8
  465. package/ui/form/AutoCompleteField/demo/sizes.js +0 -39
  466. package/ui/form/AutoCompleteField/index.js +0 -7
  467. package/ui/form/BlankField/BlankField.d.ts +0 -8
  468. package/ui/form/BlankField/BlankField.js +0 -30
  469. package/ui/form/BlankField/index.js +0 -7
  470. package/ui/form/Button/Button.d.ts +0 -190
  471. package/ui/form/Button/Button.js +0 -146
  472. package/ui/form/Button/demo/badge.d.ts +0 -8
  473. package/ui/form/Button/demo/badge.js +0 -33
  474. package/ui/form/Button/demo/block.d.ts +0 -8
  475. package/ui/form/Button/demo/block.js +0 -33
  476. package/ui/form/Button/demo/colors.d.ts +0 -8
  477. package/ui/form/Button/demo/colors.js +0 -45
  478. package/ui/form/Button/demo/disabled.d.ts +0 -8
  479. package/ui/form/Button/demo/disabled.js +0 -33
  480. package/ui/form/Button/demo/icon.d.ts +0 -8
  481. package/ui/form/Button/demo/icon.js +0 -33
  482. package/ui/form/Button/demo/link.d.ts +0 -8
  483. package/ui/form/Button/demo/link.js +0 -33
  484. package/ui/form/Button/demo/sizes.d.ts +0 -8
  485. package/ui/form/Button/demo/sizes.js +0 -37
  486. package/ui/form/Button/demo/tags.d.ts +0 -8
  487. package/ui/form/Button/demo/tags.js +0 -34
  488. package/ui/form/Button/index.d.ts +0 -1
  489. package/ui/form/Button/index.js +0 -12
  490. package/ui/form/CheckboxField/CheckboxField.d.ts +0 -39
  491. package/ui/form/CheckboxField/CheckboxField.js +0 -37
  492. package/ui/form/CheckboxField/demo/basic.d.ts +0 -8
  493. package/ui/form/CheckboxField/demo/basic.js +0 -33
  494. package/ui/form/CheckboxField/demo/disabled.d.ts +0 -8
  495. package/ui/form/CheckboxField/demo/disabled.js +0 -33
  496. package/ui/form/CheckboxField/demo/errors.d.ts +0 -8
  497. package/ui/form/CheckboxField/demo/errors.js +0 -33
  498. package/ui/form/CheckboxField/demo/required.d.ts +0 -8
  499. package/ui/form/CheckboxField/demo/required.js +0 -33
  500. package/ui/form/CheckboxField/index.js +0 -7
  501. package/ui/form/CheckboxListField/CheckboxListField.d.ts +0 -49
  502. package/ui/form/CheckboxListField/CheckboxListField.js +0 -57
  503. package/ui/form/CheckboxListField/demo/basic.d.ts +0 -9
  504. package/ui/form/CheckboxListField/demo/basic.js +0 -39
  505. package/ui/form/CheckboxListField/demo/disabled.d.ts +0 -8
  506. package/ui/form/CheckboxListField/demo/disabled.js +0 -34
  507. package/ui/form/CheckboxListField/demo/errors.d.ts +0 -3
  508. package/ui/form/CheckboxListField/demo/errors.js +0 -29
  509. package/ui/form/CheckboxListField/demo/required.d.ts +0 -3
  510. package/ui/form/CheckboxListField/demo/required.js +0 -29
  511. package/ui/form/CheckboxListField/index.js +0 -7
  512. package/ui/form/DateField/DateField.d.ts +0 -61
  513. package/ui/form/DateField/DateField.js +0 -84
  514. package/ui/form/DateField/demo/basic.d.ts +0 -3
  515. package/ui/form/DateField/demo/basic.js +0 -28
  516. package/ui/form/DateField/demo/disabled.d.ts +0 -3
  517. package/ui/form/DateField/demo/disabled.js +0 -28
  518. package/ui/form/DateField/demo/errors.d.ts +0 -3
  519. package/ui/form/DateField/demo/errors.js +0 -28
  520. package/ui/form/DateField/demo/icon.d.ts +0 -3
  521. package/ui/form/DateField/demo/icon.js +0 -30
  522. package/ui/form/DateField/demo/placeholder.d.ts +0 -3
  523. package/ui/form/DateField/demo/placeholder.js +0 -28
  524. package/ui/form/DateField/demo/required.d.ts +0 -3
  525. package/ui/form/DateField/demo/required.js +0 -28
  526. package/ui/form/DateField/demo/sizes.d.ts +0 -3
  527. package/ui/form/DateField/demo/sizes.js +0 -34
  528. package/ui/form/DateField/index.js +0 -7
  529. package/ui/form/DateTimeField/DateTimeField.d.ts +0 -59
  530. package/ui/form/DateTimeField/DateTimeField.js +0 -103
  531. package/ui/form/DateTimeField/demo/basic.d.ts +0 -3
  532. package/ui/form/DateTimeField/demo/basic.js +0 -28
  533. package/ui/form/DateTimeField/demo/disabled.d.ts +0 -3
  534. package/ui/form/DateTimeField/demo/disabled.js +0 -29
  535. package/ui/form/DateTimeField/demo/errors.d.ts +0 -3
  536. package/ui/form/DateTimeField/demo/errors.js +0 -28
  537. package/ui/form/DateTimeField/demo/icon.d.ts +0 -3
  538. package/ui/form/DateTimeField/demo/icon.js +0 -30
  539. package/ui/form/DateTimeField/demo/placeholder.d.ts +0 -3
  540. package/ui/form/DateTimeField/demo/placeholder.js +0 -32
  541. package/ui/form/DateTimeField/demo/required.d.ts +0 -3
  542. package/ui/form/DateTimeField/demo/required.js +0 -28
  543. package/ui/form/DateTimeField/demo/sizes.d.ts +0 -3
  544. package/ui/form/DateTimeField/demo/sizes.js +0 -34
  545. package/ui/form/DateTimeField/index.js +0 -7
  546. package/ui/form/DropDownField/DropDownField.d.ts +0 -73
  547. package/ui/form/DropDownField/DropDownField.js +0 -108
  548. package/ui/form/DropDownField/demo/auto-complete.d.ts +0 -3
  549. package/ui/form/DropDownField/demo/auto-complete.js +0 -29
  550. package/ui/form/DropDownField/demo/basic.d.ts +0 -7
  551. package/ui/form/DropDownField/demo/basic.js +0 -47
  552. package/ui/form/DropDownField/demo/disabled.d.ts +0 -3
  553. package/ui/form/DropDownField/demo/disabled.js +0 -29
  554. package/ui/form/DropDownField/demo/errors.d.ts +0 -3
  555. package/ui/form/DropDownField/demo/errors.js +0 -29
  556. package/ui/form/DropDownField/demo/multiple.d.ts +0 -3
  557. package/ui/form/DropDownField/demo/multiple.js +0 -29
  558. package/ui/form/DropDownField/demo/no-border.d.ts +0 -3
  559. package/ui/form/DropDownField/demo/no-border.js +0 -29
  560. package/ui/form/DropDownField/demo/placeholder.d.ts +0 -3
  561. package/ui/form/DropDownField/demo/placeholder.js +0 -29
  562. package/ui/form/DropDownField/demo/required.d.ts +0 -3
  563. package/ui/form/DropDownField/demo/required.js +0 -29
  564. package/ui/form/DropDownField/demo/show-reset.d.ts +0 -3
  565. package/ui/form/DropDownField/demo/show-reset.js +0 -29
  566. package/ui/form/DropDownField/demo/size.d.ts +0 -3
  567. package/ui/form/DropDownField/demo/size.js +0 -36
  568. package/ui/form/DropDownField/index.js +0 -7
  569. package/ui/form/Field/Field.d.ts +0 -27
  570. package/ui/form/Field/Field.js +0 -66
  571. package/ui/form/Field/fieldWrapper.d.ts +0 -81
  572. package/ui/form/Field/fieldWrapper.js +0 -106
  573. package/ui/form/Field/index.js +0 -7
  574. package/ui/form/FieldLayout/FieldLayout.d.ts +0 -56
  575. package/ui/form/FieldLayout/FieldLayout.js +0 -57
  576. package/ui/form/FieldLayout/demo/default.d.ts +0 -3
  577. package/ui/form/FieldLayout/demo/default.js +0 -28
  578. package/ui/form/FieldLayout/demo/errors.d.ts +0 -3
  579. package/ui/form/FieldLayout/demo/errors.js +0 -28
  580. package/ui/form/FieldLayout/demo/hint.d.ts +0 -3
  581. package/ui/form/FieldLayout/demo/hint.js +0 -28
  582. package/ui/form/FieldLayout/demo/horizontal.d.ts +0 -3
  583. package/ui/form/FieldLayout/demo/horizontal.js +0 -28
  584. package/ui/form/FieldLayout/demo/inline.d.ts +0 -3
  585. package/ui/form/FieldLayout/demo/inline.js +0 -29
  586. package/ui/form/FieldLayout/demo/required.d.ts +0 -3
  587. package/ui/form/FieldLayout/demo/required.js +0 -28
  588. package/ui/form/FieldLayout/index.js +0 -7
  589. package/ui/form/FieldList/FieldList.d.ts +0 -127
  590. package/ui/form/FieldList/FieldList.js +0 -112
  591. package/ui/form/FieldList/demo/basic.d.ts +0 -3
  592. package/ui/form/FieldList/demo/basic.js +0 -53
  593. package/ui/form/FieldList/index.js +0 -7
  594. package/ui/form/FieldList/tableNavigationHandler.d.ts +0 -3
  595. package/ui/form/FieldList/tableNavigationHandler.js +0 -48
  596. package/ui/form/FieldSet/FieldSet.d.ts +0 -37
  597. package/ui/form/FieldSet/FieldSet.js +0 -88
  598. package/ui/form/FieldSet/demo/basic.d.ts +0 -3
  599. package/ui/form/FieldSet/demo/basic.js +0 -44
  600. package/ui/form/FieldSet/index.js +0 -7
  601. package/ui/form/FileField/FileField.d.ts +0 -96
  602. package/ui/form/FileField/FileField.js +0 -108
  603. package/ui/form/FileField/index.js +0 -7
  604. package/ui/form/Form/AutoSaveHelper.d.ts +0 -6
  605. package/ui/form/Form/AutoSaveHelper.js +0 -37
  606. package/ui/form/Form/Form.d.ts +0 -173
  607. package/ui/form/Form/Form.js +0 -273
  608. package/ui/form/Form/SyncAddressBarHelper.d.ts +0 -13
  609. package/ui/form/Form/SyncAddressBarHelper.js +0 -119
  610. package/ui/form/Form/demo/basic.d.ts +0 -3
  611. package/ui/form/Form/demo/basic.js +0 -53
  612. package/ui/form/Form/index.js +0 -7
  613. package/ui/form/HtmlField/HtmlField.d.ts +0 -52
  614. package/ui/form/HtmlField/HtmlField.js +0 -57
  615. package/ui/form/HtmlField/demo/basic.d.ts +0 -3
  616. package/ui/form/HtmlField/demo/basic.js +0 -28
  617. package/ui/form/HtmlField/index.js +0 -7
  618. package/ui/form/InputField/InputField.d.ts +0 -95
  619. package/ui/form/InputField/InputField.js +0 -64
  620. package/ui/form/InputField/demo/addons.d.ts +0 -8
  621. package/ui/form/InputField/demo/addons.js +0 -33
  622. package/ui/form/InputField/demo/basic.d.ts +0 -8
  623. package/ui/form/InputField/demo/basic.js +0 -33
  624. package/ui/form/InputField/demo/disabled.d.ts +0 -8
  625. package/ui/form/InputField/demo/disabled.js +0 -33
  626. package/ui/form/InputField/demo/errors.d.ts +0 -8
  627. package/ui/form/InputField/demo/errors.js +0 -33
  628. package/ui/form/InputField/demo/mask.d.ts +0 -8
  629. package/ui/form/InputField/demo/mask.js +0 -35
  630. package/ui/form/InputField/demo/placeholder.d.ts +0 -8
  631. package/ui/form/InputField/demo/placeholder.js +0 -33
  632. package/ui/form/InputField/demo/required.d.ts +0 -8
  633. package/ui/form/InputField/demo/required.js +0 -33
  634. package/ui/form/InputField/demo/sizes.d.ts +0 -8
  635. package/ui/form/InputField/demo/sizes.js +0 -38
  636. package/ui/form/InputField/demo/textAddons.d.ts +0 -8
  637. package/ui/form/InputField/demo/textAddons.js +0 -33
  638. package/ui/form/InputField/demo/types.d.ts +0 -8
  639. package/ui/form/InputField/demo/types.js +0 -40
  640. package/ui/form/InputField/index.js +0 -7
  641. package/ui/form/NavField/NavField.d.ts +0 -21
  642. package/ui/form/NavField/NavField.js +0 -48
  643. package/ui/form/NavField/demo/basic.d.ts +0 -7
  644. package/ui/form/NavField/demo/basic.js +0 -47
  645. package/ui/form/NavField/demo/disabled.d.ts +0 -3
  646. package/ui/form/NavField/demo/disabled.js +0 -29
  647. package/ui/form/NavField/demo/errors.d.ts +0 -3
  648. package/ui/form/NavField/demo/errors.js +0 -29
  649. package/ui/form/NavField/demo/required.d.ts +0 -3
  650. package/ui/form/NavField/demo/required.js +0 -29
  651. package/ui/form/NavField/index.js +0 -7
  652. package/ui/form/NumberField/NumberField.d.ts +0 -45
  653. package/ui/form/NumberField/NumberField.js +0 -35
  654. package/ui/form/NumberField/demo/basic.d.ts +0 -8
  655. package/ui/form/NumberField/demo/basic.js +0 -33
  656. package/ui/form/NumberField/demo/disabled.d.ts +0 -8
  657. package/ui/form/NumberField/demo/disabled.js +0 -33
  658. package/ui/form/NumberField/demo/errors.d.ts +0 -8
  659. package/ui/form/NumberField/demo/errors.js +0 -33
  660. package/ui/form/NumberField/demo/placeholder.d.ts +0 -8
  661. package/ui/form/NumberField/demo/placeholder.js +0 -33
  662. package/ui/form/NumberField/demo/required.d.ts +0 -8
  663. package/ui/form/NumberField/demo/required.js +0 -33
  664. package/ui/form/NumberField/demo/sizes.d.ts +0 -8
  665. package/ui/form/NumberField/demo/sizes.js +0 -38
  666. package/ui/form/NumberField/index.js +0 -7
  667. package/ui/form/PasswordField/PasswordField.d.ts +0 -39
  668. package/ui/form/PasswordField/PasswordField.js +0 -66
  669. package/ui/form/PasswordField/demo/basic.d.ts +0 -8
  670. package/ui/form/PasswordField/demo/basic.js +0 -33
  671. package/ui/form/PasswordField/demo/disabled.d.ts +0 -8
  672. package/ui/form/PasswordField/demo/disabled.js +0 -33
  673. package/ui/form/PasswordField/demo/errors.d.ts +0 -8
  674. package/ui/form/PasswordField/demo/errors.js +0 -33
  675. package/ui/form/PasswordField/demo/placeholder.d.ts +0 -8
  676. package/ui/form/PasswordField/demo/placeholder.js +0 -33
  677. package/ui/form/PasswordField/demo/required.d.ts +0 -8
  678. package/ui/form/PasswordField/demo/required.js +0 -33
  679. package/ui/form/PasswordField/demo/security.d.ts +0 -8
  680. package/ui/form/PasswordField/demo/security.js +0 -33
  681. package/ui/form/PasswordField/demo/sizes.d.ts +0 -8
  682. package/ui/form/PasswordField/demo/sizes.js +0 -38
  683. package/ui/form/PasswordField/index.js +0 -7
  684. package/ui/form/RadioListField/RadioListField.d.ts +0 -47
  685. package/ui/form/RadioListField/RadioListField.js +0 -50
  686. package/ui/form/RadioListField/demo/basic.d.ts +0 -7
  687. package/ui/form/RadioListField/demo/basic.js +0 -47
  688. package/ui/form/RadioListField/demo/disabled.d.ts +0 -3
  689. package/ui/form/RadioListField/demo/disabled.js +0 -29
  690. package/ui/form/RadioListField/demo/errors.d.ts +0 -3
  691. package/ui/form/RadioListField/demo/errors.js +0 -29
  692. package/ui/form/RadioListField/demo/required.d.ts +0 -3
  693. package/ui/form/RadioListField/demo/required.js +0 -29
  694. package/ui/form/RadioListField/index.js +0 -7
  695. package/ui/form/RateField/RateField.d.ts +0 -32
  696. package/ui/form/RateField/RateField.js +0 -50
  697. package/ui/form/RateField/demo/base.d.ts +0 -3
  698. package/ui/form/RateField/demo/base.js +0 -28
  699. package/ui/form/RateField/index.d.ts +0 -2
  700. package/ui/form/RateField/index.js +0 -7
  701. package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +0 -20
  702. package/ui/form/ReCaptchaField/ReCaptchaField.js +0 -31
  703. package/ui/form/ReCaptchaField/index.js +0 -7
  704. package/ui/form/SliderField/SliderField.d.ts +0 -48
  705. package/ui/form/SliderField/SliderField.js +0 -45
  706. package/ui/form/SliderField/demo/basic.d.ts +0 -3
  707. package/ui/form/SliderField/demo/basic.js +0 -28
  708. package/ui/form/SliderField/demo/disabled.d.ts +0 -3
  709. package/ui/form/SliderField/demo/disabled.js +0 -28
  710. package/ui/form/SliderField/demo/errors.d.ts +0 -3
  711. package/ui/form/SliderField/demo/errors.js +0 -28
  712. package/ui/form/SliderField/demo/required.d.ts +0 -3
  713. package/ui/form/SliderField/demo/required.js +0 -28
  714. package/ui/form/SliderField/demo/size.d.ts +0 -3
  715. package/ui/form/SliderField/demo/size.js +0 -33
  716. package/ui/form/SliderField/index.js +0 -7
  717. package/ui/form/SwitcherField/SwitcherField.d.ts +0 -38
  718. package/ui/form/SwitcherField/SwitcherField.js +0 -62
  719. package/ui/form/SwitcherField/demo/basic.d.ts +0 -7
  720. package/ui/form/SwitcherField/demo/basic.js +0 -47
  721. package/ui/form/SwitcherField/demo/disabled.d.ts +0 -3
  722. package/ui/form/SwitcherField/demo/disabled.js +0 -29
  723. package/ui/form/SwitcherField/demo/errors.d.ts +0 -3
  724. package/ui/form/SwitcherField/demo/errors.js +0 -29
  725. package/ui/form/SwitcherField/demo/required.d.ts +0 -3
  726. package/ui/form/SwitcherField/demo/required.js +0 -29
  727. package/ui/form/SwitcherField/demo/sizes.d.ts +0 -3
  728. package/ui/form/SwitcherField/demo/sizes.js +0 -35
  729. package/ui/form/SwitcherField/index.js +0 -7
  730. package/ui/form/TextField/TextField.d.ts +0 -50
  731. package/ui/form/TextField/TextField.js +0 -48
  732. package/ui/form/TextField/demo/basic.d.ts +0 -3
  733. package/ui/form/TextField/demo/basic.js +0 -28
  734. package/ui/form/TextField/demo/disabled.d.ts +0 -3
  735. package/ui/form/TextField/demo/disabled.js +0 -28
  736. package/ui/form/TextField/demo/errors.d.ts +0 -3
  737. package/ui/form/TextField/demo/errors.js +0 -28
  738. package/ui/form/TextField/demo/placeholder.d.ts +0 -3
  739. package/ui/form/TextField/demo/placeholder.js +0 -28
  740. package/ui/form/TextField/demo/required.d.ts +0 -3
  741. package/ui/form/TextField/demo/required.js +0 -28
  742. package/ui/form/TextField/demo/sizes.d.ts +0 -3
  743. package/ui/form/TextField/demo/sizes.js +0 -33
  744. package/ui/form/TextField/demo/submit.d.ts +0 -3
  745. package/ui/form/TextField/demo/submit.js +0 -28
  746. package/ui/form/TextField/index.js +0 -7
  747. package/ui/form/TimeField/TimeField.d.ts +0 -70
  748. package/ui/form/TimeField/TimeField.js +0 -123
  749. package/ui/form/TimeField/demo/basic.d.ts +0 -3
  750. package/ui/form/TimeField/demo/basic.js +0 -28
  751. package/ui/form/TimeField/demo/disabled.d.ts +0 -3
  752. package/ui/form/TimeField/demo/disabled.js +0 -28
  753. package/ui/form/TimeField/demo/errors.d.ts +0 -3
  754. package/ui/form/TimeField/demo/errors.js +0 -28
  755. package/ui/form/TimeField/demo/placeholder.d.ts +0 -3
  756. package/ui/form/TimeField/demo/placeholder.js +0 -28
  757. package/ui/form/TimeField/demo/required.d.ts +0 -3
  758. package/ui/form/TimeField/demo/required.js +0 -28
  759. package/ui/form/TimeField/demo/sizes.d.ts +0 -3
  760. package/ui/form/TimeField/demo/sizes.js +0 -33
  761. package/ui/form/TimeField/index.js +0 -7
  762. package/ui/form/index.d.ts +0 -84
  763. package/ui/form/index.js +0 -74
  764. package/ui/form/validate.d.ts +0 -5
  765. package/ui/form/validate.js +0 -97
  766. package/ui/format/BooleanFormatter/BooleanFormatter.d.ts +0 -11
  767. package/ui/format/BooleanFormatter/BooleanFormatter.js +0 -9
  768. package/ui/format/BooleanFormatter/index.js +0 -7
  769. package/ui/format/DateFormatter/DateFormatter.d.ts +0 -15
  770. package/ui/format/DateFormatter/DateFormatter.js +0 -16
  771. package/ui/format/DateFormatter/demo/basic.d.ts +0 -3
  772. package/ui/format/DateFormatter/demo/basic.js +0 -28
  773. package/ui/format/DateFormatter/index.js +0 -7
  774. package/ui/format/DateTimeFormatter/DateTimeFormatter.d.ts +0 -27
  775. package/ui/format/DateTimeFormatter/DateTimeFormatter.js +0 -23
  776. package/ui/format/DateTimeFormatter/demo/basic.d.ts +0 -3
  777. package/ui/format/DateTimeFormatter/demo/basic.js +0 -28
  778. package/ui/format/DateTimeFormatter/index.js +0 -7
  779. package/ui/format/EnumFormatter/EnumFormatter.d.ts +0 -23
  780. package/ui/format/EnumFormatter/EnumFormatter.js +0 -36
  781. package/ui/format/EnumFormatter/index.js +0 -7
  782. package/ui/format/FileSize/FileSize.d.ts +0 -17
  783. package/ui/format/FileSize/FileSize.js +0 -36
  784. package/ui/format/FileSize/index.js +0 -7
  785. package/ui/format/Format/Format.d.ts +0 -12
  786. package/ui/format/Format/Format.js +0 -49
  787. package/ui/format/Format/index.js +0 -7
  788. package/ui/format/MoneyFormatter/MoneyFormatter.d.ts +0 -29
  789. package/ui/format/MoneyFormatter/MoneyFormatter.js +0 -33
  790. package/ui/format/MoneyFormatter/index.js +0 -7
  791. package/ui/format/index.d.ts +0 -16
  792. package/ui/format/index.js +0 -26
  793. package/ui/icon/Icon/Icon.d.ts +0 -46
  794. package/ui/icon/Icon/Icon.js +0 -47
  795. package/ui/icon/Icon/index.d.ts +0 -2
  796. package/ui/icon/Icon/index.js +0 -7
  797. package/ui/layout/Header/Header.d.ts +0 -23
  798. package/ui/layout/Header/Header.js +0 -7
  799. package/ui/layout/Header/index.js +0 -7
  800. package/ui/layout/Loader/Loader.d.ts +0 -5
  801. package/ui/layout/Loader/Loader.js +0 -7
  802. package/ui/layout/Loader/index.js +0 -7
  803. package/ui/layout/Notifications/Notifications.d.ts +0 -45
  804. package/ui/layout/Notifications/Notifications.js +0 -86
  805. package/ui/layout/Notifications/index.js +0 -7
  806. package/ui/layout/Portal.d.ts +0 -1
  807. package/ui/layout/Portal.js +0 -26
  808. package/ui/layout/Tooltip/Tooltip.d.ts +0 -63
  809. package/ui/layout/Tooltip/Tooltip.js +0 -114
  810. package/ui/layout/Tooltip/TooltipPortalInner.d.ts +0 -6
  811. package/ui/layout/Tooltip/TooltipPortalInner.js +0 -64
  812. package/ui/layout/Tooltip/calculate.d.ts +0 -6
  813. package/ui/layout/Tooltip/calculate.js +0 -162
  814. package/ui/layout/Tooltip/demo/basic.d.ts +0 -3
  815. package/ui/layout/Tooltip/demo/basic.js +0 -41
  816. package/ui/layout/Tooltip/index.js +0 -7
  817. package/ui/layout/index.d.ts +0 -5
  818. package/ui/layout/index.js +0 -14
  819. package/ui/list/CheckboxColumn/CheckboxColumn.d.ts +0 -36
  820. package/ui/list/CheckboxColumn/CheckboxColumn.js +0 -34
  821. package/ui/list/CheckboxColumn/demo/basic.d.ts +0 -8
  822. package/ui/list/CheckboxColumn/demo/basic.js +0 -43
  823. package/ui/list/CheckboxColumn/index.js +0 -7
  824. package/ui/list/ControlsColumn/ControlsColumn.d.ts +0 -37
  825. package/ui/list/ControlsColumn/ControlsColumn.js +0 -30
  826. package/ui/list/ControlsColumn/demo/basic.d.ts +0 -8
  827. package/ui/list/ControlsColumn/demo/basic.js +0 -36
  828. package/ui/list/ControlsColumn/index.js +0 -7
  829. package/ui/list/Empty/Empty.d.ts +0 -38
  830. package/ui/list/Empty/Empty.js +0 -54
  831. package/ui/list/Empty/demo/basic.d.ts +0 -3
  832. package/ui/list/Empty/demo/basic.js +0 -28
  833. package/ui/list/Empty/demo/custom-text.d.ts +0 -3
  834. package/ui/list/Empty/demo/custom-text.js +0 -28
  835. package/ui/list/Empty/index.js +0 -7
  836. package/ui/list/Grid/Grid.d.ts +0 -108
  837. package/ui/list/Grid/Grid.js +0 -123
  838. package/ui/list/Grid/demo/basic.d.ts +0 -18
  839. package/ui/list/Grid/demo/basic.js +0 -68
  840. package/ui/list/Grid/demo/controls.d.ts +0 -8
  841. package/ui/list/Grid/demo/controls.js +0 -40
  842. package/ui/list/Grid/demo/empty.d.ts +0 -8
  843. package/ui/list/Grid/demo/empty.js +0 -34
  844. package/ui/list/Grid/demo/formatter.d.ts +0 -8
  845. package/ui/list/Grid/demo/formatter.js +0 -63
  846. package/ui/list/Grid/demo/indexing.d.ts +0 -8
  847. package/ui/list/Grid/demo/indexing.js +0 -48
  848. package/ui/list/Grid/demo/inner-search-form.d.ts +0 -21
  849. package/ui/list/Grid/demo/inner-search-form.js +0 -56
  850. package/ui/list/Grid/demo/load-more.d.ts +0 -8
  851. package/ui/list/Grid/demo/load-more.js +0 -39
  852. package/ui/list/Grid/demo/pagination.d.ts +0 -8
  853. package/ui/list/Grid/demo/pagination.js +0 -37
  854. package/ui/list/Grid/demo/search-form.d.ts +0 -8
  855. package/ui/list/Grid/demo/search-form.js +0 -46
  856. package/ui/list/Grid/demo/sort.d.ts +0 -8
  857. package/ui/list/Grid/demo/sort.js +0 -44
  858. package/ui/list/Grid/demo/visible.d.ts +0 -8
  859. package/ui/list/Grid/demo/visible.js +0 -48
  860. package/ui/list/Grid/index.js +0 -7
  861. package/ui/list/LayoutNames/LayoutNames.d.ts +0 -58
  862. package/ui/list/LayoutNames/LayoutNames.js +0 -68
  863. package/ui/list/LayoutNames/demo/basic.d.ts +0 -7
  864. package/ui/list/LayoutNames/demo/basic.js +0 -12
  865. package/ui/list/LayoutNames/index.d.ts +0 -2
  866. package/ui/list/LayoutNames/index.js +0 -7
  867. package/ui/list/List/List.d.ts +0 -47
  868. package/ui/list/List/List.js +0 -82
  869. package/ui/list/List/demo/basic.d.ts +0 -12
  870. package/ui/list/List/demo/basic.js +0 -57
  871. package/ui/list/List/demo/condition.d.ts +0 -8
  872. package/ui/list/List/demo/condition.js +0 -86
  873. package/ui/list/List/demo/empty.d.ts +0 -8
  874. package/ui/list/List/demo/empty.js +0 -32
  875. package/ui/list/List/demo/layout.d.ts +0 -8
  876. package/ui/list/List/demo/layout.js +0 -45
  877. package/ui/list/List/demo/load-more.d.ts +0 -8
  878. package/ui/list/List/demo/load-more.js +0 -41
  879. package/ui/list/List/demo/pagination.d.ts +0 -8
  880. package/ui/list/List/demo/pagination.js +0 -41
  881. package/ui/list/List/demo/search-form.d.ts +0 -30
  882. package/ui/list/List/demo/search-form.js +0 -103
  883. package/ui/list/List/demo/sort.d.ts +0 -17
  884. package/ui/list/List/demo/sort.js +0 -88
  885. package/ui/list/List/index.js +0 -7
  886. package/ui/list/Pagination/Pagination.d.ts +0 -86
  887. package/ui/list/Pagination/Pagination.js +0 -120
  888. package/ui/list/Pagination/demo/basic.d.ts +0 -3
  889. package/ui/list/Pagination/demo/basic.js +0 -36
  890. package/ui/list/Pagination/demo/load-more.d.ts +0 -3
  891. package/ui/list/Pagination/demo/load-more.js +0 -33
  892. package/ui/list/Pagination/demo/sizes.d.ts +0 -3
  893. package/ui/list/Pagination/demo/sizes.js +0 -38
  894. package/ui/list/Pagination/index.js +0 -7
  895. package/ui/list/PaginationSize/PaginationSize.d.ts +0 -69
  896. package/ui/list/PaginationSize/PaginationSize.js +0 -76
  897. package/ui/list/PaginationSize/demo/basic.d.ts +0 -3
  898. package/ui/list/PaginationSize/demo/basic.js +0 -32
  899. package/ui/list/PaginationSize/demo/size.d.ts +0 -3
  900. package/ui/list/PaginationSize/demo/size.js +0 -40
  901. package/ui/list/PaginationSize/index.js +0 -7
  902. package/ui/list/SearchForm/SearchForm.d.ts +0 -13
  903. package/ui/list/SearchForm/SearchForm.js +0 -55
  904. package/ui/list/SearchForm/demo/basic.d.ts +0 -8
  905. package/ui/list/SearchForm/demo/basic.js +0 -35
  906. package/ui/list/SearchForm/index.d.ts +0 -2
  907. package/ui/list/SearchForm/index.js +0 -7
  908. package/ui/modal/Modal/Modal.d.ts +0 -74
  909. package/ui/modal/Modal/Modal.js +0 -44
  910. package/ui/modal/Modal/demo/basic.d.ts +0 -8
  911. package/ui/modal/Modal/demo/basic.js +0 -60
  912. package/ui/modal/Modal/index.js +0 -7
  913. package/ui/modal/ModalPortal/ModalPortal.d.ts +0 -12
  914. package/ui/modal/ModalPortal/ModalPortal.js +0 -77
  915. package/ui/modal/ModalPortal/index.js +0 -7
  916. package/ui/modal/TwoFactorModal/TwoFactorModal.d.ts +0 -22
  917. package/ui/modal/TwoFactorModal/TwoFactorModal.js +0 -56
  918. package/ui/modal/TwoFactorModal/index.js +0 -7
  919. package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +0 -9
  920. package/ui/nav/Breadcrumbs/Breadcrumbs.js +0 -22
  921. package/ui/nav/Breadcrumbs/index.js +0 -7
  922. package/ui/nav/Controls/Controls.d.ts +0 -38
  923. package/ui/nav/Controls/Controls.js +0 -55
  924. package/ui/nav/Controls/index.js +0 -7
  925. package/ui/nav/Link/Link.d.ts +0 -7
  926. package/ui/nav/Link/Link.js +0 -41
  927. package/ui/nav/Link/index.js +0 -7
  928. package/ui/nav/Nav/Nav.d.ts +0 -106
  929. package/ui/nav/Nav/Nav.js +0 -104
  930. package/ui/nav/Nav/demo/basic.d.ts +0 -3
  931. package/ui/nav/Nav/demo/basic.js +0 -29
  932. package/ui/nav/Nav/demo/buttons.d.ts +0 -8
  933. package/ui/nav/Nav/demo/buttons.js +0 -50
  934. package/ui/nav/Nav/demo/links.d.ts +0 -3
  935. package/ui/nav/Nav/demo/links.js +0 -30
  936. package/ui/nav/Nav/demo/navbar.d.ts +0 -3
  937. package/ui/nav/Nav/demo/navbar.js +0 -46
  938. package/ui/nav/Nav/demo/tabs.d.ts +0 -3
  939. package/ui/nav/Nav/demo/tabs.js +0 -30
  940. package/ui/nav/Nav/index.js +0 -7
  941. package/ui/nav/Router/ConnectedRouter.d.ts +0 -14
  942. package/ui/nav/Router/ConnectedRouter.js +0 -103
  943. package/ui/nav/Router/Router.d.ts +0 -49
  944. package/ui/nav/Router/Router.js +0 -224
  945. package/ui/nav/Router/SsrProvider.d.ts +0 -15
  946. package/ui/nav/Router/SsrProvider.js +0 -55
  947. package/ui/nav/Router/index.js +0 -7
  948. package/ui/nav/Tree/Tree.d.ts +0 -43
  949. package/ui/nav/Tree/Tree.js +0 -168
  950. package/ui/nav/Tree/demo/level-tree-routes.d.ts +0 -3
  951. package/ui/nav/Tree/demo/level-tree-routes.js +0 -28
  952. package/ui/nav/Tree/demo/level-tree.d.ts +0 -3
  953. package/ui/nav/Tree/demo/level-tree.js +0 -61
  954. package/ui/nav/Tree/index.js +0 -7
  955. package/ui/nav/index.js +0 -14
  956. package/utils/collection.d.ts +0 -1
  957. package/utils/collection.js +0 -19
  958. package/utils/data.d.ts +0 -9
  959. package/utils/data.js +0 -159
  960. package/utils/form.d.ts +0 -39
  961. package/utils/form.js +0 -172
  962. package/utils/query.d.ts +0 -1
  963. package/utils/query.js +0 -46
  964. package/utils/text.d.ts +0 -1
  965. package/utils/text.js +0 -85
@@ -0,0 +1,300 @@
1
+ import * as React from 'react';
2
+ import _trimStart from 'lodash-es/trimStart';
3
+ import _trimEnd from 'lodash-es/trimEnd';
4
+ import {setFlashes} from '../actions/notifications';
5
+ import axios from 'axios';
6
+
7
+ interface IHttpRequestOptions {
8
+ lazy?: boolean | number,
9
+ cancelToken?: any,
10
+ onTwoFactor?: (providerName: string) => Promise<any>
11
+ }
12
+
13
+ /**
14
+ * Http Component
15
+ * Обертка над Axios для запросов на бекенд. Поддерживает токен авторизации, CSRF и обработку ошибок.
16
+ */
17
+ export default class HttpComponent {
18
+ accessTokenKey = 'accessToken';
19
+ apiUrl: string;
20
+
21
+ _accessToken: any;
22
+ _axios: any;
23
+ _components: any;
24
+ _csrfToken: any;
25
+ _lazyRequests: any;
26
+ _promises: any;
27
+
28
+ constructor(components, config: any = {}) {
29
+ this._components = components;
30
+
31
+ this.apiUrl = config.apiUrl
32
+ //|| process.env.APP_BACKEND_URL
33
+ || (typeof location !== 'undefined' ? location.protocol + '//' + location.host : '');
34
+ this.accessTokenKey = config.accessTokenKey || 'accessToken';
35
+
36
+ this._lazyRequests = {};
37
+ this._axios = null;
38
+ this._csrfToken = null;
39
+ this._accessToken = false;
40
+ this._promises = [];
41
+ }
42
+
43
+ async getAxiosConfig() {
44
+ const config = {
45
+ withCredentials: true,
46
+ headers: {
47
+ // Add XMLHttpRequest header for detect ajax requests
48
+ 'X-Requested-With': 'XMLHttpRequest',
49
+ // Add Content-Type
50
+ 'Content-Type': 'application/json'
51
+ }
52
+ };
53
+ // Add CSRF header
54
+ if (!this._csrfToken && !process.env.IS_SSR && process.env.IS_WEB) {
55
+ const metaElement = document.querySelector('meta[name=csrf-token]');
56
+ if (metaElement) {
57
+ this._csrfToken = metaElement.getAttribute('content');
58
+ }
59
+ }
60
+ if (this._csrfToken) {
61
+ config.headers['X-CSRF-Token'] = this._csrfToken;
62
+ }
63
+ // Set access token
64
+ if (this._accessToken === false) {
65
+ const clientStorage = this._components.clientStorage;
66
+ const tokenValue =
67
+ clientStorage.get(this.accessTokenKey, clientStorage.STORAGE_COOKIE) ||
68
+ clientStorage.get(this.accessTokenKey) ||
69
+ null;
70
+
71
+ // client storage method 'get' could be asynchronous
72
+ this._accessToken = tokenValue instanceof Promise
73
+ ? await tokenValue
74
+ : tokenValue;
75
+
76
+ if (this._accessToken) {
77
+ clientStorage.set(
78
+ this.accessTokenKey,
79
+ this._accessToken,
80
+ clientStorage.STORAGE_COOKIE,
81
+ 180
82
+ );
83
+ }
84
+ }
85
+ if (this._accessToken) {
86
+ config.headers['Authorization'] = 'Bearer ' + this._accessToken;
87
+ }
88
+ return config;
89
+ }
90
+
91
+ /**
92
+ * @param {string} value
93
+ */
94
+ setCsrfToken(value) {
95
+ this._csrfToken = value;
96
+ this.resetConfig();
97
+ }
98
+
99
+ removeAccessToken() {
100
+ this._accessToken = null;
101
+ this.resetConfig();
102
+ this._components.clientStorage.remove(
103
+ this.accessTokenKey,
104
+ this._components.clientStorage.STORAGE_COOKIE,
105
+ );
106
+ }
107
+
108
+ /**
109
+ * @param {string} value
110
+ */
111
+ setAccessToken(value) {
112
+ this._accessToken = value;
113
+ this.resetConfig();
114
+ this._components.clientStorage.set(
115
+ this.accessTokenKey,
116
+ value,
117
+ this._components.clientStorage.STORAGE_COOKIE,
118
+ 180
119
+ );
120
+ }
121
+
122
+ /**
123
+ * @returns {string}
124
+ */
125
+ async getAccessToken() {
126
+ if (this._accessToken === false) {
127
+ this._accessToken =
128
+ await this._components.clientStorage.get(this.accessTokenKey) || null;
129
+ }
130
+ return this._accessToken;
131
+ }
132
+
133
+ resetConfig() {
134
+ this._axios = null;
135
+ }
136
+
137
+ async getAxiosInstance() {
138
+ if (!this._axios) {
139
+ this._axios = axios.create(await this.getAxiosConfig());
140
+ }
141
+ return this._axios;
142
+ }
143
+
144
+ getUrl(method) {
145
+ if (method === null) {
146
+ method = location.pathname;
147
+ }
148
+ if (method.indexOf('://') === -1) {
149
+ method = `${_trimEnd(this.apiUrl, '/')}/${_trimStart(method, '/')}`;
150
+ }
151
+ return method;
152
+ }
153
+
154
+ get(url, params = {}, options: IHttpRequestOptions = {}) {
155
+ return this._send(
156
+ url,
157
+ {
158
+ method: 'get',
159
+ params: params
160
+ },
161
+ options
162
+ ).then((response: any) => response.data);
163
+ }
164
+
165
+ post(url, params = {}, options: IHttpRequestOptions = {}) {
166
+ return this._send(
167
+ url,
168
+ {
169
+ method: 'post',
170
+ data: params
171
+ },
172
+ options
173
+ ).then((response: any) => response.data);
174
+ }
175
+
176
+ delete(url, params = {}, options: IHttpRequestOptions = {}) {
177
+ return this._send(
178
+ url,
179
+ {
180
+ method: 'delete',
181
+ data: params
182
+ },
183
+ options
184
+ ).then((response: any) => response.data);
185
+ }
186
+
187
+ send(method, url, params = {}, options: IHttpRequestOptions = {}) {
188
+ method = method.toLowerCase();
189
+ return this._send(
190
+ url,
191
+ {
192
+ method,
193
+ [method === 'get' ? 'params' : 'data']: params
194
+ },
195
+ options
196
+ );
197
+ }
198
+
199
+ hoc(requestFunc) {
200
+ return require('../hoc/http')(requestFunc);
201
+ }
202
+
203
+ _send(method, config, options: IHttpRequestOptions) {
204
+ const axiosConfig = {
205
+ ...config,
206
+ url: this.getUrl(method)
207
+ };
208
+ if (options.cancelToken) {
209
+ axiosConfig.cancelToken = options.cancelToken;
210
+ }
211
+ if (options.lazy) {
212
+ if (this._lazyRequests[method]) {
213
+ clearTimeout(this._lazyRequests[method]);
214
+ }
215
+ return new Promise((resolve, reject) => {
216
+ const timeout = options.lazy !== true ? options.lazy : 200;
217
+ if (typeof timeout === 'number') {
218
+ this._lazyRequests[method] = setTimeout(() => {
219
+ this._sendAxios(axiosConfig, options)
220
+ .then(result => resolve(result))
221
+ .catch(result => reject(result));
222
+ }, timeout);
223
+ }
224
+ });
225
+ }
226
+ return this._sendAxios(axiosConfig, options);
227
+ }
228
+
229
+ _sendAxios(config, options: IHttpRequestOptions) {
230
+ const promise = this.getAxiosInstance()
231
+ .then(instance => instance(config))
232
+ .then(response => this.afterRequest(response, config, options).then(newResponse => newResponse || response))
233
+ .catch(error => {
234
+ console.error('Error, request/response: ', config, String(error)); // eslint-disable-line no-console
235
+ throw error;
236
+ });
237
+
238
+ // Store promises for SSR
239
+ if (process.env.IS_SSR) {
240
+ this._promises.push(promise);
241
+ }
242
+ return promise;
243
+ }
244
+
245
+ async afterRequest(response, config, options: IHttpRequestOptions) {
246
+ const store = this._components.store;
247
+
248
+ // Flash
249
+ if (response.data.flashes) {
250
+ store.dispatch(setFlashes(response.data.flashes));
251
+ }
252
+
253
+ // Ajax redirect
254
+ if (response.data.redirectUrl && !process.env.IS_SSR) {
255
+ if (location.href === response.data.redirectUrl.split('#')[0]) {
256
+ window.location.href = response.data.redirectUrl;
257
+ window.location.reload();
258
+ } else {
259
+ window.location.href = response.data.redirectUrl;
260
+ }
261
+ }
262
+
263
+ // 2fa
264
+ // {"errors":{"amount":["2FA_REQUIRED:notifier"]}}
265
+ if (response.data.errors) {
266
+ const match = JSON.stringify(response.data.errors).match(/2FA_REQUIRED:([a-zA-Z0-9-_]+)/);
267
+ if (match) {
268
+ const providerName = match[1];
269
+
270
+ // Mark 2fa, remove errors - only 2fa need
271
+ response.twoFactor = providerName;
272
+ delete response.data.errors;
273
+
274
+ if (options.onTwoFactor) {
275
+ await options.onTwoFactor(providerName);
276
+ } else {
277
+ // Require verification code
278
+ await this._onTwoFactor(providerName);
279
+
280
+ // Retry request
281
+ return this._sendAxios(config, options);
282
+ }
283
+ }
284
+ }
285
+
286
+ return response;
287
+ }
288
+
289
+ _onTwoFactor(providerName) {
290
+ return new Promise((resolve) => {
291
+ const store = this._components.store;
292
+ const TwoFactorModal = require('../ui/modal/TwoFactorModal').default;
293
+ const {openModal} = require('../actions/modal');
294
+ store.dispatch(openModal(TwoFactorModal, {
295
+ providerName,
296
+ onClose: resolve,
297
+ }));
298
+ });
299
+ }
300
+ }
@@ -0,0 +1,136 @@
1
+ import * as React from 'react';
2
+ import IntlMessageFormat from 'intl-messageformat';
3
+ import moment from 'moment';
4
+ import _isObject from 'lodash-es/isObject';
5
+ import 'moment/locale/it';
6
+ import 'moment/locale/ru';
7
+
8
+ /**
9
+ * Locale Component
10
+ * Компонент для локализации приложения. Поддерживает конфигурацию языка и временной зоны
11
+ *
12
+ * Пример строки: `{__('{count} {count, plural, one{день} few{дня} many{дней}}', {count: 2})}`
13
+ */
14
+ export default class LocaleComponent {
15
+ backendTimeDiff: null;
16
+ backendTimeZone: any;
17
+
18
+ /**
19
+ * Язык приложения
20
+ * @example ru
21
+ */
22
+ language: string;
23
+ sourceLanguage: string;
24
+ translations: any;
25
+
26
+ constructor(components, config) {
27
+ this.language = config.language || 'en';
28
+ this.sourceLanguage = config.sourceLanguage || 'ru';
29
+ this.backendTimeZone = null;
30
+ this.backendTimeDiff = null; // in microseconds
31
+ this.translations = {};
32
+ // Publish to global
33
+ if (process.env.IS_SSR) {
34
+ // @ts-ignore
35
+ global.__ = this.translate.bind(this);
36
+ } else {
37
+ window.__ = this.translate.bind(this);
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Получение экземпляра `moment` с учетом временной зоны бекенда
43
+ * @param date Дата
44
+ * @param format Формат
45
+ */
46
+ moment(date: string = undefined, format: string = undefined) {
47
+ if (
48
+ this.backendTimeZone &&
49
+ date &&
50
+ date.length === 19 &&
51
+ moment(date, 'YYYY-MM-DD HH:mm:ss').isValid()
52
+ ) {
53
+ date = date + this.backendTimeZone;
54
+ }
55
+ return moment(date, format).locale(this.language);
56
+ }
57
+
58
+ t(message, params = {}) {
59
+ return this.translate(message, params);
60
+ }
61
+
62
+ translate(message, params = {}) {
63
+ // Translate
64
+ const hasTranslate = !!this.translations[message];
65
+ message = this.translations[message] || message;
66
+
67
+ // Cut react components
68
+ const components = {};
69
+ Object.keys(params).map(key => {
70
+ if (_isObject(params[key])) {
71
+ components[key] = params[key];
72
+ params[key] = `!!${key}!!`;
73
+ }
74
+ });
75
+
76
+ // Format message (params, plural, etc..)
77
+ const language = hasTranslate ? this.language : this.sourceLanguage;
78
+ const formatter = new IntlMessageFormat(message, language);
79
+ message = formatter.format(params);
80
+
81
+ // Paste react components
82
+ message = this._pasteComponents(message, components);
83
+ return message;
84
+ }
85
+
86
+ _pasteComponents(message, components) {
87
+ if (Object.keys(components).length === 0) {
88
+ return message;
89
+ }
90
+ // Index components
91
+ const indexedComponents = [];
92
+ Object.keys(components).map(key => {
93
+ const index = message.indexOf(`!!${key}!!`);
94
+ if (index !== -1) {
95
+ indexedComponents.push({
96
+ index: index,
97
+ component: components[key]
98
+ });
99
+ }
100
+ message = message.replace(`!!${key}!!`, '!!component!!');
101
+ });
102
+ indexedComponents.sort((a, b) => {
103
+ if (a.index < b.index) {
104
+ return -1;
105
+ } else if (a.index > b.index) {
106
+ return 1;
107
+ }
108
+ return 0;
109
+ });
110
+ // Split text to array, paste components
111
+ const result = [];
112
+ const textParts = message.split('!!component!!');
113
+ for (let i = 0, j = 0; i < textParts.length; i++) {
114
+ let isComponentAdded = false;
115
+ if (
116
+ j === 0 &&
117
+ j < indexedComponents.length &&
118
+ indexedComponents[j].index === 0
119
+ ) {
120
+ result.push(
121
+ <span key={`element-${j}`}>{indexedComponents[j].component}</span>
122
+ );
123
+ isComponentAdded = true;
124
+ j++;
125
+ }
126
+ result.push(<span key={`text-${i}`}>{textParts[i]}</span>);
127
+ if (!isComponentAdded && j < indexedComponents.length) {
128
+ result.push(
129
+ <span key={`element${j}`}>{indexedComponents[j].component}</span>
130
+ );
131
+ j++;
132
+ }
133
+ }
134
+ return <span>{result}</span>;
135
+ }
136
+ }
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Мета информация о моделе
3
+ */
4
+ export interface Model {
5
+ primaryKey?: string,
6
+ attributes?: (string | ModelAttribute)[],
7
+ }
8
+
9
+ export interface ModelAttribute {
10
+ type?: 'autoTime' | 'boolean' | 'dateTime' | 'date' | 'double' | 'email' | 'enum' | 'file' | 'files' | 'html'
11
+ | 'integer' | 'money' | 'password' | 'phone' | 'primaryKey' | 'size' | 'string' | 'text' | 'time',
12
+ jsType?: 'boolean' | 'string' | 'string[]' | 'number' | 'number[]' | string,
13
+ attribute?: string,
14
+ label?: string,
15
+ hint?: string,
16
+ isRequired?: boolean,
17
+ isSortable?: boolean,
18
+ field?: string | any,
19
+ fieldProps?: object,
20
+ searchField?: string | any,
21
+ searchFieldProps?: object,
22
+ formatter?: string | any,
23
+ formatterProps?: object,
24
+ defaultValue?: any,
25
+ fromStringConverter?: (value: string, type: string, item: any) => any,
26
+ toStringConverter?: (value: any, type: string, item: any) => string | null,
27
+ }
28
+
29
+ /**
30
+ * Meta Component
31
+ * Компонент для работы с мета-данными моделей и типами приложения (appType)
32
+ */
33
+ export default class MetaComponent {
34
+
35
+ defaultPrimaryKey: string;
36
+ defaultAttributeType: string;
37
+ models: any;
38
+ types: any;
39
+
40
+ _components: any;
41
+
42
+ constructor(components) {
43
+ this._components = components;
44
+ this.models = {};
45
+ this.types = this._defaultTypes();
46
+
47
+ this.defaultPrimaryKey = 'id';
48
+ this.defaultAttributeType = 'string';
49
+ }
50
+
51
+ setModel(name: string, item: Model) {
52
+ name = this.normalizeName(name);
53
+ item = this.normalizeModel(item);
54
+
55
+ this.models[name] = item;
56
+ }
57
+
58
+ getModel(name: string) {
59
+ return this.models[name] || null;
60
+ }
61
+
62
+ setType(name, config) {
63
+ this.types[name] = config;
64
+ }
65
+
66
+ getType(name: string) {
67
+ return this.types[name] || null;
68
+ }
69
+
70
+ normalizeName(name) {
71
+ return name.replace(/\\/g, '.').replace(/^\./, '');
72
+ }
73
+
74
+ normalizeModel(inputModel: Model, defaultModel: Model = null) {
75
+ if (!inputModel && !defaultModel) {
76
+ return null;
77
+ }
78
+
79
+ inputModel = inputModel || {};
80
+ defaultModel = defaultModel ? this.normalizeModel(defaultModel) : {};
81
+
82
+ const defaults = {};
83
+ (defaultModel.attributes || []).forEach(item => {
84
+ if (typeof item !== 'string') {
85
+ defaults[item.attribute] = item;
86
+ }
87
+ });
88
+
89
+
90
+ // Normalize attributes config
91
+ const attributes = [].concat(inputModel.attributes || []).map(item => {
92
+ if (typeof item === 'string') {
93
+ const parts = item.split(':');
94
+
95
+ item = {
96
+ attribute: parts[0],
97
+ type: parts[1] || null,
98
+ label: parts[2] || null,
99
+ }
100
+ }
101
+
102
+ return {
103
+ type: this.defaultAttributeType,
104
+ attribute: null,
105
+ label: null,
106
+ hint: null,
107
+ isRequired: false,
108
+ isSortable: false,
109
+ ...defaults[item.attribute],
110
+ ...this.getType(item.type || this.defaultAttributeType),
111
+ ...item,
112
+ };
113
+ });
114
+
115
+ // Add non-exists default attributes
116
+ const attributeNames = attributes.map(item => item.attribute);
117
+ (defaultModel.attributes || []).forEach(item => {
118
+ if (typeof item !== 'string' && !attributeNames.includes(item.attribute)) {
119
+ attributes.push(item);
120
+ }
121
+ });
122
+
123
+ return {
124
+ primaryKey: inputModel.primaryKey || defaultModel.primaryKey || this.defaultPrimaryKey,
125
+ attributes,
126
+ };
127
+ }
128
+
129
+ _defaultTypes() {
130
+ return {
131
+ autoTime: {
132
+ jsType: 'string',
133
+ field: 'DateTimeField',
134
+ formatter: 'DateTimeFormatter',
135
+ },
136
+ boolean: {
137
+ jsType: 'boolean',
138
+ field: 'CheckboxField',
139
+ formatter: 'BooleanFormatter',
140
+ },
141
+ dateTime: {
142
+ jsType: 'string',
143
+ field: 'DateTimeField',
144
+ formatter: 'DateTimeFormatter',
145
+ },
146
+ date: {
147
+ jsType: 'string',
148
+ field: 'DateField',
149
+ formatter: 'DateFormatter',
150
+ },
151
+ double: {
152
+ jsType: 'number',
153
+ field: 'NumberField',
154
+ },
155
+ email: {
156
+ jsType: 'string',
157
+ field: 'InputField',
158
+ fieldProps: {
159
+ type: 'email',
160
+ },
161
+ },
162
+ enum: {
163
+ jsType: 'string',
164
+ field: 'DropDownField',
165
+ formatter: 'EnumFormatter',
166
+ },
167
+ file: {
168
+ jsType: 'number',
169
+ field: 'FileField',
170
+ // TODO formatter: 'FileFormatter',
171
+ },
172
+ files: {
173
+ jsType: 'number[]',
174
+ field: 'FileField',
175
+ fieldProps: {
176
+ multiple: true,
177
+ },
178
+ // TODO formatter: 'FileFormatter',
179
+ },
180
+ html: {
181
+ jsType: 'string',
182
+ field: 'HtmlField',
183
+ // TODO formatter: 'HtmlFormatter',
184
+ },
185
+ integer: {
186
+ jsType: 'number',
187
+ field: 'NumberField',
188
+ },
189
+ password: {
190
+ jsType: 'string',
191
+ field: 'PasswordField',
192
+ },
193
+ phone: {
194
+ jsType: 'string',
195
+ field: 'InputField',
196
+ fieldProps: {
197
+ type: 'phone',
198
+ },
199
+ },
200
+ primaryKey: {
201
+ jsType: 'number',
202
+ field: 'InputField',
203
+ fieldProps: {
204
+ type: 'hidden',
205
+ },
206
+ searchFieldProps: {
207
+ type: 'text',
208
+ },
209
+ },
210
+ string: {
211
+ jsType: 'string',
212
+ field: 'InputField',
213
+ },
214
+ text: {
215
+ jsType: 'string',
216
+ field: 'TextField',
217
+ },
218
+ time: {
219
+ jsType: 'string',
220
+ field: 'TimeField',
221
+ // TODO formatter: 'TimeFormatter',
222
+ },
223
+ };
224
+ }
225
+
226
+ }