@steroidsjs/core 2.1.0-beta.9 → 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 +5 -6
  44. package/hooks/useDataSelect.d.ts +4 -3
  45. package/hooks/useDataSelect.js +58 -13
  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 +4 -2
  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 +21 -12
  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
@@ -44,86 +44,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
44
44
  return (mod && mod.__esModule) ? mod : { "default": mod };
45
45
  };
46
46
  exports.__esModule = true;
47
- exports.ComponentsContext = exports.SCREEN_DESKTOP = exports.SCREEN_TABLET = exports.SCREEN_PHONE = exports.ScreenContext = void 0;
47
+ exports.defaultComponents = void 0;
48
48
  var React = __importStar(require("react"));
49
49
  var react_redux_1 = require("react-redux");
50
50
  var merge_1 = __importDefault(require("lodash-es/merge"));
51
51
  var react_1 = require("react");
52
- var react_use_1 = require("react-use");
53
52
  var ClientStorageComponent_1 = __importDefault(require("../components/ClientStorageComponent"));
54
53
  var HtmlComponent_1 = __importDefault(require("../components/HtmlComponent"));
55
54
  var StoreComponent_1 = __importDefault(require("../components/StoreComponent"));
56
55
  var UiComponent_1 = __importDefault(require("../components/UiComponent"));
57
56
  var MetaComponent_1 = __importDefault(require("../components/MetaComponent"));
57
+ var ComponentsProvider_1 = __importDefault(require("../providers/ComponentsProvider"));
58
58
  var Router_1 = __importDefault(require("../ui/nav/Router/Router"));
59
59
  var MetricsComponent_1 = __importDefault(require("../components/MetricsComponent"));
60
- exports.ScreenContext = React.createContext({});
61
- exports.SCREEN_PHONE = 'phone';
62
- exports.SCREEN_TABLET = 'tablet';
63
- exports.SCREEN_DESKTOP = 'desktop';
64
- function ScreenProvider(props) {
65
- var _a;
66
- var _b = react_1.useState(typeof window !== 'undefined' ? window.innerWidth : 1280), width = _b[0], setWidth = _b[1];
67
- var _c = react_1.useState(props.media || (_a = {},
68
- _a[exports.SCREEN_PHONE] = 320,
69
- _a[exports.SCREEN_TABLET] = 768,
70
- _a[exports.SCREEN_DESKTOP] = 1024,
71
- _a)), media = _c[0], setMedia = _c[1];
72
- var timer = null;
73
- var onResize = function () {
74
- if (timer) {
75
- clearTimeout(timer);
76
- }
77
- if (props.skipTimeout) {
78
- setWidth(window.innerWidth);
79
- }
80
- else {
81
- timer = setTimeout(function () { return setWidth(window.innerWidth); }, 100);
82
- }
83
- };
84
- react_use_1.useMount(function () {
85
- if (typeof window !== 'undefined') {
86
- window.addEventListener('resize', onResize, false);
87
- }
88
- });
89
- react_use_1.useUnmount(function () {
90
- if (typeof window !== 'undefined') {
91
- window.removeEventListener('resize', onResize);
92
- }
93
- });
94
- var getDeviceType = react_1.useCallback(function () {
95
- if (width < media[exports.SCREEN_TABLET]) {
96
- return exports.SCREEN_PHONE;
97
- }
98
- if (width < media[exports.SCREEN_DESKTOP]) {
99
- return exports.SCREEN_TABLET;
100
- }
101
- return exports.SCREEN_DESKTOP;
102
- }, [width, media]);
103
- var isPhone = react_1.useCallback(function () { return getDeviceType() === exports.SCREEN_PHONE; }, [getDeviceType]);
104
- var isTablet = react_1.useCallback(function () { return getDeviceType() === exports.SCREEN_TABLET; }, [getDeviceType]);
105
- var isDesktop = react_1.useCallback(function () { return getDeviceType() === exports.SCREEN_DESKTOP; }, [getDeviceType]);
106
- var value = react_1.useMemo(function () { return ({
107
- width: width,
108
- media: media,
109
- setMedia: setMedia,
110
- isPhone: isPhone,
111
- isTablet: isTablet,
112
- isDesktop: isDesktop,
113
- getDeviceType: getDeviceType
114
- }); }, [
115
- width,
116
- media,
117
- setMedia,
118
- isPhone,
119
- isTablet,
120
- isDesktop,
121
- getDeviceType,
122
- ]);
123
- return (React.createElement(exports.ScreenContext.Provider, { value: value }, props.children));
124
- }
125
- exports.ComponentsContext = React.createContext({});
126
- var defaultComponents = {
60
+ var ScreenProvider_1 = __importDefault(require("../providers/ScreenProvider"));
61
+ var useComponents_1 = __importDefault(require("./useComponents"));
62
+ exports.defaultComponents = {
127
63
  clientStorage: {
128
64
  className: ClientStorageComponent_1["default"]
129
65
  },
@@ -151,31 +87,30 @@ var defaultComponents = {
151
87
  };
152
88
  function useApplication(config) {
153
89
  if (config === void 0) { config = {}; }
154
- var components;
155
- // Store global (in global mode)
156
- var useGlobal = config.useGlobal !== false && typeof window !== 'undefined';
157
- if (useGlobal) {
90
+ var useGlobal = config.useGlobal !== false;
91
+ var components = useComponents_1["default"]();
92
+ if (useGlobal && !process.env.IS_SSR) {
158
93
  components = window.SteroidsComponents || null;
159
94
  }
160
95
  // Create components
161
96
  if (!components) {
162
97
  components = {};
163
- var componentsConfig_1 = merge_1["default"]({}, defaultComponents, config.components);
98
+ var componentsConfig_1 = merge_1["default"]({}, exports.defaultComponents, config.components);
164
99
  Object.keys(componentsConfig_1).forEach(function (name) {
165
100
  if (typeof componentsConfig_1[name] === 'function') {
166
101
  componentsConfig_1[name] = { className: componentsConfig_1[name] };
167
102
  }
168
103
  var _a = componentsConfig_1[name], className = _a.className, componentConfig = __rest(_a, ["className"]);
169
104
  // Append reducers to store
170
- if (name === 'store' && config.reducers) {
171
- componentConfig.reducers = config.reducers;
105
+ if (name === 'store') {
106
+ if (config.reducers) {
107
+ componentConfig.reducers = config.reducers;
108
+ }
172
109
  }
173
110
  // eslint-disable-next-line new-cap
174
111
  components[name] = new className(components, componentConfig);
175
112
  });
176
- if (useGlobal) {
177
- window.SteroidsComponents = components;
178
- }
113
+ window.SteroidsComponents = components;
179
114
  // Init callback
180
115
  if (config.onInit) {
181
116
  config.onInit(components);
@@ -190,10 +125,10 @@ function useApplication(config) {
190
125
  content = (React.createElement(Router_1["default"], { routes: config.routes(), wrapperView: config.layoutView(), wrapperProps: config.layoutProps }));
191
126
  }
192
127
  if (config.screen) {
193
- content = (React.createElement(ScreenProvider, __assign({}, config.screen), content));
128
+ content = (React.createElement(ScreenProvider_1["default"], __assign({}, config.screen), content));
194
129
  }
195
- if (!useGlobal) {
196
- content = (React.createElement(exports.ComponentsContext.Provider, { value: components }, content));
130
+ if (!(useGlobal || process.env.IS_SSR)) {
131
+ content = (React.createElement(ComponentsProvider_1["default"], { components: components }, content));
197
132
  }
198
133
  return (React.createElement(react_redux_1.Provider, { store: components.store.store }, content));
199
134
  }, [components, config, useGlobal]);
@@ -1,15 +1,2 @@
1
- export interface IComponents {
2
- api?: any;
3
- clientStorage?: any;
4
- html?: any;
5
- http?: any;
6
- locale?: any;
7
- store?: any;
8
- ui?: any;
9
- resource?: any;
10
- ws?: any;
11
- pushNotification?: any;
12
- meta?: any;
13
- [key: string]: any;
14
- }
1
+ import { IComponents } from '../providers/ComponentsProvider';
15
2
  export default function useComponents(): IComponents;
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
- //import {useContext} from 'react';
3
2
  exports.__esModule = true;
3
+ var react_1 = require("react");
4
+ var ComponentsProvider_1 = require("../providers/ComponentsProvider");
4
5
  function useComponents() {
5
- if (typeof window !== 'undefined' && window.SteroidsComponents) {
6
+ if (!process.env.IS_SSR) {
6
7
  return window.SteroidsComponents;
7
8
  }
8
- // TODO Get components from context
9
- //return useContext(ComponentsContext);
10
- return null;
9
+ return react_1.useContext(ComponentsProvider_1.ComponentsContext); // eslint-disable-line react-hooks/rules-of-hooks
11
10
  }
12
11
  exports["default"] = useComponents;
@@ -22,6 +22,7 @@ export declare type DataProviderItems = string | ({
22
22
  }) | (string | number | {
23
23
  id: string | number | boolean;
24
24
  label: string | any;
25
+ [key: string]: any;
25
26
  })[];
26
27
  export interface IDataProviderConfig {
27
28
  /**
@@ -69,6 +70,13 @@ export interface IDataProviderConfig {
69
70
  * @example true
70
71
  */
71
72
  autoFetch?: boolean;
73
+ /**
74
+ * Идентификаторы выбранных значений, которые необходимо подгрузить при `autoFetch` режиме.
75
+ * На бекенд будут переданы идентификаторы в параметре `ids`, которые необходимо вернуть.
76
+ * Используется только при `autoFetch = true`
77
+ * @example [1, 22]
78
+ */
79
+ initialSelectedIds?: number[];
72
80
  }
73
81
  export interface IDataProviderResult {
74
82
  items?: {
@@ -54,11 +54,11 @@ var react_redux_1 = require("react-redux");
54
54
  var isString_1 = __importDefault(require("lodash-es/isString"));
55
55
  var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
56
56
  var react_1 = require("react");
57
+ var react_use_1 = require("react-use");
57
58
  var data_1 = require("../utils/data");
58
59
  var index_1 = require("./index");
59
60
  var fields_1 = require("../reducers/fields");
60
61
  var text_1 = require("../utils/text");
61
- var react_use_1 = require("react-use");
62
62
  var defaultProps = {
63
63
  autoComplete: {
64
64
  enable: false,
@@ -91,7 +91,7 @@ function useDataProvider(config) {
91
91
  var isAutoFetchedRef = react_1.useRef(false);
92
92
  var prevQuery = react_use_1.usePrevious(config.query);
93
93
  react_1.useEffect(function () {
94
- var fetchRemote = function () { return __awaiter(_this, void 0, void 0, function () {
94
+ var fetchRemote = function (isAuto) { return __awaiter(_this, void 0, void 0, function () {
95
95
  var searchHandler, result, newItems;
96
96
  return __generator(this, function (_a) {
97
97
  switch (_a.label) {
@@ -100,7 +100,7 @@ function useDataProvider(config) {
100
100
  ? function (method, params) { return method(components.api, params).then(function (response) { return response.data; }); }
101
101
  : function (method, params) { return components.http.send(dataProvider.actionMethod, method, params)
102
102
  .then(function (response) { return response.data; }); });
103
- result = searchHandler(dataProvider.action, __assign({ query: config.query }, config.dataProvider.params));
103
+ result = searchHandler(dataProvider.action, __assign(__assign({ query: config.query }, (isAuto ? { ids: config.initialSelectedIds } : null)), config.dataProvider.params));
104
104
  if (!(result && isFunction_1["default"](result.then))) return [3 /*break*/, 2];
105
105
  setIsLoading(true);
106
106
  return [4 /*yield*/, result];
@@ -125,7 +125,7 @@ function useDataProvider(config) {
125
125
  }
126
126
  else if (config.autoFetch && isAutoFetchedRef.current === false) {
127
127
  isAutoFetchedRef.current = true;
128
- fetchRemote();
128
+ fetchRemote(true);
129
129
  }
130
130
  else if (autoComplete.enable) {
131
131
  if (delayTimerRef.current) {
@@ -137,8 +137,7 @@ function useDataProvider(config) {
137
137
  delayTimerRef.current = setTimeout(fetchRemote, autoComplete.delay);
138
138
  }
139
139
  }
140
- }, [autoComplete, components.api, components.http, config.autoFetch, config.dataProvider, config.query,
141
- dataProvider, dataProvider.action, dataProvider.onSearch, sourceItems]);
140
+ }, [autoComplete, components.api, components.http, config.autoFetch, config.dataProvider, config.initialSelectedIds, config.query, dataProvider, dataProvider.action, dataProvider.onSearch, prevQuery, sourceItems]);
142
141
  return {
143
142
  sourceItems: sourceItems,
144
143
  items: items,
@@ -13,7 +13,7 @@ export interface IDataSelectConfig {
13
13
  * Список с видимыми элементами
14
14
  * @example [{id: 1, label: 'Krasnoyarsk'}, {id: 2, label: 'Moscow'}]
15
15
  */
16
- items: IDataSelectItem[];
16
+ items?: IDataSelectItem[];
17
17
  /**
18
18
  * Сделать активным первый элемент в списке
19
19
  * @example true
@@ -23,7 +23,7 @@ export interface IDataSelectConfig {
23
23
  * Список с идентификаторами выбранных элементов
24
24
  * @example [1, 4]
25
25
  */
26
- selectedIds: any;
26
+ selectedIds?: any;
27
27
  /**
28
28
  * Первичный ключ для item
29
29
  * @example id
@@ -32,7 +32,7 @@ export interface IDataSelectConfig {
32
32
  /**
33
33
  * Значение поля в форме
34
34
  */
35
- inputValue: any;
35
+ inputValue?: any;
36
36
  /**
37
37
  * Список со всеми элементами
38
38
  */
@@ -47,6 +47,7 @@ export interface IDataSelectResult {
47
47
  setHoveredId: (id: PrimaryKey) => void;
48
48
  selectedIds: PrimaryKey[];
49
49
  setSelectedIds: (ids: PrimaryKey | PrimaryKey[], skipToggle?: boolean) => void;
50
+ selectedItems: IDataSelectItem[];
50
51
  }
51
52
  export default function useDataSelect(config: IDataSelectConfig): IDataSelectResult;
52
53
  export {};
@@ -32,12 +32,18 @@ function useDataSelect(config) {
32
32
  ? [config.items[0][primaryKey]]
33
33
  : [];
34
34
  }, [config.items, config.selectFirst, config.selectedIds, primaryKey, config.inputValue]);
35
- // console.log(initialSelectedIds);
35
+ var initialSelectedItems = react_1.useMemo(function () { return config.items.length > 0
36
+ && initialSelectedIds.length > 0
37
+ ? initialSelectedIds
38
+ .map(function (selectedId) { return config.items.find(function (item) { return item.id === selectedId; }); })
39
+ .filter(Boolean)
40
+ : []; }, [initialSelectedIds, config.items]);
36
41
  // State
37
42
  var _a = react_1.useState(false), isOpened = _a[0], setIsOpened = _a[1];
38
43
  var _b = react_1.useState(false), isFocused = _b[0], setIsFocused = _b[1];
39
44
  var _c = react_1.useState(null), hoveredId = _c[0], setHoveredId = _c[1];
40
45
  var _d = react_1.useState(initialSelectedIds), selectedIds = _d[0], setSelectedIdsInternal = _d[1];
46
+ var _e = react_1.useState(initialSelectedItems), selectedItems = _e[0], setSelectedItemsInternal = _e[1];
41
47
  // Handler for select/toggle item by id
42
48
  var setSelectedIds = react_1.useCallback(function (ids, skipToggle) {
43
49
  if (skipToggle === void 0) { skipToggle = false; }
@@ -45,7 +51,7 @@ function useDataSelect(config) {
45
51
  if (!config.multiple && ids.length > 1) {
46
52
  ids = [ids[0]];
47
53
  }
48
- setSelectedIdsInternal(ids);
54
+ setSelectedIdsInternal(ids.sort());
49
55
  }
50
56
  else {
51
57
  var id_1 = ids;
@@ -55,11 +61,11 @@ function useDataSelect(config) {
55
61
  else if (config.multiple) {
56
62
  if (selectedIds.indexOf(id_1) !== -1) {
57
63
  if (!skipToggle) {
58
- setSelectedIdsInternal(selectedIds.filter(function (itemValue) { return itemValue !== id_1; }));
64
+ setSelectedIdsInternal(selectedIds.filter(function (itemValue) { return itemValue !== id_1; }).sort());
59
65
  }
60
66
  }
61
67
  else {
62
- setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds), [id_1]));
68
+ setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds), [id_1]).sort());
63
69
  }
64
70
  }
65
71
  else {
@@ -70,6 +76,29 @@ function useDataSelect(config) {
70
76
  }
71
77
  }
72
78
  }, [config.multiple, selectedIds]);
79
+ // Update selected items on change selectedIds or items or source items
80
+ var prevSelectedIdsLength = react_use_1.usePrevious(selectedIds.length);
81
+ react_use_1.useUpdateEffect(function () {
82
+ var newSelectedItems = [];
83
+ var hasChanges = false;
84
+ selectedIds.forEach(function (selectedId) {
85
+ var finedItem = config.items.find(function (item) { return item[primaryKey] === selectedId; });
86
+ if (!finedItem && config.sourceItems) {
87
+ finedItem = config.sourceItems.find(function (item) { return item[primaryKey] === selectedId; });
88
+ }
89
+ var selectedItem = selectedItems.find(function (item) { return item[primaryKey] === selectedId; });
90
+ if (finedItem || selectedItem) {
91
+ newSelectedItems.push(finedItem || selectedItem);
92
+ }
93
+ if (finedItem
94
+ && (!selectedItem || selectedItem !== finedItem)) {
95
+ hasChanges = true;
96
+ }
97
+ });
98
+ if (hasChanges || prevSelectedIdsLength !== selectedIds.length) {
99
+ setSelectedItemsInternal(newSelectedItems);
100
+ }
101
+ }, [config.items, config.sourceItems, primaryKey, selectedIds, selectedItems, prevSelectedIdsLength]);
73
102
  // Select first after fetch data
74
103
  var prevItemsLength = react_use_1.usePrevious(config.items.length);
75
104
  react_use_1.useUpdateEffect(function () {
@@ -80,20 +109,27 @@ function useDataSelect(config) {
80
109
  // Update selected items on change value
81
110
  var prevConfigSelectedIds = react_use_1.usePrevious(config.selectedIds || []);
82
111
  react_use_1.useUpdateEffect(function () {
83
- var itemsForSelect = config.sourceItems || config.items;
84
- var newSelectedIds = config.selectedIds && config.selectedIds.length > 0
85
- ? itemsForSelect.map(function (item) { return item[primaryKey]; }).filter(function (id) { return config.selectedIds.includes(id); })
86
- : [];
87
- if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds) && newSelectedIds.length !== 0) {
112
+ var newSelectedIds = config.selectedIds;
113
+ selectedItems.forEach(function (selectedItem) {
114
+ if (!newSelectedIds.includes(selectedItem.id) && config.selectedIds
115
+ && config.selectedIds.includes(selectedItem.id)) {
116
+ newSelectedIds.push(selectedItem.id);
117
+ }
118
+ });
119
+ newSelectedIds.sort();
120
+ if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds)
121
+ && !isEqual_1["default"](selectedIds, newSelectedIds) && newSelectedIds.length !== 0) {
88
122
  setSelectedIdsInternal(newSelectedIds);
89
123
  }
90
- }, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds]);
124
+ }, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds,
125
+ selectedItems, config.sourceItems, selectedIds]);
91
126
  // Global key down handler for navigate on items
92
127
  // Support keys:
93
128
  // - tab
94
129
  // - esc
95
130
  // - enter
96
131
  // - up/down arrows
132
+ // - space
97
133
  var onKeyDown = react_1.useCallback(function (e) {
98
134
  // Skip no active
99
135
  if (!isFocused && !isOpened) {
@@ -103,9 +139,8 @@ function useDataSelect(config) {
103
139
  if ([9, 27].includes(e.which)) {
104
140
  e.preventDefault();
105
141
  setIsOpened(false);
106
- return;
107
142
  }
108
- // Keys: enter
143
+ // Keys: enter (select and close)
109
144
  if (e.which === 13 && isOpened) {
110
145
  e.preventDefault();
111
146
  if (hoveredId) {
@@ -120,6 +155,15 @@ function useDataSelect(config) {
120
155
  // Select first result
121
156
  setSelectedIds(config.items[0], true);
122
157
  }
158
+ setIsOpened(false);
159
+ }
160
+ // Keys: space (toggle select)
161
+ if (e.which === 32 && isOpened) {
162
+ e.preventDefault();
163
+ if (hoveredId) {
164
+ // Select hovered
165
+ setSelectedIds(hoveredId);
166
+ }
123
167
  }
124
168
  // Keys: arrow up, arrow down
125
169
  if ([38, 40].includes(e.which)) {
@@ -158,7 +202,8 @@ function useDataSelect(config) {
158
202
  hoveredId: hoveredId,
159
203
  setHoveredId: setHoveredId,
160
204
  selectedIds: selectedIds,
161
- setSelectedIds: setSelectedIds
205
+ setSelectedIds: setSelectedIds,
206
+ selectedItems: selectedItems
162
207
  };
163
208
  }
164
209
  exports["default"] = useDataSelect;
@@ -1 +1 @@
1
- export default function useDispatch(): import("redux").Dispatch<any>;
1
+ export default function useDispatch(): any;
@@ -1,5 +1,10 @@
1
- import { IComponents } from './useComponents';
1
+ import { IComponents } from '../providers/ComponentsProvider';
2
2
  import { IApiMethod } from '../components/ApiComponent';
3
+ declare global {
4
+ interface Window {
5
+ APP_PRELOADED_DATA: any;
6
+ }
7
+ }
3
8
  export interface IFetchConfig {
4
9
  id?: string | number;
5
10
  url?: string | IApiMethod;
@@ -18,6 +23,10 @@ export interface IFetchResult {
18
23
  isLoading: boolean;
19
24
  fetch?: (newParams?: Record<string, unknown>) => void;
20
25
  }
26
+ export declare const normalizeConfig: (config: any) => any;
27
+ export declare const getConfigId: (config: any) => any;
28
+ export declare const defaultFetchHandler: (config: any, components: any, addCancelToken: any) => any;
29
+ export declare const fetchData: (config: any, components: any, addCancelToken: any) => any;
21
30
  /**
22
31
  * Fetch
23
32
  * Используется для подгрузки данных с бекенда перед рендером компонента, на котором он применяется.
@@ -25,7 +34,6 @@ export interface IFetchResult {
25
34
  * которые описывают откуда нужно подтянуть данные.
26
35
  *
27
36
  * В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
28
- * ключ `key`. Все данные сохраняются в Redux Store, что позволяет избежать дополнительных запросов при использовании
29
- * SSR.
37
+ * ключ `key`.
30
38
  */
31
39
  export default function useFetch(rawConfig?: IFetchConfig): IFetchResult;
package/hooks/useFetch.js CHANGED
@@ -50,12 +50,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  exports.__esModule = true;
53
+ exports.fetchData = exports.defaultFetchHandler = exports.getConfigId = exports.normalizeConfig = void 0;
53
54
  var react_1 = require("react");
54
55
  var react_use_1 = require("react-use");
56
+ var trim_1 = __importDefault(require("lodash-es/trim"));
55
57
  var axios_1 = __importDefault(require("axios"));
56
58
  var index_1 = require("./index");
57
59
  var normalizeConfig = function (config) { return (config
58
60
  ? __assign({ id: null, url: '', method: 'get', params: {}, options: null, onFetch: null }, config) : null); };
61
+ exports.normalizeConfig = normalizeConfig;
62
+ var getConfigId = function (config) {
63
+ if (config === null) {
64
+ return null;
65
+ }
66
+ var result = trim_1["default"](config.id || config.url, '/');
67
+ if (!result) {
68
+ // eslint-disable-next-line no-console
69
+ console.warn('Please set id for fetch config, it`s necessary for SSR to work properly');
70
+ }
71
+ return result;
72
+ };
73
+ exports.getConfigId = getConfigId;
59
74
  var defaultFetchHandler = function (config, components, addCancelToken) {
60
75
  var cancelToken = new axios_1["default"].CancelToken(function (cancel) {
61
76
  addCancelToken(cancel);
@@ -67,6 +82,9 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
67
82
  .send(config.method, config.url, config.params, __assign(__assign({}, config.options), { cancelToken: cancelToken }))
68
83
  .then(function (result) { return result.data; });
69
84
  };
85
+ exports.defaultFetchHandler = defaultFetchHandler;
86
+ var fetchData = function (config, components, addCancelToken) { return ((config.onFetch || exports.defaultFetchHandler).call(null, config, components, addCancelToken)); };
87
+ exports.fetchData = fetchData;
70
88
  /**
71
89
  * Fetch
72
90
  * Используется для подгрузки данных с бекенда перед рендером компонента, на котором он применяется.
@@ -74,26 +92,26 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
74
92
  * которые описывают откуда нужно подтянуть данные.
75
93
  *
76
94
  * В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
77
- * ключ `key`. Все данные сохраняются в Redux Store, что позволяет избежать дополнительных запросов при использовании
78
- * SSR.
95
+ * ключ `key`.
79
96
  */
80
97
  function useFetch(rawConfig) {
81
98
  var _this = this;
82
99
  if (rawConfig === void 0) { rawConfig = null; }
83
100
  var components = index_1.useComponents();
84
101
  // Store config in state
85
- var _a = react_1.useState(normalizeConfig(rawConfig)), config = _a[0], setConfig = _a[1];
102
+ var _a = react_1.useState(exports.normalizeConfig(rawConfig)), config = _a[0], setConfig = _a[1];
86
103
  // Update config in state on raw config updated
87
104
  react_use_1.useUpdateEffect(function () {
88
105
  setConfig(rawConfig);
89
106
  }, [rawConfig]);
90
- // Resolve config id
91
- // TODO Get initial state from HttpComponent (for SSR) by configId
92
- //const idRef = useRef(_uniqueId('fetch'));
93
- //const configId = config ? _trim(config.id || config.url || idRef.current, '/') : null;
107
+ // Get preloaded data
108
+ var configId = exports.getConfigId(config);
109
+ var ssrValueContext = index_1.useSsr();
110
+ var preloadedData = process.env.IS_SSR ? ssrValueContext.preloadedData : window.APP_PRELOADED_DATA;
111
+ var preloadedDataByConfigId = (preloadedData && configId) ? preloadedData[configId] : null;
94
112
  // State for data and loading flag
95
- var _b = react_1.useState(null), data = _b[0], setData = _b[1];
96
- var _c = react_1.useState(!!config), isLoading = _c[0], setIsLoading = _c[1];
113
+ var _b = react_1.useState(preloadedDataByConfigId || null), data = _b[0], setData = _b[1];
114
+ var _c = react_1.useState(!!config && !data), isLoading = _c[0], setIsLoading = _c[1];
97
115
  // Cancel tokens
98
116
  var cancelTokens = react_1.useRef([]);
99
117
  var addCancelToken = function (token) { return cancelTokens.current.push(token); };
@@ -109,10 +127,11 @@ function useFetch(rawConfig) {
109
127
  if (newConfig) {
110
128
  setConfig(__assign(__assign(__assign({}, config), newConfig), { params: __assign(__assign({}, config === null || config === void 0 ? void 0 : config.params), newConfig === null || newConfig === void 0 ? void 0 : newConfig.params) }));
111
129
  }
130
+ setData(null);
112
131
  if (!config) return [3 /*break*/, 2];
113
132
  setIsLoading(true);
114
133
  _a = setData;
115
- return [4 /*yield*/, (config.onFetch || defaultFetchHandler).call(null, config, components, addCancelToken)];
134
+ return [4 /*yield*/, exports.fetchData(config, components, addCancelToken)];
116
135
  case 1:
117
136
  _a.apply(void 0, [_b.sent()]);
118
137
  setIsLoading(false);
@@ -122,28 +141,15 @@ function useFetch(rawConfig) {
122
141
  });
123
142
  });
124
143
  }, [components, config]);
144
+ react_use_1.useEffectOnce(function () {
145
+ if (!data) {
146
+ fetch();
147
+ }
148
+ });
125
149
  // Fetch data on config update
126
- react_1.useLayoutEffect(function () {
127
- var fetchData = function () { return __awaiter(_this, void 0, void 0, function () {
128
- var _a;
129
- return __generator(this, function (_b) {
130
- switch (_b.label) {
131
- case 0:
132
- setData(null);
133
- if (!config) return [3 /*break*/, 2];
134
- setIsLoading(true);
135
- _a = setData;
136
- return [4 /*yield*/, (config.onFetch || defaultFetchHandler).call(null, config, components, addCancelToken)];
137
- case 1:
138
- _a.apply(void 0, [_b.sent()]);
139
- setIsLoading(false);
140
- _b.label = 2;
141
- case 2: return [2 /*return*/];
142
- }
143
- });
144
- }); };
145
- fetchData();
146
- }, [components, config]);
150
+ react_use_1.useUpdateEffect(function () {
151
+ fetch();
152
+ }, [fetch]);
147
153
  return { data: data, isLoading: isLoading, fetch: fetch };
148
154
  }
149
155
  exports["default"] = useFetch;
package/hooks/useFile.js CHANGED
@@ -178,18 +178,29 @@ function useFile(props) {
178
178
  /**
179
179
  * Remove selected file from uploader
180
180
  * @param {File} fileToRemove
181
- * @private
182
181
  */
183
182
  var onRemove = function (fileToRemove) {
184
183
  uploader.queue.remove([fileToRemove]);
185
184
  forceUpdate();
186
185
  };
187
186
  var files = [].concat(uploader.queue.getFiles());
187
+ /**
188
+ * Add file to uploader
189
+ * @param {File} newFile
190
+ */
191
+ var onAdd = function (newFile) {
192
+ if (!props.multiple) {
193
+ uploader.queue.remove(files);
194
+ }
195
+ uploader.queue.add([newFile]);
196
+ forceUpdate();
197
+ };
188
198
  return {
189
199
  uploader: uploader,
190
200
  files: files,
191
201
  onBrowse: onBrowse,
192
- onRemove: onRemove
202
+ onRemove: onRemove,
203
+ onAdd: onAdd
193
204
  };
194
205
  }
195
206
  exports["default"] = useFile;
@@ -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;