@rebasepro/admin 0.0.1-canary.eae7889 → 0.1.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 (197) hide show
  1. package/dist/{CollectionEditorDialog-B2M9lCyL.js → CollectionEditorDialog-MbvXGzEq.js} +42 -31
  2. package/dist/CollectionEditorDialog-MbvXGzEq.js.map +1 -0
  3. package/dist/{CollectionsStudioView-WG6soyfs.js → CollectionsStudioView-D9X6aiAr.js} +12 -12
  4. package/dist/CollectionsStudioView-D9X6aiAr.js.map +1 -0
  5. package/dist/{ContentHomePage-CDF_a6Lp.js → ContentHomePage-CfVB1eUo.js} +26 -26
  6. package/dist/ContentHomePage-CfVB1eUo.js.map +1 -0
  7. package/dist/{ExportCollectionAction-Dc0VOWMN.js → ExportCollectionAction-CUwJg4F9.js} +2 -2
  8. package/dist/{ExportCollectionAction-Dc0VOWMN.js.map → ExportCollectionAction-CUwJg4F9.js.map} +1 -1
  9. package/dist/{ImportCollectionAction-DpCagAOy.js → ImportCollectionAction-DGa_SF_8.js} +2 -2
  10. package/dist/{ImportCollectionAction-DpCagAOy.js.map → ImportCollectionAction-DGa_SF_8.js.map} +1 -1
  11. package/dist/{PropertyEditView-DS67DxoT.js → PropertyEditView-C4nlYmAc.js} +82 -104
  12. package/dist/PropertyEditView-C4nlYmAc.js.map +1 -0
  13. package/dist/{RolesView-CIuYBimF.js → RolesView-CNWxnR8e.js} +7 -5
  14. package/dist/RolesView-CNWxnR8e.js.map +1 -0
  15. package/dist/{UsersView-B5zelXnH.js → UsersView-YiTIcXkA.js} +14 -35
  16. package/dist/UsersView-YiTIcXkA.js.map +1 -0
  17. package/dist/collection_editor/ConfigControllerProvider.d.ts +0 -4
  18. package/dist/collection_editor/types/collection_editor_controller.d.ts +6 -3
  19. package/dist/collection_editor/types/config_controller.d.ts +14 -7
  20. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +3 -2
  21. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +3 -2
  22. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
  23. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
  24. package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
  25. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +3 -2
  26. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +3 -2
  27. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +3 -4
  28. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +2 -3
  29. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +1 -2
  30. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +3 -2
  31. package/dist/collection_editor_ui.js +3 -3
  32. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +1 -1
  33. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +1 -1
  34. package/dist/components/EntityCollectionTable/column_utils.d.ts +2 -2
  35. package/dist/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +1 -1
  36. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +1 -1
  37. package/dist/components/EntityCollectionTable/fields/TableRelationField.d.ts +1 -1
  38. package/dist/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +2 -2
  39. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +5 -1
  40. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +3 -2
  41. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +2 -1
  42. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +4 -2
  43. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +4 -2
  44. package/dist/components/EntityCollectionView/FiltersDialog.d.ts +2 -2
  45. package/dist/components/EntityCollectionView/SplitListView.d.ts +3 -2
  46. package/dist/components/EntityEditView.d.ts +9 -2
  47. package/dist/components/RebaseCMS.d.ts +1 -1
  48. package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +2 -2
  49. package/dist/components/ReferenceWidget.d.ts +2 -2
  50. package/dist/components/RelationSelector.d.ts +1 -1
  51. package/dist/components/SelectableTable/SelectableTable.d.ts +2 -2
  52. package/dist/editor.js +2 -2
  53. package/dist/editor.js.map +1 -1
  54. package/dist/hooks/navigation/useNavigationRegistry.d.ts +2 -1
  55. package/dist/hooks/useEntityHistory.d.ts +1 -1
  56. package/dist/{index-CHxgwt6E.js → index-CtzpHzMQ.js} +11 -4
  57. package/dist/index-CtzpHzMQ.js.map +1 -0
  58. package/dist/{index-Dey5WJpO.js → index-DKlrVD1m.js} +3 -3
  59. package/dist/index-DKlrVD1m.js.map +1 -0
  60. package/dist/{index-CBhrgpR7.js → index-kHJXfLNI.js} +3 -3
  61. package/dist/index-kHJXfLNI.js.map +1 -0
  62. package/dist/index.js +79 -63
  63. package/dist/index.js.map +1 -1
  64. package/dist/{useEntityHistory-Dcj4zhGj.js → useEntityHistory-UVsSclfZ.js} +3 -1
  65. package/dist/useEntityHistory-UVsSclfZ.js.map +1 -0
  66. package/dist/util/navigation_utils.d.ts +10 -1
  67. package/dist/{util-BQ82ySL3.js → util-CwLmSpGp.js} +1653 -1257
  68. package/dist/util-CwLmSpGp.js.map +1 -0
  69. package/package.json +9 -17
  70. package/src/collection_editor/ConfigControllerProvider.tsx +19 -28
  71. package/src/collection_editor/types/collection_editor_controller.tsx +3 -3
  72. package/src/collection_editor/types/config_controller.tsx +7 -7
  73. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +4 -4
  74. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +3 -3
  75. package/src/collection_editor/ui/EditorCollectionAction.tsx +3 -3
  76. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +7 -7
  77. package/src/collection_editor/ui/EditorEntityAction.tsx +3 -3
  78. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +4 -2
  79. package/src/collection_editor/ui/KanbanSetupAction.tsx +4 -3
  80. package/src/collection_editor/ui/MissingReferenceWidget.tsx +3 -2
  81. package/src/collection_editor/ui/NewCollectionButton.tsx +2 -1
  82. package/src/collection_editor/ui/NewCollectionCard.tsx +2 -1
  83. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +3 -3
  84. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +5 -50
  85. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +12 -20
  86. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +1 -3
  87. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +17 -2
  88. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +3 -3
  89. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +2 -1
  90. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +18 -12
  91. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +1 -2
  92. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +1 -2
  93. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +6 -6
  94. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +4 -4
  95. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +2 -2
  96. package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +15 -49
  97. package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +4 -5
  98. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +1 -1
  99. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +2 -2
  100. package/src/components/DefaultAppBar.tsx +2 -2
  101. package/src/components/DefaultDrawer.tsx +25 -17
  102. package/src/components/DrawerNavigationGroup.tsx +4 -4
  103. package/src/components/DrawerNavigationItem.tsx +6 -6
  104. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +4 -4
  105. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +1 -1
  106. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +4 -4
  107. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  108. package/src/components/EntityCollectionTable/fields/TableMultipleRelationField.tsx +3 -3
  109. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +3 -3
  110. package/src/components/EntityCollectionTable/fields/TableRelationField.tsx +4 -4
  111. package/src/components/EntityCollectionTable/fields/TableRelationSelectorField.tsx +3 -3
  112. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +8 -2
  113. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +1 -1
  114. package/src/components/EntityCollectionTable/internal/common.tsx +5 -5
  115. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +1 -1
  116. package/src/components/EntityCollectionTable/table_bindings.tsx +45 -35
  117. package/src/components/EntityCollectionView/EntityBoardCard.tsx +18 -19
  118. package/src/components/EntityCollectionView/EntityCard.tsx +2 -2
  119. package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +42 -14
  120. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +4 -3
  121. package/src/components/EntityCollectionView/EntityCollectionListView.tsx +157 -54
  122. package/src/components/EntityCollectionView/EntityCollectionView.tsx +169 -75
  123. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +23 -13
  124. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +21 -12
  125. package/src/components/EntityCollectionView/FiltersDialog.tsx +7 -7
  126. package/src/components/EntityCollectionView/SplitListView.tsx +24 -8
  127. package/src/components/EntityCollectionView/useEntityPreviewSlots.ts +33 -5
  128. package/src/components/EntityEditView.tsx +85 -85
  129. package/src/components/EntitySidePanel.tsx +18 -10
  130. package/src/components/HomePage/ContentHomePage.tsx +24 -15
  131. package/src/components/HomePage/NavigationCard.tsx +4 -4
  132. package/src/components/HomePage/NavigationGroup.tsx +2 -2
  133. package/src/components/RebaseAuthGate.tsx +2 -0
  134. package/src/components/RebaseCMS.tsx +4 -3
  135. package/src/components/RebaseNavigation.tsx +8 -5
  136. package/src/components/ReferenceTable/EntitySelectionTable.tsx +4 -4
  137. package/src/components/ReferenceWidget.tsx +3 -3
  138. package/src/components/RelationSelector.tsx +33 -5
  139. package/src/components/SelectableTable/SelectableTable.tsx +6 -6
  140. package/src/components/UserSelector.tsx +1 -1
  141. package/src/components/admin/RolesView.tsx +10 -3
  142. package/src/components/admin/UsersView.tsx +13 -25
  143. package/src/components/app/Scaffold.tsx +4 -4
  144. package/src/components/field_configs.tsx +29 -32
  145. package/src/components/history/EntityHistoryView.tsx +12 -1
  146. package/src/editor/editor.tsx +2 -2
  147. package/src/form/EntityForm.tsx +5 -4
  148. package/src/form/PropertyFieldBinding.tsx +14 -10
  149. package/src/form/components/FieldHelperText.tsx +1 -1
  150. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +3 -3
  151. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +5 -5
  152. package/src/form/field_bindings/BlockFieldBinding.tsx +4 -4
  153. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  154. package/src/form/field_bindings/KeyValueFieldBinding.tsx +1 -1
  155. package/src/form/field_bindings/MapFieldBinding.tsx +7 -7
  156. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +1 -1
  157. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +3 -3
  158. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +7 -7
  159. package/src/form/field_bindings/ReferenceFieldBinding.tsx +2 -2
  160. package/src/form/field_bindings/RelationFieldBinding.tsx +4 -4
  161. package/src/form/field_bindings/RepeatFieldBinding.tsx +5 -5
  162. package/src/form/field_bindings/SelectFieldBinding.tsx +1 -1
  163. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +1 -1
  164. package/src/form/field_bindings/SwitchFieldBinding.tsx +1 -1
  165. package/src/form/field_bindings/TextFieldBinding.tsx +7 -7
  166. package/src/form/field_bindings/UserSelectFieldBinding.tsx +1 -1
  167. package/src/form/useClearRestoreValue.tsx +1 -1
  168. package/src/form/validation.ts +1 -1
  169. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +2 -1
  170. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +15 -3
  171. package/src/hooks/navigation/useNavigationRegistry.ts +14 -3
  172. package/src/hooks/navigation/useResolvedViews.tsx +1 -3
  173. package/src/hooks/navigation/useTopLevelNavigation.ts +1 -1
  174. package/src/hooks/navigation/utils.ts +1 -1
  175. package/src/hooks/useEntityHistory.ts +7 -2
  176. package/src/preview/PropertyPreview.tsx +27 -23
  177. package/src/preview/components/StorageThumbnail.tsx +4 -1
  178. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +1 -1
  179. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +1 -1
  180. package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +1 -1
  181. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +3 -3
  182. package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
  183. package/src/routes/RebaseRoute.tsx +57 -11
  184. package/src/util/navigation_utils.ts +21 -2
  185. package/src/util/previews.ts +15 -6
  186. package/src/util/property_utils.tsx +3 -3
  187. package/dist/CollectionEditorDialog-B2M9lCyL.js.map +0 -1
  188. package/dist/CollectionsStudioView-WG6soyfs.js.map +0 -1
  189. package/dist/ContentHomePage-CDF_a6Lp.js.map +0 -1
  190. package/dist/PropertyEditView-DS67DxoT.js.map +0 -1
  191. package/dist/RolesView-CIuYBimF.js.map +0 -1
  192. package/dist/UsersView-B5zelXnH.js.map +0 -1
  193. package/dist/index-CBhrgpR7.js.map +0 -1
  194. package/dist/index-CHxgwt6E.js.map +0 -1
  195. package/dist/index-Dey5WJpO.js.map +0 -1
  196. package/dist/useEntityHistory-Dcj4zhGj.js.map +0 -1
  197. package/dist/util-BQ82ySL3.js.map +0 -1
@@ -6,6 +6,7 @@ export declare function useNavigationRegistry(userConfigPersistence?: UserConfig
6
6
  getCollection: (slugOrPath: string, includeUserOverride?: boolean) => EntityCollection | undefined;
7
7
  getRawCollection: (slugOrPath: string) => EntityCollection | undefined;
8
8
  getParentReferencesFromPath: (path: string) => EntityReference[];
9
- getParentCollectionIds: (path: string) => string[];
9
+ getParentCollectionSlugs: (path: string) => string[];
10
+ getParentEntityIds: (path: string) => string[];
10
11
  convertIdsToPaths: (ids: string[]) => string[];
11
12
  };
@@ -16,7 +16,7 @@ export interface UseEntityHistoryResult {
16
16
  hasMore: boolean;
17
17
  error?: Error;
18
18
  loadMore: () => void;
19
- revert: (historyId: string) => Promise<void>;
19
+ revert: (historyId: string) => Promise<Record<string, unknown>>;
20
20
  }
21
21
  /**
22
22
  * Hook to fetch entity history from the backend REST API.
@@ -3,7 +3,7 @@ import { useState, useRef, useEffect } from "react";
3
3
  import { Chip, Tooltip, cls, defaultBorderMixin, Typography, iconSize, Label, IconButton, ErrorBoundary } from "@rebasepro/ui";
4
4
  import { ArrowLeftIcon, HistoryIcon } from "lucide-react";
5
5
  import { c } from "react-compiler-runtime";
6
- import { c as getPropertyInPath, l as PropertyPreview } from "./util-BQ82ySL3.js";
6
+ import { c as getPropertyInPath, l as PropertyPreview } from "./util-CwLmSpGp.js";
7
7
  import { useAuthController, useSnackbarController, ConfirmationDialog } from "@rebasepro/core";
8
8
  import { getValueInPath } from "@rebasepro/utils";
9
9
  import "fast-equals";
@@ -19,7 +19,7 @@ import "@dnd-kit/sortable";
19
19
  import "@dnd-kit/utilities";
20
20
  import "react-dropzone";
21
21
  import "react-router-dom";
22
- import { u as useEntityHistory } from "./useEntityHistory-Dcj4zhGj.js";
22
+ import { u as useEntityHistory } from "./useEntityHistory-UVsSclfZ.js";
23
23
  import "react-router";
24
24
  import "xlsx";
25
25
  import "@rebasepro/schema-inference";
@@ -395,8 +395,15 @@ function EntityHistoryView({
395
395
  async function doRevert(historyId) {
396
396
  setIsReverting(true);
397
397
  try {
398
- await revert(historyId);
398
+ const revertedValues = await revert(historyId);
399
399
  setRevertHistoryId(void 0);
400
+ if (formContext?.formex?.resetForm && revertedValues) {
401
+ formContext.formex.resetForm({
402
+ values: revertedValues,
403
+ submitCount: 0,
404
+ touched: {}
405
+ });
406
+ }
400
407
  snackbarController.open({
401
408
  message: "Reverted to selected version",
402
409
  type: "info"
@@ -453,4 +460,4 @@ export {
453
460
  EntityHistoryView,
454
461
  UserChip
455
462
  };
456
- //# sourceMappingURL=index-CHxgwt6E.js.map
463
+ //# sourceMappingURL=index-CtzpHzMQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CtzpHzMQ.js","sources":["../src/components/history/UserChip.tsx","../src/components/history/EntityHistoryEntry.tsx","../src/components/history/EntityHistoryView.tsx"],"sourcesContent":["import { User } from \"@rebasepro/types\";\nimport { Chip, Tooltip } from \"@rebasepro/ui\";\n\nexport function UserChip({ user }: { user: User }) {\n return (\n <Tooltip title={user.email ?? user.uid}>\n <Chip size={\"small\"} className={\"flex items-center\"}>\n {user.photoURL && <img\n className={\"rounded-full w-6 h-6 mr-2\"}\n src={user.photoURL} alt={user.displayName ?? \"User picture\"}/>}\n <span>{user.displayName ?? user.email ?? user.uid}</span>\n </Chip>\n </Tooltip>\n );\n}\n","import type { EntityCollection } from \"@rebasepro/types\";\nimport type { Property } from \"@rebasepro/types\";\nimport * as React from \"react\";\n\nimport { Chip, cls, defaultBorderMixin, Tooltip, Typography , iconSize } from \"@rebasepro/ui\";\nimport { ArrowLeftIcon } from \"lucide-react\";\nimport { PreviewSize } from \"../../types/components/PropertyPreviewProps\";\nimport { getPropertyInPath } from \"../../util/property_utils\";\nimport { PropertyPreview } from \"../../preview/PropertyPreview\";\nimport { SkeletonPropertyComponent } from \"../../preview/property_previews/SkeletonPropertyComponent\";\nimport { useAuthController } from \"@rebasepro/core\";\nimport { UserChip } from \"./UserChip\";\nimport { HistoryEntryData } from \"../../hooks\";\nimport { getValueInPath } from \"@rebasepro/utils\";\n\n/**\n * Recursive deep equality for primitives, arrays and plain objects.\n */\nfunction deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (a == null || b == null) return a === b;\n if (typeof a !== typeof b) return false;\n if (typeof a !== \"object\") return false;\n\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== (b as unknown[]).length) return false;\n return a.every((item, i) => deepEqual(item, (b as unknown[])[i]));\n }\n\n if (Array.isArray(b)) return false;\n\n const aObj = a as Record<string, unknown>;\n const bObj = b as Record<string, unknown>;\n const aKeys = Object.keys(aObj);\n const bKeys = Object.keys(bObj);\n if (aKeys.length !== bKeys.length) return false;\n return aKeys.every(key => key in bObj && deepEqual(aObj[key], bObj[key]));\n}\n\nexport type EntityHistoryEntryProps = {\n size: PreviewSize;\n actions?: React.ReactNode;\n collection?: EntityCollection;\n hover?: boolean;\n entry: HistoryEntryData;\n onClick?: (e: React.SyntheticEvent) => void;\n};\n\nfunction PreviousValueView({\n previousValueInPath,\n childProperty,\n propertyKey\n}: {\n previousValueInPath: unknown;\n childProperty: Property;\n propertyKey: string;\n}) {\n if (typeof previousValueInPath === \"string\" || typeof previousValueInPath === \"number\") {\n return <Typography variant={\"caption\"} color={\"secondary\"} className=\"line-through\">\n {previousValueInPath}\n </Typography>;\n } else if (typeof previousValueInPath === \"boolean\") {\n return <Typography variant={\"caption\"} color={\"secondary\"} className=\"line-through\">\n {previousValueInPath ? \"true\" : \"false\"}\n </Typography>;\n } else {\n return <Tooltip\n side={\"left\"}\n title={<div className={\"flex flex-col gap-2\"}>\n <Typography variant={\"caption\"} color={\"secondary\"}>\n Previous value\n </Typography>\n <PropertyPreview\n propertyKey={propertyKey as string}\n value={previousValueInPath as never}\n property={childProperty as Property}\n size={\"small\"}/>\n </div>}>\n <ArrowLeftIcon size={iconSize.smallest} color={\"disabled\"} className={\"mb-1\"}/>\n </Tooltip>\n }\n}\n\n/**\n * Displays a single entity history revision entry.\n * Adapted from the entity_history plugin — now reads from backend API data.\n */\nexport function EntityHistoryEntry({\n actions,\n hover,\n collection,\n size,\n entry\n}: EntityHistoryEntryProps) {\n\n const authController = useAuthController();\n\n const changedFields = entry.changed_fields;\n const previousValues = entry.previous_values;\n const updatedOn = new Date(entry.updated_at);\n const updatedBy = entry.updated_by;\n\n // Resolve user display\n const currentUser = authController.user;\n const userDisplay = updatedBy === currentUser?.uid\n ? currentUser\n : undefined;\n\n return <div className={\"w-full flex flex-col gap-2 mt-4\"}>\n <div className={\"ml-4 flex items-center gap-4\"}>\n <Typography variant={\"body2\"} color={\"secondary\"}>\n {updatedOn.toLocaleString()}\n </Typography>\n <Chip size={\"small\"}>\n {entry.action}\n </Chip>\n {!userDisplay && updatedBy && <Chip size={\"small\"}>{updatedBy}</Chip>}\n {userDisplay && <UserChip user={userDisplay}/>}\n </div>\n <div\n className={cls(\n \"bg-white dark:bg-surface-900\",\n \"min-h-[44px]\",\n \"w-full\",\n \"items-center\",\n hover ? \"hover:bg-surface-accent-50 dark:hover:bg-surface-800\" : \"\",\n size === \"small\" ? \"p-1\" : \"px-2 py-1\",\n \"flex border rounded-lg\",\n defaultBorderMixin\n )}>\n\n {actions}\n\n <div className={\"flex flex-col grow w-full m-1 shrink min-w-0\"}>\n\n {changedFields && collection && changedFields.map((key: string) => {\n const childProperty = getPropertyInPath(collection.properties, key);\n const valueInPath = entry.values ? getValueInPath(entry.values, key) : undefined;\n const previousValueInPath = previousValues ? getValueInPath(previousValues, key) : undefined;\n\n const element = childProperty\n ? <PropertyPreview\n propertyKey={key}\n value={valueInPath as never}\n property={childProperty as Property}\n size={\"small\"}/>\n : <Typography variant={\"body2\"}>\n {typeof valueInPath === \"string\" ? valueInPath : JSON.stringify(valueInPath)}\n </Typography>;\n\n return (\n <div key={\"ref_prev_\" + key}\n className=\"flex w-full my-1 items-center\">\n <Typography variant={\"caption\"}\n color={\"secondary\"}\n className=\"min-w-[140px] md:min-w-[200px] w-1/5 pr-8 overflow-hidden text-ellipsis text-right\">\n {key}\n </Typography>\n <div className=\"w-4/5\">\n {previousValueInPath !== undefined && !deepEqual(previousValueInPath, valueInPath) &&\n <PreviousValueView previousValueInPath={previousValueInPath}\n childProperty={childProperty as Property}\n propertyKey={key}/>\n }\n {element}\n </div>\n </div>\n );\n })}\n\n {(!changedFields || changedFields.length === 0) && (\n <Typography variant={\"caption\"} color={\"secondary\"} className=\"ml-4\">\n {entry.action === \"create\" ? \"Entity created\" :\n entry.action === \"delete\" ? \"Entity deleted\" : \"No field changes recorded\"}\n </Typography>\n )}\n\n </div>\n\n </div>\n </div>;\n}\n","\nimport type { EntityCustomViewParams } from \"@rebasepro/types\";\nimport { useRef, useEffect } from \"react\";\nimport { cls, IconButton, Label, Tooltip, Typography } from \"@rebasepro/ui\";\nimport { HistoryIcon } from \"lucide-react\";\nimport { EntityHistoryEntry } from \"./EntityHistoryEntry\";\nimport { useSnackbarController, useAuthController } from \"@rebasepro/core\";\nimport { ConfirmationDialog } from \"@rebasepro/core\";\nimport { ErrorBoundary } from \"@rebasepro/ui\";\nimport { useState } from \"react\";\nimport { useEntityHistory } from \"../../index\";\n\n/**\n * Entity history tab view. Shows a paginated list of entity revisions\n * fetched from the backend API. Supports infinite scroll and revert.\n */\nexport function EntityHistoryView<M extends Record<string, unknown>>({\n entity,\n collection,\n formContext\n}: EntityCustomViewParams<M>) {\n\n const snackbarController = useSnackbarController();\n const authController = useAuthController();\n const dirty = formContext?.formex.dirty;\n\n const slug = collection.slug;\n const entityId = entity?.id;\n\n const {\n entries,\n isLoading,\n hasMore,\n loadMore,\n revert\n } = useEntityHistory({\n slug,\n entityId,\n enabled: !!entityId,\n pageSize: 10\n });\n\n const [revertHistoryId, setRevertHistoryId] = useState<string | undefined>();\n const [isReverting, setIsReverting] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const loadMoreRef = useRef<HTMLDivElement>(null);\n\n // Intersection observer for infinite scroll\n useEffect(() => {\n const currentContainer = containerRef.current;\n const currentLoadMore = loadMoreRef.current;\n\n if (!currentContainer || !currentLoadMore || !hasMore || isLoading) return;\n\n const observer = new IntersectionObserver(\n (observerEntries) => {\n if (observerEntries[0].isIntersecting && hasMore && !isLoading) {\n loadMore();\n }\n },\n {\n root: currentContainer,\n rootMargin: \"0px 0px 200px 0px\",\n threshold: 0.01\n }\n );\n\n observer.observe(currentLoadMore);\n\n return () => observer.disconnect();\n }, [hasMore, isLoading, entries.length, loadMore]);\n\n if (!entity) {\n return <div className=\"flex items-center justify-center h-full\">\n <Label>HistoryIcon is only available for existing entities</Label>\n </div>;\n }\n\n async function doRevert(historyId: string) {\n setIsReverting(true);\n try {\n const revertedValues = await revert(historyId);\n setRevertHistoryId(undefined);\n\n // Reset the form with the reverted values so the UI updates\n // immediately without requiring a page refresh.\n if (formContext?.formex?.resetForm && revertedValues) {\n formContext.formex.resetForm({\n values: revertedValues as M,\n submitCount: 0,\n touched: {}\n });\n }\n\n snackbarController.open({\n message: \"Reverted to selected version\",\n type: \"info\"\n });\n } catch (error) {\n console.error(\"Error reverting entity:\", error);\n snackbarController.open({\n message: \"Error reverting entity\",\n type: \"error\"\n });\n } finally {\n setIsReverting(false);\n }\n }\n\n const revertEntry = revertHistoryId\n ? entries.find(e => e.id === revertHistoryId)\n : undefined;\n\n return <div\n ref={containerRef}\n className={cls(\"relative flex-1 h-full overflow-auto w-full flex flex-col gap-4 p-8\")}>\n <div className=\"flex flex-col gap-2 max-w-6xl mx-auto w-full\">\n\n <Typography variant={\"h5\"} className={\"mt-24 ml-4\"}>\n HistoryIcon\n </Typography>\n\n {isLoading && entries.length === 0 && (\n <div className=\"flex flex-col gap-4 mt-8 ml-4\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex flex-col gap-2 animate-pulse\">\n <div className=\"h-4 w-48 bg-surface-200 dark:bg-surface-700 rounded\"/>\n <div className=\"h-12 w-full bg-surface-100 dark:bg-surface-900 rounded-lg border border-surface-200 dark:border-surface-700\"/>\n </div>\n ))}\n </div>\n )}\n\n {!isLoading && entries.length === 0 && <>\n <Label className={\"ml-4 mt-8\"}>\n No history available\n </Label>\n <Typography variant={\"caption\"} className={\"ml-4\"}>\n When you save an entity, a new version is created and stored in the history.\n </Typography>\n </>}\n\n {entries.map((entry) => (\n <div key={entry.id} className=\"flex flex-cols gap-2 w-full\">\n <EntityHistoryEntry\n entry={entry}\n collection={collection}\n size={\"medium\"}\n actions={\n <Tooltip title={\"Revert to this version\"}\n className={\"m-2 grow-0 self-start\"}>\n <IconButton\n onClick={() => {\n if (dirty) {\n snackbarController.open({\n message: \"Please save or discard your changes before reverting\",\n type: \"warning\"\n });\n } else {\n setRevertHistoryId(entry.id);\n }\n }}>\n <HistoryIcon/>\n </IconButton>\n </Tooltip>\n }\n />\n </div>\n ))}\n\n {/* Load more sentinel */}\n {entries.length > 0 && (\n <div ref={loadMoreRef} className=\"py-4 text-center\">\n {isLoading && <Label>Loading more...</Label>}\n {!hasMore && entries.length > 10 && <Label>No more history available</Label>}\n </div>\n )}\n </div>\n\n <ErrorBoundary>\n <ConfirmationDialog\n open={Boolean(revertHistoryId)}\n onAccept={() => {\n if (revertHistoryId) doRevert(revertHistoryId);\n }}\n onCancel={() => setRevertHistoryId(undefined)}\n title={<Typography variant={\"subtitle2\"}>Revert data to this version?</Typography>}\n body={revertEntry\n ? <div className=\"p-4\">\n <Typography variant={\"caption\"} color={\"secondary\"}>\n This will save the entity with the values from{\" \"}\n {new Date(revertEntry.updated_at).toLocaleString()}.\n A new history entry will be created for the revert.\n </Typography>\n </div>\n : null\n }\n />\n </ErrorBoundary>\n </div>;\n}\n"],"names":["UserChip","t0","$","_c","user","t1","email","uid","t2","displayName","photoURL","t3","t4","t5","t6","deepEqual","a","b","Array","isArray","length","every","item","i","aObj","bObj","aKeys","Object","keys","bKeys","key","PreviousValueView","previousValueInPath","childProperty","propertyKey","Symbol","for","iconSize","smallest","t7","EntityHistoryEntry","actions","hover","collection","size","entry","authController","useAuthController","changedFields","changed_fields","previousValues","previous_values","T0","updatedBy","userDisplay","updated_at","updated_by","updatedOn","Date","currentUser","undefined","Typography","toLocaleString","action","t8","t9","t10","t11","t12","t13","cls","defaultBorderMixin","t14","values","map","getPropertyInPath","properties","valueInPath","getValueInPath","element","JSON","stringify","t15","t16","t17","t18","EntityHistoryView","entity","formContext","snackbarController","useSnackbarController","dirty","formex","slug","entityId","id","entries","isLoading","hasMore","loadMore","revert","useEntityHistory","enabled","pageSize","revertHistoryId","setRevertHistoryId","useState","isReverting","setIsReverting","containerRef","useRef","loadMoreRef","useEffect","currentContainer","current","currentLoadMore","observer","IntersectionObserver","observerEntries","isIntersecting","root","rootMargin","threshold","observe","disconnect","doRevert","historyId","revertedValues","resetForm","submitCount","touched","open","message","type","error","console","revertEntry","find","e","Boolean"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { I as ImportCollectionAction } from "./ImportCollectionAction-DpCagAOy.js";
2
- import { a, P } from "./ImportCollectionAction-DpCagAOy.js";
1
+ import { I as ImportCollectionAction } from "./ImportCollectionAction-DGa_SF_8.js";
2
+ import { a, P } from "./ImportCollectionAction-DGa_SF_8.js";
3
3
  export {
4
4
  ImportCollectionAction,
5
5
  a as ImportDataPreview,
6
6
  P as PropertySelectEntry
7
7
  };
8
- //# sourceMappingURL=index-Dey5WJpO.js.map
8
+ //# sourceMappingURL=index-DKlrVD1m.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DKlrVD1m.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,5 +1,5 @@
1
- import { E as ExportCollectionAction } from "./ExportCollectionAction-Dc0VOWMN.js";
2
- import { B, d, a, b, g, c } from "./ExportCollectionAction-Dc0VOWMN.js";
1
+ import { E as ExportCollectionAction } from "./ExportCollectionAction-CUwJg4F9.js";
2
+ import { B, d, a, b, g, c } from "./ExportCollectionAction-CUwJg4F9.js";
3
3
  export {
4
4
  B as BasicExportAction,
5
5
  ExportCollectionAction,
@@ -9,4 +9,4 @@ export {
9
9
  g as getEntityCSVExportableData,
10
10
  c as getEntityJsonExportableData
11
11
  };
12
- //# sourceMappingURL=index-CBhrgpR7.js.map
12
+ //# sourceMappingURL=index-kHJXfLNI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-kHJXfLNI.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { k as useCMSContext, e as useCollectionRegistryController, n as useEntitySelectionDialog, R as ReferencePreview, j as useUrlController, o as Drawer, A as AppBar, S as SideDialogs, p as Scaffold, q as RebaseNavigation, r as RebaseRouteDefs, l as PropertyPreview, s as useCollectionEditorController } from "./util-BQ82ySL3.js";
2
- import { t, v, w, x, y, z, B, C, F, G, H, J, K, L, M, N, O, D, Q, T, U, V, W, X, E, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, I, a8, b, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, P, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, h, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, d, aW, aX, aY, aZ, a_, a, g, c, a$, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, ba, bb, bc, bd, be, i, bf, bg, bh, bi, bj, bk, u, bl, m, bm, bn, f, bo, bp, bq, br, bs } from "./util-BQ82ySL3.js";
1
+ import { k as useCMSContext, e as useCollectionRegistryController, n as useEntitySelectionDialog, R as ReferencePreview, j as useUrlController, o as Drawer, A as AppBar, S as SideDialogs, p as Scaffold, q as RebaseNavigation, r as RebaseRouteDefs, l as PropertyPreview, s as useCollectionEditorController } from "./util-CwLmSpGp.js";
2
+ import { t, v, w, x, y, z, B, C, F, G, H, J, K, L, M, N, O, D, Q, T, U, V, W, X, E, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, I, a8, b, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, P, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, h, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, d, aW, aX, aY, aZ, a_, a, g, c, a$, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, ba, bb, bc, bd, be, i, bf, bg, bh, bi, bj, bk, u, bl, m, bm, bn, f, bo, bp, bq, br, bs } from "./util-CwLmSpGp.js";
3
3
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
4
4
  import { c as c2 } from "react-compiler-runtime";
5
5
  import { Button, cls, CircularProgressCenter, ErrorBoundary } from "@rebasepro/ui";
@@ -24,9 +24,9 @@ import "react-router";
24
24
  import { useLocation, Outlet } from "react-router-dom";
25
25
  import "xlsx";
26
26
  import "@rebasepro/schema-inference";
27
- import { u as u2 } from "./useEntityHistory-Dcj4zhGj.js";
28
- import { I as I2, a as a10, P as P2 } from "./ImportCollectionAction-DpCagAOy.js";
29
- import { B as B2, E as E2, d as d2, a as a11, b as b10, g as g2, c as c3 } from "./ExportCollectionAction-Dc0VOWMN.js";
27
+ import { u as u2 } from "./useEntityHistory-UVsSclfZ.js";
28
+ import { I as I2, a as a10, P as P2 } from "./ImportCollectionAction-DGa_SF_8.js";
29
+ import { B as B2, E as E2, d as d2, a as a11, b as b10, g as g2, c as c3 } from "./ExportCollectionAction-CUwJg4F9.js";
30
30
  function resolveNavigationFrom({
31
31
  path,
32
32
  context
@@ -151,7 +151,7 @@ function ReferenceWidget({
151
151
  onReferenceSelected,
152
152
  onMultipleReferenceSelected,
153
153
  previewProperties,
154
- forceFilter,
154
+ fixedFilter,
155
155
  size,
156
156
  className,
157
157
  includeId,
@@ -187,7 +187,7 @@ function ReferenceWidget({
187
187
  collection,
188
188
  onSingleEntitySelected,
189
189
  onMultipleEntitiesSelected,
190
- forceFilter
190
+ fixedFilter
191
191
  });
192
192
  useCallback((e_0) => {
193
193
  e_0.stopPropagation();
@@ -244,19 +244,20 @@ function AdminModeSyncer({
244
244
  return null;
245
245
  }
246
246
  function RebaseCMS(t0) {
247
- const $2 = c2(9);
247
+ const $2 = c2(10);
248
248
  const {
249
249
  collections,
250
250
  homePage,
251
251
  entityViews,
252
252
  entityActions,
253
253
  plugins,
254
- collectionEditor
254
+ collectionEditor,
255
+ navigationGroupMappings
255
256
  } = t0;
256
257
  const dispatch = useRebaseRegistryDispatch();
257
258
  let t1;
258
259
  let t2;
259
- if ($2[0] !== collectionEditor || $2[1] !== collections || $2[2] !== dispatch || $2[3] !== entityActions || $2[4] !== entityViews || $2[5] !== homePage || $2[6] !== plugins) {
260
+ if ($2[0] !== collectionEditor || $2[1] !== collections || $2[2] !== dispatch || $2[3] !== entityActions || $2[4] !== entityViews || $2[5] !== homePage || $2[6] !== navigationGroupMappings || $2[7] !== plugins) {
260
261
  t1 = () => {
261
262
  dispatch.registerCMS({
262
263
  collections,
@@ -264,23 +265,25 @@ function RebaseCMS(t0) {
264
265
  entityViews,
265
266
  entityActions,
266
267
  plugins,
267
- collectionEditor
268
+ collectionEditor,
269
+ navigationGroupMappings
268
270
  });
269
271
  return () => dispatch.unregisterCMS();
270
272
  };
271
- t2 = [dispatch, collections, homePage, entityViews, entityActions, plugins, collectionEditor];
273
+ t2 = [dispatch, collections, homePage, entityViews, entityActions, plugins, collectionEditor, navigationGroupMappings];
272
274
  $2[0] = collectionEditor;
273
275
  $2[1] = collections;
274
276
  $2[2] = dispatch;
275
277
  $2[3] = entityActions;
276
278
  $2[4] = entityViews;
277
279
  $2[5] = homePage;
278
- $2[6] = plugins;
279
- $2[7] = t1;
280
- $2[8] = t2;
280
+ $2[6] = navigationGroupMappings;
281
+ $2[7] = plugins;
282
+ $2[8] = t1;
283
+ $2[9] = t2;
281
284
  } else {
282
- t1 = $2[7];
283
- t2 = $2[8];
285
+ t1 = $2[8];
286
+ t2 = $2[9];
284
287
  }
285
288
  useLayoutEffect(t1, t2);
286
289
  return null;
@@ -292,6 +295,7 @@ function RebaseAuthGate(t0) {
292
295
  } = t0;
293
296
  const registry = useRebaseRegistry();
294
297
  const authController = useAuthController();
298
+ console.log("[AuthGate] initialLoading:", authController?.initialLoading, "user:", authController?.user?.email ?? null);
295
299
  if (authController?.initialLoading) {
296
300
  let t12;
297
301
  if ($2[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
@@ -485,7 +489,7 @@ function ArrayOfMapsPreview(t0) {
485
489
  throw Error(`You need to specify a 'properties' prop (or specify a custom field) in your map property ${propertyKey}`);
486
490
  }
487
491
  const values = value;
488
- const previewProperties = mapProperty.previewProperties;
492
+ const previewProperties = mapProperty.ui?.previewProperties;
489
493
  if (!values) {
490
494
  t3 = null;
491
495
  break bb0;
@@ -533,7 +537,7 @@ function ArrayOfMapsPreview(t0) {
533
537
  return t5;
534
538
  }
535
539
  function MissingReferenceWidget(t0) {
536
- const $2 = c2(18);
540
+ const $2 = c2(22);
537
541
  const {
538
542
  path: pathProp
539
543
  } = t0;
@@ -541,82 +545,94 @@ function MissingReferenceWidget(t0) {
541
545
  const path = getLastSegment(pathProp);
542
546
  let t1;
543
547
  if ($2[0] !== pathProp || $2[1] !== registry) {
544
- t1 = registry.getParentCollectionIds(pathProp);
548
+ t1 = registry.getParentCollectionSlugs(pathProp);
545
549
  $2[0] = pathProp;
546
550
  $2[1] = registry;
547
551
  $2[2] = t1;
548
552
  } else {
549
553
  t1 = $2[2];
550
554
  }
551
- const parentCollectionIds = t1;
555
+ const parentCollectionSlugs = t1;
556
+ let t2;
557
+ if ($2[3] !== pathProp || $2[4] !== registry) {
558
+ t2 = registry.getParentEntityIds(pathProp);
559
+ $2[3] = pathProp;
560
+ $2[4] = registry;
561
+ $2[5] = t2;
562
+ } else {
563
+ t2 = $2[5];
564
+ }
565
+ const parentEntityIds = t2;
552
566
  const collectionEditor = useCollectionEditorController();
553
567
  const {
554
- t: t2
568
+ t: t3
555
569
  } = useTranslation();
556
- const t22 = "p-1 flex flex-col items-center";
570
+ const t32 = "p-1 flex flex-col items-center";
557
571
  const T0 = ErrorView;
558
- const t3 = t2("studio_missing_reference_error", {
572
+ const t4 = t3("studio_missing_reference_error", {
559
573
  path
560
574
  });
561
- let t4;
562
- if ($2[3] !== T0 || $2[4] !== t3) {
563
- t4 = /* @__PURE__ */ jsx(T0, { error: t3 });
564
- $2[3] = T0;
565
- $2[4] = t3;
566
- $2[5] = t4;
575
+ let t5;
576
+ if ($2[6] !== T0 || $2[7] !== t4) {
577
+ t5 = /* @__PURE__ */ jsx(T0, { error: t4 });
578
+ $2[6] = T0;
579
+ $2[7] = t4;
580
+ $2[8] = t5;
567
581
  } else {
568
- t4 = $2[5];
582
+ t5 = $2[8];
569
583
  }
570
- let t5;
571
- if ($2[6] !== collectionEditor || $2[7] !== parentCollectionIds || $2[8] !== path) {
572
- t5 = () => {
584
+ let t6;
585
+ if ($2[9] !== collectionEditor || $2[10] !== parentCollectionSlugs || $2[11] !== parentEntityIds || $2[12] !== path) {
586
+ t6 = () => {
573
587
  collectionEditor.createCollection({
574
588
  initialValues: {
575
589
  path,
576
590
  name: prettifyIdentifier(path)
577
591
  },
578
- parentCollectionIds,
592
+ parentCollectionSlugs,
593
+ parentEntityIds,
579
594
  redirect: false,
580
595
  sourceClick: "missing_reference"
581
596
  });
582
597
  };
583
- $2[6] = collectionEditor;
584
- $2[7] = parentCollectionIds;
585
- $2[8] = path;
586
- $2[9] = t5;
587
- } else {
588
- t5 = $2[9];
589
- }
590
- let t6;
591
- if ($2[10] !== t2) {
592
- t6 = t2("studio_missing_reference_create");
593
- $2[10] = t2;
594
- $2[11] = t6;
598
+ $2[9] = collectionEditor;
599
+ $2[10] = parentCollectionSlugs;
600
+ $2[11] = parentEntityIds;
601
+ $2[12] = path;
602
+ $2[13] = t6;
595
603
  } else {
596
- t6 = $2[11];
604
+ t6 = $2[13];
597
605
  }
598
606
  let t7;
599
- if ($2[12] !== t5 || $2[13] !== t6) {
600
- t7 = /* @__PURE__ */ jsx(Button, { className: "mx-2", size: "small", onClick: t5, children: t6 });
601
- $2[12] = t5;
602
- $2[13] = t6;
603
- $2[14] = t7;
607
+ if ($2[14] !== t3) {
608
+ t7 = t3("studio_missing_reference_create");
609
+ $2[14] = t3;
610
+ $2[15] = t7;
604
611
  } else {
605
- t7 = $2[14];
612
+ t7 = $2[15];
606
613
  }
607
614
  let t8;
608
- if ($2[15] !== t4 || $2[16] !== t7) {
609
- t8 = /* @__PURE__ */ jsxs("div", { className: t22, children: [
610
- t4,
611
- t7
615
+ if ($2[16] !== t6 || $2[17] !== t7) {
616
+ t8 = /* @__PURE__ */ jsx(Button, { className: "mx-2", size: "small", onClick: t6, children: t7 });
617
+ $2[16] = t6;
618
+ $2[17] = t7;
619
+ $2[18] = t8;
620
+ } else {
621
+ t8 = $2[18];
622
+ }
623
+ let t9;
624
+ if ($2[19] !== t5 || $2[20] !== t8) {
625
+ t9 = /* @__PURE__ */ jsxs("div", { className: t32, children: [
626
+ t5,
627
+ t8
612
628
  ] });
613
- $2[15] = t4;
614
- $2[16] = t7;
615
- $2[17] = t8;
629
+ $2[19] = t5;
630
+ $2[20] = t8;
631
+ $2[21] = t9;
616
632
  } else {
617
- t8 = $2[17];
633
+ t9 = $2[21];
618
634
  }
619
- return t8;
635
+ return t9;
620
636
  }
621
637
  export {
622
638
  AdminModeSyncer,