@steroidsjs/core 2.1.0-beta.6 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/README.md +3 -1
  2. package/actions/form.d.ts +12 -3
  3. package/actions/form.js +21 -8
  4. package/actions/list.d.ts +1 -0
  5. package/actions/list.js +5 -0
  6. package/actions/modal.d.ts +3 -2
  7. package/components/ClientStorageComponent.d.ts +3 -3
  8. package/components/ClientStorageComponent.js +28 -22
  9. package/components/HttpComponent.js +32 -15
  10. package/components/LocaleComponent.js +9 -9
  11. package/components/MetaComponent.d.ts +4 -4
  12. package/components/MetricsComponent.js +3 -1
  13. package/components/SocialComponent.d.ts +1 -1
  14. package/components/SocialComponent.js +12 -10
  15. package/components/StoreComponent.d.ts +6 -0
  16. package/components/StoreComponent.js +6 -7
  17. package/components/UiComponent.d.ts +1 -1
  18. package/components/WebSocketComponent.d.ts +1 -1
  19. package/components/social/FacebookProvider.d.ts +1 -1
  20. package/components/social/FacebookProvider.js +5 -6
  21. package/components/social/GitlabProvider.d.ts +8 -0
  22. package/components/social/GitlabProvider.js +98 -0
  23. package/components/social/GoogleProvider.d.ts +1 -1
  24. package/components/social/GoogleProvider.js +2 -2
  25. package/components/social/SteamProvider.d.ts +1 -1
  26. package/components/social/SteamProvider.js +8 -9
  27. package/components/social/VkProvider.d.ts +1 -1
  28. package/components/social/VkProvider.js +8 -9
  29. package/hoc/components.d.ts +1 -1
  30. package/hoc/components.js +1 -1
  31. package/hoc/file.d.ts +1 -0
  32. package/hoc/layout.d.ts +1 -2
  33. package/hooks/index.d.ts +2 -1
  34. package/hooks/index.js +3 -1
  35. package/hooks/useAbsolutePositioning.d.ts +5 -0
  36. package/hooks/useAbsolutePositioning.js +6 -6
  37. package/hooks/useAddressBar.js +23 -13
  38. package/hooks/useApplication.d.ts +29 -26
  39. package/hooks/useApplication.js +17 -82
  40. package/hooks/useComponents.d.ts +1 -14
  41. package/hooks/useComponents.js +4 -5
  42. package/hooks/useDataProvider.d.ts +8 -0
  43. package/hooks/useDataProvider.js +8 -7
  44. package/hooks/useDataSelect.d.ts +15 -8
  45. package/hooks/useDataSelect.js +60 -14
  46. package/hooks/useDispatch.d.ts +1 -1
  47. package/hooks/useFetch.d.ts +11 -3
  48. package/hooks/useFetch.js +37 -31
  49. package/hooks/useFile.js +13 -2
  50. package/hooks/useLayout.d.ts +9 -0
  51. package/hooks/useLayout.js +86 -56
  52. package/hooks/useList.d.ts +54 -13
  53. package/hooks/useList.js +89 -58
  54. package/hooks/useModel.js +1 -1
  55. package/hooks/useScreen.d.ts +1 -1
  56. package/hooks/useScreen.js +2 -2
  57. package/hooks/useSsr.d.ts +2 -0
  58. package/hooks/useSsr.js +8 -0
  59. package/index.d.ts +8 -2
  60. package/package.json +7 -4
  61. package/providers/ComponentsProvider.d.ts +26 -0
  62. package/providers/ComponentsProvider.js +28 -0
  63. package/providers/ScreenProvider.d.ts +20 -0
  64. package/providers/ScreenProvider.js +87 -0
  65. package/providers/SsrProvider.d.ts +17 -0
  66. package/providers/SsrProvider.js +32 -0
  67. package/providers/index.d.ts +4 -0
  68. package/providers/index.js +12 -0
  69. package/reducers/form.d.ts +2 -1
  70. package/reducers/form.js +16 -3
  71. package/reducers/index.js +1 -1
  72. package/reducers/list.js +1 -3
  73. package/reducers/modal.d.ts +1 -1
  74. package/reducers/router.d.ts +12 -25
  75. package/reducers/router.js +16 -10
  76. package/ui/content/Alert/Alert.d.ts +60 -0
  77. package/ui/content/Alert/Alert.js +38 -0
  78. package/ui/content/Alert/demo/description.d.ts +9 -0
  79. package/ui/content/Alert/demo/description.js +43 -0
  80. package/ui/content/Alert/demo/icon.d.ts +8 -0
  81. package/ui/content/Alert/demo/icon.js +42 -0
  82. package/ui/content/Alert/demo/text.d.ts +8 -0
  83. package/ui/content/Alert/demo/text.js +42 -0
  84. package/ui/content/Alert/index.d.ts +2 -0
  85. package/ui/content/Alert/index.js +7 -0
  86. package/ui/content/Avatar/Avatar.d.ts +54 -13
  87. package/ui/content/Avatar/Avatar.js +25 -4
  88. package/ui/content/Avatar/AvatarGroup.d.ts +3 -5
  89. package/ui/content/Avatar/AvatarGroup.js +27 -11
  90. package/ui/{form/TimeField/demo/show-remove.d.ts → content/Avatar/demo/custome size.d.ts } +2 -2
  91. package/ui/content/Avatar/demo/custome size.js +35 -0
  92. package/ui/{form/SwitcherField/demo/sizes.d.ts → content/Avatar/demo/group.d.ts} +1 -1
  93. package/ui/content/Avatar/demo/group.js +49 -0
  94. package/ui/content/Avatar/demo/shape.d.ts +8 -0
  95. package/ui/content/Avatar/demo/shape.js +41 -0
  96. package/ui/content/Avatar/demo/size.d.ts +8 -0
  97. package/ui/content/Avatar/demo/size.js +41 -0
  98. package/ui/content/Avatar/demo/title.d.ts +8 -0
  99. package/ui/content/Avatar/demo/title.js +41 -0
  100. package/ui/content/Avatar/index.d.ts +6 -1
  101. package/ui/content/Avatar/index.js +4 -0
  102. package/ui/content/Calendar/demo/basic.d.ts +8 -0
  103. package/ui/{form/FieldLayout → content/Calendar}/demo/basic.js +3 -3
  104. package/ui/content/Card/Card.d.ts +62 -14
  105. package/ui/content/Card/Card.js +3 -2
  106. package/ui/{form/FieldLayout/demo/hint.d.ts → content/Card/demo/basic.d.ts} +2 -2
  107. package/ui/{form/SwitcherField/demo/sizes.js → content/Card/demo/basic.js} +6 -12
  108. package/ui/content/Card/demo/border color.d.ts +3 -0
  109. package/ui/content/Card/demo/border color.js +47 -0
  110. package/ui/content/Card/demo/color.d.ts +3 -0
  111. package/ui/content/Card/demo/color.js +47 -0
  112. package/ui/{form/DateTimeField/demo/sizes.d.ts → content/Card/demo/header.d.ts} +2 -2
  113. package/ui/content/Card/demo/header.js +42 -0
  114. package/ui/content/Card/demo/hover.d.ts +8 -0
  115. package/ui/content/Card/demo/hover.js +37 -0
  116. package/ui/content/Card/demo/link.d.ts +8 -0
  117. package/ui/content/Card/demo/link.js +38 -0
  118. package/ui/content/Card/demo/orientation.d.ts +3 -0
  119. package/ui/content/Card/demo/orientation.js +41 -0
  120. package/ui/content/Collapse/Collapse.d.ts +63 -0
  121. package/ui/content/Collapse/Collapse.js +80 -0
  122. package/ui/content/Collapse/CollapseItem.d.ts +67 -0
  123. package/ui/content/Collapse/CollapseItem.js +22 -0
  124. package/ui/content/Collapse/demo/accordion.d.ts +8 -0
  125. package/ui/content/Collapse/demo/accordion.js +37 -0
  126. package/ui/{form/FieldLayout → content/Collapse}/demo/basic.d.ts +0 -0
  127. package/ui/content/Collapse/demo/basic.js +37 -0
  128. package/ui/{form/SliderField/demo/required.d.ts → content/Collapse/demo/borderless.d.ts} +2 -2
  129. package/ui/content/Collapse/demo/borderless.js +37 -0
  130. package/ui/content/Collapse/demo/disable.d.ts +8 -0
  131. package/ui/content/Collapse/demo/disable.js +37 -0
  132. package/ui/content/Collapse/demo/icon position.d.ts +8 -0
  133. package/ui/content/Collapse/demo/icon position.js +37 -0
  134. package/ui/{form/SliderField/demo/size.d.ts → content/Collapse/demo/icon.d.ts} +1 -1
  135. package/ui/content/Collapse/demo/icon.js +52 -0
  136. package/ui/content/Collapse/demo/onChange.d.ts +8 -0
  137. package/ui/content/Collapse/demo/onChange.js +47 -0
  138. package/ui/content/Collapse/demo/show icon.d.ts +8 -0
  139. package/ui/content/Collapse/demo/show icon.js +37 -0
  140. package/ui/content/Collapse/index.d.ts +7 -0
  141. package/ui/content/Collapse/index.js +8 -0
  142. package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +15 -0
  143. package/ui/content/CopyToClipboard/CopyToClipboard.js +124 -0
  144. package/ui/content/CopyToClipboard/index.d.ts +2 -0
  145. package/ui/content/CopyToClipboard/index.js +7 -0
  146. package/ui/content/Detail/Detail.d.ts +102 -0
  147. package/ui/content/Detail/Detail.js +155 -0
  148. package/ui/content/Detail/DetailItem.d.ts +43 -0
  149. package/ui/content/Detail/DetailItem.js +10 -0
  150. package/ui/content/Detail/demo/basic.d.ts +8 -0
  151. package/ui/content/Detail/demo/basic.js +56 -0
  152. package/ui/content/Detail/demo/colors.d.ts +3 -0
  153. package/ui/content/Detail/demo/colors.js +39 -0
  154. package/ui/content/Detail/demo/controls.d.ts +8 -0
  155. package/ui/content/Detail/demo/controls.js +56 -0
  156. package/ui/content/Detail/demo/layout.d.ts +8 -0
  157. package/ui/content/Detail/demo/layout.js +56 -0
  158. package/ui/content/Detail/demo/responsive.d.ts +8 -0
  159. package/ui/content/Detail/demo/responsive.js +71 -0
  160. package/ui/content/Detail/demo/sizes.d.ts +8 -0
  161. package/ui/content/Detail/demo/sizes.js +61 -0
  162. package/ui/content/Detail/index.d.ts +3 -0
  163. package/ui/content/Detail/index.js +10 -0
  164. package/ui/content/DropDown/DropDown.d.ts +1 -0
  165. package/ui/content/DropDown/DropDown.js +1 -0
  166. package/ui/content/index.d.ts +13 -0
  167. package/ui/content/index.js +22 -0
  168. package/ui/crud/Crud/Crud.d.ts +1 -1
  169. package/ui/crud/Crud/Crud.js +5 -3
  170. package/ui/crud/Crud/CrudContent.d.ts +5 -1
  171. package/ui/crud/Crud/CrudContent.js +5 -5
  172. package/ui/crud/index.d.ts +2 -0
  173. package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +1 -6
  174. package/ui/form/AutoCompleteField/demo/basic.d.ts +5 -5
  175. package/ui/form/AutoCompleteField/demo/basic.js +5 -5
  176. package/ui/form/AutoCompleteField/demo/disabled.d.ts +1 -1
  177. package/ui/form/AutoCompleteField/demo/disabled.js +1 -1
  178. package/ui/form/AutoCompleteField/demo/errors.d.ts +1 -1
  179. package/ui/form/AutoCompleteField/demo/errors.js +2 -2
  180. package/ui/form/AutoCompleteField/demo/placeholder.d.ts +1 -1
  181. package/ui/form/AutoCompleteField/demo/placeholder.js +1 -1
  182. package/ui/form/AutoCompleteField/demo/required.d.ts +1 -1
  183. package/ui/form/AutoCompleteField/demo/required.js +1 -1
  184. package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -5
  185. package/ui/form/AutoCompleteField/demo/sizes.js +5 -5
  186. package/ui/form/BlankField/BlankField.d.ts +6 -7
  187. package/ui/form/BlankField/demo/basic.d.ts +12 -0
  188. package/ui/form/BlankField/demo/basic.js +51 -0
  189. package/ui/form/Button/Button.d.ts +1 -0
  190. package/ui/form/Button/Button.js +1 -0
  191. package/ui/form/Button/demo/badge.d.ts +1 -1
  192. package/ui/form/Button/demo/badge.js +1 -1
  193. package/ui/form/Button/demo/basic.d.ts +1 -1
  194. package/ui/form/Button/demo/basic.js +1 -1
  195. package/ui/form/Button/demo/block.d.ts +1 -1
  196. package/ui/form/Button/demo/block.js +1 -1
  197. package/ui/form/Button/demo/colors.d.ts +1 -1
  198. package/ui/form/Button/demo/colors.js +3 -3
  199. package/ui/form/Button/demo/confirm.d.ts +1 -1
  200. package/ui/form/Button/demo/confirm.js +2 -2
  201. package/ui/form/Button/demo/disabled.d.ts +1 -1
  202. package/ui/form/Button/demo/disabled.js +1 -1
  203. package/ui/form/Button/demo/hint.d.ts +1 -1
  204. package/ui/form/Button/demo/hint.js +1 -1
  205. package/ui/form/Button/demo/icon.d.ts +1 -1
  206. package/ui/form/Button/demo/icon.js +1 -1
  207. package/ui/form/Button/demo/link.d.ts +1 -1
  208. package/ui/form/Button/demo/link.js +1 -1
  209. package/ui/form/Button/demo/sizes.d.ts +0 -5
  210. package/ui/form/Button/demo/sizes.js +5 -5
  211. package/ui/form/Button/demo/tags.d.ts +1 -1
  212. package/ui/form/Button/demo/tags.js +1 -1
  213. package/ui/form/CheckboxField/CheckboxField.d.ts +1 -6
  214. package/ui/form/CheckboxField/demo/basic.d.ts +1 -1
  215. package/ui/form/CheckboxField/demo/basic.js +1 -1
  216. package/ui/form/CheckboxField/demo/disabled.d.ts +1 -1
  217. package/ui/form/CheckboxField/demo/disabled.js +1 -1
  218. package/ui/form/CheckboxField/demo/errors.d.ts +1 -1
  219. package/ui/form/CheckboxField/demo/errors.js +2 -2
  220. package/ui/form/CheckboxField/demo/required.d.ts +1 -1
  221. package/ui/form/CheckboxField/demo/required.js +1 -1
  222. package/ui/form/CheckboxListField/CheckboxListField.d.ts +1 -6
  223. package/ui/form/CheckboxListField/demo/basic.d.ts +3 -3
  224. package/ui/form/CheckboxListField/demo/basic.js +5 -5
  225. package/ui/form/CheckboxListField/demo/disabled.d.ts +1 -1
  226. package/ui/form/CheckboxListField/demo/disabled.js +1 -1
  227. package/ui/form/CheckboxListField/demo/errors.d.ts +1 -1
  228. package/ui/form/CheckboxListField/demo/errors.js +2 -2
  229. package/ui/form/CheckboxListField/demo/required.d.ts +1 -1
  230. package/ui/form/CheckboxListField/demo/required.js +1 -1
  231. package/ui/form/DateField/DateField.d.ts +1 -7
  232. package/ui/form/DateField/DateField.js +1 -1
  233. package/ui/form/DateField/demo/basic.d.ts +1 -1
  234. package/ui/form/DateField/demo/basic.js +1 -1
  235. package/ui/form/DateField/demo/disabled.d.ts +1 -1
  236. package/ui/form/DateField/demo/disabled.js +1 -1
  237. package/ui/form/DateField/demo/errors.d.ts +1 -1
  238. package/ui/form/DateField/demo/errors.js +1 -1
  239. package/ui/form/DateField/demo/icon.d.ts +1 -1
  240. package/ui/form/DateField/demo/icon.js +2 -2
  241. package/ui/form/DateField/demo/placeholder.d.ts +1 -1
  242. package/ui/form/DateField/demo/placeholder.js +1 -1
  243. package/ui/form/DateField/demo/required.d.ts +1 -1
  244. package/ui/form/DateField/demo/required.js +1 -1
  245. package/ui/form/DateField/demo/sizes.d.ts +1 -1
  246. package/ui/form/DateField/demo/sizes.js +1 -1
  247. package/ui/form/DateField/useDateInputState.d.ts +4 -0
  248. package/ui/form/DateField/useDateInputState.js +3 -3
  249. package/ui/form/DateField/useDateTime.js +8 -6
  250. package/ui/form/DateRangeField/DateRangeField.d.ts +1 -7
  251. package/ui/form/DateRangeField/DateRangeField.js +3 -2
  252. package/ui/form/DateRangeField/demo/basic.d.ts +1 -1
  253. package/ui/form/DateRangeField/demo/basic.js +1 -1
  254. package/ui/form/DateRangeField/demo/disabled.d.ts +8 -0
  255. package/ui/form/DateRangeField/demo/disabled.js +33 -0
  256. package/ui/form/DateRangeField/demo/errors.d.ts +8 -0
  257. package/ui/form/DateRangeField/demo/errors.js +33 -0
  258. package/ui/form/DateRangeField/demo/icon.d.ts +8 -0
  259. package/ui/form/DateRangeField/demo/icon.js +35 -0
  260. package/ui/form/DateRangeField/demo/placeholder.d.ts +8 -0
  261. package/ui/form/DateRangeField/demo/placeholder.js +33 -0
  262. package/ui/form/DateRangeField/demo/required.d.ts +8 -0
  263. package/ui/form/DateRangeField/demo/required.js +33 -0
  264. package/ui/form/DateTimeField/DateTimeField.d.ts +1 -7
  265. package/ui/form/DateTimeField/DateTimeField.js +3 -2
  266. package/ui/form/DateTimeField/demo/basic.d.ts +1 -1
  267. package/ui/form/DateTimeField/demo/basic.js +1 -1
  268. package/ui/form/DateTimeField/demo/disabled.d.ts +1 -1
  269. package/ui/form/DateTimeField/demo/disabled.js +1 -1
  270. package/ui/form/DateTimeField/demo/errors.d.ts +1 -1
  271. package/ui/form/DateTimeField/demo/errors.js +2 -2
  272. package/ui/form/DateTimeField/demo/icon.d.ts +1 -1
  273. package/ui/form/DateTimeField/demo/icon.js +2 -2
  274. package/ui/form/DateTimeField/demo/placeholder.d.ts +1 -1
  275. package/ui/form/DateTimeField/demo/placeholder.js +2 -6
  276. package/ui/form/DateTimeField/demo/required.d.ts +1 -1
  277. package/ui/form/DateTimeField/demo/required.js +1 -1
  278. package/ui/form/DateTimeField/demo/showRemove.d.ts +8 -0
  279. package/ui/form/DateTimeField/demo/showRemove.js +32 -0
  280. package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -7
  281. package/ui/form/DateTimeRangeField/DateTimeRangeField.js +11 -2
  282. package/ui/form/DateTimeRangeField/demo/basic.d.ts +8 -0
  283. package/ui/form/DateTimeRangeField/demo/basic.js +32 -0
  284. package/ui/form/DateTimeRangeField/demo/disabled.d.ts +8 -0
  285. package/ui/form/{FieldLayout/demo/hint.js → DateTimeRangeField/demo/disabled.js} +4 -5
  286. package/ui/form/DateTimeRangeField/demo/errors.d.ts +8 -0
  287. package/ui/form/DateTimeRangeField/demo/errors.js +33 -0
  288. package/ui/form/DateTimeRangeField/demo/icon.d.ts +8 -0
  289. package/ui/form/DateTimeRangeField/demo/icon.js +32 -0
  290. package/ui/form/DateTimeRangeField/demo/placeholder.d.ts +8 -0
  291. package/ui/form/DateTimeRangeField/demo/placeholder.js +33 -0
  292. package/ui/form/DateTimeRangeField/demo/required.d.ts +8 -0
  293. package/ui/form/DateTimeRangeField/demo/required.js +33 -0
  294. package/ui/form/DateTimeRangeField/demo/showRemove.d.ts +8 -0
  295. package/ui/form/DateTimeRangeField/demo/showRemove.js +32 -0
  296. package/ui/form/DropDownField/DropDownField.d.ts +3 -8
  297. package/ui/form/DropDownField/DropDownField.js +23 -13
  298. package/ui/form/DropDownField/demo/auto-complete.d.ts +1 -1
  299. package/ui/form/DropDownField/demo/auto-complete.js +1 -1
  300. package/ui/form/DropDownField/demo/basic.d.ts +5 -5
  301. package/ui/form/DropDownField/demo/basic.js +6 -6
  302. package/ui/form/DropDownField/demo/disabled.d.ts +1 -1
  303. package/ui/form/DropDownField/demo/disabled.js +1 -1
  304. package/ui/form/DropDownField/demo/errors.d.ts +1 -1
  305. package/ui/form/DropDownField/demo/errors.js +2 -2
  306. package/ui/form/DropDownField/demo/multiple.d.ts +1 -1
  307. package/ui/form/DropDownField/demo/multiple.js +1 -1
  308. package/ui/form/DropDownField/demo/no-border.d.ts +1 -1
  309. package/ui/form/DropDownField/demo/no-border.js +1 -1
  310. package/ui/form/DropDownField/demo/placeholder.d.ts +1 -1
  311. package/ui/form/DropDownField/demo/placeholder.js +1 -1
  312. package/ui/form/DropDownField/demo/required.d.ts +1 -1
  313. package/ui/form/DropDownField/demo/required.js +1 -1
  314. package/ui/form/DropDownField/demo/show-reset.d.ts +1 -1
  315. package/ui/form/DropDownField/demo/show-reset.js +1 -1
  316. package/ui/form/DropDownField/demo/size.d.ts +1 -1
  317. package/ui/form/DropDownField/demo/size.js +1 -1
  318. package/ui/form/Field/demo/basic.d.ts +1 -1
  319. package/ui/form/Field/demo/basic.js +1 -1
  320. package/ui/form/Field/demo/component.d.ts +1 -1
  321. package/ui/form/Field/demo/component.js +1 -1
  322. package/ui/form/Field/demo/model.d.ts +1 -1
  323. package/ui/form/Field/demo/model.js +1 -1
  324. package/ui/form/Field/fieldWrapper.d.ts +4 -4
  325. package/ui/form/FieldLayout/demo/errors.d.ts +1 -1
  326. package/ui/form/FieldLayout/demo/errors.js +4 -3
  327. package/ui/form/FieldLayout/demo/layouts.d.ts +1 -1
  328. package/ui/form/FieldLayout/demo/layouts.js +4 -3
  329. package/ui/form/FieldLayout/demo/required.d.ts +1 -1
  330. package/ui/form/FieldLayout/demo/required.js +3 -2
  331. package/ui/form/FieldList/FieldList.d.ts +1 -6
  332. package/ui/form/FieldList/demo/basic.d.ts +1 -1
  333. package/ui/form/FieldList/demo/basic.js +1 -1
  334. package/ui/form/FieldList/demo/disabled.d.ts +8 -0
  335. package/ui/form/FieldList/demo/disabled.js +58 -0
  336. package/ui/form/FieldSet/demo/basic.d.ts +1 -1
  337. package/ui/form/FieldSet/demo/basic.js +1 -1
  338. package/ui/form/FileField/FileField.d.ts +1 -6
  339. package/ui/form/FileField/demo/basic.d.ts +8 -0
  340. package/ui/form/FileField/demo/basic.js +33 -0
  341. package/ui/form/Form/Form.d.ts +9 -10
  342. package/ui/form/Form/Form.js +126 -126
  343. package/ui/form/Form/demo/basic.d.ts +1 -1
  344. package/ui/form/Form/demo/basic.js +2 -2
  345. package/ui/form/Form/demo/border.d.ts +8 -0
  346. package/ui/form/Form/demo/border.js +58 -0
  347. package/ui/form/Form/demo/horizontal.d.ts +8 -0
  348. package/ui/form/Form/demo/horizontal.js +51 -0
  349. package/ui/form/Form/demo/inline.d.ts +8 -0
  350. package/ui/form/Form/demo/inline.js +49 -0
  351. package/ui/form/HtmlField/HtmlField.d.ts +1 -7
  352. package/ui/form/HtmlField/demo/basic.d.ts +1 -1
  353. package/ui/form/HtmlField/demo/basic.js +1 -1
  354. package/ui/form/ImageField/ImageField.d.ts +81 -0
  355. package/ui/form/ImageField/ImageField.js +145 -0
  356. package/ui/form/ImageField/index.d.ts +2 -0
  357. package/ui/form/ImageField/index.js +7 -0
  358. package/ui/form/InputField/InputField.d.ts +8 -6
  359. package/ui/form/InputField/InputField.js +2 -1
  360. package/ui/form/InputField/demo/addons.d.ts +3 -3
  361. package/ui/form/InputField/demo/addons.js +3 -3
  362. package/ui/form/InputField/demo/basic.d.ts +1 -1
  363. package/ui/form/InputField/demo/basic.js +2 -3
  364. package/ui/form/InputField/demo/disabled.d.ts +1 -1
  365. package/ui/form/InputField/demo/disabled.js +2 -3
  366. package/ui/form/InputField/demo/errors.d.ts +2 -2
  367. package/ui/form/InputField/demo/errors.js +3 -3
  368. package/ui/form/InputField/demo/mask.d.ts +2 -2
  369. package/ui/form/InputField/demo/mask.js +2 -2
  370. package/ui/form/InputField/demo/placeholder.d.ts +1 -1
  371. package/ui/form/InputField/demo/placeholder.js +1 -1
  372. package/ui/form/InputField/demo/required.d.ts +1 -1
  373. package/ui/form/InputField/demo/required.js +1 -1
  374. package/ui/form/InputField/demo/sizes.d.ts +0 -5
  375. package/ui/form/InputField/demo/sizes.js +5 -5
  376. package/ui/form/InputField/demo/textAddons.d.ts +3 -3
  377. package/ui/form/InputField/demo/textAddons.js +3 -3
  378. package/ui/form/InputField/demo/types.d.ts +0 -5
  379. package/ui/form/InputField/demo/types.js +7 -7
  380. package/ui/form/NavField/NavField.d.ts +2 -8
  381. package/ui/form/NavField/NavField.js +6 -3
  382. package/ui/form/NavField/demo/basic.d.ts +5 -5
  383. package/ui/form/NavField/demo/basic.js +6 -6
  384. package/ui/form/NavField/demo/disabled.d.ts +2 -2
  385. package/ui/form/NavField/demo/disabled.js +3 -3
  386. package/ui/form/NavField/demo/errors.d.ts +2 -2
  387. package/ui/form/NavField/demo/errors.js +4 -4
  388. package/ui/form/NavField/demo/layouts.d.ts +12 -0
  389. package/ui/form/NavField/demo/layouts.js +57 -0
  390. package/ui/form/NavField/demo/required.d.ts +2 -2
  391. package/ui/form/NavField/demo/required.js +3 -3
  392. package/ui/form/NumberField/NumberField.d.ts +1 -6
  393. package/ui/form/NumberField/demo/basic.d.ts +1 -1
  394. package/ui/form/NumberField/demo/basic.js +1 -1
  395. package/ui/form/NumberField/demo/disabled.d.ts +1 -1
  396. package/ui/form/NumberField/demo/disabled.js +1 -1
  397. package/ui/form/NumberField/demo/errors.d.ts +1 -1
  398. package/ui/form/NumberField/demo/errors.js +2 -2
  399. package/ui/form/NumberField/demo/placeholder.d.ts +1 -1
  400. package/ui/form/NumberField/demo/placeholder.js +1 -1
  401. package/ui/form/NumberField/demo/required.d.ts +1 -1
  402. package/ui/form/NumberField/demo/required.js +1 -1
  403. package/ui/form/NumberField/demo/sizes.d.ts +2 -2
  404. package/ui/form/NumberField/demo/sizes.js +2 -2
  405. package/ui/form/PasswordField/PasswordField.d.ts +1 -6
  406. package/ui/form/PasswordField/demo/basic.d.ts +1 -1
  407. package/ui/form/PasswordField/demo/basic.js +1 -1
  408. package/ui/form/PasswordField/demo/disabled.d.ts +1 -1
  409. package/ui/form/PasswordField/demo/disabled.js +1 -1
  410. package/ui/form/PasswordField/demo/errors.d.ts +1 -1
  411. package/ui/form/PasswordField/demo/errors.js +2 -2
  412. package/ui/form/PasswordField/demo/placeholder.d.ts +1 -1
  413. package/ui/form/PasswordField/demo/placeholder.js +1 -1
  414. package/ui/form/PasswordField/demo/required.d.ts +1 -1
  415. package/ui/form/PasswordField/demo/required.js +1 -1
  416. package/ui/form/PasswordField/demo/security.d.ts +1 -1
  417. package/ui/form/PasswordField/demo/security.js +1 -1
  418. package/ui/form/PasswordField/demo/sizes.d.ts +2 -2
  419. package/ui/form/PasswordField/demo/sizes.js +2 -2
  420. package/ui/form/RadioListField/RadioListField.d.ts +1 -6
  421. package/ui/form/RadioListField/demo/basic.d.ts +5 -5
  422. package/ui/form/RadioListField/demo/basic.js +5 -5
  423. package/ui/form/RadioListField/demo/disabled.d.ts +1 -1
  424. package/ui/form/RadioListField/demo/disabled.js +1 -1
  425. package/ui/form/RadioListField/demo/errors.d.ts +1 -1
  426. package/ui/form/RadioListField/demo/errors.js +2 -2
  427. package/ui/form/RadioListField/demo/required.d.ts +1 -1
  428. package/ui/form/RadioListField/demo/required.js +1 -1
  429. package/ui/form/RateField/RateField.d.ts +2 -8
  430. package/ui/form/RateField/demo/allow-clear.d.ts +1 -1
  431. package/ui/form/RateField/demo/allow-clear.js +1 -1
  432. package/ui/form/RateField/demo/basic.d.ts +1 -1
  433. package/ui/form/RateField/demo/basic.js +1 -1
  434. package/ui/form/RateField/demo/default-value.d.ts +1 -1
  435. package/ui/form/RateField/demo/default-value.js +1 -1
  436. package/ui/form/RateField/demo/disabled.d.ts +1 -1
  437. package/ui/form/RateField/demo/disabled.js +1 -1
  438. package/ui/form/RateField/demo/errors.d.ts +1 -1
  439. package/ui/form/RateField/demo/errors.js +2 -2
  440. package/ui/form/RateField/demo/items-count.d.ts +1 -1
  441. package/ui/form/RateField/demo/items-count.js +1 -1
  442. package/ui/form/RateField/demo/required.d.ts +1 -1
  443. package/ui/form/RateField/demo/required.js +1 -1
  444. package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +1 -7
  445. package/ui/form/ReCaptchaField/demo/basic.d.ts +1 -1
  446. package/ui/form/ReCaptchaField/demo/basic.js +1 -1
  447. package/ui/form/SliderField/SliderField.d.ts +42 -15
  448. package/ui/form/SliderField/SliderField.js +18 -9
  449. package/ui/form/SliderField/demo/basic.d.ts +1 -1
  450. package/ui/form/SliderField/demo/basic.js +2 -2
  451. package/ui/form/SliderField/demo/disabled.d.ts +1 -1
  452. package/ui/form/SliderField/demo/disabled.js +2 -2
  453. package/ui/form/SliderField/demo/errors.d.ts +2 -2
  454. package/ui/form/SliderField/demo/errors.js +4 -4
  455. package/ui/form/SliderField/demo/marks.d.ts +3 -0
  456. package/ui/form/SliderField/demo/marks.js +45 -0
  457. package/ui/form/SliderField/demo/min-max.d.ts +2 -2
  458. package/ui/form/SliderField/demo/min-max.js +3 -3
  459. package/ui/form/SliderField/demo/onAfterChange.d.ts +8 -0
  460. package/ui/form/SliderField/demo/onAfterChange.js +39 -0
  461. package/ui/form/SliderField/demo/onChange.d.ts +8 -0
  462. package/ui/form/SliderField/demo/onChange.js +39 -0
  463. package/ui/form/SliderField/demo/range.d.ts +8 -0
  464. package/ui/form/SliderField/demo/{size.js → range.js} +5 -10
  465. package/ui/form/SwitcherField/SwitcherField.d.ts +1 -7
  466. package/ui/form/SwitcherField/demo/basic.d.ts +5 -5
  467. package/ui/form/SwitcherField/demo/basic.js +5 -5
  468. package/ui/form/SwitcherField/demo/disabled.d.ts +1 -1
  469. package/ui/form/SwitcherField/demo/disabled.js +2 -2
  470. package/ui/form/SwitcherField/demo/errors.d.ts +1 -1
  471. package/ui/form/SwitcherField/demo/errors.js +3 -3
  472. package/ui/form/SwitcherField/demo/required.d.ts +1 -1
  473. package/ui/form/SwitcherField/demo/required.js +2 -2
  474. package/ui/form/TextField/TextField.d.ts +3 -7
  475. package/ui/form/TextField/TextField.js +1 -1
  476. package/ui/form/TextField/demo/basic.d.ts +1 -1
  477. package/ui/form/TextField/demo/basic.js +1 -1
  478. package/ui/form/TextField/demo/disabled.d.ts +1 -1
  479. package/ui/form/TextField/demo/disabled.js +1 -1
  480. package/ui/form/TextField/demo/errors.d.ts +1 -1
  481. package/ui/form/TextField/demo/errors.js +2 -2
  482. package/ui/form/TextField/demo/placeholder.d.ts +1 -1
  483. package/ui/form/TextField/demo/placeholder.js +1 -1
  484. package/ui/form/TextField/demo/required.d.ts +1 -1
  485. package/ui/form/TextField/demo/required.js +1 -1
  486. package/ui/form/TextField/demo/sizes.d.ts +0 -5
  487. package/ui/form/TextField/demo/sizes.js +5 -5
  488. package/ui/form/TextField/demo/submit.d.ts +2 -2
  489. package/ui/form/TextField/demo/submit.js +2 -2
  490. package/ui/form/TimeField/TimeField.d.ts +1 -7
  491. package/ui/form/TimeField/TimeField.js +1 -1
  492. package/ui/form/TimeField/demo/basic.d.ts +1 -1
  493. package/ui/form/TimeField/demo/basic.js +1 -1
  494. package/ui/form/TimeField/demo/disabled.d.ts +1 -1
  495. package/ui/form/TimeField/demo/disabled.js +1 -1
  496. package/ui/form/TimeField/demo/errors.d.ts +1 -1
  497. package/ui/form/TimeField/demo/errors.js +2 -2
  498. package/ui/form/TimeField/demo/icon.d.ts +8 -0
  499. package/ui/form/TimeField/demo/icon.js +33 -0
  500. package/ui/form/TimeField/demo/{no-border.d.ts → noBorder.d.ts} +1 -1
  501. package/ui/form/TimeField/demo/{no-border.js → noBorder.js} +1 -1
  502. package/ui/form/TimeField/demo/placeholder.d.ts +1 -1
  503. package/ui/form/TimeField/demo/placeholder.js +1 -1
  504. package/ui/form/TimeField/demo/required.d.ts +1 -1
  505. package/ui/form/TimeField/demo/required.js +1 -1
  506. package/ui/form/TimeField/demo/showRemove.d.ts +8 -0
  507. package/ui/form/TimeField/demo/{show-remove.js → showRemove.js} +1 -1
  508. package/ui/form/index.d.ts +22 -132
  509. package/ui/format/EnumFormatter/EnumFormatter.js +1 -1
  510. package/ui/icon/Icon/Icon.js +3 -0
  511. package/ui/icon/Icon/demo/icon.d.ts +3 -0
  512. package/ui/{form/SliderField/demo/required.js → icon/Icon/demo/icon.js} +2 -7
  513. package/ui/layout/Meta/Meta.d.ts +56 -0
  514. package/ui/layout/Meta/Meta.js +38 -0
  515. package/ui/layout/Meta/index.d.ts +2 -0
  516. package/ui/layout/Meta/index.js +7 -0
  517. package/ui/layout/Notifications/Notifications.d.ts +14 -0
  518. package/ui/layout/Notifications/Notifications.js +1 -1
  519. package/ui/layout/Notifications/demo/basic.d.ts +8 -0
  520. package/ui/layout/Notifications/demo/basic.js +53 -0
  521. package/ui/layout/Notifications/demo/position.d.ts +3 -0
  522. package/ui/layout/Notifications/demo/position.js +45 -0
  523. package/ui/layout/Notifications/demo/timeOut.d.ts +3 -0
  524. package/ui/layout/Notifications/demo/timeOut.js +45 -0
  525. package/ui/layout/Portal.js +3 -0
  526. package/ui/layout/ProgressBar/ProgressBar.d.ts +55 -0
  527. package/ui/layout/ProgressBar/ProgressBar.js +53 -0
  528. package/ui/layout/ProgressBar/demo/percent.d.ts +8 -0
  529. package/ui/layout/ProgressBar/demo/percent.js +49 -0
  530. package/ui/layout/ProgressBar/demo/showLabel.d.ts +8 -0
  531. package/ui/layout/ProgressBar/demo/showLabel.js +40 -0
  532. package/ui/{form/TimeField → layout/ProgressBar}/demo/sizes.d.ts +1 -1
  533. package/ui/layout/ProgressBar/demo/sizes.js +40 -0
  534. package/ui/layout/ProgressBar/demo/status.d.ts +8 -0
  535. package/ui/{form/DateTimeField/demo/sizes.js → layout/ProgressBar/demo/status.js} +8 -12
  536. package/ui/layout/ProgressBar/demo/type.d.ts +8 -0
  537. package/ui/layout/ProgressBar/demo/type.js +40 -0
  538. package/ui/layout/ProgressBar/index.d.ts +2 -0
  539. package/ui/layout/ProgressBar/index.js +7 -0
  540. package/ui/layout/Skeleton/Skeleton.d.ts +25 -0
  541. package/ui/layout/Skeleton/Skeleton.js +11 -0
  542. package/ui/layout/Skeleton/demo/animations.d.ts +8 -0
  543. package/ui/layout/Skeleton/demo/animations.js +49 -0
  544. package/ui/layout/Skeleton/demo/width height.d.ts +8 -0
  545. package/ui/layout/Skeleton/demo/width height.js +38 -0
  546. package/ui/layout/Skeleton/index.d.ts +2 -0
  547. package/ui/layout/Skeleton/index.js +7 -0
  548. package/ui/layout/Tooltip/demo/basic.d.ts +5 -0
  549. package/ui/layout/Tooltip/demo/basic.js +20 -9
  550. package/ui/list/Grid/Grid.js +3 -1
  551. package/ui/list/Grid/demo/inner-search-form.d.ts +1 -6
  552. package/ui/list/LayoutNames/LayoutNames.js +4 -3
  553. package/ui/list/List/List.js +4 -6
  554. package/ui/list/PaginationSize/PaginationSize.d.ts +2 -2
  555. package/ui/list/Steps/Steps.d.ts +32 -0
  556. package/ui/list/Steps/Steps.js +23 -0
  557. package/ui/list/Steps/index.d.ts +2 -0
  558. package/ui/list/Steps/index.js +7 -0
  559. package/ui/modal/Modal/Modal.d.ts +52 -32
  560. package/ui/modal/Modal/Modal.js +3 -1
  561. package/ui/modal/Modal/demo/basic.d.ts +1 -1
  562. package/ui/modal/Modal/demo/basic.js +16 -7
  563. package/ui/modal/Modal/demo/closeTimeout.d.ts +8 -0
  564. package/ui/modal/Modal/demo/closeTimeout.js +60 -0
  565. package/ui/modal/Modal/demo/closing.d.ts +9 -0
  566. package/ui/modal/Modal/demo/closing.js +63 -0
  567. package/ui/modal/Modal/demo/component.d.ts +10 -0
  568. package/ui/modal/Modal/demo/component.js +51 -0
  569. package/ui/modal/Modal/demo/controls.d.ts +8 -0
  570. package/ui/modal/Modal/demo/controls.js +62 -0
  571. package/ui/modal/Modal/demo/size.d.ts +8 -0
  572. package/ui/modal/Modal/demo/size.js +66 -0
  573. package/ui/modal/ModalPortal/ModalPortal.d.ts +8 -0
  574. package/ui/modal/ModalPortal/ModalPortal.js +7 -9
  575. package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +12 -6
  576. package/ui/nav/Breadcrumbs/demo/basic.d.ts +1 -1
  577. package/ui/nav/Breadcrumbs/demo/basic.js +1 -1
  578. package/ui/nav/Breadcrumbs/demo/items.d.ts +8 -0
  579. package/ui/{form/TimeField/demo/sizes.js → nav/Breadcrumbs/demo/items.js} +9 -10
  580. package/ui/nav/Breadcrumbs/demo/page-title.d.ts +1 -1
  581. package/ui/nav/Breadcrumbs/demo/page-title.js +1 -1
  582. package/ui/nav/Nav/Nav.js +1 -1
  583. package/ui/nav/Router/Router.d.ts +21 -0
  584. package/ui/nav/Router/Router.js +40 -4
  585. package/utils/calendar.d.ts +1 -1
  586. package/utils/calendar.js +8 -1
  587. package/utils/form.d.ts +2 -7
  588. package/components/social/index.d.ts +0 -11
  589. package/components/social/index.js +0 -15
  590. package/ui/content/Avatar/SizeContext.d.ts +0 -1
  591. package/ui/content/Avatar/SizeContext.js +0 -14
  592. package/ui/form/Form/SyncAddressBarHelper.d.ts +0 -13
  593. package/ui/form/Form/SyncAddressBarHelper.js +0 -119
  594. package/ui/nav/Router/SsrProvider.d.ts +0 -15
  595. package/ui/nav/Router/SsrProvider.js +0 -55
  596. package/utils/query.d.ts +0 -1
  597. package/utils/query.js +0 -46
@@ -1,3 +1,5 @@
1
+ import { Dispatch } from 'redux';
2
+ import { IComponents } from '../providers/ComponentsProvider';
1
3
  export interface ILayout {
2
4
  status?: string;
3
5
  error?: any;
@@ -9,4 +11,11 @@ export declare const STATUS_RENDER_ERROR = "render_error";
9
11
  export declare const STATUS_HTTP_ERROR = "render_error";
10
12
  export declare const STATUS_ACCESS_DENIED = "access_denied";
11
13
  export declare const STATUS_OK = "ok";
14
+ export declare const HTTP_STATUS_CODES: {
15
+ not_found: number;
16
+ access_denied: number;
17
+ ok: number;
18
+ render_error: number;
19
+ };
20
+ export declare const runInitAction: (initAction: (...args: any[]) => Promise<any>, components: IComponents, dispatch: Dispatch<any>) => Promise<void>;
12
21
  export default function useLayout(initAction?: any): ILayout;
@@ -2,8 +2,9 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
+ var _a;
5
6
  exports.__esModule = true;
6
- exports.STATUS_OK = exports.STATUS_ACCESS_DENIED = exports.STATUS_HTTP_ERROR = exports.STATUS_RENDER_ERROR = exports.STATUS_NOT_FOUND = exports.STATUS_LOADING = void 0;
7
+ exports.runInitAction = exports.HTTP_STATUS_CODES = exports.STATUS_OK = exports.STATUS_ACCESS_DENIED = exports.STATUS_HTTP_ERROR = exports.STATUS_RENDER_ERROR = exports.STATUS_NOT_FOUND = exports.STATUS_LOADING = void 0;
7
8
  var react_1 = require("react");
8
9
  var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
9
10
  var isObject_1 = __importDefault(require("lodash-es/isObject"));
@@ -11,6 +12,8 @@ var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
11
12
  var merge_1 = __importDefault(require("lodash-es/merge"));
12
13
  var intersection_1 = __importDefault(require("lodash-es/intersection"));
13
14
  var react_use_1 = require("react-use");
15
+ var Router_1 = require("../ui/nav/Router/Router");
16
+ var useSsr_1 = __importDefault(require("./useSsr"));
14
17
  var useComponents_1 = __importDefault(require("./useComponents"));
15
18
  var router_1 = require("../reducers/router");
16
19
  var auth_1 = require("../reducers/auth");
@@ -25,16 +28,72 @@ exports.STATUS_RENDER_ERROR = 'render_error';
25
28
  exports.STATUS_HTTP_ERROR = 'render_error';
26
29
  exports.STATUS_ACCESS_DENIED = 'access_denied';
27
30
  exports.STATUS_OK = 'ok';
31
+ exports.HTTP_STATUS_CODES = (_a = {},
32
+ _a[exports.STATUS_NOT_FOUND] = 404,
33
+ _a[exports.STATUS_ACCESS_DENIED] = 403,
34
+ _a[exports.STATUS_OK] = 200,
35
+ _a[exports.STATUS_RENDER_ERROR] = 500,
36
+ _a[exports.STATUS_HTTP_ERROR] = 500,
37
+ _a);
38
+ var runInitAction = function (initAction, components, dispatch) { return (initAction(null, dispatch, components)
39
+ .then(function (result) {
40
+ // Configure components
41
+ if (isObject_1["default"](result.config)) {
42
+ Object.keys(result.config).forEach(function (name) {
43
+ if (!components[name]) {
44
+ return;
45
+ }
46
+ Object.keys(result.config[name]).forEach(function (key) {
47
+ var value = result.config[name][key];
48
+ var setter = 'set' + upperFirst_1["default"](key);
49
+ if (isFunction_1["default"](components[name][setter])) {
50
+ components[name][setter](value);
51
+ }
52
+ else if (isObject_1["default"](components[name][key])
53
+ && isObject_1["default"](value)) {
54
+ merge_1["default"](components[name][key], value);
55
+ }
56
+ else {
57
+ components[name][key] = value;
58
+ }
59
+ });
60
+ });
61
+ }
62
+ var resultMeta = result.meta;
63
+ var resultUser = result.user;
64
+ delete result.user;
65
+ delete result.meta;
66
+ if (resultMeta) {
67
+ Object.keys(resultMeta).forEach(function (modelName) {
68
+ if (resultMeta[modelName].attributes) {
69
+ components.meta.setModel(modelName, resultMeta[modelName]);
70
+ }
71
+ });
72
+ }
73
+ dispatch([
74
+ // Meta models & enums
75
+ Boolean(resultMeta) && fields_1.setMeta(resultMeta),
76
+ // User auth
77
+ auth_2.setData(result),
78
+ // User auth
79
+ auth_2.setUser(resultUser),
80
+ ].filter(Boolean));
81
+ })); };
82
+ exports.runInitAction = runInitAction;
28
83
  function useLayout(initAction) {
29
84
  if (initAction === void 0) { initAction = null; }
30
- var _a = useSelector_1["default"](function (state) { return ({
31
- route: router_1.getRoute(state),
32
- user: auth_1.getUser(state),
33
- data: auth_1.getData(state),
34
- isInitialized: auth_1.isInitialized(state),
35
- initializeCounter: auth_1.getInitializeCounter(state),
36
- redirectPageId: state.auth.redirectPageId
37
- }); }), route = _a.route, user = _a.user, data = _a.data, isInitialized = _a.isInitialized, initializeCounter = _a.initializeCounter, redirectPageId = _a.redirectPageId;
85
+ var _a = useSelector_1["default"](function (state) {
86
+ var routesMap = router_1.getRoutesMap(state);
87
+ return {
88
+ route: router_1.getRoute(state),
89
+ user: auth_1.getUser(state),
90
+ data: auth_1.getData(state),
91
+ isInitialized: auth_1.isInitialized(state),
92
+ initializeCounter: auth_1.getInitializeCounter(state),
93
+ redirectPageId: state.auth.redirectPageId,
94
+ loginRouteId: Object.keys(routesMap).find(function (name) { return routesMap[name].role === Router_1.ROUTER_ROLE_LOGIN; })
95
+ };
96
+ }), route = _a.route, user = _a.user, data = _a.data, isInitialized = _a.isInitialized, initializeCounter = _a.initializeCounter, redirectPageId = _a.redirectPageId, loginRouteId = _a.loginRouteId;
38
97
  var _b = react_1.useState(null), error = _b[0], setError = _b[1];
39
98
  var dispatch = useDispatch_1["default"]();
40
99
  var components = useComponents_1["default"]();
@@ -52,50 +111,11 @@ function useLayout(initAction) {
52
111
  if (!isFunction_1["default"](initAction) || initializeCounter <= initializeCounterPrev) {
53
112
  return;
54
113
  }
55
- initAction(null, dispatch)
56
- .then(function (result) {
57
- // Configure components
58
- if (isObject_1["default"](result.config)) {
59
- Object.keys(result.config).forEach(function (name) {
60
- if (!components[name]) {
61
- return;
62
- }
63
- Object.keys(result.config[name]).forEach(function (key) {
64
- var value = result.config[name][key];
65
- var setter = 'set' + upperFirst_1["default"](key);
66
- if (isFunction_1["default"](components[name][setter])) {
67
- components[name][setter](value);
68
- }
69
- else if (isObject_1["default"](components[name][key])
70
- && isObject_1["default"](value)) {
71
- merge_1["default"](components[name][key], value);
72
- }
73
- else {
74
- components[name][key] = value;
75
- }
76
- });
77
- });
78
- }
79
- var resultMeta = result.meta;
80
- var resultUser = result.user;
81
- delete result.user;
82
- delete result.meta;
83
- if (resultMeta) {
84
- Object.keys(resultMeta).forEach(function (modelName) {
85
- if (resultMeta[modelName].attributes) {
86
- components.meta.setModel(modelName, resultMeta[modelName]);
87
- }
88
- });
114
+ exports.runInitAction(initAction, components, dispatch)
115
+ .then(function () {
116
+ if (redirectPageId) {
117
+ dispatch(router_2.goToRoute(redirectPageId));
89
118
  }
90
- dispatch([
91
- // Meta models & enums
92
- Boolean(resultMeta) && fields_1.setMeta(resultMeta),
93
- // User auth
94
- auth_2.setData(result),
95
- // User auth
96
- auth_2.setUser(resultUser),
97
- redirectPageId && router_2.goToRoute(redirectPageId),
98
- ].filter(Boolean));
99
119
  })["catch"](function (e) {
100
120
  setError(e);
101
121
  throw e;
@@ -118,13 +138,23 @@ function useLayout(initAction) {
118
138
  userRoles.push(null); // Guest
119
139
  }
120
140
  if (intersection_1["default"](pageRoles, userRoles).length === 0) {
121
- status = exports.STATUS_ACCESS_DENIED;
122
- if (process.env.NODE_ENV !== 'production') {
123
- // eslint-disable-next-line no-console
124
- console.log('Access denied. Page roles: ', pageRoles, 'User roles:', userRoles.join(), 'Route:', route);
141
+ if (loginRouteId && route.id !== loginRouteId) {
142
+ dispatch(router_2.goToRoute(loginRouteId));
143
+ }
144
+ else {
145
+ status = exports.STATUS_ACCESS_DENIED;
146
+ if (process.env.NODE_ENV !== 'production') {
147
+ // eslint-disable-next-line no-console
148
+ console.log('Access denied. Page roles: ', pageRoles, 'User roles:', userRoles.join(), 'Route:', route);
149
+ }
125
150
  }
126
151
  }
127
152
  }
153
+ //save status code for ssr
154
+ var ssrContextValue = useSsr_1["default"]();
155
+ if (process.env.IS_SSR) {
156
+ ssrContextValue.staticContext.statusCode = exports.HTTP_STATUS_CODES[status];
157
+ }
128
158
  return {
129
159
  status: status,
130
160
  error: error,
@@ -1,3 +1,5 @@
1
+ import { IApiMethod } from '../components/ApiComponent';
2
+ import { IAddressBarConfig } from '../hooks/useAddressBar';
1
3
  import { IList } from '../actions/list';
2
4
  import { ILayoutNamesProps } from '../ui/list/LayoutNames/LayoutNames';
3
5
  import { IPaginationProps } from '../ui/list/Pagination/Pagination';
@@ -24,17 +26,6 @@ interface ISortProps {
24
26
  */
25
27
  defaultValue?: string | string[] | null;
26
28
  }
27
- interface IAddressBar {
28
- /**
29
- * Подключить синхронизацию значений формы списка с адресной строкой
30
- * @example false
31
- */
32
- enable?: boolean;
33
- /**
34
- * Указывает, что в качестве сепаратора для параметров формы в адресной строке нужно использовать '#', а не '?'
35
- */
36
- useHash?: boolean;
37
- }
38
29
  export interface IListConfig {
39
30
  /**
40
31
  * Идентификатор списка
@@ -50,7 +41,7 @@ export interface IListConfig {
50
41
  * Url, который вернет коллекцию элементов
51
42
  * @example api/v1/articles
52
43
  */
53
- action?: string;
44
+ action?: string | IApiMethod;
54
45
  /**
55
46
  * Тип HTTP запроса (GET | POST | PUT | DELETE)
56
47
  * @example GET
@@ -111,7 +102,7 @@ export interface IListConfig {
111
102
  * Синхронизация значений формы списка с адресной строкой
112
103
  * @example true
113
104
  */
114
- addressBar?: boolean | IAddressBar;
105
+ addressBar?: boolean | IAddressBarConfig;
115
106
  scope?: string[];
116
107
  /**
117
108
  * Дополнительные параметры, значения которых нужно передавать в запросе для получения данных
@@ -128,6 +119,15 @@ export interface IListConfig {
128
119
  * Элементы коллекции
129
120
  */
130
121
  items?: Array<any>;
122
+ /**
123
+ * Начальные элементы. Используется для подгрузки нескольких списков в один запрос, при этом не отменяя пагинацию
124
+ * и последующие запросы на бекенд для 2-й и следующих страниц
125
+ */
126
+ initialItems?: Array<any>;
127
+ /**
128
+ * Количество элементов всего в списке (для отрисовки пагинации), заданное вручную
129
+ */
130
+ initialTotal?: number;
131
131
  }
132
132
  export interface IListOutput {
133
133
  list: IList;
@@ -145,6 +145,47 @@ export interface IListOutput {
145
145
  onFetch: (params?: Record<string, unknown>) => void;
146
146
  onSort: (value: any) => void;
147
147
  }
148
+ export declare const defaultConfig: {
149
+ actionMethod: string;
150
+ primaryKey: string;
151
+ autoDestroy: boolean;
152
+ sort: {
153
+ enable: boolean;
154
+ attribute: string;
155
+ defaultValue: any;
156
+ };
157
+ };
158
+ export declare const normalizeSortProps: (props: IListConfig['sort']) => {
159
+ enable: boolean;
160
+ attribute: string;
161
+ defaultValue: any;
162
+ };
163
+ export declare const getDefaultSearchModel: ({ paginationProps, paginationSizeProps, sort, layoutNamesProps, }: {
164
+ paginationProps: any;
165
+ paginationSizeProps: any;
166
+ sort: any;
167
+ layoutNamesProps: any;
168
+ }) => {
169
+ attributes: ({
170
+ type: string;
171
+ attribute: any;
172
+ defaultValue: any;
173
+ jsType?: undefined;
174
+ } | {
175
+ type: string;
176
+ jsType: string;
177
+ attribute: any;
178
+ defaultValue: any;
179
+ })[];
180
+ };
181
+ export declare const createInitialValues: ({ paginationProps, paginationSizeProps, sort, layoutNamesProps, initialQuery, configQuery, }: {
182
+ paginationProps: any;
183
+ paginationSizeProps: any;
184
+ sort: any;
185
+ layoutNamesProps: any;
186
+ initialQuery: any;
187
+ configQuery: any;
188
+ }) => any;
148
189
  /**
149
190
  * useList
150
191
  * Добавляет массу возможностей для взаимодействия с коллекциями. Коллекции можно получать как с бекенда,
package/hooks/useList.js CHANGED
@@ -33,6 +33,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
33
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
34
  };
35
35
  exports.__esModule = true;
36
+ exports.createInitialValues = exports.getDefaultSearchModel = exports.normalizeSortProps = exports.defaultConfig = void 0;
36
37
  var react_1 = require("react");
37
38
  var get_1 = __importDefault(require("lodash-es/get"));
38
39
  var union_1 = __importDefault(require("lodash-es/union"));
@@ -52,8 +53,7 @@ var useInitial_1 = __importDefault(require("../hooks/useInitial"));
52
53
  var Pagination_1 = require("../ui/list/Pagination/Pagination");
53
54
  var PaginationSize_1 = require("../ui/list/PaginationSize/PaginationSize");
54
55
  var Empty_1 = require("../ui/list/Empty/Empty");
55
- var index_1 = require("../hooks/index");
56
- var defaultConfig = {
56
+ exports.defaultConfig = {
57
57
  actionMethod: 'get',
58
58
  primaryKey: 'id',
59
59
  autoDestroy: true,
@@ -61,12 +61,45 @@ var defaultConfig = {
61
61
  enable: false,
62
62
  attribute: 'sort',
63
63
  defaultValue: null
64
- },
65
- addressBar: {
66
- enable: false,
67
- useHash: false
68
64
  }
69
65
  };
66
+ var normalizeSortProps = function (props) { return (__assign(__assign(__assign({}, exports.defaultConfig.sort), { enable: !!props }), (typeof props === 'boolean' ? { enable: props } : props))); };
67
+ exports.normalizeSortProps = normalizeSortProps;
68
+ var getDefaultSearchModel = function (_a) {
69
+ var paginationProps = _a.paginationProps, paginationSizeProps = _a.paginationSizeProps, sort = _a.sort, layoutNamesProps = _a.layoutNamesProps;
70
+ return ({
71
+ attributes: [
72
+ paginationProps.enable && {
73
+ type: 'number',
74
+ attribute: paginationProps.attribute,
75
+ defaultValue: paginationProps.defaultValue
76
+ },
77
+ paginationSizeProps.enable && {
78
+ type: 'number',
79
+ attribute: paginationSizeProps.attribute,
80
+ defaultValue: paginationSizeProps.defaultValue
81
+ },
82
+ sort.enable && {
83
+ type: 'string',
84
+ jsType: 'string[]',
85
+ attribute: sort.attribute,
86
+ defaultValue: sort.defaultValue
87
+ },
88
+ layoutNamesProps.enable && {
89
+ type: 'string',
90
+ attribute: layoutNamesProps.attribute,
91
+ defaultValue: layoutNamesProps.defaultValue
92
+ },
93
+ ].filter(Boolean)
94
+ });
95
+ };
96
+ exports.getDefaultSearchModel = getDefaultSearchModel;
97
+ var createInitialValues = function (_a) {
98
+ var _b;
99
+ var paginationProps = _a.paginationProps, paginationSizeProps = _a.paginationSizeProps, sort = _a.sort, layoutNamesProps = _a.layoutNamesProps, initialQuery = _a.initialQuery, configQuery = _a.configQuery;
100
+ return (__assign(__assign((_b = {}, _b[paginationProps.attribute] = paginationProps.defaultValue, _b[paginationSizeProps.attribute] = paginationSizeProps.defaultValue, _b[sort.attribute] = sort.defaultValue, _b[layoutNamesProps.attribute] = layoutNamesProps.defaultValue, _b), initialQuery), configQuery));
101
+ };
102
+ exports.createInitialValues = createInitialValues;
70
103
  /**
71
104
  * useList
72
105
  * Добавляет массу возможностей для взаимодействия с коллекциями. Коллекции можно получать как с бекенда,
@@ -75,11 +108,10 @@ var defaultConfig = {
75
108
  */
76
109
  function useList(config) {
77
110
  var _a, _b;
78
- var components = index_1.useComponents();
79
111
  // Get list from redux state
80
112
  var list = useSelector_1["default"](function (state) { return list_1.getList(state, config.listId); });
81
113
  // Normalize sort config
82
- var sort = react_1.useMemo(function () { return (__assign(__assign(__assign({}, defaultConfig.sort), { enable: !!config.sort }), (typeof config.sort === 'boolean' ? { enable: config.sort } : config.sort))); }, [config.sort]);
114
+ var sort = exports.normalizeSortProps(config.sort);
83
115
  // Empty
84
116
  var Empty = require('../ui/list/Empty')["default"];
85
117
  var emptyProps = Empty_1.normalizeEmptyProps(config.empty);
@@ -107,32 +139,14 @@ function useList(config) {
107
139
  var layoutNamesProps = LayoutNames_1.normalizeLayoutNamesProps(config.layout);
108
140
  var renderLayoutNames = function () { return React.createElement(LayoutNames, __assign({ list: list }, layoutNamesProps)); };
109
141
  // Models
142
+ var defaultSearchModel = react_1.useMemo(function () { return exports.getDefaultSearchModel({
143
+ paginationProps: paginationProps,
144
+ paginationSizeProps: paginationSizeProps,
145
+ sort: sort,
146
+ layoutNamesProps: layoutNamesProps
147
+ }); }, [layoutNamesProps, paginationProps, paginationSizeProps, sort]);
110
148
  var model = useModel_1["default"](config.model);
111
- var searchModel = useModel_1["default"](config.searchModel || ((_a = config.searchForm) === null || _a === void 0 ? void 0 : _a.model), {
112
- attributes: [
113
- paginationProps.enable && {
114
- type: 'number',
115
- attribute: paginationProps.attribute,
116
- defaultValue: paginationProps.defaultValue
117
- },
118
- paginationSizeProps.enable && {
119
- type: 'number',
120
- attribute: paginationSizeProps.attribute,
121
- defaultValue: paginationSizeProps.defaultValue
122
- },
123
- sort.enable && {
124
- type: 'string',
125
- jsType: 'string[]',
126
- attribute: sort.attribute,
127
- defaultValue: sort.defaultValue
128
- },
129
- layoutNamesProps.enable && {
130
- type: 'string',
131
- attribute: layoutNamesProps.attribute,
132
- defaultValue: layoutNamesProps.defaultValue
133
- },
134
- ].filter(Boolean)
135
- });
149
+ var searchModel = useModel_1["default"](config.searchModel || ((_a = config.searchForm) === null || _a === void 0 ? void 0 : _a.model), defaultSearchModel);
136
150
  // Address bar synchronization
137
151
  var _c = useAddressBar_1["default"](__assign({ enable: !!config.addressBar, model: searchModel }, (typeof config.addressBar === 'boolean' ? { enable: config.addressBar } : config.addressBar))), initialQuery = _c.initialQuery, updateQuery = _c.updateQuery;
138
152
  // Outside search form
@@ -149,34 +163,51 @@ function useList(config) {
149
163
  var formId = get_1["default"](config, 'searchForm.formId') || config.listId;
150
164
  var dispatch = useDispatch_1["default"]();
151
165
  // List wrapper (form context)
152
- var initialValues = useInitial_1["default"](function () {
153
- var _a;
154
- return (__assign(__assign((_a = {}, _a[paginationProps.attribute] = paginationProps.defaultValue, _a[paginationSizeProps.attribute] = paginationSizeProps.defaultValue, _a[sort.attribute] = sort.defaultValue, _a[layoutNamesProps.attribute] = layoutNamesProps.defaultValue, _a), initialQuery), config.query));
155
- });
166
+ var _initialValues = react_1.useMemo(function () { return exports.createInitialValues({
167
+ paginationProps: paginationProps,
168
+ paginationSizeProps: paginationSizeProps,
169
+ sort: sort,
170
+ layoutNamesProps: layoutNamesProps,
171
+ initialQuery: initialQuery,
172
+ configQuery: config.query
173
+ }); }, [config.query, initialQuery, layoutNamesProps, paginationProps, paginationSizeProps, sort]);
174
+ var initialValues = useInitial_1["default"](function () { return _initialValues; });
156
175
  var renderList = react_1.useCallback(function (children) {
157
176
  var Form = require('../ui/form/Form')["default"];
158
177
  return (React.createElement(Form, { formId: formId, initialValues: initialValues, view: false, useRedux: true }, children));
159
178
  }, [formId, initialValues]);
160
179
  // Init list in redux store
161
180
  react_use_1.useMount(function () {
162
- dispatch(list_2.listInit(config.listId, {
163
- listId: config.listId,
164
- action: config.action || config.action === '' ? config.action : null,
165
- actionMethod: config.actionMethod || defaultConfig.actionMethod,
166
- onFetch: config.onFetch,
167
- condition: config.condition,
168
- scope: config.scope,
169
- items: null,
170
- sourceItems: config.items || null,
171
- isRemote: !config.items,
172
- primaryKey: config.primaryKey || defaultConfig.primaryKey,
173
- formId: formId,
174
- loadMore: paginationProps.loadMore,
175
- pageAttribute: paginationProps.attribute || null,
176
- pageSizeAttribute: paginationSizeProps.attribute || null,
177
- sortAttribute: sort.attribute || null,
178
- layoutAttribute: layoutNamesProps.attribute || null
179
- }));
181
+ if (!list) {
182
+ var toDispatch = [
183
+ list_2.listInit(config.listId, {
184
+ listId: config.listId,
185
+ action: config.action || config.action === '' ? config.action : null,
186
+ actionMethod: config.actionMethod || exports.defaultConfig.actionMethod,
187
+ onFetch: config.onFetch,
188
+ condition: config.condition,
189
+ scope: config.scope,
190
+ items: null,
191
+ sourceItems: config.items || null,
192
+ total: config.initialTotal,
193
+ isRemote: !config.items,
194
+ primaryKey: config.primaryKey || exports.defaultConfig.primaryKey,
195
+ formId: formId,
196
+ loadMore: paginationProps.loadMore,
197
+ pageAttribute: paginationProps.attribute || null,
198
+ pageSizeAttribute: paginationSizeProps.attribute || null,
199
+ sortAttribute: sort.attribute || null,
200
+ layoutAttribute: layoutNamesProps.attribute || null
201
+ }),
202
+ ];
203
+ if (config.initialItems || config.items) {
204
+ toDispatch.push(list_2.listSetItems(config.listId, config.initialItems || config.items));
205
+ }
206
+ if (!config.initialItems) {
207
+ toDispatch.push(list_2.listLazyFetch(config.listId));
208
+ }
209
+ dispatch(toDispatch);
210
+ }
180
211
  });
181
212
  // Check form values change
182
213
  var formValues = useSelector_1["default"](function (state) { return form_2.formSelector(state, formId, function (_a) {
@@ -185,7 +216,7 @@ function useList(config) {
185
216
  }); });
186
217
  var prevFormValues = react_use_1.usePrevious(formValues);
187
218
  react_use_1.useUpdateEffect(function () {
188
- if (!isEqual_1["default"](formValues, prevFormValues)) {
219
+ if (prevFormValues && !isEqual_1["default"](formValues, prevFormValues)) {
189
220
  // Has changes (but not page) -> reset page
190
221
  var attribute = paginationProps.attribute;
191
222
  if ((prevFormValues === null || prevFormValues === void 0 ? void 0 : prevFormValues[attribute]) === formValues[attribute] && formValues[attribute] > 1) {
@@ -210,7 +241,7 @@ function useList(config) {
210
241
  });
211
242
  }, [formId, prevQuery, config.query, dispatch]);
212
243
  // Check change items
213
- react_1.useEffect(function () {
244
+ react_use_1.useUpdateEffect(function () {
214
245
  dispatch([
215
246
  list_2.listSetItems(config.listId, config.items),
216
247
  list_2.listLazyFetch(config.listId),
@@ -218,7 +249,7 @@ function useList(config) {
218
249
  }, [dispatch, config.items, config.listId]);
219
250
  // Destroy
220
251
  react_use_1.useUnmount(function () {
221
- var autoDestroy = typeof config.autoDestroy === 'boolean' ? config.autoDestroy : defaultConfig.autoDestroy;
252
+ var autoDestroy = typeof config.autoDestroy === 'boolean' ? config.autoDestroy : exports.defaultConfig.autoDestroy;
222
253
  if (autoDestroy) {
223
254
  dispatch(list_2.listDestroy(config.listId));
224
255
  }
package/hooks/useModel.js CHANGED
@@ -8,6 +8,6 @@ var useComponents_1 = __importDefault(require("./useComponents"));
8
8
  function useModel(model, defaultModel) {
9
9
  if (defaultModel === void 0) { defaultModel = null; }
10
10
  var components = useComponents_1["default"]();
11
- return react_1.useMemo(function () { return components.meta.normalizeModel(components.meta.getModel(model), defaultModel); }, [components.meta, defaultModel, model]);
11
+ return react_1.useMemo(function () { return components.meta.normalizeModel(typeof model === 'string' ? components.meta.getModel(model) : model, defaultModel); }, [components.meta, defaultModel, model]);
12
12
  }
13
13
  exports["default"] = useModel;
@@ -1,2 +1,2 @@
1
- import { IScreen } from './useApplication';
1
+ import { IScreen } from '../providers/ScreenProvider';
2
2
  export default function useScreen(): IScreen;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
3
  var react_1 = require("react");
4
- var useApplication_1 = require("../hooks/useApplication");
4
+ var ScreenProvider_1 = require("../providers/ScreenProvider");
5
5
  function useScreen() {
6
- return react_1.useContext(useApplication_1.ScreenContext);
6
+ return react_1.useContext(ScreenProvider_1.ScreenContext);
7
7
  }
8
8
  exports["default"] = useScreen;
@@ -0,0 +1,2 @@
1
+ import { ISsr } from '../providers/SsrProvider';
2
+ export default function useSsr(): ISsr;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var react_1 = require("react");
4
+ var SsrProvider_1 = require("../providers/SsrProvider");
5
+ function useSsr() {
6
+ return react_1.useContext(SsrProvider_1.SsrProviderContext) || {};
7
+ }
8
+ exports["default"] = useSsr;
package/index.d.ts CHANGED
@@ -26,7 +26,7 @@ declare function __(phrase: string, params?: any): string;
26
26
  * Название цвета, соответствующее ему состоянию
27
27
  */
28
28
  declare type ColorName =
29
- 'primary'
29
+ | 'primary'
30
30
  | 'secondary'
31
31
  | 'success'
32
32
  | 'info'
@@ -44,7 +44,7 @@ declare type PrimaryKey = number | string;
44
44
  /**
45
45
  * Размер элемента
46
46
  */
47
- declare type Size = 'sm' | 'md' | 'lg' | string;
47
+ declare type Size = 'small' | 'middle' | 'large' | string;
48
48
 
49
49
  /**
50
50
  * Макет формы или ее части, влияющий на расположение полей
@@ -78,6 +78,12 @@ declare type FormInputType = {
78
78
  */
79
79
  declare type CssClassName = string;
80
80
 
81
+ /**
82
+ * Дополнительные стили
83
+ * @example my-block
84
+ */
85
+ declare type CustomStyle = React.CSSProperties;
86
+
81
87
  /**
82
88
  * Переопределение view React компонента для кастомизации отображения
83
89
  * @example MyCustomView
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "2.1.0-beta.6",
3
+ "version": "2.1.1",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -43,13 +43,16 @@
43
43
  "react-day-picker": "^7.4.8",
44
44
  "react-dom": "^17.0.2",
45
45
  "react-grid-gallery": "^0.4.8",
46
+ "react-helmet": "^6.1.0",
47
+ "react-image-crop": "^9.0.2",
46
48
  "react-input-mask": "^3.0.0-alpha.2",
47
- "react-redux": "^7.1.1",
49
+ "react-redux": "7.1.1",
48
50
  "react-router": "^5.2.0",
49
51
  "react-router-dom": "^5.2.0",
50
52
  "react-use": "^17.1.0",
51
53
  "redux": "^4.0.4",
52
- "redux-mock-store": "^1.5.4"
54
+ "redux-mock-store": "^1.5.4",
55
+ "set-cookie-parser": "^2.4.8"
53
56
  },
54
57
  "devDependencies": {
55
58
  "@babel/cli": "^7.13.14",
@@ -58,12 +61,12 @@
58
61
  "@babel/preset-react": "^7.13.13",
59
62
  "@babel/preset-typescript": "^7.13.0",
60
63
  "@types/enzyme": "^3.10.8",
64
+ "@types/enzyme-adapter-react-16": "^1.0.6",
61
65
  "@types/jest": "^26.0.22",
62
66
  "@types/markdown-to-jsx": "^6.11.3",
63
67
  "@types/reach__router": "^1.3.7",
64
68
  "@types/react": "=17.0.3",
65
69
  "@types/react-color": "^3.0.4",
66
- "@types/enzyme-adapter-react-16": "^1.0.6",
67
70
  "@types/react-syntax-highlighter": "^13.5.0",
68
71
  "@types/webpack-env": "^1.16.0",
69
72
  "@typescript-eslint/eslint-plugin": "^4.15.0",
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { PropsWithChildren } from 'react';
3
+ declare global {
4
+ interface Window {
5
+ SteroidsComponents: IComponents;
6
+ }
7
+ }
8
+ export interface IComponents {
9
+ api?: any;
10
+ clientStorage?: any;
11
+ html?: any;
12
+ http?: any;
13
+ locale?: any;
14
+ store?: any;
15
+ ui?: any;
16
+ resource?: any;
17
+ ws?: any;
18
+ pushNotification?: any;
19
+ meta?: any;
20
+ [key: string]: any;
21
+ }
22
+ export interface IComponentsProviderProps extends PropsWithChildren<any> {
23
+ components: IComponents;
24
+ }
25
+ export declare const ComponentsContext: React.Context<IComponents>;
26
+ export default function ComponentsProvider(props: IComponentsProviderProps): JSX.Element;