@rebasepro/admin 0.9.1-canary.ff338b5 → 0.10.1-canary.0a881d4

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 (365) hide show
  1. package/dist/{CollectionEditorDialog-DbPpDDwb.js → CollectionEditorDialog-DMztwJ5S.js} +132 -40
  2. package/dist/CollectionEditorDialog-DMztwJ5S.js.map +1 -0
  3. package/dist/{PropertyEditView-DfJbZ67t.js → PropertyEditView-CjFCnftn.js} +19 -19
  4. package/dist/PropertyEditView-CjFCnftn.js.map +1 -0
  5. package/dist/{RouterCollectionsStudioView-C6XQ7Il5.js → RouterCollectionsStudioView-nDFQdKHA.js} +4 -4
  6. package/dist/RouterCollectionsStudioView-nDFQdKHA.js.map +1 -0
  7. package/dist/collection_editor/api/generateCollectionApi.d.ts +4 -4
  8. package/dist/collection_editor/pgColumnToProperty.d.ts +4 -3
  9. package/dist/collection_editor/serializable_types.d.ts +31 -30
  10. package/dist/collection_editor/serializable_utils.d.ts +6 -5
  11. package/dist/collection_editor/types/collection_editor_controller.d.ts +6 -5
  12. package/dist/collection_editor/types/collection_inference.d.ts +3 -2
  13. package/dist/collection_editor/types/config_controller.d.ts +8 -7
  14. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -2
  15. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +3 -2
  16. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
  17. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
  18. package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
  19. package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
  20. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -2
  21. package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
  22. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +2 -2
  23. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +3 -3
  24. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -2
  25. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +5 -4
  26. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
  27. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -2
  28. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +3 -2
  29. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -2
  30. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -2
  31. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -2
  32. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -2
  33. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -2
  34. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +3 -2
  35. package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -1
  36. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +4 -3
  37. package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
  38. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +1 -1
  39. package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +1 -1
  40. package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +1 -1
  41. package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +1 -1
  42. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
  43. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
  44. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
  45. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
  46. package/dist/collection_editor/ui/collection_editor/utils/supported_fields.d.ts +1 -1
  47. package/dist/collection_editor/ui/collection_editor/utils/update_property_for_widget.d.ts +2 -1
  48. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
  49. package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
  50. package/dist/collection_editor_ui.js +4 -4
  51. package/dist/components/AdminModeSyncer.d.ts +1 -1
  52. package/dist/components/ClearFilterSortButton.d.ts +1 -1
  53. package/dist/components/CollectionPanel.d.ts +2 -2
  54. package/dist/components/CollectionTableBinding/CollectionRowActions.d.ts +4 -4
  55. package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +1 -1
  56. package/dist/components/CollectionTableBinding/CollectionTableBindingProps.d.ts +3 -2
  57. package/dist/components/CollectionTableBinding/fields/TableMultipleRelationField.d.ts +3 -3
  58. package/dist/components/CollectionTableBinding/fields/TableReferenceField.d.ts +3 -3
  59. package/dist/components/CollectionTableBinding/fields/TableRelationField.d.ts +3 -3
  60. package/dist/components/CollectionTableBinding/internal/common.d.ts +2 -2
  61. package/dist/components/CollectionTableBinding/internal/popup_field/PopupFormField.d.ts +2 -2
  62. package/dist/components/CollectionViewBinding/BoardCardBinding.d.ts +3 -3
  63. package/dist/components/CollectionViewBinding/CollectionBoardViewBinding.d.ts +3 -3
  64. package/dist/components/CollectionViewBinding/CollectionCardViewBinding.d.ts +3 -3
  65. package/dist/components/CollectionViewBinding/CollectionListViewBinding.d.ts +3 -3
  66. package/dist/components/CollectionViewBinding/CollectionViewActions.d.ts +2 -3
  67. package/dist/components/CollectionViewBinding/CollectionViewBinding.d.ts +2 -2
  68. package/dist/components/CollectionViewBinding/CollectionViewStartActions.d.ts +2 -3
  69. package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +3 -3
  70. package/dist/components/CollectionViewBinding/FilterPresetsButton.d.ts +2 -1
  71. package/dist/components/CollectionViewBinding/SplitListView.d.ts +3 -3
  72. package/dist/components/CollectionViewBinding/ViewModeToggle.d.ts +1 -1
  73. package/dist/components/CollectionViewBinding/hooks/useCollectionInlineEditor.d.ts +3 -2
  74. package/dist/components/CollectionViewBinding/hooks/useKanbanDragAndDrop.d.ts +3 -2
  75. package/dist/components/CollectionViewBinding/useBoardDataController.d.ts +2 -2
  76. package/dist/components/CollectionViewBinding/usePreviewSlots.d.ts +9 -6
  77. package/dist/components/CollectionViewBinding/useSelectionController.d.ts +2 -1
  78. package/dist/components/DeleteEntityDialog.d.ts +2 -2
  79. package/dist/components/DetailViewBinding.d.ts +3 -3
  80. package/dist/components/DrawerNavigationGroup.d.ts +1 -1
  81. package/dist/components/EditViewBinding.d.ts +3 -3
  82. package/dist/components/EntityPreviewBinding.d.ts +3 -3
  83. package/dist/components/EntityViewBinding.d.ts +2 -2
  84. package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
  85. package/dist/components/HomePage/HomePageDnD.d.ts +1 -1
  86. package/dist/components/HomePage/NavigationCardBinding.d.ts +1 -1
  87. package/dist/components/PropertyConfigBadge.d.ts +1 -1
  88. package/dist/components/RebaseAdmin.d.ts +1 -1
  89. package/dist/components/RebaseLayout.d.ts +1 -1
  90. package/dist/components/ReferenceTable/SelectionTableBinding.d.ts +2 -2
  91. package/dist/components/SelectableTable/SelectableTable.d.ts +3 -2
  92. package/dist/components/SelectableTable/SelectionStore.d.ts +1 -1
  93. package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +2 -2
  94. package/dist/components/SidePanelBinding.d.ts +1 -1
  95. package/dist/components/admin/CreationResultDialog.d.ts +1 -1
  96. package/dist/components/common/default_entity_actions.d.ts +2 -1
  97. package/dist/components/field_configs.d.ts +20 -2
  98. package/dist/components/history/EntityHistoryEntry.d.ts +2 -2
  99. package/dist/components/history/EntityHistoryView.d.ts +1 -1
  100. package/dist/components/history/LastEditedByFormAction.d.ts +1 -1
  101. package/dist/components/history/LastEditedByIndicator.d.ts +2 -2
  102. package/dist/contexts/BreacrumbsContext.d.ts +1 -1
  103. package/dist/contexts/SideDialogsControllerContext.d.ts +1 -1
  104. package/dist/contexts/SidePanelControllerContext.d.ts +1 -1
  105. package/dist/data_export/export/ExportCollectionAction.d.ts +4 -3
  106. package/dist/data_import/components/ImportSaveInProgress.d.ts +2 -2
  107. package/dist/data_import/import/ImportCollectionAction.d.ts +2 -1
  108. package/dist/data_import/utils/data.d.ts +2 -1
  109. package/dist/editor.js.map +1 -1
  110. package/dist/export-CavEbZVF.js +518 -0
  111. package/dist/export-CavEbZVF.js.map +1 -0
  112. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  113. package/dist/form/form_utils.d.ts +4 -3
  114. package/dist/{history-GSa4BgDt.js → history-B1lIsrkX.js} +3 -3
  115. package/dist/history-B1lIsrkX.js.map +1 -0
  116. package/dist/hooks/index.d.ts +1 -0
  117. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
  118. package/dist/hooks/navigation/contexts/NavigationStateContext.d.ts +1 -1
  119. package/dist/hooks/navigation/contexts/UrlContext.d.ts +1 -1
  120. package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +2 -1
  121. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +7 -5
  122. package/dist/hooks/navigation/useBuildUrlController.d.ts +1 -1
  123. package/dist/hooks/navigation/useNavigationResolution.d.ts +6 -5
  124. package/dist/hooks/navigation/useResolvedCollections.d.ts +8 -7
  125. package/dist/hooks/navigation/useResolvedViews.d.ts +4 -2
  126. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +2 -2
  127. package/dist/hooks/navigation/utils.d.ts +5 -5
  128. package/dist/hooks/useBreadcrumbsController.d.ts +1 -1
  129. package/dist/hooks/useBuildSidePanel.d.ts +4 -4
  130. package/dist/hooks/useCMSContext.d.ts +4 -2
  131. package/dist/hooks/useResolvedNavigationFrom.d.ts +5 -4
  132. package/dist/hooks/useResolvedUsers.d.ts +8 -0
  133. package/dist/hooks/useSelectionDialog.d.ts +1 -1
  134. package/dist/hooks/useSideDialogsController.d.ts +1 -1
  135. package/dist/hooks/useSidePanel.d.ts +1 -1
  136. package/dist/import-36UcGe71.js +328 -0
  137. package/dist/import-36UcGe71.js.map +1 -0
  138. package/dist/index.d.ts +1 -1
  139. package/dist/index.js +3300 -2
  140. package/dist/index.js.map +1 -0
  141. package/dist/preview/components/UrlComponentPreview.d.ts +3 -2
  142. package/dist/preview/components/UserPreview.d.ts +3 -2
  143. package/dist/preview/property_previews/StringPropertyPreview.d.ts +1 -1
  144. package/dist/preview/util.d.ts +2 -1
  145. package/dist/routes/CustomViewRoute.d.ts +1 -1
  146. package/dist/types/components/EntityFormActionsProps.d.ts +2 -2
  147. package/dist/types/components/EntityFormProps.d.ts +3 -3
  148. package/dist/types/fields.d.ts +2 -2
  149. package/dist/util/dataControllerAdapter.d.ts +1 -1
  150. package/dist/util/entity_actions.d.ts +1 -1
  151. package/dist/util/navigation_utils.d.ts +3 -3
  152. package/dist/util/previews.d.ts +22 -4
  153. package/dist/util/property_utils.d.ts +3 -2
  154. package/dist/util/resolutions.d.ts +1 -1
  155. package/dist/util/view_mode.d.ts +54 -0
  156. package/dist/{src-B8WuGSPZ.js → util-CPgUM4M8.js} +17385 -21194
  157. package/dist/util-CPgUM4M8.js.map +1 -0
  158. package/package.json +11 -9
  159. package/src/collection_editor/ConfigControllerProvider.tsx +11 -12
  160. package/src/collection_editor/api/generateCollectionApi.ts +4 -4
  161. package/src/collection_editor/pgColumnToProperty.ts +4 -3
  162. package/src/collection_editor/serializable_types.ts +36 -34
  163. package/src/collection_editor/serializable_utils.ts +17 -32
  164. package/src/collection_editor/types/collection_editor_controller.tsx +6 -5
  165. package/src/collection_editor/types/collection_inference.ts +3 -2
  166. package/src/collection_editor/types/config_controller.tsx +8 -7
  167. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +3 -2
  168. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +3 -2
  169. package/src/collection_editor/ui/EditorCollectionAction.tsx +3 -2
  170. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +3 -2
  171. package/src/collection_editor/ui/EditorEntityAction.tsx +3 -2
  172. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +1 -1
  173. package/src/collection_editor/ui/KanbanSetupAction.tsx +3 -2
  174. package/src/collection_editor/ui/MissingReferenceWidget.tsx +1 -1
  175. package/src/collection_editor/ui/NewCollectionCard.tsx +1 -1
  176. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +3 -2
  177. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +6 -5
  178. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +5 -7
  179. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +28 -38
  180. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +4 -3
  181. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +3 -2
  182. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +4 -3
  183. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +108 -12
  184. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +3 -2
  185. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +2 -2
  186. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +3 -2
  187. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +4 -3
  188. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +4 -4
  189. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +4 -4
  190. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +5 -4
  191. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +3 -2
  192. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +4 -3
  193. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +2 -1
  194. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +6 -5
  195. package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +1 -1
  196. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +3 -2
  197. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +2 -1
  198. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +1 -1
  199. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +1 -1
  200. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +3 -2
  201. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +3 -2
  202. package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +2 -1
  203. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +3 -3
  204. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +3 -3
  205. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +4 -4
  206. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
  207. package/src/collection_editor/ui/collection_editor/utils/supported_fields.tsx +1 -1
  208. package/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts +10 -8
  209. package/src/collection_editor/useJsonCollectionsConfigController.tsx +10 -9
  210. package/src/collection_editor/useLocalCollectionsConfigController.tsx +5 -5
  211. package/src/collection_editor/validateCollectionJson.ts +4 -5
  212. package/src/components/AdminModeSyncer.tsx +1 -1
  213. package/src/components/ClearFilterSortButton.tsx +1 -1
  214. package/src/components/CollectionPanel.tsx +5 -4
  215. package/src/components/CollectionTableBinding/CollectionRowActions.tsx +7 -7
  216. package/src/components/CollectionTableBinding/CollectionTableBinding.tsx +5 -4
  217. package/src/components/CollectionTableBinding/CollectionTableBindingProps.tsx +3 -2
  218. package/src/components/CollectionTableBinding/PropertyTableCell.tsx +5 -5
  219. package/src/components/CollectionTableBinding/fields/TableMultipleRelationField.tsx +4 -3
  220. package/src/components/CollectionTableBinding/fields/TableReferenceField.tsx +6 -5
  221. package/src/components/CollectionTableBinding/fields/TableRelationField.tsx +4 -3
  222. package/src/components/CollectionTableBinding/internal/common.tsx +8 -7
  223. package/src/components/CollectionTableBinding/internal/popup_field/PopupFormField.tsx +5 -4
  224. package/src/components/CollectionTableBinding/table_bindings.tsx +7 -7
  225. package/src/components/CollectionViewBinding/BoardCardBinding.tsx +6 -5
  226. package/src/components/CollectionViewBinding/CollectionBoardViewBinding.tsx +6 -7
  227. package/src/components/CollectionViewBinding/CollectionCardViewBinding.tsx +4 -3
  228. package/src/components/CollectionViewBinding/CollectionListViewBinding.tsx +10 -13
  229. package/src/components/CollectionViewBinding/CollectionViewActions.tsx +4 -4
  230. package/src/components/CollectionViewBinding/CollectionViewBinding.tsx +93 -142
  231. package/src/components/CollectionViewBinding/CollectionViewStartActions.tsx +7 -11
  232. package/src/components/CollectionViewBinding/EntityCardBinding.tsx +6 -5
  233. package/src/components/CollectionViewBinding/FilterPresetsButton.tsx +2 -1
  234. package/src/components/CollectionViewBinding/FiltersDialog.tsx +2 -2
  235. package/src/components/CollectionViewBinding/SplitListView.tsx +120 -68
  236. package/src/components/CollectionViewBinding/ViewModeToggle.tsx +1 -1
  237. package/src/components/CollectionViewBinding/hooks/useCollectionInlineEditor.ts +3 -2
  238. package/src/components/CollectionViewBinding/hooks/useKanbanDragAndDrop.ts +3 -2
  239. package/src/components/CollectionViewBinding/useBoardDataController.tsx +3 -2
  240. package/src/components/CollectionViewBinding/usePreviewSlots.ts +57 -25
  241. package/src/components/CollectionViewBinding/useSelectionController.tsx +2 -1
  242. package/src/components/DefaultDrawer.tsx +2 -2
  243. package/src/components/DeleteEntityDialog.tsx +3 -2
  244. package/src/components/DetailViewBinding.tsx +27 -20
  245. package/src/components/DrawerNavigationGroup.tsx +1 -1
  246. package/src/components/EditFormActions.tsx +7 -7
  247. package/src/components/EditViewBinding.tsx +14 -17
  248. package/src/components/EntityPreviewBinding.tsx +9 -7
  249. package/src/components/EntityViewBinding.tsx +3 -3
  250. package/src/components/HomePage/ContentHomePage.tsx +4 -3
  251. package/src/components/HomePage/FavouritesView.tsx +2 -2
  252. package/src/components/HomePage/HomePageDnD.tsx +1 -1
  253. package/src/components/HomePage/NavigationCardBinding.tsx +2 -2
  254. package/src/components/PropertyConfigBadge.tsx +2 -1
  255. package/src/components/RebaseAdmin.tsx +1 -1
  256. package/src/components/RebaseAuthGate.tsx +1 -1
  257. package/src/components/RebaseLayout.tsx +1 -1
  258. package/src/components/RebaseNavigation.tsx +4 -3
  259. package/src/components/RebaseRouteDefs.tsx +1 -1
  260. package/src/components/ReferenceTable/SelectionTableBinding.tsx +8 -6
  261. package/src/components/ReferenceWidget.tsx +4 -3
  262. package/src/components/SelectableTable/SelectableTable.tsx +3 -3
  263. package/src/components/SelectableTable/SelectionStore.ts +1 -1
  264. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +9 -6
  265. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +4 -3
  266. package/src/components/SideDialogs.tsx +2 -2
  267. package/src/components/SidePanelBinding.tsx +51 -13
  268. package/src/components/SidePanelProvider.tsx +15 -12
  269. package/src/components/admin/CreationResultDialog.tsx +1 -1
  270. package/src/components/common/default_entity_actions.tsx +3 -2
  271. package/src/components/field_configs.tsx +49 -31
  272. package/src/components/history/EntityHistoryEntry.tsx +3 -2
  273. package/src/components/history/EntityHistoryView.tsx +2 -2
  274. package/src/components/history/LastEditedByFormAction.tsx +1 -1
  275. package/src/components/history/LastEditedByIndicator.tsx +3 -2
  276. package/src/contexts/BreacrumbsContext.tsx +1 -1
  277. package/src/contexts/SideDialogsControllerContext.tsx +1 -1
  278. package/src/contexts/SidePanelControllerContext.tsx +1 -1
  279. package/src/data_export/export/ExportCollectionAction.tsx +5 -4
  280. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +2 -4
  281. package/src/data_import/components/ImportSaveInProgress.tsx +4 -3
  282. package/src/data_import/import/ImportCollectionAction.tsx +9 -8
  283. package/src/data_import/utils/data.ts +3 -2
  284. package/src/editor/selectors/color-selector.tsx +1 -1
  285. package/src/editor/selectors/node-selector.tsx +1 -1
  286. package/src/editor/selectors/text-buttons.tsx +1 -1
  287. package/src/form/EntityForm.tsx +23 -11
  288. package/src/form/EntityFormActions.tsx +3 -3
  289. package/src/form/EntityFormBinding.tsx +9 -5
  290. package/src/form/PropertyFieldBinding.tsx +15 -12
  291. package/src/form/components/FieldHelperText.tsx +1 -1
  292. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +7 -5
  293. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +10 -8
  294. package/src/form/field_bindings/BlockFieldBinding.tsx +6 -5
  295. package/src/form/field_bindings/DateTimeFieldBinding.tsx +3 -2
  296. package/src/form/field_bindings/KeyValueFieldBinding.tsx +3 -2
  297. package/src/form/field_bindings/MapFieldBinding.tsx +9 -8
  298. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +3 -2
  299. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +2 -1
  300. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +4 -3
  301. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +2 -1
  302. package/src/form/field_bindings/ReferenceFieldBinding.tsx +7 -5
  303. package/src/form/field_bindings/RelationFieldBinding.tsx +4 -3
  304. package/src/form/field_bindings/RepeatFieldBinding.tsx +7 -6
  305. package/src/form/field_bindings/SelectFieldBinding.tsx +3 -2
  306. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +4 -3
  307. package/src/form/field_bindings/SwitchFieldBinding.tsx +3 -2
  308. package/src/form/field_bindings/TextFieldBinding.tsx +10 -9
  309. package/src/form/field_bindings/UserSelectFieldBinding.tsx +3 -2
  310. package/src/form/field_bindings/VectorFieldBinding.tsx +2 -1
  311. package/src/form/form_utils.ts +5 -3
  312. package/src/form/useClearRestoreValue.tsx +1 -1
  313. package/src/form/validation.ts +1 -1
  314. package/src/hooks/index.ts +1 -0
  315. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +3 -2
  316. package/src/hooks/navigation/contexts/NavigationStateContext.tsx +1 -1
  317. package/src/hooks/navigation/contexts/UrlContext.tsx +1 -1
  318. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +19 -15
  319. package/src/hooks/navigation/useBuildNavigationStateController.tsx +8 -6
  320. package/src/hooks/navigation/useBuildUrlController.tsx +2 -2
  321. package/src/hooks/navigation/useNavigationResolution.ts +15 -21
  322. package/src/hooks/navigation/useResolvedCollections.ts +10 -9
  323. package/src/hooks/navigation/useResolvedViews.tsx +4 -2
  324. package/src/hooks/navigation/useTopLevelNavigation.ts +3 -2
  325. package/src/hooks/navigation/utils.ts +6 -5
  326. package/src/hooks/useBreadcrumbsController.tsx +1 -1
  327. package/src/hooks/useBuildSidePanel.tsx +16 -11
  328. package/src/hooks/useCMSContext.tsx +8 -4
  329. package/src/hooks/useResolvedNavigationFrom.tsx +7 -5
  330. package/src/hooks/useResolvedUsers.ts +143 -0
  331. package/src/hooks/useSelectionDialog.tsx +6 -5
  332. package/src/hooks/useSideDialogsController.tsx +1 -1
  333. package/src/hooks/useSidePanel.tsx +1 -1
  334. package/src/index.ts +2 -1
  335. package/src/preview/PropertyPreview.tsx +11 -11
  336. package/src/preview/components/ImagePreview.tsx +1 -1
  337. package/src/preview/components/ReferencePreview.tsx +7 -6
  338. package/src/preview/components/RelationPreview.tsx +8 -7
  339. package/src/preview/components/UrlComponentPreview.tsx +3 -10
  340. package/src/preview/components/UserPreview.tsx +13 -4
  341. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +1 -1
  342. package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +1 -1
  343. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +1 -1
  344. package/src/preview/property_previews/NumberPropertyPreview.tsx +1 -1
  345. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +2 -2
  346. package/src/preview/property_previews/StringPropertyPreview.tsx +19 -13
  347. package/src/preview/util.ts +10 -1
  348. package/src/routes/CustomViewRoute.tsx +3 -2
  349. package/src/routes/RebaseRoute.tsx +27 -30
  350. package/src/types/components/EntityFormActionsProps.tsx +3 -2
  351. package/src/types/components/EntityFormProps.tsx +4 -3
  352. package/src/types/fields.tsx +3 -2
  353. package/src/util/dataControllerAdapter.ts +2 -1
  354. package/src/util/entity_actions.ts +1 -1
  355. package/src/util/navigation_utils.ts +6 -18
  356. package/src/util/previews.ts +43 -53
  357. package/src/util/propertyConfigMapper.ts +7 -7
  358. package/src/util/property_utils.tsx +5 -4
  359. package/src/util/resolutions.ts +1 -1
  360. package/src/util/view_mode.ts +103 -0
  361. package/dist/CollectionEditorDialog-DbPpDDwb.js.map +0 -1
  362. package/dist/PropertyEditView-DfJbZ67t.js.map +0 -1
  363. package/dist/RouterCollectionsStudioView-C6XQ7Il5.js.map +0 -1
  364. package/dist/history-GSa4BgDt.js.map +0 -1
  365. package/dist/src-B8WuGSPZ.js.map +0 -1
@@ -1,18 +1,18 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { At as useImportConfig, Bn as useUrlController, Bt as getFieldId, Ct as useCollectionEditorController, Et as convertDataToEntity, Ft as PropertyConfigBadge, Hn as useNavigationStateController, Mt as ImportFileUpload, Qn as CollectionTableBinding, Tt as DataNewPropertiesMapping, Wn as useCollectionRegistryController, Xn as useSelectionController, dn as SearchIconsView, fn as FieldCaption, h as toSerializableCollectionConfig, i as namespaceToPropertiesOrderPath, jt as ImportSaveInProgress, kt as getInferenceType, n as getFullIdPath, r as idToPropertiesPath, s as CollectionGenerationApiError, t as getFullId, u as validateCollectionJson, v as useCollectionsConfigController, wt as ImportNewPropertyFieldPreview, zt as getFieldConfig } from "./src-B8WuGSPZ.js";
3
- import { a as updatePropertyFromWidget, c as useAIModifiedPaths, i as supportedFields, l as useSafeSnackbarController, n as PropertyForm, o as PropertyTree, r as PropertyFormDialog, s as AIModifiedPathsProvider } from "./PropertyEditView-DfJbZ67t.js";
2
+ import { Dt as ImportSaveInProgress, Et as useImportConfig, Fn as useCollectionRegistryController, Mt as PropertyConfigBadge, Nt as SearchIconsView, O as getFieldConfig, Ot as ImportFileUpload, Pt as FieldCaption, Qt as CollectionTableBinding, St as convertDataToEntity, Tt as getInferenceType, Xt as useSelectionController, _t as useCollectionEditorController, an as useNavigationStateController, bt as ImportNewPropertyFieldPreview, g as useCollectionsConfigController, i as namespaceToPropertiesOrderPath, k as getFieldId, l as validateCollectionJson, n as getFullIdPath, o as CollectionGenerationApiError, p as toSerializableCollectionConfig, r as idToPropertiesPath, rn as useUrlController, t as getFullId, xt as DataNewPropertiesMapping } from "./util-CPgUM4M8.js";
3
+ import { a as updatePropertyFromWidget, c as useAIModifiedPaths, i as supportedFields, l as useSafeSnackbarController, n as PropertyForm, o as PropertyTree, r as PropertyFormDialog, s as AIModifiedPathsProvider } from "./PropertyEditView-CjFCnftn.js";
4
4
  import * as React$1 from "react";
5
5
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
6
  import { Alert, AppWindow, ArrowLeftIcon, BooleanSwitchWithLabel, Button, Card, CheckIcon, Chip, CircularProgress, CircularProgressCenter, CodeIcon, ColumnsIcon, Container, CopyIcon, DebouncedTextField, Dialog, DialogActions, DialogContent, DialogTitle, ErrorBoundary, FileIcon, FileSearchIcon, FileTextIcon, IconButton, KanbanIcon, KeyIcon, LayoutGridIcon, ListIcon, LoadingButton, Menu, MultiSelect, MultiSelectItem, PanelLeftIcon, Paper, PlusIcon, Select, SelectItem, ShoppingCartIcon, SquareIcon, Tab, TableIcon, Tabs, TextField, ToggleButtonGroup, Tooltip, Trash2Icon, Typography, UserIcon, XIcon, cls, coolIconKeys, defaultBorderMixin, iconSize } from "@rebasepro/ui";
7
- import { getEffectiveSecurityRules, getSubcollections, getTableName, isPropertyBuilder, removeInitialAndTrailingSlashes } from "@rebasepro/common";
8
- import { AIIcon, ConfirmationDialog, ErrorView, IconForView, UnsavedChangesDialog, useAuthController, useCustomizationController, useLargeLayout, useRebaseContext, useUnsavedChangesDialog } from "@rebasepro/app";
7
+ import { getEffectiveSecurityRules, getSubcollections, getTableName, isPropertyBuilder } from "@rebasepro/common";
8
+ import { AIIcon, ConfirmationDialog, ErrorView, IconForView, UnsavedChangesDialog, removeInitialAndTrailingSlashes, useAuthController, useCustomizationController, useLargeLayout, useRebaseContext, useUnsavedChangesDialog } from "@rebasepro/app";
9
9
  import { Field, Formex, clone, getIn, useCreateFormex, useFormex } from "@rebasepro/forms";
10
- import { z } from "zod";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { camelCase, getPolicyNamesForRule, getPolicyNamesForRules, isEmptyObject, mergeDeep, prettifyIdentifier, randomString, removeUndefined, singular, slugify, toSnakeCase, unslugify } from "@rebasepro/utils";
12
12
  import { getDataSourceCapabilities } from "@rebasepro/types";
13
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
- import { Highlight, themes } from "prism-react-renderer";
13
+ import { z } from "zod";
15
14
  import { buildEntityPropertiesFromData, buildPropertyFromData } from "@rebasepro/inference";
15
+ import { Highlight, themes } from "prism-react-renderer";
16
16
  import JSON5 from "json5";
17
17
  //#region src/collection_editor/ui/collection_editor/CollectionYupValidation.tsx
18
18
  var CollectionEditorSchema = z.object({
@@ -580,7 +580,7 @@ function DisplaySettingsForm({ expandKanban, standalone }) {
580
580
  property: {
581
581
  type: "string",
582
582
  name: dialogPropertyName,
583
- ui: {
583
+ admin: {
584
584
  disabled: true,
585
585
  hideFromCollection: true
586
586
  }
@@ -682,7 +682,7 @@ function DisplaySettingsForm({ expandKanban, standalone }) {
682
682
  //#region src/collection_editor/ui/collection_editor/GetCodeDialog.tsx
683
683
  function GetCodeDialog({ collection, onOpenChange, open }) {
684
684
  const snackbarController = useSafeSnackbarController();
685
- const code = collection ? "import { CollectionConfig } from \"@rebasepro/app\";\n\nconst " + (collection?.name ? camelCase(collection.name) : "my") + "Collection:CollectionConfig = " + JSON5.stringify(collectionToCode({ ...collection }), null, " ") : "No collection selected";
685
+ const code = collection ? "import { AdminCollection } from \"@rebasepro/app\";\n\nconst " + (collection?.name ? camelCase(collection.name) : "my") + "Collection:AdminCollection = " + JSON5.stringify(collectionToCode({ ...collection }), null, " ") : "No collection selected";
686
686
  return /* @__PURE__ */ jsxs(Dialog, {
687
687
  open,
688
688
  onOpenChange,
@@ -1332,7 +1332,7 @@ var productsCollectionTemplate = {
1332
1332
  available: {
1333
1333
  type: "boolean",
1334
1334
  name: "Available",
1335
- ui: { columnWidth: 100 },
1335
+ admin: { columnWidth: 100 },
1336
1336
  description: "Is this product available in the website"
1337
1337
  },
1338
1338
  price: {
@@ -1346,7 +1346,7 @@ var productsCollectionTemplate = {
1346
1346
  images: {
1347
1347
  type: "array",
1348
1348
  name: "Images",
1349
- ui: { hideFromCollection: true },
1349
+ admin: { hideFromCollection: true },
1350
1350
  of: {
1351
1351
  type: "string",
1352
1352
  storage: {
@@ -1473,7 +1473,7 @@ var blogCollectionTemplate = {
1473
1473
  publish_date: {
1474
1474
  name: "Publish date",
1475
1475
  type: "date",
1476
- ui: { clearable: true }
1476
+ admin: { clearable: true }
1477
1477
  },
1478
1478
  reviewed: {
1479
1479
  name: "Reviewed",
@@ -1706,7 +1706,7 @@ var pagesCollectionTemplate = {
1706
1706
  is_published: {
1707
1707
  type: "boolean",
1708
1708
  name: "Is Published",
1709
- ui: { columnWidth: 100 },
1709
+ admin: { columnWidth: 100 },
1710
1710
  description: "Should this page be live on the site?"
1711
1711
  }
1712
1712
  }
@@ -2381,6 +2381,38 @@ function CollectionRLSTab() {
2381
2381
  values.table,
2382
2382
  values.alias
2383
2383
  ]);
2384
+ /**
2385
+ * Application roles available to `SecurityRule.roles`.
2386
+ *
2387
+ * Deliberately NOT `fetchAvailableRoles` — that returns native pg_roles
2388
+ * (postgres, rebase_user, …), which can never satisfy an application-role
2389
+ * condition.
2390
+ */
2391
+ const [availableRoles, setAvailableRoles] = useState([]);
2392
+ const [rolesUnavailable, setRolesUnavailable] = useState(false);
2393
+ useEffect(() => {
2394
+ let mounted = true;
2395
+ const fetchRoles = async () => {
2396
+ if (!databaseAdmin?.fetchApplicationRoles) {
2397
+ if (mounted) setRolesUnavailable(true);
2398
+ return;
2399
+ }
2400
+ try {
2401
+ const fetched = await databaseAdmin.fetchApplicationRoles();
2402
+ if (mounted) {
2403
+ setAvailableRoles(fetched);
2404
+ setRolesUnavailable(false);
2405
+ }
2406
+ } catch (e) {
2407
+ console.error("Failed to fetch application roles", e);
2408
+ if (mounted) setRolesUnavailable(true);
2409
+ }
2410
+ };
2411
+ fetchRoles();
2412
+ return () => {
2413
+ mounted = false;
2414
+ };
2415
+ }, [databaseAdmin]);
2384
2416
  const tableName = values.id || values.table || values.alias;
2385
2417
  /**
2386
2418
  * Every policy name `rebase db push` would write for this collection.
@@ -2483,7 +2515,7 @@ function CollectionRLSTab() {
2483
2515
  tablename: values.id || values.table || values.alias || "your_table",
2484
2516
  permissive: (rule.mode || "permissive").toUpperCase(),
2485
2517
  cmd: (rule.operation || "ALL").toUpperCase(),
2486
- roles: rule.roles || ["public"],
2518
+ roles: rule.roles || [],
2487
2519
  qual: rule.using || null,
2488
2520
  with_check: rule.withCheck || null
2489
2521
  }),
@@ -2588,6 +2620,8 @@ function CollectionRLSTab() {
2588
2620
  children: editingPolicy && /* @__PURE__ */ jsx(InlinePolicyEditor, {
2589
2621
  policy: editingPolicy === "new" ? void 0 : editingPolicy,
2590
2622
  table: values.id || values.table || values.alias || "your_table",
2623
+ availableRoles,
2624
+ rolesUnavailable,
2591
2625
  onSave: handleSave,
2592
2626
  onCancel: () => setEditingPolicy(null)
2593
2627
  })
@@ -2602,20 +2636,31 @@ var COMMAND_OPTIONS = [
2602
2636
  "UPDATE",
2603
2637
  "DELETE"
2604
2638
  ];
2605
- var ROLE_OPTIONS = [
2606
- "public",
2607
- "authenticated",
2608
- "anon",
2609
- "admin"
2610
- ];
2611
- function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
2639
+ function InlinePolicyEditor({ policy, table, availableRoles, rolesUnavailable, onSave, onCancel }) {
2612
2640
  const [name, setName] = useState(policy?.policyname || "");
2613
2641
  const [behavior, setBehavior] = useState(policy?.permissive || "PERMISSIVE");
2614
2642
  const [command, setCommand] = useState(policy?.cmd || "ALL");
2615
- const [roles, setRoles] = useState(policy?.roles ? Array.isArray(policy.roles) ? policy.roles : [policy.roles] : ["public"]);
2643
+ const [roles, setRoles] = useState(policy?.roles ? Array.isArray(policy.roles) ? policy.roles : [policy.roles] : []);
2644
+ const [customRole, setCustomRole] = useState("");
2616
2645
  const [usingExpr, setUsingExpr] = useState(policy?.qual || "");
2617
2646
  const [checkExpr, setCheckExpr] = useState(policy?.with_check || "");
2618
2647
  const showCheck = command === "ALL" || command === "INSERT" || command === "UPDATE";
2648
+ /**
2649
+ * Roles offered in the dropdown: those in use in the project, plus any the
2650
+ * rule already carries. The union matters — application roles are derived
2651
+ * from what users hold, so a role that is referenced here but assigned to
2652
+ * nobody would otherwise vanish from its own policy on the next save.
2653
+ */
2654
+ const roleOptions = useMemo(() => Array.from(new Set([...availableRoles, ...roles])).sort(), [availableRoles, roles]);
2655
+ const addCustomRole = () => {
2656
+ const trimmed = customRole.trim();
2657
+ if (!trimmed || roles.includes(trimmed)) {
2658
+ setCustomRole("");
2659
+ return;
2660
+ }
2661
+ setRoles([...roles, trimmed]);
2662
+ setCustomRole("");
2663
+ };
2619
2664
  return /* @__PURE__ */ jsxs(Fragment, { children: [
2620
2665
  /* @__PURE__ */ jsxs(DialogTitle, {
2621
2666
  variant: "h6",
@@ -2685,20 +2730,67 @@ function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
2685
2730
  }),
2686
2731
  /* @__PURE__ */ jsxs("div", {
2687
2732
  className: "flex flex-col gap-1.5",
2688
- children: [/* @__PURE__ */ jsx(Typography, {
2689
- variant: "caption",
2690
- className: "uppercase tracking-wider text-text-secondary",
2691
- children: "Target Roles"
2692
- }), /* @__PURE__ */ jsx(MultiSelect, {
2693
- size: "small",
2694
- value: roles,
2695
- onValueChange: setRoles,
2696
- placeholder: "Select roles",
2697
- children: ROLE_OPTIONS.map((r) => /* @__PURE__ */ jsx(MultiSelectItem, {
2698
- value: r,
2699
- children: r
2700
- }, r))
2701
- })]
2733
+ children: [
2734
+ /* @__PURE__ */ jsx(Typography, {
2735
+ variant: "caption",
2736
+ className: "uppercase tracking-wider text-text-secondary",
2737
+ children: "Application Roles"
2738
+ }),
2739
+ /* @__PURE__ */ jsxs(Typography, {
2740
+ variant: "caption",
2741
+ className: "text-text-secondary opacity-80 -mt-1",
2742
+ children: [
2743
+ "Roles held by users of this project, matched via ",
2744
+ /* @__PURE__ */ jsx("span", {
2745
+ className: "font-mono",
2746
+ children: "auth.roles()"
2747
+ }),
2748
+ ". These are not PostgreSQL roles — leave empty to apply the policy to everyone."
2749
+ ]
2750
+ }),
2751
+ roleOptions.length > 0 && /* @__PURE__ */ jsx(MultiSelect, {
2752
+ size: "small",
2753
+ value: roles,
2754
+ onValueChange: setRoles,
2755
+ placeholder: "Select roles",
2756
+ children: roleOptions.map((r) => /* @__PURE__ */ jsx(MultiSelectItem, {
2757
+ value: r,
2758
+ children: r
2759
+ }, r))
2760
+ }),
2761
+ rolesUnavailable && roleOptions.length === 0 && /* @__PURE__ */ jsx(Typography, {
2762
+ variant: "caption",
2763
+ className: "text-text-secondary opacity-80",
2764
+ children: "Could not load the project's roles — enter them manually below."
2765
+ }),
2766
+ !rolesUnavailable && roleOptions.length === 0 && /* @__PURE__ */ jsx(Typography, {
2767
+ variant: "caption",
2768
+ className: "text-text-secondary opacity-80",
2769
+ children: "No roles are assigned to any user yet — enter one manually below."
2770
+ }),
2771
+ /* @__PURE__ */ jsxs("div", {
2772
+ className: "flex gap-2 items-center",
2773
+ children: [/* @__PURE__ */ jsx(TextField, {
2774
+ size: "small",
2775
+ value: customRole,
2776
+ onChange: (e) => setCustomRole(e.target.value),
2777
+ onKeyDown: (e) => {
2778
+ if (e.key === "Enter") {
2779
+ e.preventDefault();
2780
+ addCustomRole();
2781
+ }
2782
+ },
2783
+ placeholder: "Add a role not listed, e.g. editor"
2784
+ }), /* @__PURE__ */ jsx(Button, {
2785
+ size: "small",
2786
+ variant: "outlined",
2787
+ color: "neutral",
2788
+ disabled: !customRole.trim(),
2789
+ onClick: addCustomRole,
2790
+ children: "Add"
2791
+ })]
2792
+ })
2793
+ ]
2702
2794
  }),
2703
2795
  command !== "INSERT" && /* @__PURE__ */ jsxs("div", {
2704
2796
  className: "flex flex-col gap-1.5",
@@ -2709,7 +2801,7 @@ function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
2709
2801
  }), /* @__PURE__ */ jsx(TextField, {
2710
2802
  value: usingExpr,
2711
2803
  onChange: (e) => setUsingExpr(e.target.value),
2712
- placeholder: "e.g. auth.uid() = user_id"
2804
+ placeholder: "e.g. auth.uid() = uid"
2713
2805
  })]
2714
2806
  }),
2715
2807
  showCheck && /* @__PURE__ */ jsxs("div", {
@@ -2721,7 +2813,7 @@ function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
2721
2813
  }), /* @__PURE__ */ jsx(TextField, {
2722
2814
  value: checkExpr,
2723
2815
  onChange: (e) => setCheckExpr(e.target.value),
2724
- placeholder: "e.g. auth.uid() = user_id"
2816
+ placeholder: "e.g. auth.uid() = uid"
2725
2817
  })]
2726
2818
  })
2727
2819
  ]
@@ -2902,7 +2994,7 @@ function pgTypeToRebaseProperty(column) {
2902
2994
  }
2903
2995
  }
2904
2996
  /**
2905
- * Builds a partial CollectionConfig from PostgreSQL table metadata.
2997
+ * Builds a partial AdminCollection from PostgreSQL table metadata.
2906
2998
  * This is used when creating a new collection from an existing database table.
2907
2999
  */
2908
3000
  function buildCollectionFromTableMetadata(tableName, metadata) {
@@ -3649,4 +3741,4 @@ var validateId = (value, isNewCollection, existingPaths, existingIds) => {
3649
3741
  //#endregion
3650
3742
  export { CollectionEditorDialog as n, CollectionEditorDialog_exports as r, CollectionEditor as t };
3651
3743
 
3652
- //# sourceMappingURL=CollectionEditorDialog-DbPpDDwb.js.map
3744
+ //# sourceMappingURL=CollectionEditorDialog-DMztwJ5S.js.map