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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (965) hide show
  1. package/LICENSE +1 -1
  2. package/actions/auth.ts +55 -0
  3. package/actions/fields.ts +5 -0
  4. package/actions/list.ts +303 -0
  5. package/actions/modal.ts +33 -0
  6. package/actions/notifications.ts +37 -0
  7. package/actions/router.ts +111 -0
  8. package/actions/screen.ts +28 -0
  9. package/base/Enum.ts +28 -0
  10. package/build/docs-autogen-result.json +33256 -0
  11. package/build/docs-autogen.js +124 -0
  12. package/build/helpers.js +276 -0
  13. package/components/ClientStorageComponent.ts +117 -0
  14. package/components/HtmlComponent.ts +77 -0
  15. package/components/HttpComponent.tsx +300 -0
  16. package/components/LocaleComponent.tsx +136 -0
  17. package/components/MetaComponent.ts +226 -0
  18. package/components/ResourceComponent.ts +140 -0
  19. package/components/SocialComponent.ts +39 -0
  20. package/components/StoreComponent.ts +169 -0
  21. package/components/UiComponent.ts +107 -0
  22. package/components/WebSocketComponent.ts +222 -0
  23. package/components/index.ts +19 -0
  24. package/components/social/FacebookProvider.ts +55 -0
  25. package/components/social/GoogleProvider.ts +47 -0
  26. package/components/social/SteamProvider.ts +69 -0
  27. package/components/social/VkProvider.ts +70 -0
  28. package/components/social/index.ts +10 -0
  29. package/hoc/application.tsx +103 -0
  30. package/hoc/bem.tsx +55 -0
  31. package/hoc/components.tsx +67 -0
  32. package/hoc/connect.ts +16 -0
  33. package/hoc/dataProvider.tsx +521 -0
  34. package/hoc/fetch.tsx +175 -0
  35. package/hoc/field.tsx +285 -0
  36. package/hoc/file.tsx +322 -0
  37. package/hoc/form.tsx +88 -0
  38. package/hoc/formSubmit.tsx +158 -0
  39. package/hoc/http.tsx +112 -0
  40. package/hoc/index.ts +37 -0
  41. package/hoc/layout.tsx +205 -0
  42. package/hoc/list.tsx +549 -0
  43. package/hoc/normalize.tsx +60 -0
  44. package/hoc/props.tsx +27 -0
  45. package/hoc/screen.tsx +66 -0
  46. package/hoc/theme.tsx +56 -0
  47. package/index.d.ts +80 -89
  48. package/package.json +18 -58
  49. package/reducers/auth.ts +57 -0
  50. package/reducers/fields.ts +44 -0
  51. package/reducers/index.ts +23 -0
  52. package/reducers/list.ts +191 -0
  53. package/reducers/modal.ts +79 -0
  54. package/reducers/notifications.ts +39 -0
  55. package/reducers/router.ts +322 -0
  56. package/reducers/screen.ts +43 -0
  57. package/tsconfig.json +7 -0
  58. package/ui/crud/Crud/Crud.tsx +454 -0
  59. package/ui/crud/Crud/CrudDetail.tsx +17 -0
  60. package/ui/crud/Crud/CrudForm.tsx +33 -0
  61. package/ui/crud/Crud/CrudGrid.tsx +25 -0
  62. package/ui/crud/Crud/demo/default.tsx +58 -0
  63. package/ui/crud/Crud/{index.d.ts → index.ts} +0 -0
  64. package/ui/crud/index.ts +31 -0
  65. package/ui/form/AutoCompleteField/AutoCompleteField.story.js +9 -0
  66. package/ui/form/AutoCompleteField/AutoCompleteField.tsx +161 -0
  67. package/ui/form/AutoCompleteField/demo/basic.tsx +19 -0
  68. package/ui/form/AutoCompleteField/{index.d.ts → index.ts} +0 -0
  69. package/ui/form/BlankField/BlankField.tsx +23 -0
  70. package/ui/form/BlankField/{index.d.ts → index.ts} +0 -0
  71. package/ui/form/Button/Button.story.js +17 -0
  72. package/ui/form/Button/Button.tsx +383 -0
  73. package/ui/form/Button/demo/block.tsx +17 -0
  74. package/ui/form/Button/demo/colors.tsx +40 -0
  75. package/ui/form/Button/demo/disabled.tsx +16 -0
  76. package/ui/form/Button/demo/link.tsx +19 -0
  77. package/ui/form/Button/demo/sizes.tsx +28 -0
  78. package/ui/form/Button/index.ts +2 -0
  79. package/ui/form/CheckboxField/CheckboxField.story.js +15 -0
  80. package/ui/form/CheckboxField/CheckboxField.tsx +80 -0
  81. package/ui/form/CheckboxField/demo/basic.tsx +14 -0
  82. package/ui/form/CheckboxField/demo/disabled.tsx +15 -0
  83. package/ui/form/CheckboxField/demo/errors.tsx +15 -0
  84. package/ui/form/CheckboxField/demo/required.tsx +15 -0
  85. package/ui/form/CheckboxField/{index.d.ts → index.ts} +0 -0
  86. package/ui/form/CheckboxListField/CheckboxListField.tsx +81 -0
  87. package/ui/form/CheckboxListField/{index.d.ts → index.ts} +0 -0
  88. package/ui/form/DateField/DateField.story.js +19 -0
  89. package/ui/form/DateField/DateField.tsx +165 -0
  90. package/ui/form/DateField/demo/disabled.tsx +11 -0
  91. package/ui/form/DateField/demo/errors.tsx +10 -0
  92. package/ui/form/DateField/demo/icon.tsx +13 -0
  93. package/ui/form/DateField/demo/placeholder.tsx +10 -0
  94. package/ui/form/DateField/demo/required.tsx +10 -0
  95. package/ui/form/DateField/demo/sizes.tsx +20 -0
  96. package/ui/form/DateField/{index.d.ts → index.ts} +0 -0
  97. package/ui/form/DateTimeField/DateTimeField.story.js +15 -0
  98. package/ui/form/DateTimeField/DateTimeField.tsx +153 -0
  99. package/ui/form/DateTimeField/demo/disabled.tsx +10 -0
  100. package/ui/form/DateTimeField/demo/errors.tsx +10 -0
  101. package/ui/form/DateTimeField/demo/required.tsx +10 -0
  102. package/ui/form/DateTimeField/demo/sizes.tsx +20 -0
  103. package/ui/form/DateTimeField/{index.d.ts → index.ts} +0 -0
  104. package/ui/form/DropDownField/DropDownField.story.js +23 -0
  105. package/ui/form/DropDownField/DropDownField.tsx +146 -0
  106. package/ui/form/DropDownField/demo/auto-complete.tsx +31 -0
  107. package/ui/form/DropDownField/demo/disabled.tsx +13 -0
  108. package/ui/form/DropDownField/demo/errors.tsx +13 -0
  109. package/ui/form/DropDownField/demo/multiple.tsx +13 -0
  110. package/ui/form/DropDownField/demo/no-border.tsx +16 -0
  111. package/ui/form/DropDownField/demo/placeholder.tsx +14 -0
  112. package/ui/form/DropDownField/demo/required.tsx +13 -0
  113. package/ui/form/DropDownField/demo/show-reset.tsx +13 -0
  114. package/ui/form/DropDownField/{index.d.ts → index.ts} +0 -0
  115. package/ui/form/Field/Field.tsx +34 -0
  116. package/ui/form/Field/{index.d.ts → index.ts} +0 -0
  117. package/ui/form/FieldLayout/FieldLayout.story.js +13 -0
  118. package/ui/form/FieldLayout/FieldLayout.tsx +73 -0
  119. package/ui/form/FieldLayout/demo/default.tsx +8 -0
  120. package/ui/form/FieldLayout/demo/horizontal.tsx +8 -0
  121. package/ui/form/FieldLayout/demo/inline.tsx +9 -0
  122. package/ui/form/FieldLayout/{index.d.ts → index.ts} +0 -0
  123. package/ui/form/FieldList/FieldList.story.js +9 -0
  124. package/ui/form/FieldList/FieldList.tsx +204 -0
  125. package/ui/form/FieldList/demo/basic.tsx +29 -0
  126. package/ui/form/FieldList/{index.d.ts → index.ts} +0 -0
  127. package/ui/form/FieldList/tableNavigationHandler.ts +41 -0
  128. package/ui/form/FieldSet/FieldSet.tsx +69 -0
  129. package/ui/form/FieldSet/{index.d.ts → index.ts} +0 -0
  130. package/ui/form/FileField/FileField.story.js +9 -0
  131. package/ui/form/FileField/FileField.tsx +204 -0
  132. package/ui/form/FileField/demo/basic.tsx +12 -0
  133. package/ui/form/FileField/{index.d.ts → index.ts} +0 -0
  134. package/ui/form/Form/AutoSaveHelper.ts +23 -0
  135. package/ui/form/Form/Form.story.js +9 -0
  136. package/ui/form/Form/Form.tsx +274 -0
  137. package/ui/form/Form/SyncAddressBarHelper.ts +82 -0
  138. package/ui/form/Form/demo/basic.tsx +42 -0
  139. package/ui/form/Form/{index.d.ts → index.ts} +0 -0
  140. package/ui/form/HtmlField/HtmlField.tsx +291 -0
  141. package/ui/form/HtmlField/demo/basic.tsx +41 -0
  142. package/ui/form/HtmlField/{index.d.ts → index.ts} +0 -0
  143. package/ui/form/InputField/InputField.story.js +27 -0
  144. package/ui/form/InputField/InputField.tsx +180 -0
  145. package/ui/form/InputField/demo/addons.tsx +14 -0
  146. package/ui/form/InputField/demo/basic.tsx +14 -0
  147. package/ui/form/InputField/demo/disabled.tsx +14 -0
  148. package/ui/form/InputField/demo/errors.tsx +14 -0
  149. package/ui/form/InputField/demo/mask.tsx +19 -0
  150. package/ui/form/InputField/demo/placeholder.tsx +14 -0
  151. package/ui/form/InputField/demo/required.tsx +14 -0
  152. package/ui/form/InputField/demo/sizes.tsx +24 -0
  153. package/ui/form/InputField/demo/textAddons.tsx +14 -0
  154. package/ui/form/InputField/demo/types.tsx +26 -0
  155. package/ui/form/InputField/{index.d.ts → index.ts} +0 -0
  156. package/ui/form/NavField/NavField.tsx +36 -0
  157. package/ui/form/NavField/{index.d.ts → index.ts} +0 -0
  158. package/ui/form/NumberField/NumberField.story.js +19 -0
  159. package/ui/form/NumberField/NumberField.tsx +90 -0
  160. package/ui/form/NumberField/demo/basic.tsx +14 -0
  161. package/ui/form/NumberField/demo/disabled.tsx +14 -0
  162. package/ui/form/NumberField/demo/errors.tsx +14 -0
  163. package/ui/form/NumberField/demo/placeholder.tsx +14 -0
  164. package/ui/form/NumberField/demo/required.tsx +14 -0
  165. package/ui/form/NumberField/demo/sizes.tsx +24 -0
  166. package/ui/form/NumberField/{index.d.ts → index.ts} +0 -0
  167. package/ui/form/PasswordField/PasswordField.story.js +21 -0
  168. package/ui/form/PasswordField/PasswordField.tsx +127 -0
  169. package/ui/form/PasswordField/demo/basic.tsx +14 -0
  170. package/ui/form/PasswordField/demo/disabled.tsx +14 -0
  171. package/ui/form/PasswordField/demo/errors.tsx +14 -0
  172. package/ui/form/PasswordField/demo/placeholder.tsx +14 -0
  173. package/ui/form/PasswordField/demo/required.tsx +14 -0
  174. package/ui/form/PasswordField/demo/security.tsx +14 -0
  175. package/ui/form/PasswordField/demo/sizes.tsx +24 -0
  176. package/ui/form/PasswordField/{index.d.ts → index.ts} +0 -0
  177. package/ui/form/RadioListField/RadioListField.story.js +13 -0
  178. package/ui/form/RadioListField/RadioListField.tsx +70 -0
  179. package/ui/form/RadioListField/demo/disabled.tsx +31 -0
  180. package/ui/form/RadioListField/demo/errors.tsx +13 -0
  181. package/ui/form/RadioListField/demo/required.tsx +13 -0
  182. package/ui/form/RadioListField/{index.d.ts → index.ts} +0 -0
  183. package/ui/form/RangeField/RangeField.story.js +19 -0
  184. package/ui/form/RangeField/RangeField.tsx +173 -0
  185. package/ui/form/RangeField/demo/date.tsx +11 -0
  186. package/ui/form/RangeField/demo/disabled.tsx +8 -0
  187. package/ui/form/RangeField/demo/errors.tsx +11 -0
  188. package/ui/form/RangeField/demo/placeholders.tsx +12 -0
  189. package/ui/form/RangeField/demo/required.tsx +8 -0
  190. package/ui/form/RangeField/demo/sizes.tsx +18 -0
  191. package/ui/form/RangeField/demo/types.tsx +17 -0
  192. package/ui/form/RangeField/index.ts +2 -0
  193. package/ui/form/ReCaptchaField/ReCaptchaField.tsx +40 -0
  194. package/ui/form/ReCaptchaField/{index.d.ts → index.ts} +0 -0
  195. package/ui/form/SliderField/SliderField.tsx +80 -0
  196. package/ui/form/SliderField/{index.d.ts → index.ts} +0 -0
  197. package/ui/form/SwitcherField/SwitcherField.tsx +60 -0
  198. package/ui/form/SwitcherField/{index.d.ts → index.ts} +0 -0
  199. package/ui/form/TextField/TextField.story.js +19 -0
  200. package/ui/form/TextField/TextField.tsx +93 -0
  201. package/ui/form/TextField/demo/disabled.tsx +8 -0
  202. package/ui/form/TextField/demo/errors.tsx +8 -0
  203. package/ui/form/TextField/demo/placeholder.tsx +8 -0
  204. package/ui/form/TextField/demo/required.tsx +8 -0
  205. package/ui/form/TextField/demo/sizes.tsx +18 -0
  206. package/ui/form/TextField/demo/submit.tsx +8 -0
  207. package/ui/form/TextField/{index.d.ts → index.ts} +0 -0
  208. package/ui/form/TimeField/TimeField.story.js +17 -0
  209. package/ui/form/TimeField/TimeField.tsx +107 -0
  210. package/ui/form/TimeField/demo/disabled.tsx +8 -0
  211. package/ui/form/TimeField/demo/errors.tsx +8 -0
  212. package/ui/form/TimeField/demo/placeholder.tsx +8 -0
  213. package/ui/form/TimeField/demo/required.tsx +8 -0
  214. package/ui/form/TimeField/demo/sizes.tsx +18 -0
  215. package/ui/form/TimeField/{index.d.ts → index.ts} +0 -0
  216. package/ui/form/index.ts +84 -0
  217. package/ui/form/validate.ts +90 -0
  218. package/ui/format/BooleanFormatter/BooleanFormatter.tsx +23 -0
  219. package/ui/format/BooleanFormatter/{index.d.ts → index.ts} +0 -0
  220. package/ui/format/DateFormatter/DateFormatter.tsx +40 -0
  221. package/ui/format/DateFormatter/demo/basic.tsx +11 -0
  222. package/ui/format/DateFormatter/{index.d.ts → index.ts} +0 -0
  223. package/ui/format/DateTimeFormatter/DateTimeFormatter.tsx +52 -0
  224. package/ui/format/DateTimeFormatter/demo/basic.tsx +11 -0
  225. package/ui/format/DateTimeFormatter/{index.d.ts → index.ts} +0 -0
  226. package/ui/format/EnumFormatter/EnumFormatter.tsx +62 -0
  227. package/ui/format/EnumFormatter/{index.d.ts → index.ts} +0 -0
  228. package/ui/format/FileSize/FileSize.tsx +60 -0
  229. package/ui/format/FileSize/{index.d.ts → index.ts} +0 -0
  230. package/ui/format/Format/Format.tsx +80 -0
  231. package/ui/format/Format/{index.d.ts → index.ts} +0 -0
  232. package/ui/format/MoneyFormatter/MoneyFormatter.tsx +67 -0
  233. package/ui/format/MoneyFormatter/{index.d.ts → index.ts} +0 -0
  234. package/ui/format/PhotosFormatter/PhotosFormatter.tsx +63 -0
  235. package/ui/format/PhotosFormatter/index.ts +2 -0
  236. package/ui/format/index.ts +27 -0
  237. package/ui/icon/Icon/Icon.tsx +98 -0
  238. package/ui/icon/Icon/demo/icon.tsx +70 -0
  239. package/ui/icon/Icon/index.ts +2 -0
  240. package/ui/layout/Header/Header.tsx +40 -0
  241. package/ui/layout/Header/{index.d.ts → index.ts} +0 -0
  242. package/ui/layout/Loader/Loader.tsx +23 -0
  243. package/ui/layout/Loader/{index.d.ts → index.ts} +0 -0
  244. package/ui/layout/Notifications/Notifications.tsx +145 -0
  245. package/ui/layout/Notifications/demo/basic.tsx +48 -0
  246. package/ui/layout/Notifications/{index.d.ts → index.ts} +0 -0
  247. package/ui/layout/Portal.tsx +31 -0
  248. package/ui/layout/Tooltip/Tooltip.tsx +500 -0
  249. package/ui/layout/Tooltip/TooltipPortalInner.tsx +18 -0
  250. package/ui/layout/Tooltip/demo/basic.tsx +23 -0
  251. package/ui/layout/Tooltip/{index.d.ts → index.tsx} +0 -0
  252. package/ui/layout/index.ts +10 -0
  253. package/ui/list/Accordion/Accordion.tsx +146 -0
  254. package/ui/list/Accordion/index.ts +2 -0
  255. package/ui/list/CheckboxColumn/CheckboxColumn.tsx +82 -0
  256. package/ui/list/CheckboxColumn/{index.d.ts → index.ts} +0 -0
  257. package/ui/list/ControlsColumn/ControlsColumn.tsx +49 -0
  258. package/ui/list/ControlsColumn/{index.d.ts → index.ts} +0 -0
  259. package/ui/list/Detail/Detail.tsx +116 -0
  260. package/ui/list/Detail/index.ts +2 -0
  261. package/ui/list/Empty/Empty.tsx +28 -0
  262. package/ui/list/Empty/demo/basic.tsx +11 -0
  263. package/ui/list/Empty/{index.d.ts → index.ts} +0 -0
  264. package/ui/list/Grid/Grid.tsx +169 -0
  265. package/ui/list/Grid/demo/load-more.tsx +71 -0
  266. package/ui/list/Grid/demo/pagination.tsx +40 -0
  267. package/ui/list/Grid/demo/visible.tsx +36 -0
  268. package/ui/list/Grid/{index.d.ts → index.ts} +0 -0
  269. package/ui/list/List/List.tsx +75 -0
  270. package/ui/list/List/demo/basic.tsx +42 -0
  271. package/ui/list/List/demo/empty.tsx +16 -0
  272. package/ui/list/List/demo/pagination-layout.tsx +36 -0
  273. package/ui/list/List/demo/pagination-more-size.tsx +28 -0
  274. package/ui/list/List/demo/pagination-pages.tsx +28 -0
  275. package/ui/list/List/demo/pagination-search.tsx +42 -0
  276. package/ui/list/List/{index.d.ts → index.ts} +0 -0
  277. package/ui/list/Pagination/Pagination.tsx +125 -0
  278. package/ui/list/Pagination/demo/basic.tsx +49 -0
  279. package/ui/list/Pagination/demo/load-more.tsx +18 -0
  280. package/ui/list/Pagination/demo/sizes.tsx +28 -0
  281. package/ui/list/Pagination/{index.d.ts → index.ts} +0 -0
  282. package/ui/list/PaginationSize/PaginationSize.tsx +76 -0
  283. package/ui/list/PaginationSize/demo/basic.tsx +31 -0
  284. package/ui/list/PaginationSize/{index.d.ts → index.ts} +0 -0
  285. package/ui/list/index.ts +7 -0
  286. package/ui/modal/Modal/Modal.tsx +55 -0
  287. package/ui/modal/Modal/demo/basic.tsx +50 -0
  288. package/ui/modal/Modal/{index.d.ts → index.ts} +0 -0
  289. package/ui/modal/ModalPortal/ModalPortal.tsx +75 -0
  290. package/ui/modal/ModalPortal/{index.d.ts → index.ts} +0 -0
  291. package/ui/modal/TwoFactorModal/TwoFactorModal.tsx +80 -0
  292. package/ui/modal/TwoFactorModal/{index.d.ts → index.ts} +0 -0
  293. package/ui/modal/index.ts +6 -0
  294. package/ui/nav/Breadcrumbs/Breadcrumbs.tsx +40 -0
  295. package/ui/nav/Breadcrumbs/{index.d.ts → index.ts} +0 -0
  296. package/ui/nav/Controls/Controls.tsx +87 -0
  297. package/ui/nav/Controls/{index.d.ts → index.ts} +0 -0
  298. package/ui/nav/Link/Link.tsx +25 -0
  299. package/ui/nav/Link/{index.d.ts → index.ts} +0 -0
  300. package/ui/nav/Nav/Nav.tsx +147 -0
  301. package/ui/nav/Nav/demo/buttons.tsx +48 -0
  302. package/ui/nav/Nav/demo/links.tsx +13 -0
  303. package/ui/nav/Nav/demo/navbar.tsx +34 -0
  304. package/ui/nav/Nav/demo/tabs.tsx +13 -0
  305. package/ui/nav/Nav/{index.d.ts → index.ts} +0 -0
  306. package/ui/nav/Router/Router.tsx +235 -0
  307. package/ui/nav/Router/SsrProvider.tsx +32 -0
  308. package/ui/nav/Router/{index.d.ts → index.ts} +0 -0
  309. package/ui/nav/Router/navigationHoc.tsx +135 -0
  310. package/ui/nav/Tree/Tree.tsx +279 -0
  311. package/ui/nav/Tree/demo/level-tree-routes.tsx +10 -0
  312. package/ui/nav/Tree/demo/level-tree.tsx +44 -0
  313. package/ui/nav/Tree/{index.d.ts → index.ts} +0 -0
  314. package/ui/nav/{index.d.ts → index.ts} +0 -0
  315. package/utils/collection.ts +13 -0
  316. package/utils/data.ts +120 -0
  317. package/utils/query.ts +147 -0
  318. package/utils/text.ts +82 -0
  319. package/actions/auth.d.ts +0 -24
  320. package/actions/auth.js +0 -65
  321. package/actions/fields.d.ts +0 -5
  322. package/actions/fields.js +0 -9
  323. package/actions/form.d.ts +0 -59
  324. package/actions/form.js +0 -68
  325. package/actions/list.d.ts +0 -103
  326. package/actions/list.js +0 -293
  327. package/actions/modal.d.ts +0 -20
  328. package/actions/modal.js +0 -44
  329. package/actions/notifications.d.ts +0 -13
  330. package/actions/notifications.js +0 -50
  331. package/actions/router.d.ts +0 -15
  332. package/actions/router.js +0 -51
  333. package/actions/screen.d.ts +0 -7
  334. package/actions/screen.js +0 -33
  335. package/base/Enum.d.ts +0 -11
  336. package/base/Enum.js +0 -32
  337. package/components/ClientStorageComponent.d.ts +0 -33
  338. package/components/ClientStorageComponent.js +0 -129
  339. package/components/HtmlComponent.d.ts +0 -15
  340. package/components/HtmlComponent.js +0 -93
  341. package/components/HttpComponent.d.ts +0 -49
  342. package/components/HttpComponent.js +0 -333
  343. package/components/LocaleComponent.d.ts +0 -30
  344. package/components/LocaleComponent.js +0 -156
  345. package/components/MetaComponent.d.ts +0 -136
  346. package/components/MetaComponent.js +0 -175
  347. package/components/MetricsComponent.d.ts +0 -39
  348. package/components/MetricsComponent.js +0 -156
  349. package/components/ResourceComponent.d.ts +0 -22
  350. package/components/ResourceComponent.js +0 -144
  351. package/components/SocialComponent.d.ts +0 -12
  352. package/components/SocialComponent.js +0 -41
  353. package/components/StoreComponent.d.ts +0 -29
  354. package/components/StoreComponent.js +0 -146
  355. package/components/UiComponent.d.ts +0 -37
  356. package/components/UiComponent.js +0 -173
  357. package/components/WebSocketComponent.d.ts +0 -31
  358. package/components/WebSocketComponent.js +0 -234
  359. package/components/social/FacebookProvider.d.ts +0 -8
  360. package/components/social/FacebookProvider.js +0 -93
  361. package/components/social/GoogleProvider.d.ts +0 -9
  362. package/components/social/GoogleProvider.js +0 -98
  363. package/components/social/SteamProvider.d.ts +0 -7
  364. package/components/social/SteamProvider.js +0 -126
  365. package/components/social/VkProvider.d.ts +0 -8
  366. package/components/social/VkProvider.js +0 -128
  367. package/components/social/index.d.ts +0 -11
  368. package/components/social/index.js +0 -15
  369. package/hoc/application.d.ts +0 -8
  370. package/hoc/application.js +0 -46
  371. package/hoc/bem.d.ts +0 -14
  372. package/hoc/bem.js +0 -38
  373. package/hoc/components.d.ts +0 -11
  374. package/hoc/components.js +0 -58
  375. package/hoc/connect.d.ts +0 -6
  376. package/hoc/connect.js +0 -3
  377. package/hoc/fetch.d.ts +0 -13
  378. package/hoc/fetch.js +0 -56
  379. package/hoc/file.d.ts +0 -23
  380. package/hoc/file.js +0 -41
  381. package/hoc/http.d.ts +0 -7
  382. package/hoc/http.js +0 -49
  383. package/hoc/index.d.ts +0 -8
  384. package/hoc/index.js +0 -20
  385. package/hoc/layout.d.ts +0 -31
  386. package/hoc/layout.js +0 -44
  387. package/hooks/index.d.ts +0 -7
  388. package/hooks/index.js +0 -18
  389. package/hooks/useAddressBar.d.ts +0 -23
  390. package/hooks/useAddressBar.js +0 -127
  391. package/hooks/useApplication.d.ts +0 -33
  392. package/hooks/useApplication.js +0 -119
  393. package/hooks/useBem.d.ts +0 -10
  394. package/hooks/useBem.js +0 -14
  395. package/hooks/useComponents.d.ts +0 -14
  396. package/hooks/useComponents.js +0 -12
  397. package/hooks/useDataProvider.d.ts +0 -92
  398. package/hooks/useDataProvider.js +0 -144
  399. package/hooks/useDataSelect.d.ts +0 -42
  400. package/hooks/useDataSelect.js +0 -155
  401. package/hooks/useDispatch.d.ts +0 -1
  402. package/hooks/useDispatch.js +0 -7
  403. package/hooks/useFetch.d.ts +0 -30
  404. package/hooks/useFetch.js +0 -147
  405. package/hooks/useFile.d.ts +0 -2
  406. package/hooks/useFile.js +0 -194
  407. package/hooks/useForm.d.ts +0 -8
  408. package/hooks/useForm.js +0 -18
  409. package/hooks/useInitial.d.ts +0 -1
  410. package/hooks/useInitial.js +0 -11
  411. package/hooks/useLayout.d.ts +0 -12
  412. package/hooks/useLayout.js +0 -127
  413. package/hooks/useList.d.ts +0 -155
  414. package/hooks/useList.js +0 -238
  415. package/hooks/useModel.d.ts +0 -2
  416. package/hooks/useModel.js +0 -16
  417. package/hooks/useSelector.d.ts +0 -1
  418. package/hooks/useSelector.js +0 -7
  419. package/hooks/useUniqueId.d.ts +0 -1
  420. package/hooks/useUniqueId.js +0 -15
  421. package/reducers/auth.d.ts +0 -21
  422. package/reducers/auth.js +0 -61
  423. package/reducers/fields.d.ts +0 -11
  424. package/reducers/fields.js +0 -55
  425. package/reducers/form.d.ts +0 -9
  426. package/reducers/form.js +0 -66
  427. package/reducers/index.d.ts +0 -13
  428. package/reducers/index.js +0 -41
  429. package/reducers/list.d.ts +0 -12
  430. package/reducers/list.js +0 -143
  431. package/reducers/modal.d.ts +0 -12
  432. package/reducers/modal.js +0 -78
  433. package/reducers/notifications.d.ts +0 -10
  434. package/reducers/notifications.js +0 -44
  435. package/reducers/router.d.ts +0 -62
  436. package/reducers/router.js +0 -221
  437. package/reducers/screen.d.ts +0 -26
  438. package/reducers/screen.js +0 -54
  439. package/ui/crud/Crud/Crud.d.ts +0 -85
  440. package/ui/crud/Crud/Crud.js +0 -359
  441. package/ui/crud/Crud/CrudDetail.d.ts +0 -2
  442. package/ui/crud/Crud/CrudDetail.js +0 -14
  443. package/ui/crud/Crud/CrudForm.d.ts +0 -3
  444. package/ui/crud/Crud/CrudForm.js +0 -49
  445. package/ui/crud/Crud/CrudGrid.d.ts +0 -3
  446. package/ui/crud/Crud/CrudGrid.js +0 -46
  447. package/ui/crud/Crud/demo/default.d.ts +0 -8
  448. package/ui/crud/Crud/demo/default.js +0 -72
  449. package/ui/crud/Crud/index.js +0 -7
  450. package/ui/crud/index.d.ts +0 -31
  451. package/ui/crud/index.js +0 -29
  452. package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +0 -44
  453. package/ui/form/AutoCompleteField/AutoCompleteField.js +0 -109
  454. package/ui/form/AutoCompleteField/demo/basic.d.ts +0 -12
  455. package/ui/form/AutoCompleteField/demo/basic.js +0 -48
  456. package/ui/form/AutoCompleteField/demo/disabled.d.ts +0 -8
  457. package/ui/form/AutoCompleteField/demo/disabled.js +0 -34
  458. package/ui/form/AutoCompleteField/demo/errors.d.ts +0 -3
  459. package/ui/form/AutoCompleteField/demo/errors.js +0 -29
  460. package/ui/form/AutoCompleteField/demo/placeholder.d.ts +0 -8
  461. package/ui/form/AutoCompleteField/demo/placeholder.js +0 -34
  462. package/ui/form/AutoCompleteField/demo/required.d.ts +0 -8
  463. package/ui/form/AutoCompleteField/demo/required.js +0 -34
  464. package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -8
  465. package/ui/form/AutoCompleteField/demo/sizes.js +0 -39
  466. package/ui/form/AutoCompleteField/index.js +0 -7
  467. package/ui/form/BlankField/BlankField.d.ts +0 -8
  468. package/ui/form/BlankField/BlankField.js +0 -30
  469. package/ui/form/BlankField/index.js +0 -7
  470. package/ui/form/Button/Button.d.ts +0 -190
  471. package/ui/form/Button/Button.js +0 -146
  472. package/ui/form/Button/demo/badge.d.ts +0 -8
  473. package/ui/form/Button/demo/badge.js +0 -33
  474. package/ui/form/Button/demo/block.d.ts +0 -8
  475. package/ui/form/Button/demo/block.js +0 -33
  476. package/ui/form/Button/demo/colors.d.ts +0 -8
  477. package/ui/form/Button/demo/colors.js +0 -45
  478. package/ui/form/Button/demo/disabled.d.ts +0 -8
  479. package/ui/form/Button/demo/disabled.js +0 -33
  480. package/ui/form/Button/demo/icon.d.ts +0 -8
  481. package/ui/form/Button/demo/icon.js +0 -33
  482. package/ui/form/Button/demo/link.d.ts +0 -8
  483. package/ui/form/Button/demo/link.js +0 -33
  484. package/ui/form/Button/demo/sizes.d.ts +0 -8
  485. package/ui/form/Button/demo/sizes.js +0 -37
  486. package/ui/form/Button/demo/tags.d.ts +0 -8
  487. package/ui/form/Button/demo/tags.js +0 -34
  488. package/ui/form/Button/index.d.ts +0 -1
  489. package/ui/form/Button/index.js +0 -12
  490. package/ui/form/CheckboxField/CheckboxField.d.ts +0 -39
  491. package/ui/form/CheckboxField/CheckboxField.js +0 -37
  492. package/ui/form/CheckboxField/demo/basic.d.ts +0 -8
  493. package/ui/form/CheckboxField/demo/basic.js +0 -33
  494. package/ui/form/CheckboxField/demo/disabled.d.ts +0 -8
  495. package/ui/form/CheckboxField/demo/disabled.js +0 -33
  496. package/ui/form/CheckboxField/demo/errors.d.ts +0 -8
  497. package/ui/form/CheckboxField/demo/errors.js +0 -33
  498. package/ui/form/CheckboxField/demo/required.d.ts +0 -8
  499. package/ui/form/CheckboxField/demo/required.js +0 -33
  500. package/ui/form/CheckboxField/index.js +0 -7
  501. package/ui/form/CheckboxListField/CheckboxListField.d.ts +0 -49
  502. package/ui/form/CheckboxListField/CheckboxListField.js +0 -57
  503. package/ui/form/CheckboxListField/demo/basic.d.ts +0 -9
  504. package/ui/form/CheckboxListField/demo/basic.js +0 -39
  505. package/ui/form/CheckboxListField/demo/disabled.d.ts +0 -8
  506. package/ui/form/CheckboxListField/demo/disabled.js +0 -34
  507. package/ui/form/CheckboxListField/demo/errors.d.ts +0 -3
  508. package/ui/form/CheckboxListField/demo/errors.js +0 -29
  509. package/ui/form/CheckboxListField/demo/required.d.ts +0 -3
  510. package/ui/form/CheckboxListField/demo/required.js +0 -29
  511. package/ui/form/CheckboxListField/index.js +0 -7
  512. package/ui/form/DateField/DateField.d.ts +0 -61
  513. package/ui/form/DateField/DateField.js +0 -84
  514. package/ui/form/DateField/demo/basic.d.ts +0 -3
  515. package/ui/form/DateField/demo/basic.js +0 -28
  516. package/ui/form/DateField/demo/disabled.d.ts +0 -3
  517. package/ui/form/DateField/demo/disabled.js +0 -28
  518. package/ui/form/DateField/demo/errors.d.ts +0 -3
  519. package/ui/form/DateField/demo/errors.js +0 -28
  520. package/ui/form/DateField/demo/icon.d.ts +0 -3
  521. package/ui/form/DateField/demo/icon.js +0 -30
  522. package/ui/form/DateField/demo/placeholder.d.ts +0 -3
  523. package/ui/form/DateField/demo/placeholder.js +0 -28
  524. package/ui/form/DateField/demo/required.d.ts +0 -3
  525. package/ui/form/DateField/demo/required.js +0 -28
  526. package/ui/form/DateField/demo/sizes.d.ts +0 -3
  527. package/ui/form/DateField/demo/sizes.js +0 -34
  528. package/ui/form/DateField/index.js +0 -7
  529. package/ui/form/DateTimeField/DateTimeField.d.ts +0 -59
  530. package/ui/form/DateTimeField/DateTimeField.js +0 -103
  531. package/ui/form/DateTimeField/demo/basic.d.ts +0 -3
  532. package/ui/form/DateTimeField/demo/basic.js +0 -28
  533. package/ui/form/DateTimeField/demo/disabled.d.ts +0 -3
  534. package/ui/form/DateTimeField/demo/disabled.js +0 -29
  535. package/ui/form/DateTimeField/demo/errors.d.ts +0 -3
  536. package/ui/form/DateTimeField/demo/errors.js +0 -28
  537. package/ui/form/DateTimeField/demo/icon.d.ts +0 -3
  538. package/ui/form/DateTimeField/demo/icon.js +0 -30
  539. package/ui/form/DateTimeField/demo/placeholder.d.ts +0 -3
  540. package/ui/form/DateTimeField/demo/placeholder.js +0 -32
  541. package/ui/form/DateTimeField/demo/required.d.ts +0 -3
  542. package/ui/form/DateTimeField/demo/required.js +0 -28
  543. package/ui/form/DateTimeField/demo/sizes.d.ts +0 -3
  544. package/ui/form/DateTimeField/demo/sizes.js +0 -34
  545. package/ui/form/DateTimeField/index.js +0 -7
  546. package/ui/form/DropDownField/DropDownField.d.ts +0 -73
  547. package/ui/form/DropDownField/DropDownField.js +0 -108
  548. package/ui/form/DropDownField/demo/auto-complete.d.ts +0 -3
  549. package/ui/form/DropDownField/demo/auto-complete.js +0 -29
  550. package/ui/form/DropDownField/demo/basic.d.ts +0 -7
  551. package/ui/form/DropDownField/demo/basic.js +0 -47
  552. package/ui/form/DropDownField/demo/disabled.d.ts +0 -3
  553. package/ui/form/DropDownField/demo/disabled.js +0 -29
  554. package/ui/form/DropDownField/demo/errors.d.ts +0 -3
  555. package/ui/form/DropDownField/demo/errors.js +0 -29
  556. package/ui/form/DropDownField/demo/multiple.d.ts +0 -3
  557. package/ui/form/DropDownField/demo/multiple.js +0 -29
  558. package/ui/form/DropDownField/demo/no-border.d.ts +0 -3
  559. package/ui/form/DropDownField/demo/no-border.js +0 -29
  560. package/ui/form/DropDownField/demo/placeholder.d.ts +0 -3
  561. package/ui/form/DropDownField/demo/placeholder.js +0 -29
  562. package/ui/form/DropDownField/demo/required.d.ts +0 -3
  563. package/ui/form/DropDownField/demo/required.js +0 -29
  564. package/ui/form/DropDownField/demo/show-reset.d.ts +0 -3
  565. package/ui/form/DropDownField/demo/show-reset.js +0 -29
  566. package/ui/form/DropDownField/demo/size.d.ts +0 -3
  567. package/ui/form/DropDownField/demo/size.js +0 -36
  568. package/ui/form/DropDownField/index.js +0 -7
  569. package/ui/form/Field/Field.d.ts +0 -27
  570. package/ui/form/Field/Field.js +0 -66
  571. package/ui/form/Field/fieldWrapper.d.ts +0 -81
  572. package/ui/form/Field/fieldWrapper.js +0 -106
  573. package/ui/form/Field/index.js +0 -7
  574. package/ui/form/FieldLayout/FieldLayout.d.ts +0 -56
  575. package/ui/form/FieldLayout/FieldLayout.js +0 -57
  576. package/ui/form/FieldLayout/demo/default.d.ts +0 -3
  577. package/ui/form/FieldLayout/demo/default.js +0 -28
  578. package/ui/form/FieldLayout/demo/errors.d.ts +0 -3
  579. package/ui/form/FieldLayout/demo/errors.js +0 -28
  580. package/ui/form/FieldLayout/demo/hint.d.ts +0 -3
  581. package/ui/form/FieldLayout/demo/hint.js +0 -28
  582. package/ui/form/FieldLayout/demo/horizontal.d.ts +0 -3
  583. package/ui/form/FieldLayout/demo/horizontal.js +0 -28
  584. package/ui/form/FieldLayout/demo/inline.d.ts +0 -3
  585. package/ui/form/FieldLayout/demo/inline.js +0 -29
  586. package/ui/form/FieldLayout/demo/required.d.ts +0 -3
  587. package/ui/form/FieldLayout/demo/required.js +0 -28
  588. package/ui/form/FieldLayout/index.js +0 -7
  589. package/ui/form/FieldList/FieldList.d.ts +0 -127
  590. package/ui/form/FieldList/FieldList.js +0 -112
  591. package/ui/form/FieldList/demo/basic.d.ts +0 -3
  592. package/ui/form/FieldList/demo/basic.js +0 -53
  593. package/ui/form/FieldList/index.js +0 -7
  594. package/ui/form/FieldList/tableNavigationHandler.d.ts +0 -3
  595. package/ui/form/FieldList/tableNavigationHandler.js +0 -48
  596. package/ui/form/FieldSet/FieldSet.d.ts +0 -37
  597. package/ui/form/FieldSet/FieldSet.js +0 -88
  598. package/ui/form/FieldSet/demo/basic.d.ts +0 -3
  599. package/ui/form/FieldSet/demo/basic.js +0 -44
  600. package/ui/form/FieldSet/index.js +0 -7
  601. package/ui/form/FileField/FileField.d.ts +0 -96
  602. package/ui/form/FileField/FileField.js +0 -108
  603. package/ui/form/FileField/index.js +0 -7
  604. package/ui/form/Form/AutoSaveHelper.d.ts +0 -6
  605. package/ui/form/Form/AutoSaveHelper.js +0 -37
  606. package/ui/form/Form/Form.d.ts +0 -173
  607. package/ui/form/Form/Form.js +0 -273
  608. package/ui/form/Form/SyncAddressBarHelper.d.ts +0 -13
  609. package/ui/form/Form/SyncAddressBarHelper.js +0 -119
  610. package/ui/form/Form/demo/basic.d.ts +0 -3
  611. package/ui/form/Form/demo/basic.js +0 -53
  612. package/ui/form/Form/index.js +0 -7
  613. package/ui/form/HtmlField/HtmlField.d.ts +0 -52
  614. package/ui/form/HtmlField/HtmlField.js +0 -57
  615. package/ui/form/HtmlField/demo/basic.d.ts +0 -3
  616. package/ui/form/HtmlField/demo/basic.js +0 -28
  617. package/ui/form/HtmlField/index.js +0 -7
  618. package/ui/form/InputField/InputField.d.ts +0 -95
  619. package/ui/form/InputField/InputField.js +0 -64
  620. package/ui/form/InputField/demo/addons.d.ts +0 -8
  621. package/ui/form/InputField/demo/addons.js +0 -33
  622. package/ui/form/InputField/demo/basic.d.ts +0 -8
  623. package/ui/form/InputField/demo/basic.js +0 -33
  624. package/ui/form/InputField/demo/disabled.d.ts +0 -8
  625. package/ui/form/InputField/demo/disabled.js +0 -33
  626. package/ui/form/InputField/demo/errors.d.ts +0 -8
  627. package/ui/form/InputField/demo/errors.js +0 -33
  628. package/ui/form/InputField/demo/mask.d.ts +0 -8
  629. package/ui/form/InputField/demo/mask.js +0 -35
  630. package/ui/form/InputField/demo/placeholder.d.ts +0 -8
  631. package/ui/form/InputField/demo/placeholder.js +0 -33
  632. package/ui/form/InputField/demo/required.d.ts +0 -8
  633. package/ui/form/InputField/demo/required.js +0 -33
  634. package/ui/form/InputField/demo/sizes.d.ts +0 -8
  635. package/ui/form/InputField/demo/sizes.js +0 -38
  636. package/ui/form/InputField/demo/textAddons.d.ts +0 -8
  637. package/ui/form/InputField/demo/textAddons.js +0 -33
  638. package/ui/form/InputField/demo/types.d.ts +0 -8
  639. package/ui/form/InputField/demo/types.js +0 -40
  640. package/ui/form/InputField/index.js +0 -7
  641. package/ui/form/NavField/NavField.d.ts +0 -21
  642. package/ui/form/NavField/NavField.js +0 -48
  643. package/ui/form/NavField/demo/basic.d.ts +0 -7
  644. package/ui/form/NavField/demo/basic.js +0 -47
  645. package/ui/form/NavField/demo/disabled.d.ts +0 -3
  646. package/ui/form/NavField/demo/disabled.js +0 -29
  647. package/ui/form/NavField/demo/errors.d.ts +0 -3
  648. package/ui/form/NavField/demo/errors.js +0 -29
  649. package/ui/form/NavField/demo/required.d.ts +0 -3
  650. package/ui/form/NavField/demo/required.js +0 -29
  651. package/ui/form/NavField/index.js +0 -7
  652. package/ui/form/NumberField/NumberField.d.ts +0 -45
  653. package/ui/form/NumberField/NumberField.js +0 -35
  654. package/ui/form/NumberField/demo/basic.d.ts +0 -8
  655. package/ui/form/NumberField/demo/basic.js +0 -33
  656. package/ui/form/NumberField/demo/disabled.d.ts +0 -8
  657. package/ui/form/NumberField/demo/disabled.js +0 -33
  658. package/ui/form/NumberField/demo/errors.d.ts +0 -8
  659. package/ui/form/NumberField/demo/errors.js +0 -33
  660. package/ui/form/NumberField/demo/placeholder.d.ts +0 -8
  661. package/ui/form/NumberField/demo/placeholder.js +0 -33
  662. package/ui/form/NumberField/demo/required.d.ts +0 -8
  663. package/ui/form/NumberField/demo/required.js +0 -33
  664. package/ui/form/NumberField/demo/sizes.d.ts +0 -8
  665. package/ui/form/NumberField/demo/sizes.js +0 -38
  666. package/ui/form/NumberField/index.js +0 -7
  667. package/ui/form/PasswordField/PasswordField.d.ts +0 -39
  668. package/ui/form/PasswordField/PasswordField.js +0 -66
  669. package/ui/form/PasswordField/demo/basic.d.ts +0 -8
  670. package/ui/form/PasswordField/demo/basic.js +0 -33
  671. package/ui/form/PasswordField/demo/disabled.d.ts +0 -8
  672. package/ui/form/PasswordField/demo/disabled.js +0 -33
  673. package/ui/form/PasswordField/demo/errors.d.ts +0 -8
  674. package/ui/form/PasswordField/demo/errors.js +0 -33
  675. package/ui/form/PasswordField/demo/placeholder.d.ts +0 -8
  676. package/ui/form/PasswordField/demo/placeholder.js +0 -33
  677. package/ui/form/PasswordField/demo/required.d.ts +0 -8
  678. package/ui/form/PasswordField/demo/required.js +0 -33
  679. package/ui/form/PasswordField/demo/security.d.ts +0 -8
  680. package/ui/form/PasswordField/demo/security.js +0 -33
  681. package/ui/form/PasswordField/demo/sizes.d.ts +0 -8
  682. package/ui/form/PasswordField/demo/sizes.js +0 -38
  683. package/ui/form/PasswordField/index.js +0 -7
  684. package/ui/form/RadioListField/RadioListField.d.ts +0 -47
  685. package/ui/form/RadioListField/RadioListField.js +0 -50
  686. package/ui/form/RadioListField/demo/basic.d.ts +0 -7
  687. package/ui/form/RadioListField/demo/basic.js +0 -47
  688. package/ui/form/RadioListField/demo/disabled.d.ts +0 -3
  689. package/ui/form/RadioListField/demo/disabled.js +0 -29
  690. package/ui/form/RadioListField/demo/errors.d.ts +0 -3
  691. package/ui/form/RadioListField/demo/errors.js +0 -29
  692. package/ui/form/RadioListField/demo/required.d.ts +0 -3
  693. package/ui/form/RadioListField/demo/required.js +0 -29
  694. package/ui/form/RadioListField/index.js +0 -7
  695. package/ui/form/RateField/RateField.d.ts +0 -32
  696. package/ui/form/RateField/RateField.js +0 -50
  697. package/ui/form/RateField/demo/base.d.ts +0 -3
  698. package/ui/form/RateField/demo/base.js +0 -28
  699. package/ui/form/RateField/index.d.ts +0 -2
  700. package/ui/form/RateField/index.js +0 -7
  701. package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +0 -20
  702. package/ui/form/ReCaptchaField/ReCaptchaField.js +0 -31
  703. package/ui/form/ReCaptchaField/index.js +0 -7
  704. package/ui/form/SliderField/SliderField.d.ts +0 -48
  705. package/ui/form/SliderField/SliderField.js +0 -45
  706. package/ui/form/SliderField/demo/basic.d.ts +0 -3
  707. package/ui/form/SliderField/demo/basic.js +0 -28
  708. package/ui/form/SliderField/demo/disabled.d.ts +0 -3
  709. package/ui/form/SliderField/demo/disabled.js +0 -28
  710. package/ui/form/SliderField/demo/errors.d.ts +0 -3
  711. package/ui/form/SliderField/demo/errors.js +0 -28
  712. package/ui/form/SliderField/demo/required.d.ts +0 -3
  713. package/ui/form/SliderField/demo/required.js +0 -28
  714. package/ui/form/SliderField/demo/size.d.ts +0 -3
  715. package/ui/form/SliderField/demo/size.js +0 -33
  716. package/ui/form/SliderField/index.js +0 -7
  717. package/ui/form/SwitcherField/SwitcherField.d.ts +0 -38
  718. package/ui/form/SwitcherField/SwitcherField.js +0 -62
  719. package/ui/form/SwitcherField/demo/basic.d.ts +0 -7
  720. package/ui/form/SwitcherField/demo/basic.js +0 -47
  721. package/ui/form/SwitcherField/demo/disabled.d.ts +0 -3
  722. package/ui/form/SwitcherField/demo/disabled.js +0 -29
  723. package/ui/form/SwitcherField/demo/errors.d.ts +0 -3
  724. package/ui/form/SwitcherField/demo/errors.js +0 -29
  725. package/ui/form/SwitcherField/demo/required.d.ts +0 -3
  726. package/ui/form/SwitcherField/demo/required.js +0 -29
  727. package/ui/form/SwitcherField/demo/sizes.d.ts +0 -3
  728. package/ui/form/SwitcherField/demo/sizes.js +0 -35
  729. package/ui/form/SwitcherField/index.js +0 -7
  730. package/ui/form/TextField/TextField.d.ts +0 -50
  731. package/ui/form/TextField/TextField.js +0 -48
  732. package/ui/form/TextField/demo/basic.d.ts +0 -3
  733. package/ui/form/TextField/demo/basic.js +0 -28
  734. package/ui/form/TextField/demo/disabled.d.ts +0 -3
  735. package/ui/form/TextField/demo/disabled.js +0 -28
  736. package/ui/form/TextField/demo/errors.d.ts +0 -3
  737. package/ui/form/TextField/demo/errors.js +0 -28
  738. package/ui/form/TextField/demo/placeholder.d.ts +0 -3
  739. package/ui/form/TextField/demo/placeholder.js +0 -28
  740. package/ui/form/TextField/demo/required.d.ts +0 -3
  741. package/ui/form/TextField/demo/required.js +0 -28
  742. package/ui/form/TextField/demo/sizes.d.ts +0 -3
  743. package/ui/form/TextField/demo/sizes.js +0 -33
  744. package/ui/form/TextField/demo/submit.d.ts +0 -3
  745. package/ui/form/TextField/demo/submit.js +0 -28
  746. package/ui/form/TextField/index.js +0 -7
  747. package/ui/form/TimeField/TimeField.d.ts +0 -70
  748. package/ui/form/TimeField/TimeField.js +0 -123
  749. package/ui/form/TimeField/demo/basic.d.ts +0 -3
  750. package/ui/form/TimeField/demo/basic.js +0 -28
  751. package/ui/form/TimeField/demo/disabled.d.ts +0 -3
  752. package/ui/form/TimeField/demo/disabled.js +0 -28
  753. package/ui/form/TimeField/demo/errors.d.ts +0 -3
  754. package/ui/form/TimeField/demo/errors.js +0 -28
  755. package/ui/form/TimeField/demo/placeholder.d.ts +0 -3
  756. package/ui/form/TimeField/demo/placeholder.js +0 -28
  757. package/ui/form/TimeField/demo/required.d.ts +0 -3
  758. package/ui/form/TimeField/demo/required.js +0 -28
  759. package/ui/form/TimeField/demo/sizes.d.ts +0 -3
  760. package/ui/form/TimeField/demo/sizes.js +0 -33
  761. package/ui/form/TimeField/index.js +0 -7
  762. package/ui/form/index.d.ts +0 -84
  763. package/ui/form/index.js +0 -74
  764. package/ui/form/validate.d.ts +0 -5
  765. package/ui/form/validate.js +0 -97
  766. package/ui/format/BooleanFormatter/BooleanFormatter.d.ts +0 -11
  767. package/ui/format/BooleanFormatter/BooleanFormatter.js +0 -9
  768. package/ui/format/BooleanFormatter/index.js +0 -7
  769. package/ui/format/DateFormatter/DateFormatter.d.ts +0 -15
  770. package/ui/format/DateFormatter/DateFormatter.js +0 -16
  771. package/ui/format/DateFormatter/demo/basic.d.ts +0 -3
  772. package/ui/format/DateFormatter/demo/basic.js +0 -28
  773. package/ui/format/DateFormatter/index.js +0 -7
  774. package/ui/format/DateTimeFormatter/DateTimeFormatter.d.ts +0 -27
  775. package/ui/format/DateTimeFormatter/DateTimeFormatter.js +0 -23
  776. package/ui/format/DateTimeFormatter/demo/basic.d.ts +0 -3
  777. package/ui/format/DateTimeFormatter/demo/basic.js +0 -28
  778. package/ui/format/DateTimeFormatter/index.js +0 -7
  779. package/ui/format/EnumFormatter/EnumFormatter.d.ts +0 -23
  780. package/ui/format/EnumFormatter/EnumFormatter.js +0 -36
  781. package/ui/format/EnumFormatter/index.js +0 -7
  782. package/ui/format/FileSize/FileSize.d.ts +0 -17
  783. package/ui/format/FileSize/FileSize.js +0 -36
  784. package/ui/format/FileSize/index.js +0 -7
  785. package/ui/format/Format/Format.d.ts +0 -12
  786. package/ui/format/Format/Format.js +0 -49
  787. package/ui/format/Format/index.js +0 -7
  788. package/ui/format/MoneyFormatter/MoneyFormatter.d.ts +0 -29
  789. package/ui/format/MoneyFormatter/MoneyFormatter.js +0 -33
  790. package/ui/format/MoneyFormatter/index.js +0 -7
  791. package/ui/format/index.d.ts +0 -16
  792. package/ui/format/index.js +0 -26
  793. package/ui/icon/Icon/Icon.d.ts +0 -46
  794. package/ui/icon/Icon/Icon.js +0 -47
  795. package/ui/icon/Icon/index.d.ts +0 -2
  796. package/ui/icon/Icon/index.js +0 -7
  797. package/ui/layout/Header/Header.d.ts +0 -23
  798. package/ui/layout/Header/Header.js +0 -7
  799. package/ui/layout/Header/index.js +0 -7
  800. package/ui/layout/Loader/Loader.d.ts +0 -5
  801. package/ui/layout/Loader/Loader.js +0 -7
  802. package/ui/layout/Loader/index.js +0 -7
  803. package/ui/layout/Notifications/Notifications.d.ts +0 -45
  804. package/ui/layout/Notifications/Notifications.js +0 -86
  805. package/ui/layout/Notifications/index.js +0 -7
  806. package/ui/layout/Portal.d.ts +0 -1
  807. package/ui/layout/Portal.js +0 -26
  808. package/ui/layout/Tooltip/Tooltip.d.ts +0 -63
  809. package/ui/layout/Tooltip/Tooltip.js +0 -114
  810. package/ui/layout/Tooltip/TooltipPortalInner.d.ts +0 -6
  811. package/ui/layout/Tooltip/TooltipPortalInner.js +0 -64
  812. package/ui/layout/Tooltip/calculate.d.ts +0 -6
  813. package/ui/layout/Tooltip/calculate.js +0 -162
  814. package/ui/layout/Tooltip/demo/basic.d.ts +0 -3
  815. package/ui/layout/Tooltip/demo/basic.js +0 -41
  816. package/ui/layout/Tooltip/index.js +0 -7
  817. package/ui/layout/index.d.ts +0 -5
  818. package/ui/layout/index.js +0 -14
  819. package/ui/list/CheckboxColumn/CheckboxColumn.d.ts +0 -36
  820. package/ui/list/CheckboxColumn/CheckboxColumn.js +0 -34
  821. package/ui/list/CheckboxColumn/demo/basic.d.ts +0 -8
  822. package/ui/list/CheckboxColumn/demo/basic.js +0 -43
  823. package/ui/list/CheckboxColumn/index.js +0 -7
  824. package/ui/list/ControlsColumn/ControlsColumn.d.ts +0 -37
  825. package/ui/list/ControlsColumn/ControlsColumn.js +0 -30
  826. package/ui/list/ControlsColumn/demo/basic.d.ts +0 -8
  827. package/ui/list/ControlsColumn/demo/basic.js +0 -36
  828. package/ui/list/ControlsColumn/index.js +0 -7
  829. package/ui/list/Empty/Empty.d.ts +0 -38
  830. package/ui/list/Empty/Empty.js +0 -54
  831. package/ui/list/Empty/demo/basic.d.ts +0 -3
  832. package/ui/list/Empty/demo/basic.js +0 -28
  833. package/ui/list/Empty/demo/custom-text.d.ts +0 -3
  834. package/ui/list/Empty/demo/custom-text.js +0 -28
  835. package/ui/list/Empty/index.js +0 -7
  836. package/ui/list/Grid/Grid.d.ts +0 -108
  837. package/ui/list/Grid/Grid.js +0 -123
  838. package/ui/list/Grid/demo/basic.d.ts +0 -18
  839. package/ui/list/Grid/demo/basic.js +0 -68
  840. package/ui/list/Grid/demo/controls.d.ts +0 -8
  841. package/ui/list/Grid/demo/controls.js +0 -40
  842. package/ui/list/Grid/demo/empty.d.ts +0 -8
  843. package/ui/list/Grid/demo/empty.js +0 -34
  844. package/ui/list/Grid/demo/formatter.d.ts +0 -8
  845. package/ui/list/Grid/demo/formatter.js +0 -63
  846. package/ui/list/Grid/demo/indexing.d.ts +0 -8
  847. package/ui/list/Grid/demo/indexing.js +0 -48
  848. package/ui/list/Grid/demo/inner-search-form.d.ts +0 -21
  849. package/ui/list/Grid/demo/inner-search-form.js +0 -56
  850. package/ui/list/Grid/demo/load-more.d.ts +0 -8
  851. package/ui/list/Grid/demo/load-more.js +0 -39
  852. package/ui/list/Grid/demo/pagination.d.ts +0 -8
  853. package/ui/list/Grid/demo/pagination.js +0 -37
  854. package/ui/list/Grid/demo/search-form.d.ts +0 -8
  855. package/ui/list/Grid/demo/search-form.js +0 -46
  856. package/ui/list/Grid/demo/sort.d.ts +0 -8
  857. package/ui/list/Grid/demo/sort.js +0 -44
  858. package/ui/list/Grid/demo/visible.d.ts +0 -8
  859. package/ui/list/Grid/demo/visible.js +0 -48
  860. package/ui/list/Grid/index.js +0 -7
  861. package/ui/list/LayoutNames/LayoutNames.d.ts +0 -58
  862. package/ui/list/LayoutNames/LayoutNames.js +0 -68
  863. package/ui/list/LayoutNames/demo/basic.d.ts +0 -7
  864. package/ui/list/LayoutNames/demo/basic.js +0 -12
  865. package/ui/list/LayoutNames/index.d.ts +0 -2
  866. package/ui/list/LayoutNames/index.js +0 -7
  867. package/ui/list/List/List.d.ts +0 -47
  868. package/ui/list/List/List.js +0 -82
  869. package/ui/list/List/demo/basic.d.ts +0 -12
  870. package/ui/list/List/demo/basic.js +0 -57
  871. package/ui/list/List/demo/condition.d.ts +0 -8
  872. package/ui/list/List/demo/condition.js +0 -86
  873. package/ui/list/List/demo/empty.d.ts +0 -8
  874. package/ui/list/List/demo/empty.js +0 -32
  875. package/ui/list/List/demo/layout.d.ts +0 -8
  876. package/ui/list/List/demo/layout.js +0 -45
  877. package/ui/list/List/demo/load-more.d.ts +0 -8
  878. package/ui/list/List/demo/load-more.js +0 -41
  879. package/ui/list/List/demo/pagination.d.ts +0 -8
  880. package/ui/list/List/demo/pagination.js +0 -41
  881. package/ui/list/List/demo/search-form.d.ts +0 -30
  882. package/ui/list/List/demo/search-form.js +0 -103
  883. package/ui/list/List/demo/sort.d.ts +0 -17
  884. package/ui/list/List/demo/sort.js +0 -88
  885. package/ui/list/List/index.js +0 -7
  886. package/ui/list/Pagination/Pagination.d.ts +0 -86
  887. package/ui/list/Pagination/Pagination.js +0 -120
  888. package/ui/list/Pagination/demo/basic.d.ts +0 -3
  889. package/ui/list/Pagination/demo/basic.js +0 -36
  890. package/ui/list/Pagination/demo/load-more.d.ts +0 -3
  891. package/ui/list/Pagination/demo/load-more.js +0 -33
  892. package/ui/list/Pagination/demo/sizes.d.ts +0 -3
  893. package/ui/list/Pagination/demo/sizes.js +0 -38
  894. package/ui/list/Pagination/index.js +0 -7
  895. package/ui/list/PaginationSize/PaginationSize.d.ts +0 -69
  896. package/ui/list/PaginationSize/PaginationSize.js +0 -76
  897. package/ui/list/PaginationSize/demo/basic.d.ts +0 -3
  898. package/ui/list/PaginationSize/demo/basic.js +0 -32
  899. package/ui/list/PaginationSize/demo/size.d.ts +0 -3
  900. package/ui/list/PaginationSize/demo/size.js +0 -40
  901. package/ui/list/PaginationSize/index.js +0 -7
  902. package/ui/list/SearchForm/SearchForm.d.ts +0 -13
  903. package/ui/list/SearchForm/SearchForm.js +0 -55
  904. package/ui/list/SearchForm/demo/basic.d.ts +0 -8
  905. package/ui/list/SearchForm/demo/basic.js +0 -35
  906. package/ui/list/SearchForm/index.d.ts +0 -2
  907. package/ui/list/SearchForm/index.js +0 -7
  908. package/ui/modal/Modal/Modal.d.ts +0 -74
  909. package/ui/modal/Modal/Modal.js +0 -44
  910. package/ui/modal/Modal/demo/basic.d.ts +0 -8
  911. package/ui/modal/Modal/demo/basic.js +0 -60
  912. package/ui/modal/Modal/index.js +0 -7
  913. package/ui/modal/ModalPortal/ModalPortal.d.ts +0 -12
  914. package/ui/modal/ModalPortal/ModalPortal.js +0 -77
  915. package/ui/modal/ModalPortal/index.js +0 -7
  916. package/ui/modal/TwoFactorModal/TwoFactorModal.d.ts +0 -22
  917. package/ui/modal/TwoFactorModal/TwoFactorModal.js +0 -56
  918. package/ui/modal/TwoFactorModal/index.js +0 -7
  919. package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +0 -9
  920. package/ui/nav/Breadcrumbs/Breadcrumbs.js +0 -22
  921. package/ui/nav/Breadcrumbs/index.js +0 -7
  922. package/ui/nav/Controls/Controls.d.ts +0 -38
  923. package/ui/nav/Controls/Controls.js +0 -55
  924. package/ui/nav/Controls/index.js +0 -7
  925. package/ui/nav/Link/Link.d.ts +0 -7
  926. package/ui/nav/Link/Link.js +0 -41
  927. package/ui/nav/Link/index.js +0 -7
  928. package/ui/nav/Nav/Nav.d.ts +0 -106
  929. package/ui/nav/Nav/Nav.js +0 -104
  930. package/ui/nav/Nav/demo/basic.d.ts +0 -3
  931. package/ui/nav/Nav/demo/basic.js +0 -29
  932. package/ui/nav/Nav/demo/buttons.d.ts +0 -8
  933. package/ui/nav/Nav/demo/buttons.js +0 -50
  934. package/ui/nav/Nav/demo/links.d.ts +0 -3
  935. package/ui/nav/Nav/demo/links.js +0 -30
  936. package/ui/nav/Nav/demo/navbar.d.ts +0 -3
  937. package/ui/nav/Nav/demo/navbar.js +0 -46
  938. package/ui/nav/Nav/demo/tabs.d.ts +0 -3
  939. package/ui/nav/Nav/demo/tabs.js +0 -30
  940. package/ui/nav/Nav/index.js +0 -7
  941. package/ui/nav/Router/ConnectedRouter.d.ts +0 -14
  942. package/ui/nav/Router/ConnectedRouter.js +0 -103
  943. package/ui/nav/Router/Router.d.ts +0 -49
  944. package/ui/nav/Router/Router.js +0 -224
  945. package/ui/nav/Router/SsrProvider.d.ts +0 -15
  946. package/ui/nav/Router/SsrProvider.js +0 -55
  947. package/ui/nav/Router/index.js +0 -7
  948. package/ui/nav/Tree/Tree.d.ts +0 -43
  949. package/ui/nav/Tree/Tree.js +0 -168
  950. package/ui/nav/Tree/demo/level-tree-routes.d.ts +0 -3
  951. package/ui/nav/Tree/demo/level-tree-routes.js +0 -28
  952. package/ui/nav/Tree/demo/level-tree.d.ts +0 -3
  953. package/ui/nav/Tree/demo/level-tree.js +0 -61
  954. package/ui/nav/Tree/index.js +0 -7
  955. package/ui/nav/index.js +0 -14
  956. package/utils/collection.d.ts +0 -1
  957. package/utils/collection.js +0 -19
  958. package/utils/data.d.ts +0 -9
  959. package/utils/data.js +0 -159
  960. package/utils/form.d.ts +0 -39
  961. package/utils/form.js +0 -172
  962. package/utils/query.d.ts +0 -1
  963. package/utils/query.js +0 -46
  964. package/utils/text.d.ts +0 -1
  965. package/utils/text.js +0 -85
@@ -0,0 +1,500 @@
1
+ import * as React from 'react';
2
+ import TooltipInnerPortal from './TooltipPortalInner';
3
+ import {components} from '../../../hoc';
4
+ import {IComponentsHocOutput} from '../../../hoc/components';
5
+
6
+
7
+ /**
8
+ * Варианты позиций всплывающей подсказки
9
+ * @example 'top'
10
+ */
11
+ type TooltipPosition = 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' |
12
+ 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom' | string;
13
+
14
+ interface TooltipArrowPosition {
15
+ left?: number | string,
16
+ right?: number | string,
17
+ top?: number | string,
18
+ bottom?: number | string,
19
+ }
20
+
21
+ interface TooltipStylePosition {
22
+ left: 'unset' | number,
23
+ right: 'unset' | number,
24
+ top: 'unset' | number,
25
+ }
26
+
27
+ export interface ITooltipProps {
28
+ /**
29
+ * Текст подсказки
30
+ * @example 'Это всплывающая подсказка.'
31
+ */
32
+ content?: string | any,
33
+
34
+ /**
35
+ * Позиционирование подсказки, относительно целевого элемента
36
+ */
37
+ position?: TooltipPosition,
38
+
39
+ /**
40
+ * Показывать ли подсказку сразу после рендера страницы
41
+ * @example true
42
+ */
43
+ defaultVisible?: boolean,
44
+
45
+ /**
46
+ * Стили для абсолютного позиционирования подсказки
47
+ */
48
+ style?: TooltipStylePosition,
49
+
50
+ /**
51
+ * Стили для позиционирования стрелки
52
+ * @example {left: 10}
53
+ */
54
+ arrowPosition?: TooltipArrowPosition,
55
+
56
+ /**
57
+ * Рассчет позиции подсказки
58
+ */
59
+ calculatePosition?: (tooltipDimensions: object, arrowDimensions: object) => void,
60
+
61
+ /**
62
+ * Флаг, добавляет css-свойство position:fixed.
63
+ * Нужно использовать, если Tooltip применяется внутри контейнера с таким позиционированием,
64
+ * (например, в сайдбаре).
65
+ */
66
+ fixed?: boolean,
67
+
68
+ [key: string]: any,
69
+ }
70
+
71
+ export interface ITooltipViewProps extends ITooltipProps {
72
+ isTooltipVisible: boolean,
73
+ content: string | any,
74
+ position: TooltipPosition,
75
+ style: TooltipStylePosition,
76
+ }
77
+
78
+ interface ITooltipState {
79
+ isComponentExist: boolean,
80
+ isTooltipVisible: boolean,
81
+ style: TooltipStylePosition,
82
+ arrowPosition: TooltipArrowPosition;
83
+ }
84
+
85
+ @components('ui')
86
+ export default class Tooltip extends React.PureComponent<ITooltipProps & IComponentsHocOutput, ITooltipState> {
87
+
88
+ /*
89
+ * @Todo + check all calculations + describe
90
+ * + 12 positions
91
+ * - custom styles / classes
92
+ * - defaultVisible -> logic
93
+ * - check window resize
94
+ * - check for more properties
95
+ * - fix arrow position (right, bottom) NOT centered
96
+ * - refactor code
97
+ * */
98
+
99
+ static defaultProps = {
100
+ content: '',
101
+ position: 'top',
102
+ defaultVisible: false,
103
+ fixed: false,
104
+ };
105
+
106
+ _timer: any; // Таймер для плавной анимации показа/скрытия подсказки
107
+ _gap: number; // Расстояние между подсказкой и целевым элементом
108
+ _position: string; // Позиционирование подсказки, относительно целевого элемента
109
+ _childRef: React.RefObject<any>; // Ссылка на целевой элемент
110
+
111
+ constructor(props) {
112
+ super(props);
113
+ this.state = {
114
+ isComponentExist: false,
115
+ isTooltipVisible: this.props.defaultVisible,
116
+ style: {
117
+ left: null,
118
+ right: null,
119
+ top: null,
120
+ },
121
+ arrowPosition: {
122
+ left: null,
123
+ right: null,
124
+ top: null,
125
+ bottom: null,
126
+ }
127
+ };
128
+ this.onShowTooltip = this.onShowTooltip.bind(this);
129
+ this.onHideTooltip = this.onHideTooltip.bind(this);
130
+ this.calculatePosition = this.calculatePosition.bind(this);
131
+
132
+ this._timer = null;
133
+ this._gap = 16;
134
+ this._position = this.props.position;
135
+ this._childRef = React.createRef();
136
+ }
137
+
138
+ componentDidMount() {
139
+ if (this.props.defaultVisible) {
140
+ this.onShowTooltip();
141
+ }
142
+ }
143
+
144
+ onShowTooltip() {
145
+ if (this._timer) {
146
+ clearTimeout(this._timer);
147
+ }
148
+ this.setState({
149
+ isComponentExist: true,
150
+ isTooltipVisible: false,
151
+ }, () => {
152
+ this.setState({
153
+ isComponentExist: true,
154
+ isTooltipVisible: true,
155
+ });
156
+ });
157
+ }
158
+
159
+ onHideTooltip() {
160
+ this.setState({isTooltipVisible: false});
161
+ if (this._timer) {
162
+ clearTimeout(this._timer);
163
+ }
164
+ this._timer = setTimeout(() => {
165
+ this.setState({isComponentExist: false});
166
+ }, 300);
167
+ }
168
+
169
+ // Основная функция расчета позиции
170
+ calculatePosition(tooltipDimension, arrowDimensions) {
171
+ let style = { left: null, right: null, top: null };
172
+
173
+ const {top, right, left, width, height} = this._childRef.current.getBoundingClientRect();
174
+ let parentDimensions = {top, right, left, width, height};
175
+ parentDimensions.top += this.getVerticalWindowScroll();
176
+
177
+ switch (this._position) {
178
+ case 'top': {
179
+ style.top = this.setVerticalPositionTop(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
180
+ // Выравнивание по середине
181
+ style.left = (parentDimensions.left + (parentDimensions.width / 2)) - (tooltipDimension.width / 2);
182
+ break;
183
+ }
184
+
185
+ case 'topLeft': {
186
+ style.top = this.setVerticalPositionTop(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
187
+ style.left = parentDimensions.left;
188
+ // Ширина tooltip больше родителя - стрелка на середину родителя
189
+ if (parentDimensions.width < tooltipDimension.width) {
190
+ this.optimizeArrowInVerticalLeft(parentDimensions.width);
191
+ }
192
+ break;
193
+ }
194
+
195
+ case 'topRight': {
196
+ style.top = this.setVerticalPositionTop(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
197
+ style.right = document.body.clientWidth - parentDimensions.right;
198
+ // Ширина tooltip больше родителя - стрелка на середину родителя
199
+ if (parentDimensions.width < tooltipDimension.width) {
200
+ this.optimizeArrowInVerticalRight(parentDimensions.width, arrowDimensions.width);
201
+ }
202
+ break;
203
+ }
204
+
205
+ case 'bottom': {
206
+ style.top = this.setVerticalPositionBottom(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
207
+ style.left = (parentDimensions.left + (parentDimensions.width / 2)) - (tooltipDimension.width / 2);
208
+ break;
209
+ }
210
+
211
+ case 'bottomLeft': {
212
+ style.top = this.setVerticalPositionBottom(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
213
+ style.left = parentDimensions.left;
214
+ if (parentDimensions.width < tooltipDimension.width) {
215
+ this.optimizeArrowInVerticalLeft(parentDimensions.width);
216
+ }
217
+ break;
218
+ }
219
+
220
+ case 'bottomRight': {
221
+ style.top = this.setVerticalPositionBottom(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
222
+ style.right = document.body.clientWidth - parentDimensions.right;
223
+ if (parentDimensions.width < tooltipDimension.width) {
224
+ this.optimizeArrowInVerticalRight(parentDimensions.width, arrowDimensions.width);
225
+ }
226
+ break;
227
+ }
228
+
229
+ case 'left': {
230
+ style.left = this.setHorizontalPositionLeft(parentDimensions.left,
231
+ parentDimensions.right, parentDimensions.width, tooltipDimension.width);
232
+ style.top = (parentDimensions.top + (parentDimensions.height / 2)) - (tooltipDimension.height / 2);
233
+ break;
234
+ }
235
+
236
+ case 'leftTop': {
237
+ style.left = this.setHorizontalPositionLeft(parentDimensions.left,
238
+ parentDimensions.right, parentDimensions.width, tooltipDimension.width);
239
+ style.top = parentDimensions.top;
240
+ if (parentDimensions.height < (tooltipDimension.height)) {
241
+ this.optimizeArrowInHorizontalTop(parentDimensions.height);
242
+ }
243
+ break;
244
+ }
245
+
246
+ case 'leftBottom': {
247
+ style.left = this.setHorizontalPositionLeft(parentDimensions.left,
248
+ parentDimensions.right, parentDimensions.width, tooltipDimension.width);
249
+ style.top = parentDimensions.top + parentDimensions.height - tooltipDimension.height;
250
+ if (parentDimensions.height < tooltipDimension.height) {
251
+ this.optimizeArrowInHorizontalBottom(parentDimensions.height, arrowDimensions.height);
252
+ }
253
+ break;
254
+ }
255
+
256
+ case 'right': {
257
+ style.left = this.setHorizontalPositionRight(parentDimensions.left,
258
+ parentDimensions.right, parentDimensions.width, tooltipDimension.width);
259
+ style.top = (parentDimensions.top + (parentDimensions.height / 2)) - (tooltipDimension.height / 2);
260
+ break;
261
+ }
262
+
263
+ case 'rightTop': {
264
+ style.left = this.setHorizontalPositionRight(parentDimensions.left,
265
+ parentDimensions.right, parentDimensions.width, tooltipDimension.width);
266
+ style.top = parentDimensions.top;
267
+ if (parentDimensions.height < (tooltipDimension.height)) {
268
+ this.optimizeArrowInHorizontalTop(parentDimensions.height);
269
+ }
270
+ break;
271
+ }
272
+
273
+ case 'rightBottom': {
274
+ style.left = this.setHorizontalPositionRight(parentDimensions.left,
275
+ parentDimensions.right, parentDimensions.width, tooltipDimension.width);
276
+ style.top = parentDimensions.top + parentDimensions.height - tooltipDimension.height;
277
+ if (parentDimensions.height < tooltipDimension.height) {
278
+ this.optimizeArrowInHorizontalBottom(parentDimensions.height, arrowDimensions.height);
279
+ }
280
+ break;
281
+ }
282
+ }
283
+
284
+ // Проверка - при позиционировании top/bottom tooltip не выходит за пределы страницы по горизонтали
285
+ if (this._position.includes('top') || this._position.includes('bottom')) {
286
+ if (!this._position.includes('Left') && (style.left < 0 || parentDimensions.left <= Math.round((tooltipDimension.width - parentDimensions.width) + this._gap))) {
287
+ style.right = null;
288
+ style.left = this.setVerticalLeftPosition(parentDimensions.left, parentDimensions.width, tooltipDimension.width);
289
+ }
290
+ if (!this._position.includes('Right') && (document.body.clientWidth - parentDimensions.right <= Math.round((tooltipDimension.width - parentDimensions.width) + this._gap))) {
291
+ style.left = null;
292
+ style.right = this.setVerticalRightPosition(parentDimensions.right, parentDimensions.width, tooltipDimension.width, arrowDimensions.height);
293
+ }
294
+ }
295
+
296
+ // Проверка - при позиционировании left/right tooltip не выходит за пределы страницы по вертикали
297
+ if (this._position.includes('left') || this._position.includes('right')) {
298
+ if (!this._position.includes('Top') && (parentDimensions.top - this.getVerticalWindowScroll() <= Math.round((tooltipDimension.height - parentDimensions.height) + this._gap))) {
299
+ style.top = this.setHorizontalTopPosition(parentDimensions.top, parentDimensions.height, tooltipDimension.height);
300
+ }
301
+ if (!this._position.includes('Bottom') && (window.innerHeight - (parentDimensions.top + parentDimensions.height - this.getVerticalWindowScroll()) <= Math.round((tooltipDimension.height - parentDimensions.height) + this._gap))) {
302
+ style.top = this.setHorizontalBottomPosition(parentDimensions.top, parentDimensions.height, tooltipDimension.height, arrowDimensions.height);
303
+ }
304
+ }
305
+ this.setState({style});
306
+ }
307
+
308
+ render() {
309
+ if (!this.props.content) {
310
+ return this.props.children;
311
+ }
312
+ const TooltipView = this.props.ui.getView('layout.TooltipView');
313
+ const childrenElement: any = typeof this.props.children === 'object' ? React.Children.only(this.props.children) : undefined;
314
+ return (
315
+ <>
316
+ {childrenElement && (React.cloneElement(childrenElement, {
317
+ ref: this._childRef,
318
+ onMouseOver: this.onShowTooltip,
319
+ onMouseOut: this.onHideTooltip,
320
+ })) || (
321
+ <span
322
+ ref={this._childRef}
323
+ onMouseOver={this.onShowTooltip}
324
+ onMouseOut={this.onHideTooltip}
325
+ >
326
+ {this.props.children}
327
+ </span>
328
+ )}
329
+ {this.state.isComponentExist && (
330
+ <TooltipInnerPortal>
331
+ <TooltipView
332
+ isTooltipVisible={this.state.isTooltipVisible}
333
+ content={this.props.content}
334
+ position={this._position}
335
+ style={this.state.style}
336
+ arrowPosition={this.state.arrowPosition}
337
+ calculatePosition={this.calculatePosition}
338
+ fixed={this.props.fixed}
339
+ />
340
+ </TooltipInnerPortal>
341
+ )}
342
+ </>
343
+ );
344
+ }
345
+
346
+ /*
347
+ * Функции для рассчета и оптимизиации положения Tooltip - VERTICAL
348
+ * */
349
+
350
+ setVerticalPositionTop = (parentTop, parentHeight, tooltipHeight): number => {
351
+ let top: number;
352
+ // Проверка - выходит ли tooltip за верхний край страницы?
353
+ // Если да - меняем позицию на bottom
354
+ if ((parentTop - this.getVerticalWindowScroll()) <= Math.round(tooltipHeight + this._gap)) {
355
+ top = parentTop + parentHeight;
356
+ this.updatePosition('top', 'bottom', 'byType');
357
+ } else {
358
+ top = parentTop - tooltipHeight;
359
+ }
360
+ return top;
361
+ };
362
+
363
+ setVerticalPositionBottom = (parentTop, parentHeight, tooltipHeight): number => {
364
+ let top: number;
365
+ /// Проверка - выходит ли tooltip за нижний край страницы?
366
+ // Если да - меняем позицию на top
367
+ if ((window.innerHeight - (parentTop + parentHeight - this.getVerticalWindowScroll())) <= Math.round(tooltipHeight + this._gap)) {
368
+ top = parentTop - tooltipHeight;
369
+ this.updatePosition('bottom', 'top', 'byType')
370
+ } else {
371
+ top = parentTop + parentHeight;
372
+ }
373
+ return top;
374
+ };
375
+
376
+ optimizeArrowInVerticalLeft = (parentWidth) => {
377
+ this.setState({
378
+ arrowPosition: {left: parentWidth / 2}
379
+ });
380
+ };
381
+
382
+ optimizeArrowInVerticalRight = (parentWidth, arrowWidth) => {
383
+ this.setState({
384
+ arrowPosition: {
385
+ left: null,
386
+ right: (parentWidth / 2) - (arrowWidth / 2),
387
+ }
388
+ });
389
+ };
390
+
391
+ setVerticalLeftPosition = (parentLeft, parentWidth, tooltipWidth) => {
392
+ this.updatePosition('Right', 'Left', 'byModify');
393
+ // Если ширина tooltip больше ширины родителя - выставить стрелку на середину родителя
394
+ if (parentLeft < tooltipWidth) {
395
+ this.optimizeArrowInVerticalLeft(parentWidth);
396
+ }
397
+ return parentLeft;
398
+ };
399
+
400
+ setVerticalRightPosition = (parentRight, parentWidth, tooltipWidth, arrowHeight) => {
401
+ this.updatePosition('Left', 'Right', 'byModify');
402
+ if (parentWidth < tooltipWidth) {
403
+ this.optimizeArrowInVerticalRight(parentWidth, arrowHeight);
404
+ }
405
+ return document.body.clientWidth - parentRight;
406
+ };
407
+
408
+ /*
409
+ * Функции для расчета и оптимизации положения Tooltip - HORIZONTAL
410
+ * */
411
+
412
+ setHorizontalPositionLeft = (parentLeft, parentRight, parentWidth, tooltipWidth): number => {
413
+ let left: number;
414
+ // Проверка - выходит ли tooltip за левый край страницы?
415
+ // Если да - меняем позицию на right
416
+ if (parentLeft <= Math.round(tooltipWidth + this._gap)) {
417
+ left = parentRight;
418
+ this.updatePosition('left', 'right', 'byType');
419
+ } else {
420
+ left = parentLeft - tooltipWidth;
421
+ }
422
+ return left;
423
+ };
424
+
425
+ setHorizontalPositionRight = (parentLeft, parentRight, parentWidth, tooltipWidth): number => {
426
+ let left: number;
427
+ // Проверка - выходит ли tooltip за правый край страницы?
428
+ // Если да - меняем позицию на left
429
+ if (document.body.clientWidth - parentRight <= Math.round(tooltipWidth + this._gap)) {
430
+ left = parentLeft - tooltipWidth;
431
+ this.updatePosition('right', 'left', 'byType');
432
+ } else {
433
+ left = parentRight;
434
+ }
435
+ return left;
436
+ };
437
+
438
+ optimizeArrowInHorizontalTop = (parentHeight) => {
439
+ this.setState({
440
+ arrowPosition: {top: parentHeight / 2}
441
+ });
442
+ };
443
+
444
+ optimizeArrowInHorizontalBottom = (parentHeight, arrowHeight) => {
445
+ this.setState({
446
+ arrowPosition: {
447
+ bottom: (parentHeight / 2) - (arrowHeight / 2)
448
+ }
449
+ });
450
+ };
451
+
452
+ setHorizontalTopPosition = (parentTop, parentHeight, tooltipHeight) => {
453
+ this.updatePosition('Bottom', 'Top', 'byModify');
454
+ if (parentHeight < tooltipHeight) {
455
+ this.optimizeArrowInHorizontalTop(parentHeight);
456
+ }
457
+ return parentTop;
458
+ };
459
+
460
+ setHorizontalBottomPosition = (parentTop, parentHeight, tooltipHeight, arrowHeight) => {
461
+ this.updatePosition('Top', 'Bottom', 'byModify');
462
+ if (parentHeight < tooltipHeight) {
463
+ this.optimizeArrowInHorizontalBottom(parentHeight, arrowHeight);
464
+ }
465
+ return parentTop + parentHeight - tooltipHeight;
466
+ };
467
+
468
+
469
+ /*
470
+ * Функция смены позиции
471
+ *
472
+ * */
473
+
474
+ updatePosition = (substr: string, newSubstr: string, sliceType: 'byType' | 'byModify') => {
475
+ // Меняем основную позицию (top|left|right|bottom)
476
+ if (sliceType === 'byType') {
477
+ let index = this._position.indexOf(substr);
478
+ if (index >= 0) {
479
+ this._position = newSubstr + this._position.slice(substr.length);
480
+ } else {
481
+ this._position = newSubstr;
482
+ }
483
+ return;
484
+ }
485
+ // Меняем дополнительную позицию
486
+ if (sliceType === 'byModify') {
487
+ let index = this._position.indexOf(substr);
488
+ if (index > 0) {
489
+ this._position = this._position.slice(0, index) + newSubstr;
490
+ } else {
491
+ this._position = this._position + newSubstr;
492
+ }
493
+ return;
494
+ }
495
+ };
496
+
497
+ getVerticalWindowScroll = () => this.props.fixed
498
+ ? 0
499
+ : window.scrollY;
500
+ }
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import {createPortal} from 'react-dom';
3
+ import {components} from '../../../hoc';
4
+ import {IComponentsHocOutput} from '../../../hoc/components';
5
+
6
+ @components('ui')
7
+ export default class TooltipPortal extends React.PureComponent<IComponentsHocOutput>{
8
+
9
+ componentDidMount() {
10
+ if (!this.props.ui.getPortalElement()) {
11
+ throw new Error('Not found UI Portal container. Please set <Portal/> in layout.')
12
+ }
13
+ }
14
+
15
+ render() {
16
+ return createPortal(this.props.children, this.props.ui.getPortalElement());
17
+ }
18
+ }
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+
3
+ import Tooltip from '../Tooltip';
4
+ import {Button} from '@steroidsjs/core/ui/form';
5
+
6
+ export default () => (
7
+ <>
8
+ <div>
9
+ <Tooltip position='left' content='Всплывающая подсказка.'>
10
+ <Button className='mx-3' label='Show Tooltip Left'/>
11
+ </Tooltip>
12
+ <Tooltip defaultVisible position='top' content='Всплывающая подсказка.'>
13
+ <Button className='mx-3' label='Show Tooltip on Top'/>
14
+ </Tooltip>
15
+ <Tooltip defaultVisible position='bottom' content='Всплывающая подсказка.'>
16
+ <Button label='Show Tooltip Bottom'/>
17
+ </Tooltip>
18
+ <Tooltip position='right' content='Всплывающая подсказка.'>
19
+ <Button className='mx-3' label='Show Tooltip Right'/>
20
+ </Tooltip>
21
+ </div>
22
+ </>
23
+ );
File without changes
@@ -0,0 +1,10 @@
1
+ import Header from './Header';
2
+ import Loader from './Loader';
3
+ import Notifications from './Notifications';
4
+ import Tooltip from './Tooltip';
5
+ export {
6
+ Header,
7
+ Loader,
8
+ Notifications,
9
+ Tooltip,
10
+ };