@rebasepro/admin 0.9.1-canary.ff338b5 → 0.10.0

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 (92) hide show
  1. package/dist/{CollectionEditorDialog-DbPpDDwb.js → CollectionEditorDialog-BOlKGGg7.js} +123 -31
  2. package/dist/{CollectionEditorDialog-DbPpDDwb.js.map → CollectionEditorDialog-BOlKGGg7.js.map} +1 -1
  3. package/dist/{PropertyEditView-DfJbZ67t.js → PropertyEditView-i51tFOfM.js} +3 -3
  4. package/dist/PropertyEditView-i51tFOfM.js.map +1 -0
  5. package/dist/{RouterCollectionsStudioView-C6XQ7Il5.js → RouterCollectionsStudioView-Dh4W53PU.js} +4 -4
  6. package/dist/{RouterCollectionsStudioView-C6XQ7Il5.js.map → RouterCollectionsStudioView-Dh4W53PU.js.map} +1 -1
  7. package/dist/collection_editor_ui.js +4 -4
  8. package/dist/components/field_configs.d.ts +17 -0
  9. package/dist/contexts/BreacrumbsContext.d.ts +1 -1
  10. package/dist/editor.js.map +1 -1
  11. package/dist/export-BM6HPujv.js +518 -0
  12. package/dist/export-BM6HPujv.js.map +1 -0
  13. package/dist/{history-GSa4BgDt.js → history-CtIPJxvQ.js} +3 -3
  14. package/dist/history-CtIPJxvQ.js.map +1 -0
  15. package/dist/hooks/useSelectionDialog.d.ts +1 -1
  16. package/dist/import-DzQnT03v.js +328 -0
  17. package/dist/import-DzQnT03v.js.map +1 -0
  18. package/dist/index.js +3299 -1
  19. package/dist/index.js.map +1 -0
  20. package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
  21. package/dist/preview/util.d.ts +1 -0
  22. package/dist/util/view_mode.d.ts +54 -0
  23. package/dist/{src-B8WuGSPZ.js → util-XFwQ9FEc.js} +17388 -21329
  24. package/dist/util-XFwQ9FEc.js.map +1 -0
  25. package/package.json +8 -8
  26. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +104 -9
  27. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +1 -1
  28. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +1 -1
  29. package/src/components/CollectionTableBinding/CollectionRowActions.tsx +1 -1
  30. package/src/components/CollectionTableBinding/fields/TableReferenceField.tsx +1 -1
  31. package/src/components/CollectionViewBinding/CollectionBoardViewBinding.tsx +1 -1
  32. package/src/components/CollectionViewBinding/CollectionViewActions.tsx +1 -1
  33. package/src/components/CollectionViewBinding/CollectionViewBinding.tsx +76 -126
  34. package/src/components/CollectionViewBinding/CollectionViewStartActions.tsx +4 -8
  35. package/src/components/CollectionViewBinding/SplitListView.tsx +114 -63
  36. package/src/components/DetailViewBinding.tsx +4 -2
  37. package/src/components/EditFormActions.tsx +2 -2
  38. package/src/components/EditViewBinding.tsx +3 -2
  39. package/src/components/EntityPreviewBinding.tsx +2 -1
  40. package/src/components/HomePage/ContentHomePage.tsx +2 -1
  41. package/src/components/HomePage/FavouritesView.tsx +1 -1
  42. package/src/components/RebaseRouteDefs.tsx +1 -1
  43. package/src/components/ReferenceTable/SelectionTableBinding.tsx +2 -1
  44. package/src/components/ReferenceWidget.tsx +1 -1
  45. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +1 -1
  46. package/src/components/SidePanelBinding.tsx +46 -8
  47. package/src/components/SidePanelProvider.tsx +14 -11
  48. package/src/components/field_configs.tsx +41 -24
  49. package/src/components/history/EntityHistoryView.tsx +1 -1
  50. package/src/contexts/BreacrumbsContext.tsx +1 -1
  51. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +2 -4
  52. package/src/data_import/import/ImportCollectionAction.tsx +6 -6
  53. package/src/editor/selectors/color-selector.tsx +1 -1
  54. package/src/editor/selectors/node-selector.tsx +1 -1
  55. package/src/editor/selectors/text-buttons.tsx +1 -1
  56. package/src/form/EntityForm.tsx +4 -1
  57. package/src/form/EntityFormBinding.tsx +3 -1
  58. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +2 -1
  59. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +3 -2
  60. package/src/form/field_bindings/BlockFieldBinding.tsx +2 -1
  61. package/src/form/field_bindings/DateTimeFieldBinding.tsx +2 -1
  62. package/src/form/field_bindings/KeyValueFieldBinding.tsx +2 -1
  63. package/src/form/field_bindings/MapFieldBinding.tsx +2 -1
  64. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +2 -1
  65. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +2 -1
  66. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +2 -1
  67. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +2 -1
  68. package/src/form/field_bindings/ReferenceFieldBinding.tsx +3 -2
  69. package/src/form/field_bindings/RelationFieldBinding.tsx +2 -1
  70. package/src/form/field_bindings/RepeatFieldBinding.tsx +2 -1
  71. package/src/form/field_bindings/SelectFieldBinding.tsx +2 -1
  72. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +2 -1
  73. package/src/form/field_bindings/SwitchFieldBinding.tsx +2 -1
  74. package/src/form/field_bindings/TextFieldBinding.tsx +2 -1
  75. package/src/form/field_bindings/UserSelectFieldBinding.tsx +2 -1
  76. package/src/form/field_bindings/VectorFieldBinding.tsx +2 -1
  77. package/src/hooks/useBuildSidePanel.tsx +8 -0
  78. package/src/hooks/useSelectionDialog.tsx +3 -3
  79. package/src/preview/components/ImagePreview.tsx +1 -1
  80. package/src/preview/components/ReferencePreview.tsx +1 -1
  81. package/src/preview/components/RelationPreview.tsx +2 -2
  82. package/src/preview/components/UrlComponentPreview.tsx +2 -9
  83. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +1 -1
  84. package/src/preview/property_previews/NumberPropertyPreview.tsx +1 -1
  85. package/src/preview/util.ts +9 -0
  86. package/src/routes/CustomViewRoute.tsx +2 -1
  87. package/src/routes/RebaseRoute.tsx +20 -25
  88. package/src/util/navigation_utils.ts +2 -5
  89. package/src/util/view_mode.ts +102 -0
  90. package/dist/PropertyEditView-DfJbZ67t.js.map +0 -1
  91. package/dist/history-GSa4BgDt.js.map +0 -1
  92. package/dist/src-B8WuGSPZ.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
2
  import { PreviewType } from "@rebasepro/types";
3
3
  import type { PreviewSize } from "../../types/components/PropertyPreviewProps";
4
- export declare function sanitizeUrl(url: string | undefined): string;
4
+ import { sanitizeUrl } from "../util";
5
+ export { sanitizeUrl };
5
6
  /**
6
7
  * @group Preview components
7
8
  */
@@ -1,5 +1,6 @@
1
1
  import { CollectionSize } from "@rebasepro/types";
2
2
  import type { PreviewSize } from "../types/components/PropertyPreviewProps";
3
+ export declare function sanitizeUrl(url: string | undefined): string;
3
4
  export declare const SMALL_THUMBNAIL = 40;
4
5
  export declare const MEDIUM_THUMBNAIL = 100;
5
6
  export declare const LARGE_THUMBNAIL = 200;
@@ -0,0 +1,54 @@
1
+ import type { CollectionConfig, ViewMode } from "@rebasepro/types";
2
+ /**
3
+ * Query param that carries the active collection view mode across navigations.
4
+ */
5
+ export declare const VIEW_MODE_PARAM = "__view";
6
+ export declare const VIEW_MODES: ViewMode[];
7
+ export declare const DEFAULT_VIEW_MODE: ViewMode;
8
+ export type OpenEntityMode = "side_panel" | "full_screen" | "split" | "dialog";
9
+ export declare const DEFAULT_OPEN_ENTITY_MODE: OpenEntityMode;
10
+ export declare function isViewMode(value: string | null | undefined): value is ViewMode;
11
+ /**
12
+ * Read the active view mode from a query string, if it holds a valid one.
13
+ *
14
+ * @param search a query string (e.g. `location.search`). Falls back to the
15
+ * current browser location when omitted.
16
+ */
17
+ export declare function getViewModeFromSearch(search?: string): ViewMode | null;
18
+ /**
19
+ * Append the active view mode to a URL so the target route keeps rendering the
20
+ * view the user was last looking at.
21
+ *
22
+ * Every entity/collection navigation must go through this — a missed call site
23
+ * silently resets the user's view mode mid-session.
24
+ *
25
+ * @param url the URL to decorate. May already contain a query string and/or hash.
26
+ * @param search query string to read the view mode from. Defaults to the
27
+ * current browser location.
28
+ */
29
+ export declare function withViewMode(url: string, search?: string): string;
30
+ /**
31
+ * Resolve the view mode for a collection, honouring the documented priority:
32
+ * URL param > saved user config > collection default.
33
+ */
34
+ export declare function resolveViewMode({ collection, search, savedViewMode }: {
35
+ collection?: Pick<CollectionConfig<any>, "defaultViewMode">;
36
+ search?: string;
37
+ savedViewMode?: ViewMode | null;
38
+ }): ViewMode;
39
+ /**
40
+ * Resolve how clicking an entity should present it.
41
+ *
42
+ * An explicit `collection.openEntityMode` always wins. Otherwise the mode is
43
+ * derived from the active view mode, so the presentation suits the surface the
44
+ * user is looking at: a board keeps its columns behind an overlay, a wide table
45
+ * hands the entity the full width, and list/card views use master-detail.
46
+ *
47
+ * This is the single source of truth — row clicks, find-by-id and the router
48
+ * must all resolve through it, otherwise the same entity opens differently
49
+ * depending on how it was reached.
50
+ */
51
+ export declare function resolveOpenEntityMode({ collection, viewMode }: {
52
+ collection?: Pick<CollectionConfig<any>, "openEntityMode">;
53
+ viewMode?: ViewMode;
54
+ }): OpenEntityMode;