@rebasepro/plugin-data-enhancement 0.5.0 → 0.6.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 (633) hide show
  1. package/dist/{plugin-data-enhancement/src/components → components}/DataEnhancementControllerProvider.d.ts +2 -2
  2. package/dist/{plugin-data-enhancement/src/components → components}/FormEnhanceAction.d.ts +2 -1
  3. package/dist/index.es.js +703 -716
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/index.umd.js +771 -749
  6. package/dist/index.umd.js.map +1 -1
  7. package/package.json +26 -17
  8. package/src/tests/strings_counter.test.ts +31 -15
  9. package/src/tests/useDataEnhancementPlugin.test.tsx +51 -0
  10. package/src/tests/values.test.ts +8 -4
  11. package/dist/admin/src/collection_editor/CollectionEditorDialogsContext.d.ts +0 -19
  12. package/dist/admin/src/collection_editor/ConfigControllerProvider.d.ts +0 -36
  13. package/dist/admin/src/collection_editor/_cms_internals.d.ts +0 -29
  14. package/dist/admin/src/collection_editor/api/generateCollectionApi.d.ts +0 -77
  15. package/dist/admin/src/collection_editor/index.d.ts +0 -15
  16. package/dist/admin/src/collection_editor/pgColumnToProperty.d.ts +0 -6
  17. package/dist/admin/src/collection_editor/types/collection_editor_controller.d.ts +0 -57
  18. package/dist/admin/src/collection_editor/types/collection_inference.d.ts +0 -10
  19. package/dist/admin/src/collection_editor/types/config_controller.d.ts +0 -98
  20. package/dist/admin/src/collection_editor/ui/EditorCollectionAction.d.ts +0 -2
  21. package/dist/admin/src/collection_editor/ui/MissingReferenceWidget.d.ts +0 -3
  22. package/dist/admin/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +0 -36
  23. package/dist/admin/src/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +0 -20
  24. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +0 -71
  25. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +0 -19
  26. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +0 -7
  27. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +0 -16
  28. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +0 -12
  29. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +0 -5
  30. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +0 -14
  31. package/dist/admin/src/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +0 -5
  32. package/dist/admin/src/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +0 -3
  33. package/dist/admin/src/collection_editor/ui/collection_editor/EnumForm.d.ts +0 -12
  34. package/dist/admin/src/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +0 -7
  35. package/dist/admin/src/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +0 -6
  36. package/dist/admin/src/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +0 -4
  37. package/dist/admin/src/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +0 -5
  38. package/dist/admin/src/collection_editor/ui/collection_editor/PropertyEditView.d.ts +0 -48
  39. package/dist/admin/src/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +0 -16
  40. package/dist/admin/src/collection_editor/ui/collection_editor/PropertyTree.d.ts +0 -31
  41. package/dist/admin/src/collection_editor/ui/collection_editor/SwitchControl.d.ts +0 -8
  42. package/dist/admin/src/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +0 -6
  43. package/dist/admin/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +0 -7
  44. package/dist/admin/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +0 -13
  45. package/dist/admin/src/collection_editor/ui/collection_editor/import/clean_import_data.d.ts +0 -7
  46. package/dist/admin/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +0 -7
  47. package/dist/admin/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +0 -3
  48. package/dist/admin/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.d.ts +0 -10
  49. package/dist/admin/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +0 -3
  50. package/dist/admin/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +0 -9
  51. package/dist/admin/src/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +0 -3
  52. package/dist/admin/src/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +0 -7
  53. package/dist/admin/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +0 -4
  54. package/dist/admin/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +0 -3
  55. package/dist/admin/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +0 -14
  56. package/dist/admin/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +0 -9
  57. package/dist/admin/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +0 -9
  58. package/dist/admin/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +0 -5
  59. package/dist/admin/src/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +0 -5
  60. package/dist/admin/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +0 -4
  61. package/dist/admin/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +0 -3
  62. package/dist/admin/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +0 -3
  63. package/dist/admin/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +0 -5
  64. package/dist/admin/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +0 -4
  65. package/dist/admin/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +0 -3
  66. package/dist/admin/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +0 -11
  67. package/dist/admin/src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +0 -3
  68. package/dist/admin/src/collection_editor/ui/collection_editor/templates/blog_template.d.ts +0 -2
  69. package/dist/admin/src/collection_editor/ui/collection_editor/templates/pages_template.d.ts +0 -2
  70. package/dist/admin/src/collection_editor/ui/collection_editor/templates/products_template.d.ts +0 -2
  71. package/dist/admin/src/collection_editor/ui/collection_editor/templates/users_template.d.ts +0 -2
  72. package/dist/admin/src/collection_editor/ui/collection_editor/util.d.ts +0 -5
  73. package/dist/admin/src/collection_editor/ui/collection_editor/utils/strings.d.ts +0 -1
  74. package/dist/admin/src/collection_editor/ui/collection_editor/utils/supported_fields.d.ts +0 -3
  75. package/dist/admin/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.d.ts +0 -2
  76. package/dist/admin/src/collection_editor/useCollectionEditorController.d.ts +0 -6
  77. package/dist/admin/src/collection_editor/useCollectionsConfigController.d.ts +0 -6
  78. package/dist/admin/src/collection_editor/useLocalCollectionsConfigController.d.ts +0 -6
  79. package/dist/admin/src/collection_editor/validateCollectionJson.d.ts +0 -22
  80. package/dist/admin/src/components/AdminModeSyncer.d.ts +0 -17
  81. package/dist/admin/src/components/ArrayContainer.d.ts +0 -58
  82. package/dist/admin/src/components/ClearFilterSortButton.d.ts +0 -5
  83. package/dist/admin/src/components/CollectionEditorDialogs.d.ts +0 -15
  84. package/dist/admin/src/components/CollectionPanel.d.ts +0 -83
  85. package/dist/admin/src/components/DefaultAppBar.d.ts +0 -46
  86. package/dist/admin/src/components/DefaultDrawer.d.ts +0 -77
  87. package/dist/admin/src/components/DeleteEntityDialog.d.ts +0 -13
  88. package/dist/admin/src/components/DrawerNavigationGroup.d.ts +0 -49
  89. package/dist/admin/src/components/DrawerNavigationItem.d.ts +0 -10
  90. package/dist/admin/src/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +0 -39
  91. package/dist/admin/src/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -27
  92. package/dist/admin/src/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +0 -129
  93. package/dist/admin/src/components/EntityCollectionTable/PropertyTableCell.d.ts +0 -26
  94. package/dist/admin/src/components/EntityCollectionTable/column_utils.d.ts +0 -16
  95. package/dist/admin/src/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +0 -21
  96. package/dist/admin/src/components/EntityCollectionTable/fields/TableReferenceField.d.ts +0 -22
  97. package/dist/admin/src/components/EntityCollectionTable/fields/TableRelationField.d.ts +0 -22
  98. package/dist/admin/src/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +0 -20
  99. package/dist/admin/src/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +0 -35
  100. package/dist/admin/src/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +0 -12
  101. package/dist/admin/src/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +0 -9
  102. package/dist/admin/src/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +0 -8
  103. package/dist/admin/src/components/EntityCollectionTable/fields/VirtualTableSelect.d.ts +0 -15
  104. package/dist/admin/src/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +0 -7
  105. package/dist/admin/src/components/EntityCollectionTable/fields/VirtualTableUserSelect.d.ts +0 -12
  106. package/dist/admin/src/components/EntityCollectionTable/index.d.ts +0 -6
  107. package/dist/admin/src/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +0 -25
  108. package/dist/admin/src/components/EntityCollectionTable/internal/EntityTableCell.d.ts +0 -32
  109. package/dist/admin/src/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +0 -9
  110. package/dist/admin/src/components/EntityCollectionTable/internal/common.d.ts +0 -5
  111. package/dist/admin/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +0 -27
  112. package/dist/admin/src/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +0 -13
  113. package/dist/admin/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +0 -6
  114. package/dist/admin/src/components/EntityCollectionTable/table_bindings.d.ts +0 -29
  115. package/dist/admin/src/components/EntityCollectionView/Board.d.ts +0 -2
  116. package/dist/admin/src/components/EntityCollectionView/BoardColumn.d.ts +0 -42
  117. package/dist/admin/src/components/EntityCollectionView/BoardColumnTitle.d.ts +0 -9
  118. package/dist/admin/src/components/EntityCollectionView/BoardSortableList.d.ts +0 -14
  119. package/dist/admin/src/components/EntityCollectionView/EntityBoardCard.d.ts +0 -31
  120. package/dist/admin/src/components/EntityCollectionView/EntityCard.d.ts +0 -20
  121. package/dist/admin/src/components/EntityCollectionView/EntityCollectionBoardView.d.ts +0 -22
  122. package/dist/admin/src/components/EntityCollectionView/EntityCollectionCardView.d.ts +0 -32
  123. package/dist/admin/src/components/EntityCollectionView/EntityCollectionListView.d.ts +0 -50
  124. package/dist/admin/src/components/EntityCollectionView/EntityCollectionView.d.ts +0 -65
  125. package/dist/admin/src/components/EntityCollectionView/EntityCollectionViewActions.d.ts +0 -20
  126. package/dist/admin/src/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +0 -20
  127. package/dist/admin/src/components/EntityCollectionView/FilterPresetsButton.d.ts +0 -21
  128. package/dist/admin/src/components/EntityCollectionView/FiltersDialog.d.ts +0 -15
  129. package/dist/admin/src/components/EntityCollectionView/SplitListView.d.ts +0 -58
  130. package/dist/admin/src/components/EntityCollectionView/ViewModeToggle.d.ts +0 -44
  131. package/dist/admin/src/components/EntityCollectionView/board_types.d.ts +0 -105
  132. package/dist/admin/src/components/EntityCollectionView/hooks/useCollectionInlineEditor.d.ts +0 -12
  133. package/dist/admin/src/components/EntityCollectionView/hooks/useKanbanDragAndDrop.d.ts +0 -20
  134. package/dist/admin/src/components/EntityCollectionView/useBoardDataController.d.ts +0 -61
  135. package/dist/admin/src/components/EntityCollectionView/useEntityPreviewSlots.d.ts +0 -101
  136. package/dist/admin/src/components/EntityCollectionView/useSelectionController.d.ts +0 -2
  137. package/dist/admin/src/components/EntityCollectionView/utils.d.ts +0 -3
  138. package/dist/admin/src/components/EntityDetailView.d.ts +0 -28
  139. package/dist/admin/src/components/EntityEditView.d.ts +0 -57
  140. package/dist/admin/src/components/EntityEditViewFormActions.d.ts +0 -2
  141. package/dist/admin/src/components/EntityJsonPreview.d.ts +0 -3
  142. package/dist/admin/src/components/EntityPreview.d.ts +0 -56
  143. package/dist/admin/src/components/EntitySidePanel.d.ts +0 -10
  144. package/dist/admin/src/components/EntityView.d.ts +0 -12
  145. package/dist/admin/src/components/FieldCaption.d.ts +0 -5
  146. package/dist/admin/src/components/HomePage/ContentHomePage.d.ts +0 -11
  147. package/dist/admin/src/components/HomePage/FavouritesView.d.ts +0 -3
  148. package/dist/admin/src/components/HomePage/HomePageDnD.d.ts +0 -77
  149. package/dist/admin/src/components/HomePage/NavigationCard.d.ts +0 -11
  150. package/dist/admin/src/components/HomePage/NavigationCardBinding.d.ts +0 -18
  151. package/dist/admin/src/components/HomePage/NavigationGroup.d.ts +0 -11
  152. package/dist/admin/src/components/HomePage/RenameGroupDialog.d.ts +0 -9
  153. package/dist/admin/src/components/HomePage/SmallNavigationCard.d.ts +0 -6
  154. package/dist/admin/src/components/PropertyCollectionView.d.ts +0 -24
  155. package/dist/admin/src/components/PropertyConfigBadge.d.ts +0 -6
  156. package/dist/admin/src/components/PropertyIdCopyTooltip.d.ts +0 -8
  157. package/dist/admin/src/components/RebaseAuthGate.d.ts +0 -21
  158. package/dist/admin/src/components/RebaseCMS.d.ts +0 -10
  159. package/dist/admin/src/components/RebaseLayout.d.ts +0 -32
  160. package/dist/admin/src/components/RebaseNavigation.d.ts +0 -24
  161. package/dist/admin/src/components/RebaseRouteDefs.d.ts +0 -30
  162. package/dist/admin/src/components/RebaseShell.d.ts +0 -25
  163. package/dist/admin/src/components/ReferenceTable/EntitySelectionTable.d.ts +0 -59
  164. package/dist/admin/src/components/ReferenceWidget.d.ts +0 -30
  165. package/dist/admin/src/components/RelationSelector.d.ts +0 -32
  166. package/dist/admin/src/components/SearchIconsView.d.ts +0 -5
  167. package/dist/admin/src/components/SelectableTable/SelectableTable.d.ts +0 -95
  168. package/dist/admin/src/components/SelectableTable/SelectableTableContext.d.ts +0 -4
  169. package/dist/admin/src/components/SelectableTable/SelectionStore.d.ts +0 -29
  170. package/dist/admin/src/components/SelectableTable/filters/BooleanFilterField.d.ts +0 -9
  171. package/dist/admin/src/components/SelectableTable/filters/DateTimeFilterField.d.ts +0 -12
  172. package/dist/admin/src/components/SelectableTable/filters/ReferenceFilterField.d.ts +0 -15
  173. package/dist/admin/src/components/SelectableTable/filters/RelationFilterField.d.ts +0 -12
  174. package/dist/admin/src/components/SelectableTable/filters/StringNumberFilterField.d.ts +0 -13
  175. package/dist/admin/src/components/SideDialogs.d.ts +0 -25
  176. package/dist/admin/src/components/SideEntityProvider.d.ts +0 -32
  177. package/dist/admin/src/components/UserSelector.d.ts +0 -18
  178. package/dist/admin/src/components/admin/CreationResultDialog.d.ts +0 -5
  179. package/dist/admin/src/components/app/AppBar.d.ts +0 -12
  180. package/dist/admin/src/components/app/Drawer.d.ts +0 -26
  181. package/dist/admin/src/components/app/Scaffold.d.ts +0 -34
  182. package/dist/admin/src/components/app/useApp.d.ts +0 -17
  183. package/dist/admin/src/components/common/default_entity_actions.d.ts +0 -10
  184. package/dist/admin/src/components/common/index.d.ts +0 -1
  185. package/dist/admin/src/components/field_configs.d.ts +0 -7
  186. package/dist/admin/src/components/history/EntityHistoryEntry.d.ts +0 -17
  187. package/dist/admin/src/components/history/EntityHistoryView.d.ts +0 -6
  188. package/dist/admin/src/components/history/LastEditedByFormAction.d.ts +0 -6
  189. package/dist/admin/src/components/history/LastEditedByIndicator.d.ts +0 -10
  190. package/dist/admin/src/components/history/UserChip.d.ts +0 -4
  191. package/dist/admin/src/components/history/index.d.ts +0 -5
  192. package/dist/admin/src/components/index.d.ts +0 -40
  193. package/dist/admin/src/contexts/BreacrumbsContext.d.ts +0 -8
  194. package/dist/admin/src/contexts/SideDialogsControllerContext.d.ts +0 -3
  195. package/dist/admin/src/data_export/export/BasicExportAction.d.ts +0 -7
  196. package/dist/admin/src/data_export/export/ExportCollectionAction.d.ts +0 -11
  197. package/dist/admin/src/data_export/export/export.d.ts +0 -22
  198. package/dist/admin/src/data_export/export/index.d.ts +0 -3
  199. package/dist/admin/src/data_export/index.d.ts +0 -1
  200. package/dist/admin/src/data_import/components/DataNewPropertiesMapping.d.ts +0 -13
  201. package/dist/admin/src/data_import/components/ImportFileUpload.d.ts +0 -3
  202. package/dist/admin/src/data_import/components/ImportNewPropertyFieldPreview.d.ts +0 -9
  203. package/dist/admin/src/data_import/components/ImportSaveInProgress.d.ts +0 -8
  204. package/dist/admin/src/data_import/components/index.d.ts +0 -4
  205. package/dist/admin/src/data_import/hooks/index.d.ts +0 -1
  206. package/dist/admin/src/data_import/hooks/useImportConfig.d.ts +0 -2
  207. package/dist/admin/src/data_import/import/ImportCollectionAction.d.ts +0 -15
  208. package/dist/admin/src/data_import/import/index.d.ts +0 -1
  209. package/dist/admin/src/data_import/index.d.ts +0 -5
  210. package/dist/admin/src/data_import/types/column_mapping.d.ts +0 -20
  211. package/dist/admin/src/data_import/types/index.d.ts +0 -1
  212. package/dist/admin/src/data_import/utils/data.d.ts +0 -4
  213. package/dist/admin/src/data_import/utils/file_headers.d.ts +0 -6
  214. package/dist/admin/src/data_import/utils/file_to_json.d.ts +0 -6
  215. package/dist/admin/src/data_import/utils/get_import_inference_type.d.ts +0 -2
  216. package/dist/admin/src/data_import/utils/index.d.ts +0 -3
  217. package/dist/admin/src/data_import/utils/transforms.d.ts +0 -11
  218. package/dist/admin/src/editor/components/SlashCommandMenu.d.ts +0 -6
  219. package/dist/admin/src/editor/components/editor-bubble-item.d.ts +0 -8
  220. package/dist/admin/src/editor/components/editor-bubble.d.ts +0 -12
  221. package/dist/admin/src/editor/components/image-bubble.d.ts +0 -9
  222. package/dist/admin/src/editor/components/index.d.ts +0 -16
  223. package/dist/admin/src/editor/components/table-bubble.d.ts +0 -9
  224. package/dist/admin/src/editor/editor.d.ts +0 -30
  225. package/dist/admin/src/editor/extensions/HighlightDecorationExtension.d.ts +0 -24
  226. package/dist/admin/src/editor/extensions/Image.d.ts +0 -6
  227. package/dist/admin/src/editor/extensions/TextLoadingDecorationExtension.d.ts +0 -16
  228. package/dist/admin/src/editor/extensions/clipboard.d.ts +0 -7
  229. package/dist/admin/src/editor/extensions/drag-and-drop.d.ts +0 -9
  230. package/dist/admin/src/editor/hooks/useProseMirror.d.ts +0 -13
  231. package/dist/admin/src/editor/hooks/useProseMirrorContext.d.ts +0 -9
  232. package/dist/admin/src/editor/index.d.ts +0 -2
  233. package/dist/admin/src/editor/markdown.d.ts +0 -5
  234. package/dist/admin/src/editor/nodeViews/ImageComponent.d.ts +0 -3
  235. package/dist/admin/src/editor/nodeViews/ReactNodeView.d.ts +0 -32
  236. package/dist/admin/src/editor/nodeViews/TaskItemComponent.d.ts +0 -3
  237. package/dist/admin/src/editor/nodeViews/index.d.ts +0 -6
  238. package/dist/admin/src/editor/plugins/index.d.ts +0 -2
  239. package/dist/admin/src/editor/plugins/inputrules.d.ts +0 -6
  240. package/dist/admin/src/editor/plugins/placeholderPlugin.d.ts +0 -3
  241. package/dist/admin/src/editor/plugins/slashCommandPlugin.d.ts +0 -12
  242. package/dist/admin/src/editor/schema.d.ts +0 -2
  243. package/dist/admin/src/editor/selectors/link-selector.d.ts +0 -8
  244. package/dist/admin/src/editor/selectors/node-selector.d.ts +0 -15
  245. package/dist/admin/src/editor/selectors/text-buttons.d.ts +0 -1
  246. package/dist/admin/src/editor/types.d.ts +0 -5
  247. package/dist/admin/src/editor/utils/prosemirror-utils.d.ts +0 -7
  248. package/dist/admin/src/editor/utils/remove_classes.d.ts +0 -1
  249. package/dist/admin/src/form/EntityForm.d.ts +0 -10
  250. package/dist/admin/src/form/EntityFormActions.d.ts +0 -2
  251. package/dist/admin/src/form/PropertyFieldBinding.d.ts +0 -30
  252. package/dist/admin/src/form/components/ErrorFocus.d.ts +0 -4
  253. package/dist/admin/src/form/components/FieldHelperText.d.ts +0 -12
  254. package/dist/admin/src/form/components/FormEntry.d.ts +0 -6
  255. package/dist/admin/src/form/components/FormLayout.d.ts +0 -5
  256. package/dist/admin/src/form/components/LabelWithIcon.d.ts +0 -14
  257. package/dist/admin/src/form/components/LabelWithIconAndTooltip.d.ts +0 -15
  258. package/dist/admin/src/form/components/LocalChangesMenu.d.ts +0 -11
  259. package/dist/admin/src/form/components/StorageItemPreview.d.ts +0 -14
  260. package/dist/admin/src/form/components/StorageUploadProgress.d.ts +0 -10
  261. package/dist/admin/src/form/components/index.d.ts +0 -5
  262. package/dist/admin/src/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +0 -10
  263. package/dist/admin/src/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +0 -13
  264. package/dist/admin/src/form/field_bindings/BlockFieldBinding.d.ts +0 -11
  265. package/dist/admin/src/form/field_bindings/DateTimeFieldBinding.d.ts +0 -12
  266. package/dist/admin/src/form/field_bindings/KeyValueFieldBinding.d.ts +0 -8
  267. package/dist/admin/src/form/field_bindings/MapFieldBinding.d.ts +0 -10
  268. package/dist/admin/src/form/field_bindings/MarkdownEditorFieldBinding.d.ts +0 -12
  269. package/dist/admin/src/form/field_bindings/MultiSelectFieldBinding.d.ts +0 -10
  270. package/dist/admin/src/form/field_bindings/MultipleRelationFieldBinding.d.ts +0 -10
  271. package/dist/admin/src/form/field_bindings/ReadOnlyFieldBinding.d.ts +0 -11
  272. package/dist/admin/src/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +0 -10
  273. package/dist/admin/src/form/field_bindings/ReferenceFieldBinding.d.ts +0 -10
  274. package/dist/admin/src/form/field_bindings/RelationFieldBinding.d.ts +0 -3
  275. package/dist/admin/src/form/field_bindings/RepeatFieldBinding.d.ts +0 -11
  276. package/dist/admin/src/form/field_bindings/SelectFieldBinding.d.ts +0 -11
  277. package/dist/admin/src/form/field_bindings/StorageUploadFieldBinding.d.ts +0 -21
  278. package/dist/admin/src/form/field_bindings/SwitchFieldBinding.d.ts +0 -10
  279. package/dist/admin/src/form/field_bindings/TextFieldBinding.d.ts +0 -9
  280. package/dist/admin/src/form/field_bindings/UserSelectFieldBinding.d.ts +0 -14
  281. package/dist/admin/src/form/field_bindings/VectorFieldBinding.d.ts +0 -11
  282. package/dist/admin/src/form/index.d.ts +0 -21
  283. package/dist/admin/src/form/useClearRestoreValue.d.ts +0 -13
  284. package/dist/admin/src/form/validation.d.ts +0 -21
  285. package/dist/admin/src/hooks/index.d.ts +0 -15
  286. package/dist/admin/src/hooks/navigation/contexts/CollectionRegistryContext.d.ts +0 -5
  287. package/dist/admin/src/hooks/navigation/contexts/NavigationStateContext.d.ts +0 -4
  288. package/dist/admin/src/hooks/navigation/contexts/UrlContext.d.ts +0 -4
  289. package/dist/admin/src/hooks/navigation/contexts/index.d.ts +0 -3
  290. package/dist/admin/src/hooks/navigation/useBuildCollectionRegistryController.d.ts +0 -7
  291. package/dist/admin/src/hooks/navigation/useBuildNavigationStateController.d.ts +0 -34
  292. package/dist/admin/src/hooks/navigation/useBuildUrlController.d.ts +0 -7
  293. package/dist/admin/src/hooks/navigation/useNavigationResolution.d.ts +0 -7
  294. package/dist/admin/src/hooks/navigation/useResolvedCollections.d.ts +0 -34
  295. package/dist/admin/src/hooks/navigation/useResolvedViews.d.ts +0 -26
  296. package/dist/admin/src/hooks/navigation/useTopLevelNavigation.d.ts +0 -27
  297. package/dist/admin/src/hooks/navigation/utils.d.ts +0 -12
  298. package/dist/admin/src/hooks/useBreadcrumbsController.d.ts +0 -42
  299. package/dist/admin/src/hooks/useBuildSideDialogsController.d.ts +0 -2
  300. package/dist/admin/src/hooks/useBuildSideEntityController.d.ts +0 -6
  301. package/dist/admin/src/hooks/useCMSContext.d.ts +0 -27
  302. package/dist/admin/src/hooks/useEntityHistory.d.ts +0 -30
  303. package/dist/admin/src/hooks/useEntitySelectionDialog.d.ts +0 -18
  304. package/dist/admin/src/hooks/useResolvedNavigationFrom.d.ts +0 -73
  305. package/dist/admin/src/hooks/useSideDialogsController.d.ts +0 -19
  306. package/dist/admin/src/hooks/useSideEntityController.d.ts +0 -11
  307. package/dist/admin/src/index.d.ts +0 -13
  308. package/dist/admin/src/preview/PropertyPreview.d.ts +0 -7
  309. package/dist/admin/src/preview/components/ArrayEnumPreview.d.ts +0 -11
  310. package/dist/admin/src/preview/components/BooleanPreview.d.ts +0 -11
  311. package/dist/admin/src/preview/components/DatePreview.d.ts +0 -17
  312. package/dist/admin/src/preview/components/EmptyValue.d.ts +0 -6
  313. package/dist/admin/src/preview/components/EnumValuesChip.d.ts +0 -13
  314. package/dist/admin/src/preview/components/ImagePreview.d.ts +0 -16
  315. package/dist/admin/src/preview/components/ReferencePreview.d.ts +0 -17
  316. package/dist/admin/src/preview/components/RelationPreview.d.ts +0 -17
  317. package/dist/admin/src/preview/components/StorageThumbnail.d.ts +0 -15
  318. package/dist/admin/src/preview/components/UrlComponentPreview.d.ts +0 -15
  319. package/dist/admin/src/preview/components/UserPreview.d.ts +0 -9
  320. package/dist/admin/src/preview/index.d.ts +0 -23
  321. package/dist/admin/src/preview/property_previews/ArrayOfMapsPreview.d.ts +0 -6
  322. package/dist/admin/src/preview/property_previews/ArrayOfReferencesPreview.d.ts +0 -6
  323. package/dist/admin/src/preview/property_previews/ArrayOfRelationsPreview.d.ts +0 -6
  324. package/dist/admin/src/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +0 -6
  325. package/dist/admin/src/preview/property_previews/ArrayOfStringsPreview.d.ts +0 -6
  326. package/dist/admin/src/preview/property_previews/ArrayOneOfPreview.d.ts +0 -6
  327. package/dist/admin/src/preview/property_previews/ArrayPropertyEnumPreview.d.ts +0 -6
  328. package/dist/admin/src/preview/property_previews/ArrayPropertyPreview.d.ts +0 -6
  329. package/dist/admin/src/preview/property_previews/MapPropertyPreview.d.ts +0 -9
  330. package/dist/admin/src/preview/property_previews/NumberPropertyPreview.d.ts +0 -7
  331. package/dist/admin/src/preview/property_previews/SkeletonPropertyComponent.d.ts +0 -14
  332. package/dist/admin/src/preview/property_previews/StringPropertyPreview.d.ts +0 -7
  333. package/dist/admin/src/preview/util.d.ts +0 -7
  334. package/dist/admin/src/routes/CustomViewRoute.d.ts +0 -4
  335. package/dist/admin/src/routes/RebaseRoute.d.ts +0 -1
  336. package/dist/admin/src/routes/index.d.ts +0 -2
  337. package/dist/admin/src/types/components/EntityFormActionsProps.d.ts +0 -19
  338. package/dist/admin/src/types/components/EntityFormProps.d.ts +0 -49
  339. package/dist/admin/src/types/components/PropertyPreviewProps.d.ts +0 -47
  340. package/dist/admin/src/types/components/formex.d.ts +0 -40
  341. package/dist/admin/src/types/components/index.d.ts +0 -3
  342. package/dist/admin/src/types/fields.d.ts +0 -221
  343. package/dist/admin/src/types/index.d.ts +0 -2
  344. package/dist/admin/src/util/entity_actions.d.ts +0 -2
  345. package/dist/admin/src/util/entity_view_constants.d.ts +0 -6
  346. package/dist/admin/src/util/index.d.ts +0 -5
  347. package/dist/admin/src/util/navigation_utils.d.ts +0 -26
  348. package/dist/admin/src/util/previews.d.ts +0 -4
  349. package/dist/admin/src/util/property_utils.d.ts +0 -25
  350. package/dist/admin/src/util/resolutions.d.ts +0 -8
  351. package/dist/common/src/collections/CollectionRegistry.d.ts +0 -56
  352. package/dist/common/src/collections/default-collections.d.ts +0 -9
  353. package/dist/common/src/collections/index.d.ts +0 -2
  354. package/dist/common/src/data/buildRebaseData.d.ts +0 -14
  355. package/dist/common/src/data/query_builder.d.ts +0 -55
  356. package/dist/common/src/index.d.ts +0 -4
  357. package/dist/common/src/util/builders.d.ts +0 -57
  358. package/dist/common/src/util/callbacks.d.ts +0 -6
  359. package/dist/common/src/util/collections.d.ts +0 -11
  360. package/dist/common/src/util/common.d.ts +0 -2
  361. package/dist/common/src/util/conditions.d.ts +0 -26
  362. package/dist/common/src/util/entities.d.ts +0 -58
  363. package/dist/common/src/util/enums.d.ts +0 -3
  364. package/dist/common/src/util/index.d.ts +0 -16
  365. package/dist/common/src/util/navigation_from_path.d.ts +0 -34
  366. package/dist/common/src/util/navigation_utils.d.ts +0 -20
  367. package/dist/common/src/util/parent_references_from_path.d.ts +0 -6
  368. package/dist/common/src/util/paths.d.ts +0 -14
  369. package/dist/common/src/util/permissions.d.ts +0 -14
  370. package/dist/common/src/util/references.d.ts +0 -2
  371. package/dist/common/src/util/relations.d.ts +0 -22
  372. package/dist/common/src/util/resolutions.d.ts +0 -72
  373. package/dist/common/src/util/storage.d.ts +0 -24
  374. package/dist/core/src/components/AIIcon.d.ts +0 -16
  375. package/dist/core/src/components/BootstrapAdminBanner.d.ts +0 -4
  376. package/dist/core/src/components/ConfirmationDialog.d.ts +0 -9
  377. package/dist/core/src/components/Debug/UIReferenceView.d.ts +0 -1
  378. package/dist/core/src/components/Debug/UIStyleGuide.d.ts +0 -1
  379. package/dist/core/src/components/ErrorTooltip.d.ts +0 -2
  380. package/dist/core/src/components/ErrorView.d.ts +0 -21
  381. package/dist/core/src/components/LanguageToggle.d.ts +0 -1
  382. package/dist/core/src/components/LoginView/LoginView.d.ts +0 -109
  383. package/dist/core/src/components/LoginView/index.d.ts +0 -2
  384. package/dist/core/src/components/NotFoundPage.d.ts +0 -1
  385. package/dist/core/src/components/RebaseAuth.d.ts +0 -10
  386. package/dist/core/src/components/RebaseLogo.d.ts +0 -7
  387. package/dist/core/src/components/UnsavedChangesDialog.d.ts +0 -9
  388. package/dist/core/src/components/UserDisplay.d.ts +0 -7
  389. package/dist/core/src/components/UserSelectPopover.d.ts +0 -62
  390. package/dist/core/src/components/UserSettingsView.d.ts +0 -1
  391. package/dist/core/src/components/common/index.d.ts +0 -6
  392. package/dist/core/src/components/common/table_height.d.ts +0 -5
  393. package/dist/core/src/components/common/types.d.ts +0 -66
  394. package/dist/core/src/components/common/useColumnsIds.d.ts +0 -9
  395. package/dist/core/src/components/common/useDataTableController.d.ts +0 -45
  396. package/dist/core/src/components/common/useDebouncedData.d.ts +0 -9
  397. package/dist/core/src/components/common/useScrollRestoration.d.ts +0 -14
  398. package/dist/core/src/components/index.d.ts +0 -17
  399. package/dist/core/src/contexts/AdminModeController.d.ts +0 -4
  400. package/dist/core/src/contexts/AnalyticsContext.d.ts +0 -3
  401. package/dist/core/src/contexts/AuthControllerContext.d.ts +0 -3
  402. package/dist/core/src/contexts/CustomizationControllerContext.d.ts +0 -3
  403. package/dist/core/src/contexts/DataDriverContext.d.ts +0 -3
  404. package/dist/core/src/contexts/DatabaseAdminContext.d.ts +0 -3
  405. package/dist/core/src/contexts/DialogsProvider.d.ts +0 -4
  406. package/dist/core/src/contexts/EffectiveRoleController.d.ts +0 -4
  407. package/dist/core/src/contexts/InternalUserManagementContext.d.ts +0 -3
  408. package/dist/core/src/contexts/ModeController.d.ts +0 -4
  409. package/dist/core/src/contexts/RebaseClientInstanceContext.d.ts +0 -6
  410. package/dist/core/src/contexts/RebaseDataContext.d.ts +0 -3
  411. package/dist/core/src/contexts/SnackbarProvider.d.ts +0 -2
  412. package/dist/core/src/contexts/StorageSourceContext.d.ts +0 -3
  413. package/dist/core/src/contexts/UserConfigurationPersistenceContext.d.ts +0 -3
  414. package/dist/core/src/contexts/index.d.ts +0 -13
  415. package/dist/core/src/core/PluginLifecycleManager.d.ts +0 -17
  416. package/dist/core/src/core/PluginProviderStack.d.ts +0 -21
  417. package/dist/core/src/core/Rebase.d.ts +0 -14
  418. package/dist/core/src/core/RebaseProps.d.ts +0 -147
  419. package/dist/core/src/core/RebaseRouter.d.ts +0 -4
  420. package/dist/core/src/core/RebaseRoutes.d.ts +0 -17
  421. package/dist/core/src/core/index.d.ts +0 -4
  422. package/dist/core/src/hooks/ApiConfigContext.d.ts +0 -24
  423. package/dist/core/src/hooks/data/delete.d.ts +0 -31
  424. package/dist/core/src/hooks/data/save.d.ts +0 -34
  425. package/dist/core/src/hooks/data/useCollectionFetch.d.ts +0 -62
  426. package/dist/core/src/hooks/data/useData.d.ts +0 -13
  427. package/dist/core/src/hooks/data/useDataOrder.d.ts +0 -12
  428. package/dist/core/src/hooks/data/useEntityFetch.d.ts +0 -43
  429. package/dist/core/src/hooks/data/useRelationSelector.d.ts +0 -52
  430. package/dist/core/src/hooks/data/useUserSelector.d.ts +0 -31
  431. package/dist/core/src/hooks/index.d.ts +0 -37
  432. package/dist/core/src/hooks/useAdminModeController.d.ts +0 -19
  433. package/dist/core/src/hooks/useAnalyticsController.d.ts +0 -5
  434. package/dist/core/src/hooks/useAuthController.d.ts +0 -11
  435. package/dist/core/src/hooks/useAuthSubscription.d.ts +0 -2
  436. package/dist/core/src/hooks/useBackendStorageSource.d.ts +0 -30
  437. package/dist/core/src/hooks/useBridgeRegistration.d.ts +0 -18
  438. package/dist/core/src/hooks/useBrowserTitleAndIcon.d.ts +0 -6
  439. package/dist/core/src/hooks/useBuildAdminModeController.d.ts +0 -6
  440. package/dist/core/src/hooks/useBuildEffectiveRoleController.d.ts +0 -8
  441. package/dist/core/src/hooks/useBuildLocalConfigurationPersistence.d.ts +0 -2
  442. package/dist/core/src/hooks/useBuildModeController.d.ts +0 -6
  443. package/dist/core/src/hooks/useClipboard.d.ts +0 -57
  444. package/dist/core/src/hooks/useCollapsedGroups.d.ts +0 -27
  445. package/dist/core/src/hooks/useCustomizationController.d.ts +0 -11
  446. package/dist/core/src/hooks/useDialogsController.d.ts +0 -11
  447. package/dist/core/src/hooks/useEffectiveRoleController.d.ts +0 -7
  448. package/dist/core/src/hooks/useInternalUserManagementController.d.ts +0 -12
  449. package/dist/core/src/hooks/useLargeLayout.d.ts +0 -1
  450. package/dist/core/src/hooks/useModeController.d.ts +0 -19
  451. package/dist/core/src/hooks/usePermissions.d.ts +0 -12
  452. package/dist/core/src/hooks/useRebaseClient.d.ts +0 -5
  453. package/dist/core/src/hooks/useRebaseContext.d.ts +0 -11
  454. package/dist/core/src/hooks/useRebaseRegistry.d.ts +0 -34
  455. package/dist/core/src/hooks/useResolvedComponent.d.ts +0 -47
  456. package/dist/core/src/hooks/useSlot.d.ts +0 -18
  457. package/dist/core/src/hooks/useSnackbarController.d.ts +0 -20
  458. package/dist/core/src/hooks/useStorageSource.d.ts +0 -7
  459. package/dist/core/src/hooks/useStudioBridge.d.ts +0 -91
  460. package/dist/core/src/hooks/useTranslation.d.ts +0 -17
  461. package/dist/core/src/hooks/useUnsavedChangesDialog.d.ts +0 -12
  462. package/dist/core/src/hooks/useUserConfigurationPersistence.d.ts +0 -8
  463. package/dist/core/src/i18n/RebaseI18nProvider.d.ts +0 -33
  464. package/dist/core/src/index.d.ts +0 -15
  465. package/dist/core/src/internal/common.d.ts +0 -3
  466. package/dist/core/src/internal/useRestoreScroll.d.ts +0 -6
  467. package/dist/core/src/locales/de.d.ts +0 -2
  468. package/dist/core/src/locales/en.d.ts +0 -10
  469. package/dist/core/src/locales/es.d.ts +0 -10
  470. package/dist/core/src/locales/fr.d.ts +0 -2
  471. package/dist/core/src/locales/hi.d.ts +0 -2
  472. package/dist/core/src/locales/it.d.ts +0 -2
  473. package/dist/core/src/locales/pt.d.ts +0 -7
  474. package/dist/core/src/util/constants.d.ts +0 -1
  475. package/dist/core/src/util/createFormexStub.d.ts +0 -2
  476. package/dist/core/src/util/entity_cache.d.ts +0 -22
  477. package/dist/core/src/util/enums.d.ts +0 -5
  478. package/dist/core/src/util/icon_list.d.ts +0 -5
  479. package/dist/core/src/util/icons.d.ts +0 -20
  480. package/dist/core/src/util/index.d.ts +0 -8
  481. package/dist/core/src/util/previews.d.ts +0 -4
  482. package/dist/core/src/util/useStorageUploadController.d.ts +0 -38
  483. package/dist/formex/src/Field.d.ts +0 -52
  484. package/dist/formex/src/Formex.d.ts +0 -7
  485. package/dist/formex/src/index.d.ts +0 -5
  486. package/dist/formex/src/types.d.ts +0 -40
  487. package/dist/formex/src/useCreateFormex.d.ts +0 -14
  488. package/dist/formex/src/utils.d.ts +0 -16
  489. package/dist/types/src/controllers/analytics_controller.d.ts +0 -7
  490. package/dist/types/src/controllers/auth.d.ts +0 -104
  491. package/dist/types/src/controllers/client.d.ts +0 -168
  492. package/dist/types/src/controllers/collection_registry.d.ts +0 -46
  493. package/dist/types/src/controllers/customization_controller.d.ts +0 -60
  494. package/dist/types/src/controllers/data.d.ts +0 -207
  495. package/dist/types/src/controllers/data_driver.d.ts +0 -218
  496. package/dist/types/src/controllers/database_admin.d.ts +0 -11
  497. package/dist/types/src/controllers/dialogs_controller.d.ts +0 -36
  498. package/dist/types/src/controllers/effective_role.d.ts +0 -4
  499. package/dist/types/src/controllers/email.d.ts +0 -36
  500. package/dist/types/src/controllers/index.d.ts +0 -18
  501. package/dist/types/src/controllers/local_config_persistence.d.ts +0 -20
  502. package/dist/types/src/controllers/navigation.d.ts +0 -225
  503. package/dist/types/src/controllers/registry.d.ts +0 -63
  504. package/dist/types/src/controllers/side_dialogs_controller.d.ts +0 -67
  505. package/dist/types/src/controllers/side_entity_controller.d.ts +0 -97
  506. package/dist/types/src/controllers/snackbar.d.ts +0 -24
  507. package/dist/types/src/controllers/storage.d.ts +0 -171
  508. package/dist/types/src/index.d.ts +0 -4
  509. package/dist/types/src/rebase_context.d.ts +0 -122
  510. package/dist/types/src/types/auth_adapter.d.ts +0 -301
  511. package/dist/types/src/types/backend.d.ts +0 -571
  512. package/dist/types/src/types/backend_hooks.d.ts +0 -172
  513. package/dist/types/src/types/builders.d.ts +0 -15
  514. package/dist/types/src/types/chips.d.ts +0 -5
  515. package/dist/types/src/types/collections.d.ts +0 -961
  516. package/dist/types/src/types/component_ref.d.ts +0 -47
  517. package/dist/types/src/types/cron.d.ts +0 -102
  518. package/dist/types/src/types/data_source.d.ts +0 -64
  519. package/dist/types/src/types/database_adapter.d.ts +0 -94
  520. package/dist/types/src/types/entities.d.ts +0 -145
  521. package/dist/types/src/types/entity_actions.d.ts +0 -104
  522. package/dist/types/src/types/entity_callbacks.d.ts +0 -173
  523. package/dist/types/src/types/entity_link_builder.d.ts +0 -7
  524. package/dist/types/src/types/entity_overrides.d.ts +0 -10
  525. package/dist/types/src/types/entity_views.d.ts +0 -87
  526. package/dist/types/src/types/export_import.d.ts +0 -21
  527. package/dist/types/src/types/formex.d.ts +0 -40
  528. package/dist/types/src/types/index.d.ts +0 -28
  529. package/dist/types/src/types/locales.d.ts +0 -4
  530. package/dist/types/src/types/modify_collections.d.ts +0 -5
  531. package/dist/types/src/types/plugins.d.ts +0 -282
  532. package/dist/types/src/types/properties.d.ts +0 -1173
  533. package/dist/types/src/types/property_config.d.ts +0 -74
  534. package/dist/types/src/types/relations.d.ts +0 -336
  535. package/dist/types/src/types/slots.d.ts +0 -262
  536. package/dist/types/src/types/translations.d.ts +0 -900
  537. package/dist/types/src/types/user_management_delegate.d.ts +0 -86
  538. package/dist/types/src/types/websockets.d.ts +0 -78
  539. package/dist/types/src/users/index.d.ts +0 -1
  540. package/dist/types/src/users/user.d.ts +0 -50
  541. package/dist/ui/src/components/Alert.d.ts +0 -12
  542. package/dist/ui/src/components/Autocomplete.d.ts +0 -21
  543. package/dist/ui/src/components/Avatar.d.ts +0 -11
  544. package/dist/ui/src/components/Badge.d.ts +0 -8
  545. package/dist/ui/src/components/BooleanSwitch.d.ts +0 -14
  546. package/dist/ui/src/components/BooleanSwitchWithLabel.d.ts +0 -17
  547. package/dist/ui/src/components/Button.d.ts +0 -14
  548. package/dist/ui/src/components/Card.d.ts +0 -8
  549. package/dist/ui/src/components/CenteredView.d.ts +0 -9
  550. package/dist/ui/src/components/Checkbox.d.ts +0 -13
  551. package/dist/ui/src/components/Chip.d.ts +0 -26
  552. package/dist/ui/src/components/CircularProgress.d.ts +0 -5
  553. package/dist/ui/src/components/CircularProgressCenter.d.ts +0 -11
  554. package/dist/ui/src/components/Collapse.d.ts +0 -9
  555. package/dist/ui/src/components/ColorPicker.d.ts +0 -30
  556. package/dist/ui/src/components/Container.d.ts +0 -8
  557. package/dist/ui/src/components/DateTimeField.d.ts +0 -24
  558. package/dist/ui/src/components/DebouncedTextField.d.ts +0 -2
  559. package/dist/ui/src/components/Dialog.d.ts +0 -39
  560. package/dist/ui/src/components/DialogActions.d.ts +0 -7
  561. package/dist/ui/src/components/DialogContent.d.ts +0 -7
  562. package/dist/ui/src/components/DialogTitle.d.ts +0 -10
  563. package/dist/ui/src/components/ErrorBoundary.d.ts +0 -33
  564. package/dist/ui/src/components/ExpandablePanel.d.ts +0 -12
  565. package/dist/ui/src/components/FileUpload.d.ts +0 -23
  566. package/dist/ui/src/components/FilterChip.d.ts +0 -34
  567. package/dist/ui/src/components/IconButton.d.ts +0 -12
  568. package/dist/ui/src/components/InfoLabel.d.ts +0 -5
  569. package/dist/ui/src/components/InputLabel.d.ts +0 -11
  570. package/dist/ui/src/components/Label.d.ts +0 -7
  571. package/dist/ui/src/components/LoadingButton.d.ts +0 -7
  572. package/dist/ui/src/components/Markdown.d.ts +0 -10
  573. package/dist/ui/src/components/Menu.d.ts +0 -23
  574. package/dist/ui/src/components/Menubar.d.ts +0 -80
  575. package/dist/ui/src/components/MultiSelect.d.ts +0 -48
  576. package/dist/ui/src/components/Paper.d.ts +0 -6
  577. package/dist/ui/src/components/Popover.d.ts +0 -24
  578. package/dist/ui/src/components/RadioGroup.d.ts +0 -28
  579. package/dist/ui/src/components/ResizablePanels.d.ts +0 -18
  580. package/dist/ui/src/components/SearchBar.d.ts +0 -26
  581. package/dist/ui/src/components/Select.d.ts +0 -43
  582. package/dist/ui/src/components/Separator.d.ts +0 -5
  583. package/dist/ui/src/components/Sheet.d.ts +0 -22
  584. package/dist/ui/src/components/Skeleton.d.ts +0 -6
  585. package/dist/ui/src/components/Slider.d.ts +0 -21
  586. package/dist/ui/src/components/Table.d.ts +0 -34
  587. package/dist/ui/src/components/Tabs.d.ts +0 -19
  588. package/dist/ui/src/components/TextField.d.ts +0 -58
  589. package/dist/ui/src/components/TextareaAutosize.d.ts +0 -43
  590. package/dist/ui/src/components/ToggleButtonGroup.d.ts +0 -30
  591. package/dist/ui/src/components/Tooltip.d.ts +0 -19
  592. package/dist/ui/src/components/Typography.d.ts +0 -36
  593. package/dist/ui/src/components/VirtualTable/VirtualTable.d.ts +0 -11
  594. package/dist/ui/src/components/VirtualTable/VirtualTableCell.d.ts +0 -21
  595. package/dist/ui/src/components/VirtualTable/VirtualTableHeader.d.ts +0 -29
  596. package/dist/ui/src/components/VirtualTable/VirtualTableHeaderRow.d.ts +0 -2
  597. package/dist/ui/src/components/VirtualTable/VirtualTableProps.d.ts +0 -249
  598. package/dist/ui/src/components/VirtualTable/VirtualTableRow.d.ts +0 -3
  599. package/dist/ui/src/components/VirtualTable/index.d.ts +0 -3
  600. package/dist/ui/src/components/VirtualTable/types.d.ts +0 -38
  601. package/dist/ui/src/components/common/SelectInputLabel.d.ts +0 -5
  602. package/dist/ui/src/components/index.d.ts +0 -58
  603. package/dist/ui/src/hooks/PortalContainerContext.d.ts +0 -31
  604. package/dist/ui/src/hooks/index.d.ts +0 -6
  605. package/dist/ui/src/hooks/useDebounceCallback.d.ts +0 -1
  606. package/dist/ui/src/hooks/useDebounceValue.d.ts +0 -1
  607. package/dist/ui/src/hooks/useDebouncedCallback.d.ts +0 -1
  608. package/dist/ui/src/hooks/useInjectStyles.d.ts +0 -7
  609. package/dist/ui/src/hooks/useOutsideAlerter.d.ts +0 -5
  610. package/dist/ui/src/icons/GitHubIcon.d.ts +0 -2
  611. package/dist/ui/src/icons/HandleIcon.d.ts +0 -1
  612. package/dist/ui/src/icons/Icon.d.ts +0 -20
  613. package/dist/ui/src/icons/cool_icon_keys.d.ts +0 -1
  614. package/dist/ui/src/icons/icon_keys.d.ts +0 -1
  615. package/dist/ui/src/icons/index.d.ts +0 -8
  616. package/dist/ui/src/index.d.ts +0 -5
  617. package/dist/ui/src/styles.d.ts +0 -12
  618. package/dist/ui/src/util/chip_colors.d.ts +0 -4
  619. package/dist/ui/src/util/cls.d.ts +0 -2
  620. package/dist/ui/src/util/debounce.d.ts +0 -10
  621. package/dist/ui/src/util/hash.d.ts +0 -1
  622. package/dist/ui/src/util/index.d.ts +0 -4
  623. package/dist/ui/src/util/key_to_icon_component.d.ts +0 -1
  624. /package/dist/{plugin-data-enhancement/src/api.d.ts → api.d.ts} +0 -0
  625. /package/dist/{plugin-data-enhancement/src/editor → editor}/useEditorAIController.d.ts +0 -0
  626. /package/dist/{plugin-data-enhancement/src/index.d.ts → index.d.ts} +0 -0
  627. /package/dist/{plugin-data-enhancement/src/types → types}/data_enhancement_controller.d.ts +0 -0
  628. /package/dist/{plugin-data-enhancement/src/useDataEnhancementPlugin.d.ts → useDataEnhancementPlugin.d.ts} +0 -0
  629. /package/dist/{plugin-data-enhancement/src/utils → utils}/diffStrings.d.ts +0 -0
  630. /package/dist/{plugin-data-enhancement/src/utils → utils}/properties.d.ts +0 -0
  631. /package/dist/{plugin-data-enhancement/src/utils → utils}/strings_counter.d.ts +0 -0
  632. /package/dist/{plugin-data-enhancement/src/utils → utils}/suggestions.d.ts +0 -0
  633. /package/dist/{plugin-data-enhancement/src/utils → utils}/values.d.ts +0 -0
package/dist/index.umd.js CHANGED
@@ -1,750 +1,772 @@
1
1
  (function(global, factory) {
2
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react-compiler-runtime"), require("react/jsx-runtime"), require("react"), require("@rebasepro/core"), require("@rebasepro/admin"), require("@rebasepro/common"), require("@rebasepro/utils"), require("@rebasepro/ui")) : typeof define === "function" && define.amd ? define(["exports", "react-compiler-runtime", "react/jsx-runtime", "react", "@rebasepro/core", "@rebasepro/admin", "@rebasepro/common", "@rebasepro/utils", "@rebasepro/ui"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.Rebase = {}, global.reactCompilerRuntime, global.jsxRuntime, global.React, global.core, global.admin, global.common, global.utils, global.ui));
3
- })(this, (function(exports2, reactCompilerRuntime, jsxRuntime, React, core, admin, common, utils, ui) {
4
- "use strict";
5
- function flatMapEntityValues(values, path = "") {
6
- if (!values) return {};
7
- return Object.entries(values).flatMap(([key, value]) => {
8
- const currentPath = path ? `${path}.${key}` : key;
9
- if (typeof value === "object") {
10
- return flatMapEntityValues(value, currentPath);
11
- } else {
12
- return {
13
- [currentPath]: value
14
- };
15
- }
16
- }).reduce((acc, curr) => ({
17
- ...acc,
18
- ...curr
19
- }), {});
20
- }
21
- const DEFAULT_SERVER = "https://api.rebase.pro";
22
- async function enhanceDataAPIStream(props) {
23
- const flatValues = flatMapEntityValues(props.values);
24
- const properties = props.properties;
25
- const inputEntity = {
26
- entityId: props.entityId,
27
- values: flatValues
28
- };
29
- const request = {
30
- inputEntity,
31
- properties,
32
- entityName: props.entityName,
33
- entityDescription: props.entityDescription,
34
- propertyKey: props.propertyKey,
35
- propertyInstructions: props.propertyInstructions,
36
- instructions: props.instructions
37
- };
38
- console.debug("enhanceDataAPIStream", request);
39
- return fetch((props.host ?? DEFAULT_SERVER) + "/data/enhance_stream/", {
40
- // mode: "no-cors",
41
- method: "POST",
42
- headers: {
43
- "Content-Type": "application/json",
44
- Authorization: `Basic ${props.firebaseToken}`,
45
- "x-de-api-key": `Basic ${props.apiKey}`
46
- // "x-de-version": version
47
- },
48
- body: JSON.stringify(request)
49
- }).then(async (res) => {
50
- if (!res.ok) {
51
- console.error("enhanceDataAPIStream error", res);
52
- throw await res.json();
53
- }
54
- const reader = res.body?.getReader();
55
- if (!reader) {
56
- throw new Error("No reader");
57
- }
58
- for await (const chunk of readChunks(reader)) {
59
- const str = new TextDecoder().decode(chunk);
60
- try {
61
- str.split("&$# ").forEach((s) => {
62
- if (s && s.length > 0) {
63
- const data = JSON.parse(s.trim());
64
- if (data.type === "suggestion_delta") props.onUpdateDelta(data.data.propertyKey, data.data.partialValue);
65
- else if (data.type === "suggestion") props.onUpdate(data.data);
66
- else if (data.type === "result") props.onEnd(data.data);
67
- }
68
- });
69
- } catch (e) {
70
- console.error("str", str);
71
- console.error("Error parsing stream", e);
72
- props.onError(e instanceof Error ? e : new Error(String(e)));
73
- }
74
- }
75
- });
76
- }
77
- function readChunks(reader) {
78
- return {
79
- async *[Symbol.asyncIterator]() {
80
- let readResult = await reader.read();
81
- while (!readResult.done) {
82
- yield readResult.value;
83
- readResult = await reader.read();
84
- }
85
- }
86
- };
87
- }
88
- async function fetchEntityPromptSuggestion(props) {
89
- return fetch((props.host ?? DEFAULT_SERVER) + "/data/prompt_autocomplete/", {
90
- // mode: "no-cors",
91
- method: "POST",
92
- headers: {
93
- "Content-Type": "application/json",
94
- Authorization: `Basic ${props.firebaseToken}`,
95
- "x-de-api-key": `Basic ${props.apiKey}`
96
- },
97
- body: JSON.stringify({
98
- entityName: props.entityName,
99
- input: props.input ?? null
100
- })
101
- }).then(async (res) => {
102
- const data = await res.json();
103
- if (!res.ok) {
104
- console.error("fetchEntityPromptSuggestion", data);
105
- throw Error(data.message);
106
- }
107
- return {
108
- prompts: data.data.prompts.map((e) => ({
109
- prompt: e,
110
- type: "sample"
111
- }))
112
- };
113
- });
114
- }
115
- async function autocompleteStream(props) {
116
- let result = "";
117
- return fetch((props.host ?? DEFAULT_SERVER) + "/data/autocomplete/", {
118
- // mode: "no-cors",
119
- method: "POST",
120
- headers: {
121
- "Content-Type": "application/json",
122
- Authorization: `Basic ${props.firebaseToken}`
123
- // "x-de-version": version
124
- },
125
- body: JSON.stringify({
126
- textBefore: props.textBefore,
127
- textAfter: props.textAfter
128
- })
129
- }).then(async (res) => {
130
- if (!res.ok) {
131
- console.error("enhanceDataAPIStream error", res);
132
- throw await res.json();
133
- }
134
- const reader = res.body?.getReader();
135
- if (!reader) {
136
- throw new Error("No reader");
137
- }
138
- for await (const chunk of readChunks(reader)) {
139
- const str = new TextDecoder().decode(chunk);
140
- result += str;
141
- console.debug("Autocomplete update:", str);
142
- props.onUpdate(str);
143
- }
144
- }).then(() => {
145
- console.debug("Autocomplete result:", result);
146
- return result;
147
- });
148
- }
149
- function getAppendableSuggestion(suggestion, value) {
150
- const suggestionIncludesValue = typeof suggestion === "string" && typeof value === "string" && suggestion.toLowerCase().trim().startsWith(value.toLowerCase().trim());
151
- return typeof value === "string" && suggestionIncludesValue ? suggestion.substring(suggestion.toLowerCase().trim().indexOf(value.toLowerCase().trim()) + value.trim().length) : void 0;
152
- }
153
- function getSimplifiedProperties(properties, values, path = "") {
154
- if (!properties) return {};
155
- return Object.entries(properties).map(([key, property]) => {
156
- if (common.isPropertyBuilder(property)) return {};
157
- const fullKey = path ? `${path}.${key}` : key;
158
- const valueInPath = utils.getValueInPath(values, fullKey);
159
- return getSimplifiedProperty(property, fullKey, valueInPath);
160
- }).reduce((a, b) => ({
161
- ...a,
162
- ...b
163
- }), {});
164
- }
165
- function getSimpleProperty(property) {
166
- const fieldId = admin.getFieldId(property);
167
- if (!fieldId) {
168
- console.error("No fieldId found for property", property);
169
- throw new Error("Field id not found");
170
- }
171
- return {
172
- name: property.name,
173
- description: property.description,
174
- type: property.type,
175
- fieldConfigId: fieldId,
176
- enum: "enum" in property && property.enum ? getSimpleEnumValues(property.enum) : void 0,
177
- disabled: Boolean(property.ui?.disabled || property.ui?.readOnly)
178
- };
179
- }
180
- function getSimplifiedProperty(property, path, value) {
181
- if (common.isPropertyBuilder(property)) return {};
182
- if (property.type === "array") {
183
- if (property.of && !Array.isArray(property.of) && !common.isPropertyBuilder(property.of)) {
184
- const arrayParentProperty = {
185
- name: property.name,
186
- description: property.description,
187
- type: property.type,
188
- fieldConfigId: "repeat",
189
- disabled: Boolean(property.ui?.disabled || property.ui?.readOnly),
190
- of: getSimpleProperty(property.of)
191
- };
192
- const result = {
193
- [path]: arrayParentProperty
194
- };
195
- return result;
196
- } else if (property.oneOf) {
197
- const arrayParentProperty = {
198
- name: property.name,
199
- description: property.description,
200
- type: property.type,
201
- fieldConfigId: "block",
202
- disabled: Boolean(property.ui?.disabled || property.ui?.readOnly),
203
- oneOf: {
204
- typeField: property.oneOf.typeField,
205
- valueField: property.oneOf.valueField,
206
- properties: Object.entries(property.oneOf.properties).map(([key, prop]) => ({
207
- [key]: getSimpleProperty(prop)
208
- })).reduce((a, b) => ({
209
- ...a,
210
- ...b
211
- }), {})
212
- }
213
- };
214
- if (!Array.isArray(value)) {
215
- return {
216
- [path]: arrayParentProperty
217
- };
218
- }
219
- return value.map((v, i) => {
220
- if (v == null) return {};
221
- const typeKey = property.oneOf.typeField ?? "type";
222
- const oneOfType = v[typeKey];
223
- const valueKey = property.oneOf.valueField ?? "value";
224
- const oneOfValue = v[valueKey];
225
- const childProperty = property.oneOf.properties[oneOfType];
226
- if (childProperty === void 0) {
227
- console.error(`No property found for type ${oneOfType}`, property.oneOf.properties);
228
- return {};
229
- }
230
- const simplifiedProperty = getSimplifiedProperty(childProperty, `${path}.${i}.${valueKey}`, oneOfValue);
231
- return {
232
- [`${path}.${i}.${typeKey}`]: oneOfType,
233
- ...simplifiedProperty
234
- };
235
- }).reduce((a, b) => ({
236
- ...a,
237
- ...b
238
- }), {
239
- [path]: arrayParentProperty
240
- });
241
- }
242
- } else if (property.type === "map") {
243
- if (property.properties) {
244
- const mapProperties = Object.entries(property.properties).map(([key, childProperty]) => {
245
- const childValue = value && typeof value === "object" ? value[key] : void 0;
246
- return getSimplifiedProperty(childProperty, key, childValue);
247
- }).map((o) => attachPathToKeys(o, path)).reduce((a, b) => ({
248
- ...a,
249
- ...b
250
- }), {});
251
- if (Object.keys(mapProperties).length === 0) return {};
252
- const mapParentProperty = {
253
- name: property.name,
254
- description: property.description,
255
- type: property.type,
256
- fieldConfigId: "group",
257
- disabled: Boolean(property.ui?.disabled || property.ui?.readOnly)
258
- };
259
- return {
260
- [path]: mapParentProperty,
261
- ...mapProperties
262
- };
263
- }
264
- } else {
265
- const fieldId = admin.getFieldId(property);
266
- if (!fieldId) {
267
- console.warn(`No fieldId found for property ${path} with type ${property.type}`);
268
- return {};
269
- }
270
- return {
271
- [path]: getSimpleProperty(property)
272
- };
273
- }
274
- return {};
275
- }
276
- function attachPathToKeys(obj, path = "") {
277
- return Object.entries(obj).map(([key, value]) => {
278
- const fullKey = path ? `${path}.${key}` : key;
279
- return {
280
- [fullKey]: value
281
- };
282
- }).reduce((a, b) => ({
283
- ...a,
284
- ...b
285
- }), {});
286
- }
287
- function getSimpleEnumValues(enumValues) {
288
- if (Array.isArray(enumValues)) return enumValues.map((v) => String(v.id));
289
- if (typeof enumValues === "object") return Object.keys(enumValues);
290
- throw Error("getSimpleEnumValues: Invalid enumValues");
291
- }
292
- function useEditorAIController({
293
- getAuthToken
294
- }) {
295
- const autocomplete = async (textBefore, textAfter, onUpdate) => {
296
- if (!getAuthToken) {
297
- throw new Error("Firebase token is required");
298
- }
299
- const firebaseToken = await getAuthToken();
300
- return autocompleteStream({
301
- firebaseToken,
302
- textBefore,
303
- textAfter,
304
- onUpdate
305
- });
306
- };
307
- return {
308
- autocomplete
309
- };
310
- }
311
- const DataEnhancementControllerContext = React.createContext(null);
312
- const useDataEnhancementController = () => {
313
- return React.useContext(DataEnhancementControllerContext);
314
- };
315
- function getPropertyFromKey(properties, propertyKey) {
316
- if (propertyKey in properties) {
317
- return properties[propertyKey];
318
- } else {
319
- const split = propertyKey.split(".");
320
- if (split.length === 1) {
321
- return void 0;
322
- }
323
- const parentKey = split.slice(0, split.length - 1).join(".");
324
- return getPropertyFromKey(properties, parentKey);
325
- }
326
- }
327
- function DataEnhancementControllerProvider({
328
- apiKey,
329
- getConfigForPath,
330
- children,
331
- host,
332
- path,
333
- collection,
334
- formContext
335
- }) {
336
- const [enabled, setEnabled] = React.useState(false);
337
- const [suggestions, setSuggestions] = React.useState({});
338
- const [loadingSuggestions, setLoadingSuggestions] = React.useState([]);
339
- const enhancingInProgress = React.useRef(false);
340
- const authController = core.useAuthController();
341
- const snackbarController = core.useSnackbarController();
342
- const properties = React.useMemo(() => getSimplifiedProperties(collection.properties, formContext?.values ?? {}), [formContext?.values]);
343
- const valuesRef = React.useRef(formContext?.values ?? {});
344
- React.useEffect(() => {
345
- if (!enhancingInProgress.current) valuesRef.current = formContext?.values ?? {};
346
- }, [formContext?.values]);
347
- const allowReferenceDataSelection = false;
348
- const updateConfig = React.useCallback(async () => {
349
- if (!getConfigForPath) return;
350
- const config = getConfigForPath({
351
- path,
352
- collection
353
- });
354
- if (config) {
355
- setEnabled(true);
356
- }
357
- }, [collection, getConfigForPath, path]);
358
- React.useEffect(() => {
359
- if (!getConfigForPath) {
360
- setEnabled(true);
361
- } else {
362
- updateConfig();
363
- }
364
- }, [getConfigForPath, updateConfig]);
365
- const urlController = admin.useUrlController();
366
- const clearSuggestion = React.useCallback((propertyKey) => {
367
- setSuggestions((prev) => {
368
- const {
369
- [propertyKey]: _,
370
- ...rest
371
- } = prev;
372
- return rest;
373
- });
374
- }, []);
375
- const appendValueDelta = React.useCallback((propertyKey_0, delta) => {
376
- const property = getPropertyFromKey(properties, propertyKey_0);
377
- if (delta === null || property?.disabled) {
378
- return;
379
- }
380
- const value = utils.getValueInPath(valuesRef.current, propertyKey_0);
381
- const currentValue = value ? value + "" : "";
382
- const updatedValue = currentValue + delta;
383
- valuesRef.current = {
384
- ...valuesRef.current,
385
- [propertyKey_0]: updatedValue
386
- };
387
- formContext?.setFieldValue(propertyKey_0, updatedValue, false);
388
- setSuggestions((prev_0) => ({
389
- ...prev_0,
390
- [propertyKey_0]: (prev_0[propertyKey_0] ?? "") + delta
391
- }));
392
- }, [properties, formContext]);
393
- const updateSuggestedValues = React.useCallback((currentValues, updatedValues, replaceValues) => {
394
- setLoadingSuggestions((prev_1) => {
395
- return prev_1.filter((p) => !Object.keys(updatedValues).includes(p));
396
- });
397
- Object.entries(updatedValues).forEach(([propertyKey_1, suggestion]) => {
398
- const value_0 = utils.getValueInPath(currentValues, propertyKey_1);
399
- const property_0 = getPropertyFromKey(properties, propertyKey_1);
400
- if (!property_0 || suggestion === null || property_0?.disabled) {
401
- return;
402
- }
403
- if (typeof suggestion === "number") {
404
- formContext?.setFieldValue(propertyKey_1, suggestion);
405
- return;
406
- }
407
- if (replaceValues) {
408
- formContext?.setFieldValue(propertyKey_1, suggestion);
409
- return;
410
- }
411
- const appendableValue = getAppendableSuggestion(suggestion, value_0);
412
- const currentValue_0 = value_0 ? value_0 + "" : "";
413
- if (appendableValue) {
414
- formContext?.setFieldValue(propertyKey_1, suggestion);
415
- } else {
416
- const multiline = property_0?.fieldConfigId === "multiline" || property_0?.fieldConfigId === "markdown";
417
- const trimmedValue = currentValue_0.trimEnd();
418
- if (multiline && (trimmedValue.endsWith(".") || trimmedValue.endsWith("?") || trimmedValue.endsWith("!") || trimmedValue.endsWith(":"))) {
419
- formContext?.setFieldValue(propertyKey_1, trimmedValue + "\n\n" + suggestion.trimStart());
420
- } else {
421
- formContext?.setFieldValue(propertyKey_1, trimmedValue + (trimmedValue.length > 0 ? " " : "") + suggestion);
422
- }
423
- }
424
- });
425
- setSuggestions((prev_2) => ({
426
- ...prev_2,
427
- ...Object.keys(updatedValues).reduce((acc, key) => {
428
- const value_1 = utils.getValueInPath(formContext?.values, key);
429
- const suggestion_0 = updatedValues[key];
430
- return {
431
- ...acc,
432
- [key]: getAppendableSuggestion(suggestion_0, value_1) ?? suggestion_0
433
- };
434
- }, {})
435
- }));
436
- }, [properties, formContext]);
437
- const displayNeededSubscriptionSnackbar = React.useCallback((projectId) => {
438
- snackbarController.open({
439
- type: "warning",
440
- message: "A valid subscription is needed in order to use this function.",
441
- autoHideDuration: 4e3
442
- });
443
- }, [snackbarController]);
444
- const editorAIController = useEditorAIController({
445
- getAuthToken: authController.getAuthToken
446
- });
447
- const clearAllSuggestions = React.useCallback(() => {
448
- setSuggestions({});
449
- }, []);
450
- const enhance = React.useCallback(async (props) => {
451
- if (!authController.user) {
452
- snackbarController.open({
453
- type: "warning",
454
- message: "You need to be logged in to enhance data"
455
- });
456
- return Promise.reject(new Error("Not logged in"));
457
- }
458
- const resolvedPath = urlController.resolveDatabasePathsFrom(path);
459
- const firebaseToken = await authController.getAuthToken();
460
- if (props.propertyKey) {
461
- clearSuggestion(props.propertyKey);
462
- } else {
463
- clearAllSuggestions();
464
- }
465
- setLoadingSuggestions((prev_3) => [...prev_3, ...props.propertyKey ? [props.propertyKey] : Object.keys(properties)]);
466
- enhancingInProgress.current = true;
467
- const currentValues_0 = valuesRef.current ?? {};
468
- return new Promise((resolve, reject) => {
469
- function onError(e) {
470
- setLoadingSuggestions([]);
471
- const err = e instanceof Error ? e : typeof e === "object" && e !== null ? e : new Error(String(e));
472
- const errorObj = err;
473
- if (errorObj.code === "payment-required") {
474
- const data = errorObj.data;
475
- const projectId_0 = data?.projectId;
476
- displayNeededSubscriptionSnackbar(projectId_0);
477
- } else {
478
- console.error("Enhance error", e);
479
- }
480
- reject(e);
481
- enhancingInProgress.current = false;
482
- }
483
- try {
484
- enhanceDataAPIStream({
485
- ...props,
486
- host,
487
- apiKey,
488
- properties,
489
- path: resolvedPath,
490
- entityName: collection.singularName ?? collection.name,
491
- entityDescription: collection.description,
492
- firebaseToken,
493
- onUpdate: (suggestions_0) => {
494
- console.debug("de onUpdate", suggestions_0);
495
- updateSuggestedValues(currentValues_0, suggestions_0, props.replaceValues ?? false);
496
- },
497
- onUpdateDelta: (propertyKey_2, partialValue) => {
498
- appendValueDelta(propertyKey_2, partialValue);
499
- },
500
- onError,
501
- onEnd: (result) => {
502
- console.debug("de onEnd", result);
503
- if (result.errors) {
504
- result.errors.forEach((error) => {
505
- snackbarController.open({
506
- type: "warning",
507
- message: error
508
- });
509
- });
510
- }
511
- if (Object.keys(result.suggestions).length === 0) {
512
- snackbarController.open({
513
- type: "info",
514
- autoHideDuration: 1800,
515
- message: "No fields were updated"
516
- });
517
- }
518
- setLoadingSuggestions([]);
519
- resolve(result);
520
- enhancingInProgress.current = false;
521
- }
522
- }).catch(onError);
523
- } catch (e_0) {
524
- onError(e_0);
525
- }
526
- });
527
- }, [authController, urlController, path, clearSuggestion, clearAllSuggestions, properties, host, apiKey, collection, updateSuggestedValues, appendValueDelta, displayNeededSubscriptionSnackbar, snackbarController]);
528
- const getSamplePrompts = React.useCallback(async (entityName, input) => {
529
- const firebaseToken_0 = await authController.getAuthToken();
530
- return fetchEntityPromptSuggestion({
531
- host,
532
- entityName,
533
- firebaseToken: firebaseToken_0,
534
- apiKey,
535
- input
536
- });
537
- }, [apiKey, authController.getAuthToken, host]);
538
- const dataEnhancementController = React.useMemo(() => ({
539
- enabled,
540
- suggestions,
541
- clearSuggestion,
542
- enhance,
543
- allowReferenceDataSelection,
544
- clearAllSuggestions,
545
- getSamplePrompts,
546
- loadingSuggestions,
547
- editorAIController
548
- }), [enabled, suggestions, clearSuggestion, enhance, allowReferenceDataSelection, clearAllSuggestions, getSamplePrompts, loadingSuggestions, editorAIController]);
549
- return /* @__PURE__ */ jsxRuntime.jsx(DataEnhancementControllerContext.Provider, { value: dataEnhancementController, children });
550
- }
551
- function FormEnhanceAction({
552
- entityId,
553
- path,
554
- status,
555
- collection,
556
- formContext,
557
- openEntityMode
558
- }) {
559
- const largeLayout = core.useLargeLayout();
560
- const storageKey = createLocalStorageKey(path, status);
561
- const [loading, setLoading] = React.useState(false);
562
- const dataEnhancementController = useDataEnhancementController();
563
- const [samplePrompts, setSamplePrompts] = React.useState(void 0);
564
- const [instructions, setInstructions] = React.useState("");
565
- const getSamplePrompts = dataEnhancementController?.getSamplePrompts;
566
- const loadingPrompts = React.useRef(false);
567
- const updateSuggestedPrompts = React.useCallback(async function updateSuggestedPrompts2(instructions_0) {
568
- if (!getSamplePrompts) return;
569
- if (loadingPrompts.current) return;
570
- loadingPrompts.current = true;
571
- const prompts = status === "new" ? (await getSamplePrompts(collection.singularName ?? collection.name, instructions_0)).prompts : getPromptsForExistingEntities(collection.properties);
572
- const recentPromptsFromStorage = getRecentPromptsFromStorage(storageKey);
573
- const recentPrompts = recentPromptsFromStorage.map((prompt) => prompt.prompt);
574
- setSamplePrompts([...recentPromptsFromStorage, ...prompts.filter((p) => !recentPrompts.includes(p.prompt))].slice(0, 5));
575
- loadingPrompts.current = false;
576
- }, [collection.name, collection.singularName, getSamplePrompts, status]);
577
- React.useDeferredValue(formContext?.values);
578
- React.useEffect(() => {
579
- if (!dataEnhancementController) return;
580
- if (!samplePrompts) {
581
- setSamplePrompts(getRecentPromptsFromStorage(storageKey));
582
- updateSuggestedPrompts().then();
583
- }
584
- }, [dataEnhancementController, samplePrompts, storageKey, updateSuggestedPrompts, instructions, status]);
585
- React.useEffect(() => {
586
- if (!dataEnhancementController) return;
587
- updateSuggestedPrompts().then();
588
- }, [dataEnhancementController, status]);
589
- const enhance = (prompt_0) => {
590
- if (!dataEnhancementController || !formContext?.values) return;
591
- setLoading(true);
592
- if (prompt_0) {
593
- addRecentPrompt(storageKey, prompt_0);
594
- setSamplePrompts([{
595
- prompt: prompt_0,
596
- type: "recent"
597
- }, ...(samplePrompts ?? []).slice(0, 5)]);
598
- }
599
- return dataEnhancementController.enhance({
600
- entityId,
601
- values: formContext.values,
602
- instructions: prompt_0,
603
- replaceValues: true
604
- }).finally(() => {
605
- setLoading(false);
606
- });
607
- };
608
- if (!dataEnhancementController?.enabled) return null;
609
- const suggestions = dataEnhancementController.suggestions;
610
- Object.values(suggestions).filter(Boolean).length > 0;
611
- (samplePrompts ?? []).length > 0 && instructions.length === 0;
612
- function submit() {
613
- enhance(instructions);
614
- }
615
- return /* @__PURE__ */ jsxRuntime.jsxs(ui.Menu, { align: "end", sideOffset: 8, className: "max-w-[100vw]", trigger: /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "filled", color: "neutral", fullWidth: largeLayout && openEntityMode === "full_screen", size: "small", disabled: loading, children: [
616
- !loading && /* @__PURE__ */ jsxRuntime.jsx(core.AIIcon, { size: "small" }),
617
- loading && /* @__PURE__ */ jsxRuntime.jsx(ui.CircularProgress, { size: "small" }),
618
- "Autofill"
619
- ] }), children: [
620
- /* @__PURE__ */ jsxRuntime.jsxs(ui.MenuItem, { className: "py-4", onClick: () => {
621
- enhance();
622
- }, children: [
623
- /* @__PURE__ */ jsxRuntime.jsx(core.AIIcon, { size: "small" }),
624
- "Autofill based on the current content"
625
- ] }),
626
- /* @__PURE__ */ jsxRuntime.jsx(ui.Separator, { orientation: "horizontal", className: "mt-2" }),
627
- samplePrompts?.map((samplePrompt, index) => {
628
- return /* @__PURE__ */ jsxRuntime.jsxs(ui.MenuItem, { onClick: () => {
629
- setInstructions(samplePrompt.prompt);
630
- enhance(samplePrompt.prompt);
631
- }, children: [
632
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-9 grow text-text-secondary dark:text-text-secondary-dark", children: samplePrompt.prompt }),
633
- samplePrompt.type === "recent" && /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { onClick: (e) => {
634
- e.preventDefault();
635
- e.stopPropagation();
636
- removeRecentPrompt(storageKey, samplePrompt.prompt);
637
- setSamplePrompts((samplePrompts ?? []).filter((p_0) => p_0.prompt !== samplePrompt.prompt));
638
- }, size: "smallest", children: /* @__PURE__ */ jsxRuntime.jsx(ui.XIcon, { size: ui.iconSize.smallest }) })
639
- ] }, index + "_" + samplePrompt.prompt);
640
- }),
641
- /* @__PURE__ */ jsxRuntime.jsx(ui.Separator, { orientation: "horizontal" }),
642
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cls("my-2 w-[500px] max-w-full flex items-start text-surface-700 dark:text-surface-200"), children: [
643
- /* @__PURE__ */ jsxRuntime.jsx(ui.TextareaAutosize, { className: ui.cls("p-4 rounded-lg resize-none bg-surface-100 dark:bg-surface-950 mx-2 w-full grow outline-hidden max-h-[300px] overflow-auto", ui.focusedDisabled), value: instructions, autoFocus: status === "new", disabled: loading, onFocus: (event) => {
644
- event.stopPropagation();
645
- }, placeholder: "...or provide instructions", onKeyDown: (e_0) => {
646
- e_0.stopPropagation();
647
- if (e_0.key === "Enter" && !e_0.shiftKey) {
648
- e_0.preventDefault();
649
- submit();
650
- }
651
- }, onChange: (e_1) => {
652
- setInstructions(e_1.target.value);
653
- } }),
654
- /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { size: "small", onClick: () => {
655
- setInstructions("");
656
- }, color: !instructions ? "primary" : void 0, disabled: loading || !instructions, children: /* @__PURE__ */ jsxRuntime.jsx(ui.XIcon, { size: ui.iconSize.small }) }),
657
- /* @__PURE__ */ jsxRuntime.jsxs(ui.IconButton, { onClick: () => enhance(instructions), size: "small", color: !instructions ? "primary" : void 0, disabled: loading || !instructions, children: [
658
- loading && /* @__PURE__ */ jsxRuntime.jsx(ui.CircularProgress, { size: "smallest" }),
659
- !loading && /* @__PURE__ */ jsxRuntime.jsx(ui.SendIcon, { color: "primary" })
660
- ] })
661
- ] })
662
- ] });
663
- }
664
- function getPromptsForExistingEntities(properties) {
665
- const multilineProperties = Object.values(properties).filter((p) => {
666
- if (common.isPropertyBuilder(p)) {
667
- return false;
668
- }
669
- return p.type === "string" && (p.ui?.markdown || p.ui?.multiline);
670
- });
671
- const multilinePrompt = multilineProperties.length > 0 ? multilineProperties[Math.floor(Math.random() * multilineProperties.length)] : void 0;
672
- const prompts = ["Fill the missing fields", "Translate the missing content"];
673
- if (multilinePrompt) {
674
- prompts.push(`Add 2 paragraphs to '${multilinePrompt.name}'`);
675
- }
676
- return prompts.map((p) => ({
677
- prompt: p,
678
- type: "sample"
679
- }));
680
- }
681
- const createLocalStorageKey = (path, status) => {
682
- const statusString = status === "new" ? "new" : "existing";
683
- return `data_enhancement::${statusString}::${common.stripCollectionPath(path)}`;
684
- };
685
- const getRecentPromptsFromStorage = (storageKey) => {
686
- const item = localStorage.getItem(storageKey);
687
- return item ? JSON.parse(item).map((e) => ({
688
- prompt: e,
689
- type: "recent"
690
- })) : [];
691
- };
692
- const addRecentPrompt = (storageKey, prompt) => {
693
- if (!prompt || prompt.trim().length === 0) {
694
- return;
695
- }
696
- const recentPrompts = getRecentPromptsFromStorage(storageKey);
697
- localStorage.setItem(storageKey, JSON.stringify([prompt, ...recentPrompts.map((e) => e.prompt).filter((e) => e !== prompt).slice(0, 5)]));
698
- };
699
- const removeRecentPrompt = (storageKey, prompt) => {
700
- localStorage.setItem(storageKey, JSON.stringify(getRecentPromptsFromStorage(storageKey).map((e) => e.prompt).filter((e) => e !== prompt)));
701
- };
702
- const DEFAULT_API_KEY = "fcms-U9jdDii0xXWSDC34asfrf54lbkFJBfKfRWcEDEwdc4V5wDWEDF";
703
- function useDataEnhancementPlugin(props) {
704
- const $ = reactCompilerRuntime.c(5);
705
- const apiKey = props?.apiKey ?? DEFAULT_API_KEY;
706
- const getConfigForPath = props?.getConfigForPath;
707
- props?.host;
708
- let t0;
709
- let t1;
710
- if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
711
- t1 = [{
712
- slot: "form.actions",
713
- Component: FormEnhanceAction,
714
- order: 40
715
- }];
716
- $[0] = t1;
717
- } else {
718
- t1 = $[0];
719
- }
720
- const t2 = props?.host;
721
- let t3;
722
- if ($[1] !== apiKey || $[2] !== getConfigForPath || $[3] !== t2) {
723
- t3 = {
724
- key: "data_enhancement",
725
- slots: t1,
726
- providers: [{
727
- scope: "form",
728
- Component: DataEnhancementControllerProvider,
729
- props: {
730
- apiKey,
731
- getConfigForPath,
732
- host: t2
733
- }
734
- }]
735
- };
736
- $[1] = apiKey;
737
- $[2] = getConfigForPath;
738
- $[3] = t2;
739
- $[4] = t3;
740
- } else {
741
- t3 = $[4];
742
- }
743
- t0 = t3;
744
- return t0;
745
- }
746
- exports2.useDataEnhancementPlugin = useDataEnhancementPlugin;
747
- exports2.useEditorAIController = useEditorAIController;
748
- Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
749
- }));
750
- //# sourceMappingURL=index.umd.js.map
2
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react"), require("@rebasepro/core"), require("@rebasepro/admin"), require("@rebasepro/common"), require("@rebasepro/utils"), require("react/jsx-runtime"), require("@rebasepro/ui")) : typeof define === "function" && define.amd ? define([
3
+ "exports",
4
+ "react",
5
+ "@rebasepro/core",
6
+ "@rebasepro/admin",
7
+ "@rebasepro/common",
8
+ "@rebasepro/utils",
9
+ "react/jsx-runtime",
10
+ "@rebasepro/ui"
11
+ ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.Rebase = {}, global.react, global._rebasepro_core, global._rebasepro_admin, global._rebasepro_common, global._rebasepro_utils, global.react_jsx_runtime, global._rebasepro_ui));
12
+ })(this, function(exports, react, _rebasepro_core, _rebasepro_admin, _rebasepro_common, _rebasepro_utils, react_jsx_runtime, _rebasepro_ui) {
13
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
14
+ //#region \0rolldown/runtime.js
15
+ var __create = Object.create;
16
+ var __defProp = Object.defineProperty;
17
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
18
+ var __getOwnPropNames = Object.getOwnPropertyNames;
19
+ var __getProtoOf = Object.getPrototypeOf;
20
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
23
+ key = keys[i];
24
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
25
+ get: ((k) => from[k]).bind(null, key),
26
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
27
+ });
28
+ }
29
+ return to;
30
+ };
31
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
32
+ value: mod,
33
+ enumerable: true
34
+ }) : target, mod));
35
+ //#endregion
36
+ react = __toESM(react, 1);
37
+ //#region src/utils/values.ts
38
+ function flatMapEntityValues(values, path = "") {
39
+ if (!values) return {};
40
+ return Object.entries(values).flatMap(([key, value]) => {
41
+ const currentPath = path ? `${path}.${key}` : key;
42
+ if (typeof value === "object") return flatMapEntityValues(value, currentPath);
43
+ else return { [currentPath]: value };
44
+ }).reduce((acc, curr) => ({
45
+ ...acc,
46
+ ...curr
47
+ }), {});
48
+ }
49
+ //#endregion
50
+ //#region src/api.ts
51
+ var DEFAULT_SERVER = "https://api.rebase.pro";
52
+ async function enhanceDataAPIStream(props) {
53
+ const flatValues = flatMapEntityValues(props.values);
54
+ const properties = props.properties;
55
+ const request = {
56
+ inputEntity: {
57
+ entityId: props.entityId,
58
+ values: flatValues
59
+ },
60
+ properties,
61
+ entityName: props.entityName,
62
+ entityDescription: props.entityDescription,
63
+ propertyKey: props.propertyKey,
64
+ propertyInstructions: props.propertyInstructions,
65
+ instructions: props.instructions
66
+ };
67
+ console.debug("enhanceDataAPIStream", request);
68
+ return fetch((props.host ?? DEFAULT_SERVER) + "/data/enhance_stream/", {
69
+ method: "POST",
70
+ headers: {
71
+ "Content-Type": "application/json",
72
+ Authorization: `Basic ${props.firebaseToken}`,
73
+ "x-de-api-key": `Basic ${props.apiKey}`
74
+ },
75
+ body: JSON.stringify(request)
76
+ }).then(async (res) => {
77
+ if (!res.ok) {
78
+ console.error("enhanceDataAPIStream error", res);
79
+ throw await res.json();
80
+ }
81
+ const reader = res.body?.getReader();
82
+ if (!reader) throw new Error("No reader");
83
+ for await (const chunk of readChunks(reader)) {
84
+ const str = new TextDecoder().decode(chunk);
85
+ try {
86
+ str.split("&$# ").forEach((s) => {
87
+ if (s && s.length > 0) {
88
+ const data = JSON.parse(s.trim());
89
+ if (data.type === "suggestion_delta") props.onUpdateDelta(data.data.propertyKey, data.data.partialValue);
90
+ else if (data.type === "suggestion") props.onUpdate(data.data);
91
+ else if (data.type === "result") props.onEnd(data.data);
92
+ }
93
+ });
94
+ } catch (e) {
95
+ console.error("str", str);
96
+ console.error("Error parsing stream", e);
97
+ props.onError(e instanceof Error ? e : new Error(String(e)));
98
+ }
99
+ }
100
+ });
101
+ }
102
+ function readChunks(reader) {
103
+ return { async *[Symbol.asyncIterator]() {
104
+ let readResult = await reader.read();
105
+ while (!readResult.done) {
106
+ yield readResult.value;
107
+ readResult = await reader.read();
108
+ }
109
+ } };
110
+ }
111
+ async function fetchEntityPromptSuggestion(props) {
112
+ return fetch((props.host ?? DEFAULT_SERVER) + "/data/prompt_autocomplete/", {
113
+ method: "POST",
114
+ headers: {
115
+ "Content-Type": "application/json",
116
+ Authorization: `Basic ${props.firebaseToken}`,
117
+ "x-de-api-key": `Basic ${props.apiKey}`
118
+ },
119
+ body: JSON.stringify({
120
+ entityName: props.entityName,
121
+ input: props.input ?? null
122
+ })
123
+ }).then(async (res) => {
124
+ const data = await res.json();
125
+ if (!res.ok) {
126
+ console.error("fetchEntityPromptSuggestion", data);
127
+ throw Error(data.message);
128
+ }
129
+ return { prompts: data.data.prompts.map((e) => ({
130
+ prompt: e,
131
+ type: "sample"
132
+ })) };
133
+ });
134
+ }
135
+ async function autocompleteStream(props) {
136
+ let result = "";
137
+ return fetch((props.host ?? DEFAULT_SERVER) + "/data/autocomplete/", {
138
+ method: "POST",
139
+ headers: {
140
+ "Content-Type": "application/json",
141
+ Authorization: `Basic ${props.firebaseToken}`
142
+ },
143
+ body: JSON.stringify({
144
+ textBefore: props.textBefore,
145
+ textAfter: props.textAfter
146
+ })
147
+ }).then(async (res) => {
148
+ if (!res.ok) {
149
+ console.error("enhanceDataAPIStream error", res);
150
+ throw await res.json();
151
+ }
152
+ const reader = res.body?.getReader();
153
+ if (!reader) throw new Error("No reader");
154
+ for await (const chunk of readChunks(reader)) {
155
+ const str = new TextDecoder().decode(chunk);
156
+ result += str;
157
+ console.debug("Autocomplete update:", str);
158
+ props.onUpdate(str);
159
+ }
160
+ }).then(() => {
161
+ console.debug("Autocomplete result:", result);
162
+ return result;
163
+ });
164
+ }
165
+ //#endregion
166
+ //#region src/utils/suggestions.ts
167
+ function getAppendableSuggestion(suggestion, value) {
168
+ const suggestionIncludesValue = typeof suggestion === "string" && typeof value === "string" && suggestion.toLowerCase().trim().startsWith(value.toLowerCase().trim());
169
+ return typeof value === "string" && suggestionIncludesValue ? suggestion.substring(suggestion.toLowerCase().trim().indexOf(value.toLowerCase().trim()) + value.trim().length) : void 0;
170
+ }
171
+ //#endregion
172
+ //#region src/utils/properties.ts
173
+ function getSimplifiedProperties(properties, values, path = "") {
174
+ if (!properties) return {};
175
+ return Object.entries(properties).map(([key, property]) => {
176
+ if ((0, _rebasepro_common.isPropertyBuilder)(property)) return {};
177
+ const fullKey = path ? `${path}.${key}` : key;
178
+ return getSimplifiedProperty(property, fullKey, (0, _rebasepro_utils.getValueInPath)(values, fullKey));
179
+ }).reduce((a, b) => ({
180
+ ...a,
181
+ ...b
182
+ }), {});
183
+ }
184
+ function getSimpleProperty(property) {
185
+ const fieldId = (0, _rebasepro_admin.getFieldId)(property);
186
+ if (!fieldId) {
187
+ console.error("No fieldId found for property", property);
188
+ throw new Error("Field id not found");
189
+ }
190
+ return {
191
+ name: property.name,
192
+ description: property.description,
193
+ type: property.type,
194
+ fieldConfigId: fieldId,
195
+ enum: "enum" in property && property.enum ? getSimpleEnumValues(property.enum) : void 0,
196
+ disabled: Boolean(property.ui?.disabled || property.ui?.readOnly)
197
+ };
198
+ }
199
+ function getSimplifiedProperty(property, path, value) {
200
+ if ((0, _rebasepro_common.isPropertyBuilder)(property)) return {};
201
+ if (property.type === "array") {
202
+ if (property.of && !Array.isArray(property.of) && !(0, _rebasepro_common.isPropertyBuilder)(property.of)) {
203
+ const arrayParentProperty = {
204
+ name: property.name,
205
+ description: property.description,
206
+ type: property.type,
207
+ fieldConfigId: "repeat",
208
+ disabled: Boolean(property.ui?.disabled || property.ui?.readOnly),
209
+ of: getSimpleProperty(property.of)
210
+ };
211
+ return { [path]: arrayParentProperty };
212
+ } else if (property.oneOf) {
213
+ const arrayParentProperty = {
214
+ name: property.name,
215
+ description: property.description,
216
+ type: property.type,
217
+ fieldConfigId: "block",
218
+ disabled: Boolean(property.ui?.disabled || property.ui?.readOnly),
219
+ oneOf: {
220
+ typeField: property.oneOf.typeField,
221
+ valueField: property.oneOf.valueField,
222
+ properties: Object.entries(property.oneOf.properties).map(([key, prop]) => ({ [key]: getSimpleProperty(prop) })).reduce((a, b) => ({
223
+ ...a,
224
+ ...b
225
+ }), {})
226
+ }
227
+ };
228
+ if (!Array.isArray(value)) return { [path]: arrayParentProperty };
229
+ return value.map((v, i) => {
230
+ if (v == null) return {};
231
+ const typeKey = property.oneOf.typeField ?? "type";
232
+ const oneOfType = v[typeKey];
233
+ const valueKey = property.oneOf.valueField ?? "value";
234
+ const oneOfValue = v[valueKey];
235
+ const childProperty = property.oneOf.properties[oneOfType];
236
+ if (childProperty === void 0) {
237
+ console.error(`No property found for type ${oneOfType}`, property.oneOf.properties);
238
+ return {};
239
+ }
240
+ const simplifiedProperty = getSimplifiedProperty(childProperty, `${path}.${i}.${valueKey}`, oneOfValue);
241
+ return {
242
+ [`${path}.${i}.${typeKey}`]: oneOfType,
243
+ ...simplifiedProperty
244
+ };
245
+ }).reduce((a, b) => ({
246
+ ...a,
247
+ ...b
248
+ }), { [path]: arrayParentProperty });
249
+ }
250
+ } else if (property.type === "map") {
251
+ if (property.properties) {
252
+ const mapProperties = Object.entries(property.properties).map(([key, childProperty]) => {
253
+ return getSimplifiedProperty(childProperty, key, value && typeof value === "object" ? value[key] : void 0);
254
+ }).map((o) => attachPathToKeys(o, path)).reduce((a, b) => ({
255
+ ...a,
256
+ ...b
257
+ }), {});
258
+ if (Object.keys(mapProperties).length === 0) return {};
259
+ const mapParentProperty = {
260
+ name: property.name,
261
+ description: property.description,
262
+ type: property.type,
263
+ fieldConfigId: "group",
264
+ disabled: Boolean(property.ui?.disabled || property.ui?.readOnly)
265
+ };
266
+ return {
267
+ [path]: mapParentProperty,
268
+ ...mapProperties
269
+ };
270
+ }
271
+ } else {
272
+ if (!(0, _rebasepro_admin.getFieldId)(property)) {
273
+ console.warn(`No fieldId found for property ${path} with type ${property.type}`);
274
+ return {};
275
+ }
276
+ return { [path]: getSimpleProperty(property) };
277
+ }
278
+ return {};
279
+ }
280
+ function attachPathToKeys(obj, path = "") {
281
+ return Object.entries(obj).map(([key, value]) => {
282
+ return { [path ? `${path}.${key}` : key]: value };
283
+ }).reduce((a, b) => ({
284
+ ...a,
285
+ ...b
286
+ }), {});
287
+ }
288
+ function getSimpleEnumValues(enumValues) {
289
+ if (Array.isArray(enumValues)) return enumValues.map((v) => String(v.id));
290
+ if (typeof enumValues === "object") return Object.keys(enumValues);
291
+ throw Error("getSimpleEnumValues: Invalid enumValues");
292
+ }
293
+ //#endregion
294
+ //#region src/editor/useEditorAIController.tsx
295
+ function useEditorAIController({ getAuthToken }) {
296
+ const autocomplete = async (textBefore, textAfter, onUpdate) => {
297
+ if (!getAuthToken) throw new Error("Firebase token is required");
298
+ return autocompleteStream({
299
+ firebaseToken: await getAuthToken(),
300
+ textBefore,
301
+ textAfter,
302
+ onUpdate
303
+ });
304
+ };
305
+ return { autocomplete };
306
+ }
307
+ //#endregion
308
+ //#region src/components/DataEnhancementControllerProvider.tsx
309
+ var DataEnhancementControllerContext = react.default.createContext(null);
310
+ var useDataEnhancementController = () => (0, react.useContext)(DataEnhancementControllerContext);
311
+ function getPropertyFromKey(properties, propertyKey) {
312
+ if (propertyKey in properties) return properties[propertyKey];
313
+ else {
314
+ const split = propertyKey.split(".");
315
+ if (split.length === 1) return;
316
+ return getPropertyFromKey(properties, split.slice(0, split.length - 1).join("."));
317
+ }
318
+ }
319
+ function DataEnhancementControllerProvider({ apiKey, getConfigForPath, children, host, path, collection, formContext }) {
320
+ const [enabled, setEnabled] = (0, react.useState)(false);
321
+ const [suggestions, setSuggestions] = (0, react.useState)({});
322
+ const [loadingSuggestions, setLoadingSuggestions] = (0, react.useState)([]);
323
+ const enhancingInProgress = (0, react.useRef)(false);
324
+ const authController = (0, _rebasepro_core.useAuthController)();
325
+ const snackbarController = (0, _rebasepro_core.useSnackbarController)();
326
+ const properties = (0, react.useMemo)(() => getSimplifiedProperties(collection.properties, formContext?.values ?? {}), [formContext?.values]);
327
+ const valuesRef = react.default.useRef(formContext?.values ?? {});
328
+ (0, react.useEffect)(() => {
329
+ if (!enhancingInProgress.current) valuesRef.current = formContext?.values ?? {};
330
+ }, [formContext?.values]);
331
+ const allowReferenceDataSelection = false;
332
+ const updateConfig = (0, react.useCallback)(async () => {
333
+ if (!getConfigForPath) return;
334
+ if (getConfigForPath({
335
+ path,
336
+ collection
337
+ })) setEnabled(true);
338
+ }, [
339
+ collection,
340
+ getConfigForPath,
341
+ path
342
+ ]);
343
+ (0, react.useEffect)(() => {
344
+ if (!getConfigForPath) setEnabled(true);
345
+ else updateConfig();
346
+ }, [getConfigForPath, updateConfig]);
347
+ const urlController = (0, _rebasepro_admin.useUrlController)();
348
+ const clearSuggestion = (0, react.useCallback)((propertyKey) => {
349
+ setSuggestions((prev) => {
350
+ const { [propertyKey]: _, ...rest } = prev;
351
+ return rest;
352
+ });
353
+ }, []);
354
+ const appendValueDelta = (0, react.useCallback)((propertyKey, delta) => {
355
+ const property = getPropertyFromKey(properties, propertyKey);
356
+ if (delta === null || property?.disabled) return;
357
+ const value = (0, _rebasepro_utils.getValueInPath)(valuesRef.current, propertyKey);
358
+ const updatedValue = (value ? value + "" : "") + delta;
359
+ valuesRef.current = {
360
+ ...valuesRef.current,
361
+ [propertyKey]: updatedValue
362
+ };
363
+ formContext?.setFieldValue(propertyKey, updatedValue, false);
364
+ setSuggestions((prev) => ({
365
+ ...prev,
366
+ [propertyKey]: (prev[propertyKey] ?? "") + delta
367
+ }));
368
+ }, [properties, formContext]);
369
+ const updateSuggestedValues = (0, react.useCallback)((currentValues, updatedValues, replaceValues) => {
370
+ setLoadingSuggestions((prev) => {
371
+ return prev.filter((p) => !Object.keys(updatedValues).includes(p));
372
+ });
373
+ Object.entries(updatedValues).forEach(([propertyKey, suggestion]) => {
374
+ const value = (0, _rebasepro_utils.getValueInPath)(currentValues, propertyKey);
375
+ const property = getPropertyFromKey(properties, propertyKey);
376
+ if (!property || suggestion === null || property?.disabled) return;
377
+ if (typeof suggestion === "number") {
378
+ formContext?.setFieldValue(propertyKey, suggestion);
379
+ return;
380
+ }
381
+ if (replaceValues) {
382
+ formContext?.setFieldValue(propertyKey, suggestion);
383
+ return;
384
+ }
385
+ const appendableValue = getAppendableSuggestion(suggestion, value);
386
+ const currentValue = value ? value + "" : "";
387
+ if (appendableValue) formContext?.setFieldValue(propertyKey, suggestion);
388
+ else {
389
+ const multiline = property?.fieldConfigId === "multiline" || property?.fieldConfigId === "markdown";
390
+ const trimmedValue = currentValue.trimEnd();
391
+ if (multiline && (trimmedValue.endsWith(".") || trimmedValue.endsWith("?") || trimmedValue.endsWith("!") || trimmedValue.endsWith(":"))) formContext?.setFieldValue(propertyKey, trimmedValue + "\n\n" + suggestion.trimStart());
392
+ else formContext?.setFieldValue(propertyKey, trimmedValue + (trimmedValue.length > 0 ? " " : "") + suggestion);
393
+ }
394
+ });
395
+ setSuggestions((prev) => ({
396
+ ...prev,
397
+ ...Object.keys(updatedValues).reduce((acc, key) => {
398
+ const value = (0, _rebasepro_utils.getValueInPath)(formContext?.values, key);
399
+ const suggestion = updatedValues[key];
400
+ return {
401
+ ...acc,
402
+ [key]: getAppendableSuggestion(suggestion, value) ?? suggestion
403
+ };
404
+ }, {})
405
+ }));
406
+ }, [properties, formContext]);
407
+ const displayNeededSubscriptionSnackbar = (0, react.useCallback)((projectId) => {
408
+ snackbarController.open({
409
+ type: "warning",
410
+ message: "A valid subscription is needed in order to use this function.",
411
+ autoHideDuration: 4e3
412
+ });
413
+ }, [snackbarController]);
414
+ const editorAIController = useEditorAIController({ getAuthToken: authController.getAuthToken });
415
+ const clearAllSuggestions = (0, react.useCallback)(() => {
416
+ setSuggestions({});
417
+ }, []);
418
+ const enhance = (0, react.useCallback)(async (props) => {
419
+ if (!authController.user) {
420
+ snackbarController.open({
421
+ type: "warning",
422
+ message: "You need to be logged in to enhance data"
423
+ });
424
+ return Promise.reject(/* @__PURE__ */ new Error("Not logged in"));
425
+ }
426
+ const resolvedPath = urlController.resolveDatabasePathsFrom(path);
427
+ const firebaseToken = await authController.getAuthToken();
428
+ if (props.propertyKey) clearSuggestion(props.propertyKey);
429
+ else clearAllSuggestions();
430
+ setLoadingSuggestions((prev) => [...prev, ...props.propertyKey ? [props.propertyKey] : Object.keys(properties)]);
431
+ enhancingInProgress.current = true;
432
+ const currentValues = valuesRef.current ?? {};
433
+ return new Promise((resolve, reject) => {
434
+ function onError(e) {
435
+ setLoadingSuggestions([]);
436
+ const errorObj = e instanceof Error ? e : typeof e === "object" && e !== null ? e : new Error(String(e));
437
+ if (errorObj.code === "payment-required") {
438
+ const projectId = errorObj.data?.projectId;
439
+ displayNeededSubscriptionSnackbar(projectId);
440
+ } else console.error("Enhance error", e);
441
+ reject(e);
442
+ enhancingInProgress.current = false;
443
+ }
444
+ try {
445
+ enhanceDataAPIStream({
446
+ ...props,
447
+ host,
448
+ apiKey,
449
+ properties,
450
+ path: resolvedPath,
451
+ entityName: collection.singularName ?? collection.name,
452
+ entityDescription: collection.description,
453
+ firebaseToken,
454
+ onUpdate: (suggestions) => {
455
+ console.debug("de onUpdate", suggestions);
456
+ updateSuggestedValues(currentValues, suggestions, props.replaceValues ?? false);
457
+ },
458
+ onUpdateDelta: (propertyKey, partialValue) => {
459
+ appendValueDelta(propertyKey, partialValue);
460
+ },
461
+ onError,
462
+ onEnd: (result) => {
463
+ console.debug("de onEnd", result);
464
+ if (result.errors) result.errors.forEach((error) => {
465
+ snackbarController.open({
466
+ type: "warning",
467
+ message: error
468
+ });
469
+ });
470
+ if (Object.keys(result.suggestions).length === 0) snackbarController.open({
471
+ type: "info",
472
+ autoHideDuration: 1800,
473
+ message: "No fields were updated"
474
+ });
475
+ setLoadingSuggestions([]);
476
+ resolve(result);
477
+ enhancingInProgress.current = false;
478
+ }
479
+ }).catch(onError);
480
+ } catch (e) {
481
+ onError(e);
482
+ }
483
+ });
484
+ }, [
485
+ authController,
486
+ urlController,
487
+ path,
488
+ clearSuggestion,
489
+ clearAllSuggestions,
490
+ properties,
491
+ host,
492
+ apiKey,
493
+ collection,
494
+ updateSuggestedValues,
495
+ appendValueDelta,
496
+ displayNeededSubscriptionSnackbar,
497
+ snackbarController
498
+ ]);
499
+ const getSamplePrompts = (0, react.useCallback)(async (entityName, input) => {
500
+ return fetchEntityPromptSuggestion({
501
+ host,
502
+ entityName,
503
+ firebaseToken: await authController.getAuthToken(),
504
+ apiKey,
505
+ input
506
+ });
507
+ }, [
508
+ apiKey,
509
+ authController.getAuthToken,
510
+ host
511
+ ]);
512
+ const dataEnhancementController = (0, react.useMemo)(() => ({
513
+ enabled,
514
+ suggestions,
515
+ clearSuggestion,
516
+ enhance,
517
+ allowReferenceDataSelection,
518
+ clearAllSuggestions,
519
+ getSamplePrompts,
520
+ loadingSuggestions,
521
+ editorAIController
522
+ }), [
523
+ enabled,
524
+ suggestions,
525
+ clearSuggestion,
526
+ enhance,
527
+ allowReferenceDataSelection,
528
+ clearAllSuggestions,
529
+ getSamplePrompts,
530
+ loadingSuggestions,
531
+ editorAIController
532
+ ]);
533
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataEnhancementControllerContext.Provider, {
534
+ value: dataEnhancementController,
535
+ children
536
+ });
537
+ }
538
+ //#endregion
539
+ //#region src/components/FormEnhanceAction.tsx
540
+ function FormEnhanceAction({ entityId, path, status, collection, formContext, openEntityMode }) {
541
+ const largeLayout = (0, _rebasepro_core.useLargeLayout)();
542
+ const storageKey = createLocalStorageKey(path, status);
543
+ const [loading, setLoading] = react.default.useState(false);
544
+ const dataEnhancementController = useDataEnhancementController();
545
+ const [samplePrompts, setSamplePrompts] = react.default.useState(void 0);
546
+ const [instructions, setInstructions] = react.default.useState("");
547
+ const getSamplePrompts = dataEnhancementController?.getSamplePrompts;
548
+ const loadingPrompts = (0, react.useRef)(false);
549
+ const updateSuggestedPrompts = (0, react.useCallback)(async function updateSuggestedPrompts(instructions) {
550
+ if (!getSamplePrompts) return;
551
+ if (loadingPrompts.current) return;
552
+ loadingPrompts.current = true;
553
+ const prompts = status === "new" ? (await getSamplePrompts(collection.singularName ?? collection.name, instructions)).prompts : getPromptsForExistingEntities(collection.properties);
554
+ const recentPromptsFromStorage = getRecentPromptsFromStorage(storageKey);
555
+ const recentPrompts = recentPromptsFromStorage.map((prompt) => prompt.prompt);
556
+ setSamplePrompts([...recentPromptsFromStorage, ...prompts.filter((p) => !recentPrompts.includes(p.prompt))].slice(0, 5));
557
+ loadingPrompts.current = false;
558
+ }, [
559
+ collection.name,
560
+ collection.singularName,
561
+ getSamplePrompts,
562
+ status
563
+ ]);
564
+ (0, react.useDeferredValue)(formContext?.values);
565
+ (0, react.useEffect)(() => {
566
+ if (!dataEnhancementController) return;
567
+ if (!samplePrompts) {
568
+ setSamplePrompts(getRecentPromptsFromStorage(storageKey));
569
+ updateSuggestedPrompts().then();
570
+ }
571
+ }, [
572
+ dataEnhancementController,
573
+ samplePrompts,
574
+ storageKey,
575
+ updateSuggestedPrompts,
576
+ instructions,
577
+ status
578
+ ]);
579
+ (0, react.useEffect)(() => {
580
+ if (!dataEnhancementController) return;
581
+ updateSuggestedPrompts().then();
582
+ }, [dataEnhancementController, status]);
583
+ const enhance = (prompt) => {
584
+ if (!dataEnhancementController || !formContext?.values) return;
585
+ setLoading(true);
586
+ if (prompt) {
587
+ addRecentPrompt(storageKey, prompt);
588
+ setSamplePrompts([{
589
+ prompt,
590
+ type: "recent"
591
+ }, ...(samplePrompts ?? []).slice(0, 5)]);
592
+ }
593
+ return dataEnhancementController.enhance({
594
+ entityId,
595
+ values: formContext.values,
596
+ instructions: prompt,
597
+ replaceValues: true
598
+ }).finally(() => {
599
+ setLoading(false);
600
+ });
601
+ };
602
+ if (!dataEnhancementController?.enabled) return null;
603
+ const suggestions = dataEnhancementController.suggestions;
604
+ Object.values(suggestions).filter(Boolean).length;
605
+ (samplePrompts ?? []).length > 0 && instructions.length;
606
+ function submit() {
607
+ enhance(instructions);
608
+ }
609
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_rebasepro_ui.Menu, {
610
+ align: "end",
611
+ sideOffset: 8,
612
+ className: "max-w-[100vw]",
613
+ trigger: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_rebasepro_ui.Button, {
614
+ variant: "filled",
615
+ color: "neutral",
616
+ fullWidth: largeLayout && openEntityMode === "full_screen",
617
+ size: "small",
618
+ disabled: loading,
619
+ children: [
620
+ !loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_core.AIIcon, { size: "small" }),
621
+ loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.CircularProgress, { size: "small" }),
622
+ "Autofill"
623
+ ]
624
+ }),
625
+ children: [
626
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_rebasepro_ui.MenuItem, {
627
+ className: "py-4",
628
+ onClick: () => {
629
+ enhance();
630
+ },
631
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_core.AIIcon, { size: "small" }), "Autofill based on the current content"]
632
+ }),
633
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.Separator, {
634
+ orientation: "horizontal",
635
+ className: "mt-2"
636
+ }),
637
+ samplePrompts?.map((samplePrompt, index) => {
638
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_rebasepro_ui.MenuItem, {
639
+ onClick: () => {
640
+ setInstructions(samplePrompt.prompt);
641
+ enhance(samplePrompt.prompt);
642
+ },
643
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
644
+ className: "pl-9 grow text-text-secondary dark:text-text-secondary-dark",
645
+ children: samplePrompt.prompt
646
+ }), samplePrompt.type === "recent" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.IconButton, {
647
+ onClick: (e) => {
648
+ e.preventDefault();
649
+ e.stopPropagation();
650
+ removeRecentPrompt(storageKey, samplePrompt.prompt);
651
+ setSamplePrompts((samplePrompts ?? []).filter((p) => p.prompt !== samplePrompt.prompt));
652
+ },
653
+ size: "smallest",
654
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.XIcon, { size: _rebasepro_ui.iconSize.smallest })
655
+ })]
656
+ }, index + "_" + samplePrompt.prompt);
657
+ }),
658
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.Separator, { orientation: "horizontal" }),
659
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
660
+ className: (0, _rebasepro_ui.cls)("my-2 w-[500px] max-w-full flex items-start text-surface-700 dark:text-surface-200"),
661
+ children: [
662
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.TextareaAutosize, {
663
+ className: (0, _rebasepro_ui.cls)("p-4 rounded-lg resize-none bg-surface-100 dark:bg-surface-950 mx-2 w-full grow outline-hidden max-h-[300px] overflow-auto", _rebasepro_ui.focusedDisabled),
664
+ value: instructions,
665
+ autoFocus: status === "new",
666
+ disabled: loading,
667
+ onFocus: (event) => {
668
+ event.stopPropagation();
669
+ },
670
+ placeholder: "...or provide instructions",
671
+ onKeyDown: (e) => {
672
+ e.stopPropagation();
673
+ if (e.key === "Enter" && !e.shiftKey) {
674
+ e.preventDefault();
675
+ submit();
676
+ }
677
+ },
678
+ onChange: (e) => {
679
+ setInstructions(e.target.value);
680
+ }
681
+ }),
682
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.IconButton, {
683
+ size: "small",
684
+ onClick: () => {
685
+ setInstructions("");
686
+ },
687
+ color: !instructions ? "primary" : void 0,
688
+ disabled: loading || !instructions,
689
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.XIcon, { size: _rebasepro_ui.iconSize.small })
690
+ }),
691
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_rebasepro_ui.IconButton, {
692
+ onClick: () => enhance(instructions),
693
+ size: "small",
694
+ color: !instructions ? "primary" : void 0,
695
+ disabled: loading || !instructions,
696
+ children: [loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.CircularProgress, { size: "smallest" }), !loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_rebasepro_ui.SendIcon, { color: "primary" })]
697
+ })
698
+ ]
699
+ })
700
+ ]
701
+ });
702
+ }
703
+ function getPromptsForExistingEntities(properties) {
704
+ const multilineProperties = Object.values(properties).filter((p) => {
705
+ if ((0, _rebasepro_common.isPropertyBuilder)(p)) return false;
706
+ return p.type === "string" && (p.ui?.markdown || p.ui?.multiline);
707
+ });
708
+ const multilinePrompt = multilineProperties.length > 0 ? multilineProperties[Math.floor(Math.random() * multilineProperties.length)] : void 0;
709
+ const prompts = ["Fill the missing fields", "Translate the missing content"];
710
+ if (multilinePrompt) prompts.push(`Add 2 paragraphs to '${multilinePrompt.name}'`);
711
+ return prompts.map((p) => ({
712
+ prompt: p,
713
+ type: "sample"
714
+ }));
715
+ }
716
+ var createLocalStorageKey = (path, status) => {
717
+ return `data_enhancement::${status === "new" ? "new" : "existing"}::${(0, _rebasepro_common.stripCollectionPath)(path)}`;
718
+ };
719
+ var getRecentPromptsFromStorage = (storageKey) => {
720
+ const item = localStorage.getItem(storageKey);
721
+ return item ? JSON.parse(item).map((e) => ({
722
+ prompt: e,
723
+ type: "recent"
724
+ })) : [];
725
+ };
726
+ var addRecentPrompt = (storageKey, prompt) => {
727
+ if (!prompt || prompt.trim().length === 0) return;
728
+ const recentPrompts = getRecentPromptsFromStorage(storageKey);
729
+ localStorage.setItem(storageKey, JSON.stringify([prompt, ...recentPrompts.map((e) => e.prompt).filter((e) => e !== prompt).slice(0, 5)]));
730
+ };
731
+ var removeRecentPrompt = (storageKey, prompt) => {
732
+ localStorage.setItem(storageKey, JSON.stringify(getRecentPromptsFromStorage(storageKey).map((e) => e.prompt).filter((e) => e !== prompt)));
733
+ };
734
+ //#endregion
735
+ //#region src/useDataEnhancementPlugin.tsx
736
+ var DEFAULT_API_KEY = "fcms-U9jdDii0xXWSDC34asfrf54lbkFJBfKfRWcEDEwdc4V5wDWEDF";
737
+ /**
738
+ * Use this hook to initialise the data enhancement plugin.
739
+ * This is likely the only hook you will need to use.
740
+ * @param props
741
+ */
742
+ function useDataEnhancementPlugin(props) {
743
+ const apiKey = props?.apiKey ?? DEFAULT_API_KEY;
744
+ const getConfigForPath = props?.getConfigForPath;
745
+ return react.default.useMemo(() => ({
746
+ key: "data_enhancement",
747
+ slots: [{
748
+ slot: "form.actions",
749
+ Component: FormEnhanceAction,
750
+ order: 40
751
+ }],
752
+ providers: [{
753
+ scope: "form",
754
+ Component: DataEnhancementControllerProvider,
755
+ props: {
756
+ apiKey,
757
+ getConfigForPath,
758
+ host: props?.host
759
+ }
760
+ }]
761
+ }), [
762
+ apiKey,
763
+ getConfigForPath,
764
+ props?.host
765
+ ]);
766
+ }
767
+ //#endregion
768
+ exports.useDataEnhancementPlugin = useDataEnhancementPlugin;
769
+ exports.useEditorAIController = useEditorAIController;
770
+ });
771
+
772
+ //# sourceMappingURL=index.umd.js.map