@steroidsjs/core 3.0.0-beta.9 → 3.0.0-beta.90

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 (659) hide show
  1. package/README.md +23 -6
  2. package/actions/list.d.ts +71 -4
  3. package/actions/list.js +7 -9
  4. package/base/Enum.d.ts +3 -3
  5. package/components/ClientStorageComponent.d.ts +27 -1
  6. package/components/ClientStorageComponent.js +4 -3
  7. package/components/HttpComponent.d.ts +1 -0
  8. package/components/HttpComponent.js +4 -3
  9. package/components/LocaleComponent.d.ts +53 -6
  10. package/components/LocaleComponent.js +9 -8
  11. package/components/ResourceComponent.d.ts +88 -6
  12. package/components/ResourceComponent.js +11 -11
  13. package/components/UiComponent.d.ts +130 -1
  14. package/docs-autogen-result.json +30076 -0
  15. package/en.json +824 -0
  16. package/hooks/index.d.ts +7 -1
  17. package/hooks/index.js +13 -1
  18. package/hooks/useAbsolutePositioning.d.ts +56 -7
  19. package/hooks/useAbsolutePositioning.js +39 -131
  20. package/hooks/useAddressBar.d.ts +11 -0
  21. package/hooks/useApplication.d.ts +4 -1
  22. package/hooks/useApplication.js +19 -1
  23. package/hooks/useDataProvider.d.ts +29 -29
  24. package/hooks/useDataProvider.js +4 -5
  25. package/hooks/useDataSelect.d.ts +10 -3
  26. package/hooks/useDataSelect.js +40 -23
  27. package/hooks/useFetch.d.ts +5 -6
  28. package/hooks/useFetch.js +0 -3
  29. package/hooks/useFile.d.ts +51 -2
  30. package/hooks/useForm.d.ts +0 -1
  31. package/hooks/useForm.js +0 -1
  32. package/hooks/useList.d.ts +20 -5
  33. package/hooks/useList.js +64 -15
  34. package/hooks/useSaveCursorPosition.d.ts +6 -0
  35. package/hooks/useSaveCursorPosition.js +29 -0
  36. package/hooks/useTheme.d.ts +2 -0
  37. package/hooks/useTheme.js +8 -0
  38. package/index.d.ts +28 -15
  39. package/package.json +12 -7
  40. package/providers/ComponentsProvider.d.ts +8 -5
  41. package/providers/ThemeProvider.d.ts +14 -0
  42. package/providers/ThemeProvider.js +62 -0
  43. package/reducers/list.d.ts +1 -0
  44. package/reducers/list.js +4 -1
  45. package/reducers/router.d.ts +0 -1
  46. package/reducers/router.js +2 -2
  47. package/ui/content/Accordion/Accordion.d.ts +40 -15
  48. package/ui/content/Accordion/AccordionItem.d.ts +4 -3
  49. package/ui/content/Alert/Alert.d.ts +29 -10
  50. package/ui/content/Avatar/Avatar.d.ts +26 -24
  51. package/ui/content/Avatar/Avatar.js +1 -1
  52. package/ui/content/Avatar/AvatarGroup.d.ts +3 -3
  53. package/ui/content/Badge/Badge.d.ts +29 -16
  54. package/ui/content/Badge/Badge.js +1 -1
  55. package/ui/content/Calendar/Calendar.d.ts +19 -10
  56. package/ui/content/Calendar/Calendar.js +9 -2
  57. package/ui/content/CalendarSystem/CalendarSystem.d.ts +56 -0
  58. package/ui/content/CalendarSystem/CalendarSystem.js +106 -0
  59. package/ui/content/CalendarSystem/enums/CalendarType.d.ts +6 -0
  60. package/ui/content/CalendarSystem/enums/CalendarType.js +38 -0
  61. package/ui/content/CalendarSystem/enums/DateControlType.d.ts +10 -0
  62. package/ui/content/CalendarSystem/enums/DateControlType.js +42 -0
  63. package/ui/content/CalendarSystem/helpers/addEventIfMatchDate.d.ts +3 -0
  64. package/ui/content/CalendarSystem/helpers/addEventIfMatchDate.js +21 -0
  65. package/ui/content/CalendarSystem/hooks/useCalendarControls.d.ts +8 -0
  66. package/ui/content/CalendarSystem/hooks/useCalendarControls.js +47 -0
  67. package/ui/content/CalendarSystem/hooks/useDisplayDate.d.ts +6 -0
  68. package/ui/content/CalendarSystem/hooks/useDisplayDate.js +27 -0
  69. package/ui/content/CalendarSystem/hooks/useMonthCalendar.d.ts +16 -0
  70. package/ui/content/CalendarSystem/hooks/useMonthCalendar.js +87 -0
  71. package/ui/content/CalendarSystem/hooks/useWeekCalendar.d.ts +15 -0
  72. package/ui/content/CalendarSystem/hooks/useWeekCalendar.js +86 -0
  73. package/ui/content/CalendarSystem/index.d.ts +2 -0
  74. package/ui/{list/LayoutNames/demo/basic.js → content/CalendarSystem/index.js} +2 -7
  75. package/ui/content/CalendarSystem/utils/utils.d.ts +3 -0
  76. package/ui/content/CalendarSystem/utils/utils.js +29 -0
  77. package/ui/content/Card/Card.d.ts +75 -45
  78. package/ui/content/Card/Card.js +0 -5
  79. package/ui/content/Chart/Chart.d.ts +37 -0
  80. package/ui/content/Chart/Chart.js +19 -0
  81. package/ui/content/Chart/index.d.ts +2 -0
  82. package/ui/content/Chart/index.js +7 -0
  83. package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +68 -8
  84. package/ui/content/CopyToClipboard/CopyToClipboard.js +26 -59
  85. package/ui/content/Detail/Detail.d.ts +16 -11
  86. package/ui/content/Detail/DetailItem.d.ts +1 -1
  87. package/ui/content/DropDown/DropDown.d.ts +22 -10
  88. package/ui/content/DropDown/DropDown.js +15 -3
  89. package/ui/content/Icon/Icon.d.ts +13 -7
  90. package/ui/content/Icon/Icon.js +4 -1
  91. package/ui/content/Menu/Menu.d.ts +56 -0
  92. package/ui/content/Menu/Menu.js +23 -0
  93. package/ui/content/Menu/index.d.ts +2 -0
  94. package/ui/content/Menu/index.js +7 -0
  95. package/ui/content/Slider/Slider.d.ts +28 -0
  96. package/ui/content/Slider/Slider.js +19 -0
  97. package/ui/content/Slider/index.d.ts +2 -0
  98. package/ui/content/Slider/index.js +7 -0
  99. package/ui/content/index.d.ts +8 -1
  100. package/ui/content/index.js +16 -1
  101. package/ui/crud/Crud/Crud.d.ts +116 -4
  102. package/ui/crud/Crud/CrudContent.d.ts +1 -2
  103. package/ui/crud/Crud/utils.js +10 -14
  104. package/ui/crud/index.d.ts +0 -1
  105. package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +26 -6
  106. package/ui/form/AutoCompleteField/AutoCompleteField.js +17 -3
  107. package/ui/form/BlankField/BlankField.d.ts +19 -1
  108. package/ui/form/Button/Button.d.ts +19 -26
  109. package/ui/form/Button/Button.js +1 -10
  110. package/ui/form/CheckboxField/CheckboxField.d.ts +9 -8
  111. package/ui/form/CheckboxField/CheckboxField.js +36 -6
  112. package/ui/form/CheckboxListField/CheckboxListField.d.ts +23 -8
  113. package/ui/form/CheckboxListField/CheckboxListField.js +36 -8
  114. package/ui/form/DateField/DateField.d.ts +20 -15
  115. package/ui/form/DateField/DateField.js +7 -2
  116. package/ui/form/DateField/useDateInputState.js +4 -3
  117. package/ui/form/DateField/useDateRange.d.ts +2 -1
  118. package/ui/form/DateField/useDateRange.js +23 -0
  119. package/ui/form/DateField/useDateTime.js +3 -2
  120. package/ui/form/DateRangeField/DateRangeField.d.ts +12 -21
  121. package/ui/form/DateRangeField/DateRangeField.js +6 -3
  122. package/ui/form/DateTimeField/DateTimeField.d.ts +9 -15
  123. package/ui/form/DateTimeField/DateTimeField.js +6 -8
  124. package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +7 -21
  125. package/ui/form/DateTimeRangeField/DateTimeRangeField.js +16 -3
  126. package/ui/form/DropDownField/DropDownField.d.ts +94 -23
  127. package/ui/form/DropDownField/DropDownField.js +113 -8
  128. package/ui/form/Field/Field.d.ts +3 -2
  129. package/ui/form/Field/fieldWrapper.d.ts +35 -14
  130. package/ui/form/Field/fieldWrapper.js +5 -5
  131. package/ui/form/FieldLayout/FieldLayout.d.ts +13 -20
  132. package/ui/form/FieldLayout/FieldLayout.js +1 -13
  133. package/ui/form/FieldList/FieldList.d.ts +11 -20
  134. package/ui/form/FieldList/FieldList.js +2 -3
  135. package/ui/form/FieldSet/FieldSet.d.ts +1 -1
  136. package/ui/form/FieldSet/FieldSet.js +2 -4
  137. package/ui/form/FileField/FileField.d.ts +54 -34
  138. package/ui/form/FileField/FileField.js +30 -10
  139. package/ui/form/Form/Form.d.ts +32 -40
  140. package/ui/form/Form/Form.js +26 -34
  141. package/ui/form/HtmlField/HtmlField.d.ts +2 -11
  142. package/ui/form/ImageField/ImageField.d.ts +15 -14
  143. package/ui/form/ImageField/ImageField.js +4 -0
  144. package/ui/form/InputField/InputField.d.ts +51 -50
  145. package/ui/form/InputField/InputField.js +57 -17
  146. package/ui/form/MaskField/MaskField.d.ts +10 -0
  147. package/ui/form/MaskField/MaskField.js +34 -0
  148. package/ui/form/MaskField/index.d.ts +2 -0
  149. package/ui/form/MaskField/index.js +7 -0
  150. package/ui/form/NavField/NavField.d.ts +6 -3
  151. package/ui/form/NumberField/NumberField.d.ts +15 -11
  152. package/ui/form/NumberField/NumberField.js +33 -10
  153. package/ui/form/NumberField/hooks/useInputTypeNumber.d.ts +10 -0
  154. package/ui/form/NumberField/hooks/useInputTypeNumber.js +45 -0
  155. package/ui/form/PasswordField/PasswordField.d.ts +20 -14
  156. package/ui/form/PasswordField/PasswordField.js +21 -11
  157. package/ui/form/RadioField/RadioField.d.ts +31 -0
  158. package/{hoc/file.js → ui/form/RadioField/RadioField.js} +21 -5
  159. package/ui/form/RadioField/index.d.ts +2 -0
  160. package/ui/form/RadioField/index.js +7 -0
  161. package/ui/form/RadioListField/RadioListField.d.ts +10 -9
  162. package/ui/form/RadioListField/RadioListField.js +32 -2
  163. package/ui/form/RateField/RateField.d.ts +11 -13
  164. package/ui/form/RateField/RateField.js +2 -1
  165. package/ui/form/RateField/demo/errors.js +1 -1
  166. package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +66 -5
  167. package/ui/form/ReCaptchaField/ReCaptchaField.js +22 -1
  168. package/ui/form/SliderField/SliderField.d.ts +3 -12
  169. package/ui/form/SliderField/SliderField.js +1 -1
  170. package/ui/form/SwitcherField/SwitcherField.d.ts +21 -15
  171. package/ui/form/SwitcherField/SwitcherField.js +34 -4
  172. package/ui/form/SwitcherField/demo/errors.js +1 -1
  173. package/ui/form/TextField/TextField.d.ts +8 -27
  174. package/ui/form/TextField/TextField.js +10 -9
  175. package/ui/form/TimeField/TimeField.d.ts +2 -16
  176. package/ui/form/TimeField/TimeField.js +3 -2
  177. package/ui/form/TimeField/demo/errors.js +1 -1
  178. package/ui/form/TimeRangeField/TimeRangeField.d.ts +58 -0
  179. package/ui/form/TimeRangeField/TimeRangeField.js +85 -0
  180. package/ui/form/TimeRangeField/index.d.ts +2 -0
  181. package/ui/form/TimeRangeField/index.js +7 -0
  182. package/ui/form/index.d.ts +37 -1
  183. package/ui/form/index.js +37 -1
  184. package/ui/form/validate.js +3 -2
  185. package/ui/format/BooleanFormatter/BooleanFormatter.d.ts +13 -0
  186. package/ui/format/DateFormatter/DateFormatter.d.ts +11 -1
  187. package/ui/format/DateFormatter/DateFormatter.js +1 -1
  188. package/ui/format/DateTimeFormatter/DateTimeFormatter.d.ts +11 -1
  189. package/ui/format/DateTimeFormatter/DateTimeFormatter.js +4 -3
  190. package/ui/format/EnumFormatter/EnumFormatter.d.ts +10 -0
  191. package/ui/format/FileSize/FileSize.d.ts +8 -3
  192. package/ui/format/FileSize/FileSize.js +1 -1
  193. package/ui/format/Format/Format.d.ts +6 -0
  194. package/ui/format/MoneyFormatter/MoneyFormatter.d.ts +9 -1
  195. package/ui/format/MoneyFormatter/MoneyFormatter.js +3 -2
  196. package/ui/layout/Header/Header.d.ts +92 -9
  197. package/ui/layout/Header/Header.js +20 -1
  198. package/ui/layout/Loader/Loader.d.ts +15 -1
  199. package/ui/layout/Meta/Meta.js +3 -3
  200. package/ui/layout/Notifications/Notifications.d.ts +32 -1
  201. package/ui/layout/ProgressBar/ProgressBar.js +8 -4
  202. package/ui/layout/Sidebar/Sidebar.d.ts +82 -0
  203. package/ui/{list/ControlsColumn/demo/basic.js → layout/Sidebar/Sidebar.js} +21 -13
  204. package/ui/layout/Sidebar/index.d.ts +2 -0
  205. package/ui/layout/Sidebar/index.js +7 -0
  206. package/ui/layout/Skeleton/Skeleton.d.ts +25 -2
  207. package/ui/layout/Tooltip/Tooltip.d.ts +39 -12
  208. package/ui/layout/Tooltip/Tooltip.js +17 -46
  209. package/ui/layout/index.d.ts +2 -1
  210. package/ui/layout/index.js +3 -1
  211. package/ui/list/CheckboxColumn/CheckboxColumn.d.ts +3 -2
  212. package/ui/list/CheckboxColumn/CheckboxColumn.js +4 -1
  213. package/ui/list/ControlsColumn/ControlsColumn.d.ts +4 -3
  214. package/ui/list/Empty/Empty.d.ts +1 -10
  215. package/ui/list/Empty/Empty.js +2 -2
  216. package/ui/list/FlexGrid/FlexGrid.d.ts +85 -0
  217. package/ui/list/FlexGrid/FlexGrid.js +51 -0
  218. package/ui/list/FlexGrid/index.d.ts +2 -0
  219. package/ui/list/FlexGrid/index.js +7 -0
  220. package/ui/list/Grid/Grid.d.ts +69 -3
  221. package/ui/list/Grid/Grid.js +14 -4
  222. package/ui/list/List/List.d.ts +2 -0
  223. package/ui/list/List/List.js +1 -0
  224. package/ui/list/Pagination/Pagination.d.ts +18 -5
  225. package/ui/list/Pagination/Pagination.js +15 -7
  226. package/ui/list/PaginationSize/PaginationSize.d.ts +10 -12
  227. package/ui/list/PaginationSize/PaginationSize.js +10 -9
  228. package/ui/list/SearchForm/SearchForm.d.ts +3 -0
  229. package/ui/list/SearchForm/demo/basic.js +5 -2
  230. package/ui/list/Steps/Steps.d.ts +6 -3
  231. package/ui/list/Steps/Steps.js +11 -5
  232. package/ui/list/TreeTable/TreeTable.d.ts +39 -0
  233. package/ui/list/{Grid/demo/indexing.js → TreeTable/TreeTable.js} +30 -9
  234. package/ui/list/TreeTable/index.d.ts +2 -0
  235. package/ui/list/TreeTable/index.js +7 -0
  236. package/ui/modal/Modal/Modal.d.ts +5 -5
  237. package/ui/modal/Modal/Modal.js +1 -1
  238. package/ui/modal/ModalPortal/ModalPortal.d.ts +3 -0
  239. package/ui/modal/TwoFactorModal/TwoFactorModal.d.ts +10 -2
  240. package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +12 -2
  241. package/ui/nav/ButtonGroup/ButtonGroup.d.ts +44 -0
  242. package/ui/nav/ButtonGroup/ButtonGroup.js +59 -0
  243. package/ui/nav/ButtonGroup/index.d.ts +2 -0
  244. package/ui/nav/ButtonGroup/index.js +7 -0
  245. package/ui/nav/Controls/Controls.d.ts +3 -3
  246. package/ui/nav/Controls/Controls.js +6 -5
  247. package/ui/nav/Link/Link.d.ts +1 -0
  248. package/ui/nav/Link/Link.js +1 -1
  249. package/ui/nav/Nav/Nav.d.ts +13 -6
  250. package/ui/nav/Nav/Nav.js +29 -14
  251. package/ui/nav/Router/Router.d.ts +0 -10
  252. package/ui/nav/Router/Router.js +13 -77
  253. package/ui/nav/Router/helpers.d.ts +4 -0
  254. package/ui/nav/Router/helpers.js +81 -0
  255. package/ui/nav/Tree/Tree.d.ts +7 -2
  256. package/ui/nav/Tree/Tree.js +41 -18
  257. package/ui/nav/index.d.ts +2 -1
  258. package/ui/nav/index.js +3 -1
  259. package/ui/typography/Text/Text.d.ts +10 -8
  260. package/ui/typography/Title/Title.d.ts +10 -8
  261. package/utils/calculateComponentAbsolutePosition.d.ts +6 -0
  262. package/{ui/layout/Tooltip/calculate.js → utils/calculateComponentAbsolutePosition.js} +67 -58
  263. package/utils/calendar.d.ts +1 -1
  264. package/utils/calendar.js +17 -15
  265. package/utils/form.d.ts +0 -2
  266. package/utils/form.js +1 -12
  267. package/utils/list.d.ts +1 -0
  268. package/utils/list.js +5 -0
  269. package/components/ApiComponent.d.ts +0 -23
  270. package/components/ApiComponent.js +0 -75
  271. package/hoc/application.d.ts +0 -8
  272. package/hoc/application.js +0 -50
  273. package/hoc/bem.d.ts +0 -14
  274. package/hoc/bem.js +0 -42
  275. package/hoc/components.d.ts +0 -11
  276. package/hoc/components.js +0 -62
  277. package/hoc/connect.d.ts +0 -6
  278. package/hoc/connect.js +0 -3
  279. package/hoc/fetch.d.ts +0 -13
  280. package/hoc/fetch.js +0 -60
  281. package/hoc/file.d.ts +0 -28
  282. package/hoc/http.d.ts +0 -7
  283. package/hoc/http.js +0 -53
  284. package/hoc/index.d.ts +0 -8
  285. package/hoc/index.js +0 -20
  286. package/hoc/layout.d.ts +0 -30
  287. package/hoc/layout.js +0 -48
  288. package/ui/content/Card/demo/basic.d.ts +0 -8
  289. package/ui/content/Card/demo/basic.js +0 -39
  290. package/ui/content/Card/demo/border color.d.ts +0 -3
  291. package/ui/content/Card/demo/border color.js +0 -52
  292. package/ui/content/Card/demo/color.d.ts +0 -3
  293. package/ui/content/Card/demo/color.js +0 -52
  294. package/ui/content/Card/demo/header.d.ts +0 -3
  295. package/ui/content/Card/demo/header.js +0 -47
  296. package/ui/content/Card/demo/hover.d.ts +0 -3
  297. package/ui/content/Card/demo/hover.js +0 -42
  298. package/ui/content/Card/demo/link.d.ts +0 -3
  299. package/ui/content/Card/demo/link.js +0 -43
  300. package/ui/content/Card/demo/orientation.d.ts +0 -3
  301. package/ui/content/Card/demo/orientation.js +0 -46
  302. package/ui/content/Detail/demo/basic.d.ts +0 -8
  303. package/ui/content/Detail/demo/basic.js +0 -60
  304. package/ui/content/Detail/demo/colors.d.ts +0 -3
  305. package/ui/content/Detail/demo/colors.js +0 -44
  306. package/ui/content/Detail/demo/controls.d.ts +0 -8
  307. package/ui/content/Detail/demo/controls.js +0 -60
  308. package/ui/content/Detail/demo/layout.d.ts +0 -8
  309. package/ui/content/Detail/demo/layout.js +0 -60
  310. package/ui/content/Detail/demo/responsive.d.ts +0 -8
  311. package/ui/content/Detail/demo/responsive.js +0 -75
  312. package/ui/content/Detail/demo/sizes.d.ts +0 -8
  313. package/ui/content/Detail/demo/sizes.js +0 -65
  314. package/ui/content/Icon/demo/icon.d.ts +0 -3
  315. package/ui/content/Icon/demo/icon.js +0 -32
  316. package/ui/crud/Crud/demo/default.d.ts +0 -8
  317. package/ui/crud/Crud/demo/default.js +0 -76
  318. package/ui/form/AutoCompleteField/demo/basic.d.ts +0 -12
  319. package/ui/form/AutoCompleteField/demo/basic.js +0 -52
  320. package/ui/form/AutoCompleteField/demo/disabled.d.ts +0 -8
  321. package/ui/form/AutoCompleteField/demo/disabled.js +0 -38
  322. package/ui/form/AutoCompleteField/demo/errors.d.ts +0 -8
  323. package/ui/form/AutoCompleteField/demo/errors.js +0 -38
  324. package/ui/form/AutoCompleteField/demo/placeholder.d.ts +0 -8
  325. package/ui/form/AutoCompleteField/demo/placeholder.js +0 -38
  326. package/ui/form/AutoCompleteField/demo/required.d.ts +0 -8
  327. package/ui/form/AutoCompleteField/demo/required.js +0 -38
  328. package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -3
  329. package/ui/form/AutoCompleteField/demo/sizes.js +0 -43
  330. package/ui/form/BlankField/demo/basic.d.ts +0 -12
  331. package/ui/form/BlankField/demo/basic.js +0 -55
  332. package/ui/form/CheckboxListField/demo/basic.d.ts +0 -9
  333. package/ui/form/CheckboxListField/demo/basic.js +0 -43
  334. package/ui/form/CheckboxListField/demo/disabled.d.ts +0 -8
  335. package/ui/form/CheckboxListField/demo/disabled.js +0 -38
  336. package/ui/form/CheckboxListField/demo/errors.d.ts +0 -8
  337. package/ui/form/CheckboxListField/demo/errors.js +0 -38
  338. package/ui/form/CheckboxListField/demo/required.d.ts +0 -8
  339. package/ui/form/CheckboxListField/demo/required.js +0 -38
  340. package/ui/form/DateField/demo/basic.d.ts +0 -8
  341. package/ui/form/DateField/demo/basic.js +0 -37
  342. package/ui/form/DateField/demo/disabled.d.ts +0 -8
  343. package/ui/form/DateField/demo/disabled.js +0 -37
  344. package/ui/form/DateField/demo/errors.d.ts +0 -8
  345. package/ui/form/DateField/demo/errors.js +0 -37
  346. package/ui/form/DateField/demo/icon.d.ts +0 -8
  347. package/ui/form/DateField/demo/icon.js +0 -39
  348. package/ui/form/DateField/demo/placeholder.d.ts +0 -8
  349. package/ui/form/DateField/demo/placeholder.js +0 -37
  350. package/ui/form/DateField/demo/required.d.ts +0 -8
  351. package/ui/form/DateField/demo/required.js +0 -37
  352. package/ui/form/DateField/demo/sizes.d.ts +0 -8
  353. package/ui/form/DateField/demo/sizes.js +0 -43
  354. package/ui/form/DateRangeField/demo/basic.d.ts +0 -8
  355. package/ui/form/DateRangeField/demo/basic.js +0 -37
  356. package/ui/form/DateRangeField/demo/disabled.d.ts +0 -8
  357. package/ui/form/DateRangeField/demo/disabled.js +0 -37
  358. package/ui/form/DateRangeField/demo/errors.d.ts +0 -8
  359. package/ui/form/DateRangeField/demo/errors.js +0 -37
  360. package/ui/form/DateRangeField/demo/icon.d.ts +0 -8
  361. package/ui/form/DateRangeField/demo/icon.js +0 -39
  362. package/ui/form/DateRangeField/demo/placeholder.d.ts +0 -8
  363. package/ui/form/DateRangeField/demo/placeholder.js +0 -37
  364. package/ui/form/DateRangeField/demo/required.d.ts +0 -8
  365. package/ui/form/DateRangeField/demo/required.js +0 -37
  366. package/ui/form/DateTimeField/demo/basic.d.ts +0 -8
  367. package/ui/form/DateTimeField/demo/basic.js +0 -37
  368. package/ui/form/DateTimeField/demo/disabled.d.ts +0 -8
  369. package/ui/form/DateTimeField/demo/disabled.js +0 -38
  370. package/ui/form/DateTimeField/demo/errors.d.ts +0 -8
  371. package/ui/form/DateTimeField/demo/errors.js +0 -37
  372. package/ui/form/DateTimeField/demo/icon.d.ts +0 -8
  373. package/ui/form/DateTimeField/demo/icon.js +0 -39
  374. package/ui/form/DateTimeField/demo/placeholder.d.ts +0 -8
  375. package/ui/form/DateTimeField/demo/placeholder.js +0 -37
  376. package/ui/form/DateTimeField/demo/required.d.ts +0 -8
  377. package/ui/form/DateTimeField/demo/required.js +0 -37
  378. package/ui/form/DateTimeField/demo/showRemove.d.ts +0 -8
  379. package/ui/form/DateTimeField/demo/showRemove.js +0 -36
  380. package/ui/form/DateTimeRangeField/demo/basic.d.ts +0 -8
  381. package/ui/form/DateTimeRangeField/demo/basic.js +0 -36
  382. package/ui/form/DateTimeRangeField/demo/disabled.d.ts +0 -8
  383. package/ui/form/DateTimeRangeField/demo/disabled.js +0 -36
  384. package/ui/form/DateTimeRangeField/demo/errors.d.ts +0 -8
  385. package/ui/form/DateTimeRangeField/demo/errors.js +0 -37
  386. package/ui/form/DateTimeRangeField/demo/icon.d.ts +0 -8
  387. package/ui/form/DateTimeRangeField/demo/icon.js +0 -36
  388. package/ui/form/DateTimeRangeField/demo/placeholder.d.ts +0 -8
  389. package/ui/form/DateTimeRangeField/demo/placeholder.js +0 -37
  390. package/ui/form/DateTimeRangeField/demo/required.d.ts +0 -8
  391. package/ui/form/DateTimeRangeField/demo/required.js +0 -37
  392. package/ui/form/DateTimeRangeField/demo/showRemove.d.ts +0 -8
  393. package/ui/form/DateTimeRangeField/demo/showRemove.js +0 -36
  394. package/ui/form/DropDownField/demo/auto-complete.d.ts +0 -8
  395. package/ui/form/DropDownField/demo/auto-complete.js +0 -38
  396. package/ui/form/DropDownField/demo/basic.d.ts +0 -12
  397. package/ui/form/DropDownField/demo/basic.js +0 -56
  398. package/ui/form/DropDownField/demo/disabled.d.ts +0 -8
  399. package/ui/form/DropDownField/demo/disabled.js +0 -38
  400. package/ui/form/DropDownField/demo/errors.d.ts +0 -8
  401. package/ui/form/DropDownField/demo/errors.js +0 -38
  402. package/ui/form/DropDownField/demo/multiple.d.ts +0 -8
  403. package/ui/form/DropDownField/demo/multiple.js +0 -38
  404. package/ui/form/DropDownField/demo/no-border.d.ts +0 -8
  405. package/ui/form/DropDownField/demo/no-border.js +0 -38
  406. package/ui/form/DropDownField/demo/placeholder.d.ts +0 -8
  407. package/ui/form/DropDownField/demo/placeholder.js +0 -38
  408. package/ui/form/DropDownField/demo/required.d.ts +0 -8
  409. package/ui/form/DropDownField/demo/required.js +0 -38
  410. package/ui/form/DropDownField/demo/show-reset.d.ts +0 -8
  411. package/ui/form/DropDownField/demo/show-reset.js +0 -38
  412. package/ui/form/DropDownField/demo/size.d.ts +0 -8
  413. package/ui/form/DropDownField/demo/size.js +0 -45
  414. package/ui/form/Field/demo/basic.d.ts +0 -8
  415. package/ui/form/Field/demo/basic.js +0 -37
  416. package/ui/form/Field/demo/component.d.ts +0 -8
  417. package/ui/form/Field/demo/component.js +0 -38
  418. package/ui/form/Field/demo/model.d.ts +0 -8
  419. package/ui/form/Field/demo/model.js +0 -48
  420. package/ui/form/FieldLayout/demo/errors.d.ts +0 -8
  421. package/ui/form/FieldLayout/demo/errors.js +0 -38
  422. package/ui/form/FieldLayout/demo/layouts.d.ts +0 -8
  423. package/ui/form/FieldLayout/demo/layouts.js +0 -43
  424. package/ui/form/FieldLayout/demo/required.d.ts +0 -8
  425. package/ui/form/FieldLayout/demo/required.js +0 -38
  426. package/ui/form/FieldList/demo/basic.d.ts +0 -8
  427. package/ui/form/FieldList/demo/basic.js +0 -62
  428. package/ui/form/FieldList/demo/disabled.d.ts +0 -8
  429. package/ui/form/FieldList/demo/disabled.js +0 -62
  430. package/ui/form/FieldSet/demo/basic.d.ts +0 -8
  431. package/ui/form/FieldSet/demo/basic.js +0 -53
  432. package/ui/form/FileField/demo/basic.d.ts +0 -8
  433. package/ui/form/FileField/demo/basic.js +0 -37
  434. package/ui/form/Form/demo/basic.d.ts +0 -8
  435. package/ui/form/Form/demo/basic.js +0 -62
  436. package/ui/form/Form/demo/border.d.ts +0 -8
  437. package/ui/form/Form/demo/border.js +0 -62
  438. package/ui/form/Form/demo/horizontal.d.ts +0 -8
  439. package/ui/form/Form/demo/horizontal.js +0 -55
  440. package/ui/form/Form/demo/inline.d.ts +0 -8
  441. package/ui/form/Form/demo/inline.js +0 -53
  442. package/ui/form/HtmlField/demo/basic.d.ts +0 -8
  443. package/ui/form/HtmlField/demo/basic.js +0 -37
  444. package/ui/form/InputField/demo/addons.d.ts +0 -8
  445. package/ui/form/InputField/demo/addons.js +0 -37
  446. package/ui/form/InputField/demo/basic.d.ts +0 -8
  447. package/ui/form/InputField/demo/basic.js +0 -36
  448. package/ui/form/InputField/demo/disabled.d.ts +0 -8
  449. package/ui/form/InputField/demo/disabled.js +0 -36
  450. package/ui/form/InputField/demo/errors.d.ts +0 -8
  451. package/ui/form/InputField/demo/errors.js +0 -37
  452. package/ui/form/InputField/demo/mask.d.ts +0 -8
  453. package/ui/form/InputField/demo/mask.js +0 -39
  454. package/ui/form/InputField/demo/placeholder.d.ts +0 -8
  455. package/ui/form/InputField/demo/placeholder.js +0 -37
  456. package/ui/form/InputField/demo/required.d.ts +0 -8
  457. package/ui/form/InputField/demo/required.js +0 -37
  458. package/ui/form/InputField/demo/sizes.d.ts +0 -3
  459. package/ui/form/InputField/demo/sizes.js +0 -42
  460. package/ui/form/InputField/demo/textAddons.d.ts +0 -8
  461. package/ui/form/InputField/demo/textAddons.js +0 -37
  462. package/ui/form/InputField/demo/types.d.ts +0 -3
  463. package/ui/form/InputField/demo/types.js +0 -44
  464. package/ui/form/NavField/demo/basic.d.ts +0 -12
  465. package/ui/form/NavField/demo/basic.js +0 -56
  466. package/ui/form/NavField/demo/disabled.d.ts +0 -8
  467. package/ui/form/NavField/demo/disabled.js +0 -38
  468. package/ui/form/NavField/demo/errors.d.ts +0 -8
  469. package/ui/form/NavField/demo/errors.js +0 -38
  470. package/ui/form/NavField/demo/layouts.d.ts +0 -12
  471. package/ui/form/NavField/demo/layouts.js +0 -61
  472. package/ui/form/NavField/demo/required.d.ts +0 -8
  473. package/ui/form/NavField/demo/required.js +0 -38
  474. package/ui/form/NumberField/demo/basic.d.ts +0 -8
  475. package/ui/form/NumberField/demo/basic.js +0 -37
  476. package/ui/form/NumberField/demo/disabled.d.ts +0 -8
  477. package/ui/form/NumberField/demo/disabled.js +0 -37
  478. package/ui/form/NumberField/demo/errors.d.ts +0 -8
  479. package/ui/form/NumberField/demo/errors.js +0 -37
  480. package/ui/form/NumberField/demo/placeholder.d.ts +0 -8
  481. package/ui/form/NumberField/demo/placeholder.js +0 -37
  482. package/ui/form/NumberField/demo/required.d.ts +0 -8
  483. package/ui/form/NumberField/demo/required.js +0 -37
  484. package/ui/form/NumberField/demo/sizes.d.ts +0 -8
  485. package/ui/form/NumberField/demo/sizes.js +0 -42
  486. package/ui/form/PasswordField/demo/basic.d.ts +0 -8
  487. package/ui/form/PasswordField/demo/basic.js +0 -37
  488. package/ui/form/PasswordField/demo/disabled.d.ts +0 -8
  489. package/ui/form/PasswordField/demo/disabled.js +0 -37
  490. package/ui/form/PasswordField/demo/errors.d.ts +0 -8
  491. package/ui/form/PasswordField/demo/errors.js +0 -37
  492. package/ui/form/PasswordField/demo/placeholder.d.ts +0 -8
  493. package/ui/form/PasswordField/demo/placeholder.js +0 -37
  494. package/ui/form/PasswordField/demo/required.d.ts +0 -8
  495. package/ui/form/PasswordField/demo/required.js +0 -37
  496. package/ui/form/PasswordField/demo/security.d.ts +0 -8
  497. package/ui/form/PasswordField/demo/security.js +0 -37
  498. package/ui/form/PasswordField/demo/sizes.d.ts +0 -8
  499. package/ui/form/PasswordField/demo/sizes.js +0 -42
  500. package/ui/form/RadioListField/demo/basic.d.ts +0 -12
  501. package/ui/form/RadioListField/demo/basic.js +0 -56
  502. package/ui/form/RadioListField/demo/disabled.d.ts +0 -8
  503. package/ui/form/RadioListField/demo/disabled.js +0 -38
  504. package/ui/form/RadioListField/demo/errors.d.ts +0 -8
  505. package/ui/form/RadioListField/demo/errors.js +0 -38
  506. package/ui/form/RadioListField/demo/required.d.ts +0 -8
  507. package/ui/form/RadioListField/demo/required.js +0 -38
  508. package/ui/form/ReCaptchaField/demo/basic.d.ts +0 -8
  509. package/ui/form/ReCaptchaField/demo/basic.js +0 -43
  510. package/ui/form/SliderField/demo/basic.d.ts +0 -8
  511. package/ui/form/SliderField/demo/basic.js +0 -37
  512. package/ui/form/SliderField/demo/disabled.d.ts +0 -8
  513. package/ui/form/SliderField/demo/disabled.js +0 -37
  514. package/ui/form/SliderField/demo/errors.d.ts +0 -8
  515. package/ui/form/SliderField/demo/errors.js +0 -37
  516. package/ui/form/SliderField/demo/marks.d.ts +0 -3
  517. package/ui/form/SliderField/demo/marks.js +0 -49
  518. package/ui/form/SliderField/demo/min-max.d.ts +0 -8
  519. package/ui/form/SliderField/demo/min-max.js +0 -37
  520. package/ui/form/SliderField/demo/onAfterChange.d.ts +0 -8
  521. package/ui/form/SliderField/demo/onAfterChange.js +0 -43
  522. package/ui/form/SliderField/demo/onChange.d.ts +0 -8
  523. package/ui/form/SliderField/demo/onChange.js +0 -43
  524. package/ui/form/SliderField/demo/range.d.ts +0 -8
  525. package/ui/form/SliderField/demo/range.js +0 -37
  526. package/ui/form/TextField/demo/basic.d.ts +0 -8
  527. package/ui/form/TextField/demo/basic.js +0 -37
  528. package/ui/form/TextField/demo/disabled.d.ts +0 -8
  529. package/ui/form/TextField/demo/disabled.js +0 -37
  530. package/ui/form/TextField/demo/errors.d.ts +0 -8
  531. package/ui/form/TextField/demo/errors.js +0 -37
  532. package/ui/form/TextField/demo/placeholder.d.ts +0 -8
  533. package/ui/form/TextField/demo/placeholder.js +0 -37
  534. package/ui/form/TextField/demo/required.d.ts +0 -8
  535. package/ui/form/TextField/demo/required.js +0 -37
  536. package/ui/form/TextField/demo/sizes.d.ts +0 -3
  537. package/ui/form/TextField/demo/sizes.js +0 -43
  538. package/ui/form/TextField/demo/submit.d.ts +0 -8
  539. package/ui/form/TextField/demo/submit.js +0 -37
  540. package/ui/format/DateFormatter/demo/basic.d.ts +0 -3
  541. package/ui/format/DateFormatter/demo/basic.js +0 -32
  542. package/ui/format/DateTimeFormatter/demo/basic.d.ts +0 -3
  543. package/ui/format/DateTimeFormatter/demo/basic.js +0 -32
  544. package/ui/layout/Notifications/demo/basic.d.ts +0 -8
  545. package/ui/layout/Notifications/demo/basic.js +0 -57
  546. package/ui/layout/Notifications/demo/position.d.ts +0 -3
  547. package/ui/layout/Notifications/demo/position.js +0 -49
  548. package/ui/layout/Notifications/demo/timeOut.d.ts +0 -3
  549. package/ui/layout/Notifications/demo/timeOut.js +0 -49
  550. package/ui/layout/Tooltip/calculate.d.ts +0 -6
  551. package/ui/layout/Tooltip/demo/basic.d.ts +0 -8
  552. package/ui/layout/Tooltip/demo/basic.js +0 -56
  553. package/ui/list/CheckboxColumn/demo/basic.d.ts +0 -8
  554. package/ui/list/CheckboxColumn/demo/basic.js +0 -51
  555. package/ui/list/ControlsColumn/demo/basic.d.ts +0 -8
  556. package/ui/list/Empty/demo/basic.d.ts +0 -8
  557. package/ui/list/Empty/demo/basic.js +0 -37
  558. package/ui/list/Empty/demo/custom-text.d.ts +0 -8
  559. package/ui/list/Empty/demo/custom-text.js +0 -37
  560. package/ui/list/Grid/demo/basic.d.ts +0 -18
  561. package/ui/list/Grid/demo/basic.js +0 -72
  562. package/ui/list/Grid/demo/controls.d.ts +0 -8
  563. package/ui/list/Grid/demo/controls.js +0 -44
  564. package/ui/list/Grid/demo/empty.d.ts +0 -8
  565. package/ui/list/Grid/demo/empty.js +0 -38
  566. package/ui/list/Grid/demo/formatter.d.ts +0 -8
  567. package/ui/list/Grid/demo/formatter.js +0 -67
  568. package/ui/list/Grid/demo/indexing.d.ts +0 -8
  569. package/ui/list/Grid/demo/inner-search-form.d.ts +0 -16
  570. package/ui/list/Grid/demo/inner-search-form.js +0 -60
  571. package/ui/list/Grid/demo/load-more.d.ts +0 -8
  572. package/ui/list/Grid/demo/load-more.js +0 -43
  573. package/ui/list/Grid/demo/pagination.d.ts +0 -8
  574. package/ui/list/Grid/demo/pagination.js +0 -41
  575. package/ui/list/Grid/demo/search-form.d.ts +0 -8
  576. package/ui/list/Grid/demo/search-form.js +0 -50
  577. package/ui/list/Grid/demo/sort.d.ts +0 -8
  578. package/ui/list/Grid/demo/sort.js +0 -48
  579. package/ui/list/Grid/demo/visible.d.ts +0 -8
  580. package/ui/list/Grid/demo/visible.js +0 -52
  581. package/ui/list/LayoutNames/demo/basic.d.ts +0 -7
  582. package/ui/list/List/demo/basic.d.ts +0 -12
  583. package/ui/list/List/demo/basic.js +0 -61
  584. package/ui/list/List/demo/condition.d.ts +0 -8
  585. package/ui/list/List/demo/condition.js +0 -90
  586. package/ui/list/List/demo/empty.d.ts +0 -8
  587. package/ui/list/List/demo/empty.js +0 -36
  588. package/ui/list/List/demo/layout.d.ts +0 -8
  589. package/ui/list/List/demo/layout.js +0 -49
  590. package/ui/list/List/demo/load-more.d.ts +0 -8
  591. package/ui/list/List/demo/load-more.js +0 -45
  592. package/ui/list/List/demo/pagination.d.ts +0 -8
  593. package/ui/list/List/demo/pagination.js +0 -45
  594. package/ui/list/List/demo/search-form.d.ts +0 -30
  595. package/ui/list/List/demo/search-form.js +0 -107
  596. package/ui/list/List/demo/sort.d.ts +0 -17
  597. package/ui/list/List/demo/sort.js +0 -92
  598. package/ui/list/Pagination/demo/basic.d.ts +0 -8
  599. package/ui/list/Pagination/demo/basic.js +0 -45
  600. package/ui/list/Pagination/demo/load-more.d.ts +0 -8
  601. package/ui/list/Pagination/demo/load-more.js +0 -41
  602. package/ui/list/Pagination/demo/sizes.d.ts +0 -8
  603. package/ui/list/Pagination/demo/sizes.js +0 -48
  604. package/ui/list/PaginationSize/demo/basic.d.ts +0 -8
  605. package/ui/list/PaginationSize/demo/basic.js +0 -41
  606. package/ui/list/PaginationSize/demo/size.d.ts +0 -8
  607. package/ui/list/PaginationSize/demo/size.js +0 -49
  608. package/ui/modal/Modal/demo/basic.d.ts +0 -8
  609. package/ui/modal/Modal/demo/basic.js +0 -63
  610. package/ui/modal/Modal/demo/closeTimeout.d.ts +0 -8
  611. package/ui/modal/Modal/demo/closeTimeout.js +0 -64
  612. package/ui/modal/Modal/demo/closing.d.ts +0 -9
  613. package/ui/modal/Modal/demo/closing.js +0 -67
  614. package/ui/modal/Modal/demo/component.d.ts +0 -10
  615. package/ui/modal/Modal/demo/component.js +0 -55
  616. package/ui/modal/Modal/demo/controls.d.ts +0 -8
  617. package/ui/modal/Modal/demo/controls.js +0 -66
  618. package/ui/modal/Modal/demo/size.d.ts +0 -8
  619. package/ui/modal/Modal/demo/size.js +0 -70
  620. package/ui/nav/Breadcrumbs/demo/basic.d.ts +0 -8
  621. package/ui/nav/Breadcrumbs/demo/basic.js +0 -37
  622. package/ui/nav/Breadcrumbs/demo/items.d.ts +0 -8
  623. package/ui/nav/Breadcrumbs/demo/items.js +0 -42
  624. package/ui/nav/Breadcrumbs/demo/page-title.d.ts +0 -8
  625. package/ui/nav/Breadcrumbs/demo/page-title.js +0 -37
  626. package/ui/nav/Controls/demo/basic.d.ts +0 -12
  627. package/ui/nav/Controls/demo/basic.js +0 -59
  628. package/ui/nav/Link/demo/badge.d.ts +0 -8
  629. package/ui/nav/Link/demo/badge.js +0 -37
  630. package/ui/nav/Link/demo/basic.d.ts +0 -8
  631. package/ui/nav/Link/demo/basic.js +0 -37
  632. package/ui/nav/Link/demo/colors.d.ts +0 -8
  633. package/ui/nav/Link/demo/colors.js +0 -46
  634. package/ui/nav/Link/demo/confirm.d.ts +0 -8
  635. package/ui/nav/Link/demo/confirm.js +0 -37
  636. package/ui/nav/Link/demo/disabled.d.ts +0 -8
  637. package/ui/nav/Link/demo/disabled.js +0 -37
  638. package/ui/nav/Link/demo/hint.d.ts +0 -8
  639. package/ui/nav/Link/demo/hint.js +0 -37
  640. package/ui/nav/Link/demo/icon.d.ts +0 -8
  641. package/ui/nav/Link/demo/icon.js +0 -37
  642. package/ui/nav/Link/demo/sizes.d.ts +0 -8
  643. package/ui/nav/Link/demo/sizes.js +0 -41
  644. package/ui/nav/Nav/demo/basic.d.ts +0 -13
  645. package/ui/nav/Nav/demo/basic.js +0 -58
  646. package/ui/nav/Nav/demo/layout.d.ts +0 -8
  647. package/ui/nav/Nav/demo/layout.js +0 -56
  648. package/ui/nav/Router/ConnectedRouter.d.ts +0 -16
  649. package/ui/nav/Router/ConnectedRouter.js +0 -107
  650. package/ui/nav/Tree/demo/auto-open-levels.d.ts +0 -8
  651. package/ui/nav/Tree/demo/auto-open-levels.js +0 -38
  652. package/ui/nav/Tree/demo/basic.d.ts +0 -32
  653. package/ui/nav/Tree/demo/basic.js +0 -72
  654. package/ui/nav/Tree/demo/level.d.ts +0 -8
  655. package/ui/nav/Tree/demo/level.js +0 -38
  656. package/ui/nav/Tree/demo/routes.d.ts +0 -8
  657. package/ui/nav/Tree/demo/routes.js +0 -37
  658. package/ui/nav/Tree/demo/selected-item.d.ts +0 -8
  659. package/ui/nav/Tree/demo/selected-item.js +0 -38
@@ -3,9 +3,13 @@ import { IDateInputStateInput, IDateInputStateOutput } from '../DateField/useDat
3
3
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../form/Field/fieldWrapper';
4
4
  /**
5
5
  * DateRangeField
6
- * Поле ввода дипазона двух дат с выпадающим календарём
6
+ *
7
+ * Поле ввода дипазона двух дат с выпадающим календарём.
8
+ *
9
+ * Компонент `DateRangeField` предоставляет возможность создания поля ввода диапазона двух дат с выпадающим календарём.
10
+ * Он позволяет пользователю выбрать начальную и конечную даты с помощью календаря и предоставляет удобный интерфейс для работы с диапазоном дат.
7
11
  */
8
- export interface IDateRangeFieldProps extends IDateInputStateInput, Omit<IFieldWrapperInputProps, 'attribute'> {
12
+ export interface IDateRangeFieldProps extends IDateInputStateInput, Omit<IFieldWrapperInputProps, 'attribute'>, IUiComponent {
9
13
  /**
10
14
  * Аттрибут (название) поля в форме
11
15
  * @example 'fromTime'
@@ -31,25 +35,11 @@ export interface IDateRangeFieldProps extends IDateInputStateInput, Omit<IFieldW
31
35
  * @example YYYY-MM-DD
32
36
  */
33
37
  valueFormat?: string;
34
- /**
35
- * Дополнительный CSS-класс
36
- */
37
- className?: CssClassName;
38
- /**
39
- * Переопределение view React компонента для кастомизации отображения
40
- * @example MyCustomView
41
- */
42
- view?: CustomView;
43
38
  /**
44
39
  * Placeholder подсказка
45
40
  * @example Your text...
46
41
  */
47
42
  placeholder?: any;
48
- /**
49
- * Объект CSS стилей
50
- * @example {width: '45%'}
51
- */
52
- style?: any;
53
43
  /**
54
44
  * Иконка
55
45
  * @example calendar-day
@@ -60,17 +50,18 @@ export interface IDateRangeFieldProps extends IDateInputStateInput, Omit<IFieldW
60
50
  * @example true
61
51
  */
62
52
  showRemove?: boolean;
53
+ /**
54
+ * Свойства для input элемента from
55
+ */
63
56
  inputPropsFrom?: any;
57
+ /**
58
+ * Свойства для input элемента to
59
+ */
64
60
  inputPropsTo?: any;
65
61
  /**
66
62
  * Свойства для компонента Calendar
67
63
  */
68
64
  calendarProps?: ICalendarProps;
69
- /**
70
- * Отключить border вокруг элемента
71
- * @example 'true'
72
- */
73
- noBorder?: boolean;
74
65
  [key: string]: any;
75
66
  }
76
67
  export interface IDateRangeFieldViewProps extends IDateInputStateOutput, Omit<IFieldWrapperOutputProps, 'input'>, Pick<IDateRangeFieldProps, 'size' | 'icon' | 'errors' | 'showRemove' | 'calendarProps' | 'className' | 'disabled' | 'noBorder' | 'style'> {
@@ -62,7 +62,9 @@ function DateRangeField(props) {
62
62
  inputPropsTo: inputPropsTo,
63
63
  inputFrom: props.inputFrom,
64
64
  inputTo: props.inputTo,
65
- useSmartFocus: true
65
+ useSmartFocus: true,
66
+ displayFormat: props.displayFormat,
67
+ valueFormat: props.valueFormat
66
68
  }), focus = _c.focus, onClose = _c.onClose, onClear = _c.onClear, extendedInputPropsFrom = _c.extendedInputPropsFrom, extendedInputPropsTo = _c.extendedInputPropsTo;
67
69
  // Calendar props
68
70
  var calendarProps = (0, react_1.useMemo)(function () { return ({
@@ -73,7 +75,7 @@ function DateRangeField(props) {
73
75
  showFooter: false
74
76
  }); }, [focus, props.inputFrom.onChange, props.inputFrom.value, props.inputTo.onChange,
75
77
  props.inputTo.value, props.valueFormat]);
76
- return components.ui.renderView(props.view || 'form.DateRangeFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, calendarProps: calendarProps, icon: props.icon, size: props.size, errorsTo: props.errorsTo, disabled: props.disabled, noBorder: props.noBorder, className: props.className, showRemove: props.showRemove, errorsFrom: props.errorsFrom, inputPropsTo: extendedInputPropsTo, inputPropsFrom: extendedInputPropsFrom, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo }));
78
+ return components.ui.renderView(props.view || 'form.DateRangeFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, calendarProps: calendarProps, icon: props.icon, size: props.size, errorsTo: props.errorsTo, disabled: props.disabled, noBorder: props.noBorder, className: props.className, showRemove: props.showRemove, errorsFrom: props.errorsFrom, inputPropsTo: extendedInputPropsTo, inputPropsFrom: extendedInputPropsFrom, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo, style: props.style }));
77
79
  }
78
80
  DateRangeField.defaultProps = {
79
81
  disabled: false,
@@ -83,6 +85,7 @@ DateRangeField.defaultProps = {
83
85
  valueFormat: 'YYYY-MM-DD',
84
86
  showRemove: true,
85
87
  icon: true,
86
- noBorder: false
88
+ noBorder: false,
89
+ size: 'md'
87
90
  };
88
91
  exports["default"] = (0, fieldWrapper_1["default"])('DateRangeField', DateRangeField, { attributeSuffixes: ['from', 'to'] });
@@ -1,20 +1,14 @@
1
1
  import { ICalendarProps } from '../../content/Calendar/Calendar';
2
2
  import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateField/useDateInputState';
3
- export interface IDateTimeFieldProps extends IDateInputStateInput {
4
- /**
5
- * Объект CSS стилей
6
- * @example {width: '45%'}
7
- */
8
- style?: any;
9
- /**
10
- * Дополнительный CSS-класс
11
- */
12
- className?: CssClassName;
13
- /**
14
- * Переопределение view React компонента для кастомизации отображения
15
- * @example MyCustomView
16
- */
17
- view?: CustomView;
3
+ /**
4
+ * DateTimeField
5
+ *
6
+ * Поля ввода с выпадающими списками для выбора даты и времени.
7
+ *
8
+ * Компонент `DateTimeField` предоставляет возможность создания полей ввода для выбора даты и времени с помощью выпадающих списков.
9
+ * Он объединяет функциональность компонента `DateField` для выбора даты и компонента `TimePanel` для выбора времени.
10
+ */
11
+ export interface IDateTimeFieldProps extends IDateInputStateInput, IUiComponent {
18
12
  /**
19
13
  * Свойства для компонента Calendar
20
14
  */
@@ -47,11 +47,7 @@ function DateTimeField(props) {
47
47
  dateInUTC: props.dateInUTC
48
48
  }), dateValueFormat = _b.dateValueFormat, dateValue = _b.dateValue, timeValue = _b.timeValue, onDateSelect = _b.onDateSelect, onTimeSelect = _b.onTimeSelect;
49
49
  // Calendar props
50
- var calendarProps = (0, react_1.useMemo)(function () { return ({
51
- value: dateValue,
52
- onChange: onDateSelect,
53
- valueFormat: dateValueFormat
54
- }); }, [dateValue, dateValueFormat, onDateSelect]);
50
+ var calendarProps = (0, react_1.useMemo)(function () { return (__assign({ value: dateValue, onChange: onDateSelect, valueFormat: dateValueFormat }, props.calendarProps)); }, [dateValue, dateValueFormat, onDateSelect, props.calendarProps]);
55
51
  // TimePanel props
56
52
  var timePanelViewProps = (0, react_1.useMemo)(function () { return ({
57
53
  onClose: onClose,
@@ -60,7 +56,7 @@ function DateTimeField(props) {
60
56
  value: timeValue,
61
57
  onSelect: onTimeSelect
62
58
  }); }, [onClose, onTimeSelect, timeValue]);
63
- return components.ui.renderView(props.view || 'form.DateTimeFieldView', __assign(__assign({}, props.viewProps), { isOpened: isOpened, onClear: onClear, onClose: onClose, inputProps: inputProps, calendarProps: calendarProps, timePanelViewProps: timePanelViewProps, size: props.size, icon: props.icon, label: props.label, errors: props.errors, className: props.className, showRemove: props.showRemove, isInvalid: props.isInvalid, disabled: props.disabled }));
59
+ return components.ui.renderView(props.view || 'form.DateTimeFieldView', __assign(__assign({}, props.viewProps), { isOpened: isOpened, onClear: onClear, onClose: onClose, inputProps: inputProps, calendarProps: calendarProps, timePanelViewProps: timePanelViewProps, size: props.size, icon: props.icon, label: props.label, errors: props.errors, className: props.className, showRemove: props.showRemove, isInvalid: props.isInvalid, disabled: props.disabled, style: props.style }));
64
60
  }
65
61
  DateTimeField.defaultProps = {
66
62
  disabled: false,
@@ -68,7 +64,9 @@ DateTimeField.defaultProps = {
68
64
  className: '',
69
65
  displayFormat: 'DD.MM.YYYY' + DATE_TIME_SEPARATOR + 'HH:mm',
70
66
  valueFormat: 'YYYY-MM-DD' + DATE_TIME_SEPARATOR + 'HH:mm',
71
- useUTC: true,
72
- dateInUTC: false
67
+ useUTC: false,
68
+ dateInUTC: false,
69
+ size: 'md',
70
+ icon: true
73
71
  };
74
72
  exports["default"] = (0, fieldWrapper_1["default"])('DateTimeField', DateTimeField);
@@ -4,9 +4,14 @@ import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateFiel
4
4
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../form/Field/fieldWrapper';
5
5
  /**
6
6
  * DateTimeRangeField
7
- * Поле ввода дипазона двух дат со временем, с выпадающим календарём
7
+ *
8
+ * Поле ввода дипазона двух дат со временем, с выпадающим календарём.
9
+ *
10
+ * Компонент `DateTimeRangeField` предоставляет возможность создания поля ввода для выбора диапазона двух дат с временем
11
+ * с помощью выпадающих списков и календаря.
12
+ * Он объединяет функциональность компонента `DateRangeField` для выбора диапазона дат и компонента `DateTimeField` для выбора времени.
8
13
  */
9
- export interface IDateTimeRangeFieldProps extends Omit<IDateInputStateInput, 'inputProps' | 'input'>, Omit<IFieldWrapperInputProps, 'attribute'> {
14
+ export interface IDateTimeRangeFieldProps extends Omit<IDateInputStateInput, 'inputProps' | 'input'>, Omit<IFieldWrapperInputProps, 'attribute'>, IUiComponent {
10
15
  /**
11
16
  * Аттрибут (название) поля в форме
12
17
  * @example 'fromTime'
@@ -22,20 +27,6 @@ export interface IDateTimeRangeFieldProps extends Omit<IDateInputStateInput, 'in
22
27
  * @example {dayPickerProps: {showWeekNumbers: true}}
23
28
  */
24
29
  pickerProps?: any;
25
- /**
26
- * Дополнительный CSS-класс
27
- */
28
- className?: CssClassName;
29
- /**
30
- * Переопределение view React компонента для кастомизации отображения
31
- * @example MyCustomView
32
- */
33
- view?: CustomView;
34
- /**
35
- * Объект CSS стилей
36
- * @example {width: '45%'}
37
- */
38
- style?: any;
39
30
  /**
40
31
  * Свойства для поля 'from'
41
32
  */
@@ -52,11 +43,6 @@ export interface IDateTimeRangeFieldProps extends Omit<IDateInputStateInput, 'in
52
43
  * Свойства для компонента Calendar
53
44
  */
54
45
  calendarProps?: ICalendarProps;
55
- /**
56
- * Отключить border вокруг элемента
57
- * @example 'true'
58
- */
59
- noBorder?: boolean;
60
46
  [key: string]: any;
61
47
  }
62
48
  export interface IDateTimeRangeFieldViewProps extends IDateInputStateOutput, Omit<IFieldWrapperOutputProps, 'input'>, Pick<IDateRangeFieldProps, 'size' | 'icon' | 'errors' | 'showRemove' | 'calendarProps' | 'className' | 'disabled' | 'noBorder' | 'style'> {
@@ -42,6 +42,8 @@ function DateTimeRangeField(props) {
42
42
  placeholder: props.placeholder,
43
43
  required: props.required,
44
44
  inputProps: props.inputPropsFrom,
45
+ useUTC: props.useUTC,
46
+ dateInUTC: props.dateInUTC,
45
47
  onChange: onChange
46
48
  }), isOpenedFrom = _a.isOpened, onCloseFrom = _a.onClose, inputPropsFrom = _a.inputProps, onClearFrom = _a.onClear, onNow = _a.onNow;
47
49
  // Input 'to'
@@ -53,18 +55,24 @@ function DateTimeRangeField(props) {
53
55
  placeholder: props.placeholder,
54
56
  required: props.required,
55
57
  inputProps: props.inputPropsTo,
58
+ useUTC: props.useUTC,
59
+ dateInUTC: props.dateInUTC,
56
60
  onChange: onChange
57
61
  }), isOpenedTo = _b.isOpened, onCloseTo = _b.onClose, inputPropsTo = _b.inputProps, onClearTo = _b.onClear;
58
62
  var _c = (0, useDateTime_1["default"])({
59
63
  displayFormat: props.displayFormat,
60
64
  valueFormat: props.valueFormat,
61
65
  dateTimeSeparator: DATE_TIME_SEPARATOR,
66
+ useUTC: props.useUTC,
67
+ dateInUTC: props.dateInUTC,
62
68
  input: props.inputFrom
63
69
  }), dateValueFormat = _c.dateValueFormat, dateValueFrom = _c.dateValue, timeValueFrom = _c.timeValue, onDateFromSelect = _c.onDateSelect, onTimeFromSelect = _c.onTimeSelect;
64
70
  var _d = (0, useDateTime_1["default"])({
65
71
  displayFormat: props.displayFormat,
66
72
  valueFormat: props.valueFormat,
67
73
  dateTimeSeparator: DATE_TIME_SEPARATOR,
74
+ useUTC: props.useUTC,
75
+ dateInUTC: props.dateInUTC,
68
76
  input: props.inputTo
69
77
  }), dateValueTo = _d.dateValue, timeValueTo = _d.timeValue, onDateToSelect = _d.onDateSelect, onTimeToSelect = _d.onTimeSelect;
70
78
  var _e = (0, useDateRange_1["default"])({
@@ -76,7 +84,9 @@ function DateTimeRangeField(props) {
76
84
  inputPropsTo: inputPropsTo,
77
85
  inputFrom: props.inputFrom,
78
86
  inputTo: props.inputTo,
79
- useSmartFocus: false
87
+ useSmartFocus: false,
88
+ displayFormat: props.displayFormat,
89
+ valueFormat: props.valueFormat
80
90
  }), focus = _e.focus, onClose = _e.onClose, onClear = _e.onClear, extendedInputPropsFrom = _e.extendedInputPropsFrom, extendedInputPropsTo = _e.extendedInputPropsTo;
81
91
  // Calendar props
82
92
  var calendarProps = (0, react_1.useMemo)(function () { return (__assign({ value: [dateValueFrom, dateValueTo], onChange: focus === 'from' ? onDateFromSelect : onDateToSelect, valueFormat: dateValueFormat }, props.calendarProps)); }, [dateValueFormat, dateValueFrom, dateValueTo, focus, onDateFromSelect, onDateToSelect, props.calendarProps]);
@@ -91,7 +101,7 @@ function DateTimeRangeField(props) {
91
101
  timeValueFrom,
92
102
  timeValueTo,
93
103
  ]);
94
- return components.ui.renderView(props.view || 'form.DateTimeRangeFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, calendarProps: calendarProps, timePanelViewProps: timePanelViewProps, icon: props.icon, size: props.size, errorsTo: props.errorsTo, className: props.className, showRemove: props.showRemove, errorsFrom: props.errorsFrom, inputPropsTo: extendedInputPropsTo, inputPropsFrom: extendedInputPropsFrom, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo, disabled: props.disabled, noBorder: props.noBorder }));
104
+ return components.ui.renderView(props.view || 'form.DateTimeRangeFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, calendarProps: calendarProps, timePanelViewProps: timePanelViewProps, icon: props.icon, size: props.size, errorsTo: props.errorsTo, className: props.className, showRemove: props.showRemove, errorsFrom: props.errorsFrom, inputPropsTo: extendedInputPropsTo, inputPropsFrom: extendedInputPropsFrom, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo, disabled: props.disabled, noBorder: props.noBorder, style: props.style }));
95
105
  }
96
106
  DateTimeRangeField.defaultProps = {
97
107
  disabled: false,
@@ -100,6 +110,9 @@ DateTimeRangeField.defaultProps = {
100
110
  displayFormat: 'DD.MM.YYYY' + DATE_TIME_SEPARATOR + 'HH:mm',
101
111
  valueFormat: 'YYYY-MM-DD' + DATE_TIME_SEPARATOR + 'HH:mm',
102
112
  showRemove: true,
103
- icon: true
113
+ useUTC: false,
114
+ dateInUTC: false,
115
+ icon: true,
116
+ size: 'md'
104
117
  };
105
118
  exports["default"] = (0, fieldWrapper_1["default"])('DateTimeRangeField', DateTimeRangeField, { attributeSuffixes: ['from', 'to'] });
@@ -1,33 +1,80 @@
1
- import { IDataProviderConfig } from '../../../hooks/useDataProvider';
1
+ import React from 'react';
2
+ import { IAccordionItemViewProps } from '../../../ui/content/Accordion/Accordion';
3
+ import { DataProviderItems, IDataProviderConfig } from '../../../hooks/useDataProvider';
2
4
  import { IDataSelectConfig } from '../../../hooks/useDataSelect';
3
5
  import { IFieldWrapperInputProps } from '../../form/Field/fieldWrapper';
6
+ export declare const GROUP_CONTENT_TYPE = "group";
7
+ export declare const CHECKBOX_CONTENT_TYPE = "checkbox";
8
+ export declare const RADIO_CONTENT_TYPE = "radio";
9
+ export declare const ICON_CONTENT_TYPE = "icon";
10
+ export declare const IMG_CONTENT_TYPE = "img";
11
+ export type ContentType = 'checkbox' | 'radio' | 'icon' | 'img';
12
+ export type ItemSwitchType = ContentType | 'group' | string;
13
+ export interface IDropDownFieldItem {
14
+ /**
15
+ * Идентификатор элемента
16
+ */
17
+ id: number | string | boolean;
18
+ /**
19
+ * Отображаемое название
20
+ */
21
+ label: string;
22
+ /**
23
+ * Тип контента для элемента
24
+ * @example 'img'
25
+ */
26
+ contentType?: ContentType | string;
27
+ /**
28
+ * Источник контента
29
+ * @example 'https://steroids.kozhindev.com/images/icon.png'
30
+ */
31
+ contentSrc?: string | React.ReactElement;
32
+ }
33
+ export interface IDropDownFieldItemViewProps extends IAccordionItemViewProps, Pick<IDropDownFieldProps, 'itemsContent'> {
34
+ item: IDropDownFieldItem;
35
+ size: Size;
36
+ type: ItemSwitchType;
37
+ selectedIds: (PrimaryKey | any)[];
38
+ groupAttribute: 'string';
39
+ primaryKey: PrimaryKey;
40
+ hoveredId: string;
41
+ onItemSelect: (id: PrimaryKey | any) => void;
42
+ onItemHover: (id: PrimaryKey | any) => void;
43
+ isItemToSelectAll: boolean;
44
+ isSelectedAll: boolean;
45
+ [key: string]: any;
46
+ }
4
47
  /**
5
48
  * DropDownField
6
- * Выпадающий список для выбора одного или нескольких значений
7
- */
8
- export interface IDropDownFieldProps extends IFieldWrapperInputProps, IDataProviderConfig, Omit<IDataSelectConfig, 'items'> {
49
+ *
50
+ * Выпадающий список для выбора одного или нескольких значений.
51
+ *
52
+ * Компонент `DropDownField` предоставляет возможность создания выпадающего списка для выбора одного или нескольких значений.
53
+ * Он поддерживает различные типы контента для элементов списка, такие как флажки, радиокнопки, иконки и изображения.
54
+ *
55
+ **/
56
+ export interface IDropDownFieldProps extends IFieldWrapperInputProps, Omit<IDataProviderConfig, 'items'>, Omit<IDataSelectConfig, 'items'>, IUiComponent {
9
57
  /**
10
58
  * Placeholder подсказка
11
59
  * @example Your text...
12
60
  */
13
61
  searchPlaceholder?: string;
14
- inputProps?: any;
15
62
  /**
16
- * Дополнительный CSS-класс
63
+ * Цвет состояния
64
+ * @example success
17
65
  */
18
- className?: CssClassName;
66
+ color?: ColorName;
19
67
  /**
20
- * Объект CSS стилей
21
- * @example {width: '45%'}
22
- */
23
- style?: any;
68
+ * Включает стиль `outline`, когда у DropDownField остается только `border`, а задний фон становится прозрачным
69
+ * @example true
70
+ */
71
+ outline?: boolean;
24
72
  /**
25
- * Переопределение view React компонента для кастомизации отображения
26
- * @example MyCustomView
73
+ * Параметры для элемента input
27
74
  */
28
- view?: any;
75
+ inputProps?: any;
29
76
  /**
30
- * Показать кнопку для сброса выбранного значения
77
+ * Показать иконку сброса для выбранных значений
31
78
  * @example true
32
79
  */
33
80
  showReset?: boolean;
@@ -38,15 +85,35 @@ export interface IDropDownFieldProps extends IFieldWrapperInputProps, IDataProvi
38
85
  */
39
86
  groupAttribute?: string;
40
87
  /**
41
- * Включает стиль без 'border'
88
+ * Свойство, которое устанавливает один type и src контента для всех пунктов
89
+ * @example {type: 'icon', src: 'user'}
90
+ */
91
+ itemsContent?: {
92
+ type: ContentType | string;
93
+ src?: string | React.ReactElement;
94
+ };
95
+ /**
96
+ * Элементы вложенные внутрь DropDownField
97
+ * @example [{id: 1, label: 'Ivan Ivanov', type: 'icon', typeSrc: 'user'}]
98
+ */
99
+ items?: IDropDownFieldItem[] | DataProviderItems;
100
+ /**
101
+ * Нужно ли использовать троеточие при переполнении DropDownField
42
102
  * @example true
43
103
  */
44
- noBorder?: boolean;
104
+ showEllipses?: boolean;
105
+ /**
106
+ * Добавляет кнопку при нажатии на которую выбираются все элементы, работает только при multiple: true
107
+ * @example {label: 'All', id: 'all'}
108
+ */
109
+ itemToSelectAll?: boolean | {
110
+ label: string;
111
+ id: string;
112
+ };
45
113
  [key: string]: any;
46
114
  }
47
- export interface IDropDownFieldViewProps extends Omit<IDropDownFieldProps, 'items'> {
115
+ export interface IDropDownFieldViewProps extends IDropDownFieldProps {
48
116
  errors?: string[];
49
- items: Record<string, unknown>[];
50
117
  selectedItems: Record<string, unknown>[];
51
118
  hoveredId: PrimaryKey | any;
52
119
  selectedIds: (PrimaryKey | any)[];
@@ -63,13 +130,17 @@ export interface IDropDownFieldViewProps extends Omit<IDropDownFieldProps, 'item
63
130
  isOpened?: boolean;
64
131
  isLoading?: boolean;
65
132
  onReset: () => void;
66
- onItemSelect: (id: PrimaryKey | any) => void;
67
- onItemHover: (id: PrimaryKey | any) => void;
133
+ onOpen: () => void;
134
+ renderItem: (item: IDropDownFieldItem) => JSX.Element;
68
135
  onItemRemove: (id: PrimaryKey | any) => void;
69
- onClose: () => void;
70
- placeholder: string;
71
136
  isAutoComplete?: boolean;
72
137
  isSearchAutoFocus?: boolean;
138
+ primaryKey: string;
139
+ items: IDropDownFieldItem[];
140
+ itemToSelectAll: null | {
141
+ label: string;
142
+ id: string;
143
+ };
73
144
  }
74
145
  declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDropDownFieldProps>;
75
146
  export default _default;
@@ -10,31 +10,99 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
+ if (ar || !(i in from)) {
39
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
+ ar[i] = from[i];
41
+ }
42
+ }
43
+ return to.concat(ar || Array.prototype.slice.call(from));
44
+ };
13
45
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
46
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
47
  };
16
48
  exports.__esModule = true;
17
- var react_1 = require("react");
49
+ exports.IMG_CONTENT_TYPE = exports.ICON_CONTENT_TYPE = exports.RADIO_CONTENT_TYPE = exports.CHECKBOX_CONTENT_TYPE = exports.GROUP_CONTENT_TYPE = void 0;
50
+ var react_1 = __importStar(require("react"));
18
51
  var react_use_1 = require("react-use");
19
52
  var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
53
+ var includes_1 = __importDefault(require("lodash-es/includes"));
54
+ var isPlainObject_1 = __importDefault(require("lodash-es/isPlainObject"));
20
55
  var hooks_1 = require("../../../hooks");
21
56
  var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
57
+ exports.GROUP_CONTENT_TYPE = 'group';
58
+ exports.CHECKBOX_CONTENT_TYPE = 'checkbox';
59
+ exports.RADIO_CONTENT_TYPE = 'radio';
60
+ exports.ICON_CONTENT_TYPE = 'icon';
61
+ exports.IMG_CONTENT_TYPE = 'img';
62
+ var normalizeItemToSelectAll = function (itemToSelectAll) {
63
+ if (!itemToSelectAll) {
64
+ return null;
65
+ }
66
+ if (typeof itemToSelectAll !== 'boolean' && (0, isPlainObject_1["default"])(itemToSelectAll)) {
67
+ return itemToSelectAll;
68
+ }
69
+ return {
70
+ id: 'all',
71
+ label: __('Все')
72
+ };
73
+ };
22
74
  function DropDownField(props) {
23
75
  var components = (0, hooks_1.useComponents)();
24
76
  // Query state
25
77
  var _a = (0, react_1.useState)(''), query = _a[0], setQuery = _a[1];
78
+ var hasGroup = !!props.groupAttribute;
79
+ var _b = react_1["default"].useState([]), selectedAccordionItems = _b[0], setSelectedAccordionItems = _b[1];
80
+ var normalizedItemToSelectAll = react_1["default"].useMemo(function () { return normalizeItemToSelectAll(props.itemToSelectAll); }, [props.itemToSelectAll]);
81
+ var toggleCollapse = function (indexSelected) {
82
+ if (selectedAccordionItems.includes(indexSelected)) {
83
+ var newState = __spreadArray([], selectedAccordionItems, true);
84
+ var indexInArray = selectedAccordionItems.indexOf(indexSelected);
85
+ newState.splice(indexInArray, 1);
86
+ setSelectedAccordionItems(newState);
87
+ }
88
+ else {
89
+ var newState = __spreadArray([], selectedAccordionItems, true);
90
+ newState.push(indexSelected);
91
+ setSelectedAccordionItems(newState);
92
+ }
93
+ };
26
94
  var inputSelectedIds = (0, react_1.useMemo)(function () { return props.selectedIds || [].concat(props.input.value || []); }, [props.input.value, props.selectedIds]);
27
95
  // Data provider
28
- var _b = (0, hooks_1.useDataProvider)({
96
+ var _c = (0, hooks_1.useDataProvider)({
29
97
  items: props.items,
30
98
  dataProvider: props.dataProvider,
31
99
  autoComplete: props.autoComplete,
32
100
  autoFetch: props.autoFetch,
33
101
  query: query,
34
102
  initialSelectedIds: inputSelectedIds
35
- }), items = _b.items, isLoading = _b.isLoading, isAutoComplete = _b.isAutoComplete, sourceItems = _b.sourceItems;
103
+ }), items = _c.items, isLoading = _c.isLoading, isAutoComplete = _c.isAutoComplete, sourceItems = _c.sourceItems;
36
104
  // Data select
37
- var _c = (0, hooks_1.useDataSelect)({
105
+ var _d = (0, hooks_1.useDataSelect)({
38
106
  multiple: props.multiple,
39
107
  selectFirst: props.selectFirst,
40
108
  selectedIds: inputSelectedIds,
@@ -43,7 +111,7 @@ function DropDownField(props) {
43
111
  items: items,
44
112
  sourceItems: sourceItems,
45
113
  inputValue: props.input.value
46
- }), isOpened = _c.isOpened, setIsOpened = _c.setIsOpened, setIsFocused = _c.setIsFocused, hoveredId = _c.hoveredId, setHoveredId = _c.setHoveredId, selectedIds = _c.selectedIds, setSelectedIds = _c.setSelectedIds, selectedItems = _c.selectedItems;
114
+ }), isOpened = _d.isOpened, setIsOpened = _d.setIsOpened, setIsFocused = _d.setIsFocused, hoveredId = _d.hoveredId, setHoveredId = _d.setHoveredId, selectedIds = _d.selectedIds, setSelectedIds = _d.setSelectedIds, selectedItems = _d.selectedItems, setSelectedAll = _d.setSelectedAll, isSelectedAll = _d.isSelectedAll;
47
115
  var onOpen = (0, react_1.useCallback)(function () {
48
116
  setQuery('');
49
117
  setIsFocused(true);
@@ -54,8 +122,12 @@ function DropDownField(props) {
54
122
  setHoveredId(id);
55
123
  }, [setHoveredId]);
56
124
  var onItemSelect = (0, react_1.useCallback)(function (id) {
125
+ if (id === (normalizedItemToSelectAll === null || normalizedItemToSelectAll === void 0 ? void 0 : normalizedItemToSelectAll.id)) {
126
+ setSelectedAll();
127
+ return;
128
+ }
57
129
  setSelectedIds(id);
58
- }, [setSelectedIds]);
130
+ }, [normalizedItemToSelectAll, setSelectedAll, setSelectedIds]);
59
131
  var onItemRemove = (0, react_1.useCallback)(function (id) {
60
132
  setSelectedIds(selectedIds.filter(function (i) { return i !== id; }));
61
133
  }, [selectedIds, setSelectedIds]);
@@ -98,19 +170,52 @@ function DropDownField(props) {
98
170
  onReset();
99
171
  }
100
172
  }, [onReset, prevInputValue, props.input.value, selectedIds.length]);
173
+ var renderItemView = function (item, type, src) { return components.ui.renderView('form.DropDownFieldItemView', {
174
+ item: __assign(__assign({}, item), { contentSrc: src, contentType: type }),
175
+ selectedIds: selectedIds,
176
+ size: props.size,
177
+ groupAttribute: props.groupAttribute,
178
+ hoveredId: hoveredId,
179
+ primaryKey: props.primaryKey,
180
+ type: type,
181
+ itemsContent: props.itemsContent,
182
+ onItemHover: onItemHover,
183
+ onItemSelect: onItemSelect,
184
+ isShowMore: (0, includes_1["default"])(selectedAccordionItems || [], item.id),
185
+ childIndex: item.id,
186
+ toggleCollapse: toggleCollapse,
187
+ isItemToSelectAll: item.id === (normalizedItemToSelectAll === null || normalizedItemToSelectAll === void 0 ? void 0 : normalizedItemToSelectAll.id),
188
+ isSelectedAll: isSelectedAll
189
+ }); };
190
+ var renderItem = function (item) {
191
+ if (hasGroup && Array.isArray(item[props.groupAttribute])) {
192
+ return renderItemView(item, 'group', item[props.groupAttribute]);
193
+ }
194
+ if (item.contentType) {
195
+ return renderItemView(item, item.contentType, item.contentSrc);
196
+ }
197
+ if (props.itemsContent) {
198
+ return renderItemView(item, props.itemsContent.type, props.itemsContent.src);
199
+ }
200
+ return renderItemView(item, 'default', null);
201
+ };
101
202
  return components.ui.renderView(props.view || 'form.DropDownFieldView', __assign(__assign({}, props), { isAutoComplete: isAutoComplete, items: items, hoveredId: hoveredId, selectedIds: selectedIds, forwardedRef: forwardedRef, searchInputProps: searchInputProps, isOpened: isOpened, isLoading: isLoading, onOpen: onOpen, selectedItems: selectedItems,
102
203
  // TODO onFocus
103
204
  // TODO onBlur
104
- onItemHover: onItemHover, onItemSelect: onItemSelect, onItemRemove: onItemRemove, onReset: onReset, onClose: onClose }));
205
+ onReset: onReset, onClose: onClose, renderItem: renderItem, onItemRemove: onItemRemove, hasGroup: hasGroup, itemToSelectAll: normalizedItemToSelectAll }));
105
206
  }
106
207
  DropDownField.defaultProps = {
107
208
  primaryKey: 'id',
209
+ outline: false,
210
+ size: 'md',
211
+ color: 'basic',
108
212
  disabled: false,
109
213
  required: false,
110
214
  className: '',
111
215
  autoComplete: false,
112
216
  showReset: false,
113
217
  multiple: false,
114
- isSearchAutoFocus: true
218
+ isSearchAutoFocus: true,
219
+ itemToSelectAll: false
115
220
  };
116
221
  exports["default"] = (0, fieldWrapper_1["default"])('DropDownField', DropDownField);
@@ -3,8 +3,9 @@ import { IFieldWrapperInputProps } from './fieldWrapper';
3
3
  import { Model } from '../../../components/MetaComponent';
4
4
  /**
5
5
  * Field
6
- * Компонент, который рендерит соответствующее поле, исходя из переданной модели и названия аттрибута.
7
- * По дефолту будет отрендерен InputField.
6
+ *
7
+ * Компонент, который рендерит соответствующее поле, исходя из переданной модели и названия атрибута.
8
+ * По умолчанию будет отрендерен InputField.
8
9
  * Также можно не использовать модель, а передавать компонент поля напрямую через пропсы.
9
10
  */
10
11
  export interface IFieldProps extends IFieldWrapperInputProps {