@webiny/app-admin 6.4.11 → 6.6.0-alpha.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 (1126) hide show
  1. package/base/Admin.d.ts +2 -4
  2. package/base/Admin.js +25 -13
  3. package/base/Admin.js.map +1 -1
  4. package/base/Base/DefaultFieldRenderers.js +41 -2
  5. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  6. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.d.ts +4 -0
  7. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.js +26 -0
  8. package/base/Base/FieldRenderers/ApiKeyTokenRenderer.js.map +1 -0
  9. package/base/Base/FieldRenderers/AutoCompleteRenderer.d.ts +13 -0
  10. package/base/Base/FieldRenderers/AutoCompleteRenderer.js +29 -0
  11. package/base/Base/FieldRenderers/AutoCompleteRenderer.js.map +1 -0
  12. package/base/Base/FieldRenderers/CheckboxesRenderer.js +1 -0
  13. package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -1
  14. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +5 -1
  15. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -1
  16. package/base/Base/FieldRenderers/FilePickerRenderer.js +2 -0
  17. package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -1
  18. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +1 -0
  19. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -1
  20. package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +2 -2
  21. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +2 -1
  22. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -1
  23. package/base/Base/FieldRenderers/InputRenderer.js +2 -0
  24. package/base/Base/FieldRenderers/InputRenderer.js.map +1 -1
  25. package/base/Base/FieldRenderers/LexicalEditorsRenderer.d.ts +14 -0
  26. package/base/Base/FieldRenderers/LexicalEditorsRenderer.js +78 -0
  27. package/base/Base/FieldRenderers/LexicalEditorsRenderer.js.map +1 -0
  28. package/base/Base/FieldRenderers/LexicalRenderer.js +10 -6
  29. package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -1
  30. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.d.ts +13 -0
  31. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js +29 -0
  32. package/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js.map +1 -0
  33. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +8 -5
  34. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -1
  35. package/base/Base/FieldRenderers/MultiSelectRenderer.d.ts +15 -0
  36. package/base/Base/FieldRenderers/MultiSelectRenderer.js +31 -0
  37. package/base/Base/FieldRenderers/MultiSelectRenderer.js.map +1 -0
  38. package/base/Base/FieldRenderers/NumberInputRenderer.js +1 -0
  39. package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -1
  40. package/base/Base/FieldRenderers/NumberInputsRenderer.js +19 -9
  41. package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -1
  42. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +2 -0
  43. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +5 -2
  44. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -1
  45. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +2 -1
  46. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -1
  47. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.d.ts +11 -0
  48. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js +189 -0
  49. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js.map +1 -0
  50. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.d.ts +13 -0
  51. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js +28 -0
  52. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js.map +1 -0
  53. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.d.ts +15 -0
  54. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js +5 -0
  55. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js.map +1 -0
  56. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.d.ts +1 -0
  57. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js +11 -0
  58. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js.map +1 -0
  59. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.d.ts +2 -0
  60. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.js +2 -0
  61. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +2 -1
  62. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +25 -7
  63. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
  64. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +11 -8
  65. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +41 -8
  66. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
  67. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +4 -1
  68. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +31 -4
  69. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  70. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +3 -2
  71. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +55 -10
  72. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
  73. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +1 -1
  74. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -1
  75. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.d.ts +3 -2
  76. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +10 -1
  77. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -1
  78. package/base/Base/FieldRenderers/PasswordInputRenderer.d.ts +12 -0
  79. package/base/Base/FieldRenderers/PasswordInputRenderer.js +22 -0
  80. package/base/Base/FieldRenderers/PasswordInputRenderer.js.map +1 -0
  81. package/base/Base/FieldRenderers/PermissionsRenderer.d.ts +14 -0
  82. package/base/Base/FieldRenderers/PermissionsRenderer.js +18 -0
  83. package/base/Base/FieldRenderers/PermissionsRenderer.js.map +1 -0
  84. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +1 -0
  85. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -1
  86. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.d.ts +12 -0
  87. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.js +21 -0
  88. package/base/Base/FieldRenderers/RolesMultiSelectRenderer.js.map +1 -0
  89. package/base/Base/FieldRenderers/SelectRenderer.d.ts +6 -0
  90. package/base/Base/FieldRenderers/SelectRenderer.js +1 -0
  91. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  92. package/base/Base/FieldRenderers/TagsRenderer.js +1 -0
  93. package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -1
  94. package/base/Base/FieldRenderers/TextInputsRenderer.js +19 -9
  95. package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -1
  96. package/base/Base/FieldRenderers/TextareaRenderer.js +1 -0
  97. package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -1
  98. package/base/Base/FieldRenderers/TextareasRenderer.js +5 -1
  99. package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -1
  100. package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +2 -2
  101. package/base/Base/Menus.js +4 -4
  102. package/base/Base/Menus.js.map +1 -1
  103. package/base/Base.d.ts +3 -1
  104. package/base/Base.js +2 -1
  105. package/base/Base.js.map +1 -1
  106. package/base/createRootContainer.js +14 -5
  107. package/base/createRootContainer.js.map +1 -1
  108. package/base/resolveApiUrl.d.ts +3 -0
  109. package/base/resolveApiUrl.js +18 -0
  110. package/base/resolveApiUrl.js.map +1 -0
  111. package/base/ui/FileManager.d.ts +2 -1
  112. package/components/BulkActions/BulkActionButton.d.ts +6 -0
  113. package/components/BulkActions/BulkActionButton.js +17 -0
  114. package/components/BulkActions/BulkActionButton.js.map +1 -0
  115. package/components/BulkActions/BulkActionRunner.d.ts +41 -0
  116. package/components/BulkActions/BulkActionRunner.js +32 -0
  117. package/components/BulkActions/BulkActionRunner.js.map +1 -0
  118. package/components/BulkActions/Worker.d.ts +9 -57
  119. package/components/BulkActions/Worker.js +5 -9
  120. package/components/BulkActions/Worker.js.map +1 -1
  121. package/components/BulkActions/index.d.ts +3 -0
  122. package/components/BulkActions/index.js +3 -0
  123. package/components/ConfirmationDialog/ConfirmationDialog.d.ts +11 -0
  124. package/components/ConfirmationDialog/ConfirmationDialog.js +41 -0
  125. package/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -0
  126. package/components/ConfirmationDialog/index.d.ts +1 -0
  127. package/components/ConfirmationDialog/index.js +1 -0
  128. package/components/Dialogs/DialogsContext.js +2 -1
  129. package/components/Dialogs/DialogsContext.js.map +1 -1
  130. package/components/Drawers/DrawerParamsContext.d.ts +6 -0
  131. package/components/Drawers/DrawerParamsContext.js +10 -0
  132. package/components/Drawers/DrawerParamsContext.js.map +1 -0
  133. package/components/Drawers/DrawersContext.d.ts +13 -0
  134. package/components/Drawers/DrawersContext.js +50 -0
  135. package/components/Drawers/DrawersContext.js.map +1 -0
  136. package/components/Drawers/useDrawers.d.ts +2 -0
  137. package/components/Drawers/useDrawers.js +10 -0
  138. package/components/Drawers/useDrawers.js.map +1 -0
  139. package/components/Filters/Filters.js +4 -3
  140. package/components/Filters/Filters.js.map +1 -1
  141. package/components/IconPicker/IconPicker.d.ts +7 -5
  142. package/components/IconPicker/IconPickerComponent.d.ts +2 -2
  143. package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
  144. package/components/IconPicker/config/index.d.ts +2 -1
  145. package/components/IconPicker/plugins/customPlugin.js +4 -19
  146. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  147. package/components/LexicalEditor/LexicalLinkForm.js +3 -0
  148. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
  149. package/components/ListView/ListView.d.ts +17 -0
  150. package/components/ListView/ListView.js +36 -0
  151. package/components/ListView/ListView.js.map +1 -0
  152. package/components/ListView/ListViewBottomBar.d.ts +14 -0
  153. package/components/ListView/ListViewBottomBar.js +45 -0
  154. package/components/ListView/ListViewBottomBar.js.map +1 -0
  155. package/components/ListView/ListViewBulkActions.d.ts +11 -0
  156. package/components/ListView/ListViewBulkActions.js +41 -0
  157. package/components/ListView/ListViewBulkActions.js.map +1 -0
  158. package/components/ListView/ListViewContent.d.ts +12 -0
  159. package/components/ListView/ListViewContent.js +25 -0
  160. package/components/ListView/ListViewContent.js.map +1 -0
  161. package/components/ListView/ListViewFilters.d.ts +15 -0
  162. package/components/ListView/ListViewFilters.js +21 -0
  163. package/components/ListView/ListViewFilters.js.map +1 -0
  164. package/components/ListView/ListViewHeader.d.ts +17 -0
  165. package/components/ListView/ListViewHeader.js +72 -0
  166. package/components/ListView/ListViewHeader.js.map +1 -0
  167. package/components/ListView/ListViewSidebar.d.ts +17 -0
  168. package/components/ListView/ListViewSidebar.js +25 -0
  169. package/components/ListView/ListViewSidebar.js.map +1 -0
  170. package/components/ListView/ListViewTable.d.ts +18 -0
  171. package/components/ListView/ListViewTable.js +33 -0
  172. package/components/ListView/ListViewTable.js.map +1 -0
  173. package/components/ListView/context.d.ts +3 -0
  174. package/components/ListView/context.js +11 -0
  175. package/components/ListView/context.js.map +1 -0
  176. package/components/ListView/index.d.ts +24 -0
  177. package/components/ListView/index.js +22 -0
  178. package/components/ListView/index.js.map +1 -0
  179. package/components/ListView/types.d.ts +7 -0
  180. package/components/ListView/types.js +0 -0
  181. package/components/OptionsMenu/OptionsMenuItem.d.ts +1 -0
  182. package/components/OptionsMenu/OptionsMenuItem.js +1 -0
  183. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  184. package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
  185. package/components/Permissions/Permissions.js +2 -1
  186. package/components/Permissions/Permissions.js.map +1 -1
  187. package/components/Permissions/index.d.ts +1 -0
  188. package/components/Permissions/index.js +1 -0
  189. package/components/Permissions/mergeByName.d.ts +11 -0
  190. package/components/Permissions/mergeByName.js +33 -0
  191. package/components/Permissions/mergeByName.js.map +1 -0
  192. package/components/RolesMultiAutocomplete/index.d.ts +5 -1
  193. package/components/RolesMultiAutocomplete/index.js +24 -14
  194. package/components/RolesMultiAutocomplete/index.js.map +1 -1
  195. package/components/SimpleForm/SimpleForm.d.ts +1 -1
  196. package/components/SimpleUI/InputField.d.ts +2 -1
  197. package/components/SingleImageUpload.d.ts +1 -2
  198. package/components/SingleImageUpload.js +1 -2
  199. package/components/SingleImageUpload.js.map +1 -1
  200. package/components/SplitView/SplitView.js +1 -1
  201. package/components/SplitView/SplitView.js.map +1 -1
  202. package/components/Table/cells/CellAuthor.d.ts +2 -0
  203. package/components/Table/cells/CellAuthor.js +10 -0
  204. package/components/Table/cells/CellAuthor.js.map +1 -0
  205. package/components/Table/cells/CellCreated.d.ts +2 -0
  206. package/components/Table/cells/CellCreated.js +13 -0
  207. package/components/Table/cells/CellCreated.js.map +1 -0
  208. package/components/Table/cells/CellModified.d.ts +2 -0
  209. package/components/Table/cells/CellModified.js +13 -0
  210. package/components/Table/cells/CellModified.js.map +1 -0
  211. package/components/Table/cells/index.d.ts +3 -0
  212. package/components/Table/cells/index.js +3 -0
  213. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +9 -0
  214. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +23 -0
  215. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -0
  216. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +9 -0
  217. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +21 -0
  218. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -0
  219. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.d.ts +1 -0
  220. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +128 -0
  221. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -0
  222. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +10 -0
  223. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +30 -0
  224. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -0
  225. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +9 -0
  226. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +18 -0
  227. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -0
  228. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +8 -0
  229. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +16 -0
  230. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -0
  231. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.d.ts +5 -0
  232. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -0
  233. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.d.ts +4 -0
  234. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -0
  235. package/components/Table/components/Table/ColumnVisibility/index.d.ts +7 -0
  236. package/components/Table/components/Table/ColumnVisibility/index.js +5 -0
  237. package/components/Table/components/Table/Columns/Column.d.ts +42 -0
  238. package/components/Table/components/Table/Columns/Column.js +21 -0
  239. package/components/Table/components/Table/Columns/Column.js.map +1 -0
  240. package/components/Table/components/Table/Columns/ColumnMapper.d.ts +7 -0
  241. package/components/Table/components/Table/Columns/ColumnMapper.js +34 -0
  242. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -0
  243. package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +9 -0
  244. package/components/Table/components/Table/Columns/ColumnsPresenter.js +18 -0
  245. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -0
  246. package/components/Table/components/Table/Columns/ColumnsPresenter.test.d.ts +1 -0
  247. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +73 -0
  248. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -0
  249. package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +9 -0
  250. package/components/Table/components/Table/Columns/ColumnsRepository.js +19 -0
  251. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -0
  252. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +9 -0
  253. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +21 -0
  254. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -0
  255. package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +5 -0
  256. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -0
  257. package/components/Table/components/Table/Columns/index.d.ts +6 -0
  258. package/components/Table/components/Table/Columns/index.js +5 -0
  259. package/components/Table/components/Table/Table.d.ts +17 -0
  260. package/components/Table/components/Table/Table.js +47 -0
  261. package/components/Table/components/Table/Table.js.map +1 -0
  262. package/components/Table/components/Table/TableInner.d.ts +24 -0
  263. package/components/Table/components/Table/TableInner.js +40 -0
  264. package/components/Table/components/Table/TableInner.js.map +1 -0
  265. package/components/Table/components/Table/TablePresenter.d.ts +15 -0
  266. package/components/Table/components/Table/TablePresenter.js +15 -0
  267. package/components/Table/components/Table/TablePresenter.js.map +1 -0
  268. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +9 -0
  269. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +15 -0
  270. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -0
  271. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.d.ts +4 -0
  272. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -0
  273. package/components/Table/components/Table/gateways/index.d.ts +2 -0
  274. package/components/Table/components/Table/gateways/index.js +1 -0
  275. package/components/Table/components/Table/index.d.ts +1 -0
  276. package/components/Table/components/Table/index.js +1 -0
  277. package/components/Table/components/index.d.ts +1 -0
  278. package/components/Table/components/index.js +1 -0
  279. package/components/Table/createTableData.d.ts +5 -0
  280. package/components/Table/createTableData.js +9 -0
  281. package/components/Table/createTableData.js.map +1 -0
  282. package/components/Table/index.d.ts +5 -0
  283. package/components/Table/index.js +5 -0
  284. package/components/Table/table.types.d.ts +9 -0
  285. package/components/Table/table.types.js +0 -0
  286. package/components/Table/useTableRow.d.ts +18 -0
  287. package/components/Table/useTableRow.js +22 -0
  288. package/components/Table/useTableRow.js.map +1 -0
  289. package/components/TeamAutocomplete/index.d.ts +5 -1
  290. package/components/TeamAutocomplete/index.js +13 -14
  291. package/components/TeamAutocomplete/index.js.map +1 -1
  292. package/components/TeamsMultiAutocomplete/index.d.ts +5 -1
  293. package/components/TeamsMultiAutocomplete/index.js +24 -14
  294. package/components/TeamsMultiAutocomplete/index.js.map +1 -1
  295. package/components/index.d.ts +3 -3
  296. package/components/index.js +3 -3
  297. package/config/AdminConfig/Breadcrumbs.d.ts +42 -0
  298. package/config/AdminConfig/Breadcrumbs.js +24 -0
  299. package/config/AdminConfig/Breadcrumbs.js.map +1 -0
  300. package/config/AdminConfig/Dashboard.d.ts +2 -1
  301. package/config/AdminConfig/Drawer.d.ts +10 -0
  302. package/config/AdminConfig/Drawer.js +19 -0
  303. package/config/AdminConfig/Drawer.js.map +1 -0
  304. package/config/AdminConfig/Form.d.ts +4 -2
  305. package/config/AdminConfig/LexicalTheme/Typography.d.ts +4 -4
  306. package/config/AdminConfig/LexicalTheme.d.ts +8 -6
  307. package/config/AdminConfig/Logo.d.ts +8 -6
  308. package/config/AdminConfig/Menu/MenuGroup.d.ts +13 -12
  309. package/config/AdminConfig/Menu/MenuItem.d.ts +7 -6
  310. package/config/AdminConfig/Menu/MenuLink.d.ts +7 -6
  311. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +13 -12
  312. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +7 -6
  313. package/config/AdminConfig/Menu/SupportMenu.d.ts +8 -6
  314. package/config/AdminConfig/Menu/UserMenu.d.ts +8 -6
  315. package/config/AdminConfig/Menu.d.ts +15 -12
  316. package/config/AdminConfig/Security.d.ts +2 -1
  317. package/config/AdminConfig/SecurityPermissions.js +2 -1
  318. package/config/AdminConfig/SecurityPermissions.js.map +1 -1
  319. package/config/AdminConfig/Tenant/TenantLogo.d.ts +8 -6
  320. package/config/AdminConfig/Tenant/TenantName.d.ts +8 -6
  321. package/config/AdminConfig/Tenant.d.ts +3 -1
  322. package/config/AdminConfig/Title.d.ts +8 -6
  323. package/config/AdminConfig.d.ts +24 -30
  324. package/config/AdminConfig.js +6 -0
  325. package/config/AdminConfig.js.map +1 -1
  326. package/config/table/Column.d.ts +34 -0
  327. package/config/table/Column.js +69 -0
  328. package/config/table/Column.js.map +1 -0
  329. package/config/table/Sorting.d.ts +11 -0
  330. package/config/table/Sorting.js +28 -0
  331. package/config/table/Sorting.js.map +1 -0
  332. package/config/table/index.d.ts +13 -0
  333. package/config/table/index.js +9 -0
  334. package/config/table/index.js.map +1 -0
  335. package/domain/securityPermissionsSchema.d.ts +20 -0
  336. package/domain/securityPermissionsSchema.js +34 -0
  337. package/domain/securityPermissionsSchema.js.map +1 -0
  338. package/errors/ErrorOverlayNetworkErrorHandler.js +4 -4
  339. package/errors/ErrorOverlayNetworkErrorHandler.js.map +1 -1
  340. package/exports/admin/form.d.ts +2 -0
  341. package/exports/admin/form.js +1 -0
  342. package/exports/admin/ui.d.ts +4 -0
  343. package/exports/admin/ui.js +2 -1
  344. package/exports/admin.d.ts +4 -0
  345. package/exports/admin.js +4 -0
  346. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.d.ts +12 -0
  347. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.js +50 -0
  348. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyGateway.js.map +1 -0
  349. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.d.ts +13 -0
  350. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.js +25 -0
  351. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyRepository.js.map +1 -0
  352. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.d.ts +11 -0
  353. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.js +18 -0
  354. package/features/accessManagement/apiKeys/createApiKey/CreateApiKeyUseCase.js.map +1 -0
  355. package/features/accessManagement/apiKeys/createApiKey/abstractions.d.ts +29 -0
  356. package/features/accessManagement/apiKeys/createApiKey/abstractions.js +7 -0
  357. package/features/accessManagement/apiKeys/createApiKey/abstractions.js.map +1 -0
  358. package/features/accessManagement/apiKeys/createApiKey/feature.d.ts +3 -0
  359. package/features/accessManagement/apiKeys/createApiKey/feature.js +21 -0
  360. package/features/accessManagement/apiKeys/createApiKey/feature.js.map +1 -0
  361. package/features/accessManagement/apiKeys/createApiKey/index.d.ts +3 -0
  362. package/features/accessManagement/apiKeys/createApiKey/index.js +2 -0
  363. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.d.ts +11 -0
  364. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.js +39 -0
  365. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyGateway.js.map +1 -0
  366. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.d.ts +12 -0
  367. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.js +22 -0
  368. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyRepository.js.map +1 -0
  369. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.d.ts +10 -0
  370. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.js +18 -0
  371. package/features/accessManagement/apiKeys/deleteApiKey/DeleteApiKeyUseCase.js.map +1 -0
  372. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.d.ts +21 -0
  373. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.js +7 -0
  374. package/features/accessManagement/apiKeys/deleteApiKey/abstractions.js.map +1 -0
  375. package/features/accessManagement/apiKeys/deleteApiKey/feature.d.ts +3 -0
  376. package/features/accessManagement/apiKeys/deleteApiKey/feature.js +21 -0
  377. package/features/accessManagement/apiKeys/deleteApiKey/feature.js.map +1 -0
  378. package/features/accessManagement/apiKeys/deleteApiKey/index.d.ts +3 -0
  379. package/features/accessManagement/apiKeys/deleteApiKey/index.js +2 -0
  380. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.d.ts +12 -0
  381. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.js +49 -0
  382. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyGateway.js.map +1 -0
  383. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.d.ts +11 -0
  384. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.js +18 -0
  385. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyRepository.js.map +1 -0
  386. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.d.ts +11 -0
  387. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.js +18 -0
  388. package/features/accessManagement/apiKeys/getApiKey/GetApiKeyUseCase.js.map +1 -0
  389. package/features/accessManagement/apiKeys/getApiKey/abstractions.d.ts +22 -0
  390. package/features/accessManagement/apiKeys/getApiKey/abstractions.js +7 -0
  391. package/features/accessManagement/apiKeys/getApiKey/abstractions.js.map +1 -0
  392. package/features/accessManagement/apiKeys/getApiKey/feature.d.ts +3 -0
  393. package/features/accessManagement/apiKeys/getApiKey/feature.js +21 -0
  394. package/features/accessManagement/apiKeys/getApiKey/feature.js.map +1 -0
  395. package/features/accessManagement/apiKeys/getApiKey/index.d.ts +3 -0
  396. package/features/accessManagement/apiKeys/getApiKey/index.js +2 -0
  397. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.d.ts +11 -0
  398. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.js +44 -0
  399. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysGateway.js.map +1 -0
  400. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.d.ts +11 -0
  401. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.js +22 -0
  402. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysRepository.js.map +1 -0
  403. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.d.ts +10 -0
  404. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.js +18 -0
  405. package/features/accessManagement/apiKeys/listApiKeys/ListApiKeysUseCase.js.map +1 -0
  406. package/features/accessManagement/apiKeys/listApiKeys/abstractions.d.ts +30 -0
  407. package/features/accessManagement/apiKeys/listApiKeys/abstractions.js +8 -0
  408. package/features/accessManagement/apiKeys/listApiKeys/abstractions.js.map +1 -0
  409. package/features/accessManagement/apiKeys/listApiKeys/feature.d.ts +3 -0
  410. package/features/accessManagement/apiKeys/listApiKeys/feature.js +23 -0
  411. package/features/accessManagement/apiKeys/listApiKeys/feature.js.map +1 -0
  412. package/features/accessManagement/apiKeys/listApiKeys/index.d.ts +3 -0
  413. package/features/accessManagement/apiKeys/listApiKeys/index.js +2 -0
  414. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.d.ts +12 -0
  415. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.js +51 -0
  416. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyGateway.js.map +1 -0
  417. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.d.ts +13 -0
  418. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.js +23 -0
  419. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyRepository.js.map +1 -0
  420. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.d.ts +11 -0
  421. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.js +18 -0
  422. package/features/accessManagement/apiKeys/updateApiKey/UpdateApiKeyUseCase.js.map +1 -0
  423. package/features/accessManagement/apiKeys/updateApiKey/abstractions.d.ts +28 -0
  424. package/features/accessManagement/apiKeys/updateApiKey/abstractions.js +7 -0
  425. package/features/accessManagement/apiKeys/updateApiKey/abstractions.js.map +1 -0
  426. package/features/accessManagement/apiKeys/updateApiKey/feature.d.ts +3 -0
  427. package/features/accessManagement/apiKeys/updateApiKey/feature.js +21 -0
  428. package/features/accessManagement/apiKeys/updateApiKey/feature.js.map +1 -0
  429. package/features/accessManagement/apiKeys/updateApiKey/index.d.ts +3 -0
  430. package/features/accessManagement/apiKeys/updateApiKey/index.js +2 -0
  431. package/features/accessManagement/constants.d.ts +5 -0
  432. package/features/accessManagement/constants.js +9 -0
  433. package/features/accessManagement/constants.js.map +1 -0
  434. package/features/accessManagement/permissions/abstractions.d.ts +17 -0
  435. package/features/accessManagement/permissions/abstractions.js +6 -0
  436. package/features/accessManagement/permissions/abstractions.js.map +1 -0
  437. package/features/accessManagement/permissions/feature.d.ts +14 -0
  438. package/features/accessManagement/permissions/feature.js +7 -0
  439. package/features/accessManagement/permissions/feature.js.map +1 -0
  440. package/features/accessManagement/roles/createRole/CreateRoleGateway.d.ts +12 -0
  441. package/features/accessManagement/roles/createRole/CreateRoleGateway.js +51 -0
  442. package/features/accessManagement/roles/createRole/CreateRoleGateway.js.map +1 -0
  443. package/features/accessManagement/roles/createRole/CreateRoleRepository.d.ts +13 -0
  444. package/features/accessManagement/roles/createRole/CreateRoleRepository.js +25 -0
  445. package/features/accessManagement/roles/createRole/CreateRoleRepository.js.map +1 -0
  446. package/features/accessManagement/roles/createRole/CreateRoleUseCase.d.ts +11 -0
  447. package/features/accessManagement/roles/createRole/CreateRoleUseCase.js +18 -0
  448. package/features/accessManagement/roles/createRole/CreateRoleUseCase.js.map +1 -0
  449. package/features/accessManagement/roles/createRole/abstractions.d.ts +29 -0
  450. package/features/accessManagement/roles/createRole/abstractions.js +7 -0
  451. package/features/accessManagement/roles/createRole/abstractions.js.map +1 -0
  452. package/features/accessManagement/roles/createRole/feature.d.ts +3 -0
  453. package/features/accessManagement/roles/createRole/feature.js +21 -0
  454. package/features/accessManagement/roles/createRole/feature.js.map +1 -0
  455. package/features/accessManagement/roles/createRole/index.d.ts +3 -0
  456. package/features/accessManagement/roles/createRole/index.js +2 -0
  457. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.d.ts +11 -0
  458. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.js +40 -0
  459. package/features/accessManagement/roles/deleteRole/DeleteRoleGateway.js.map +1 -0
  460. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.d.ts +12 -0
  461. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.js +22 -0
  462. package/features/accessManagement/roles/deleteRole/DeleteRoleRepository.js.map +1 -0
  463. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.d.ts +10 -0
  464. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.js +18 -0
  465. package/features/accessManagement/roles/deleteRole/DeleteRoleUseCase.js.map +1 -0
  466. package/features/accessManagement/roles/deleteRole/abstractions.d.ts +21 -0
  467. package/features/accessManagement/roles/deleteRole/abstractions.js +7 -0
  468. package/features/accessManagement/roles/deleteRole/abstractions.js.map +1 -0
  469. package/features/accessManagement/roles/deleteRole/feature.d.ts +3 -0
  470. package/features/accessManagement/roles/deleteRole/feature.js +21 -0
  471. package/features/accessManagement/roles/deleteRole/feature.js.map +1 -0
  472. package/features/accessManagement/roles/deleteRole/index.d.ts +3 -0
  473. package/features/accessManagement/roles/deleteRole/index.js +2 -0
  474. package/features/accessManagement/roles/getRole/GetRoleGateway.d.ts +12 -0
  475. package/features/accessManagement/roles/getRole/GetRoleGateway.js +50 -0
  476. package/features/accessManagement/roles/getRole/GetRoleGateway.js.map +1 -0
  477. package/features/accessManagement/roles/getRole/GetRoleRepository.d.ts +11 -0
  478. package/features/accessManagement/roles/getRole/GetRoleRepository.js +18 -0
  479. package/features/accessManagement/roles/getRole/GetRoleRepository.js.map +1 -0
  480. package/features/accessManagement/roles/getRole/GetRoleUseCase.d.ts +11 -0
  481. package/features/accessManagement/roles/getRole/GetRoleUseCase.js +18 -0
  482. package/features/accessManagement/roles/getRole/GetRoleUseCase.js.map +1 -0
  483. package/features/accessManagement/roles/getRole/abstractions.d.ts +22 -0
  484. package/features/accessManagement/roles/getRole/abstractions.js +7 -0
  485. package/features/accessManagement/roles/getRole/abstractions.js.map +1 -0
  486. package/features/accessManagement/roles/getRole/feature.d.ts +3 -0
  487. package/features/accessManagement/roles/getRole/feature.js +21 -0
  488. package/features/accessManagement/roles/getRole/feature.js.map +1 -0
  489. package/features/accessManagement/roles/getRole/index.d.ts +3 -0
  490. package/features/accessManagement/roles/getRole/index.js +2 -0
  491. package/features/accessManagement/roles/listRoles/ListRolesGateway.d.ts +11 -0
  492. package/features/accessManagement/roles/listRoles/ListRolesGateway.js +45 -0
  493. package/features/accessManagement/roles/listRoles/ListRolesGateway.js.map +1 -0
  494. package/features/accessManagement/roles/listRoles/ListRolesRepository.d.ts +11 -0
  495. package/features/accessManagement/roles/listRoles/ListRolesRepository.js +22 -0
  496. package/features/accessManagement/roles/listRoles/ListRolesRepository.js.map +1 -0
  497. package/features/accessManagement/roles/listRoles/ListRolesUseCase.d.ts +10 -0
  498. package/features/accessManagement/roles/listRoles/ListRolesUseCase.js +18 -0
  499. package/features/accessManagement/roles/listRoles/ListRolesUseCase.js.map +1 -0
  500. package/features/accessManagement/roles/listRoles/abstractions.d.ts +30 -0
  501. package/features/accessManagement/roles/listRoles/abstractions.js +8 -0
  502. package/features/accessManagement/roles/listRoles/abstractions.js.map +1 -0
  503. package/features/accessManagement/roles/listRoles/feature.d.ts +3 -0
  504. package/features/accessManagement/roles/listRoles/feature.js +23 -0
  505. package/features/accessManagement/roles/listRoles/feature.js.map +1 -0
  506. package/features/accessManagement/roles/listRoles/index.d.ts +3 -0
  507. package/features/accessManagement/roles/listRoles/index.js +2 -0
  508. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.d.ts +12 -0
  509. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.js +52 -0
  510. package/features/accessManagement/roles/updateRole/UpdateRoleGateway.js.map +1 -0
  511. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.d.ts +13 -0
  512. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.js +23 -0
  513. package/features/accessManagement/roles/updateRole/UpdateRoleRepository.js.map +1 -0
  514. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.d.ts +11 -0
  515. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.js +18 -0
  516. package/features/accessManagement/roles/updateRole/UpdateRoleUseCase.js.map +1 -0
  517. package/features/accessManagement/roles/updateRole/abstractions.d.ts +28 -0
  518. package/features/accessManagement/roles/updateRole/abstractions.js +7 -0
  519. package/features/accessManagement/roles/updateRole/abstractions.js.map +1 -0
  520. package/features/accessManagement/roles/updateRole/feature.d.ts +3 -0
  521. package/features/accessManagement/roles/updateRole/feature.js +21 -0
  522. package/features/accessManagement/roles/updateRole/feature.js.map +1 -0
  523. package/features/accessManagement/roles/updateRole/index.d.ts +3 -0
  524. package/features/accessManagement/roles/updateRole/index.js +2 -0
  525. package/features/accessManagement/teams/createTeam/CreateTeamGateway.d.ts +12 -0
  526. package/features/accessManagement/teams/createTeam/CreateTeamGateway.js +55 -0
  527. package/features/accessManagement/teams/createTeam/CreateTeamGateway.js.map +1 -0
  528. package/features/accessManagement/teams/createTeam/CreateTeamRepository.d.ts +13 -0
  529. package/features/accessManagement/teams/createTeam/CreateTeamRepository.js +25 -0
  530. package/features/accessManagement/teams/createTeam/CreateTeamRepository.js.map +1 -0
  531. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.d.ts +11 -0
  532. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.js +18 -0
  533. package/features/accessManagement/teams/createTeam/CreateTeamUseCase.js.map +1 -0
  534. package/features/accessManagement/teams/createTeam/abstractions.d.ts +28 -0
  535. package/features/accessManagement/teams/createTeam/abstractions.js +7 -0
  536. package/features/accessManagement/teams/createTeam/abstractions.js.map +1 -0
  537. package/features/accessManagement/teams/createTeam/feature.d.ts +3 -0
  538. package/features/accessManagement/teams/createTeam/feature.js +21 -0
  539. package/features/accessManagement/teams/createTeam/feature.js.map +1 -0
  540. package/features/accessManagement/teams/createTeam/index.d.ts +3 -0
  541. package/features/accessManagement/teams/createTeam/index.js +2 -0
  542. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.d.ts +11 -0
  543. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.js +40 -0
  544. package/features/accessManagement/teams/deleteTeam/DeleteTeamGateway.js.map +1 -0
  545. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.d.ts +12 -0
  546. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.js +22 -0
  547. package/features/accessManagement/teams/deleteTeam/DeleteTeamRepository.js.map +1 -0
  548. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.d.ts +10 -0
  549. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.js +18 -0
  550. package/features/accessManagement/teams/deleteTeam/DeleteTeamUseCase.js.map +1 -0
  551. package/features/accessManagement/teams/deleteTeam/abstractions.d.ts +21 -0
  552. package/features/accessManagement/teams/deleteTeam/abstractions.js +7 -0
  553. package/features/accessManagement/teams/deleteTeam/abstractions.js.map +1 -0
  554. package/features/accessManagement/teams/deleteTeam/feature.d.ts +3 -0
  555. package/features/accessManagement/teams/deleteTeam/feature.js +21 -0
  556. package/features/accessManagement/teams/deleteTeam/feature.js.map +1 -0
  557. package/features/accessManagement/teams/deleteTeam/index.d.ts +3 -0
  558. package/features/accessManagement/teams/deleteTeam/index.js +2 -0
  559. package/features/accessManagement/teams/getTeam/GetTeamGateway.d.ts +12 -0
  560. package/features/accessManagement/teams/getTeam/GetTeamGateway.js +54 -0
  561. package/features/accessManagement/teams/getTeam/GetTeamGateway.js.map +1 -0
  562. package/features/accessManagement/teams/getTeam/GetTeamRepository.d.ts +11 -0
  563. package/features/accessManagement/teams/getTeam/GetTeamRepository.js +18 -0
  564. package/features/accessManagement/teams/getTeam/GetTeamRepository.js.map +1 -0
  565. package/features/accessManagement/teams/getTeam/GetTeamUseCase.d.ts +11 -0
  566. package/features/accessManagement/teams/getTeam/GetTeamUseCase.js +18 -0
  567. package/features/accessManagement/teams/getTeam/GetTeamUseCase.js.map +1 -0
  568. package/features/accessManagement/teams/getTeam/abstractions.d.ts +22 -0
  569. package/features/accessManagement/teams/getTeam/abstractions.js +7 -0
  570. package/features/accessManagement/teams/getTeam/abstractions.js.map +1 -0
  571. package/features/accessManagement/teams/getTeam/feature.d.ts +3 -0
  572. package/features/accessManagement/teams/getTeam/feature.js +21 -0
  573. package/features/accessManagement/teams/getTeam/feature.js.map +1 -0
  574. package/features/accessManagement/teams/getTeam/index.d.ts +3 -0
  575. package/features/accessManagement/teams/getTeam/index.js +2 -0
  576. package/features/accessManagement/teams/listTeams/ListTeamsGateway.d.ts +11 -0
  577. package/features/accessManagement/teams/listTeams/ListTeamsGateway.js +49 -0
  578. package/features/accessManagement/teams/listTeams/ListTeamsGateway.js.map +1 -0
  579. package/features/accessManagement/teams/listTeams/ListTeamsRepository.d.ts +11 -0
  580. package/features/accessManagement/teams/listTeams/ListTeamsRepository.js +22 -0
  581. package/features/accessManagement/teams/listTeams/ListTeamsRepository.js.map +1 -0
  582. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.d.ts +10 -0
  583. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.js +18 -0
  584. package/features/accessManagement/teams/listTeams/ListTeamsUseCase.js.map +1 -0
  585. package/features/accessManagement/teams/listTeams/abstractions.d.ts +30 -0
  586. package/features/accessManagement/teams/listTeams/abstractions.js +8 -0
  587. package/features/accessManagement/teams/listTeams/abstractions.js.map +1 -0
  588. package/features/accessManagement/teams/listTeams/feature.d.ts +3 -0
  589. package/features/accessManagement/teams/listTeams/feature.js +23 -0
  590. package/features/accessManagement/teams/listTeams/feature.js.map +1 -0
  591. package/features/accessManagement/teams/listTeams/index.d.ts +3 -0
  592. package/features/accessManagement/teams/listTeams/index.js +2 -0
  593. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.d.ts +12 -0
  594. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.js +56 -0
  595. package/features/accessManagement/teams/updateTeam/UpdateTeamGateway.js.map +1 -0
  596. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.d.ts +13 -0
  597. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.js +23 -0
  598. package/features/accessManagement/teams/updateTeam/UpdateTeamRepository.js.map +1 -0
  599. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.d.ts +11 -0
  600. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.js +18 -0
  601. package/features/accessManagement/teams/updateTeam/UpdateTeamUseCase.js.map +1 -0
  602. package/features/accessManagement/teams/updateTeam/abstractions.d.ts +27 -0
  603. package/features/accessManagement/teams/updateTeam/abstractions.js +7 -0
  604. package/features/accessManagement/teams/updateTeam/abstractions.js.map +1 -0
  605. package/features/accessManagement/teams/updateTeam/feature.d.ts +3 -0
  606. package/features/accessManagement/teams/updateTeam/feature.js +21 -0
  607. package/features/accessManagement/teams/updateTeam/feature.js.map +1 -0
  608. package/features/accessManagement/teams/updateTeam/index.d.ts +3 -0
  609. package/features/accessManagement/teams/updateTeam/index.js +2 -0
  610. package/features/accessManagement/types.d.ts +34 -0
  611. package/features/accessManagement/types.js +0 -0
  612. package/features/aiChat/AiChatGateway.d.ts +30 -0
  613. package/features/aiChat/AiChatGateway.js +41 -0
  614. package/features/aiChat/AiChatGateway.js.map +1 -0
  615. package/features/aiChat/AiChatPresenter.d.ts +32 -0
  616. package/features/aiChat/AiChatPresenter.js +220 -0
  617. package/features/aiChat/AiChatPresenter.js.map +1 -0
  618. package/features/aiChat/abstractions.d.ts +124 -0
  619. package/features/aiChat/abstractions.js +6 -0
  620. package/features/aiChat/abstractions.js.map +1 -0
  621. package/features/aiChat/feature.d.ts +3 -0
  622. package/features/aiChat/feature.js +19 -0
  623. package/features/aiChat/feature.js.map +1 -0
  624. package/features/aiChat/index.d.ts +6 -0
  625. package/features/aiChat/index.js +3 -0
  626. package/features/clipboard/ClipboardService.d.ts +15 -0
  627. package/features/clipboard/ClipboardService.js +51 -0
  628. package/features/clipboard/ClipboardService.js.map +1 -0
  629. package/features/clipboard/abstractions.d.ts +14 -0
  630. package/features/clipboard/abstractions.js +5 -0
  631. package/features/clipboard/abstractions.js.map +1 -0
  632. package/features/clipboard/feature.d.ts +3 -0
  633. package/features/clipboard/feature.js +17 -0
  634. package/features/clipboard/feature.js.map +1 -0
  635. package/features/clipboard/index.d.ts +2 -0
  636. package/features/clipboard/index.js +2 -0
  637. package/features/confirmation/Confirmation.d.ts +11 -0
  638. package/features/confirmation/Confirmation.js +29 -0
  639. package/features/confirmation/Confirmation.js.map +1 -0
  640. package/features/confirmation/ConfirmationBridge.d.ts +1 -0
  641. package/features/confirmation/ConfirmationBridge.js +20 -0
  642. package/features/confirmation/ConfirmationBridge.js.map +1 -0
  643. package/features/confirmation/abstractions.d.ts +15 -0
  644. package/features/confirmation/abstractions.js +6 -0
  645. package/features/confirmation/abstractions.js.map +1 -0
  646. package/features/confirmation/feature.d.ts +1 -0
  647. package/features/confirmation/feature.js +11 -0
  648. package/features/confirmation/feature.js.map +1 -0
  649. package/features/confirmation/index.d.ts +3 -0
  650. package/features/confirmation/index.js +3 -0
  651. package/features/dateFormatter/DefaultDateFormatter.d.ts +8 -0
  652. package/features/dateFormatter/DefaultDateFormatter.js +25 -0
  653. package/features/dateFormatter/DefaultDateFormatter.js.map +1 -0
  654. package/features/dateFormatter/abstractions.d.ts +13 -0
  655. package/features/dateFormatter/abstractions.js +5 -0
  656. package/features/dateFormatter/abstractions.js.map +1 -0
  657. package/features/dateFormatter/feature.d.ts +3 -0
  658. package/features/dateFormatter/feature.js +17 -0
  659. package/features/dateFormatter/feature.js.map +1 -0
  660. package/features/dateFormatter/index.d.ts +4 -0
  661. package/features/dateFormatter/index.js +4 -0
  662. package/features/dateFormatter/useDateFormatter.d.ts +5 -0
  663. package/features/dateFormatter/useDateFormatter.js +8 -0
  664. package/features/dateFormatter/useDateFormatter.js.map +1 -0
  665. package/features/featureFlags/FeatureFlagsGateway.d.ts +10 -0
  666. package/features/featureFlags/FeatureFlagsGateway.js +40 -0
  667. package/features/featureFlags/FeatureFlagsGateway.js.map +1 -0
  668. package/features/featureFlags/FeatureFlagsService.d.ts +16 -0
  669. package/features/featureFlags/FeatureFlagsService.js +64 -0
  670. package/features/featureFlags/FeatureFlagsService.js.map +1 -0
  671. package/features/featureFlags/abstractions.d.ts +19 -0
  672. package/features/featureFlags/abstractions.js +6 -0
  673. package/features/featureFlags/abstractions.js.map +1 -0
  674. package/features/featureFlags/feature.d.ts +3 -0
  675. package/features/featureFlags/feature.js +19 -0
  676. package/features/featureFlags/feature.js.map +1 -0
  677. package/features/formModel/Field.d.ts +5 -5
  678. package/features/formModel/Field.js +69 -13
  679. package/features/formModel/Field.js.map +1 -1
  680. package/features/formModel/FieldBuilder.d.ts +8 -3
  681. package/features/formModel/FieldBuilder.js +21 -2
  682. package/features/formModel/FieldBuilder.js.map +1 -1
  683. package/features/formModel/FieldBuilder.test.js +4 -4
  684. package/features/formModel/FieldBuilder.test.js.map +1 -1
  685. package/features/formModel/FormErrors.d.ts +3 -2
  686. package/features/formModel/FormErrors.js +4 -3
  687. package/features/formModel/FormErrors.js.map +1 -1
  688. package/features/formModel/FormModel.d.ts +8 -2
  689. package/features/formModel/FormModel.js +33 -10
  690. package/features/formModel/FormModel.js.map +1 -1
  691. package/features/formModel/FormModel.test.js +266 -21
  692. package/features/formModel/FormModel.test.js.map +1 -1
  693. package/features/formModel/FormView.d.ts +8 -4
  694. package/features/formModel/FormView.js +25 -6
  695. package/features/formModel/FormView.js.map +1 -1
  696. package/features/formModel/LayoutBuilderFactory.d.ts +3 -2
  697. package/features/formModel/LayoutBuilderFactory.js +58 -5
  698. package/features/formModel/LayoutBuilderFactory.js.map +1 -1
  699. package/features/formModel/LayoutMutator.js +6 -0
  700. package/features/formModel/LayoutMutator.js.map +1 -1
  701. package/features/formModel/LayoutResolver.d.ts +1 -0
  702. package/features/formModel/LayoutResolver.js +27 -6
  703. package/features/formModel/LayoutResolver.js.map +1 -1
  704. package/features/formModel/ObjectField.d.ts +4 -2
  705. package/features/formModel/ObjectField.js +43 -3
  706. package/features/formModel/ObjectField.js.map +1 -1
  707. package/features/formModel/PresenterErrors.d.ts +2 -2
  708. package/features/formModel/abstractions.d.ts +86 -19
  709. package/features/formModel/abstractions.js.map +1 -1
  710. package/features/formModel/demo/FormModelDemo.d.ts +2 -2
  711. package/features/formModel/demo/FormModelPhase11Presenter.js +5 -5
  712. package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -1
  713. package/features/formModel/feature.js +4 -1
  714. package/features/formModel/feature.js.map +1 -1
  715. package/features/formModel/fieldTypes/ObjectFieldType.js +2 -1
  716. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -1
  717. package/features/formModel/fieldTypes/PasswordFieldType.d.ts +18 -0
  718. package/features/formModel/fieldTypes/PasswordFieldType.js +23 -0
  719. package/features/formModel/fieldTypes/PasswordFieldType.js.map +1 -0
  720. package/features/formModel/fieldTypes/PermissionsFieldType.d.ts +18 -0
  721. package/features/formModel/fieldTypes/PermissionsFieldType.js +27 -0
  722. package/features/formModel/fieldTypes/PermissionsFieldType.js.map +1 -0
  723. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.d.ts +18 -0
  724. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.js +24 -0
  725. package/features/formModel/fieldTypes/RolesMultiSelectFieldType.js.map +1 -0
  726. package/features/formModel/fieldTypes/index.d.ts +3 -0
  727. package/features/formModel/fieldTypes/index.js +3 -0
  728. package/features/formModel/index.d.ts +2 -3
  729. package/features/formModel/index.js +3 -4
  730. package/features/formModel/renderers.d.ts +5 -0
  731. package/features/formModel/renderers.js +5 -0
  732. package/features/iconPicker/listCustomIcons/ListCustomIconsGateway.d.ts +11 -0
  733. package/features/iconPicker/listCustomIcons/ListCustomIconsGateway.js +49 -0
  734. package/features/iconPicker/listCustomIcons/ListCustomIconsGateway.js.map +1 -0
  735. package/features/iconPicker/listCustomIcons/abstractions.d.ts +12 -0
  736. package/features/iconPicker/listCustomIcons/abstractions.js +5 -0
  737. package/features/iconPicker/listCustomIcons/abstractions.js.map +1 -0
  738. package/features/iconPicker/listCustomIcons/feature.d.ts +1 -0
  739. package/features/iconPicker/listCustomIcons/feature.js +11 -0
  740. package/features/iconPicker/listCustomIcons/feature.js.map +1 -0
  741. package/features/iconPicker/listCustomIcons/index.d.ts +3 -0
  742. package/features/iconPicker/listCustomIcons/index.js +2 -0
  743. package/features/listCache/ListCache.d.ts +4 -1
  744. package/features/listCache/ListCache.js +13 -3
  745. package/features/listCache/ListCache.js.map +1 -1
  746. package/features/notifications/Notifications.d.ts +16 -0
  747. package/features/notifications/Notifications.js +39 -0
  748. package/features/notifications/Notifications.js.map +1 -0
  749. package/features/notifications/NotificationsPresenter.d.ts +11 -0
  750. package/features/notifications/NotificationsPresenter.js +27 -0
  751. package/features/notifications/NotificationsPresenter.js.map +1 -0
  752. package/features/notifications/NotificationsRenderer.d.ts +7 -0
  753. package/features/notifications/NotificationsRenderer.js +38 -0
  754. package/features/notifications/NotificationsRenderer.js.map +1 -0
  755. package/features/notifications/abstractions.d.ts +38 -0
  756. package/features/notifications/abstractions.js +6 -0
  757. package/features/notifications/abstractions.js.map +1 -0
  758. package/features/notifications/feature.d.ts +4 -0
  759. package/features/notifications/feature.js +20 -0
  760. package/features/notifications/feature.js.map +1 -0
  761. package/features/notifications/index.d.ts +3 -0
  762. package/features/notifications/index.js +3 -0
  763. package/features/security/AuthenticationContext/ApiStreamClientDecorator.d.ts +22 -0
  764. package/features/security/AuthenticationContext/ApiStreamClientDecorator.js +32 -0
  765. package/features/security/AuthenticationContext/ApiStreamClientDecorator.js.map +1 -0
  766. package/features/security/AuthenticationContext/feature.js +2 -0
  767. package/features/security/AuthenticationContext/feature.js.map +1 -1
  768. package/features/slugify/DefaultSlugify.d.ts +8 -0
  769. package/features/slugify/DefaultSlugify.js +20 -0
  770. package/features/slugify/DefaultSlugify.js.map +1 -0
  771. package/features/slugify/abstractions.d.ts +12 -0
  772. package/features/slugify/abstractions.js +5 -0
  773. package/features/slugify/abstractions.js.map +1 -0
  774. package/features/slugify/feature.d.ts +1 -0
  775. package/features/slugify/feature.js +11 -0
  776. package/features/slugify/feature.js.map +1 -0
  777. package/features/slugify/index.d.ts +3 -0
  778. package/features/slugify/index.js +3 -0
  779. package/features/stringFormatter/DefaultStringFormatter.d.ts +17 -0
  780. package/features/stringFormatter/DefaultStringFormatter.js +19 -0
  781. package/features/stringFormatter/DefaultStringFormatter.js.map +1 -0
  782. package/features/stringFormatter/abstractions.d.ts +11 -0
  783. package/features/stringFormatter/abstractions.js +5 -0
  784. package/features/stringFormatter/abstractions.js.map +1 -0
  785. package/features/stringFormatter/feature.d.ts +3 -0
  786. package/features/stringFormatter/feature.js +19 -0
  787. package/features/stringFormatter/feature.js.map +1 -0
  788. package/features/stringFormatter/index.d.ts +4 -0
  789. package/features/stringFormatter/index.js +4 -0
  790. package/features/stringFormatter/useStringFormatter.d.ts +5 -0
  791. package/features/stringFormatter/useStringFormatter.js +8 -0
  792. package/features/stringFormatter/useStringFormatter.js.map +1 -0
  793. package/features/tenancy/ApiStreamClientDecorator.d.ts +16 -0
  794. package/features/tenancy/ApiStreamClientDecorator.js +30 -0
  795. package/features/tenancy/ApiStreamClientDecorator.js.map +1 -0
  796. package/features/tenancy/feature.js +2 -0
  797. package/features/tenancy/feature.js.map +1 -1
  798. package/features/wcp/ReactLicense.d.ts +6 -0
  799. package/features/wcp/ReactLicense.js +18 -0
  800. package/features/wcp/ReactLicense.js.map +1 -1
  801. package/features/wcp/WcpGateway.js +3 -0
  802. package/features/wcp/WcpGateway.js.map +1 -1
  803. package/features/webinySdk/WebinySdk.d.ts +2 -1
  804. package/features/webinySdk/WebinySdk.js.map +1 -1
  805. package/hooks/index.d.ts +4 -0
  806. package/hooks/index.js +4 -0
  807. package/hooks/useDrawer.d.ts +9 -0
  808. package/hooks/useDrawer.js +19 -0
  809. package/hooks/useDrawer.js.map +1 -0
  810. package/hooks/useHotkeys.js +5 -3
  811. package/hooks/useHotkeys.js.map +1 -1
  812. package/hooks/useNamedConfirmationDialog.d.ts +9 -0
  813. package/hooks/useNamedConfirmationDialog.js +20 -0
  814. package/hooks/useNamedConfirmationDialog.js.map +1 -0
  815. package/hooks/useOpenDrawer.d.ts +7 -0
  816. package/hooks/useOpenDrawer.js +18 -0
  817. package/hooks/useOpenDrawer.js.map +1 -0
  818. package/hooks/useSnackbar.js.map +1 -1
  819. package/index.d.ts +52 -2
  820. package/index.js +51 -9
  821. package/modules/AccessManagementExtension.d.ts +2 -0
  822. package/modules/AccessManagementExtension.js +175 -0
  823. package/modules/AccessManagementExtension.js.map +1 -0
  824. package/package.json +36 -41
  825. package/permissions/createPermissions.js.map +1 -1
  826. package/presentation/accessManagement/SecurityPermissions.d.ts +2 -0
  827. package/presentation/accessManagement/SecurityPermissions.js +54 -0
  828. package/presentation/accessManagement/SecurityPermissions.js.map +1 -0
  829. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.d.ts +13 -0
  830. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.js +23 -0
  831. package/presentation/accessManagement/apiKeys/ApiKeysDataSource.js.map +1 -0
  832. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.d.ts +40 -0
  833. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js +190 -0
  834. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js.map +1 -0
  835. package/presentation/accessManagement/apiKeys/abstractions.d.ts +25 -0
  836. package/presentation/accessManagement/apiKeys/abstractions.js +5 -0
  837. package/presentation/accessManagement/apiKeys/abstractions.js.map +1 -0
  838. package/presentation/accessManagement/apiKeys/components/ApiKeysView.d.ts +4 -0
  839. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js +240 -0
  840. package/presentation/accessManagement/apiKeys/components/ApiKeysView.js.map +1 -0
  841. package/presentation/accessManagement/apiKeys/feature.d.ts +3 -0
  842. package/presentation/accessManagement/apiKeys/feature.js +17 -0
  843. package/presentation/accessManagement/apiKeys/feature.js.map +1 -0
  844. package/presentation/accessManagement/roles/RolesDataSource.d.ts +13 -0
  845. package/presentation/accessManagement/roles/RolesDataSource.js +23 -0
  846. package/presentation/accessManagement/roles/RolesDataSource.js.map +1 -0
  847. package/presentation/accessManagement/roles/RolesPresenter.d.ts +40 -0
  848. package/presentation/accessManagement/roles/RolesPresenter.js +198 -0
  849. package/presentation/accessManagement/roles/RolesPresenter.js.map +1 -0
  850. package/presentation/accessManagement/roles/abstractions.d.ts +27 -0
  851. package/presentation/accessManagement/roles/abstractions.js +5 -0
  852. package/presentation/accessManagement/roles/abstractions.js.map +1 -0
  853. package/presentation/accessManagement/roles/components/RolesView.d.ts +4 -0
  854. package/presentation/accessManagement/roles/components/RolesView.js +236 -0
  855. package/presentation/accessManagement/roles/components/RolesView.js.map +1 -0
  856. package/presentation/accessManagement/roles/feature.d.ts +3 -0
  857. package/presentation/accessManagement/roles/feature.js +17 -0
  858. package/presentation/accessManagement/roles/feature.js.map +1 -0
  859. package/presentation/accessManagement/roles/rolesAutocomplete/RolesAutocompletePresenter.d.ts +15 -0
  860. package/presentation/accessManagement/roles/rolesAutocomplete/RolesAutocompletePresenter.js +42 -0
  861. package/presentation/accessManagement/roles/rolesAutocomplete/RolesAutocompletePresenter.js.map +1 -0
  862. package/presentation/accessManagement/roles/rolesAutocomplete/abstractions.d.ts +18 -0
  863. package/presentation/accessManagement/roles/rolesAutocomplete/abstractions.js +5 -0
  864. package/presentation/accessManagement/roles/rolesAutocomplete/abstractions.js.map +1 -0
  865. package/presentation/accessManagement/roles/rolesAutocomplete/feature.d.ts +3 -0
  866. package/presentation/accessManagement/roles/rolesAutocomplete/feature.js +17 -0
  867. package/presentation/accessManagement/roles/rolesAutocomplete/feature.js.map +1 -0
  868. package/presentation/accessManagement/roles/rolesAutocomplete/index.d.ts +3 -0
  869. package/presentation/accessManagement/roles/rolesAutocomplete/index.js +2 -0
  870. package/presentation/accessManagement/routes.d.ts +21 -0
  871. package/presentation/accessManagement/routes.js +36 -0
  872. package/presentation/accessManagement/routes.js.map +1 -0
  873. package/presentation/accessManagement/teams/TeamsDataSource.d.ts +13 -0
  874. package/presentation/accessManagement/teams/TeamsDataSource.js +23 -0
  875. package/presentation/accessManagement/teams/TeamsDataSource.js.map +1 -0
  876. package/presentation/accessManagement/teams/TeamsPresenter.d.ts +41 -0
  877. package/presentation/accessManagement/teams/TeamsPresenter.js +197 -0
  878. package/presentation/accessManagement/teams/TeamsPresenter.js.map +1 -0
  879. package/presentation/accessManagement/teams/abstractions.d.ts +26 -0
  880. package/presentation/accessManagement/teams/abstractions.js +5 -0
  881. package/presentation/accessManagement/teams/abstractions.js.map +1 -0
  882. package/presentation/accessManagement/teams/components/TeamsView.d.ts +4 -0
  883. package/presentation/accessManagement/teams/components/TeamsView.js +218 -0
  884. package/presentation/accessManagement/teams/components/TeamsView.js.map +1 -0
  885. package/presentation/accessManagement/teams/feature.d.ts +3 -0
  886. package/presentation/accessManagement/teams/feature.js +17 -0
  887. package/presentation/accessManagement/teams/feature.js.map +1 -0
  888. package/presentation/accessManagement/teams/teamsAutocomplete/TeamsAutocompletePresenter.d.ts +15 -0
  889. package/presentation/accessManagement/teams/teamsAutocomplete/TeamsAutocompletePresenter.js +42 -0
  890. package/presentation/accessManagement/teams/teamsAutocomplete/TeamsAutocompletePresenter.js.map +1 -0
  891. package/presentation/accessManagement/teams/teamsAutocomplete/abstractions.d.ts +18 -0
  892. package/presentation/accessManagement/teams/teamsAutocomplete/abstractions.js +5 -0
  893. package/presentation/accessManagement/teams/teamsAutocomplete/abstractions.js.map +1 -0
  894. package/presentation/accessManagement/teams/teamsAutocomplete/feature.d.ts +3 -0
  895. package/presentation/accessManagement/teams/teamsAutocomplete/feature.js +17 -0
  896. package/presentation/accessManagement/teams/teamsAutocomplete/feature.js.map +1 -0
  897. package/presentation/accessManagement/teams/teamsAutocomplete/index.d.ts +3 -0
  898. package/presentation/accessManagement/teams/teamsAutocomplete/index.js +2 -0
  899. package/presentation/commandPalette/CommandPalettePresenter.d.ts +21 -0
  900. package/presentation/commandPalette/CommandPalettePresenter.js +91 -0
  901. package/presentation/commandPalette/CommandPalettePresenter.js.map +1 -0
  902. package/presentation/commandPalette/abstractions.d.ts +76 -0
  903. package/presentation/commandPalette/abstractions.js +7 -0
  904. package/presentation/commandPalette/abstractions.js.map +1 -0
  905. package/presentation/commandPalette/commands/AskAiCommand.d.ts +25 -0
  906. package/presentation/commandPalette/commands/AskAiCommand.js +33 -0
  907. package/presentation/commandPalette/commands/AskAiCommand.js.map +1 -0
  908. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.d.ts +15 -0
  909. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js +33 -0
  910. package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js.map +1 -0
  911. package/presentation/commandPalette/commands/SendMessageCommand.d.ts +23 -0
  912. package/presentation/commandPalette/commands/SendMessageCommand.js +66 -0
  913. package/presentation/commandPalette/commands/SendMessageCommand.js.map +1 -0
  914. package/presentation/commandPalette/commands/SignOutCommand.d.ts +18 -0
  915. package/presentation/commandPalette/commands/SignOutCommand.js +37 -0
  916. package/presentation/commandPalette/commands/SignOutCommand.js.map +1 -0
  917. package/presentation/commandPalette/commands/feature.d.ts +5 -0
  918. package/presentation/commandPalette/commands/feature.js +17 -0
  919. package/presentation/commandPalette/commands/feature.js.map +1 -0
  920. package/presentation/commandPalette/feature.d.ts +3 -0
  921. package/presentation/commandPalette/feature.js +17 -0
  922. package/presentation/commandPalette/feature.js.map +1 -0
  923. package/presentation/commandPalette/index.d.ts +3 -0
  924. package/presentation/commandPalette/index.js +2 -0
  925. package/presentation/featureFlags/FeatureFlagsProvider.d.ts +7 -0
  926. package/presentation/featureFlags/FeatureFlagsProvider.js +22 -0
  927. package/presentation/featureFlags/FeatureFlagsProvider.js.map +1 -0
  928. package/presentation/featureFlags/useFeatureFlags.d.ts +2 -0
  929. package/presentation/featureFlags/useFeatureFlags.js +17 -0
  930. package/presentation/featureFlags/useFeatureFlags.js.map +1 -0
  931. package/presentation/iconPicker/customIcons/CustomIconsPresenter.d.ts +16 -0
  932. package/presentation/iconPicker/customIcons/CustomIconsPresenter.js +40 -0
  933. package/presentation/iconPicker/customIcons/CustomIconsPresenter.js.map +1 -0
  934. package/presentation/iconPicker/customIcons/abstractions.d.ts +14 -0
  935. package/presentation/iconPicker/customIcons/abstractions.js +5 -0
  936. package/presentation/iconPicker/customIcons/abstractions.js.map +1 -0
  937. package/presentation/iconPicker/customIcons/feature.d.ts +3 -0
  938. package/presentation/iconPicker/customIcons/feature.js +17 -0
  939. package/presentation/iconPicker/customIcons/feature.js.map +1 -0
  940. package/presentation/iconPicker/customIcons/index.d.ts +3 -0
  941. package/presentation/iconPicker/customIcons/index.js +2 -0
  942. package/presentation/installation/components/SystemInstaller/SystemInstaller.d.ts +2 -2
  943. package/presentation/installation/components/SystemInstaller/SystemInstaller.js +3 -1
  944. package/presentation/installation/components/SystemInstaller/SystemInstaller.js.map +1 -1
  945. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.d.ts +1 -1
  946. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +1 -1
  947. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -1
  948. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js +5 -4
  949. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js.map +1 -1
  950. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js +0 -3
  951. package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js.map +1 -1
  952. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js +1 -1
  953. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js.map +1 -1
  954. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js +7 -5
  955. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -1
  956. package/presentation/listPresenter/FolderAwareDataSource.d.ts +50 -0
  957. package/presentation/listPresenter/FolderAwareDataSource.js +135 -0
  958. package/presentation/listPresenter/FolderAwareDataSource.js.map +1 -0
  959. package/presentation/listPresenter/ListPresenter.d.ts +4 -0
  960. package/presentation/listPresenter/ListPresenter.js +30 -4
  961. package/presentation/listPresenter/ListPresenter.js.map +1 -1
  962. package/presentation/listPresenter/QueryMatcher.d.ts +56 -0
  963. package/presentation/listPresenter/QueryMatcher.js +59 -0
  964. package/presentation/listPresenter/QueryMatcher.js.map +1 -0
  965. package/presentation/listPresenter/SimpleDataSource.d.ts +15 -0
  966. package/presentation/listPresenter/SimpleDataSource.js +70 -0
  967. package/presentation/listPresenter/SimpleDataSource.js.map +1 -0
  968. package/presentation/listPresenter/abstractions.d.ts +9 -0
  969. package/presentation/listPresenter/abstractions.js.map +1 -1
  970. package/presentation/listPresenter/index.d.ts +5 -0
  971. package/presentation/listPresenter/index.js +3 -0
  972. package/presentation/security/components/HasPermission.d.ts +1 -1
  973. package/presentation/sortable/SortablePresenter.d.ts +23 -0
  974. package/presentation/sortable/SortablePresenter.js +175 -0
  975. package/presentation/sortable/SortablePresenter.js.map +1 -0
  976. package/presentation/sortable/abstractions.d.ts +24 -0
  977. package/presentation/sortable/abstractions.js +5 -0
  978. package/presentation/sortable/abstractions.js.map +1 -0
  979. package/presentation/sortable/feature.d.ts +1 -0
  980. package/presentation/sortable/feature.js +11 -0
  981. package/presentation/sortable/feature.js.map +1 -0
  982. package/presentation/sortable/index.d.ts +2 -0
  983. package/presentation/sortable/index.js +2 -0
  984. package/presentation/tenancy/TenancyProvider.js +0 -4
  985. package/presentation/tenancy/TenancyProvider.js.map +1 -1
  986. package/presentation/trashBin/TrashBinDataSource.d.ts +16 -0
  987. package/presentation/trashBin/TrashBinDataSource.js +82 -0
  988. package/presentation/trashBin/TrashBinDataSource.js.map +1 -0
  989. package/presentation/trashBin/TrashBinPresenter.d.ts +20 -0
  990. package/presentation/trashBin/TrashBinPresenter.js +114 -0
  991. package/presentation/trashBin/TrashBinPresenter.js.map +1 -0
  992. package/presentation/trashBin/abstractions.d.ts +105 -0
  993. package/presentation/trashBin/abstractions.js +9 -0
  994. package/presentation/trashBin/abstractions.js.map +1 -0
  995. package/presentation/trashBin/components/Actions/DeleteItemAction.d.ts +2 -0
  996. package/presentation/trashBin/components/Actions/DeleteItemAction.js +20 -0
  997. package/presentation/trashBin/components/Actions/DeleteItemAction.js.map +1 -0
  998. package/presentation/trashBin/components/Actions/RestoreItemAction.d.ts +2 -0
  999. package/presentation/trashBin/components/Actions/RestoreItemAction.js +19 -0
  1000. package/presentation/trashBin/components/Actions/RestoreItemAction.js.map +1 -0
  1001. package/presentation/trashBin/components/Actions/index.d.ts +2 -0
  1002. package/presentation/trashBin/components/Actions/index.js +2 -0
  1003. package/presentation/trashBin/components/BulkActions/DeleteItems.d.ts +4 -0
  1004. package/presentation/trashBin/components/BulkActions/DeleteItems.js +72 -0
  1005. package/presentation/trashBin/components/BulkActions/DeleteItems.js.map +1 -0
  1006. package/presentation/trashBin/components/BulkActions/RestoreItems.d.ts +4 -0
  1007. package/presentation/trashBin/components/BulkActions/RestoreItems.js +81 -0
  1008. package/presentation/trashBin/components/BulkActions/RestoreItems.js.map +1 -0
  1009. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.d.ts +5 -0
  1010. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.js +12 -0
  1011. package/presentation/trashBin/components/BulkActions/RestoreItemsReportMessage.js.map +1 -0
  1012. package/presentation/trashBin/components/BulkActions/index.d.ts +2 -0
  1013. package/presentation/trashBin/components/BulkActions/index.js +2 -0
  1014. package/presentation/trashBin/components/Cells/CellActions.d.ts +2 -0
  1015. package/presentation/trashBin/components/Cells/CellActions.js +18 -0
  1016. package/presentation/trashBin/components/Cells/CellActions.js.map +1 -0
  1017. package/presentation/trashBin/components/Cells/CellCreatedBy.d.ts +2 -0
  1018. package/presentation/trashBin/components/Cells/CellCreatedBy.js +11 -0
  1019. package/presentation/trashBin/components/Cells/CellCreatedBy.js.map +1 -0
  1020. package/presentation/trashBin/components/Cells/CellDeletedBy.d.ts +2 -0
  1021. package/presentation/trashBin/components/Cells/CellDeletedBy.js +11 -0
  1022. package/presentation/trashBin/components/Cells/CellDeletedBy.js.map +1 -0
  1023. package/presentation/trashBin/components/Cells/CellDeletedOn.d.ts +2 -0
  1024. package/presentation/trashBin/components/Cells/CellDeletedOn.js +14 -0
  1025. package/presentation/trashBin/components/Cells/CellDeletedOn.js.map +1 -0
  1026. package/presentation/trashBin/components/Cells/CellTitle.d.ts +2 -0
  1027. package/presentation/trashBin/components/Cells/CellTitle.js +21 -0
  1028. package/presentation/trashBin/components/Cells/CellTitle.js.map +1 -0
  1029. package/presentation/trashBin/components/Cells/index.d.ts +5 -0
  1030. package/presentation/trashBin/components/Cells/index.js +5 -0
  1031. package/presentation/trashBin/components/TrashBinConfigs.d.ts +2 -0
  1032. package/presentation/trashBin/components/TrashBinConfigs.js +55 -0
  1033. package/presentation/trashBin/components/TrashBinConfigs.js.map +1 -0
  1034. package/presentation/trashBin/components/TrashBinOverlay.d.ts +12 -0
  1035. package/presentation/trashBin/components/TrashBinOverlay.js +139 -0
  1036. package/presentation/trashBin/components/TrashBinOverlay.js.map +1 -0
  1037. package/presentation/trashBin/components/TrashBinTable.d.ts +2 -0
  1038. package/presentation/trashBin/components/TrashBinTable.js +48 -0
  1039. package/presentation/trashBin/components/TrashBinTable.js.map +1 -0
  1040. package/presentation/trashBin/configs/Browser/BulkAction.d.ts +34 -0
  1041. package/presentation/trashBin/configs/Browser/BulkAction.js +59 -0
  1042. package/presentation/trashBin/configs/Browser/BulkAction.js.map +1 -0
  1043. package/presentation/trashBin/configs/Browser/EntryAction.d.ts +18 -0
  1044. package/presentation/trashBin/configs/Browser/EntryAction.js +36 -0
  1045. package/presentation/trashBin/configs/Browser/EntryAction.js.map +1 -0
  1046. package/presentation/trashBin/configs/Browser/Table/Column.d.ts +16 -0
  1047. package/presentation/trashBin/configs/Browser/Table/Column.js +9 -0
  1048. package/presentation/trashBin/configs/Browser/Table/Column.js.map +1 -0
  1049. package/presentation/trashBin/configs/Browser/Table/Sorting.d.ts +5 -0
  1050. package/presentation/trashBin/configs/Browser/Table/Sorting.js +6 -0
  1051. package/presentation/trashBin/configs/Browser/Table/Sorting.js.map +1 -0
  1052. package/presentation/trashBin/configs/Browser/Table/index.d.ts +18 -0
  1053. package/presentation/trashBin/configs/Browser/Table/index.js +9 -0
  1054. package/presentation/trashBin/configs/Browser/Table/index.js.map +1 -0
  1055. package/presentation/trashBin/configs/Browser/index.d.ts +40 -0
  1056. package/presentation/trashBin/configs/Browser/index.js +11 -0
  1057. package/presentation/trashBin/configs/Browser/index.js.map +1 -0
  1058. package/presentation/trashBin/configs/TrashBinListConfig.d.ts +46 -0
  1059. package/presentation/trashBin/configs/TrashBinListConfig.js +43 -0
  1060. package/presentation/trashBin/configs/TrashBinListConfig.js.map +1 -0
  1061. package/presentation/trashBin/configs/index.d.ts +1 -0
  1062. package/presentation/trashBin/configs/index.js +1 -0
  1063. package/presentation/trashBin/feature.d.ts +3 -0
  1064. package/presentation/trashBin/feature.js +17 -0
  1065. package/presentation/trashBin/feature.js.map +1 -0
  1066. package/presentation/trashBin/hooks/index.d.ts +4 -0
  1067. package/presentation/trashBin/hooks/index.js +4 -0
  1068. package/presentation/trashBin/hooks/useDeleteTrashBinItem.d.ts +8 -0
  1069. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js +33 -0
  1070. package/presentation/trashBin/hooks/useDeleteTrashBinItem.js.map +1 -0
  1071. package/presentation/trashBin/hooks/useRestoreTrashBinItem.d.ts +8 -0
  1072. package/presentation/trashBin/hooks/useRestoreTrashBinItem.js +35 -0
  1073. package/presentation/trashBin/hooks/useRestoreTrashBinItem.js.map +1 -0
  1074. package/presentation/trashBin/hooks/useTrashBinItem.d.ts +11 -0
  1075. package/presentation/trashBin/hooks/useTrashBinItem.js +7 -0
  1076. package/presentation/trashBin/hooks/useTrashBinItem.js.map +1 -0
  1077. package/presentation/trashBin/hooks/useTrashBinPresenter.d.ts +13 -0
  1078. package/presentation/trashBin/hooks/useTrashBinPresenter.js +7 -0
  1079. package/presentation/trashBin/hooks/useTrashBinPresenter.js.map +1 -0
  1080. package/presentation/trashBin/index.d.ts +6 -0
  1081. package/presentation/trashBin/index.js +6 -0
  1082. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +0 -10
  1083. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +0 -97
  1084. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +0 -1
  1085. package/base/Base/Menus/WebinyVersion.d.ts +0 -2
  1086. package/base/Base/Menus/WebinyVersion.js +0 -23
  1087. package/base/Base/Menus/WebinyVersion.js.map +0 -1
  1088. package/base/WebinyVersion.d.ts +0 -2
  1089. package/base/WebinyVersion.js +0 -23
  1090. package/base/WebinyVersion.js.map +0 -1
  1091. package/base/plugins/AddGraphQLQuerySelection.d.ts +0 -8
  1092. package/base/plugins/AddGraphQLQuerySelection.js +0 -19
  1093. package/base/plugins/AddGraphQLQuerySelection.js.map +0 -1
  1094. package/base/providers/ApolloProvider.d.ts +0 -13
  1095. package/base/providers/ApolloProvider.js +0 -10
  1096. package/base/providers/ApolloProvider.js.map +0 -1
  1097. package/components/IconPicker/plugins/graphql.d.ts +0 -20
  1098. package/components/IconPicker/plugins/graphql.js +0 -22
  1099. package/components/IconPicker/plugins/graphql.js.map +0 -1
  1100. package/components/RoleAutocomplete/graphql.d.ts +0 -1
  1101. package/components/RoleAutocomplete/graphql.js +0 -19
  1102. package/components/RoleAutocomplete/graphql.js.map +0 -1
  1103. package/components/RoleAutocomplete/index.d.ts +0 -7
  1104. package/components/RoleAutocomplete/index.js +0 -26
  1105. package/components/RoleAutocomplete/index.js.map +0 -1
  1106. package/components/RolesMultiAutocomplete/graphql.d.ts +0 -1
  1107. package/components/RolesMultiAutocomplete/graphql.js +0 -24
  1108. package/components/RolesMultiAutocomplete/graphql.js.map +0 -1
  1109. package/components/TeamAutocomplete/graphql.d.ts +0 -1
  1110. package/components/TeamAutocomplete/graphql.js +0 -19
  1111. package/components/TeamAutocomplete/graphql.js.map +0 -1
  1112. package/components/TeamsMultiAutocomplete/graphql.d.ts +0 -1
  1113. package/components/TeamsMultiAutocomplete/graphql.js +0 -24
  1114. package/components/TeamsMultiAutocomplete/graphql.js.map +0 -1
  1115. package/components/Wcp.d.ts +0 -19
  1116. package/components/Wcp.js +0 -37
  1117. package/components/Wcp.js.map +0 -1
  1118. package/features/apolloClient/abstraction.d.ts +0 -5
  1119. package/features/apolloClient/abstraction.js +0 -5
  1120. package/features/apolloClient/abstraction.js.map +0 -1
  1121. package/features/apolloClient/feature.d.ts +0 -2
  1122. package/features/apolloClient/feature.js +0 -31
  1123. package/features/apolloClient/feature.js.map +0 -1
  1124. package/plugins/MenuPlugin.d.ts +0 -37
  1125. package/plugins/MenuPlugin.js +0 -20
  1126. package/plugins/MenuPlugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"presentation/listPresenter/ListPresenter.js","sources":["../../../src/presentation/listPresenter/ListPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, computed } from \"mobx\";\nimport {\n ListPresenter as Abstraction,\n type IListPresenter,\n type IListPresenterConfig,\n type IListViewModel,\n type IListActions,\n type IListError,\n type IDataSource,\n type IDataSourceQuery\n} from \"./abstractions.js\";\nimport { SelectionController } from \"./SelectionController.js\";\n\nclass ListPresenterImpl<TRow> implements IListPresenter<TRow> {\n private _sort: { field: string; direction: \"ASC\" | \"DESC\" } | null = null;\n private _filters: Record<string, unknown> = {};\n private _search = \"\";\n private _selection: SelectionController<TRow>;\n private _error: IListError | null = null;\n private _appliedQuery: IDataSourceQuery | null = null;\n private _dataSource: IDataSource<TRow> | null = null;\n private _debounceMs = 300;\n private _debounceTimer: ReturnType<typeof setTimeout> | null = null;\n private _requeryScheduled = false;\n private _limit: number | undefined = undefined;\n private _initialized = false;\n private _loadingMore = false;\n\n constructor() {\n this._selection = new SelectionController<TRow>(\n () => this._dataSource?.rows ?? [],\n row => this.getRowId(row)\n );\n\n makeAutoObservable<ListPresenterImpl<TRow>, \"_debounceTimer\">(this, {\n _debounceTimer: false,\n vm: computed\n });\n }\n\n get vm(): IListViewModel<TRow> {\n const ds = this._dataSource;\n const rows = ds ? ds.rows : [];\n const meta = ds ? ds.meta : { cursor: null, hasMoreItems: false, totalCount: 0 };\n const loading = ds ? ds.loading : false;\n const hasFilters = Object.keys(this._filters).length > 0 || this._search.length > 0;\n\n return {\n rows,\n sort: this._sort,\n filters: this._filters,\n search: this._search,\n appliedQuery: this._appliedQuery,\n pagination: {\n hasMore: meta.hasMoreItems,\n loading: loading && !this._loadingMore,\n loadingMore: this._loadingMore,\n totalCount: meta.totalCount,\n currentCount: rows.length\n },\n selection: {\n selectedIds: this._selection.selectedIds,\n selectedCount: this._selection.selectedCount,\n allSelected: this._selection.allSelected\n },\n empty: rows.length === 0 && !loading,\n emptyWithFilters: rows.length === 0 && !loading && hasFilters,\n error: this._error\n };\n }\n\n actions: IListActions = {\n search: {\n set: (query: string) => {\n if (this._search === query) {\n return;\n }\n this._search = query;\n this.debouncedRequery();\n },\n clear: () => {\n if (this._search === \"\") {\n return;\n }\n this._search = \"\";\n this.requery();\n }\n },\n sort: {\n set: (field: string, direction: \"ASC\" | \"DESC\") => {\n this._sort = { field, direction };\n this.requery();\n },\n toggle: (field: string) => {\n if (this._sort && this._sort.field === field) {\n this._sort = {\n field,\n direction: this._sort.direction === \"ASC\" ? \"DESC\" : \"ASC\"\n };\n } else {\n this._sort = { field, direction: \"ASC\" };\n }\n this.requery();\n }\n },\n filter: {\n set: (key: string, value: unknown) => {\n this._filters = { ...this._filters, [key]: value };\n this.requery();\n },\n clear: (key: string) => {\n const { [key]: _, ...rest } = this._filters;\n this._filters = rest;\n this.requery();\n },\n clearAll: () => {\n this._filters = {};\n this.requery();\n }\n },\n selection: {\n toggle: (id: string) => this._selection.toggle(id),\n selectRangeTo: (id: string) => this._selection.selectRangeTo(id),\n selectAll: () => this._selection.selectAll(),\n deselectAll: () => this._selection.deselectAll(),\n selectRows: (ids: string[]) => this._selection.selectRows(ids),\n isSelected: (id: string) => this._selection.isSelected(id)\n },\n loadMore: async () => {\n if (!this._dataSource) {\n return;\n }\n const meta = this._dataSource.meta;\n if (!meta.hasMoreItems || this._dataSource.loading) {\n return;\n }\n this._loadingMore = true;\n try {\n await this._dataSource.loadMore(this.buildQuery(meta.cursor));\n runInAction(() => {\n this._error = null;\n });\n } catch (err) {\n runInAction(() => {\n this._error = this.toListError(err);\n });\n } finally {\n runInAction(() => {\n this._loadingMore = false;\n });\n }\n },\n refresh: async () => {\n await this.executeQuery();\n }\n };\n\n init(config: IListPresenterConfig<TRow>): void {\n this._dataSource = config.dataSource;\n this._sort = config.initialSort ?? null;\n this._filters = config.initialFilters ?? {};\n this._debounceMs = config.debounceMs ?? 300;\n this._limit = config.limit;\n this._search = \"\";\n this._appliedQuery = null;\n this._selection.reset();\n this._initialized = true;\n this.executeQuery();\n }\n\n private buildQuery(cursor?: string | null): IDataSourceQuery {\n return {\n search: this._search || undefined,\n filters: Object.keys(this._filters).length > 0 ? this._filters : undefined,\n sort: this._sort ?? undefined,\n cursor: cursor ?? undefined,\n limit: this._limit\n };\n }\n\n private async executeQuery(): Promise<void> {\n if (!this._dataSource) {\n return;\n }\n this._error = null;\n const query = this.buildQuery();\n try {\n await this._dataSource.query(query);\n runInAction(() => {\n this._appliedQuery = query;\n });\n } catch (err) {\n runInAction(() => {\n this._error = this.toListError(err);\n });\n }\n }\n\n private requery(): void {\n this.clearDebounce();\n this._selection.reset();\n\n if (!this._requeryScheduled) {\n this._requeryScheduled = true;\n queueMicrotask(() => {\n this._requeryScheduled = false;\n this.executeQuery();\n });\n }\n }\n\n private debouncedRequery(): void {\n this.clearDebounce();\n this._debounceTimer = setTimeout(() => {\n this._selection.reset();\n this.executeQuery();\n }, this._debounceMs);\n }\n\n private clearDebounce(): void {\n if (this._debounceTimer) {\n clearTimeout(this._debounceTimer);\n this._debounceTimer = null;\n }\n }\n\n private getRowId(row: TRow): string {\n return (row as any).id;\n }\n\n private toListError(err: unknown): IListError {\n if (err instanceof Error) {\n return { code: \"UNKNOWN\", message: err.message, retryable: true };\n }\n return { code: \"UNKNOWN\", message: String(err), retryable: true };\n }\n}\n\nexport const ListPresenter = Abstraction.createImplementation({\n implementation: ListPresenterImpl,\n dependencies: []\n});\n"],"names":["ListPresenterImpl","undefined","query","field","direction","key","value","_","rest","id","ids","meta","runInAction","err","SelectionController","row","makeAutoObservable","computed","ds","rows","loading","hasFilters","Object","config","cursor","queueMicrotask","setTimeout","clearTimeout","Error","String","ListPresenter","Abstraction"],"mappings":"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"}
1
+ {"version":3,"file":"presentation/listPresenter/ListPresenter.js","sources":["../../../src/presentation/listPresenter/ListPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, computed } from \"mobx\";\nimport {\n ListPresenter as Abstraction,\n type IListPresenter,\n type IListPresenterConfig,\n type IListViewModel,\n type IListActions,\n type IListError,\n type IDataSource,\n type IDataSourceQuery\n} from \"./abstractions.js\";\nimport { SelectionController } from \"./SelectionController.js\";\n\nclass ListPresenterImpl<TRow> implements IListPresenter<TRow> {\n private _sort: { field: string; direction: \"ASC\" | \"DESC\" } | null = null;\n private _filters: Record<string, unknown> = {};\n private _initialFilterKeys: Set<string> = new Set();\n private _search = \"\";\n private _selection: SelectionController<TRow>;\n private _error: IListError | null = null;\n private _appliedQuery: IDataSourceQuery | null = null;\n private _dataSource: IDataSource<TRow> | null = null;\n private _debounceMs = 300;\n private _debounceTimer: ReturnType<typeof setTimeout> | null = null;\n private _requeryScheduled = false;\n private _limit: number | undefined = undefined;\n private _initialized = false;\n private _loadingMore = false;\n private _showingFilters = false;\n private _itemLabel: { singular: string; plural: string } = {\n singular: \"item\",\n plural: \"items\"\n };\n\n constructor() {\n this._selection = new SelectionController<TRow>(\n () => this._dataSource?.rows ?? [],\n row => this.getRowId(row)\n );\n\n makeAutoObservable<ListPresenterImpl<TRow>, \"_debounceTimer\">(this, {\n _debounceTimer: false,\n vm: computed\n });\n }\n\n get vm(): IListViewModel<TRow> {\n const ds = this._dataSource;\n const rows = ds ? ds.rows : [];\n const meta = ds ? ds.meta : { cursor: null, hasMoreItems: false, totalCount: 0 };\n const loading = ds ? ds.loading : false;\n const hasUserFilters =\n Object.keys(this._filters).some(k => !this._initialFilterKeys.has(k)) ||\n this._search.length > 0;\n\n return {\n rows,\n sort: this._sort,\n filters: this._filters,\n search: this._search,\n appliedQuery: this._appliedQuery,\n pagination: {\n hasMore: meta.hasMoreItems,\n loading: loading && !this._loadingMore,\n loadingMore: this._loadingMore,\n totalCount: meta.totalCount,\n currentCount: rows.length\n },\n selection: {\n selectedIds: this._selection.selectedIds,\n selectedCount: this._selection.selectedCount,\n allSelected: this._selection.allSelected,\n label: this.buildSelectionLabel()\n },\n showingFilters: this._showingFilters,\n empty: rows.length === 0 && !loading,\n emptyWithFilters: rows.length === 0 && !loading && hasUserFilters,\n error: this._error\n };\n }\n\n actions: IListActions = {\n search: {\n set: (query: string) => {\n if (this._search === query) {\n return;\n }\n this._search = query;\n this.debouncedRequery();\n },\n clear: () => {\n if (this._search === \"\") {\n return;\n }\n this._search = \"\";\n this.requery();\n }\n },\n sort: {\n set: (field: string, direction: \"ASC\" | \"DESC\") => {\n this._sort = { field, direction };\n this.requery();\n },\n toggle: (field: string) => {\n if (this._sort && this._sort.field === field) {\n this._sort = {\n field,\n direction: this._sort.direction === \"ASC\" ? \"DESC\" : \"ASC\"\n };\n } else {\n this._sort = { field, direction: \"ASC\" };\n }\n this.requery();\n }\n },\n filter: {\n set: (key: string, value: unknown) => {\n this._filters = { ...this._filters, [key]: value };\n this.requery();\n },\n clear: (key: string) => {\n const { [key]: _, ...rest } = this._filters;\n this._filters = rest;\n this.requery();\n },\n clearAll: () => {\n this._filters = {};\n this.requery();\n },\n show: () => {\n this._showingFilters = true;\n },\n hide: () => {\n this._showingFilters = false;\n }\n },\n selection: {\n toggle: (id: string) => this._selection.toggle(id),\n selectRangeTo: (id: string) => this._selection.selectRangeTo(id),\n selectAll: () => this._selection.selectAll(),\n deselectAll: () => this._selection.deselectAll(),\n selectRows: (ids: string[]) => this._selection.selectRows(ids),\n isSelected: (id: string) => this._selection.isSelected(id)\n },\n loadMore: async () => {\n if (!this._dataSource) {\n return;\n }\n const meta = this._dataSource.meta;\n if (!meta.hasMoreItems || this._dataSource.loading) {\n return;\n }\n this._loadingMore = true;\n try {\n await this._dataSource.loadMore(this.buildQuery(meta.cursor));\n runInAction(() => {\n this._error = null;\n });\n } catch (err) {\n runInAction(() => {\n this._error = this.toListError(err);\n });\n } finally {\n runInAction(() => {\n this._loadingMore = false;\n });\n }\n },\n refresh: async () => {\n await this.executeQuery();\n }\n };\n\n init(config: IListPresenterConfig<TRow>): void {\n this._dataSource = config.dataSource;\n this._sort = config.initialSort ?? null;\n this._filters = config.initialFilters ?? {};\n this._initialFilterKeys = new Set(Object.keys(this._filters));\n this._debounceMs = config.debounceMs ?? 300;\n this._limit = config.limit;\n this._itemLabel = config.itemLabel ?? { singular: \"item\", plural: \"items\" };\n this._search = config.initialSearch ?? \"\";\n this._appliedQuery = null;\n this._selection.reset();\n this._initialized = true;\n this.executeQuery();\n }\n\n private buildQuery(cursor?: string | null): IDataSourceQuery {\n return {\n search: this._search || undefined,\n filters: Object.keys(this._filters).length > 0 ? this._filters : undefined,\n sort: this._sort ?? undefined,\n cursor: cursor ?? undefined,\n limit: this._limit\n };\n }\n\n private async executeQuery(): Promise<void> {\n if (!this._dataSource) {\n return;\n }\n this._error = null;\n const query = this.buildQuery();\n try {\n await this._dataSource.query(query);\n runInAction(() => {\n this._appliedQuery = query;\n });\n } catch (err) {\n runInAction(() => {\n this._error = this.toListError(err);\n });\n }\n }\n\n private requery(): void {\n this.clearDebounce();\n this._selection.reset();\n\n if (!this._requeryScheduled) {\n this._requeryScheduled = true;\n queueMicrotask(() => {\n this._requeryScheduled = false;\n this.executeQuery();\n });\n }\n }\n\n private debouncedRequery(): void {\n this.clearDebounce();\n this._debounceTimer = setTimeout(() => {\n this._selection.reset();\n this.executeQuery();\n }, this._debounceMs);\n }\n\n private clearDebounce(): void {\n if (this._debounceTimer) {\n clearTimeout(this._debounceTimer);\n this._debounceTimer = null;\n }\n }\n\n private getRowId(row: TRow): string {\n return (row as any).id;\n }\n\n private buildSelectionLabel(): string {\n const { selectedCount, allSelected } = this._selection;\n if (allSelected) {\n return `all ${this._itemLabel.plural}`;\n }\n if (selectedCount === 0) {\n return \"\";\n }\n const noun = selectedCount === 1 ? this._itemLabel.singular : this._itemLabel.plural;\n return `${selectedCount} ${noun}`;\n }\n\n private toListError(err: unknown): IListError {\n if (err instanceof Error) {\n return { code: \"UNKNOWN\", message: err.message, retryable: true };\n }\n return { code: \"UNKNOWN\", message: String(err), retryable: true };\n }\n}\n\nexport const ListPresenter = Abstraction.createImplementation({\n implementation: ListPresenterImpl,\n dependencies: []\n});\n"],"names":["ListPresenterImpl","Set","undefined","query","field","direction","key","value","_","rest","id","ids","meta","runInAction","err","SelectionController","row","makeAutoObservable","computed","ds","rows","loading","hasUserFilters","Object","k","config","cursor","queueMicrotask","setTimeout","clearTimeout","selectedCount","allSelected","noun","Error","String","ListPresenter","Abstraction"],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { IDataSourceQuery } from "./abstractions.js";
2
+ type ItemPredicate<TRow> = (item: TRow, value: unknown) => boolean;
3
+ export interface QueryMatcherConfig<TRow> {
4
+ keyField: keyof TRow & string;
5
+ localFilters: Record<string, ItemPredicate<TRow>>;
6
+ }
7
+ /**
8
+ * Decides which cached items belong in the current view.
9
+ *
10
+ * A DataSource backed by a shared cache (e.g., per-model entry cache) needs to
11
+ * filter cached items to only those matching the active query. QueryMatcher does
12
+ * this by splitting filters into two categories:
13
+ *
14
+ * - **Local filters** (e.g., folderId, status) — evaluated client-side against
15
+ * each item using predicates provided via `localFilters` config. Used when
16
+ * browsing without search or server-side filters.
17
+ *
18
+ * - **Server-side filters** (search, advanced search, any filter key not in
19
+ * `localFilters`) — cannot be evaluated locally. Instead, QueryMatcher tracks
20
+ * the set of item keys returned by the last server query (`_queryResultKeys`)
21
+ * and restricts the view to those items.
22
+ *
23
+ * The `matcher` getter is MobX-computed, so any DataSource `rows` getter that
24
+ * reads it will recompute when the matcher changes after a query.
25
+ *
26
+ * Usage:
27
+ * ```ts
28
+ * const matcher = new QueryMatcher<MyItem>({
29
+ * keyField: "id",
30
+ * localFilters: {
31
+ * folderId: (item, value) => item.folderId === value,
32
+ * status: (item, value) => item.status === value,
33
+ * }
34
+ * });
35
+ *
36
+ * // In DataSource.query(), after fetching:
37
+ * matcher.updateFromQuery(params, result.data.map(item => item.id));
38
+ *
39
+ * // In DataSource.rows getter:
40
+ * return cache.getItems().filter(matcher.matcher);
41
+ * ```
42
+ */
43
+ export declare class QueryMatcher<TRow> {
44
+ private config;
45
+ private _queryResultKeys;
46
+ private _matcher;
47
+ private localFilterKeys;
48
+ constructor(config: QueryMatcherConfig<TRow>);
49
+ get matcher(): (item: TRow) => boolean;
50
+ filter(items: TRow[]): TRow[];
51
+ hasServerSideFilters(params: IDataSourceQuery): boolean;
52
+ updateFromQuery(params: IDataSourceQuery, resultKeys: string[]): void;
53
+ appendResultKeys(keys: string[]): void;
54
+ private buildMatcher;
55
+ }
56
+ export {};
@@ -0,0 +1,59 @@
1
+ import { action, computed, makeObservable, observableRef } from "mobx";
2
+ class QueryMatcher {
3
+ constructor(config){
4
+ this.config = config;
5
+ this._queryResultKeys = null;
6
+ this._matcher = ()=>true;
7
+ this.localFilterKeys = new Set(Object.keys(config.localFilters));
8
+ makeObservable(this, {
9
+ _matcher: observableRef,
10
+ matcher: computed,
11
+ updateFromQuery: action,
12
+ appendResultKeys: action
13
+ });
14
+ }
15
+ get matcher() {
16
+ return this._matcher;
17
+ }
18
+ filter(items) {
19
+ return items.filter(this._matcher);
20
+ }
21
+ hasServerSideFilters(params) {
22
+ if (params.search) return true;
23
+ const filters = params.filters ?? {};
24
+ return Object.keys(filters).some((key)=>!this.localFilterKeys.has(key));
25
+ }
26
+ updateFromQuery(params, resultKeys) {
27
+ if (this.hasServerSideFilters(params)) this._queryResultKeys = new Set(resultKeys);
28
+ else this._queryResultKeys = null;
29
+ this._matcher = this.buildMatcher(params);
30
+ }
31
+ appendResultKeys(keys) {
32
+ if (this._queryResultKeys) for (const key of keys)this._queryResultKeys.add(key);
33
+ }
34
+ buildMatcher(params) {
35
+ const filters = params.filters ?? {};
36
+ const queryResultKeys = this._queryResultKeys;
37
+ const isSearching = !!params.search;
38
+ const { keyField, localFilters } = this.config;
39
+ const activeLocalFilters = [];
40
+ for (const [key, predicate] of Object.entries(localFilters)){
41
+ const value = filters[key];
42
+ if (null != value) activeLocalFilters.push({
43
+ predicate,
44
+ value
45
+ });
46
+ }
47
+ return (item)=>{
48
+ if (queryResultKeys) {
49
+ if (!queryResultKeys.has(String(item[keyField]))) return false;
50
+ } else if (!isSearching) {
51
+ for (const { predicate, value } of activeLocalFilters)if (!predicate(item, value)) return false;
52
+ }
53
+ return true;
54
+ };
55
+ }
56
+ }
57
+ export { QueryMatcher };
58
+
59
+ //# sourceMappingURL=QueryMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/listPresenter/QueryMatcher.js","sources":["../../../src/presentation/listPresenter/QueryMatcher.ts"],"sourcesContent":["import { makeObservable, observableRef, computed, action } from \"mobx\";\nimport type { IDataSourceQuery } from \"./abstractions.js\";\n\ntype ItemPredicate<TRow> = (item: TRow, value: unknown) => boolean;\n\nexport interface QueryMatcherConfig<TRow> {\n keyField: keyof TRow & string;\n localFilters: Record<string, ItemPredicate<TRow>>;\n}\n\n/**\n * Decides which cached items belong in the current view.\n *\n * A DataSource backed by a shared cache (e.g., per-model entry cache) needs to\n * filter cached items to only those matching the active query. QueryMatcher does\n * this by splitting filters into two categories:\n *\n * - **Local filters** (e.g., folderId, status) — evaluated client-side against\n * each item using predicates provided via `localFilters` config. Used when\n * browsing without search or server-side filters.\n *\n * - **Server-side filters** (search, advanced search, any filter key not in\n * `localFilters`) — cannot be evaluated locally. Instead, QueryMatcher tracks\n * the set of item keys returned by the last server query (`_queryResultKeys`)\n * and restricts the view to those items.\n *\n * The `matcher` getter is MobX-computed, so any DataSource `rows` getter that\n * reads it will recompute when the matcher changes after a query.\n *\n * Usage:\n * ```ts\n * const matcher = new QueryMatcher<MyItem>({\n * keyField: \"id\",\n * localFilters: {\n * folderId: (item, value) => item.folderId === value,\n * status: (item, value) => item.status === value,\n * }\n * });\n *\n * // In DataSource.query(), after fetching:\n * matcher.updateFromQuery(params, result.data.map(item => item.id));\n *\n * // In DataSource.rows getter:\n * return cache.getItems().filter(matcher.matcher);\n * ```\n */\nexport class QueryMatcher<TRow> {\n private _queryResultKeys: Set<string> | null = null;\n private _matcher: (item: TRow) => boolean = () => true;\n private localFilterKeys: Set<string>;\n\n constructor(private config: QueryMatcherConfig<TRow>) {\n this.localFilterKeys = new Set(Object.keys(config.localFilters));\n\n makeObservable<QueryMatcher<TRow>, \"_matcher\">(this, {\n _matcher: observableRef,\n matcher: computed,\n updateFromQuery: action,\n appendResultKeys: action\n });\n }\n\n get matcher(): (item: TRow) => boolean {\n return this._matcher;\n }\n\n filter(items: TRow[]): TRow[] {\n return items.filter(this._matcher);\n }\n\n hasServerSideFilters(params: IDataSourceQuery): boolean {\n if (params.search) {\n return true;\n }\n const filters = params.filters ?? {};\n return Object.keys(filters).some(key => !this.localFilterKeys.has(key));\n }\n\n updateFromQuery(params: IDataSourceQuery, resultKeys: string[]): void {\n if (this.hasServerSideFilters(params)) {\n this._queryResultKeys = new Set(resultKeys);\n } else {\n this._queryResultKeys = null;\n }\n this._matcher = this.buildMatcher(params);\n }\n\n appendResultKeys(keys: string[]): void {\n if (this._queryResultKeys) {\n for (const key of keys) {\n this._queryResultKeys.add(key);\n }\n }\n }\n\n private buildMatcher(params: IDataSourceQuery): (item: TRow) => boolean {\n const filters = params.filters ?? {};\n const queryResultKeys = this._queryResultKeys;\n const isSearching = !!params.search;\n const { keyField, localFilters } = this.config;\n\n const activeLocalFilters: Array<{ predicate: ItemPredicate<TRow>; value: unknown }> = [];\n for (const [key, predicate] of Object.entries(localFilters)) {\n const value = filters[key];\n if (value !== undefined && value !== null) {\n activeLocalFilters.push({ predicate, value });\n }\n }\n\n return (item: TRow) => {\n if (queryResultKeys) {\n if (!queryResultKeys.has(String(item[keyField]))) {\n return false;\n }\n } else if (!isSearching) {\n for (const { predicate, value } of activeLocalFilters) {\n if (!predicate(item, value)) {\n return false;\n }\n }\n }\n\n return true;\n };\n }\n}\n"],"names":["QueryMatcher","config","Set","Object","makeObservable","observableRef","computed","action","items","params","filters","key","resultKeys","keys","queryResultKeys","isSearching","keyField","localFilters","activeLocalFilters","predicate","value","item","String"],"mappings":";AA8CO,MAAMA;IAKT,YAAoBC,MAAgC,CAAE;aAAlCA,MAAM,GAANA;aAJZ,gBAAgB,GAAuB;aACvC,QAAQ,GAA4B,IAAM;QAI9C,IAAI,CAAC,eAAe,GAAG,IAAIC,IAAIC,OAAO,IAAI,CAACF,OAAO,YAAY;QAE9DG,eAA+C,IAAI,EAAE;YACjD,UAAUC;YACV,SAASC;YACT,iBAAiBC;YACjB,kBAAkBA;QACtB;IACJ;IAEA,IAAI,UAAmC;QACnC,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,OAAOC,KAAa,EAAU;QAC1B,OAAOA,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ;IACrC;IAEA,qBAAqBC,MAAwB,EAAW;QACpD,IAAIA,OAAO,MAAM,EACb,OAAO;QAEX,MAAMC,UAAUD,OAAO,OAAO,IAAI,CAAC;QACnC,OAAON,OAAO,IAAI,CAACO,SAAS,IAAI,CAACC,CAAAA,MAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAACA;IACtE;IAEA,gBAAgBF,MAAwB,EAAEG,UAAoB,EAAQ;QAClE,IAAI,IAAI,CAAC,oBAAoB,CAACH,SAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAIP,IAAIU;aAEhC,IAAI,CAAC,gBAAgB,GAAG;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAACH;IACtC;IAEA,iBAAiBI,IAAc,EAAQ;QACnC,IAAI,IAAI,CAAC,gBAAgB,EACrB,KAAK,MAAMF,OAAOE,KACd,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAACF;IAGtC;IAEQ,aAAaF,MAAwB,EAA2B;QACpE,MAAMC,UAAUD,OAAO,OAAO,IAAI,CAAC;QACnC,MAAMK,kBAAkB,IAAI,CAAC,gBAAgB;QAC7C,MAAMC,cAAc,CAAC,CAACN,OAAO,MAAM;QACnC,MAAM,EAAEO,QAAQ,EAAEC,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM;QAE9C,MAAMC,qBAAgF,EAAE;QACxF,KAAK,MAAM,CAACP,KAAKQ,UAAU,IAAIhB,OAAO,OAAO,CAACc,cAAe;YACzD,MAAMG,QAAQV,OAAO,CAACC,IAAI;YAC1B,IAAIS,QAAAA,OACAF,mBAAmB,IAAI,CAAC;gBAAEC;gBAAWC;YAAM;QAEnD;QAEA,OAAO,CAACC;YACJ,IAAIP,iBACA;gBAAA,IAAI,CAACA,gBAAgB,GAAG,CAACQ,OAAOD,IAAI,CAACL,SAAS,IAC1C,OAAO;YACX,OACG,IAAI,CAACD,aACR;gBAAA,KAAK,MAAM,EAAEI,SAAS,EAAEC,KAAK,EAAE,IAAIF,mBAC/B,IAAI,CAACC,UAAUE,MAAMD,QACjB,OAAO;YAEf;YAGJ,OAAO;QACX;IACJ;AACJ"}
@@ -0,0 +1,15 @@
1
+ import type { IDataSource, IDataSourceQuery, IDataSourceMeta } from "./abstractions.js";
2
+ import type { FetchResult } from "./FolderAwareDataSource.js";
3
+ export declare abstract class SimpleDataSource<TRow> implements IDataSource<TRow> {
4
+ private _meta;
5
+ private _loading;
6
+ protected constructor();
7
+ abstract get rows(): TRow[];
8
+ abstract fetch(params: IDataSourceQuery): Promise<FetchResult<TRow>>;
9
+ protected onQueryResult(_data: TRow[]): void;
10
+ protected onLoadMoreResult(_data: TRow[]): void;
11
+ get meta(): IDataSourceMeta;
12
+ get loading(): boolean;
13
+ query(params: IDataSourceQuery): Promise<void>;
14
+ loadMore(params: IDataSourceQuery): Promise<void>;
15
+ }
@@ -0,0 +1,70 @@
1
+ import { action, computed, makeObservable, observable, runInAction } from "mobx";
2
+ class SimpleDataSource {
3
+ constructor(){
4
+ this._meta = {
5
+ cursor: null,
6
+ hasMoreItems: false,
7
+ totalCount: 0
8
+ };
9
+ this._loading = false;
10
+ makeObservable(this, {
11
+ _meta: observable,
12
+ _loading: observable,
13
+ meta: computed,
14
+ loading: computed,
15
+ query: action,
16
+ loadMore: action
17
+ });
18
+ }
19
+ onQueryResult(_data) {}
20
+ onLoadMoreResult(_data) {}
21
+ get meta() {
22
+ return this._meta;
23
+ }
24
+ get loading() {
25
+ return this._loading;
26
+ }
27
+ async query(params) {
28
+ this._loading = true;
29
+ try {
30
+ const result = await this.fetch(params);
31
+ runInAction(()=>{
32
+ this.onQueryResult(result.data);
33
+ this._meta = {
34
+ cursor: result.meta.cursor,
35
+ hasMoreItems: result.meta.hasMoreItems,
36
+ totalCount: result.meta.totalCount
37
+ };
38
+ });
39
+ } finally{
40
+ runInAction(()=>{
41
+ this._loading = false;
42
+ });
43
+ }
44
+ }
45
+ async loadMore(params) {
46
+ if (!this._meta.hasMoreItems || this._loading) return;
47
+ this._loading = true;
48
+ try {
49
+ const result = await this.fetch({
50
+ ...params,
51
+ cursor: this._meta.cursor ?? void 0
52
+ });
53
+ runInAction(()=>{
54
+ this.onLoadMoreResult(result.data);
55
+ this._meta = {
56
+ cursor: result.meta.cursor,
57
+ hasMoreItems: result.meta.hasMoreItems,
58
+ totalCount: result.meta.totalCount
59
+ };
60
+ });
61
+ } finally{
62
+ runInAction(()=>{
63
+ this._loading = false;
64
+ });
65
+ }
66
+ }
67
+ }
68
+ export { SimpleDataSource };
69
+
70
+ //# sourceMappingURL=SimpleDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/listPresenter/SimpleDataSource.js","sources":["../../../src/presentation/listPresenter/SimpleDataSource.ts"],"sourcesContent":["import { makeObservable, observable, computed, runInAction, action } from \"mobx\";\nimport type { IDataSource, IDataSourceQuery, IDataSourceMeta } from \"./abstractions.js\";\nimport type { FetchResult } from \"./FolderAwareDataSource.js\";\n\nexport abstract class SimpleDataSource<TRow> implements IDataSource<TRow> {\n private _meta: IDataSourceMeta = { cursor: null, hasMoreItems: false, totalCount: 0 };\n private _loading = false;\n\n protected constructor() {\n makeObservable<SimpleDataSource<TRow>, \"_meta\" | \"_loading\">(this, {\n _meta: observable,\n _loading: observable,\n meta: computed,\n loading: computed,\n query: action,\n loadMore: action\n });\n }\n\n abstract get rows(): TRow[];\n\n abstract fetch(params: IDataSourceQuery): Promise<FetchResult<TRow>>;\n\n protected onQueryResult(_data: TRow[]): void {}\n\n protected onLoadMoreResult(_data: TRow[]): void {}\n\n get meta(): IDataSourceMeta {\n return this._meta;\n }\n\n get loading(): boolean {\n return this._loading;\n }\n\n async query(params: IDataSourceQuery): Promise<void> {\n this._loading = true;\n\n try {\n const result = await this.fetch(params);\n\n runInAction(() => {\n this.onQueryResult(result.data);\n this._meta = {\n cursor: result.meta.cursor,\n hasMoreItems: result.meta.hasMoreItems,\n totalCount: result.meta.totalCount\n };\n });\n } finally {\n runInAction(() => {\n this._loading = false;\n });\n }\n }\n\n async loadMore(params: IDataSourceQuery): Promise<void> {\n if (!this._meta.hasMoreItems || this._loading) {\n return;\n }\n\n this._loading = true;\n\n try {\n const result = await this.fetch({\n ...params,\n cursor: this._meta.cursor ?? undefined\n });\n\n runInAction(() => {\n this.onLoadMoreResult(result.data);\n this._meta = {\n cursor: result.meta.cursor,\n hasMoreItems: result.meta.hasMoreItems,\n totalCount: result.meta.totalCount\n };\n });\n } finally {\n runInAction(() => {\n this._loading = false;\n });\n }\n }\n}\n"],"names":["SimpleDataSource","makeObservable","observable","computed","action","_data","params","result","runInAction","undefined"],"mappings":";AAIO,MAAeA;IAIlB,aAAwB;aAHhB,KAAK,GAAoB;YAAE,QAAQ;YAAM,cAAc;YAAO,YAAY;QAAE;aAC5E,QAAQ,GAAG;QAGfC,eAA6D,IAAI,EAAE;YAC/D,OAAOC;YACP,UAAUA;YACV,MAAMC;YACN,SAASA;YACT,OAAOC;YACP,UAAUA;QACd;IACJ;IAMU,cAAcC,KAAa,EAAQ,CAAC;IAEpC,iBAAiBA,KAAa,EAAQ,CAAC;IAEjD,IAAI,OAAwB;QACxB,OAAO,IAAI,CAAC,KAAK;IACrB;IAEA,IAAI,UAAmB;QACnB,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,MAAM,MAAMC,MAAwB,EAAiB;QACjD,IAAI,CAAC,QAAQ,GAAG;QAEhB,IAAI;YACA,MAAMC,SAAS,MAAM,IAAI,CAAC,KAAK,CAACD;YAEhCE,YAAY;gBACR,IAAI,CAAC,aAAa,CAACD,OAAO,IAAI;gBAC9B,IAAI,CAAC,KAAK,GAAG;oBACT,QAAQA,OAAO,IAAI,CAAC,MAAM;oBAC1B,cAAcA,OAAO,IAAI,CAAC,YAAY;oBACtC,YAAYA,OAAO,IAAI,CAAC,UAAU;gBACtC;YACJ;QACJ,SAAU;YACNC,YAAY;gBACR,IAAI,CAAC,QAAQ,GAAG;YACpB;QACJ;IACJ;IAEA,MAAM,SAASF,MAAwB,EAAiB;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACzC;QAGJ,IAAI,CAAC,QAAQ,GAAG;QAEhB,IAAI;YACA,MAAMC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC5B,GAAGD,MAAM;gBACT,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,IAAIG;YACjC;YAEAD,YAAY;gBACR,IAAI,CAAC,gBAAgB,CAACD,OAAO,IAAI;gBACjC,IAAI,CAAC,KAAK,GAAG;oBACT,QAAQA,OAAO,IAAI,CAAC,MAAM;oBAC1B,cAAcA,OAAO,IAAI,CAAC,YAAY;oBACtC,YAAYA,OAAO,IAAI,CAAC,UAAU;gBACtC;YACJ;QACJ,SAAU;YACNC,YAAY;gBACR,IAAI,CAAC,QAAQ,GAAG;YACpB;QACJ;IACJ;AACJ"}
@@ -31,8 +31,13 @@ export interface IListPresenterConfig<TRow> {
31
31
  direction: "ASC" | "DESC";
32
32
  };
33
33
  initialFilters?: Record<string, unknown>;
34
+ initialSearch?: string;
34
35
  debounceMs?: number;
35
36
  limit?: number;
37
+ itemLabel?: {
38
+ singular: string;
39
+ plural: string;
40
+ };
36
41
  }
37
42
  export interface IListError {
38
43
  code: string;
@@ -59,7 +64,9 @@ export interface IListViewModel<TRow> {
59
64
  selectedIds: Set<string>;
60
65
  selectedCount: number;
61
66
  allSelected: boolean;
67
+ label: string;
62
68
  };
69
+ showingFilters: boolean;
63
70
  empty: boolean;
64
71
  emptyWithFilters: boolean;
65
72
  error: IListError | null;
@@ -77,6 +84,8 @@ export interface IListActions {
77
84
  set(key: string, value: unknown): void;
78
85
  clear(key: string): void;
79
86
  clearAll(): void;
87
+ show(): void;
88
+ hide(): void;
80
89
  };
81
90
  selection: {
82
91
  toggle(id: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"presentation/listPresenter/abstractions.js","sources":["../../../src/presentation/listPresenter/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\n\n// ---------------------------------------------------------------------------\n// DataSource interfaces\n// ---------------------------------------------------------------------------\n\nexport interface IDataSourceQuery {\n search?: string;\n filters?: Record<string, unknown>;\n sort?: { field: string; direction: \"ASC\" | \"DESC\" };\n cursor?: string;\n limit?: number;\n}\n\nexport interface IDataSourceMeta {\n cursor: string | null;\n hasMoreItems: boolean;\n totalCount: number;\n}\n\nexport interface IDataSourceResult<TRow> {\n rows: TRow[];\n meta: IDataSourceMeta;\n}\n\nexport interface IDataSource<TRow> {\n readonly rows: TRow[];\n readonly meta: IDataSourceMeta;\n readonly loading: boolean;\n query(params: IDataSourceQuery): Promise<void>;\n loadMore(params: IDataSourceQuery): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// ListPresenter config\n// ---------------------------------------------------------------------------\n\nexport interface IListPresenterConfig<TRow> {\n dataSource: IDataSource<TRow>;\n initialSort?: { field: string; direction: \"ASC\" | \"DESC\" };\n initialFilters?: Record<string, unknown>;\n debounceMs?: number;\n limit?: number;\n}\n\n// ---------------------------------------------------------------------------\n// ListError\n// ---------------------------------------------------------------------------\n\nexport interface IListError {\n code: string;\n message: string;\n retryable: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// ListViewModel\n// ---------------------------------------------------------------------------\n\nexport interface IListViewModel<TRow> {\n rows: TRow[];\n sort: { field: string; direction: \"ASC\" | \"DESC\" } | null;\n filters: Record<string, unknown>;\n search: string;\n appliedQuery: IDataSourceQuery | null;\n pagination: {\n hasMore: boolean;\n loading: boolean;\n loadingMore: boolean;\n totalCount: number;\n currentCount: number;\n };\n selection: {\n selectedIds: Set<string>;\n selectedCount: number;\n allSelected: boolean;\n };\n empty: boolean;\n emptyWithFilters: boolean;\n error: IListError | null;\n}\n\n// ---------------------------------------------------------------------------\n// ListActions\n// ---------------------------------------------------------------------------\n\nexport interface IListActions {\n search: {\n set(query: string): void;\n clear(): void;\n };\n sort: {\n set(field: string, direction: \"ASC\" | \"DESC\"): void;\n toggle(field: string): void;\n };\n filter: {\n set(key: string, value: unknown): void;\n clear(key: string): void;\n clearAll(): void;\n };\n selection: {\n toggle(id: string): void;\n selectRangeTo(id: string): void;\n selectAll(): void;\n deselectAll(): void;\n selectRows(ids: string[]): void;\n isSelected(id: string): boolean;\n };\n loadMore(): Promise<void>;\n refresh(): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// ListPresenter abstraction\n// ---------------------------------------------------------------------------\n\nexport interface IListPresenter<TRow> {\n vm: IListViewModel<TRow>;\n actions: IListActions;\n init(config: IListPresenterConfig<TRow>): void;\n}\n\nexport const ListPresenter = createAbstraction<IListPresenter<any>>(\"ListPresenter\");\n\nexport namespace ListPresenter {\n export type Interface<TRow = any> = IListPresenter<TRow>;\n export type ViewModel<TRow = any> = IListViewModel<TRow>;\n export type Actions = IListActions;\n export type Config<TRow = any> = IListPresenterConfig<TRow>;\n export type Error = IListError;\n export type DataSource<TRow = any> = IDataSource<TRow>;\n export type DataSourceQuery = IDataSourceQuery;\n export type DataSourceResult<TRow = any> = IDataSourceResult<TRow>;\n}\n"],"names":["ListPresenter","createAbstraction"],"mappings":";AA0HO,MAAMA,gBAAgBC,kBAAuC"}
1
+ {"version":3,"file":"presentation/listPresenter/abstractions.js","sources":["../../../src/presentation/listPresenter/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\n\n// ---------------------------------------------------------------------------\n// DataSource interfaces\n// ---------------------------------------------------------------------------\n\nexport interface IDataSourceQuery {\n search?: string;\n filters?: Record<string, unknown>;\n sort?: { field: string; direction: \"ASC\" | \"DESC\" };\n cursor?: string;\n limit?: number;\n}\n\nexport interface IDataSourceMeta {\n cursor: string | null;\n hasMoreItems: boolean;\n totalCount: number;\n}\n\nexport interface IDataSourceResult<TRow> {\n rows: TRow[];\n meta: IDataSourceMeta;\n}\n\nexport interface IDataSource<TRow> {\n readonly rows: TRow[];\n readonly meta: IDataSourceMeta;\n readonly loading: boolean;\n query(params: IDataSourceQuery): Promise<void>;\n loadMore(params: IDataSourceQuery): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// ListPresenter config\n// ---------------------------------------------------------------------------\n\nexport interface IListPresenterConfig<TRow> {\n dataSource: IDataSource<TRow>;\n initialSort?: { field: string; direction: \"ASC\" | \"DESC\" };\n initialFilters?: Record<string, unknown>;\n initialSearch?: string;\n debounceMs?: number;\n limit?: number;\n itemLabel?: { singular: string; plural: string };\n}\n\n// ---------------------------------------------------------------------------\n// ListError\n// ---------------------------------------------------------------------------\n\nexport interface IListError {\n code: string;\n message: string;\n retryable: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// ListViewModel\n// ---------------------------------------------------------------------------\n\nexport interface IListViewModel<TRow> {\n rows: TRow[];\n sort: { field: string; direction: \"ASC\" | \"DESC\" } | null;\n filters: Record<string, unknown>;\n search: string;\n appliedQuery: IDataSourceQuery | null;\n pagination: {\n hasMore: boolean;\n loading: boolean;\n loadingMore: boolean;\n totalCount: number;\n currentCount: number;\n };\n selection: {\n selectedIds: Set<string>;\n selectedCount: number;\n allSelected: boolean;\n label: string;\n };\n showingFilters: boolean;\n empty: boolean;\n emptyWithFilters: boolean;\n error: IListError | null;\n}\n\n// ---------------------------------------------------------------------------\n// ListActions\n// ---------------------------------------------------------------------------\n\nexport interface IListActions {\n search: {\n set(query: string): void;\n clear(): void;\n };\n sort: {\n set(field: string, direction: \"ASC\" | \"DESC\"): void;\n toggle(field: string): void;\n };\n filter: {\n set(key: string, value: unknown): void;\n clear(key: string): void;\n clearAll(): void;\n show(): void;\n hide(): void;\n };\n selection: {\n toggle(id: string): void;\n selectRangeTo(id: string): void;\n selectAll(): void;\n deselectAll(): void;\n selectRows(ids: string[]): void;\n isSelected(id: string): boolean;\n };\n loadMore(): Promise<void>;\n refresh(): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// ListPresenter abstraction\n// ---------------------------------------------------------------------------\n\nexport interface IListPresenter<TRow> {\n vm: IListViewModel<TRow>;\n actions: IListActions;\n init(config: IListPresenterConfig<TRow>): void;\n}\n\nexport const ListPresenter = createAbstraction<IListPresenter<any>>(\"ListPresenter\");\n\nexport namespace ListPresenter {\n export type Interface<TRow = any> = IListPresenter<TRow>;\n export type ViewModel<TRow = any> = IListViewModel<TRow>;\n export type Actions = IListActions;\n export type Config<TRow = any> = IListPresenterConfig<TRow>;\n export type Error = IListError;\n export type DataSource<TRow = any> = IDataSource<TRow>;\n export type DataSourceQuery = IDataSourceQuery;\n export type DataSourceResult<TRow = any> = IDataSourceResult<TRow>;\n}\n"],"names":["ListPresenter","createAbstraction"],"mappings":";AAgIO,MAAMA,gBAAgBC,kBAAuC"}
@@ -1,3 +1,8 @@
1
1
  export { ListPresenterFeature } from "./feature.js";
2
2
  export { ListPresenter } from "./abstractions.js";
3
3
  export type { IListPresenter, IListPresenterConfig, IListViewModel, IListActions, IListError, IDataSource, IDataSourceQuery, IDataSourceResult } from "./abstractions.js";
4
+ export { QueryMatcher } from "./QueryMatcher.js";
5
+ export type { QueryMatcherConfig } from "./QueryMatcher.js";
6
+ export { FolderAwareDataSource } from "./FolderAwareDataSource.js";
7
+ export type { FolderAwareDataSourceConfig, FetchParams, FetchResult } from "./FolderAwareDataSource.js";
8
+ export { SimpleDataSource } from "./SimpleDataSource.js";
@@ -1,2 +1,5 @@
1
1
  export { ListPresenterFeature } from "./feature.js";
2
2
  export { ListPresenter } from "./abstractions.js";
3
+ export { QueryMatcher } from "./QueryMatcher.js";
4
+ export { FolderAwareDataSource } from "./FolderAwareDataSource.js";
5
+ export { SimpleDataSource } from "./SimpleDataSource.js";
@@ -6,5 +6,5 @@ interface HasPermissionProps {
6
6
  children: React.ReactNode;
7
7
  }
8
8
  export declare const HasPermission: ({ children, ...props }: HasPermissionProps) => React.JSX.Element | null;
9
- export declare const HasPermissionComponent: ({ children, ...props }: HasPermissionProps) => React.JSX.Element | null;
9
+ export declare const HasPermissionComponent: typeof HasPermission;
10
10
  export {};
@@ -0,0 +1,23 @@
1
+ import { SortablePresenter as Abstraction } from "./abstractions.js";
2
+ declare class SortablePresenterImpl implements Abstraction.Interface {
3
+ private draggingIndex;
4
+ private overIndex;
5
+ private closestEdge;
6
+ private cleanups;
7
+ private config;
8
+ constructor();
9
+ init(config: Abstraction.Config): void;
10
+ getItemProps(index: number): Abstraction.ItemProps;
11
+ dispose(): void;
12
+ private get type();
13
+ private isOwnDrag;
14
+ private getVisibleEdge;
15
+ private clearDropState;
16
+ private computeDestination;
17
+ private registerDropTarget;
18
+ private registerDraggable;
19
+ }
20
+ export declare const SortablePresenter: typeof SortablePresenterImpl & {
21
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ISortablePresenter>;
22
+ };
23
+ export {};
@@ -0,0 +1,175 @@
1
+ import { makeAutoObservable, runInAction } from "mobx";
2
+ import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
3
+ import { attachClosestEdge, extractClosestEdge } from "@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge";
4
+ import { SortablePresenter } from "./abstractions.js";
5
+ function toSortableEdge(edge) {
6
+ if ("top" === edge || "bottom" === edge) return edge;
7
+ return null;
8
+ }
9
+ function getIndex(data) {
10
+ const index = data["index"];
11
+ if ("number" == typeof index) return index;
12
+ return null;
13
+ }
14
+ function getType(data) {
15
+ const type = data["type"];
16
+ if ("string" == typeof type) return type;
17
+ return null;
18
+ }
19
+ class SortablePresenterImpl {
20
+ constructor(){
21
+ this.draggingIndex = null;
22
+ this.overIndex = null;
23
+ this.closestEdge = null;
24
+ this.cleanups = new Map();
25
+ this.config = null;
26
+ makeAutoObservable(this, {
27
+ cleanups: false,
28
+ config: false
29
+ });
30
+ }
31
+ init(config) {
32
+ this.config = config;
33
+ }
34
+ getItemProps(index) {
35
+ return {
36
+ ref: (element)=>{
37
+ this.registerDropTarget(index, element);
38
+ },
39
+ handleRef: (element)=>{
40
+ this.registerDraggable(index, element);
41
+ },
42
+ isDragging: this.draggingIndex === index,
43
+ isOver: this.overIndex === index && this.draggingIndex !== index,
44
+ closestEdge: this.getVisibleEdge(index)
45
+ };
46
+ }
47
+ dispose() {
48
+ for (const cleanup of this.cleanups.values())cleanup();
49
+ this.cleanups.clear();
50
+ this.draggingIndex = null;
51
+ this.overIndex = null;
52
+ this.closestEdge = null;
53
+ }
54
+ get type() {
55
+ return this.config.type;
56
+ }
57
+ isOwnDrag(data) {
58
+ return getType(data) === this.type;
59
+ }
60
+ getVisibleEdge(index) {
61
+ if (this.overIndex !== index || this.draggingIndex === index || null === this.draggingIndex) return null;
62
+ const edge = this.closestEdge;
63
+ if ("top" === edge && this.draggingIndex === index - 1) return null;
64
+ if ("bottom" === edge && this.draggingIndex === index + 1) return null;
65
+ return edge;
66
+ }
67
+ clearDropState() {
68
+ this.draggingIndex = null;
69
+ this.overIndex = null;
70
+ this.closestEdge = null;
71
+ }
72
+ computeDestination(fromIndex, toIndex, edge) {
73
+ let destinationIndex = toIndex;
74
+ if ("bottom" === edge) destinationIndex = fromIndex < toIndex ? toIndex : toIndex + 1;
75
+ else if ("top" === edge) destinationIndex = fromIndex > toIndex ? toIndex : toIndex - 1;
76
+ return destinationIndex;
77
+ }
78
+ registerDropTarget(index, element) {
79
+ const key = 2 * index;
80
+ const existing = this.cleanups.get(key);
81
+ if (existing) {
82
+ existing();
83
+ this.cleanups.delete(key);
84
+ }
85
+ if (!element) return;
86
+ const cleanup = dropTargetForElements({
87
+ element,
88
+ canDrop: ({ source })=>this.isOwnDrag(source.data) && getIndex(source.data) !== index,
89
+ getData: ({ input })=>attachClosestEdge({
90
+ index,
91
+ type: this.type
92
+ }, {
93
+ element,
94
+ input,
95
+ allowedEdges: [
96
+ "top",
97
+ "bottom"
98
+ ]
99
+ }),
100
+ onDragEnter: ({ self, source })=>{
101
+ if (!this.isOwnDrag(source.data)) return;
102
+ runInAction(()=>{
103
+ this.overIndex = index;
104
+ this.closestEdge = toSortableEdge(extractClosestEdge(self.data));
105
+ });
106
+ },
107
+ onDrag: ({ self, source })=>{
108
+ if (!this.isOwnDrag(source.data)) return;
109
+ runInAction(()=>{
110
+ this.overIndex = index;
111
+ this.closestEdge = toSortableEdge(extractClosestEdge(self.data));
112
+ });
113
+ },
114
+ onDragLeave: ({ source })=>{
115
+ if (!this.isOwnDrag(source.data)) return;
116
+ runInAction(()=>{
117
+ if (this.overIndex === index) {
118
+ this.overIndex = null;
119
+ this.closestEdge = null;
120
+ }
121
+ });
122
+ },
123
+ onDrop: ({ self, source })=>{
124
+ if (!this.isOwnDrag(source.data)) return;
125
+ const fromIndex = getIndex(source.data);
126
+ const toIndex = getIndex(self.data);
127
+ const edge = toSortableEdge(extractClosestEdge(self.data));
128
+ runInAction(()=>{
129
+ this.clearDropState();
130
+ });
131
+ if (null === fromIndex || null === toIndex || !this.config) return;
132
+ const destinationIndex = this.computeDestination(fromIndex, toIndex, edge);
133
+ if (destinationIndex !== fromIndex) this.config.onReorder(fromIndex, destinationIndex);
134
+ }
135
+ });
136
+ this.cleanups.set(key, cleanup);
137
+ }
138
+ registerDraggable(index, element) {
139
+ const key = 2 * index + 1;
140
+ const existing = this.cleanups.get(key);
141
+ if (existing) {
142
+ existing();
143
+ this.cleanups.delete(key);
144
+ }
145
+ if (!element) return;
146
+ const container = element.closest("[data-sortable-item]");
147
+ if (!container) return;
148
+ const cleanup = draggable({
149
+ element: container,
150
+ dragHandle: element,
151
+ getInitialData: ()=>({
152
+ index,
153
+ type: this.type
154
+ }),
155
+ onDragStart: ()=>{
156
+ runInAction(()=>{
157
+ this.draggingIndex = index;
158
+ });
159
+ },
160
+ onDrop: ()=>{
161
+ runInAction(()=>{
162
+ this.clearDropState();
163
+ });
164
+ }
165
+ });
166
+ this.cleanups.set(key, cleanup);
167
+ }
168
+ }
169
+ const SortablePresenter_SortablePresenter = SortablePresenter.createImplementation({
170
+ implementation: SortablePresenterImpl,
171
+ dependencies: []
172
+ });
173
+ export { SortablePresenter_SortablePresenter as SortablePresenter };
174
+
175
+ //# sourceMappingURL=SortablePresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/sortable/SortablePresenter.js","sources":["../../../src/presentation/sortable/SortablePresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport {\n draggable,\n dropTargetForElements\n} from \"@atlaskit/pragmatic-drag-and-drop/element/adapter\";\nimport {\n attachClosestEdge,\n extractClosestEdge\n} from \"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge\";\nimport { SortablePresenter as Abstraction } from \"./abstractions.js\";\n\nfunction toSortableEdge(edge: string | null): Abstraction.Edge | null {\n if (edge === \"top\" || edge === \"bottom\") {\n return edge;\n }\n return null;\n}\n\nfunction getIndex(data: Record<string | symbol, unknown>): number | null {\n const index = data[\"index\"];\n if (typeof index === \"number\") {\n return index;\n }\n return null;\n}\n\nfunction getType(data: Record<string | symbol, unknown>): string | null {\n const type = data[\"type\"];\n if (typeof type === \"string\") {\n return type;\n }\n return null;\n}\n\nclass SortablePresenterImpl implements Abstraction.Interface {\n private draggingIndex: number | null = null;\n private overIndex: number | null = null;\n private closestEdge: Abstraction.Edge | null = null;\n private cleanups = new Map<number, () => void>();\n private config: Abstraction.Config | null = null;\n\n constructor() {\n makeAutoObservable<SortablePresenterImpl, \"cleanups\" | \"config\">(this, {\n cleanups: false,\n config: false\n });\n }\n\n init(config: Abstraction.Config): void {\n this.config = config;\n }\n\n getItemProps(index: number): Abstraction.ItemProps {\n return {\n ref: (element: HTMLElement | null) => {\n this.registerDropTarget(index, element);\n },\n handleRef: (element: HTMLElement | null) => {\n this.registerDraggable(index, element);\n },\n isDragging: this.draggingIndex === index,\n isOver: this.overIndex === index && this.draggingIndex !== index,\n closestEdge: this.getVisibleEdge(index)\n };\n }\n\n dispose(): void {\n for (const cleanup of this.cleanups.values()) {\n cleanup();\n }\n this.cleanups.clear();\n this.draggingIndex = null;\n this.overIndex = null;\n this.closestEdge = null;\n }\n\n private get type(): string {\n return this.config!.type;\n }\n\n private isOwnDrag(data: Record<string | symbol, unknown>): boolean {\n return getType(data) === this.type;\n }\n\n private getVisibleEdge(index: number): Abstraction.Edge | null {\n if (\n this.overIndex !== index ||\n this.draggingIndex === index ||\n this.draggingIndex === null\n ) {\n return null;\n }\n const edge = this.closestEdge;\n if (edge === \"top\" && this.draggingIndex === index - 1) {\n return null;\n }\n if (edge === \"bottom\" && this.draggingIndex === index + 1) {\n return null;\n }\n return edge;\n }\n\n private clearDropState(): void {\n this.draggingIndex = null;\n this.overIndex = null;\n this.closestEdge = null;\n }\n\n private computeDestination(\n fromIndex: number,\n toIndex: number,\n edge: Abstraction.Edge | null\n ): number {\n let destinationIndex = toIndex;\n if (edge === \"bottom\") {\n destinationIndex = fromIndex < toIndex ? toIndex : toIndex + 1;\n } else if (edge === \"top\") {\n destinationIndex = fromIndex > toIndex ? toIndex : toIndex - 1;\n }\n return destinationIndex;\n }\n\n private registerDropTarget(index: number, element: HTMLElement | null): void {\n const key = index * 2;\n const existing = this.cleanups.get(key);\n if (existing) {\n existing();\n this.cleanups.delete(key);\n }\n\n if (!element) {\n return;\n }\n\n const cleanup = dropTargetForElements({\n element,\n canDrop: ({ source }) => {\n return this.isOwnDrag(source.data) && getIndex(source.data) !== index;\n },\n getData: ({ input }) => {\n return attachClosestEdge(\n { index, type: this.type },\n { element, input, allowedEdges: [\"top\", \"bottom\"] }\n );\n },\n onDragEnter: ({ self, source }) => {\n if (!this.isOwnDrag(source.data)) {\n return;\n }\n runInAction(() => {\n this.overIndex = index;\n this.closestEdge = toSortableEdge(extractClosestEdge(self.data));\n });\n },\n onDrag: ({ self, source }) => {\n if (!this.isOwnDrag(source.data)) {\n return;\n }\n runInAction(() => {\n this.overIndex = index;\n this.closestEdge = toSortableEdge(extractClosestEdge(self.data));\n });\n },\n onDragLeave: ({ source }) => {\n if (!this.isOwnDrag(source.data)) {\n return;\n }\n runInAction(() => {\n if (this.overIndex === index) {\n this.overIndex = null;\n this.closestEdge = null;\n }\n });\n },\n onDrop: ({ self, source }) => {\n if (!this.isOwnDrag(source.data)) {\n return;\n }\n\n const fromIndex = getIndex(source.data);\n const toIndex = getIndex(self.data);\n const edge = toSortableEdge(extractClosestEdge(self.data));\n\n runInAction(() => {\n this.clearDropState();\n });\n\n if (fromIndex === null || toIndex === null || !this.config) {\n return;\n }\n\n const destinationIndex = this.computeDestination(fromIndex, toIndex, edge);\n if (destinationIndex !== fromIndex) {\n this.config.onReorder(fromIndex, destinationIndex);\n }\n }\n });\n\n this.cleanups.set(key, cleanup);\n }\n\n private registerDraggable(index: number, element: HTMLElement | null): void {\n const key = index * 2 + 1;\n const existing = this.cleanups.get(key);\n if (existing) {\n existing();\n this.cleanups.delete(key);\n }\n\n if (!element) {\n return;\n }\n\n const container = element.closest(\"[data-sortable-item]\") as HTMLElement | null;\n if (!container) {\n return;\n }\n\n const cleanup = draggable({\n element: container,\n dragHandle: element,\n getInitialData: () => ({ index, type: this.type }),\n onDragStart: () => {\n runInAction(() => {\n this.draggingIndex = index;\n });\n },\n onDrop: () => {\n runInAction(() => {\n this.clearDropState();\n });\n }\n });\n\n this.cleanups.set(key, cleanup);\n }\n}\n\nexport const SortablePresenter = Abstraction.createImplementation({\n implementation: SortablePresenterImpl,\n dependencies: []\n});\n"],"names":["toSortableEdge","edge","getIndex","data","index","getType","type","SortablePresenterImpl","Map","makeAutoObservable","config","element","cleanup","fromIndex","toIndex","destinationIndex","key","existing","dropTargetForElements","source","input","attachClosestEdge","self","runInAction","extractClosestEdge","container","draggable","SortablePresenter","Abstraction"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export type SortableEdge = "top" | "bottom";
2
+ export interface ISortableItemProps {
3
+ ref: (element: HTMLElement | null) => void;
4
+ handleRef: (element: HTMLElement | null) => void;
5
+ isDragging: boolean;
6
+ isOver: boolean;
7
+ closestEdge: SortableEdge | null;
8
+ }
9
+ export interface ISortablePresenterConfig {
10
+ type: string;
11
+ onReorder: (fromIndex: number, toIndex: number) => void;
12
+ }
13
+ export interface ISortablePresenter {
14
+ init(config: ISortablePresenterConfig): void;
15
+ getItemProps(index: number): ISortableItemProps;
16
+ dispose(): void;
17
+ }
18
+ export declare const SortablePresenter: import("@webiny/di").Abstraction<ISortablePresenter>;
19
+ export declare namespace SortablePresenter {
20
+ type Interface = ISortablePresenter;
21
+ type Config = ISortablePresenterConfig;
22
+ type ItemProps = ISortableItemProps;
23
+ type Edge = SortableEdge;
24
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ const SortablePresenter = createAbstraction("SortablePresenter");
3
+ export { SortablePresenter };
4
+
5
+ //# sourceMappingURL=abstractions.js.map