@steroidsjs/core 3.0.0-beta.99 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/actions/notifications.js +7 -1
  2. package/actions/router.js +16 -2
  3. package/components/HttpComponent.d.ts +7 -7
  4. package/components/JwtHttpComponent.d.ts +2 -2
  5. package/components/LocaleComponent.d.ts +6 -6
  6. package/components/MetaComponent.d.ts +90 -1
  7. package/components/MetricsComponent.js +2 -1
  8. package/components/ResourceComponent.d.ts +4 -4
  9. package/components/UiComponent.d.ts +7 -7
  10. package/components/WebSocketComponent.d.ts +11 -11
  11. package/docs-autogen-result.json +15160 -6374
  12. package/en.json +151 -92
  13. package/hooks/index.d.ts +4 -3
  14. package/hooks/index.js +7 -5
  15. package/hooks/useAbsolutePositioning.js +0 -1
  16. package/hooks/useAddressBar.js +0 -1
  17. package/hooks/useApplication.js +8 -1
  18. package/hooks/useDataProvider.d.ts +17 -2
  19. package/hooks/useDataSelect.js +21 -4
  20. package/hooks/useFetch.js +6 -1
  21. package/hooks/useFile.d.ts +1 -0
  22. package/hooks/useFile.js +2 -0
  23. package/hooks/useList.d.ts +53 -14
  24. package/hooks/useList.js +31 -70
  25. package/hooks/useTree.d.ts +104 -0
  26. package/hooks/useTree.js +169 -0
  27. package/index.d.ts +3 -3
  28. package/package.json +94 -93
  29. package/reducers/router.d.ts +2 -1
  30. package/ui/content/Accordion/Accordion.d.ts +8 -5
  31. package/ui/content/Accordion/Accordion.js +6 -1
  32. package/ui/content/Accordion/AccordionItem.d.ts +2 -2
  33. package/ui/content/Accordion/AccordionItem.js +1 -12
  34. package/ui/content/Alert/Alert.d.ts +5 -2
  35. package/ui/content/Alert/Alert.js +13 -12
  36. package/ui/content/Avatar/Avatar.js +18 -12
  37. package/ui/content/Badge/Badge.d.ts +5 -1
  38. package/ui/content/Badge/Badge.js +14 -12
  39. package/ui/content/Calendar/Calendar.d.ts +6 -1
  40. package/ui/content/Calendar/Calendar.js +19 -12
  41. package/ui/content/CalendarSystem/CalendarSystem.d.ts +40 -18
  42. package/ui/content/CalendarSystem/CalendarSystem.js +65 -76
  43. package/ui/content/CalendarSystem/hooks/useCalendarControls.d.ts +1 -2
  44. package/ui/content/CalendarSystem/hooks/useCalendarControls.js +14 -17
  45. package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +11 -3
  46. package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.js +2 -2
  47. package/ui/content/CalendarSystem/hooks/useCalendarType.d.ts +5 -0
  48. package/ui/content/CalendarSystem/hooks/useCalendarType.js +22 -0
  49. package/ui/content/CalendarSystem/hooks/useEventsFromDate.d.ts +5 -0
  50. package/ui/content/CalendarSystem/hooks/useEventsFromDate.js +49 -0
  51. package/ui/content/CalendarSystem/hooks/{useMonthCalendar.d.ts → useMonthGrid.d.ts} +4 -5
  52. package/ui/content/CalendarSystem/hooks/{useMonthCalendar.js → useMonthGrid.js} +24 -15
  53. package/ui/content/CalendarSystem/hooks/{useWeekCalendar.d.ts → useWeekGrid.d.ts} +6 -5
  54. package/ui/content/CalendarSystem/hooks/useWeekGrid.js +72 -0
  55. package/ui/content/CalendarSystem/utils/utils.d.ts +8 -0
  56. package/ui/content/CalendarSystem/utils/utils.js +27 -1
  57. package/ui/content/Card/Card.d.ts +33 -27
  58. package/ui/content/Card/Card.js +1 -12
  59. package/ui/content/Chart/Chart.d.ts +38 -8
  60. package/ui/content/Chart/Chart.js +16 -12
  61. package/ui/content/Chat/Chat.d.ts +90 -5
  62. package/ui/content/Chat/Chat.js +40 -14
  63. package/ui/content/Chat/constants/timeTemplatesAndUnits.d.ts +1 -0
  64. package/ui/content/Chat/constants/timeTemplatesAndUnits.js +2 -1
  65. package/ui/content/Chat/hooks/useChat.d.ts +5 -6
  66. package/ui/content/Chat/hooks/useChat.js +49 -3
  67. package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.d.ts +5 -0
  68. package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.js +61 -0
  69. package/ui/content/Chat/utils/getMessagesGroupedByDate.d.ts +1 -0
  70. package/ui/content/Chat/utils/getMessagesGroupedByDate.js +3 -2
  71. package/ui/content/Chat/utils/index.d.ts +4 -2
  72. package/ui/content/Chat/utils/index.js +6 -1
  73. package/ui/content/Chat/utils/isTodayMessage.d.ts +1 -0
  74. package/ui/content/Chat/utils/isTodayMessage.js +13 -0
  75. package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +3 -3
  76. package/ui/content/CopyToClipboard/CopyToClipboard.js +10 -12
  77. package/ui/content/Dashboard/Dashboard.d.ts +5 -2
  78. package/ui/content/Dashboard/Dashboard.js +27 -3
  79. package/ui/content/Detail/Detail.d.ts +15 -2
  80. package/ui/content/Detail/Detail.js +12 -1
  81. package/ui/content/DropDown/DropDown.d.ts +1 -1
  82. package/ui/content/DropDown/DropDown.js +16 -4
  83. package/ui/content/Icon/Icon.js +13 -15
  84. package/ui/content/Kanban/Kanban.d.ts +15 -4
  85. package/ui/content/Kanban/Kanban.js +8 -12
  86. package/ui/content/Kanban/hooks/useKanban.d.ts +33 -26
  87. package/ui/content/Menu/Menu.js +10 -12
  88. package/ui/content/Slider/Slider.js +1 -12
  89. package/ui/crud/index.d.ts +3 -0
  90. package/ui/form/AutoCompleteField/AutoCompleteField.js +1 -1
  91. package/ui/form/Button/Button.js +8 -2
  92. package/ui/form/CheckboxField/CheckboxField.d.ts +1 -0
  93. package/ui/form/CheckboxField/CheckboxField.js +2 -2
  94. package/ui/form/CheckboxListField/CheckboxListField.d.ts +18 -2
  95. package/ui/form/CheckboxListField/CheckboxListField.js +1 -1
  96. package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +67 -0
  97. package/ui/form/CheckboxTreeField/CheckboxTreeField.js +126 -0
  98. package/ui/form/CheckboxTreeField/index.d.ts +2 -0
  99. package/ui/form/CheckboxTreeField/index.js +7 -0
  100. package/ui/form/DateField/DateField.d.ts +4 -3
  101. package/ui/form/DateField/DateField.js +6 -2
  102. package/ui/form/DateField/useDateRange.d.ts +1 -0
  103. package/ui/form/DateField/useDateRange.js +13 -2
  104. package/ui/form/DateRangeField/DateRangeField.d.ts +34 -1
  105. package/ui/form/DateRangeField/DateRangeField.js +59 -8
  106. package/ui/form/DateTimeField/DateTimeField.d.ts +10 -0
  107. package/ui/form/DateTimeField/DateTimeField.js +11 -3
  108. package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +25 -1
  109. package/ui/form/DateTimeRangeField/DateTimeRangeField.js +66 -13
  110. package/ui/form/DropDownField/DropDownField.d.ts +23 -3
  111. package/ui/form/DropDownField/DropDownField.js +1 -1
  112. package/ui/form/EmailField/EmailField.d.ts +6 -0
  113. package/ui/form/EmailField/EmailField.js +0 -4
  114. package/ui/form/Field/Field.d.ts +9 -1
  115. package/ui/form/Field/Field.js +1 -1
  116. package/ui/form/Field/fieldWrapper.d.ts +9 -1
  117. package/ui/form/FieldList/FieldList.d.ts +13 -7
  118. package/ui/form/FieldList/FieldList.js +30 -4
  119. package/ui/form/FileField/FileField.js +5 -0
  120. package/ui/form/Form/Form.d.ts +26 -3
  121. package/ui/form/Form/Form.js +5 -3
  122. package/ui/form/ImageField/ImageField.d.ts +9 -1
  123. package/ui/form/InputField/InputField.d.ts +5 -2
  124. package/ui/form/InputField/hooks/useInputFieldWarningByType.js +1 -0
  125. package/ui/form/NumberField/NumberField.js +34 -7
  126. package/ui/form/SliderField/SliderField.d.ts +10 -2
  127. package/ui/form/TimeRangeField/TimeRangeField.d.ts +10 -1
  128. package/ui/form/TimeRangeField/TimeRangeField.js +3 -1
  129. package/ui/form/WizardForm/WizardForm.d.ts +119 -0
  130. package/ui/form/WizardForm/WizardForm.js +167 -0
  131. package/ui/form/WizardForm/index.d.ts +2 -0
  132. package/ui/form/WizardForm/index.js +7 -0
  133. package/ui/form/WizardForm/utils.d.ts +12 -0
  134. package/ui/form/WizardForm/utils.js +111 -0
  135. package/ui/form/index.d.ts +3 -1
  136. package/ui/form/index.js +4 -1
  137. package/ui/layout/ProgressBar/ProgressBar.js +12 -2
  138. package/ui/layout/Skeleton/Skeleton.d.ts +3 -1
  139. package/ui/layout/Tooltip/Tooltip.d.ts +4 -1
  140. package/ui/list/ControlsColumn/ControlsColumn.d.ts +17 -3
  141. package/ui/list/FlexGrid/FlexGrid.d.ts +11 -1
  142. package/ui/list/Grid/Grid.d.ts +42 -6
  143. package/ui/list/Grid/Grid.js +1 -2
  144. package/ui/list/LayoutNames/LayoutNames.d.ts +11 -1
  145. package/ui/list/Steps/Steps.d.ts +19 -7
  146. package/ui/list/Steps/Steps.js +46 -26
  147. package/ui/list/TreeTable/TreeTable.d.ts +34 -33
  148. package/ui/list/TreeTable/TreeTable.js +19 -8
  149. package/ui/modal/Modal/Modal.d.ts +7 -1
  150. package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +11 -1
  151. package/ui/nav/ButtonGroup/ButtonGroup.d.ts +13 -4
  152. package/ui/nav/Controls/Controls.d.ts +7 -1
  153. package/ui/nav/Link/Link.d.ts +1 -1
  154. package/ui/nav/Nav/Nav.d.ts +19 -4
  155. package/ui/nav/Router/Router.d.ts +19 -3
  156. package/ui/nav/Router/Router.js +11 -6
  157. package/ui/nav/Router/helpers.d.ts +2 -2
  158. package/ui/nav/Router/helpers.js +39 -7
  159. package/ui/nav/Tree/Tree.d.ts +32 -62
  160. package/ui/nav/Tree/Tree.js +18 -165
  161. package/utils/calculateComponentAbsolutePosition.js +74 -24
  162. package/utils/calendar.d.ts +8 -0
  163. package/utils/calendar.js +76 -1
  164. package/utils/data.js +1 -0
  165. package/utils/form.d.ts +1 -0
  166. package/utils/form.js +16 -1
  167. package/ui/content/CalendarSystem/hooks/useWeekCalendar.js +0 -86
  168. package/utils/list.d.ts +0 -1
  169. package/utils/list.js +0 -5
package/en.json CHANGED
@@ -819,100 +819,159 @@
819
819
  "Компонент для представления данных коллекции в виде иерархической структуры.": "A component for representing collection data in the form of a hierarchical structure.",
820
820
  "Уникальный идентификатор,\nиспользуется для сохранения состояния открыта или закрыта ячейка": "Unique identifier \nused to save the open or closed state of a cell",
821
821
  "Включает обработку вложенных данных из items": "Enables the processing of nested data from items",
822
- "Callback вызываемый при нажатии на смену года или месяца в шапке Calendar": "",
823
- "Пользовательский цвет для чекбокса": "",
824
- "Кастомный домен": "",
825
- "Куки для режима ssr": "",
826
- "Ключ для хранения токена в куках": "",
827
- "Url для http запросов": "",
822
+ "Callback вызываемый при нажатии на смену года или месяца в шапке Calendar": "Callback called when changing the year or month in the Calendar header",
823
+ "Пользовательский цвет для чекбокса": "Custom color for checkbox",
824
+ "Кастомный домен": "Custom domain",
825
+ "Куки для режима ssr": "Cookies for SSR mode",
826
+ "Ключ для хранения токена в куках": "Key for storing the token in cookies",
827
+ "Url для http запросов": "URL for HTTP requests",
828
+ "Срок хранения токена в хранилийе в днях": "Token storage duration in days",
829
+ "Имя хранилища для токена (local, session, или cookie)": "Token storage name (local, session, or cookie)",
830
+ "Ключ токена авторизации для локального хранилища": "Authorization token key for local storage",
831
+ "Запрос на обновление токена авторизации": "Authorization token refresh request",
832
+ "Хендлер для авторизации": "Authorization handler",
833
+ "Функция, которая вызывается на закрытие соединения": "Function called on connection closure",
834
+ "Функция, которая вызывается на отправку сообщения": "Function called on message sending",
835
+ "Функция, которая вызывается на открытие соединения": "Function called on connection opening",
836
+ "Массив streams": "Array of streams",
837
+ "url для websocket": "WebSocket URL",
838
+ "Колонки канбан доски": "Kanban board columns",
839
+ "Идентификатор канбан доски": "Kanban board identifier",
840
+ "Обработчик события окончания перетаскивания карточки или колонки": "Drag-and-drop card or column end event handler",
841
+ "Метод для добавления css-класса к элементу": "Method for adding a CSS class to an element",
842
+ "Утилита для создания css-классов по БЭМ": "Utility for creating CSS classes according to BEM",
843
+ "Метод для соединения нескольких classNames": "Method for combining multiple classNames",
844
+ "Метод для удаления css-класса у элемента": "Method for removing a CSS class from an element",
845
+ "Метод, который вызывается после запроса": "Method called after a request",
846
+ "Вызов метода delete": "Method call to delete",
847
+ "Вызов метода get": "Method call to get",
848
+ "Получение токена": "Token retrieval",
849
+ "Получение конфига для axios": "Get config for axios",
850
+ "Получение экземпляра axios": "Get axios instance",
851
+ "Получение url по методу": "Get URL by method",
852
+ "Метод, который можно вызвать при login": "Method callable on login",
853
+ "Метод, который можно вызвать при logout": "Method callable on logout",
854
+ "Вызов метода post": "Method call to post",
855
+ "Удаление токена": "Token deletion",
856
+ "Сбросить конфиг": "Reset configuration",
857
+ "Вызов http-метода": "HTTP method call",
858
+ "Изменение токена": "Token change",
859
+ "Изменение csrf токена": "CSRF token change",
860
+ "Получить модель": "Get model",
861
+ "Получить тип": "Get type",
862
+ "Форматирование модели модели": "Model formatting",
863
+ "Форматирование названия модели": "Model name formatting",
864
+ "Изменить модель": "Change model",
865
+ "Изменить тип": "Change type",
866
+ "Закрытие websocket соединения": "Close WebSocket connection",
867
+ "Открытие websocket соединения": "Open WebSocket connection",
868
+ "Подписка на streams": "Subscribe to streams",
869
+ "Подписка на stream": "Subscribe to a stream",
870
+ "Отписка от streams": "Unsubscribe from streams",
871
+ "Отписка от stream": "Unsubscribe from a stream",
872
+ "Отменить прослушивание метрик": "Cancel metric listening",
873
+ "Отписаться от метрик": "Unsubscribe from metrics",
874
+ "Провайдеры": "Providers",
875
+ "Редьюсеры": "Reducers",
876
+ "Хранилище": "Store",
877
+ "Вариация HttpComponent с функционалом обновления токена авторизации": "HttpComponent variation with authorization token refresh functionality",
878
+ "Компонент для локализации приложения. Поддерживает конфигурацию языка и временной зоны": "Component for application localization. Supports language and time zone configuration",
879
+ "Компонент для добавления метрик в приложение (например яндекс метрики)": "Component for adding metrics to the application (e.g., Yandex.Metrics)",
880
+ "Поменять счетчики": "Change counters",
881
+ "Инициализация компонента": "Component initialization",
882
+ "Старт": "Start",
883
+ "Добавление редьюсеров": "Add reducers",
884
+ "Конфигурация": "Configuration",
885
+ "Метод для dispatch": "Method for dispatch",
886
+ "Метод, который вызывается при ошибке": "Method called on error",
887
+ "Получение состояния": "Get state",
888
+ "Инициализация": "Initialization",
889
+ "Инициализация хранилища": "Storage initialization",
890
+ "Подписка": "Subscription",
891
+ "Компонент для создания websocket взаимодействия": "Component for creating WebSocket interaction",
892
+ "Получить значение из хранилища.": "Get value from storage",
893
+ "Удалить значение из хранилища.": "Remove value from storage",
894
+ "Установить значение в хранилище.": "Set value in storage",
895
+ "Включает обработку вложенных данных из items вида [{id: 1, name: 'John', items: [...]}]": "Enables processing of nested data from items like [{id: 1, name: 'John', items: [...]}]",
896
+ "\nКомпонент `FileField` представляет собой поле формы для загрузки файлов.\nОн использует хук `useFile` для управления состоянием файлов и выполнения операций с файлами, таких как выбор и удаление.\nКомпонент поддерживает различные варианты отображения файлов (список или стена) с помощью перечисления `FilesLayout`.\nНа backendUrl по дефолту файл отправляется в теле запроса в виде бинарного кода.\nЧтобы отправлять файл в виде form-data (например в таком виде принимает файл FileModule в библиотеке steroidsjs/nest),\nнужно передать в `FileField` пропс uploaderConfig, в котором нужно указать поле useFormData: true.\n": "The `FileField` component represents a form field for uploading files.\nIt uses the `useFile` hook to manage the state of files and perform file operations such as selection and deletion.\nThe component supports various file display options (list or wall) using the `FilesLayout` enum.\nBy default, files are sent as binary data in the request body to the backend URL.\nTo send a file as form-data (e.g., as accepted by the FileModule in the steroidsjs/nest library),\nyou need to pass the `uploaderConfig` prop to `FileField` and specify the `useFormData: true` field.\n",
897
+ "Массив исполнителей, которых можно назначить для выполнения задачи": "Array of performers that can be assigned to a task",
898
+ "Общий контекст обертка из библиотеки react-beautiful-dnd": "Common context wrapper from the react-beautiful-dnd library",
899
+ "Компонент обертка для регистрации элемента который можно переместить из библиотеки react-beautiful-dnd": "Wrapper component for registering a draggable item from the react-beautiful-dnd library",
900
+ "Компонент обертка для инициализации области куда можно переместить элемент из библиотеки react-beautiful-dnd": "Wrapper component for initializing the area where an item can be moved from the react-beautiful-dnd library",
901
+ "Идентификатор последней созданной задачи, нужен для определения последовательности id для новых задач": "Identifier of the last created task, needed to determine the sequence of IDs for new tasks",
902
+ "Обработчик события создания карточки": "Card creation event handler",
903
+ "Обработчик события окончания перетаскивания карточки или колонки\nВ result передается объект с информацией о событии": "Event handler for ending card or column dragging\nThe `result` parameter contains an object with event information",
904
+ "Обработчик события редактирования карточки": "Card editing event handler",
905
+ "Массив тегов для задач": "Array of tags for tasks",
906
+ "\nКомпонент в котором можно расположить различные элементы, например графики, таблицы на доске\n": "\nA component in which various elements can be placed, such as graphics, tables on a board\n",
907
+ "Заголовок для элемента": "Title for the element",
908
+ "Кастомная вьюшка для элемента": "Custom view for the element",
909
+ "Элементы дашборда": "Dashboard elements",
910
+ "Свойства для модального окна": "Properties for a modal window",
911
+ "Параметры для групп событий": "Event group parameters",
912
+ "Свойства для модального окна группы событий": "Properties for a modal window of event groups",
913
+ "Функция, которая вызовется при смене типа календаря": "Function called when the calendar type changes",
914
+ "Внутреннее описание события": "Internal event description",
915
+ "Идентификатор": "Identifier",
916
+ "События группы": "Event group",
917
+ "Название группы": "Group name",
918
+ "Идентификатор чата": "Chat identifier",
919
+ "Данные о текущем пользователе, нужны для отправки сообщений и определения сообщений пользователя": "Data about the current user, needed for sending messages and determining user messages",
920
+ "Коллекция сообщений": "Message collection",
921
+ "Event sending event handler": "Event sending event handler",
922
+ "\nКомплексный компонент календарь служит для планирования событий и их отображения в календаре.\n\nКомпонент умеет отображать события с помощью недельной сетки с шагом в 1 час,\nа также переключать отображение на сетку по месяцам с шагом 1 день.\nПрисутствует возможность добавлять в календарь события и создавать новые группы событий.\n\n": "The complex `Calendar` component is used for event planning and display in a calendar.\nThe component can display events using a weekly grid with a 1-hour interval\nand can switch to a monthly grid with a 1-day interval.\nIt also allows adding events to the calendar and creating new event groups.",
923
+ "Этот компонент позволяет создавать в проекте графики разных типов, используя библиотеки nivo, react-vis и другие.\n Под капотом для графиков могут использоваться различные библиотеки в зависимости от предпочтений и потребностей проекта.\n Для работы с nivo графиками, необходимо установить в проекте зависимости @nivo/core и соответствующий пакет графика, например @nivo/line.\n Компонент графика, независимо от выбранной библиотеки, нужно передать в пропс chartComponent.": "This component allows creating various types of charts in the project using libraries like nivo, react-vis, and others.\nDifferent chart libraries can be used under the hood depending on project preferences and needs. To work with nivo charts, you need to install dependencies like @nivo/core and the appropriate chart package, e.g., @nivo/line. Regardless of the chosen library, you need to pass the `chartComponent` prop for the chart component.",
924
+ "\nКомплексный компонент `Chat` предназначен для коммуникации пользователей с помощью текстовых сообщений.\n": "The complex `Chat` component is designed for user communication through text messages.\n",
925
+ "\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n": "The `Kanban` component allows creating a board for task management. The number of columns is set using the `columns` prop.\nTasks on the board can be created, edited, and moved with visual representation.\nTo use this component, you need to install the `react-beautiful-dnd` dependencies in the project\nand pass the `Droppable`, `Draggable`, and `DragDropContext` components as `droppableComponent`, `draggableComponent`, and `dndContext` props, respectively.",
926
+ "\nПоле ввода почты. Этот компонент представляет собой поле ввода почты.\n\n": "Email input field. This component represents an email input field.",
927
+ "\nСоздает список из сгруппированных полей формы.\n": "Creates a list of grouped form fields.",
928
+ "\nКомпонент `Skeleton` представляет собой заглушку для отображения временных данных\nво время загрузки или ожидания загрузки реальных данных.\n": "The `Skeleton` component serves as a placeholder for displaying temporary data during loading or while waiting for real data.",
929
+ "\nКомпонент `ControlsColumn` предоставляет колонку с контролами.\n": "The `ControlsColumn` component provides a column with controls.",
930
+ "\nКомпонент для представления данных коллекции в виде иерархической структуры.\n": "A component for presenting collection data in the form of a hierarchical structure.",
931
+ "\nС помощью компонента `Link` вы можете легко настраивать цветовую схему элементов ссылок.\n": "With the `Link` component, you can easily customize the color scheme of link elements.",
932
+ "\nКомпонент навигации позволяет переключаться между группами связанного контента.\n\n": "The navigation component allows switching between groups of related content.",
933
+ "Кнопки\nМогут служить в качестве настраиваемых контроллов для создания функционала": "Buttons\nCan serve as customizable controls to create functionality",
934
+ "Фиксированная высота обертки в пикселях": "Fixed wrapper height in pixels",
935
+ "Чекбоксы\nМогут служить в качестве настраиваемых контроллов для создания функционала": "Checkboxes\nCan serve as customizable controls to create functionality",
936
+ "Заголовок графика": "Chart title",
828
937
  "Срок хранения токена в хранилище в днях": "",
829
- "Имя хранилища для токена (local, session, или cookie)": "",
830
- "Ключ токена авторизации для локального хранилища": "",
831
- "Запрос на обновление токена авторизации": "",
832
- "Хендлер для авторизации": "",
833
- "Функция, которая вызывается на закрытие соединения": "",
834
- "Функция, которая вызывается на отправку сообщения": "",
835
- "Функция, которая вызывается на открытие соединения": "",
836
- "Массив streams": "",
837
- "url для websocket": "",
838
- "Колонки канбан доски": "",
839
- "Идентификатор канбан доски": "",
840
- "Обработчик события окончания перетаскивания карточки или колонки": "",
841
- "Метод для добавления css-класса к элементу": "",
842
- "Утилита для создания css-классов по БЭМ": "",
843
- "Метод для соединения нескольких classNames": "",
844
- "Метод для удаления css-класса у элемента": "",
845
- "Метод, который вызывается после запроса": "",
846
- "Вызов метода delete": "",
847
- "Вызов метода get": "",
848
- "Получение токена": "",
849
- "Получение конфига для axios": "",
850
- "Получение экземпляра axios": "",
851
- "Получение url по методу": "",
938
+ "Свойства для модалного окна группы событий": "",
939
+ "Внутреннее описания события": "",
940
+ "Кнопки\nМогут служить в качестве настаиваемых контроллов для создания функционала": "",
941
+ "Чекбоксы\nМогут служить в качестве настаиваемых контроллов для создания функционала": "",
942
+ "Иконка, которая отобразится слева от заголовка": "",
852
943
  "Метод, который можно вызвать при login": "",
853
944
  "Метод, который можно вызвать при logout": "",
854
- "Вызов метода post": "",
855
- "Удаление токена": "",
856
- "Сбросить конфиг": "",
857
- "Вызов http-метода": "",
858
- "Изменение токена": "",
859
- "Изменение csrf токена": "",
860
- "Получить модель": "",
861
- "Получить тип": "",
862
- "Форматирование модели модели": "",
863
- "Форматирование названия модели": "",
864
- "Изменить модель": "",
865
- "Изменить тип": "",
866
- "Закрытие websocket соединения": "",
867
- "Открытие websocket соединения": "",
868
- "Подписка на streams": "",
869
- "Подписка на stream": "",
870
- "Отписка от streams": "",
871
- "Отписка от stream": "",
872
- "Отменить прослушивание метрик": "",
873
- "Отписаться от метрик": "",
874
- "Провайдеры": "",
875
- "Редьюсеры": "",
876
- "Хранилище": "",
877
- "Вариация HttpComponent с функционалом обновления токена авторизации": "",
878
- "Компонент для локализации приложения. Поддерживает конфигурацию языка и временной зоны": "",
879
- "Компонент для добавления метрик в приложение (например яндекс метрики)": "",
880
- "Поменять счетчики": "",
881
- "Инициализация компонента": "",
882
- "Старт": "",
883
- "Добавление редьюсеров": "",
884
- "Конфигурация": "",
885
- "Метод для dispatch": "",
886
- "Метод, который вызывается при ошибке": "",
887
945
  "Получение состояние": "",
888
- "Инициализация": "",
889
- "Инициализация хранилища": "",
890
- "Подписка": "",
891
- "Компонент для создания websocket взаимодействия": "",
892
- "Получить значение из хранилища.": "",
893
- "Удалить значение из хранилища.": "",
894
- "Установить значение в хранилище.": "",
895
- "Включает обработку вложенных данных из items вида [{id: 1, name: 'John', items: [...]}]": "",
896
- "\nКомпонент `FileField` представляет собой поле формы для загрузки файлов.\nОн использует хук `useFile` для управления состоянием файлов и выполнения операций с файлами, таких как выбор и удаление.\nКомпонент поддерживает различные варианты отображения файлов (список или стена) с помощью перечисления `FilesLayout`.\nНа backendUrl по дефолту файл отправляется в теле запроса в виде бинарного кода.\nЧтобы отправлять файл в виде form-data (например в таком виде принимает файл FileModule в библиотеке steroidsjs/nest),\nнужно передать в `FileField` пропс uploaderConfig, в котором нужно указать поле useFormData: true.\n": "",
897
- "Массив исполнителей, которых можно назначить для выполнения задачи": "",
898
- "Общий контекст обертка из библиотеки react-beautiful-dnd": "",
899
- "Компонент обертка для регистрации элемента который можно переместить из библиотеки react-beautiful-dnd": "",
900
- "Компонент обертка для инициализации области куда можно переместить элемент из библиотеки react-beautiful-dnd": "",
901
- "Идентификатор последней созданной задачи, нужен для определения последовательности id для новых задач": "",
902
- "Обработчик события создания карточки": "",
903
- "Обработчик события окончания перетаскивания карточки или колонки\nВ result передается объект с информацией о событии": "",
904
- "Обработчик события редактирования карточки": "",
905
- "Массив тегов для задач": "",
906
- "\nКомпонент в котором можно расположить различные элементы, например графики, таблицы на доске\n": "",
907
- "Заголовок для элемента": "",
908
- "Кастомная вьюшка для элемента": "",
909
- "Элементы дашборда": "",
910
- "Свойства для модального окна": "",
911
- "Параметры для групп событий": "",
912
- "Свойства для модалного окна группы событий": "",
913
- "Функция, которая вызовется при смене типа календаря": "",
914
- "Внутреннее описания события": "",
915
- "Идентификатор": "",
916
- "События группы": "",
917
- "Название группы": ""
946
+ "\nСписок с вложенными чекбоксами. Используется в формах для создания иерархической структуры и выбора нескольких значений.\n": "",
947
+ "\nСоздает список из сгруппированных полей формы.\nДля загрузки файлов с помощью `FileField` внутри строк `FieldList`, нужно использовать форму с флагом `useRedux`.\n": "",
948
+ " Текущая страница, используется для корректного отображения пагинации": "",
949
+ " Количество элементов на странице, используется для корректного отображения пагинации": "",
950
+ " Параметры роутинга": "",
951
+ "Расстояние вложенных элементов от родителя для каждого уровня": "",
952
+ "Первичный ключ для доступа к вложенным элементам": "",
953
+ "Устанавливать ли фокус и показывать календарь сразу после рендера страницы": "",
954
+ "Заголовок для колонки таблицы": "",
955
+ "Будет ли отображён item?": "",
956
+ "Устанавливать ли фокус и показывать панель времени сразу после рендера страницы": "",
957
+ "Флаг, определяющий раскрывать вложенные элементы по клику на весь элемент или только на иконку": "",
958
+ "\nКомпонент для создания пошаговой формы. Предоставляет управление и синхронизацию состояния формы,\nа также список шагов формы для удобной навигации.\nПоля для шагов можно передавать как в виде компонентов, так и в виде объекта с названием поля.\nПозволяет выполнять отправку данных формы на сервер с возможностью валидации и перехода к неверно заполненным полям.\n\n": "",
959
+ "При повторном нажатии на выбранный элемент из дерева, он продолжит отображаться как активный.": "",
960
+ "Дополнительные свойства, которые передаются во view компонента": "",
961
+ "Пропсы для инпута загрузки файлов": "",
962
+ "Переопределение view React компонента для кастомизации отображения элемента инпута": "",
963
+ "Кастомный placeholder для инпута": "",
964
+ "Если true, то location.pathname будет совпадать с теми путями, которые содержат слеш в конце.\nНапример, если указать путь '/catalog/', тогда совпадение будет с '/catalog/' и '/catalog/chapter', но не '/catalog'.": "",
965
+ "Кастомная иконка, заменяющая иконку раскрытия по умолчанию": "",
966
+ "Опции маски для полей": "",
967
+ "Дополнительные кнопки": "",
968
+ "Свойства для Form": "",
969
+ "Свойства для кнопки продолжить/отправить": "",
970
+ "Свойства для кнопки возврата": "",
971
+ "Показывать ли шаги": "",
972
+ "Ориентация списка шагов формы": "",
973
+ "Коллекция полей и аттрибутов для каждого шага формы. Можно передавать как компонент, так и объект с полями.\nГлавное, чтобы внутри шага использовался один из способов.": "",
974
+ "Свойства для Steps": "",
975
+ "Флаг, который позволяет использовать вложенные роуты c указанием вложенного пути": "",
976
+ "Скрыть иконку c лева от элемента": ""
918
977
  }
package/hooks/index.d.ts CHANGED
@@ -18,9 +18,10 @@ import useSelector from './useSelector';
18
18
  import useSsr from './useSsr';
19
19
  import useUniqueId from './useUniqueId';
20
20
  import useTheme from './useTheme';
21
- import useMonthCalendar from '../ui/content/CalendarSystem/hooks/useMonthCalendar';
22
- import useWeekCalendar from '../ui/content/CalendarSystem/hooks/useWeekCalendar';
21
+ import useTree from './useTree';
22
+ import useMonthGrid from '../ui/content/CalendarSystem/hooks/useMonthGrid';
23
+ import useWeekGrid from '../ui/content/CalendarSystem/hooks/useWeekGrid';
23
24
  import useDisplayDate from '../ui/content/CalendarSystem/hooks/useDisplayDate';
24
25
  import useCalendarControls from '../ui/content/CalendarSystem/hooks/useCalendarControls';
25
26
  import useSaveCursorPosition from './useSaveCursorPosition';
26
- export { useAbsolutePositioning, useAddressBar, useApplication, useBem, useComponents, useDataProvider, useDataSelect, useDispatch, useFetch, useFile, useForm, useInitial, useLayout, useList, useModel, useScreen, useSelector, useSsr, useUniqueId, useTheme, useMonthCalendar, useWeekCalendar, useDisplayDate, useCalendarControls, useSaveCursorPosition, };
27
+ export { useAbsolutePositioning, useAddressBar, useApplication, useBem, useComponents, useDataProvider, useDataSelect, useDispatch, useFetch, useFile, useForm, useInitial, useLayout, useList, useModel, useScreen, useSelector, useSsr, useUniqueId, useTheme, useTree, useMonthGrid, useWeekGrid, useDisplayDate, useCalendarControls, useSaveCursorPosition, };
package/hooks/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  exports.__esModule = true;
6
- exports.useSaveCursorPosition = exports.useCalendarControls = exports.useDisplayDate = exports.useWeekCalendar = exports.useMonthCalendar = exports.useTheme = exports.useUniqueId = exports.useSsr = exports.useSelector = exports.useScreen = exports.useModel = exports.useList = exports.useLayout = exports.useInitial = exports.useForm = exports.useFile = exports.useFetch = exports.useDispatch = exports.useDataSelect = exports.useDataProvider = exports.useComponents = exports.useBem = exports.useApplication = exports.useAddressBar = exports.useAbsolutePositioning = void 0;
6
+ exports.useSaveCursorPosition = exports.useCalendarControls = exports.useDisplayDate = exports.useWeekGrid = exports.useMonthGrid = exports.useTree = exports.useTheme = exports.useUniqueId = exports.useSsr = exports.useSelector = exports.useScreen = exports.useModel = exports.useList = exports.useLayout = exports.useInitial = exports.useForm = exports.useFile = exports.useFetch = exports.useDispatch = exports.useDataSelect = exports.useDataProvider = exports.useComponents = exports.useBem = exports.useApplication = exports.useAddressBar = exports.useAbsolutePositioning = void 0;
7
7
  var useAbsolutePositioning_1 = __importDefault(require("./useAbsolutePositioning"));
8
8
  exports.useAbsolutePositioning = useAbsolutePositioning_1["default"];
9
9
  var useAddressBar_1 = __importDefault(require("./useAddressBar"));
@@ -44,10 +44,12 @@ var useUniqueId_1 = __importDefault(require("./useUniqueId"));
44
44
  exports.useUniqueId = useUniqueId_1["default"];
45
45
  var useTheme_1 = __importDefault(require("./useTheme"));
46
46
  exports.useTheme = useTheme_1["default"];
47
- var useMonthCalendar_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useMonthCalendar"));
48
- exports.useMonthCalendar = useMonthCalendar_1["default"];
49
- var useWeekCalendar_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useWeekCalendar"));
50
- exports.useWeekCalendar = useWeekCalendar_1["default"];
47
+ var useTree_1 = __importDefault(require("./useTree"));
48
+ exports.useTree = useTree_1["default"];
49
+ var useMonthGrid_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useMonthGrid"));
50
+ exports.useMonthGrid = useMonthGrid_1["default"];
51
+ var useWeekGrid_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useWeekGrid"));
52
+ exports.useWeekGrid = useWeekGrid_1["default"];
51
53
  var useDisplayDate_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useDisplayDate"));
52
54
  exports.useDisplayDate = useDisplayDate_1["default"];
53
55
  var useCalendarControls_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useCalendarControls"));
@@ -62,7 +62,6 @@ function useAbsolutePositioning(props) {
62
62
  if (timerRef.current) {
63
63
  clearTimeout(timerRef.current);
64
64
  }
65
- // TODO add time value to props
66
65
  timerRef.current = setTimeout(function () { return setIsComponentExist(false); }, props.componentDestroyDelay);
67
66
  }, [props.componentDestroyDelay]);
68
67
  // Trigger on visible
@@ -97,7 +97,6 @@ var queryReplace = function (model, location, values, useHash) {
97
97
  });
98
98
  var query = query_string_1["default"].stringify(result);
99
99
  if (useHash) {
100
- // TODO May be window.location?
101
100
  query = '#' + query;
102
101
  if (location.hash !== query) {
103
102
  location.hash = query;
@@ -98,6 +98,7 @@ exports.defaultComponents = {
98
98
  }
99
99
  };
100
100
  function useApplication(config) {
101
+ var _a;
101
102
  if (config === void 0) { config = {}; }
102
103
  var useGlobal = config.useGlobal !== false;
103
104
  //Extending dayjs / day.js with modules that used in steroids
@@ -134,6 +135,9 @@ function useApplication(config) {
134
135
  if (config.onInit) {
135
136
  config.onInit(components);
136
137
  }
138
+ if ((_a = components === null || components === void 0 ? void 0 : components.locale) === null || _a === void 0 ? void 0 : _a.language) {
139
+ dayjs_1["default"].locale(components.locale.language);
140
+ }
137
141
  }
138
142
  // Application wrapper
139
143
  var renderApplication = (0, react_1.useCallback)(function (children) {
@@ -154,6 +158,9 @@ function useApplication(config) {
154
158
  }
155
159
  return (React.createElement(react_redux_1.Provider, { store: components.store.store }, content));
156
160
  }, [components, config, useGlobal]);
157
- return { renderApplication: renderApplication, components: components };
161
+ return {
162
+ renderApplication: renderApplication,
163
+ components: components
164
+ };
158
165
  }
159
166
  exports["default"] = useApplication;
@@ -52,7 +52,17 @@ export interface IDataProvider {
52
52
  export interface IDataProviderConfig {
53
53
  /**
54
54
  * Коллекция элементов
55
- * @example [{id: 1, label: 'Krasnoyarsk'}, {id: 2, label: 'Moscow'}]
55
+ * @example
56
+ * [
57
+ * {
58
+ * id: 1,
59
+ * label: 'Krasnoyarsk'
60
+ * },
61
+ * {
62
+ * id: 2,
63
+ * label: 'Moscow'
64
+ * }
65
+ * ]
56
66
  */
57
67
  items?: DataProviderItems;
58
68
  /**
@@ -67,7 +77,12 @@ export interface IDataProviderConfig {
67
77
  query?: string;
68
78
  /**
69
79
  * Настройки поиска
70
- * @example {enable: true, minLength: 2, delay: 100}
80
+ * @example
81
+ * {
82
+ * enable: true,
83
+ * minLength: 2,
84
+ * delay: 100
85
+ * }
71
86
  */
72
87
  autoComplete?: boolean | IAutoCompleteConfig;
73
88
  /**
@@ -16,6 +16,9 @@ exports.getFlattenedItems = void 0;
16
16
  var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
17
17
  var isArray_1 = __importDefault(require("lodash-es/isArray"));
18
18
  var isNil_1 = __importDefault(require("lodash-es/isNil"));
19
+ var difference_1 = __importDefault(require("lodash-es/difference"));
20
+ var intersection_1 = __importDefault(require("lodash-es/intersection"));
21
+ var pullAll_1 = __importDefault(require("lodash-es/pullAll"));
19
22
  var react_1 = require("react");
20
23
  var react_use_1 = require("react-use");
21
24
  var defaultProps = {
@@ -77,11 +80,25 @@ function useDataSelect(config) {
77
80
  if (!config.multiple && ids.length > 1) {
78
81
  ids = [ids[0]];
79
82
  }
80
- if (selectedItems.length === ids.length) {
81
- setSelectedIds([]);
83
+ // If all elements of selectedIds are equal to ids, remove all elements
84
+ if ((0, isEqual_1["default"])(selectedIds, ids)) {
85
+ setSelectedIdsInternal([]);
86
+ return;
87
+ }
88
+ // Check if all elements from ids are contained in selectedIds
89
+ var intersection = (0, intersection_1["default"])(selectedIds, ids);
90
+ // If all elements are contained, remove them from sourceArray
91
+ if ((0, isEqual_1["default"])(intersection, ids)) {
92
+ var prevSelectedIds = __spreadArray([], selectedIds, true);
93
+ (0, pullAll_1["default"])(prevSelectedIds, ids);
94
+ setSelectedIdsInternal((prevSelectedIds || []).sort());
82
95
  return;
83
96
  }
84
- setSelectedIdsInternal(ids.sort());
97
+ // If not all elements are contained, add new ids
98
+ if (!(0, isEqual_1["default"])(intersection, ids)) {
99
+ var difference = (0, difference_1["default"])(ids, selectedIds);
100
+ setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds, true), difference, true).sort());
101
+ }
85
102
  }
86
103
  else {
87
104
  var id_1 = ids;
@@ -108,7 +125,7 @@ function useDataSelect(config) {
108
125
  setIsOpened(false);
109
126
  }
110
127
  }
111
- }, [config.multiple, selectedIds, selectedItems.length]);
128
+ }, [config.multiple, selectedIds]);
112
129
  var setSelectedAll = (0, react_1.useCallback)(function () {
113
130
  var itemsIds = flattenedItems.map(function (item) { return item.id; });
114
131
  setSelectedIds(itemsIds);
package/hooks/useFetch.js CHANGED
@@ -160,6 +160,11 @@ function useFetch(rawConfig) {
160
160
  (0, react_use_1.useUpdateEffect)(function () {
161
161
  fetch();
162
162
  }, [fetch]);
163
- return { data: data, isLoading: isLoading, fetch: fetch, axiosError: axiosError };
163
+ return {
164
+ data: data,
165
+ isLoading: isLoading,
166
+ fetch: fetch,
167
+ axiosError: axiosError
168
+ };
164
169
  }
165
170
  exports["default"] = useFetch;
@@ -48,4 +48,5 @@ export interface IFileOutput {
48
48
  onRemove?: any;
49
49
  onAdd?: any;
50
50
  }
51
+ export declare function generateBackendUrl(props: any): any;
51
52
  export default function useFile(props: IFileInput): IFileOutput;
package/hooks/useFile.js CHANGED
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  exports.__esModule = true;
17
+ exports.generateBackendUrl = void 0;
17
18
  var react_1 = require("react");
18
19
  var react_use_1 = require("react-use");
19
20
  var fileup_core_1 = __importDefault(require("fileup-core"));
@@ -42,6 +43,7 @@ function generateBackendUrl(props) {
42
43
  imagesExactSize: props.imagesExactSize
43
44
  });
44
45
  }
46
+ exports.generateBackendUrl = generateBackendUrl;
45
47
  function useFile(props) {
46
48
  var http = (0, index_1.useComponents)().http;
47
49
  http.getAccessToken(); // TODO Run promise..
@@ -1,4 +1,3 @@
1
- import { ITreeTableItem } from '../ui/list/TreeTable/TreeTable';
2
1
  import { IAddressBarConfig } from '../hooks/useAddressBar';
3
2
  import { IList } from '../actions/list';
4
3
  import { ILayoutNamesProps } from '../ui/list/LayoutNames/LayoutNames';
@@ -49,27 +48,53 @@ export interface IListConfig {
49
48
  actionMethod?: HttpMethod;
50
49
  /**
51
50
  * Подключение пагинации
52
- * @example {loadMore: true}
51
+ * @example
52
+ * {
53
+ * loadMore: true
54
+ * }
53
55
  */
54
56
  pagination?: boolean | IPaginationProps;
55
57
  /**
56
58
  * Переключение количества элементов в списке
57
- * @example {sizes: [3, 6, 9], defaultValue: 3}
59
+ * @example
60
+ * {
61
+ * sizes: [3, 6, 9],
62
+ * defaultValue: 3
63
+ * }
58
64
  */
59
65
  paginationSize?: boolean | IPaginationSizeProps;
60
66
  /**
61
67
  * Подключение сортировки
62
- * @example {enable: true, defaultSort: 'startDate'}
68
+ * @example
69
+ * {
70
+ * enable: true,
71
+ * defaultSort: 'startDate'
72
+ * }
63
73
  */
64
74
  sort?: boolean | ISortConfig;
65
75
  /**
66
76
  * Варианты расположения элементов коллекции
67
- * @example {items: [{id: 'list', label: 'List'}, {id: 'grid', label: 'Grid'}]}
77
+ * @example
78
+ * {
79
+ * items: [
80
+ * {
81
+ * id: 'list',
82
+ * label: 'List'
83
+ * },
84
+ * {
85
+ * id: 'grid',
86
+ * label: 'Grid'
87
+ * }
88
+ * ]
89
+ * }
68
90
  */
69
91
  layout?: boolean | ILayoutNamesProps;
70
92
  /**
71
93
  * Заглушка в случае отсутствия элементов
72
- * @example {text: 'Записи не найдены'}
94
+ * @example
95
+ * {
96
+ * text: 'Записи не найдены'
97
+ * }
73
98
  */
74
99
  empty?: boolean | string | IEmptyProps;
75
100
  /**
@@ -79,7 +104,15 @@ export interface IListConfig {
79
104
  isLoading?: boolean;
80
105
  /**
81
106
  * Форма для поиска элементов
82
- * @example {fields: ['title'], model: {attributes: ['title:string:Название']}}
107
+ * @example
108
+ * {
109
+ * fields: ['title'],
110
+ * model: {
111
+ * attributes: [
112
+ * 'title:string:Название'
113
+ * ]
114
+ * }
115
+ * }
83
116
  */
84
117
  searchForm?: Omit<IFormProps, 'formId'> & {
85
118
  formId?: string;
@@ -124,7 +157,10 @@ export interface IListConfig {
124
157
  scope?: string[];
125
158
  /**
126
159
  * Дополнительные параметры, значения которых нужно передавать в запросе для получения данных
127
- * @example {tagName: 'MarketReviews'}
160
+ * @example
161
+ * {
162
+ * tagName: 'MarketReviews'
163
+ * }
128
164
  */
129
165
  query?: Record<string, unknown>;
130
166
  /**
@@ -133,7 +169,15 @@ export interface IListConfig {
133
169
  model?: string;
134
170
  /**
135
171
  * Модель для синхронизации значений формы с адресной строкой
136
- * @example {attributes: [{attribute: 'isMilesAvailable', type: boolean}]}
172
+ * @example
173
+ * {
174
+ * attributes: [
175
+ * {
176
+ * attribute: 'isMilesAvailable',
177
+ * type: boolean
178
+ * }
179
+ * ]
180
+ * }
137
181
  */
138
182
  searchModel?: string;
139
183
  /**
@@ -149,10 +193,6 @@ export interface IListConfig {
149
193
  * Количество элементов всего в списке (для отрисовки пагинации), заданное вручную
150
194
  */
151
195
  initialTotal?: number;
152
- /**
153
- * Включает обработку вложенных данных из items
154
- */
155
- hasTreeItems?: boolean;
156
196
  }
157
197
  export interface IListOutput {
158
198
  list: IList;
@@ -211,7 +251,6 @@ export declare const createInitialValues: ({ paginationProps, paginationSizeProp
211
251
  initialQuery: any;
212
252
  configQuery: any;
213
253
  }) => any;
214
- export declare const prepareItemsToTree: (sourceItems: ITreeTableItem[], openedTreeItems: Record<string, boolean>, currentPage: number | null, itemsOnPage: number | null, onTreeItemClick: (uniqueId: string, item: Record<string, any>) => void, parentId?: string, currentLevel?: number) => any[];
215
254
  /**
216
255
  * useList
217
256
  * Добавляет массу возможностей для взаимодействия с коллекциями. Коллекции можно получать как с бекенда,