@rebasepro/admin 0.0.1-canary.09e5ec5

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 (780) hide show
  1. package/LICENSE +6 -0
  2. package/dist/CollectionEditorDialog-B2M9lCyL.js +4720 -0
  3. package/dist/CollectionEditorDialog-B2M9lCyL.js.map +1 -0
  4. package/dist/CollectionsStudioView-WG6soyfs.js +218 -0
  5. package/dist/CollectionsStudioView-WG6soyfs.js.map +1 -0
  6. package/dist/ContentHomePage-CDF_a6Lp.js +1786 -0
  7. package/dist/ContentHomePage-CDF_a6Lp.js.map +1 -0
  8. package/dist/ExportCollectionAction-Dc0VOWMN.js +439 -0
  9. package/dist/ExportCollectionAction-Dc0VOWMN.js.map +1 -0
  10. package/dist/ImportCollectionAction-DpCagAOy.js +686 -0
  11. package/dist/ImportCollectionAction-DpCagAOy.js.map +1 -0
  12. package/dist/PropertyEditView-DS67DxoT.js +8138 -0
  13. package/dist/PropertyEditView-DS67DxoT.js.map +1 -0
  14. package/dist/RoleChip-QtUFXeTp.js +67 -0
  15. package/dist/RoleChip-QtUFXeTp.js.map +1 -0
  16. package/dist/RolesView-CIuYBimF.js +424 -0
  17. package/dist/RolesView-CIuYBimF.js.map +1 -0
  18. package/dist/UsersView-B5zelXnH.js +493 -0
  19. package/dist/UsersView-B5zelXnH.js.map +1 -0
  20. package/dist/collection_editor/CollectionEditorDialogsContext.d.ts +19 -0
  21. package/dist/collection_editor/ConfigControllerProvider.d.ts +45 -0
  22. package/dist/collection_editor/_cms_internals.d.ts +29 -0
  23. package/dist/collection_editor/api/generateCollectionApi.d.ts +77 -0
  24. package/dist/collection_editor/api/index.d.ts +1 -0
  25. package/dist/collection_editor/index.d.ts +16 -0
  26. package/dist/collection_editor/pgColumnToProperty.d.ts +6 -0
  27. package/dist/collection_editor/types/collection_editor_controller.d.ts +56 -0
  28. package/dist/collection_editor/types/collection_inference.d.ts +10 -0
  29. package/dist/collection_editor/types/config_controller.d.ts +91 -0
  30. package/dist/collection_editor/types/config_permissions.d.ts +19 -0
  31. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +11 -0
  32. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +10 -0
  33. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +2 -0
  34. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +2 -0
  35. package/dist/collection_editor/ui/EditorEntityAction.d.ts +2 -0
  36. package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +2 -0
  37. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +10 -0
  38. package/dist/collection_editor/ui/MissingReferenceWidget.d.ts +3 -0
  39. package/dist/collection_editor/ui/NewCollectionButton.d.ts +1 -0
  40. package/dist/collection_editor/ui/NewCollectionCard.d.ts +2 -0
  41. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +7 -0
  42. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +36 -0
  43. package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +20 -0
  44. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +11 -0
  45. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +72 -0
  46. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +19 -0
  47. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +7 -0
  48. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +17 -0
  49. package/dist/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +12 -0
  50. package/dist/collection_editor/ui/collection_editor/CollectionRelationsTab.d.ts +1 -0
  51. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +5 -0
  52. package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +14 -0
  53. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +5 -0
  54. package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +3 -0
  55. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +5 -0
  56. package/dist/collection_editor/ui/collection_editor/EntityActionsSelectDialog.d.ts +4 -0
  57. package/dist/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.d.ts +4 -0
  58. package/dist/collection_editor/ui/collection_editor/EnumForm.d.ts +12 -0
  59. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +7 -0
  60. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +6 -0
  61. package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +4 -0
  62. package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +5 -0
  63. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +47 -0
  64. package/dist/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +16 -0
  65. package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +31 -0
  66. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +11 -0
  67. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +8 -0
  68. package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +6 -0
  69. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +7 -0
  70. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +13 -0
  71. package/dist/collection_editor/ui/collection_editor/import/clean_import_data.d.ts +7 -0
  72. package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +7 -0
  73. package/dist/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +3 -0
  74. package/dist/collection_editor/ui/collection_editor/properties/CommonPropertyFields.d.ts +10 -0
  75. package/dist/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +3 -0
  76. package/dist/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +9 -0
  77. package/dist/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +3 -0
  78. package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +7 -0
  79. package/dist/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +4 -0
  80. package/dist/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +3 -0
  81. package/dist/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +14 -0
  82. package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +15 -0
  83. package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +9 -0
  84. package/dist/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +5 -0
  85. package/dist/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +5 -0
  86. package/dist/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +4 -0
  87. package/dist/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +3 -0
  88. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.d.ts +10 -0
  89. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.d.ts +3 -0
  90. package/dist/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.d.ts +6 -0
  91. package/dist/collection_editor/ui/collection_editor/properties/conditions/index.d.ts +6 -0
  92. package/dist/collection_editor/ui/collection_editor/properties/conditions/property_paths.d.ts +19 -0
  93. package/dist/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +5 -0
  94. package/dist/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +4 -0
  95. package/dist/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +3 -0
  96. package/dist/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +11 -0
  97. package/dist/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +3 -0
  98. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -0
  99. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -0
  100. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -0
  101. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -0
  102. package/dist/collection_editor/ui/collection_editor/util.d.ts +5 -0
  103. package/dist/collection_editor/ui/collection_editor/utils/strings.d.ts +1 -0
  104. package/dist/collection_editor/ui/collection_editor/utils/supported_fields.d.ts +3 -0
  105. package/dist/collection_editor/ui/collection_editor/utils/update_property_for_widget.d.ts +2 -0
  106. package/dist/collection_editor/useCollectionEditorController.d.ts +6 -0
  107. package/dist/collection_editor/useCollectionsConfigController.d.ts +6 -0
  108. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +6 -0
  109. package/dist/collection_editor/validateCollectionJson.d.ts +22 -0
  110. package/dist/collection_editor_ui.d.ts +8 -0
  111. package/dist/collection_editor_ui.js +11 -0
  112. package/dist/collection_editor_ui.js.map +1 -0
  113. package/dist/components/AdminModeSyncer.d.ts +17 -0
  114. package/dist/components/ArrayContainer.d.ts +58 -0
  115. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  116. package/dist/components/CollectionEditorDialogs.d.ts +15 -0
  117. package/dist/components/DefaultAppBar.d.ts +29 -0
  118. package/dist/components/DefaultDrawer.d.ts +29 -0
  119. package/dist/components/DeleteEntityDialog.d.ts +13 -0
  120. package/dist/components/DrawerNavigationGroup.d.ts +49 -0
  121. package/dist/components/DrawerNavigationItem.d.ts +10 -0
  122. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +39 -0
  123. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +27 -0
  124. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +129 -0
  125. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +26 -0
  126. package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
  127. package/dist/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +21 -0
  128. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +22 -0
  129. package/dist/components/EntityCollectionTable/fields/TableRelationField.d.ts +22 -0
  130. package/dist/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +20 -0
  131. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +35 -0
  132. package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +12 -0
  133. package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +9 -0
  134. package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +8 -0
  135. package/dist/components/EntityCollectionTable/fields/VirtualTableSelect.d.ts +15 -0
  136. package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +7 -0
  137. package/dist/components/EntityCollectionTable/fields/VirtualTableUserSelect.d.ts +12 -0
  138. package/dist/components/EntityCollectionTable/index.d.ts +6 -0
  139. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +21 -0
  140. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +32 -0
  141. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  142. package/dist/components/EntityCollectionTable/internal/common.d.ts +5 -0
  143. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +27 -0
  144. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  145. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  146. package/dist/components/EntityCollectionTable/table_bindings.d.ts +28 -0
  147. package/dist/components/EntityCollectionView/Board.d.ts +2 -0
  148. package/dist/components/EntityCollectionView/BoardColumn.d.ts +42 -0
  149. package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +9 -0
  150. package/dist/components/EntityCollectionView/BoardSortableList.d.ts +14 -0
  151. package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +31 -0
  152. package/dist/components/EntityCollectionView/EntityCard.d.ts +20 -0
  153. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +21 -0
  154. package/dist/components/EntityCollectionView/EntityCollectionCardView.d.ts +32 -0
  155. package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +34 -0
  156. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +64 -0
  157. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +18 -0
  158. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +18 -0
  159. package/dist/components/EntityCollectionView/FiltersDialog.d.ts +15 -0
  160. package/dist/components/EntityCollectionView/SplitListView.d.ts +57 -0
  161. package/dist/components/EntityCollectionView/ViewModeToggle.d.ts +44 -0
  162. package/dist/components/EntityCollectionView/board_types.d.ts +105 -0
  163. package/dist/components/EntityCollectionView/hooks/useCollectionInlineEditor.d.ts +12 -0
  164. package/dist/components/EntityCollectionView/hooks/useKanbanDragAndDrop.d.ts +19 -0
  165. package/dist/components/EntityCollectionView/useBoardDataController.d.ts +61 -0
  166. package/dist/components/EntityCollectionView/useEntityPreviewSlots.d.ts +101 -0
  167. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  168. package/dist/components/EntityCollectionView/utils.d.ts +3 -0
  169. package/dist/components/EntityEditView.d.ts +49 -0
  170. package/dist/components/EntityEditViewFormActions.d.ts +2 -0
  171. package/dist/components/EntityJsonPreview.d.ts +3 -0
  172. package/dist/components/EntityPreview.d.ts +56 -0
  173. package/dist/components/EntitySidePanel.d.ts +10 -0
  174. package/dist/components/EntityView.d.ts +12 -0
  175. package/dist/components/FieldCaption.d.ts +5 -0
  176. package/dist/components/HomePage/ContentHomePage.d.ts +11 -0
  177. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  178. package/dist/components/HomePage/HomePageDnD.d.ts +77 -0
  179. package/dist/components/HomePage/NavigationCard.d.ts +11 -0
  180. package/dist/components/HomePage/NavigationCardBinding.d.ts +18 -0
  181. package/dist/components/HomePage/NavigationGroup.d.ts +11 -0
  182. package/dist/components/HomePage/RenameGroupDialog.d.ts +9 -0
  183. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  184. package/dist/components/HomePage/index.d.ts +4 -0
  185. package/dist/components/PropertyCollectionView.d.ts +24 -0
  186. package/dist/components/PropertyConfigBadge.d.ts +6 -0
  187. package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
  188. package/dist/components/RebaseAuthGate.d.ts +21 -0
  189. package/dist/components/RebaseCMS.d.ts +10 -0
  190. package/dist/components/RebaseLayout.d.ts +32 -0
  191. package/dist/components/RebaseNavigation.d.ts +24 -0
  192. package/dist/components/RebaseRouteDefs.d.ts +30 -0
  193. package/dist/components/RebaseShell.d.ts +25 -0
  194. package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +59 -0
  195. package/dist/components/ReferenceWidget.d.ts +30 -0
  196. package/dist/components/RelationSelector.d.ts +32 -0
  197. package/dist/components/SearchIconsView.d.ts +5 -0
  198. package/dist/components/SelectableTable/SelectableTable.d.ts +95 -0
  199. package/dist/components/SelectableTable/SelectableTableContext.d.ts +4 -0
  200. package/dist/components/SelectableTable/SelectionStore.d.ts +26 -0
  201. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -0
  202. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +12 -0
  203. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +15 -0
  204. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +12 -0
  205. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +13 -0
  206. package/dist/components/SideDialogs.d.ts +25 -0
  207. package/dist/components/SideEntityProvider.d.ts +32 -0
  208. package/dist/components/UserSelector.d.ts +18 -0
  209. package/dist/components/admin/RoleChip.d.ts +4 -0
  210. package/dist/components/admin/RolesView.d.ts +4 -0
  211. package/dist/components/admin/UsersView.d.ts +4 -0
  212. package/dist/components/admin/index.d.ts +3 -0
  213. package/dist/components/app/AppBar.d.ts +12 -0
  214. package/dist/components/app/Drawer.d.ts +19 -0
  215. package/dist/components/app/Scaffold.d.ts +34 -0
  216. package/dist/components/app/index.d.ts +4 -0
  217. package/dist/components/app/useApp.d.ts +17 -0
  218. package/dist/components/common/default_entity_actions.d.ts +4 -0
  219. package/dist/components/common/index.d.ts +1 -0
  220. package/dist/components/field_configs.d.ts +7 -0
  221. package/dist/components/history/EntityHistoryEntry.d.ts +17 -0
  222. package/dist/components/history/EntityHistoryView.d.ts +6 -0
  223. package/dist/components/history/LastEditedByFormAction.d.ts +6 -0
  224. package/dist/components/history/LastEditedByIndicator.d.ts +10 -0
  225. package/dist/components/history/UserChip.d.ts +4 -0
  226. package/dist/components/history/index.d.ts +5 -0
  227. package/dist/components/index.d.ts +38 -0
  228. package/dist/contexts/BreacrumbsContext.d.ts +8 -0
  229. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  230. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  231. package/dist/data_export/export/BasicExportAction.d.ts +7 -0
  232. package/dist/data_export/export/ExportCollectionAction.d.ts +11 -0
  233. package/dist/data_export/export/export.d.ts +22 -0
  234. package/dist/data_export/export/index.d.ts +3 -0
  235. package/dist/data_export/index.d.ts +1 -0
  236. package/dist/data_import/components/DataNewPropertiesMapping.d.ts +13 -0
  237. package/dist/data_import/components/ImportFileUpload.d.ts +3 -0
  238. package/dist/data_import/components/ImportNewPropertyFieldPreview.d.ts +9 -0
  239. package/dist/data_import/components/ImportSaveInProgress.d.ts +8 -0
  240. package/dist/data_import/components/index.d.ts +4 -0
  241. package/dist/data_import/hooks/index.d.ts +1 -0
  242. package/dist/data_import/hooks/useImportConfig.d.ts +2 -0
  243. package/dist/data_import/import/ImportCollectionAction.d.ts +15 -0
  244. package/dist/data_import/import/index.d.ts +1 -0
  245. package/dist/data_import/index.d.ts +5 -0
  246. package/dist/data_import/types/column_mapping.d.ts +20 -0
  247. package/dist/data_import/types/index.d.ts +1 -0
  248. package/dist/data_import/utils/data.d.ts +4 -0
  249. package/dist/data_import/utils/file_headers.d.ts +1 -0
  250. package/dist/data_import/utils/file_to_json.d.ts +16 -0
  251. package/dist/data_import/utils/get_import_inference_type.d.ts +2 -0
  252. package/dist/data_import/utils/get_properties_mapping.d.ts +1 -0
  253. package/dist/data_import/utils/index.d.ts +3 -0
  254. package/dist/editor/components/SlashCommandMenu.d.ts +6 -0
  255. package/dist/editor/components/editor-bubble-item.d.ts +8 -0
  256. package/dist/editor/components/editor-bubble.d.ts +8 -0
  257. package/dist/editor/components/image-bubble.d.ts +5 -0
  258. package/dist/editor/components/index.d.ts +16 -0
  259. package/dist/editor/components/table-bubble.d.ts +5 -0
  260. package/dist/editor/editor.d.ts +30 -0
  261. package/dist/editor/extensions/HighlightDecorationExtension.d.ts +24 -0
  262. package/dist/editor/extensions/Image/index.d.ts +6 -0
  263. package/dist/editor/extensions/Image.d.ts +6 -0
  264. package/dist/editor/extensions/TextLoadingDecorationExtension.d.ts +16 -0
  265. package/dist/editor/extensions/clipboard.d.ts +7 -0
  266. package/dist/editor/extensions/custom-keymap.d.ts +1 -0
  267. package/dist/editor/extensions/drag-and-drop.d.ts +9 -0
  268. package/dist/editor/hooks/useProseMirror.d.ts +13 -0
  269. package/dist/editor/hooks/useProseMirrorContext.d.ts +9 -0
  270. package/dist/editor/index.d.ts +2 -0
  271. package/dist/editor/markdown.d.ts +5 -0
  272. package/dist/editor/nodeViews/ImageComponent.d.ts +3 -0
  273. package/dist/editor/nodeViews/ReactNodeView.d.ts +29 -0
  274. package/dist/editor/nodeViews/TaskItemComponent.d.ts +3 -0
  275. package/dist/editor/nodeViews/index.d.ts +6 -0
  276. package/dist/editor/plugins/index.d.ts +2 -0
  277. package/dist/editor/plugins/inputrules.d.ts +6 -0
  278. package/dist/editor/plugins/placeholderPlugin.d.ts +3 -0
  279. package/dist/editor/plugins/slashCommandPlugin.d.ts +12 -0
  280. package/dist/editor/schema.d.ts +2 -0
  281. package/dist/editor/selectors/ai-selector.d.ts +0 -0
  282. package/dist/editor/selectors/color-selector.d.ts +10 -0
  283. package/dist/editor/selectors/link-selector.d.ts +8 -0
  284. package/dist/editor/selectors/node-selector.d.ts +15 -0
  285. package/dist/editor/selectors/text-buttons.d.ts +1 -0
  286. package/dist/editor/types.d.ts +5 -0
  287. package/dist/editor/useProseMirror.d.ts +16 -0
  288. package/dist/editor/utils/prosemirror-utils.d.ts +7 -0
  289. package/dist/editor/utils/remove_classes.d.ts +1 -0
  290. package/dist/editor/utils/useDebouncedCallback.d.ts +1 -0
  291. package/dist/editor.js +3834 -0
  292. package/dist/editor.js.map +1 -0
  293. package/dist/form/EntityForm.d.ts +10 -0
  294. package/dist/form/EntityFormActions.d.ts +2 -0
  295. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  296. package/dist/form/components/ErrorFocus.d.ts +4 -0
  297. package/dist/form/components/FieldHelperText.d.ts +12 -0
  298. package/dist/form/components/FormEntry.d.ts +6 -0
  299. package/dist/form/components/FormLayout.d.ts +5 -0
  300. package/dist/form/components/LabelWithIcon.d.ts +14 -0
  301. package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
  302. package/dist/form/components/LocalChangesMenu.d.ts +11 -0
  303. package/dist/form/components/StorageItemPreview.d.ts +14 -0
  304. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  305. package/dist/form/components/index.d.ts +5 -0
  306. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +10 -0
  307. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +13 -0
  308. package/dist/form/field_bindings/BlockFieldBinding.d.ts +11 -0
  309. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +12 -0
  310. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +8 -0
  311. package/dist/form/field_bindings/MapFieldBinding.d.ts +10 -0
  312. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +12 -0
  313. package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +10 -0
  314. package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +10 -0
  315. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +11 -0
  316. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +10 -0
  317. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +10 -0
  318. package/dist/form/field_bindings/RelationFieldBinding.d.ts +3 -0
  319. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +11 -0
  320. package/dist/form/field_bindings/SelectFieldBinding.d.ts +11 -0
  321. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +21 -0
  322. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +10 -0
  323. package/dist/form/field_bindings/TextFieldBinding.d.ts +9 -0
  324. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +14 -0
  325. package/dist/form/index.d.ts +20 -0
  326. package/dist/form/useClearRestoreValue.d.ts +13 -0
  327. package/dist/form/validation.d.ts +21 -0
  328. package/dist/hooks/index.d.ts +15 -0
  329. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +5 -0
  330. package/dist/hooks/navigation/contexts/NavigationStateContext.d.ts +4 -0
  331. package/dist/hooks/navigation/contexts/UrlContext.d.ts +4 -0
  332. package/dist/hooks/navigation/contexts/index.d.ts +3 -0
  333. package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +7 -0
  334. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +34 -0
  335. package/dist/hooks/navigation/useBuildUrlController.d.ts +7 -0
  336. package/dist/hooks/navigation/useNavigationRegistry.d.ts +11 -0
  337. package/dist/hooks/navigation/useNavigationResolution.d.ts +7 -0
  338. package/dist/hooks/navigation/useNavigationURLs.d.ts +11 -0
  339. package/dist/hooks/navigation/useResolvedCollections.d.ts +28 -0
  340. package/dist/hooks/navigation/useResolvedViews.d.ts +29 -0
  341. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +27 -0
  342. package/dist/hooks/navigation/utils.d.ts +12 -0
  343. package/dist/hooks/useBreadcrumbsController.d.ts +42 -0
  344. package/dist/hooks/useBuildSideDialogsController.d.ts +2 -0
  345. package/dist/hooks/useBuildSideEntityController.d.ts +6 -0
  346. package/dist/hooks/useCMSContext.d.ts +27 -0
  347. package/dist/hooks/useEntityHistory.d.ts +30 -0
  348. package/dist/hooks/useEntitySelectionDialog.d.ts +18 -0
  349. package/dist/hooks/useResolvedNavigationFrom.d.ts +73 -0
  350. package/dist/hooks/useSideDialogsController.d.ts +19 -0
  351. package/dist/hooks/useSideEntityController.d.ts +11 -0
  352. package/dist/index-CBhrgpR7.js +12 -0
  353. package/dist/index-CBhrgpR7.js.map +1 -0
  354. package/dist/index-CHxgwt6E.js +456 -0
  355. package/dist/index-CHxgwt6E.js.map +1 -0
  356. package/dist/index-Dey5WJpO.js +8 -0
  357. package/dist/index-Dey5WJpO.js.map +1 -0
  358. package/dist/index.d.ts +12 -0
  359. package/dist/index.js +799 -0
  360. package/dist/index.js.map +1 -0
  361. package/dist/markdown-z2Ir7Cgo.js +618 -0
  362. package/dist/markdown-z2Ir7Cgo.js.map +1 -0
  363. package/dist/preview/PropertyPreview.d.ts +7 -0
  364. package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
  365. package/dist/preview/components/BooleanPreview.d.ts +11 -0
  366. package/dist/preview/components/DatePreview.d.ts +17 -0
  367. package/dist/preview/components/EmptyValue.d.ts +6 -0
  368. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  369. package/dist/preview/components/ImagePreview.d.ts +16 -0
  370. package/dist/preview/components/ReferencePreview.d.ts +17 -0
  371. package/dist/preview/components/RelationPreview.d.ts +17 -0
  372. package/dist/preview/components/StorageThumbnail.d.ts +15 -0
  373. package/dist/preview/components/UrlComponentPreview.d.ts +14 -0
  374. package/dist/preview/components/UserPreview.d.ts +9 -0
  375. package/dist/preview/index.d.ts +23 -0
  376. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +6 -0
  377. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +6 -0
  378. package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +6 -0
  379. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +6 -0
  380. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +6 -0
  381. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +6 -0
  382. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +6 -0
  383. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +6 -0
  384. package/dist/preview/property_previews/MapPropertyPreview.d.ts +9 -0
  385. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +7 -0
  386. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  387. package/dist/preview/property_previews/StringPropertyPreview.d.ts +7 -0
  388. package/dist/preview/util.d.ts +7 -0
  389. package/dist/routes/CustomViewRoute.d.ts +4 -0
  390. package/dist/routes/RebaseRoute.d.ts +1 -0
  391. package/dist/routes/index.d.ts +2 -0
  392. package/dist/types/components/EntityFormActionsProps.d.ts +19 -0
  393. package/dist/types/components/EntityFormProps.d.ts +48 -0
  394. package/dist/types/components/PropertyPreviewProps.d.ts +47 -0
  395. package/dist/types/components/formex.d.ts +40 -0
  396. package/dist/types/components/index.d.ts +3 -0
  397. package/dist/types/fields.d.ts +221 -0
  398. package/dist/types/index.d.ts +2 -0
  399. package/dist/useEntityHistory-Dcj4zhGj.js +121 -0
  400. package/dist/useEntityHistory-Dcj4zhGj.js.map +1 -0
  401. package/dist/util/entity_actions.d.ts +2 -0
  402. package/dist/util/index.d.ts +5 -0
  403. package/dist/util/navigation_utils.d.ts +17 -0
  404. package/dist/util/previews.d.ts +4 -0
  405. package/dist/util/property_utils.d.ts +25 -0
  406. package/dist/util/resolutions.d.ts +9 -0
  407. package/dist/util-BQ82ySL3.js +27720 -0
  408. package/dist/util-BQ82ySL3.js.map +1 -0
  409. package/package.json +171 -0
  410. package/src/collection_editor/CollectionEditorDialogsContext.tsx +25 -0
  411. package/src/collection_editor/ConfigControllerProvider.tsx +407 -0
  412. package/src/collection_editor/_cms_internals.ts +41 -0
  413. package/src/collection_editor/api/generateCollectionApi.ts +125 -0
  414. package/src/collection_editor/api/index.ts +1 -0
  415. package/src/collection_editor/index.ts +63 -0
  416. package/src/collection_editor/pgColumnToProperty.ts +273 -0
  417. package/src/collection_editor/types/collection_editor_controller.tsx +64 -0
  418. package/src/collection_editor/types/collection_inference.ts +17 -0
  419. package/src/collection_editor/types/config_controller.tsx +109 -0
  420. package/src/collection_editor/types/config_permissions.ts +20 -0
  421. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +186 -0
  422. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +50 -0
  423. package/src/collection_editor/ui/EditorCollectionAction.tsx +58 -0
  424. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +93 -0
  425. package/src/collection_editor/ui/EditorEntityAction.tsx +54 -0
  426. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +120 -0
  427. package/src/collection_editor/ui/KanbanSetupAction.tsx +40 -0
  428. package/src/collection_editor/ui/MissingReferenceWidget.tsx +33 -0
  429. package/src/collection_editor/ui/NewCollectionButton.tsx +27 -0
  430. package/src/collection_editor/ui/NewCollectionCard.tsx +53 -0
  431. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +53 -0
  432. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +246 -0
  433. package/src/collection_editor/ui/collection_editor/AIModifiedPathsContext.tsx +90 -0
  434. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +417 -0
  435. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +977 -0
  436. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +286 -0
  437. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +164 -0
  438. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +589 -0
  439. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +332 -0
  440. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +242 -0
  441. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +101 -0
  442. package/src/collection_editor/ui/collection_editor/CollectionYupValidation.tsx +9 -0
  443. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +133 -0
  444. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +302 -0
  445. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +151 -0
  446. package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +40 -0
  447. package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +39 -0
  448. package/src/collection_editor/ui/collection_editor/EnumForm.tsx +358 -0
  449. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +252 -0
  450. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +142 -0
  451. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +194 -0
  452. package/src/collection_editor/ui/collection_editor/LayoutModeSwitch.tsx +41 -0
  453. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +777 -0
  454. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +155 -0
  455. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +350 -0
  456. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +241 -0
  457. package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +39 -0
  458. package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +47 -0
  459. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +67 -0
  460. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +295 -0
  461. package/src/collection_editor/ui/collection_editor/import/clean_import_data.ts +57 -0
  462. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +147 -0
  463. package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +41 -0
  464. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +113 -0
  465. package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +250 -0
  466. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +125 -0
  467. package/src/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.tsx +20 -0
  468. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +153 -0
  469. package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +210 -0
  470. package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +117 -0
  471. package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +163 -0
  472. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +346 -0
  473. package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +106 -0
  474. package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +360 -0
  475. package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +148 -0
  476. package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +90 -0
  477. package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +47 -0
  478. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +915 -0
  479. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.tsx +29 -0
  480. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +614 -0
  481. package/src/collection_editor/ui/collection_editor/properties/conditions/index.ts +6 -0
  482. package/src/collection_editor/ui/collection_editor/properties/conditions/property_paths.ts +93 -0
  483. package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +52 -0
  484. package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +63 -0
  485. package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +117 -0
  486. package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +154 -0
  487. package/src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.tsx +29 -0
  488. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +112 -0
  489. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +183 -0
  490. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +88 -0
  491. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +42 -0
  492. package/src/collection_editor/ui/collection_editor/util.ts +28 -0
  493. package/src/collection_editor/ui/collection_editor/utils/strings.ts +1 -0
  494. package/src/collection_editor/ui/collection_editor/utils/supported_fields.tsx +34 -0
  495. package/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts +281 -0
  496. package/src/collection_editor/useCollectionEditorController.tsx +9 -0
  497. package/src/collection_editor/useCollectionsConfigController.tsx +9 -0
  498. package/src/collection_editor/useLocalCollectionsConfigController.tsx +120 -0
  499. package/src/collection_editor/validateCollectionJson.ts +379 -0
  500. package/src/collection_editor_ui.ts +15 -0
  501. package/src/components/AdminModeSyncer.tsx +56 -0
  502. package/src/components/ArrayContainer.tsx +538 -0
  503. package/src/components/ClearFilterSortButton.tsx +48 -0
  504. package/src/components/CollectionEditorDialogs.tsx +68 -0
  505. package/src/components/DefaultAppBar.tsx +242 -0
  506. package/src/components/DefaultDrawer.tsx +347 -0
  507. package/src/components/DeleteEntityDialog.tsx +182 -0
  508. package/src/components/DrawerNavigationGroup.tsx +130 -0
  509. package/src/components/DrawerNavigationItem.tsx +65 -0
  510. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +233 -0
  511. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +385 -0
  512. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +171 -0
  513. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +340 -0
  514. package/src/components/EntityCollectionTable/column_utils.tsx +75 -0
  515. package/src/components/EntityCollectionTable/fields/TableMultipleRelationField.tsx +130 -0
  516. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +172 -0
  517. package/src/components/EntityCollectionTable/fields/TableRelationField.tsx +181 -0
  518. package/src/components/EntityCollectionTable/fields/TableRelationSelectorField.tsx +42 -0
  519. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +322 -0
  520. package/src/components/EntityCollectionTable/fields/VirtualTableDateField.tsx +39 -0
  521. package/src/components/EntityCollectionTable/fields/VirtualTableInput.tsx +90 -0
  522. package/src/components/EntityCollectionTable/fields/VirtualTableNumberInput.tsx +80 -0
  523. package/src/components/EntityCollectionTable/fields/VirtualTableSelect.tsx +133 -0
  524. package/src/components/EntityCollectionTable/fields/VirtualTableSwitch.tsx +32 -0
  525. package/src/components/EntityCollectionTable/fields/VirtualTableUserSelect.tsx +41 -0
  526. package/src/components/EntityCollectionTable/index.tsx +14 -0
  527. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +102 -0
  528. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +310 -0
  529. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +81 -0
  530. package/src/components/EntityCollectionTable/internal/common.tsx +73 -0
  531. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +418 -0
  532. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +96 -0
  533. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +22 -0
  534. package/src/components/EntityCollectionTable/table_bindings.tsx +346 -0
  535. package/src/components/EntityCollectionView/Board.tsx +474 -0
  536. package/src/components/EntityCollectionView/BoardColumn.tsx +158 -0
  537. package/src/components/EntityCollectionView/BoardColumnTitle.tsx +45 -0
  538. package/src/components/EntityCollectionView/BoardSortableList.tsx +177 -0
  539. package/src/components/EntityCollectionView/EntityBoardCard.tsx +264 -0
  540. package/src/components/EntityCollectionView/EntityCard.tsx +224 -0
  541. package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +614 -0
  542. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +267 -0
  543. package/src/components/EntityCollectionView/EntityCollectionListView.tsx +816 -0
  544. package/src/components/EntityCollectionView/EntityCollectionView.tsx +1277 -0
  545. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +179 -0
  546. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +148 -0
  547. package/src/components/EntityCollectionView/FiltersDialog.tsx +242 -0
  548. package/src/components/EntityCollectionView/SplitListView.tsx +314 -0
  549. package/src/components/EntityCollectionView/ViewModeToggle.tsx +199 -0
  550. package/src/components/EntityCollectionView/board_types.ts +113 -0
  551. package/src/components/EntityCollectionView/hooks/useCollectionInlineEditor.ts +79 -0
  552. package/src/components/EntityCollectionView/hooks/useKanbanDragAndDrop.ts +140 -0
  553. package/src/components/EntityCollectionView/useBoardDataController.tsx +675 -0
  554. package/src/components/EntityCollectionView/useEntityPreviewSlots.ts +442 -0
  555. package/src/components/EntityCollectionView/useSelectionController.tsx +39 -0
  556. package/src/components/EntityCollectionView/utils.ts +19 -0
  557. package/src/components/EntityEditView.tsx +632 -0
  558. package/src/components/EntityEditViewFormActions.tsx +352 -0
  559. package/src/components/EntityJsonPreview.tsx +66 -0
  560. package/src/components/EntityPreview.tsx +372 -0
  561. package/src/components/EntitySidePanel.tsx +160 -0
  562. package/src/components/EntityView.tsx +69 -0
  563. package/src/components/FieldCaption.tsx +14 -0
  564. package/src/components/HomePage/ContentHomePage.tsx +567 -0
  565. package/src/components/HomePage/FavouritesView.tsx +61 -0
  566. package/src/components/HomePage/HomePageDnD.tsx +703 -0
  567. package/src/components/HomePage/NavigationCard.tsx +88 -0
  568. package/src/components/HomePage/NavigationCardBinding.tsx +108 -0
  569. package/src/components/HomePage/NavigationGroup.tsx +157 -0
  570. package/src/components/HomePage/RenameGroupDialog.tsx +123 -0
  571. package/src/components/HomePage/SmallNavigationCard.tsx +46 -0
  572. package/src/components/HomePage/index.tsx +5 -0
  573. package/src/components/PropertyCollectionView.tsx +335 -0
  574. package/src/components/PropertyConfigBadge.tsx +27 -0
  575. package/src/components/PropertyIdCopyTooltip.tsx +48 -0
  576. package/src/components/RebaseAuthGate.tsx +42 -0
  577. package/src/components/RebaseCMS.tsx +27 -0
  578. package/src/components/RebaseLayout.tsx +73 -0
  579. package/src/components/RebaseNavigation.tsx +230 -0
  580. package/src/components/RebaseRouteDefs.tsx +130 -0
  581. package/src/components/RebaseShell.tsx +70 -0
  582. package/src/components/ReferenceTable/EntitySelectionTable.tsx +363 -0
  583. package/src/components/ReferenceWidget.tsx +155 -0
  584. package/src/components/RelationSelector.tsx +672 -0
  585. package/src/components/SearchIconsView.tsx +96 -0
  586. package/src/components/SelectableTable/SelectableTable.tsx +356 -0
  587. package/src/components/SelectableTable/SelectableTableContext.tsx +6 -0
  588. package/src/components/SelectableTable/SelectionStore.ts +67 -0
  589. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +51 -0
  590. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +125 -0
  591. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +208 -0
  592. package/src/components/SelectableTable/filters/RelationFilterField.tsx +138 -0
  593. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +221 -0
  594. package/src/components/SideDialogs.tsx +208 -0
  595. package/src/components/SideEntityProvider.tsx +76 -0
  596. package/src/components/UserSelector.tsx +339 -0
  597. package/src/components/admin/RoleChip.tsx +23 -0
  598. package/src/components/admin/RolesView.tsx +419 -0
  599. package/src/components/admin/UsersView.tsx +782 -0
  600. package/src/components/admin/index.ts +3 -0
  601. package/src/components/app/AppBar.tsx +17 -0
  602. package/src/components/app/Drawer.tsx +30 -0
  603. package/src/components/app/Scaffold.tsx +242 -0
  604. package/src/components/app/index.ts +4 -0
  605. package/src/components/app/useApp.tsx +36 -0
  606. package/src/components/common/default_entity_actions.tsx +156 -0
  607. package/src/components/common/index.ts +1 -0
  608. package/src/components/field_configs.tsx +423 -0
  609. package/src/components/history/EntityHistoryEntry.tsx +182 -0
  610. package/src/components/history/EntityHistoryView.tsx +191 -0
  611. package/src/components/history/LastEditedByFormAction.tsx +24 -0
  612. package/src/components/history/LastEditedByIndicator.tsx +98 -0
  613. package/src/components/history/UserChip.tsx +15 -0
  614. package/src/components/history/index.tsx +5 -0
  615. package/src/components/index.ts +55 -0
  616. package/src/contexts/BreacrumbsContext.tsx +53 -0
  617. package/src/contexts/SideDialogsControllerContext.tsx +5 -0
  618. package/src/contexts/SideEntityControllerContext.tsx +5 -0
  619. package/src/data_export/export/BasicExportAction.tsx +143 -0
  620. package/src/data_export/export/ExportCollectionAction.tsx +266 -0
  621. package/src/data_export/export/export.ts +248 -0
  622. package/src/data_export/export/index.ts +3 -0
  623. package/src/data_export/index.ts +1 -0
  624. package/src/data_import/components/DataNewPropertiesMapping.tsx +231 -0
  625. package/src/data_import/components/ImportFileUpload.tsx +43 -0
  626. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +60 -0
  627. package/src/data_import/components/ImportSaveInProgress.tsx +121 -0
  628. package/src/data_import/components/index.ts +4 -0
  629. package/src/data_import/hooks/index.ts +1 -0
  630. package/src/data_import/hooks/useImportConfig.tsx +34 -0
  631. package/src/data_import/import/ImportCollectionAction.tsx +436 -0
  632. package/src/data_import/import/index.ts +1 -0
  633. package/src/data_import/index.ts +5 -0
  634. package/src/data_import/types/column_mapping.ts +32 -0
  635. package/src/data_import/types/index.ts +1 -0
  636. package/src/data_import/utils/data.ts +148 -0
  637. package/src/data_import/utils/file_headers.ts +90 -0
  638. package/src/data_import/utils/file_to_json.ts +106 -0
  639. package/src/data_import/utils/get_import_inference_type.ts +27 -0
  640. package/src/data_import/utils/get_properties_mapping.ts +67 -0
  641. package/src/data_import/utils/index.ts +3 -0
  642. package/src/editor/components/SlashCommandMenu.tsx +517 -0
  643. package/src/editor/components/editor-bubble-item.tsx +32 -0
  644. package/src/editor/components/editor-bubble.tsx +120 -0
  645. package/src/editor/components/image-bubble.tsx +165 -0
  646. package/src/editor/components/index.ts +14 -0
  647. package/src/editor/components/table-bubble.tsx +171 -0
  648. package/src/editor/editor.tsx +510 -0
  649. package/src/editor/extensions/HighlightDecorationExtension.ts +114 -0
  650. package/src/editor/extensions/Image/index.ts +133 -0
  651. package/src/editor/extensions/Image.ts +159 -0
  652. package/src/editor/extensions/TextLoadingDecorationExtension.tsx +107 -0
  653. package/src/editor/extensions/clipboard.ts +72 -0
  654. package/src/editor/extensions/custom-keymap.ts +25 -0
  655. package/src/editor/extensions/drag-and-drop.tsx +508 -0
  656. package/src/editor/hooks/useProseMirror.ts +126 -0
  657. package/src/editor/hooks/useProseMirrorContext.ts +15 -0
  658. package/src/editor/index.ts +2 -0
  659. package/src/editor/markdown.ts +205 -0
  660. package/src/editor/nodeViews/ImageComponent.tsx +20 -0
  661. package/src/editor/nodeViews/ReactNodeView.tsx +89 -0
  662. package/src/editor/nodeViews/TaskItemComponent.tsx +29 -0
  663. package/src/editor/nodeViews/index.ts +35 -0
  664. package/src/editor/plugins/index.ts +58 -0
  665. package/src/editor/plugins/inputrules.ts +82 -0
  666. package/src/editor/plugins/placeholderPlugin.ts +55 -0
  667. package/src/editor/plugins/slashCommandPlugin.ts +65 -0
  668. package/src/editor/schema.ts +263 -0
  669. package/src/editor/selectors/ai-selector.tsx +111 -0
  670. package/src/editor/selectors/color-selector.tsx +200 -0
  671. package/src/editor/selectors/link-selector.tsx +119 -0
  672. package/src/editor/selectors/node-selector.tsx +145 -0
  673. package/src/editor/selectors/text-buttons.tsx +80 -0
  674. package/src/editor/types.ts +6 -0
  675. package/src/editor/useProseMirror.ts +125 -0
  676. package/src/editor/utils/prosemirror-utils.ts +113 -0
  677. package/src/editor/utils/remove_classes.ts +17 -0
  678. package/src/editor/utils/useDebouncedCallback.ts +25 -0
  679. package/src/form/EntityForm.tsx +855 -0
  680. package/src/form/EntityFormActions.tsx +214 -0
  681. package/src/form/PropertyFieldBinding.tsx +344 -0
  682. package/src/form/components/ErrorFocus.tsx +44 -0
  683. package/src/form/components/FieldHelperText.tsx +85 -0
  684. package/src/form/components/FormEntry.tsx +22 -0
  685. package/src/form/components/FormLayout.tsx +16 -0
  686. package/src/form/components/LabelWithIcon.tsx +43 -0
  687. package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
  688. package/src/form/components/LocalChangesMenu.tsx +132 -0
  689. package/src/form/components/StorageItemPreview.tsx +82 -0
  690. package/src/form/components/StorageUploadProgress.tsx +105 -0
  691. package/src/form/components/index.tsx +5 -0
  692. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +107 -0
  693. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +171 -0
  694. package/src/form/field_bindings/BlockFieldBinding.tsx +280 -0
  695. package/src/form/field_bindings/DateTimeFieldBinding.tsx +72 -0
  696. package/src/form/field_bindings/KeyValueFieldBinding.tsx +554 -0
  697. package/src/form/field_bindings/MapFieldBinding.tsx +162 -0
  698. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +232 -0
  699. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +123 -0
  700. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +157 -0
  701. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +66 -0
  702. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +141 -0
  703. package/src/form/field_bindings/ReferenceFieldBinding.tsx +141 -0
  704. package/src/form/field_bindings/RelationFieldBinding.tsx +184 -0
  705. package/src/form/field_bindings/RepeatFieldBinding.tsx +139 -0
  706. package/src/form/field_bindings/SelectFieldBinding.tsx +110 -0
  707. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +493 -0
  708. package/src/form/field_bindings/SwitchFieldBinding.tsx +65 -0
  709. package/src/form/field_bindings/TextFieldBinding.tsx +156 -0
  710. package/src/form/field_bindings/UserSelectFieldBinding.tsx +66 -0
  711. package/src/form/index.tsx +27 -0
  712. package/src/form/useClearRestoreValue.tsx +36 -0
  713. package/src/form/validation.ts +519 -0
  714. package/src/hooks/index.ts +15 -0
  715. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +20 -0
  716. package/src/hooks/navigation/contexts/NavigationStateContext.tsx +16 -0
  717. package/src/hooks/navigation/contexts/UrlContext.tsx +25 -0
  718. package/src/hooks/navigation/contexts/index.ts +14 -0
  719. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +171 -0
  720. package/src/hooks/navigation/useBuildNavigationStateController.tsx +133 -0
  721. package/src/hooks/navigation/useBuildUrlController.tsx +66 -0
  722. package/src/hooks/navigation/useNavigationRegistry.ts +153 -0
  723. package/src/hooks/navigation/useNavigationResolution.ts +91 -0
  724. package/src/hooks/navigation/useNavigationURLs.ts +56 -0
  725. package/src/hooks/navigation/useResolvedCollections.ts +133 -0
  726. package/src/hooks/navigation/useResolvedViews.tsx +216 -0
  727. package/src/hooks/navigation/useTopLevelNavigation.ts +257 -0
  728. package/src/hooks/navigation/utils.ts +176 -0
  729. package/src/hooks/useBreadcrumbsController.tsx +49 -0
  730. package/src/hooks/useBuildSideDialogsController.tsx +145 -0
  731. package/src/hooks/useBuildSideEntityController.tsx +310 -0
  732. package/src/hooks/useCMSContext.tsx +79 -0
  733. package/src/hooks/useEntityHistory.ts +167 -0
  734. package/src/hooks/useEntitySelectionDialog.tsx +57 -0
  735. package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
  736. package/src/hooks/useSideDialogsController.tsx +25 -0
  737. package/src/hooks/useSideEntityController.tsx +13 -0
  738. package/src/index.ts +95 -0
  739. package/src/preview/PropertyPreview.tsx +292 -0
  740. package/src/preview/components/ArrayEnumPreview.tsx +39 -0
  741. package/src/preview/components/BooleanPreview.tsx +25 -0
  742. package/src/preview/components/DatePreview.tsx +93 -0
  743. package/src/preview/components/EmptyValue.tsx +10 -0
  744. package/src/preview/components/EnumValuesChip.tsx +39 -0
  745. package/src/preview/components/ImagePreview.tsx +143 -0
  746. package/src/preview/components/ReferencePreview.tsx +166 -0
  747. package/src/preview/components/RelationPreview.tsx +160 -0
  748. package/src/preview/components/StorageThumbnail.tsx +90 -0
  749. package/src/preview/components/UrlComponentPreview.tsx +115 -0
  750. package/src/preview/components/UserPreview.tsx +30 -0
  751. package/src/preview/index.ts +25 -0
  752. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +73 -0
  753. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +44 -0
  754. package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +50 -0
  755. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +49 -0
  756. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +44 -0
  757. package/src/preview/property_previews/ArrayOneOfPreview.tsx +72 -0
  758. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +35 -0
  759. package/src/preview/property_previews/ArrayPropertyPreview.tsx +70 -0
  760. package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
  761. package/src/preview/property_previews/NumberPropertyPreview.tsx +29 -0
  762. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +277 -0
  763. package/src/preview/property_previews/StringPropertyPreview.tsx +59 -0
  764. package/src/preview/util.ts +30 -0
  765. package/src/routes/CustomViewRoute.tsx +24 -0
  766. package/src/routes/RebaseRoute.tsx +344 -0
  767. package/src/routes/index.ts +2 -0
  768. package/src/types/components/EntityFormActionsProps.tsx +20 -0
  769. package/src/types/components/EntityFormProps.tsx +54 -0
  770. package/src/types/components/PropertyPreviewProps.tsx +59 -0
  771. package/src/types/components/formex.tsx +46 -0
  772. package/src/types/components/index.ts +3 -0
  773. package/src/types/fields.tsx +299 -0
  774. package/src/types/index.ts +4 -0
  775. package/src/util/entity_actions.ts +28 -0
  776. package/src/util/index.ts +5 -0
  777. package/src/util/navigation_utils.ts +69 -0
  778. package/src/util/previews.ts +50 -0
  779. package/src/util/property_utils.tsx +215 -0
  780. package/src/util/resolutions.ts +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyEditView-DS67DxoT.js","sources":["../src/collection_editor/ui/collection_editor/EnumForm.tsx","../src/collection_editor/ui/collection_editor/SwitchControl.tsx","../src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx","../src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx","../src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx","../src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.tsx","../src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx","../src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx","../src/collection_editor/ui/collection_editor/AIModifiedPathsContext.tsx","../src/collection_editor/ui/collection_editor/PropertyTree.tsx","../src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx","../src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx","../src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx","../src/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.tsx","../src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx","../src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts","../src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx","../src/collection_editor/ui/collection_editor/utils/supported_fields.tsx","../src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx","../src/collection_editor/ui/collection_editor/PropertyEditView.tsx"],"sourcesContent":["\nimport { FieldCaption } from \"../../_cms_internals\";\nimport React, { useEffect } from \"react\";\nimport { deepEqual as equal } from \"fast-equals\"\n\n;\nimport { EnumValueConfig, EnumValues } from \"@rebasepro/types\";\nimport { ArrayContainer, ArrayEntryParams } from \"../../_cms_internals\";\nimport { Badge, Button, CircularProgress, DebouncedTextField, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Paper, Typography , iconSize } from \"@rebasepro/ui\";\nimport { RefreshCcwIcon, ListIcon, SettingsIcon } from \"lucide-react\";\nimport { extractEnumFromValues } from \"@rebasepro/schema-inference\";\nimport { Field, Formex, getIn, useCreateFormex, useFormex } from \"@rebasepro/formex\";\n\ntype EnumFormProps = {\n enumValues: EnumValueConfig[];\n onValuesChanged?: (enumValues: EnumValueConfig[]) => void;\n onError?: (error: boolean) => void;\n updateIds: boolean;\n disabled: boolean;\n allowDataInference?: boolean;\n getData?: () => Promise<string[]>;\n};\n\nexport function EnumForm({\n enumValues,\n onValuesChanged,\n onError,\n updateIds,\n disabled,\n allowDataInference,\n getData\n}: EnumFormProps) {\n\n const formex = useCreateFormex<{\n enum: EnumValueConfig[]\n }>({\n initialValues: { enum: enumValues },\n validateOnChange: true,\n validation: (values) => {\n interface EnumFieldError { label?: string; id?: string; }\n const enumErrors: EnumFieldError[] = [];\n let hasAnyError = false;\n if (values.enum) {\n values.enum.forEach((enumValue, index) => {\n const fieldError: EnumFieldError = {};\n if (!enumValue?.label) {\n fieldError.label = \"You must specify a label for this enum value entry\";\n hasAnyError = true;\n }\n if (!enumValue?.id) {\n fieldError.id = \"You must specify an ID for this enum value entry\";\n hasAnyError = true;\n }\n enumErrors[index] = fieldError;\n });\n }\n const errors = hasAnyError ? { enum: enumErrors } : {};\n onError?.(hasAnyError);\n return errors as Record<string, string>;\n }\n });\n\n const {\n values,\n errors\n } = formex;\n\n useEffect(() => {\n if (onValuesChanged) {\n onValuesChanged(values.enum);\n }\n }, [values.enum]);\n\n return <Formex value={formex as ReturnType<typeof useCreateFormex>}>\n <EnumFormFields enumValuesPath={\"enum\"}\n values={values}\n errors={errors}\n shouldUpdateId={updateIds}\n disabled={disabled}\n allowDataInference={allowDataInference}\n getData={getData}/>\n </Formex>\n\n}\n\ntype EnumFormFieldsProps = {\n values: {\n enum: EnumValueConfig[]\n };\n errors: { enum?: Array<{ label?: string; id?: string }> };\n enumValuesPath: string;\n shouldUpdateId: boolean;\n disabled: boolean;\n getData?: () => Promise<string[]>;\n allowDataInference?: boolean;\n};\n\n// const EnumFormFields = React.memo(\nfunction EnumFormFields({\n values,\n errors,\n disabled,\n enumValuesPath,\n shouldUpdateId,\n allowDataInference,\n getData\n}: EnumFormFieldsProps) {\n\n const {\n setFieldValue\n } = useFormex();\n\n const [lastInternalIdAdded, setLastInternalIdAdded] = React.useState<number | undefined>();\n const [editDialogIndex, setEditDialogIndex] = React.useState<number | undefined>();\n const [inferring, setInferring] = React.useState(false);\n\n const inferredValuesRef = React.useRef(new Set());\n const inferredValues = inferredValuesRef.current;\n\n const buildEntry = ({\n index,\n internalId\n }: ArrayEntryParams) => {\n const justAdded = lastInternalIdAdded === internalId;\n const entryError = errors?.enum?.[index];\n return <EnumEntry index={index}\n disabled={disabled}\n enumValuesPath={enumValuesPath}\n autoFocus={justAdded}\n entryError={entryError}\n shouldUpdateId={shouldUpdateId || justAdded}\n onDialogOpen={() => setEditDialogIndex(index)}\n inferredEntry={inferredValues.has(values.enum[index]?.id as string)}\n key={`${internalId}`}/>;\n };\n\n const inferValues = async () => {\n if (!getData)\n return;\n setInferring(true);\n getData?.().then((data) => {\n if (!data)\n return;\n\n const flatData = data.flat();\n\n const fieldData = Array.from(new Set(flatData));\n\n const currentEnumValues = values.enum;\n const foundEnumValues = extractEnumFromValues(fieldData);\n\n // add only new enum values\n const newEnumValues = foundEnumValues.filter((enumValue) => {\n if (!enumValue) return false;\n return !currentEnumValues?.some((v: EnumValueConfig) => v.id === enumValue.id);\n });\n\n newEnumValues.forEach((enumValue) => {\n if (enumValue) inferredValues.add(enumValue.id);\n });\n setFieldValue(enumValuesPath, [...newEnumValues, ...currentEnumValues], true);\n }).catch(e => {\n console.error(e);\n })\n .finally(() => setInferring(false));\n }\n\n return (\n <div className={\"col-span-12\"}>\n <div className=\"ml-3.5 flex flex-row items-center\">\n <ListIcon/>\n <Typography variant={\"subtitle2\"}\n className=\"ml-2 grow\">\n Values\n </Typography>\n {allowDataInference &&\n <Button loading={inferring}\n disabled={disabled || inferring}\n variant={\"text\"}\n size={\"small\"}\n onClick={inferValues}>\n {inferring ? <CircularProgress size={\"smallest\"}/> : <RefreshCcwIcon/>}\n Infer values from data\n </Button>}\n </div>\n\n <Paper className=\"p-4 m-1\">\n\n <ArrayContainer droppableId={enumValuesPath}\n addLabel={\"Add enum value\"}\n value={values.enum}\n disabled={disabled}\n size={\"small\"}\n buildEntry={buildEntry}\n onInternalIdAdded={setLastInternalIdAdded}\n canAddElements={true}\n onValueChange={(value: EnumValueConfig[]) => setFieldValue(enumValuesPath, value)}\n newDefaultEntry={{\n id: \"\",\n label: \"\"\n }}/>\n\n <EnumEntryDialog index={editDialogIndex}\n open={editDialogIndex !== undefined}\n enumValuesPath={enumValuesPath}\n onClose={() => setEditDialogIndex(undefined)}/>\n </Paper>\n </div>\n );\n}\n\ntype EnumEntryProps = {\n index: number,\n enumValuesPath: string,\n shouldUpdateId: boolean,\n autoFocus: boolean,\n onDialogOpen: () => void;\n disabled: boolean;\n inferredEntry?: boolean;\n entryError?: { label?: string, id?: string }\n};\n\nconst EnumEntry = React.memo(\n function EnumEntryInternal({\n index,\n shouldUpdateId: updateId,\n enumValuesPath,\n autoFocus,\n onDialogOpen,\n disabled,\n inferredEntry,\n entryError\n }: EnumEntryProps) {\n\n const {\n values,\n handleChange,\n errors,\n setFieldValue,\n touched\n } = useFormex<EnumValues>();\n\n const shouldUpdateIdRef = React.useRef(!getIn(values, `${enumValuesPath}[${index}].id`));\n const shouldUpdateId = updateId || shouldUpdateIdRef.current;\n\n const idValue = getIn(values, `${enumValuesPath}[${index}].id`);\n const labelValue = getIn(values, `${enumValuesPath}[${index}].label`);\n\n const currentLabelRef = React.useRef(labelValue);\n\n React.useEffect(() => {\n if ((currentLabelRef.current === idValue || !idValue) && shouldUpdateId) {\n setFieldValue(`${enumValuesPath}[${index}].id`, labelValue);\n }\n currentLabelRef.current = labelValue;\n }, [labelValue]);\n\n return (\n <>\n <div className={\"flex w-full align-center justify-center\"}>\n <Field name={`${enumValuesPath}[${index}].label`}\n as={DebouncedTextField}\n className={\"grow\"}\n required\n disabled={disabled}\n size=\"small\"\n autoFocus={autoFocus}\n autoComplete=\"off\"\n endAdornment={inferredEntry && <RefreshCcwIcon size={iconSize.small}/>}\n error={Boolean(entryError?.label)}/>\n\n {!disabled &&\n <Badge color={\"error\"} invisible={!entryError?.id}>\n <IconButton\n size=\"small\"\n aria-label=\"edit\"\n className={\"m-1\"}\n onClick={() => onDialogOpen()}>\n <SettingsIcon size={iconSize.small}/>\n </IconButton>\n </Badge>}\n\n </div>\n\n {entryError?.label && <Typography variant={\"caption\"}\n className={\"ml-3.5 text-red-500 dark:text-red-500\"}>\n {entryError?.label}\n </Typography>}\n\n {entryError?.id && <Typography variant={\"caption\"}\n className={\"ml-3.5 text-red-500 dark:text-red-500\"}>\n {entryError?.id}\n </Typography>}\n\n </>);\n },\n function areEqual(prevProps: EnumEntryProps, nextProps: EnumEntryProps) {\n return prevProps.index === nextProps.index &&\n prevProps.enumValuesPath === nextProps.enumValuesPath &&\n prevProps.shouldUpdateId === nextProps.shouldUpdateId &&\n prevProps.inferredEntry === nextProps.inferredEntry &&\n equal(prevProps.entryError, nextProps.entryError) &&\n prevProps.autoFocus === nextProps.autoFocus;\n }\n);\n\nfunction EnumEntryDialog({\n index,\n open,\n onClose,\n enumValuesPath\n}: {\n index?: number;\n open: boolean;\n enumValuesPath: string;\n onClose: () => void;\n}) {\n\n const {\n errors\n } = useFormex<EnumValues>();\n\n const idError = index !== undefined ? getIn(errors, `${enumValuesPath}[${index}].id`) : undefined;\n return <Dialog\n maxWidth=\"md\"\n aria-labelledby=\"enum-edit-dialog\"\n open={open}\n onOpenChange={(open) => !open ? onClose() : undefined}\n >\n <DialogTitle hidden>Enum form dialog</DialogTitle>\n <DialogContent>\n {index !== undefined &&\n <div>\n <Field name={`${enumValuesPath}[${index}].id`}\n as={DebouncedTextField}\n required\n label={\"ID\"}\n size=\"small\"\n autoComplete=\"off\"\n error={Boolean(idError)}/>\n\n <FieldCaption error={Boolean(idError)}>\n {idError ?? \"Value saved in the data source\"}\n </FieldCaption>\n </div>}\n </DialogContent>\n\n <DialogActions>\n <Button\n autoFocus\n onClick={onClose}>\n Ok\n </Button>\n </DialogActions>\n\n </Dialog>\n}\n\n","import React from \"react\";\n\nimport { BooleanSwitchWithLabel, Tooltip } from \"@rebasepro/ui\";\nimport { FormexFieldProps } from \"@rebasepro/formex\";\n\nexport function SwitchControl({\n field,\n form,\n label,\n tooltip,\n disabled,\n size = \"small\",\n allowIndeterminate\n}: FormexFieldProps & {\n label: string,\n tooltip?: string,\n disabled?: boolean,\n size?: \"small\" | \"medium\",\n allowIndeterminate?: boolean\n}) {\n\n const formControlLabel = <BooleanSwitchWithLabel\n label={label}\n size={size}\n position={\"start\"}\n value={field.value}\n disabled={disabled}\n allowIndeterminate={allowIndeterminate}\n onValueChange={(checked: boolean | null) => form.setFieldValue(field.name, checked)}/>;\n\n if (tooltip)\n return (\n <Tooltip\n title={tooltip}>\n {formControlLabel}\n </Tooltip>\n );\n return formControlLabel;\n}\n","import React from \"react\";\n\nimport { Field, FormexFieldProps, getIn, useFormex } from \"@rebasepro/formex\";\nimport { DebouncedTextField } from \"@rebasepro/ui\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { SwitchControl } from \"../../SwitchControl\";\n\nexport function GeneralPropertyValidation({ disabled }: {\n required?: boolean;\n disabled: boolean;\n}) {\n\n const { values, handleChange } = useFormex();\n const { t } = useTranslation();\n\n const validationRequired = \"validation.required\";\n const validationRequiredMessage = \"validation.requiredMessage\";\n const validationUnique = \"validation.unique\";\n const validationUniqueInArray = \"validation.uniqueInArray\";\n\n return (\n <>\n <div className={\"col-span-6\"}>\n <Field name={validationRequired}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n disabled={disabled}\n label={t(\"required\")}\n tooltip={t(\"required_tooltip\")}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>\n\n <div className={\"col-span-6\"}>\n\n <Field name={validationUnique}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n disabled={disabled}\n label={t(\"unique\")}\n tooltip={t(\"unique_tooltip\")}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>\n\n {getIn(values, validationRequired) && <div className={\"col-span-12\"}>\n <DebouncedTextField\n disabled={disabled}\n value={getIn(values, validationRequiredMessage)}\n label={t(\"required_message\")}\n name={validationRequiredMessage}\n size=\"small\"\n onChange={handleChange}/>\n </div>}\n </>\n );\n}\n","import { FieldCaption } from \"../../../../_cms_internals\";\nimport React from \"react\";\n\nimport { Field, FormexFieldProps, getIn, useFormex } from \"@rebasepro/formex\";\n;\nimport { DebouncedTextField } from \"@rebasepro/ui\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { GeneralPropertyValidation } from \"./GeneralPropertyValidation\";\nimport { SwitchControl } from \"../../SwitchControl\";\nimport { serializeRegExp } from \"@rebasepro/utils\";\n\nexport function StringPropertyValidation({\n length,\n lowercase,\n matches,\n max,\n min,\n trim,\n uppercase,\n disabled,\n showErrors\n}: {\n length?: boolean;\n min?: boolean;\n max?: boolean;\n trim?: boolean;\n matches?: boolean;\n lowercase?: boolean;\n uppercase?: boolean;\n disabled: boolean;\n showErrors: boolean;\n}) {\n\n const {\n values,\n handleChange,\n errors\n } = useFormex();\n const { t } = useTranslation();\n\n const validationLength = \"validation.length\";\n const validationMin = \"validation.min\";\n const validationMax = \"validation.max\";\n const validationTrim = \"validation.trim\";\n const validationMatches = \"validation.matches\";\n const validationLowercase = \"validation.lowercase\";\n const validationUppercase = \"validation.uppercase\";\n\n const matchesError = getIn(errors, validationMatches);\n\n const matchesValue = getIn(values, validationMatches);\n const matchesStringValue = typeof matchesValue === \"string\" ? matchesValue : serializeRegExp(matchesValue);\n return (\n <div className={\"grid grid-cols-12 gap-2\"}>\n\n <GeneralPropertyValidation disabled={disabled}/>\n\n <div className={\"grid grid-cols-12 gap-2 col-span-12\"}>\n\n {lowercase && <div className={\"col-span-4\"}>\n <Field name={validationLowercase}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"lowercase\")}\n disabled={disabled}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>}\n\n {uppercase && <div className={\"col-span-4\"}>\n <Field name={validationUppercase}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"uppercase\")}\n disabled={disabled}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>}\n\n {trim && <div className={\"col-span-4\"}>\n <Field name={validationTrim}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"trim\")}\n disabled={disabled}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>}\n\n </div>\n\n <div className={\"grid grid-cols-12 gap-2 col-span-12\"}>\n {length && <div className={\"col-span-4\"}>\n <DebouncedTextField\n value={getIn(values, validationLength)}\n label={t(\"exact_length\")}\n name={validationLength}\n type=\"number\"\n size=\"small\"\n\n disabled={disabled}\n onChange={handleChange}/>\n </div>}\n\n {min && <div className={\"col-span-4\"}>\n <DebouncedTextField value={getIn(values, validationMin)}\n label={t(\"min_length\")}\n name={validationMin}\n type=\"number\"\n size=\"small\"\n\n disabled={disabled}\n onChange={handleChange}/>\n </div>}\n\n {max && <div className={\"col-span-4\"}>\n <DebouncedTextField value={getIn(values, validationMax)}\n label={t(\"max_length\")}\n name={validationMax}\n type=\"number\"\n size=\"small\"\n\n disabled={disabled}\n onChange={handleChange}/>\n </div>}\n\n </div>\n\n {matches && <div className={\"col-span-12\"}>\n <Field name={validationMatches}\n as={DebouncedTextField}\n label={t(\"matches_regex\")}\n size=\"small\"\n disabled={disabled}\n value={matchesStringValue}\n error={Boolean(matchesError)}/>\n <FieldCaption error={Boolean(matchesError)}>\n {matchesError ? t(\"not_valid_regexp\") : t(\"regex_helper\")}\n </FieldCaption>\n </div>}\n\n </div>\n );\n\n}\n","import React from \"react\";\n\nimport { getIn, useFormex } from \"@rebasepro/formex\";\nimport { DebouncedTextField } from \"@rebasepro/ui\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { GeneralPropertyValidation } from \"./GeneralPropertyValidation\";\n\nexport function ArrayPropertyValidation({\n max = true,\n min = true,\n disabled\n}: {\n min?: boolean;\n max?: boolean;\n disabled: boolean;\n}) {\n\n const {\n values,\n handleChange\n } = useFormex();\n const { t } = useTranslation();\n\n const validationMin = \"validation.min\";\n const validationMax = \"validation.max\";\n\n return (\n <div className={\"grid grid-cols-12 gap-2\"}>\n\n <GeneralPropertyValidation disabled={disabled}/>\n\n {min && <div className={\"col-span-6\"}>\n <DebouncedTextField value={getIn(values, validationMin)}\n disabled={disabled}\n label={t(\"min_length\")}\n name={validationMin}\n type=\"number\"\n size=\"small\"\n onChange={handleChange}/>\n </div>}\n {max && <div className={\"col-span-6\"}>\n <DebouncedTextField value={getIn(values, validationMax)}\n disabled={disabled}\n label={t(\"max_length\")}\n name={validationMax}\n type=\"number\"\n size=\"small\"\n onChange={handleChange}/>\n </div>}\n </div>\n );\n}\n","import { PropsWithChildren } from \"react\";\n\nimport { ExpandablePanel, Typography } from \"@rebasepro/ui\";\nimport { CheckSquareIcon } from \"lucide-react\";\n\nexport function ValidationPanel({\n children\n}: { children?: React.ReactNode }) {\n\n return (\n <ExpandablePanel\n initiallyExpanded={false}\n asField={true}\n innerClassName=\"p-4\"\n title={\n <div className=\"flex flex-row text-surface-500 text-text-secondary dark:text-text-secondary-dark\">\n <CheckSquareIcon/>\n <Typography variant={\"subtitle2\"}\n className=\"ml-4\">\n Validation\n </Typography>\n </div>\n }>\n\n {children}\n\n </ExpandablePanel>\n )\n}\n","import React, { useMemo } from \"react\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\nimport { useSnackbarController, useTranslation } from \"@rebasepro/core\";\nimport { EnumValueConfig } from \"@rebasepro/types\";\nimport { resolveEnumValues } from \"@rebasepro/common\";\nimport { Select, SelectItem } from \"@rebasepro/ui\";\nimport { EnumForm } from \"../EnumForm\";\nimport { StringPropertyValidation } from \"./validation/StringPropertyValidation\";\nimport { ArrayPropertyValidation } from \"./validation/ArrayPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { PropertyWithId } from \"../PropertyEditView\";\n\nexport function EnumPropertyField({\n multiselect,\n updateIds,\n disabled,\n showErrors,\n allowDataInference,\n getData,\n propertyNamespace\n}: {\n multiselect: boolean;\n updateIds: boolean;\n disabled: boolean;\n showErrors: boolean;\n allowDataInference?: boolean;\n getData?: () => Promise<object[]>;\n propertyNamespace?: string;\n}) {\n\n const {\n values,\n setFieldError,\n setFieldValue\n } = useFormex<PropertyWithId>();\n\n const snackbarContext = useSnackbarController();\n const { t } = useTranslation();\n\n const enumValuesPath = multiselect ? \"of.enum\" : \"enum\";\n\n const defaultValue = getIn(values, \"defaultValue\");\n\n const valuesEnumValues = getIn(values, enumValuesPath);\n const enumValues: EnumValueConfig[] = useMemo(() => {\n if (!valuesEnumValues || typeof valuesEnumValues === \"boolean\")\n return [] as EnumValueConfig[];\n return resolveEnumValues(valuesEnumValues) ?? [] as EnumValueConfig[];\n }, [valuesEnumValues]);\n\n const onValuesChanged = (value: EnumValueConfig[]) => {\n if (!values)\n return;\n setFieldValue(enumValuesPath, value);\n if (!multiselect) {\n const enumIds = value.filter(v => Boolean(v?.id)).map((v: EnumValueConfig) => v.id);\n if (defaultValue && !enumIds.includes(defaultValue)) {\n setFieldValue(\"defaultValue\", undefined);\n snackbarContext.open({\n type: \"warning\",\n message: \"Default value was cleared\"\n })\n }\n }\n };\n\n // Build full path including namespace for nested properties (e.g., \"address.status\")\n const fullPropertyPath = values.id\n ? (propertyNamespace ? `${propertyNamespace}.${values.id}` : values.id)\n : undefined;\n\n return (\n <>\n <div className={\"col-span-12\"}>\n <EnumForm enumValues={enumValues}\n updateIds={updateIds}\n disabled={disabled}\n allowDataInference={allowDataInference}\n onError={(hasError) => {\n setFieldError(enumValuesPath, hasError ? \"This enum property is missing some values\" : undefined);\n }}\n getData={getData && fullPropertyPath\n ? () => getData()\n .then(res => res.map(entry => getIn(entry, fullPropertyPath)).filter(Boolean))\n : undefined}\n onValuesChanged={onValuesChanged}/>\n </div>\n\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n {!multiselect &&\n <StringPropertyValidation disabled={disabled}\n showErrors={showErrors}/>}\n {multiselect &&\n <ArrayPropertyValidation disabled={disabled}/>}\n </ValidationPanel>\n\n </div>\n\n {!multiselect && <div className={\"col-span-12\"}>\n\n <Select\n disabled={disabled}\n position={\"item-aligned\"}\n fullWidth={true}\n onValueChange={(value: string) => {\n setFieldValue(\"defaultValue\", value);\n }}\n label={t(\"default_value\")}\n value={defaultValue ?? \"\"}>\n {enumValues\n .filter((enumValue) => Boolean(enumValue?.id))\n .map((enumValue) => (\n <SelectItem key={enumValue.id}\n value={enumValue.id?.toString()}>\n {enumValue.label}\n </SelectItem>\n ))}\n </Select>\n\n </div>}\n </>\n );\n}\n","\nimport React from \"react\";\nimport { Button, DebouncedTextField, ExpandablePanel, MultiSelect, MultiSelectItem, Select, SelectItem, Typography } from \"@rebasepro/ui\";\nimport { UploadCloudIcon } from \"lucide-react\";\n\nimport { Field, FormexFieldProps, getIn, useFormex } from \"@rebasepro/formex\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { GeneralPropertyValidation } from \"./validation/GeneralPropertyValidation\";\nimport { ArrayPropertyValidation } from \"./validation/ArrayPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { SwitchControl } from \"../SwitchControl\";\n\nconst fileTypes: Record<string, string> = {\n \"image/*\": \"Images\",\n \"video/*\": \"Videos\",\n \"audio/*\": \"Audio files\",\n \"application/*\": \"Files (pdf, zip, csv, excel...)\",\n \"text/*\": \"Text files\"\n}\n\nexport function StoragePropertyField({\n multiple,\n existing,\n disabled\n}: {\n multiple: boolean;\n existing: boolean;\n disabled: boolean;\n}) {\n\n const {\n values,\n setFieldValue\n } = useFormex();\n const { t } = useTranslation();\n\n const baseStoragePath = multiple ? \"of.storage\" : \"storage\";\n const acceptedFiles = `${baseStoragePath}.acceptedFiles`;\n\n const metadata = `${baseStoragePath}.metadata`;\n const fileName = `${baseStoragePath}.fileName`;\n const maxSize = `${baseStoragePath}.maxSize`;\n const storagePath = `${baseStoragePath}.storagePath`;\n const storeUrl = `${baseStoragePath}.storeUrl`;\n const includeBucketUrl = `${baseStoragePath}.includeBucketUrl`;\n\n // Image resize config paths\n const imageResize = `${baseStoragePath}.imageResize`;\n const imageResizeMaxWidth = `${imageResize}.maxWidth`;\n const imageResizeMaxHeight = `${imageResize}.maxHeight`;\n const imageResizeMode = `${imageResize}.mode`;\n const imageResizeFormat = `${imageResize}.format`;\n const imageResizeQuality = `${imageResize}.quality`;\n\n const fileNameValue = getIn(values, fileName) ?? \"{rand}_{file}\";\n const storagePathValue = getIn(values, storagePath) ?? \"/\";\n const maxSizeValue = getIn(values, maxSize);\n\n // Image resize values\n const imageResizeMaxWidthValue = getIn(values, imageResizeMaxWidth);\n const imageResizeMaxHeightValue = getIn(values, imageResizeMaxHeight);\n const imageResizeModeValue = getIn(values, imageResizeMode) ?? \"cover\";\n const imageResizeFormatValue = getIn(values, imageResizeFormat) ?? \"original\";\n const imageResizeQualityValue = getIn(values, imageResizeQuality);\n\n const storedValue = getIn(values, acceptedFiles);\n const fileTypesValue: string[] | undefined = Array.isArray(storedValue) ? storedValue : undefined;\n const allFileTypesSelected = !fileTypesValue || fileTypesValue.length === 0;\n\n const handleTypesChange = (value: string[]) => {\n if (!value) setFieldValue(acceptedFiles, undefined);\n else setFieldValue(acceptedFiles, value);\n };\n\n const hasFilenameCallback = typeof fileNameValue === \"function\";\n const hasStoragePathCallback = typeof storagePathValue === \"function\";\n\n return (\n <>\n\n <div className={\"col-span-12\"}>\n\n <ExpandablePanel\n title={\n <div className=\"flex flex-row text-surface-500 text-text-secondary dark:text-text-secondary-dark\">\n <UploadCloudIcon/>\n <Typography variant={\"subtitle2\"}\n className=\"ml-4\">\n File upload config\n </Typography>\n </div>\n }>\n\n <div className={\"grid grid-cols-12 gap-2 p-4\"}>\n\n <div className={\"col-span-12\"}>\n\n <MultiSelect\n className={\"w-full\"}\n placeholder={\"All file types allowed\"}\n disabled={disabled}\n name={acceptedFiles}\n value={fileTypesValue ?? []}\n onValueChange={handleTypesChange}\n label={allFileTypesSelected ? undefined : \"Allowed file types\"}\n renderValues={(selected: string[]) => {\n if (!selected || selected.length === 0) return \"All file types allowed\";\n return selected.map((v: string) => fileTypes[v])\n .filter((v: string) => Boolean(v))\n .join(\", \");\n }}>\n\n {Object.entries(fileTypes).map(([value, label]) => (\n <MultiSelectItem key={value} value={value} className={\"flex items-center gap-2\"}>\n {/*<Checkbox*/}\n {/* checked={allFileTypesSelected || fileTypesValue.indexOf(value) > -1}/>*/}\n <div className={\"grow\"}>\n {label}\n </div>\n <Button size={\"small\"}\n variant={\"text\"}\n onClick={(e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n return setFieldValue(acceptedFiles, [value]);\n }}>\n Only\n </Button>\n </MultiSelectItem>\n ))}\n\n </MultiSelect>\n </div>\n\n <div className={\"col-span-12\"}>\n <Field name={fileName}\n as={DebouncedTextField}\n label={t(\"storage_file_name\")}\n size={\"small\"}\n disabled={hasFilenameCallback || disabled}\n value={hasFilenameCallback ? \"-\" : fileNameValue}\n />\n </div>\n <div className={\"col-span-12\"}>\n <Field name={storagePath}\n as={DebouncedTextField}\n label={t(\"storage_path\")}\n disabled={hasStoragePathCallback || disabled}\n size={\"small\"}\n value={hasStoragePathCallback ? \"-\" : storagePathValue}\n />\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n <p>You can use the following placeholders in\n the file name\n and storage path values:</p>\n <ul>\n <li>{\"{file} - Full name of the uploaded file\"}</li>\n <li>{\"{file.name} - Name of the uploaded file without extension\"}</li>\n <li>{\"{file.ext} - Extension of the uploaded file\"}</li>\n <li>{\"{entityId} - ID of the entity\"}</li>\n <li>{\"{propertyKey} - ID of this field\"}</li>\n <li>{\"{path} - Path of this entity\"}</li>\n <li>{\"{rand} - Random value used to avoid name collisions\"}</li>\n </ul>\n </Typography>\n\n <Field name={includeBucketUrl}\n type=\"checkbox\">\n {({\n field,\n form\n }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"storage_include_bucket_url\")}\n disabled={existing || disabled}\n form={form}\n field={field}/>;\n }}\n </Field>\n\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n Turn this setting on if you want to save a fully-qualified storage URL\n (e.g. <code>s3://my-bucket/path/to/file</code>) instead of just the storage path.\n You can only change this prop upon creation.\n </Typography>\n\n <Field name={storeUrl}\n type=\"checkbox\">\n {({\n field,\n form\n }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"storage_save_url\")}\n disabled={existing || disabled}\n form={form}\n field={field}/>;\n }}\n </Field>\n\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n Turn this setting on, if you prefer to save\n the download\n URL of the uploaded file instead of the\n storage path.\n You can only change this prop upon creation.\n </Typography>\n </div>\n\n <div className={\"col-span-12\"}>\n <DebouncedTextField name={maxSize}\n type={\"number\"}\n label={t(\"storage_max_size\")}\n size={\"small\"}\n value={maxSizeValue !== undefined && maxSizeValue !== null ? maxSizeValue.toString() : \"\"}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const value = e.target.value;\n if (value === \"\") setFieldValue(maxSize, undefined);\n else setFieldValue(maxSize, parseInt(value));\n }}\n />\n </div>\n\n <div className={\"col-span-12 mt-4\"}>\n <Typography variant={\"subtitle2\"}\n color={\"secondary\"}\n className={\"mb-2 block\"}>\n Image Resize Configuration\n </Typography>\n <Typography variant={\"caption\"} className={\"mb-2 block text-xs\"}>\n Automatically resize and optimize images before upload (JPEG, PNG, WebP only)\n </Typography>\n </div>\n\n <div className={\"col-span-6\"}>\n <DebouncedTextField\n name={imageResizeMaxWidth}\n type={\"number\"}\n label={t(\"storage_max_width\")}\n size={\"small\"}\n disabled={disabled}\n value={imageResizeMaxWidthValue !== undefined && imageResizeMaxWidthValue !== null ? imageResizeMaxWidthValue.toString() : \"\"}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const value = e.target.value;\n if (value === \"\") setFieldValue(imageResizeMaxWidth, undefined);\n else setFieldValue(imageResizeMaxWidth, parseInt(value));\n }}\n />\n </div>\n\n <div className={\"col-span-6\"}>\n <DebouncedTextField\n name={imageResizeMaxHeight}\n type={\"number\"}\n label={t(\"storage_max_height\")}\n size={\"small\"}\n disabled={disabled}\n value={imageResizeMaxHeightValue !== undefined && imageResizeMaxHeightValue !== null ? imageResizeMaxHeightValue.toString() : \"\"}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const value = e.target.value;\n if (value === \"\") setFieldValue(imageResizeMaxHeight, undefined);\n else setFieldValue(imageResizeMaxHeight, parseInt(value));\n }}\n />\n </div>\n\n <div className={\"col-span-6\"}>\n <Select\n disabled={disabled}\n name={imageResizeMode}\n fullWidth\n size={\"medium\"}\n value={imageResizeModeValue || \"cover\"}\n onValueChange={(value) => setFieldValue(imageResizeMode, value || \"cover\")}\n label={t(\"storage_resize_mode\")}\n renderValue={(selected) => {\n if (!selected) return \"Cover\";\n return selected === \"contain\" ? \"Contain (fit within bounds)\" : \"Cover (fill bounds, may crop)\";\n }}>\n <SelectItem value=\"contain\">\n Contain (fit within bounds)\n </SelectItem>\n <SelectItem value=\"cover\">\n Cover (fill bounds, may crop)\n </SelectItem>\n </Select>\n </div>\n\n <div className={\"col-span-6\"}>\n <Select\n disabled={disabled}\n size={\"medium\"}\n fullWidth\n name={imageResizeFormat}\n value={imageResizeFormatValue || \"original\"}\n onValueChange={(value) => setFieldValue(imageResizeFormat, value || \"original\")}\n label={t(\"storage_output_format\")}\n renderValue={(selected) => {\n if (!selected) return \"Original\";\n return selected.charAt(0).toUpperCase() + selected.slice(1);\n }}>\n <SelectItem value=\"original\">\n Original (keep same format)\n </SelectItem>\n <SelectItem value=\"jpeg\">\n JPEG\n </SelectItem>\n <SelectItem value=\"png\">\n PNG\n </SelectItem>\n <SelectItem value=\"webp\">\n WebP (best compression)\n </SelectItem>\n </Select>\n </div>\n\n <div className={\"col-span-12\"}>\n <DebouncedTextField\n name={imageResizeQuality}\n type={\"number\"}\n label={t(\"storage_quality\")}\n size={\"small\"}\n disabled={disabled}\n value={imageResizeQualityValue !== undefined && imageResizeQualityValue !== null ? imageResizeQualityValue.toString() : \"\"}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const value = e.target.value;\n if (value === \"\") setFieldValue(imageResizeQuality, undefined);\n else {\n const numValue = parseInt(value);\n if (numValue >= 0 && numValue <= 100) {\n setFieldValue(imageResizeQuality, numValue);\n }\n }\n }}\n />\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n Higher quality = larger file size. Recommended: 80-90 for photos, 90-100 for graphics\n </Typography>\n </div>\n\n </div>\n </ExpandablePanel>\n\n </div>\n\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n {!multiple && <div className={\"grid grid-cols-12 gap-2\"}>\n <GeneralPropertyValidation disabled={disabled}/>\n </div>}\n {multiple && <div className={\"col-span-12\"}>\n <ArrayPropertyValidation disabled={disabled}/>\n </div>}\n </ValidationPanel>\n\n </div>\n </>\n );\n}\n","import { useCustomizationController } from \"@rebasepro/core\";\nimport { getFieldConfig } from \"../../../components/field_configs\";\nimport { PropertyConfigBadge } from \"../../../components/PropertyConfigBadge\";\nimport { ErrorBoundary } from \"@rebasepro/ui\";\nimport { Property } from \"@rebasepro/types\";\nimport { isPropertyBuilder } from \"@rebasepro/common\";\nimport { cls, Paper, Typography } from \"@rebasepro/ui\";\nimport { MinusCircleIcon, FunctionSquareIcon } from \"lucide-react\";\nimport { iconSize } from \"@rebasepro/ui\";\n\n\nexport function PropertyFieldPreview({\n property,\n propertyKey,\n onClick,\n hasError,\n includeName,\n includeEditButton,\n selected\n}: {\n property: Property,\n propertyKey?: string,\n hasError?: boolean,\n selected?: boolean,\n includeName?: boolean,\n includeEditButton?: boolean;\n onClick?: () => void\n}) {\n\n const { propertyConfigs } = useCustomizationController();\n const propertyConfig = getFieldConfig(property, propertyConfigs);\n\n\n const borderColorClass = hasError\n ? \"border-red-500 dark:border-red-500 border-red-500/100 dark:border-red-500/100 ring-0 dark:ring-0\"\n : (selected ? \"border-primary\" : \"\");\n\n return <ErrorBoundary>\n <div onClick={onClick} className={onClick ? \"cursor-pointer\" : \"\"}>\n <Paper\n className={cls(\n \"w-full flex flex-row gap-3 items-center px-3 py-2 rounded-lg transition-all duration-200 border border-transparent bg-transparent\",\n selected\n ? \"bg-primary/5 dark:bg-primary/10 ring-1 ring-inset ring-primary\"\n : \"hover:bg-surface-50 dark:hover:bg-surface-800\"\n )}\n >\n <PropertyConfigBadge propertyConfig={propertyConfig} size=\"small\"/>\n\n <div className=\"flex-1 flex flex-col min-w-0 pr-8\">\n {includeName &&\n <ErrorBoundary>\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"body2\" component=\"span\">\n {property.name || propertyKey || \"\\u00a0\"}\n </Typography>\n {property.name && propertyKey && property.name !== propertyKey && (\n <Typography variant=\"caption\" component=\"span\" color=\"secondary\" className=\"font-mono\">\n {propertyKey}\n </Typography>\n )}\n </div>\n </ErrorBoundary>}\n\n <div className=\"flex flex-row items-center gap-2 mt-0.5\">\n <ErrorBoundary>\n <Typography\n variant={\"caption\"}\n component=\"span\"\n className=\"text-text-secondary dark:text-text-secondary-dark font-medium\">\n {propertyConfig?.name}\n </Typography>\n </ErrorBoundary>\n </div>\n </div>\n\n <ErrorBoundary>\n <Typography variant=\"caption\" component=\"span\" className=\"ml-auto shrink-0 text-text-disabled dark:text-text-disabled-dark font-mono bg-surface-100 dark:bg-surface-900 px-1.5 py-0.5 rounded mr-8\">\n {(\"columnType\" in property ? (property as Property & { columnType?: string }).columnType : undefined) || property.type}\n </Typography>\n </ErrorBoundary>\n\n {includeEditButton && <Typography variant={\"button\"}>EDIT</Typography>}\n </Paper>\n </div>\n </ErrorBoundary>\n}\n\nexport function NonEditablePropertyPreview({\n name,\n selected,\n onClick,\n property\n}: {\n name: string,\n selected: boolean,\n onClick?: () => void,\n property?: Property\n}) {\n\n const { propertyConfigs } = useCustomizationController();\n const propertyConfig = !isPropertyBuilder(property) && property ? getFieldConfig(property, propertyConfigs) : undefined;\n\n return (\n <div onClick={onClick} className={onClick ? \"cursor-pointer\" : \"\"}>\n <Paper\n className={cls(\n \"w-full flex flex-row gap-3 items-center px-3 py-2 rounded-lg transition-all duration-200 border border-transparent bg-transparent\",\n selected\n ? \"bg-primary/5 dark:bg-primary/10 ring-1 ring-inset ring-primary\"\n : \"hover:bg-surface-50 dark:hover:bg-surface-800\"\n )}\n >\n <div className={\"relative shrink-0\"}>\n {propertyConfig && <PropertyConfigBadge propertyConfig={propertyConfig} size=\"small\"/>}\n {!propertyConfig && <div\n className={\"h-8 w-8 flex items-center justify-center rounded-full shadow-2xs text-white bg-surface-500\"}>\n <FunctionSquareIcon className={\"text-inherit\"} size={iconSize.small}/>\n </div>}\n <MinusCircleIcon className={\"text-surface-accent-400 absolute -right-2 -top-2 bg-surface-50 dark:bg-surface-900 rounded-full\"} size={iconSize.small}/>\n </div>\n\n <div className=\"flex-1 flex flex-col min-w-0 pr-8\">\n <Typography variant=\"label\" component=\"span\" className=\"grow pr-2\">\n {property?.name ? property.name : name}\n </Typography>\n\n <div className=\"flex flex-row items-center gap-2 mt-0.5\">\n {propertyConfig && <Typography variant={\"caption\"} component=\"span\" className=\"text-text-secondary dark:text-text-secondary-dark font-medium\">\n {propertyConfig?.name}\n </Typography>}\n\n {property && isPropertyBuilder(property) && <ErrorBoundary>\n <Typography variant=\"caption\" component=\"span\" className=\"text-text-disabled dark:text-text-disabled-dark\">\n Defined in code\n </Typography>\n </ErrorBoundary>}\n\n {!property && <ErrorBoundary>\n <Typography variant=\"caption\" component=\"span\" className=\"text-text-disabled dark:text-text-disabled-dark\">\n Additional field\n </Typography>\n </ErrorBoundary>}\n </div>\n </div>\n\n {property && !isPropertyBuilder(property) && <ErrorBoundary>\n <Typography variant=\"caption\" component=\"span\" className=\"ml-auto shrink-0 text-text-disabled dark:text-text-disabled-dark font-mono bg-surface-100 dark:bg-surface-900 px-1.5 py-0.5 rounded mr-8\">\n {(\"columnType\" in property ? (property as Property & { columnType?: string }).columnType : undefined) || property.type}\n </Typography>\n </ErrorBoundary>}\n </Paper>\n </div>\n )\n}\n","import React, { createContext, useCallback, useContext, useState, useMemo } from \"react\";\nimport { CollectionOperation } from \"../../api/generateCollectionApi\";\n\nexport interface AIModifiedPathsContextType {\n /** Set of paths that were modified by AI */\n modifiedPaths: Set<string>;\n /** Counter that increments each time AI modifies the collection - use in keys to force remount */\n generationCounter: number;\n /** Add paths from operations */\n addModifiedPaths: (operations: CollectionOperation[]) => void;\n /** Clear a specific path (when user edits that field) */\n clearPath: (path: string) => void;\n /** Clear all paths (on save or cancel) */\n clearAllPaths: () => void;\n /** Check if a path is modified */\n isPathModified: (path: string) => boolean;\n}\n\nconst AIModifiedPathsContext = createContext<AIModifiedPathsContextType | null>(null);\n\nexport function AIModifiedPathsProvider({ children }: { children: React.ReactNode | any }) {\n const [modifiedPaths, setModifiedPaths] = useState<Set<string>>(new Set());\n const [generationCounter, setGenerationCounter] = useState(0);\n\n const addModifiedPaths = useCallback((operations: CollectionOperation[]) => {\n setModifiedPaths(prev => {\n const newSet = new Set(prev);\n operations.forEach(op => {\n // Add the path and all parent paths for nested modifications\n newSet.add(op.path);\n // For properties modifications, also mark the property itself\n // e.g., \"properties.email.description\" -> also adds \"properties.email\"\n const parts = op.path.split(\".\");\n if (parts[0] === \"properties\" && parts.length >= 2) {\n newSet.add(`properties.${parts[1]}`);\n }\n });\n return newSet;\n });\n // Increment counter to force property form remount\n setGenerationCounter(prev => prev + 1);\n }, []);\n\n const clearPath = useCallback((path: string) => {\n setModifiedPaths(prev => {\n const newSet = new Set(prev);\n // Remove exact path and any child paths\n for (const p of newSet) {\n if (p === path || p.startsWith(path + \".\")) {\n newSet.delete(p);\n }\n }\n return newSet;\n });\n }, []);\n\n const clearAllPaths = useCallback(() => {\n setModifiedPaths(new Set());\n }, []);\n\n const isPathModified = useCallback((path: string): boolean => {\n // Check if this exact path or any parent path is modified\n if (modifiedPaths.has(path)) return true;\n // Check if any child paths are modified\n for (const p of modifiedPaths) {\n if (p.startsWith(path + \".\")) return true;\n }\n return false;\n }, [modifiedPaths]);\n\n const contextValue = useMemo(() => ({\n modifiedPaths,\n generationCounter,\n addModifiedPaths,\n clearPath,\n clearAllPaths,\n isPathModified\n }), [modifiedPaths, generationCounter, addModifiedPaths, clearPath, clearAllPaths, isPathModified]);\n\n return (\n <AIModifiedPathsContext.Provider value={contextValue}>\n {children}\n </AIModifiedPathsContext.Provider>\n );\n}\n\nexport function useAIModifiedPaths(): AIModifiedPathsContextType | null {\n return useContext(AIModifiedPathsContext);\n}\n\n","\nimport React from \"react\";\nimport { deepEqual as equal } from \"fast-equals\"\n\nimport { AIModifiedIndicator } from \"@rebasepro/core\";\nimport { AdditionalFieldDelegate, Properties, Property } from \"@rebasepro/types\";\nimport { isPropertyBuilder } from \"@rebasepro/common\";\nimport { defaultBorderMixin, cls, IconButton, Menu, MenuItem, Tooltip , iconSize } from \"@rebasepro/ui\";\nimport { FileSearchIcon, ArrowDownToLineIcon, ArrowUpToLineIcon, Trash2Icon, MoreVerticalIcon } from \"lucide-react\";\nimport { NonEditablePropertyPreview, PropertyFieldPreview } from \"./PropertyFieldPreview\";\nimport {\n closestCenter,\n DndContext,\n DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors\n} from \"@dnd-kit/core\";\nimport {\n SortableContext,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy\n} from \"@dnd-kit/sortable\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\n\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { getFullId, getFullIdPath } from \"./util\";\n\nimport { useAIModifiedPaths } from \"./AIModifiedPathsContext\";\n\nexport const PropertyTree = React.memo(\n function PropertyTree<M extends {\n [Key: string]: unknown\n }>({\n namespace,\n selectedPropertyKey,\n onPropertyClick,\n properties,\n propertiesOrder: propertiesOrderProp,\n additionalFields,\n errors,\n onPropertyMove,\n onPropertyRemove,\n className,\n inferredPropertyKeys\n }: {\n namespace?: string;\n selectedPropertyKey?: string;\n onPropertyClick?: (propertyKey: string, namespace?: string) => void;\n properties: Properties;\n propertiesOrder?: string[];\n additionalFields?: AdditionalFieldDelegate<M>[];\n errors: Record<string, any>;\n onPropertyMove?: (propertiesOrder: string[], namespace?: string) => void;\n onPropertyRemove?: (propertyKey: string, namespace?: string) => void;\n className?: string;\n inferredPropertyKeys?: string[];\n }) {\n\n // Filter propertiesOrder to only include top-level keys (no dots) that exist in properties\n // Nested keys like \"data.mode\" are for column ordering in the table, not for the property editor\n const propertyKeys = Object.keys(properties);\n const filteredOrder = (propertiesOrderProp ?? propertyKeys)\n .filter(key => !key.includes(\".\") && properties[key as keyof typeof properties]);\n\n // Ensure all properties are included (append any missing ones)\n const missingKeys = propertyKeys.filter(key => !filteredOrder.includes(key));\n const propertiesOrder = [...filteredOrder, ...missingKeys];\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5\n }\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates\n })\n );\n\n const handleDragEnd = (event: DragEndEvent) => {\n const {\n active,\n over\n } = event;\n\n if (!over || active.id === over.id) {\n return;\n }\n\n const activeId = String(active.id);\n const overId = String(over.id);\n\n // Extract property keys from the full IDs\n const activeKey = activeId.includes(\".\") ? activeId.split(\".\").pop() : activeId;\n const overKey = overId.includes(\".\") ? overId.split(\".\").pop() : overId;\n\n if (!activeKey || !overKey) return;\n\n const oldIndex = propertiesOrder.indexOf(activeKey);\n const newIndex = propertiesOrder.indexOf(overKey);\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const newPropertiesOrder = [...propertiesOrder];\n const [removed] = newPropertiesOrder.splice(oldIndex, 1);\n newPropertiesOrder.splice(newIndex, 0, removed);\n\n if (onPropertyMove) {\n onPropertyMove(newPropertiesOrder, namespace);\n }\n }\n };\n\n const items = propertiesOrder.map(key => getFullId(key, namespace));\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n modifiers={[restrictToVerticalAxis]}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <div className={cls(\"flex flex-col gap-0.5\", className)}>\n\n {propertiesOrder && propertiesOrder\n .map((propertyKey: string, index: number) => {\n const property = properties[propertyKey];\n const additionalField = additionalFields?.find(field => field.key === propertyKey);\n\n if (!property && !additionalField) {\n console.warn(`Property ${propertyKey} not found in properties or additionalFields`);\n return null;\n }\n\n const id = getFullId(propertyKey, namespace);\n\n return (\n <PropertyTreeEntry\n key={id}\n id={id}\n propertyKey={propertyKey}\n property={property}\n additionalField={additionalField}\n errors={errors}\n namespace={namespace}\n propertiesOrder={propertiesOrder}\n inferredPropertyKeys={inferredPropertyKeys}\n onPropertyMove={onPropertyMove}\n onPropertyRemove={onPropertyRemove}\n onPropertyClick={onPropertyClick}\n selectedPropertyKey={selectedPropertyKey}\n\n />\n );\n }).filter(Boolean)}\n </div>\n </SortableContext>\n </DndContext>\n );\n },\n equal\n);\n\nexport function PropertyTreeEntry({\n id,\n propertyKey,\n namespace,\n property,\n additionalField,\n selectedPropertyKey,\n errors,\n propertiesOrder,\n onPropertyClick,\n onPropertyMove,\n onPropertyRemove,\n inferredPropertyKeys\n}: {\n id: string;\n propertyKey: string;\n namespace?: string;\n property: Property;\n additionalField?: AdditionalFieldDelegate<any>;\n selectedPropertyKey?: string;\n errors: Record<string, any>;\n propertiesOrder: string[];\n onPropertyClick?: (propertyKey: string, namespace?: string) => void;\n onPropertyMove?: (propertiesOrder: string[], namespace?: string) => void;\n onPropertyRemove?: (propertyKey: string, namespace?: string) => void;\n inferredPropertyKeys?: string[];\n}) {\n\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging\n } = useSortable({\n id\n });\n\n const style = {\n // Key change: use Translate instead of Transform to prevent stretching\n transform: CSS.Translate.toString(transform),\n transition,\n zIndex: isDragging ? 10 : undefined,\n position: \"relative\" as const\n };\n\n const isPropertyInferred = inferredPropertyKeys?.includes(namespace ? `${namespace}.${propertyKey}` : propertyKey);\n const fullId = id;\n const fullIdPath = getFullIdPath(propertyKey, namespace);\n const hasError = fullIdPath in errors;\n\n let subtree;\n if (typeof property === \"object\") {\n if (property.type === \"map\" && property.properties) {\n subtree = <PropertyTree\n selectedPropertyKey={selectedPropertyKey}\n namespace={fullId}\n properties={property.properties}\n propertiesOrder={property.propertiesOrder}\n errors={errors}\n onPropertyClick={onPropertyClick}\n onPropertyMove={onPropertyMove}\n onPropertyRemove={onPropertyRemove}\n inferredPropertyKeys={inferredPropertyKeys}\n />\n }\n }\n\n const selected = selectedPropertyKey === fullId;\n const editable = property && !isPropertyBuilder(property);\n\n // Check if this property was AI-modified\n const aiModifiedPaths = useAIModifiedPaths();\n const isAIModified = aiModifiedPaths?.isPathModified(`properties.${propertyKey}`) ?? false;\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className=\"relative cursor-grab\"\n {...attributes}\n {...listeners}\n >\n <div className=\"relative\">\n {subtree && <div\n className={\"absolute border-l \" + defaultBorderMixin}\n style={{\n left: \"24px\",\n top: \"40px\",\n bottom: \"16px\"\n }}/>}\n\n <div>\n {!isPropertyBuilder(property) && !additionalField && editable\n ? <PropertyFieldPreview\n property={property}\n onClick={onPropertyClick ? () => onPropertyClick(propertyKey, namespace) : undefined}\n includeName={true}\n selected={selected}\n hasError={hasError}/>\n : <NonEditablePropertyPreview name={propertyKey}\n property={property}\n onClick={onPropertyClick ? () => onPropertyClick(propertyKey, namespace) : undefined}\n selected={selected}/>}\n </div>\n\n <div className=\"absolute top-1/2 -translate-y-1/2 right-3 flex flex-row items-center gap-1\">\n {isAIModified && <AIModifiedIndicator/>}\n {isPropertyInferred && <>\n <Tooltip title={\"Inferred property\"} asChild={true}>\n <IconButton size=\"smallest\" disabled>\n <FileSearchIcon size={iconSize.smallest}/>\n </IconButton>\n </Tooltip>\n {onPropertyRemove && <Tooltip title={\"Remove inferred property\"}\n asChild={true}>\n <IconButton size=\"smallest\"\n color=\"inherit\"\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n onPropertyRemove(propertyKey, namespace);\n }}>\n <Trash2Icon size={iconSize.smallest}/>\n </IconButton>\n </Tooltip>}\n </>}\n\n <Menu\n trigger={\n <IconButton\n size=\"smallest\"\n >\n <MoreVerticalIcon size={iconSize.smallest}/>\n </IconButton>\n }\n >\n <MenuItem\n dense\n onClick={() => {\n const currentIndex = propertiesOrder.indexOf(propertyKey);\n if (currentIndex > 0) {\n const newOrder = propertiesOrder.filter(k => k !== propertyKey);\n newOrder.unshift(propertyKey);\n onPropertyMove?.(newOrder, namespace);\n }\n }}\n >\n <ArrowUpToLineIcon size={iconSize.smallest}/>\n Move to top\n </MenuItem>\n <MenuItem\n dense\n onClick={() => {\n const currentIndex = propertiesOrder.indexOf(propertyKey);\n if (currentIndex < propertiesOrder.length - 1) {\n const newOrder = propertiesOrder.filter(k => k !== propertyKey);\n newOrder.push(propertyKey);\n onPropertyMove?.(newOrder, namespace);\n }\n }}\n >\n <ArrowDownToLineIcon size={iconSize.smallest}/>\n Move to bottom\n </MenuItem>\n <MenuItem\n dense\n onClick={() => onPropertyRemove?.(propertyKey, namespace)}\n >\n <Trash2Icon size={iconSize.smallest}/>\n Delete\n </MenuItem>\n </Menu>\n\n </div>\n\n {subtree && <div className={\"ml-12\"}>{subtree}</div>}\n </div>\n </div>\n );\n}\n","import { FieldCaption } from \"../../../_cms_internals\";\nimport React, { useState } from \"react\";\n;\nimport { MapProperty, Property, PropertyConfig } from \"@rebasepro/types\";\nimport { BooleanSwitchWithLabel, Button, Paper, Typography } from \"@rebasepro/ui\";\nimport { PlusIcon } from \"lucide-react\";\nimport { PropertyFormDialog } from \"../PropertyEditView\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { PropertyTree } from \"../PropertyTree\";\nimport { getFullId, idToPropertiesPath, namespaceToPropertiesOrderPath, namespaceToPropertiesPath } from \"../util\";\n\nexport function MapPropertyField({ disabled, getData, allowDataInference, propertyConfigs }: {\n disabled: boolean;\n getData?: () => Promise<object[]>;\n allowDataInference: boolean;\n propertyConfigs: Record<string, PropertyConfig>,\n}) {\n\n const {\n values,\n setFieldValue\n } = useFormex<MapProperty>();\n const { t } = useTranslation();\n\n const [propertyDialogOpen, setPropertyDialogOpen] = useState<boolean>(false);\n const [selectedPropertyKey, setSelectedPropertyKey] = useState<string | undefined>();\n const [selectedPropertyNamespace, setSelectedPropertyNamespace] = useState<string | undefined>();\n\n const propertiesOrder = values.propertiesOrder ?? Object.keys(values.properties ?? {});\n const onPropertyCreated = ({\n id,\n property\n }: { id?: string, property: Property }) => {\n if (!id)\n throw Error();\n setFieldValue(\"properties\", {\n ...(values.properties ?? {}),\n [id]: property\n }, false);\n\n const currentPropertiesOrder = values.propertiesOrder ?? Object.keys(values.properties ?? {});\n const newPropertiesOrder = currentPropertiesOrder.includes(id) ? currentPropertiesOrder : [...currentPropertiesOrder, id];\n setFieldValue(\"propertiesOrder\", newPropertiesOrder, false);\n\n setPropertyDialogOpen(false);\n };\n\n const deleteProperty = (propertyKey?: string, namespace?: string) => {\n const fullId = propertyKey ? getFullId(propertyKey, namespace) : undefined;\n if (!fullId)\n throw Error(\"collection editor miss config\");\n\n const propertiesPath = idToPropertiesPath(fullId);\n const propertiesOrderPath = namespaceToPropertiesOrderPath(namespace);\n\n const currentPropertiesOrder: string[] = getIn(values, propertiesOrderPath) ?? Object.keys(getIn(values, namespaceToPropertiesPath(namespace)));\n\n setFieldValue(propertiesPath, undefined, false);\n setFieldValue(propertiesOrderPath, currentPropertiesOrder.filter((p) => p !== propertyKey), false);\n\n setPropertyDialogOpen(false);\n setSelectedPropertyKey(undefined);\n setSelectedPropertyNamespace(undefined);\n };\n\n const selectedPropertyFullId = selectedPropertyKey ? getFullId(selectedPropertyKey, selectedPropertyNamespace) : undefined;\n const selectedProperty = selectedPropertyFullId ? getIn(values.properties, selectedPropertyFullId.replaceAll(\".\", \".properties.\")) : undefined;\n\n const empty = !propertiesOrder || propertiesOrder.length < 1;\n\n const onPropertyMove = (propertiesOrder: string[], namespace?: string) => {\n setFieldValue(namespaceToPropertiesOrderPath(namespace), propertiesOrder, false);\n };\n\n return (\n <>\n <div className={\"col-span-12\"}>\n <div className=\"flex justify-between items-end my-4\">\n <Typography variant={\"subtitle2\"}>{t(\"properties_in_this_group\")}</Typography>\n <Button\n onClick={() => setPropertyDialogOpen(true)}\n startIcon={<PlusIcon/>}\n >\n Add property to {values.name ?? \"this group\"}\n </Button>\n </div>\n <Paper className=\"p-2 pl-8\">\n <PropertyTree\n properties={values.properties ?? {}}\n propertiesOrder={propertiesOrder}\n errors={{}}\n\n onPropertyClick={(propertyKey, namespace) => {\n setSelectedPropertyKey(propertyKey);\n setSelectedPropertyNamespace(namespace);\n setPropertyDialogOpen(true);\n }}\n onPropertyMove={onPropertyMove}/>\n\n {empty &&\n <Typography variant={\"label\"}\n className=\"h-full flex items-center justify-center p-4\">\n Add the first property to this group\n </Typography>}\n </Paper>\n </div>\n\n <div className={\"col-span-12\"}>\n <BooleanSwitchWithLabel\n position={\"start\"}\n size={\"medium\"}\n label={t(\"spread_children_as_columns\")}\n onValueChange={(v) => setFieldValue(\"spreadChildren\", v)}\n value={values.spreadChildren ?? false}\n />\n <FieldCaption>\n Set this flag to true if you want to display the children of this group as individual columns. This\n will only work for top level groups.\n </FieldCaption>\n </div>\n\n <PropertyFormDialog\n inArray={false}\n forceShowErrors={false}\n open={propertyDialogOpen}\n allowDataInference={allowDataInference}\n\n onCancel={() => {\n setPropertyDialogOpen(false);\n setSelectedPropertyKey(undefined);\n setSelectedPropertyNamespace(undefined);\n }}\n onOkClicked={() => {\n setPropertyDialogOpen(false);\n setSelectedPropertyKey(undefined);\n setSelectedPropertyNamespace(undefined);\n }}\n getData={getData}\n onDelete={deleteProperty}\n propertyKey={selectedPropertyKey}\n propertyNamespace={selectedPropertyNamespace}\n property={selectedProperty}\n existingProperty={Boolean(selectedPropertyKey)}\n autoUpdateId={!selectedPropertyKey}\n autoOpenTypeSelect={!selectedPropertyKey}\n onPropertyChanged={onPropertyCreated}\n existingPropertyKeys={selectedPropertyKey ? undefined : propertiesOrder}\n propertyConfigs={propertyConfigs}\n />\n\n </>);\n}\n","import React, { useState } from \"react\";\nimport { getFieldConfig } from \"../../../../components/field_configs\";\nimport { ArrayProperty, Property, PropertyConfig } from \"@rebasepro/types\";\nimport { Button, Paper, Typography } from \"@rebasepro/ui\";\nimport { Field, getIn, useFormex } from \"@rebasepro/formex\";\nimport { PropertyFormDialog } from \"../PropertyEditView\";\nimport { PropertyFieldPreview } from \"../PropertyFieldPreview\";\nimport { ArrayPropertyValidation } from \"./validation/ArrayPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\n\nexport function RepeatPropertyField({\n showErrors,\n existing,\n disabled,\n getData,\n allowDataInference,\n propertyConfigs\n}: {\n showErrors: boolean,\n existing: boolean,\n disabled: boolean,\n getData?: () => Promise<object[]>;\n allowDataInference: boolean;\n propertyConfigs: Record<string, PropertyConfig>,\n}) {\n\n const {\n values,\n handleChange,\n errors,\n setFieldValue,\n touched\n } = useFormex<ArrayProperty>();\n\n const [propertyDialogOpen, setPropertyDialogOpen] = useState(false);\n const ofProperty = getIn(values, \"of\");\n const ofPropertyError = getIn(touched, \"of\") && getIn(errors, \"of\");\n\n const onPropertyChanged = ({ id, property, namespace }:\n { id?: string, property: Property, namespace?: string }) => {\n setFieldValue(\"of\", property);\n };\n\n const widget = ofProperty && getFieldConfig(ofProperty, propertyConfigs);\n return (\n <>\n <div className={\"col-span-12\"}>\n <Typography variant={\"subtitle2\"}>\n Repeat component\n </Typography>\n <Field\n name={\"of\"}\n value={ofProperty}\n // validate={(property: Property) => {\n // return property?.type ? undefined : \"You need to specify a repeat field\";\n // }}\n >\n {({ }) => (\n <Paper className=\"p-2 mt-4\">\n\n {ofProperty && <PropertyFieldPreview\n property={ofProperty}\n onClick={disabled ? undefined : () => setPropertyDialogOpen(true)}\n includeName={false}\n includeEditButton={true}\n selected={false}\n hasError={false}/>}\n\n {!disabled && !ofProperty && <Button variant={\"text\"}\n color={ofPropertyError ? \"error\" : \"primary\"}\n onClick={() => setPropertyDialogOpen(true)}>\n Edit {`${widget ? widget.name : \"repeat component\"}`}\n </Button>}\n\n <PropertyFormDialog\n inArray={true}\n open={propertyDialogOpen}\n existingProperty={existing}\n getData={getData}\n autoUpdateId={!existing}\n autoOpenTypeSelect={!existing}\n onOkClicked={() => setPropertyDialogOpen(false)}\n allowDataInference={allowDataInference}\n property={ofProperty}\n includeIdAndName={false}\n onPropertyChanged={onPropertyChanged}\n forceShowErrors={showErrors}\n propertyConfigs={propertyConfigs}\n\n />\n </Paper>\n )}\n </Field>\n\n </div>\n\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n <ArrayPropertyValidation disabled={disabled}/>\n </ValidationPanel>\n\n </div>\n </>\n );\n}\n","import { FieldCaption } from \"../../../_cms_internals\";\nimport { Field, getIn, useFormex } from \"@rebasepro/formex\";\nimport { DebouncedTextField } from \"@rebasepro/ui\";\nimport { PropertyWithId } from \"../PropertyEditView\";\nimport React from \"react\";\nimport { useTranslation } from \"@rebasepro/core\";\n;\nimport { prettifyIdentifier, toSnakeCase } from \"@rebasepro/utils\";\n\ntype CommonPropertyFieldsProps = {\n showErrors: boolean,\n disabledId: boolean,\n disabled: boolean;\n isNewProperty: boolean;\n autoUpdateId: boolean;\n};\n\nexport const CommonPropertyFields = React.forwardRef<HTMLDivElement, CommonPropertyFieldsProps>(\n function CommonPropertyFields({\n showErrors,\n disabledId,\n disabled,\n autoUpdateId,\n isNewProperty\n }, ref) {\n\n const {\n errors,\n values,\n setFieldValue,\n setFieldTouched,\n touched,\n validate\n } = useFormex<PropertyWithId>();\n const { t } = useTranslation();\n\n const name = \"name\";\n const nameError = showErrors && getIn(errors, name);\n\n const id = \"id\";\n const idError = showErrors && getIn(errors, id);\n\n const description = \"description\";\n const descriptionError = showErrors && getIn(errors, description);\n\n return (\n <div className={\"flex flex-col gap-2 col-span-12\"}>\n\n <div>\n <Field\n name={name}\n inputRef={ref}\n as={DebouncedTextField}\n value={values[name]}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const newNameValue = e.target.value;\n const idTouched = getIn(touched, id);\n if (!idTouched && autoUpdateId) {\n setFieldValue(id, newNameValue ? toSnakeCase(newNameValue) : \"\", false)\n }\n setFieldValue(name, newNameValue, true);\n setFieldTouched(name, true);\n }}\n style={{ fontSize: 20 }}\n placeholder={t(\"field_name\")}\n required\n disabled={disabled}\n error={Boolean(nameError)}/>\n\n <FieldCaption error={Boolean(nameError)}>\n {nameError}\n </FieldCaption>\n </div>\n\n <div>\n <DebouncedTextField\n name={id}\n label={\"ID\"}\n value={values[id]}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const newIdValue = e.target.value;\n const nameTouched = getIn(touched, name);\n if (!nameTouched && autoUpdateId) {\n setFieldValue(name, newIdValue ? prettifyIdentifier(newIdValue) : \"\")\n }\n setFieldValue(id, newIdValue, true);\n setFieldTouched(id, true);\n }}\n disabled={disabledId || disabled}\n required\n size=\"small\"\n error={Boolean(idError)}/>\n <FieldCaption error={Boolean(idError)}>\n {idError}\n </FieldCaption>\n </div>\n\n <div>\n <Field name={description}\n as={DebouncedTextField}\n label={t(\"description\")}\n disabled={disabled}\n error={Boolean(descriptionError)}/>\n <FieldCaption error={Boolean(descriptionError)}>\n {descriptionError}\n </FieldCaption>\n </div>\n\n </div>\n );\n\n }\n);\n","import { FieldCaption } from \"../../../_cms_internals\";\nimport React from \"react\";\nimport { StringPropertyValidation } from \"./validation/StringPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\nimport { useTranslation } from \"@rebasepro/core\";\n;\nimport { Select, SelectItem, TextField } from \"@rebasepro/ui\";\n\nexport function StringPropertyField({\n widgetId,\n disabled,\n showErrors\n}: {\n widgetId: \"text_field\" | \"multiline\" | \"email\" | \"user_select\";\n disabled: boolean;\n showErrors: boolean;\n}) {\n\n const { values, setFieldValue, touched, errors } = useFormex();\n const { t } = useTranslation();\n\n const columnTypePath = \"columnType\";\n const columnTypeValue: string | undefined = getIn(values, columnTypePath);\n const columnTypeError: string | undefined = getIn(touched, columnTypePath) && getIn(errors, columnTypePath);\n\n const isIdPath = \"isId\";\n const isIdValue: string | boolean | undefined = getIn(values, isIdPath);\n const isIdError: string | undefined = getIn(touched, isIdPath) && getIn(errors, isIdPath);\n\n return (\n <>\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n\n {widgetId === \"text_field\" &&\n <StringPropertyValidation disabled={disabled}\n length={true}\n lowercase={true}\n matches={true}\n max={true}\n min={true}\n trim={true}\n uppercase={true}\n showErrors={showErrors}/>}\n {widgetId === \"user_select\" &&\n <StringPropertyValidation disabled={disabled}\n showErrors={showErrors}/>}\n\n {widgetId === \"multiline\" &&\n <StringPropertyValidation disabled={disabled}\n length={true}\n lowercase={true}\n max={true}\n min={true}\n trim={true}\n uppercase={true}\n showErrors={showErrors}/>}\n\n {widgetId === \"email\" &&\n <StringPropertyValidation disabled={disabled}\n max={true}\n min={true}\n trim={true}\n showErrors={showErrors}/>}\n\n </ValidationPanel>\n\n </div>\n\n <div className={\"col-span-12\"}>\n <Select name={columnTypePath}\n disabled={disabled || Boolean(isIdValue)}\n fullWidth={true}\n value={isIdValue === \"uuid\" ? \"uuid\" : (columnTypeValue ?? \"_default_\")}\n onValueChange={(v) => setFieldValue(columnTypePath, v === \"_default_\" ? undefined : v)}\n renderValue={(v) => {\n if (isIdValue === \"uuid\") return \"uuid (forced by Primary Key)\";\n switch (v) {\n case \"text\": return \"text (unlimited)\";\n case \"char\": return \"char (fixed length)\";\n case \"varchar\": return \"varchar (variable length)\";\n case \"_default_\": return \"Default (varchar)\";\n default: return \"Default (varchar)\";\n }\n }}\n error={Boolean(columnTypeError)}\n label={t(\"db_column_type\")}>\n {isIdValue === \"uuid\" && <SelectItem value={\"uuid\"}> uuid (forced by Primary Key) </SelectItem>}\n <SelectItem value={\"_default_\"}> Default (varchar) </SelectItem>\n <SelectItem value={\"varchar\"}> varchar (variable length) </SelectItem>\n <SelectItem value={\"text\"}> text (unlimited) </SelectItem>\n <SelectItem value={\"char\"}> char (fixed length) </SelectItem>\n </Select>\n <FieldCaption error={Boolean(columnTypeError)}>\n {columnTypeError ?? \"Optional database override for this string field.\"}\n </FieldCaption>\n </div>\n\n <div className={\"col-span-12\"}>\n <Select name={isIdPath}\n disabled={disabled}\n fullWidth={true}\n value={isIdValue === true ? \"true\" : (isIdValue === false ? \"false\" : (isIdValue ?? \"_default_\"))}\n onValueChange={(v) => {\n if (v === \"_default_\" || v === \"false\") setFieldValue(isIdPath, undefined);\n else if (v === \"true\") setFieldValue(isIdPath, true);\n else setFieldValue(isIdPath, v);\n }}\n renderValue={(v) => {\n switch (v) {\n case \"true\": return \"Yes (Auto-generated UUID/String)\";\n case \"manual\": return \"Yes (Manual input)\";\n case \"uuid\": return \"Yes (UUID)\";\n case \"cuid\": return \"Yes (CUID)\";\n case \"false\":\n case \"_default_\": return \"No\";\n default: return `Yes (${v})`;\n }\n }}\n error={Boolean(isIdError)}\n label={t(\"primary_key_unique_id\")}>\n <SelectItem value={\"_default_\"}> No </SelectItem>\n <SelectItem value={\"manual\"}> Yes (Manual input) </SelectItem>\n <SelectItem value={\"true\"}> Yes (Auto-generated UUID/String) </SelectItem>\n <SelectItem value={\"uuid\"}> Yes (UUID) </SelectItem>\n <SelectItem value={\"cuid\"}> Yes (CUID) </SelectItem>\n </Select>\n <FieldCaption error={Boolean(isIdError)}>\n {isIdError ?? \"Set as Primary Key and configure ID generation strategy.\"}\n </FieldCaption>\n </div>\n\n <div className={\"col-span-12\"}>\n\n <TextField name={\"defaultValue\"}\n disabled={disabled}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue(\"defaultValue\", e.target.value === \"\" ? undefined : e.target.value);\n }}\n label={t(\"default_value\")}\n value={getIn(values, \"defaultValue\") ?? \"\"}/>\n\n </div>\n </>\n );\n}\n","import React from \"react\";\nimport { Field, FormexFieldProps, getIn, useFormex } from \"@rebasepro/formex\";\n\nimport { GeneralPropertyValidation } from \"./validation/GeneralPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { SwitchControl } from \"../SwitchControl\";\n\nexport function BooleanPropertyField({ disabled }: {\n disabled: boolean;\n}) {\n const { values } = useFormex();\n const defaultValue = getIn(values, \"defaultValue\");\n\n return (\n <>\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n <GeneralPropertyValidation disabled={disabled}/>\n </ValidationPanel>\n\n </div>\n\n <div className={\"col-span-12\"}>\n\n <Field\n name={\"defaultValue\"}>\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n size={\"medium\"}\n label={defaultValue === null || defaultValue === undefined ? \"Default value not set\" : (\"Default value is \" + defaultValue.toString())}\n disabled={disabled}\n allowIndeterminate={true} field={field}\n form={form}/>\n }}\n </Field>\n\n </div>\n </>\n );\n}\n","import React, { useState } from \"react\";\nimport { Button, Paper, Typography } from \"@rebasepro/ui\";\nimport { PlusIcon } from \"lucide-react\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\nimport { OnPropertyChangedParams, PropertyFormDialog } from \"../PropertyEditView\";\nimport {\n getFullId,\n getFullIdPath,\n idToPropertiesPath,\n namespaceToPropertiesOrderPath,\n namespaceToPropertiesPath\n} from \"../util\";\nimport { PropertyTree } from \"../PropertyTree\";\nimport { ArrayProperty, PropertyConfig } from \"@rebasepro/types\";\n\nexport function BlockPropertyField({\n disabled,\n getData,\n allowDataInference,\n propertyConfigs\n}: {\n disabled: boolean;\n getData?: () => Promise<object[]>;\n allowDataInference: boolean;\n propertyConfigs: Record<string, PropertyConfig>,\n}) {\n\n const {\n values,\n setFieldValue\n } = useFormex<ArrayProperty>();\n\n const [propertyDialogOpen, setPropertyDialogOpen] = useState<boolean>(false);\n const [selectedPropertyKey, setSelectedPropertyKey] = useState<string | undefined>();\n const [selectedPropertyNamespace, setSelectedPropertyNamespace] = useState<string | undefined>();\n\n const onPropertyChanged = ({\n id,\n namespace,\n property\n }: OnPropertyChangedParams) => {\n if (!id)\n throw Error();\n\n setFieldValue(\"oneOf.\" + getFullIdPath(id, namespace), property, false);\n\n const currentPropertiesOrder = values.oneOf?.propertiesOrder ?? Object.keys(values.oneOf?.properties ?? {});\n const newPropertiesOrder = currentPropertiesOrder.includes(id) ? currentPropertiesOrder : [...currentPropertiesOrder, id];\n setFieldValue(\"oneOf.\" + namespaceToPropertiesOrderPath(namespace), newPropertiesOrder, false);\n setPropertyDialogOpen(false);\n };\n\n const selectedPropertyFullId = selectedPropertyKey ? getFullId(selectedPropertyKey, selectedPropertyNamespace) : undefined;\n const selectedProperty = selectedPropertyFullId ? getIn(values.oneOf?.properties, selectedPropertyFullId.replaceAll(\".\", \".properties.\")) : undefined;\n\n const deleteProperty = (propertyKey?: string, namespace?: string) => {\n const fullId = propertyKey ? getFullId(propertyKey, namespace) : undefined;\n if (!fullId)\n throw Error(\"collection editor miss config\");\n\n setFieldValue(`oneOf.${idToPropertiesPath(fullId)}`, undefined, false);\n const propertiesOrderPath = `oneOf.${namespaceToPropertiesOrderPath(namespace)}`;\n const currentPropertiesOrder: string[] = getIn(values, propertiesOrderPath) ?? Object.keys(getIn(values, namespaceToPropertiesPath(namespace)));\n setFieldValue(propertiesOrderPath, currentPropertiesOrder.filter((p) => p !== propertyKey), false);\n\n setPropertyDialogOpen(false);\n setSelectedPropertyKey(undefined);\n setSelectedPropertyNamespace(undefined);\n };\n\n const addChildButton = <Button\n autoFocus\n onClick={() => setPropertyDialogOpen(true)}\n startIcon={<PlusIcon/>}\n >\n Add property to {values.name ?? \"this block\"}\n </Button>;\n\n const onPropertyMove = (propertiesOrder: string[], namespace?: string) => {\n setFieldValue(`oneOf.${namespaceToPropertiesOrderPath(namespace)}`, propertiesOrder, false);\n };\n\n return (\n <>\n <div className={\"col-span-12\"}>\n <div className={\"flex justify-between items-end mt-8 mb-4\"}>\n <Typography variant={\"subtitle2\"}>\n Properties in this block\n </Typography>\n {addChildButton}\n </div>\n <Paper className=\"p-2 pl-8\">\n\n <PropertyTree\n properties={values.oneOf?.properties ?? {}}\n propertiesOrder={values.oneOf?.propertiesOrder}\n errors={{}}\n\n onPropertyClick={disabled\n ? undefined\n : (propertyKey, namespace) => {\n setSelectedPropertyKey(propertyKey);\n setSelectedPropertyNamespace(namespace);\n setPropertyDialogOpen(true);\n }}\n onPropertyMove={disabled\n ? undefined\n : onPropertyMove}/>\n\n {!disabled && (values.oneOf?.propertiesOrder?.length === 0) &&\n <div className=\"h-full flex items-center justify-center p-4\">\n Add the first property to this block\n </div>}\n\n </Paper>\n </div>\n\n {!disabled && <PropertyFormDialog\n inArray={false}\n forceShowErrors={false}\n open={propertyDialogOpen}\n getData={getData}\n allowDataInference={allowDataInference}\n onCancel={() => {\n setPropertyDialogOpen(false);\n setSelectedPropertyKey(undefined);\n setSelectedPropertyNamespace(undefined);\n }}\n onOkClicked={() => {\n setPropertyDialogOpen(false);\n setSelectedPropertyKey(undefined);\n setSelectedPropertyNamespace(undefined);\n }}\n\n onDelete={deleteProperty}\n propertyKey={selectedPropertyKey}\n propertyNamespace={selectedPropertyNamespace}\n property={selectedProperty}\n existingProperty={Boolean(selectedPropertyKey)}\n autoUpdateId={!selectedPropertyKey}\n autoOpenTypeSelect={!selectedPropertyKey}\n onPropertyChanged={onPropertyChanged}\n existingPropertyKeys={selectedPropertyKey ? undefined : values.oneOf?.propertiesOrder}\n propertyConfigs={propertyConfigs}/>}\n\n </>);\n}\n","import React from \"react\";\n\nimport { Field, FormexFieldProps, getIn, useFormex } from \"@rebasepro/formex\";\nimport { DebouncedTextField } from \"@rebasepro/ui\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { GeneralPropertyValidation } from \"./GeneralPropertyValidation\";\nimport { SwitchControl } from \"../../SwitchControl\";\n\nexport function NumberPropertyValidation({ disabled }: {\n disabled: boolean;\n}) {\n\n const {\n values,\n handleChange\n } = useFormex();\n const { t } = useTranslation();\n\n const validationMin = \"validation.min\";\n const validationMax = \"validation.max\";\n const validationLessThan = \"validation.lessThan\";\n const validationMoreThan = \"validation.moreThan\";\n const validationPositive = \"validation.positive\";\n const validationNegative = \"validation.negative\";\n const validationInteger = \"validation.integer\";\n\n return (\n\n <div className={\"grid grid-cols-12 gap-2\"}>\n <GeneralPropertyValidation disabled={disabled}/>\n\n\n <div className={\"col-span-6\"}>\n <DebouncedTextField value={getIn(values, validationMin)}\n label={t(\"min_value\")}\n name={validationMin}\n type=\"number\"\n size=\"small\"\n disabled={disabled}\n onChange={handleChange}/>\n </div>\n\n <div className={\"col-span-6\"}>\n <DebouncedTextField value={getIn(values, validationMax)}\n label={t(\"max_value\")}\n name={validationMax}\n type=\"number\"\n size=\"small\"\n\n disabled={disabled}\n onChange={handleChange}/>\n </div>\n\n\n <div className={\"col-span-6\"}>\n <DebouncedTextField\n value={getIn(values, validationLessThan)}\n label={t(\"less_than\")}\n name={validationLessThan}\n type=\"number\"\n size=\"small\"\n\n disabled={disabled}\n onChange={handleChange}/>\n </div>\n\n <div className={\"col-span-6\"}>\n <DebouncedTextField\n value={getIn(values, validationMoreThan)}\n label={t(\"more_than\")}\n name={validationMoreThan}\n type=\"number\"\n size=\"small\"\n\n disabled={disabled}\n onChange={handleChange}/>\n </div>\n\n <div className={\"col-span-4\"}>\n <Field name={validationPositive}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"positive_value\")}\n disabled={disabled}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>\n <div className={\"col-span-4\"}>\n <Field name={validationNegative}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"negative_value\")}\n disabled={disabled}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>\n <div className={\"col-span-4\"}>\n <Field name={validationInteger}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={t(\"integer_value\")}\n disabled={disabled}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>\n </div>\n );\n}\n","import { FieldCaption } from \"../../../_cms_internals\";\nimport React from \"react\";\nimport { NumberPropertyValidation } from \"./validation/NumberPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\n;\nimport { Select, SelectItem, TextField } from \"@rebasepro/ui\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\nimport { useTranslation } from \"@rebasepro/core\";\n\nexport function NumberPropertyField({ disabled }: {\n disabled: boolean;\n}) {\n\n const { values, setFieldValue, touched, errors } = useFormex();\n const { t } = useTranslation();\n\n const columnTypePath = \"columnType\";\n const columnTypeValue: string | undefined = getIn(values, columnTypePath);\n const columnTypeError: string | undefined = getIn(touched, columnTypePath) && getIn(errors, columnTypePath);\n\n const isIdPath = \"isId\";\n const isIdValue: string | boolean | undefined = getIn(values, isIdPath);\n const isIdError: string | undefined = getIn(touched, isIdPath) && getIn(errors, isIdPath);\n\n return (\n <>\n\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n <NumberPropertyValidation disabled={disabled}/>\n </ValidationPanel>\n\n </div>\n\n <div className={\"col-span-12\"}>\n <Select name={columnTypePath}\n disabled={disabled || Boolean(isIdValue)}\n fullWidth={true}\n value={columnTypeValue ?? \"_default_\"}\n onValueChange={(v) => setFieldValue(columnTypePath, v === \"_default_\" ? undefined : v)}\n renderValue={(v) => {\n switch (v) {\n case \"integer\": return \"integer\";\n case \"real\": return \"real (float4)\";\n case \"double precision\": return \"double precision (float8)\";\n case \"numeric\": return \"numeric / decimal\";\n case \"bigint\": return \"bigint\";\n case \"serial\": return \"serial\";\n case \"bigserial\": return \"bigserial\";\n case \"_default_\": return \"Default (integer/numeric)\";\n default: return \"Default (integer/numeric)\";\n }\n }}\n error={Boolean(columnTypeError)}\n label={t(\"db_column_type\")}>\n <SelectItem value={\"_default_\"}> Default (integer/numeric) </SelectItem>\n <SelectItem value={\"integer\"}> integer </SelectItem>\n <SelectItem value={\"real\"}> real (float4) </SelectItem>\n <SelectItem value={\"double precision\"}> double precision (float8) </SelectItem>\n <SelectItem value={\"numeric\"}> numeric / decimal </SelectItem>\n <SelectItem value={\"bigint\"}> bigint </SelectItem>\n <SelectItem value={\"serial\"}> serial </SelectItem>\n <SelectItem value={\"bigserial\"}> bigserial </SelectItem>\n </Select>\n <FieldCaption error={Boolean(columnTypeError)}>\n {columnTypeError ?? \"Optional database override for this number field.\"}\n </FieldCaption>\n </div>\n\n <div className={\"col-span-12\"}>\n <Select name={isIdPath}\n disabled={disabled}\n fullWidth={true}\n value={isIdValue === true ? \"true\" : (isIdValue === false ? \"false\" : (isIdValue ?? \"_default_\"))}\n onValueChange={(v) => {\n if (v === \"_default_\" || v === \"false\") setFieldValue(isIdPath, undefined);\n else if (v === \"true\") setFieldValue(isIdPath, true);\n else setFieldValue(isIdPath, v);\n }}\n renderValue={(v) => {\n switch (v) {\n case \"true\": return \"Yes (Auto-increment/identity)\";\n case \"increment\": return \"Yes (Increment)\";\n case \"manual\": return \"Yes (Manual input)\";\n case \"false\":\n case \"_default_\": return \"No\";\n default: return `Yes (${v})`;\n }\n }}\n error={Boolean(isIdError)}\n label={t(\"primary_key_unique_id\")}>\n <SelectItem value={\"_default_\"}> No </SelectItem>\n <SelectItem value={\"manual\"}> Yes (Manual input) </SelectItem>\n <SelectItem value={\"true\"}> Yes (Auto-increment/identity) </SelectItem>\n <SelectItem value={\"increment\"}> Yes (Increment) </SelectItem>\n </Select>\n <FieldCaption error={Boolean(isIdError)}>\n {isIdError ?? \"Set as Primary Key and configure ID generation strategy.\"}\n </FieldCaption>\n </div>\n\n <div className={\"col-span-12\"}>\n\n <TextField name={\"defaultValue\"}\n disabled={disabled}\n type={\"number\"}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue(\"defaultValue\", e.target.value === \"\" ? undefined : parseFloat(e.target.value));\n }}\n label={t(\"default_value\")}\n value={getIn(values, \"defaultValue\") ?? \"\"}/>\n\n </div>\n </>\n );\n}\n","import { IconForView, useTranslation } from \"@rebasepro/core\";\nimport { FieldCaption, useCollectionRegistryController } from \"../../../_cms_internals\";\nimport React from \"react\";\nimport { Field, getIn, useFormex } from \"@rebasepro/formex\";\n;\nimport { NumberProperty, StringProperty } from \"@rebasepro/types\";\nimport { CircularProgress, Select, SelectGroup, SelectItem, Typography } from \"@rebasepro/ui\";\n\nexport function ReferencePropertyField({\n existing,\n multiple,\n disabled,\n showErrors,\n asString\n}: {\n existing: boolean,\n multiple: boolean,\n disabled: boolean,\n showErrors: boolean,\n asString?: boolean\n}) {\n\n const {\n values,\n errors,\n setFieldValue\n } = useFormex<StringProperty | NumberProperty>();\n\n const collectionRegistry = useCollectionRegistryController();\n\n if (!collectionRegistry.initialised)\n return <div className={\"col-span-12\"}>\n <CircularProgress/>\n </div>;\n\n const pathPath = asString ? \"reference.slug\" : (multiple ? \"of.slug\" : \"path\");\n const pathValue: string | undefined = getIn(values, pathPath);\n const pathError: string | undefined = showErrors && getIn(errors, pathPath);\n\n return (\n <>\n <div className={\"col-span-12\"}>\n\n <Field name={pathPath}\n pathPath={pathPath}\n type=\"select\"\n disabled={disabled}\n value={pathValue}\n error={pathError}\n setFieldValue={setFieldValue}\n as={CollectionsSelect}/>\n\n </div>\n\n </>\n );\n}\n\nexport function CollectionsSelect({\n disabled,\n pathPath,\n value,\n setFieldValue,\n error,\n ...props\n}: {\n disabled: boolean,\n pathPath: string,\n value?: string,\n setFieldValue: (field: string, value: string) => void,\n error?: string\n}) {\n\n const collectionRegistry = useCollectionRegistryController();\n const { t } = useTranslation();\n\n if (!collectionRegistry.initialised)\n return <div className={\"col-span-12\"}>\n <CircularProgress/>\n </div>;\n\n const collections = collectionRegistry.collections ?? [];\n\n const groups: string[] = Array.from(new Set(\n Object.values(collections).map(e => e.group).filter(Boolean) as string[]\n ).values());\n\n const ungroupedCollections = collections.filter((col) => !col.group);\n\n return (\n <>\n <Select\n error={Boolean(error)}\n disabled={disabled}\n value={value ?? \"\"}\n position={\"item-aligned\"}\n name={pathPath}\n fullWidth={true}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => setFieldValue(pathPath, e.target.value)}\n label={t(\"target_collection\")}\n renderValue={(selected: string) => {\n const selectedCollection = collections.find(collection => collection.slug === selected);\n if (!selectedCollection) return null;\n return (\n <div className=\"flex flex-row\">\n <IconForView collectionOrView={selectedCollection}/>\n <Typography\n variant={\"subtitle2\"}\n className=\"ml-4\">\n {selectedCollection?.name.toUpperCase()}\n </Typography>\n </div>)\n }}\n {...props}>\n\n {groups.flatMap((group) => (\n <SelectGroup label={group || \"Views\"}\n key={`group_${group}`}>\n {\n collections.filter(collection => collection.group === group)\n .map((collection) => {\n return <SelectItem\n key={`${collection.slug}-${group}`}\n value={collection.slug}>\n <div className=\"flex flex-row\">\n <IconForView collectionOrView={collection}/>\n <Typography\n variant={\"subtitle2\"}\n className=\"ml-4\">\n {collection?.name.toUpperCase()}\n </Typography>\n </div>\n </SelectItem>;\n })\n\n }\n </SelectGroup>\n ))}\n\n {ungroupedCollections && <SelectGroup label={\"Views\"}>\n {ungroupedCollections\n .map((collection) => {\n return <SelectItem key={collection.slug}\n value={collection.slug}>\n <div className=\"flex flex-row\">\n <IconForView collectionOrView={collection}/>\n <Typography\n variant={\"subtitle2\"}\n className=\"ml-4\">\n {collection?.name.toUpperCase()}\n </Typography>\n </div>\n </SelectItem>;\n })\n\n }\n </SelectGroup>}\n\n </Select>\n\n </>\n );\n}\n","import { FieldCaption } from \"../../../_cms_internals\";\nimport React from \"react\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\n;\nimport { NumberProperty, StringProperty } from \"@rebasepro/types\";\nimport { Select, SelectItem } from \"@rebasepro/ui\";\nimport { useTranslation } from \"@rebasepro/core\";\nimport { GeneralPropertyValidation } from \"./validation/GeneralPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\n\n// Common IANA timezones with human-readable labels\nconst TIMEZONES = [\n // UTC\n { value: \"UTC\",\nlabel: \"UTC (Coordinated Universal Time)\" },\n // Americas\n { value: \"America/New_York\",\nlabel: \"New York (US Eastern)\" },\n { value: \"America/Chicago\",\nlabel: \"Chicago (US Central)\" },\n { value: \"America/Denver\",\nlabel: \"Denver (US Mountain)\" },\n { value: \"America/Los_Angeles\",\nlabel: \"Los Angeles (US Pacific)\" },\n { value: \"America/Anchorage\",\nlabel: \"Anchorage (Alaska)\" },\n { value: \"America/Toronto\",\nlabel: \"Toronto (Canada Eastern)\" },\n { value: \"America/Vancouver\",\nlabel: \"Vancouver (Canada Pacific)\" },\n { value: \"America/Mexico_City\",\nlabel: \"Mexico City\" },\n { value: \"America/Sao_Paulo\",\nlabel: \"São Paulo (Brazil)\" },\n { value: \"America/Buenos_Aires\",\nlabel: \"Buenos Aires (Argentina)\" },\n // Europe\n { value: \"Europe/London\",\nlabel: \"London (UK)\" },\n { value: \"Europe/Paris\",\nlabel: \"Paris (France)\" },\n { value: \"Europe/Berlin\",\nlabel: \"Berlin (Germany)\" },\n { value: \"Europe/Madrid\",\nlabel: \"Madrid (Spain)\" },\n { value: \"Europe/Rome\",\nlabel: \"Rome (Italy)\" },\n { value: \"Europe/Amsterdam\",\nlabel: \"Amsterdam (Netherlands)\" },\n { value: \"Europe/Brussels\",\nlabel: \"Brussels (Belgium)\" },\n { value: \"Europe/Zurich\",\nlabel: \"Zurich (Switzerland)\" },\n { value: \"Europe/Stockholm\",\nlabel: \"Stockholm (Sweden)\" },\n { value: \"Europe/Vienna\",\nlabel: \"Vienna (Austria)\" },\n { value: \"Europe/Warsaw\",\nlabel: \"Warsaw (Poland)\" },\n { value: \"Europe/Prague\",\nlabel: \"Prague (Czech Republic)\" },\n { value: \"Europe/Athens\",\nlabel: \"Athens (Greece)\" },\n { value: \"Europe/Moscow\",\nlabel: \"Moscow (Russia)\" },\n { value: \"Europe/Istanbul\",\nlabel: \"Istanbul (Turkey)\" },\n // Asia\n { value: \"Asia/Dubai\",\nlabel: \"Dubai (UAE)\" },\n { value: \"Asia/Kolkata\",\nlabel: \"Mumbai / Delhi (India)\" },\n { value: \"Asia/Bangkok\",\nlabel: \"Bangkok (Thailand)\" },\n { value: \"Asia/Singapore\",\nlabel: \"Singapore\" },\n { value: \"Asia/Hong_Kong\",\nlabel: \"Hong Kong\" },\n { value: \"Asia/Shanghai\",\nlabel: \"Shanghai (China)\" },\n { value: \"Asia/Tokyo\",\nlabel: \"Tokyo (Japan)\" },\n { value: \"Asia/Seoul\",\nlabel: \"Seoul (South Korea)\" },\n { value: \"Asia/Jakarta\",\nlabel: \"Jakarta (Indonesia)\" },\n // Oceania\n { value: \"Australia/Sydney\",\nlabel: \"Sydney (Australia Eastern)\" },\n { value: \"Australia/Melbourne\",\nlabel: \"Melbourne (Australia)\" },\n { value: \"Australia/Brisbane\",\nlabel: \"Brisbane (Australia)\" },\n { value: \"Australia/Perth\",\nlabel: \"Perth (Australia Western)\" },\n { value: \"Pacific/Auckland\",\nlabel: \"Auckland (New Zealand)\" },\n // Africa\n { value: \"Africa/Cairo\",\nlabel: \"Cairo (Egypt)\" },\n { value: \"Africa/Johannesburg\",\nlabel: \"Johannesburg (South Africa)\" },\n { value: \"Africa/Lagos\",\nlabel: \"Lagos (Nigeria)\" }\n];\n\nexport function DateTimePropertyField({ disabled }: {\n disabled: boolean;\n}) {\n\n const {\n values,\n errors,\n touched,\n setFieldValue\n } = useFormex<StringProperty | NumberProperty>();\n const { t } = useTranslation();\n\n const modePath = \"mode\";\n const modeValue: string | undefined = getIn(values, modePath);\n const modeError: string | undefined = getIn(touched, modePath) && getIn(errors, modePath);\n\n const autoValuePath = \"autoValue\";\n const autoValueValue: string | undefined = getIn(values, autoValuePath);\n const autoValueError: string | undefined = getIn(touched, autoValuePath) && getIn(errors, autoValuePath);\n\n const timezonePath = \"timezone\";\n const timezoneValue: string | undefined = getIn(values, timezonePath);\n const timezoneError: string | undefined = getIn(touched, timezonePath) && getIn(errors, timezonePath);\n\n const columnTypePath = \"columnType\";\n const columnTypeValue: string | undefined = getIn(values, columnTypePath);\n const columnTypeError: string | undefined = getIn(touched, columnTypePath) && getIn(errors, columnTypePath);\n\n return (\n <>\n <div className={\"flex flex-col col-span-12 gap-2\"}>\n <div>\n <Select name={modePath}\n value={modeValue ?? \"date\"}\n error={Boolean(modeError)}\n onValueChange={(v) => setFieldValue(modePath, v)}\n label={t(\"mode\")}\n fullWidth={true}\n renderValue={(v) => {\n switch (v) {\n case \"date_time\":\n return \"Date/Time\";\n case \"date\":\n return \"Date\";\n default:\n return \"\";\n }\n }}\n disabled={disabled}>\n <SelectItem value={\"date_time\"}> Date/Time </SelectItem>\n <SelectItem value={\"date\"}> Date </SelectItem>\n </Select>\n <FieldCaption error={Boolean(modeError)}>\n {modeError}\n </FieldCaption>\n </div>\n <div>\n <Select name={autoValuePath}\n disabled={disabled}\n fullWidth={true}\n value={autoValueValue ?? \"\"}\n onValueChange={(v) => setFieldValue(autoValuePath, v === \"none\" ? null : v)}\n renderValue={(v) => {\n switch (v) {\n case \"on_create\":\n return \"On create\";\n case \"on_update\":\n return \"On any update\";\n default:\n return \"None\";\n }\n }}\n error={Boolean(autoValueError)}\n label={t(\"datetime_automatic_value\")}>\n <SelectItem value={\"none\"}> None </SelectItem>\n <SelectItem value={\"on_create\"}> On create </SelectItem>\n <SelectItem value={\"on_update\"}> On any update </SelectItem>\n </Select>\n <FieldCaption error={Boolean(autoValueError)}>\n {autoValueError ?? \"Update this field automatically when creating or updating the entity\"}\n </FieldCaption>\n </div>\n <div>\n <Select name={timezonePath}\n disabled={disabled}\n fullWidth={true}\n value={timezoneValue ?? \"__local__\"}\n onValueChange={(v) => setFieldValue(timezonePath, v === \"__local__\" ? undefined : v)}\n renderValue={(v) => {\n if (!v || v === \"__local__\") return \"Local timezone\";\n const tz = TIMEZONES.find(t => t.value === v);\n return tz?.label ?? v;\n }}\n error={Boolean(timezoneError)}\n label={t(\"timezone\")}>\n <SelectItem value={\"__local__\"}> Local timezone </SelectItem>\n {TIMEZONES.map((tz) => (\n <SelectItem key={tz.value} value={tz.value}>\n {tz.label}\n </SelectItem>\n ))}\n </Select>\n <FieldCaption error={Boolean(timezoneError)}>\n {timezoneError ?? \"Timezone for displaying and inputting dates. Values are always stored in UTC.\"}\n </FieldCaption>\n </div>\n\n </div>\n\n <div className={\"col-span-12\"}>\n <Select name={columnTypePath}\n disabled={disabled}\n fullWidth={true}\n value={columnTypeValue ?? \"_default_\"}\n onValueChange={(v) => setFieldValue(columnTypePath, v === \"_default_\" ? undefined : v)}\n renderValue={(v) => {\n switch (v) {\n case \"timestamp\": return \"timestamp (with timezone)\";\n case \"date\": return \"date\";\n case \"time\": return \"time\";\n case \"_default_\": return \"Default (timestamp)\";\n default: return \"Default (timestamp)\";\n }\n }}\n error={Boolean(columnTypeError)}\n label={t(\"db_column_type\")}>\n <SelectItem value={\"_default_\"}> Default (timestamp) </SelectItem>\n <SelectItem value={\"timestamp\"}> timestamp (with timezone) </SelectItem>\n <SelectItem value={\"date\"}> date </SelectItem>\n <SelectItem value={\"time\"}> time </SelectItem>\n </Select>\n <FieldCaption error={Boolean(columnTypeError)}>\n {columnTypeError ?? \"Optional database override for this date field.\"}\n </FieldCaption>\n </div>\n\n <div className={\"col-span-12\"}>\n <ValidationPanel>\n <GeneralPropertyValidation disabled={disabled}/>\n </ValidationPanel>\n </div>\n </>\n );\n}\n","import React from \"react\";\n\nimport { Field, FormexFieldProps } from \"@rebasepro/formex\";\nimport { SwitchControl } from \"../../SwitchControl\";\n\nexport function AdvancedPropertyValidation({ disabled }: {\n disabled: boolean\n}) {\n\n const columnWidth = \"columnWidth\";\n const hideFromCollection = \"hideFromCollection\";\n const readOnly = \"readOnly\";\n\n return (\n\n <div className={\"grid grid-cols-12 gap-2\"}>\n <div className={\"col-span-12\"}>\n <Field type=\"checkbox\" name={hideFromCollection}>\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={\"Hide from collection\"}\n size={\"medium\"}\n disabled={disabled}\n form={form}\n tooltip={\"Hide this field from the collection view. It will still be visible in the form view\"}\n field={field}/>\n }}\n </Field>\n </div>\n\n <div className={\"col-span-12\"}>\n <Field name={readOnly}\n type=\"checkbox\">\n {({ field, form }: FormexFieldProps) => {\n return <SwitchControl\n label={\"Read only\"}\n size={\"medium\"}\n disabled={disabled}\n tooltip={\"Is this a read only field. Display only as a preview\"}\n form={form}\n field={field}/>\n }}\n </Field>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { GeneralPropertyValidation } from \"./validation/GeneralPropertyValidation\";\n\nexport function KeyValuePropertyField({ disabled }: {\n disabled: boolean;\n}) {\n\n return (\n <>\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n <GeneralPropertyValidation disabled={disabled}/>\n </ValidationPanel>\n\n </div>\n </>\n );\n}\n","import { FieldCaption, useCollectionRegistryController } from \"../../../_cms_internals\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { useFormex } from \"@rebasepro/formex\";\n;\nimport {\n Select,\n SelectItem,\n TextField,\n Typography\n} from \"@rebasepro/ui\";\nimport { EntityCollection, OnAction, RelationProperty } from \"@rebasepro/types\";\n\nimport { CollectionsSelect } from \"./ReferencePropertyField\";\n\nconst ON_ACTION_OPTIONS: OnAction[] = [\"cascade\", \"restrict\", \"no action\", \"set null\", \"set default\"];\n\n/**\n * Property editor form for `type: \"relation\"` properties.\n *\n * This component edits both:\n * 1. The `RelationProperty` fields on the property itself (relationName, etc.)\n * 2. The matching `Relation` entry in `collection.relations[]`\n *\n * When a user configures a relation property, we sync the relation config\n * back to the parent collection's `relations` array so saving the collection\n * persists everything in one go.\n */\nexport function RelationPropertyField({\n disabled,\n showErrors\n}: {\n disabled: boolean;\n showErrors: boolean;\n}) {\n const {\n values,\n errors,\n setFieldValue\n } = useFormex<RelationProperty & { id?: string; _relationConfig?: Record<string, unknown> }>();\n\n const collectionRegistry = useCollectionRegistryController();\n\n // ─── Read the parent collection form to sync `relations[]` ───\n // The PropertyForm is nested inside a parent Formex for the whole collection.\n // We reach it via a second useFormex keyed to the parent context.\n // However, the PropertyForm uses its own isolated Formex, so we can't\n // directly access the parent. Instead, we store the relation config\n // on the property itself and let the save logic merge it.\n //\n // We store the full relation config on a transient `_relationConfig` key\n // so the consumer (CollectionPropertiesEditorForm / save logic) can\n // extract it and place it in `collection.relations[]`.\n\n const relationName = values.relationName ?? \"\";\n // Transient config object stored on the property for editor use.\n // Contains standard Relation fields plus `_targetSlug` for the UI dropdown.\n const relationConfig: Record<string, unknown> = (values._relationConfig as Record<string, unknown>) ?? {};\n\n const targetSlug = (relationConfig._targetSlug as string) ?? \"\";\n const cardinality = (relationConfig.cardinality as string) ?? \"one\";\n const direction = (relationConfig.direction as string) ?? \"owning\";\n const localKey = (relationConfig.localKey as string) ?? \"\";\n const foreignKeyOnTarget = (relationConfig.foreignKeyOnTarget as string) ?? \"\";\n const through = relationConfig.through as Record<string, string> | undefined;\n const throughTable = through?.table ?? \"\";\n const throughSourceColumn = through?.sourceColumn ?? \"\";\n const throughTargetColumn = through?.targetColumn ?? \"\";\n const onUpdate = (relationConfig.onUpdate as string) ?? \"no action\";\n const onDelete = (relationConfig.onDelete as string) ?? \"no action\";\n\n // Whether to show the junction table section\n const showThrough = cardinality === \"many\" && direction === \"owning\";\n // Whether to show the local key field\n const showLocalKey = direction === \"owning\" && cardinality === \"one\";\n // Whether to show the foreign key on target field\n const showForeignKey = direction === \"inverse\";\n\n const updateRelationConfig = useCallback(\n (patch: Record<string, unknown>) => {\n const current = (values._relationConfig as Record<string, unknown>) ?? {};\n setFieldValue(\"_relationConfig\" as keyof (RelationProperty & { _relationConfig?: unknown }), { ...current,\n...patch });\n },\n [values, setFieldValue]\n );\n\n const updateThrough = useCallback(\n (patch: Record<string, unknown>) => {\n const current = (values._relationConfig as Record<string, unknown>) ?? {};\n const currentThrough = (current.through as Record<string, unknown>) ?? {};\n setFieldValue(\"_relationConfig\" as keyof (RelationProperty & { _relationConfig?: unknown }), {\n ...current,\n through: { ...currentThrough,\n...patch }\n });\n },\n [values, setFieldValue]\n );\n\n // Auto-generate relationName from target collection slug\n useEffect(() => {\n if (targetSlug && !relationName) {\n setFieldValue(\"relationName\", targetSlug);\n }\n }, [targetSlug]);\n\n const collections: EntityCollection[] = collectionRegistry?.collections ?? [];\n\n return (\n <>\n {/* ─── Target Collection ─── */}\n <div className={\"col-span-12\"}>\n <CollectionsSelect\n disabled={disabled}\n pathPath={\"_relationConfig._targetSlug\"}\n value={targetSlug}\n setFieldValue={(_, value) => {\n updateRelationConfig({ _targetSlug: value });\n // Auto-generate relation name from target\n if (!relationName || relationName === targetSlug) {\n setFieldValue(\"relationName\", value);\n }\n }}\n error={showErrors && !targetSlug ? \"You must select a target collection\" : undefined}\n />\n <FieldCaption error={showErrors && !targetSlug}>\n {showErrors && !targetSlug\n ? \"You must select a target collection\"\n : \"The collection this relation points to\"}\n </FieldCaption>\n </div>\n\n {/* ─── Relation Name ─── */}\n <div className={\"col-span-12\"}>\n <TextField\n value={relationName}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n setFieldValue(\"relationName\", e.target.value)\n }\n label={\"Relation name\"}\n disabled={disabled}\n error={showErrors && !relationName}\n />\n <FieldCaption error={showErrors && !relationName}>\n {showErrors && !relationName\n ? \"Required\"\n : \"Identifier for this relation (used to link the property to the relation config)\"}\n </FieldCaption>\n </div>\n\n {/* ─── Cardinality ─── */}\n <div className={\"col-span-12 sm:col-span-6\"}>\n <Select\n value={cardinality}\n onValueChange={(v) => updateRelationConfig({ cardinality: v })}\n label={\"Cardinality\"}\n disabled={disabled}\n fullWidth\n renderValue={(v) => v === \"one\" ? \"One (has-one)\" : \"Many (has-many)\"}\n >\n <SelectItem value={\"one\"}>\n <div>\n <Typography variant={\"body2\"}>One (has-one)</Typography>\n <Typography variant={\"caption\"} color={\"secondary\"}>\n This property references a single record\n </Typography>\n </div>\n </SelectItem>\n <SelectItem value={\"many\"}>\n <div>\n <Typography variant={\"body2\"}>Many (has-many)</Typography>\n <Typography variant={\"caption\"} color={\"secondary\"}>\n This property references multiple records\n </Typography>\n </div>\n </SelectItem>\n </Select>\n <FieldCaption>\n Whether the relation returns one or multiple records\n </FieldCaption>\n </div>\n\n {/* ─── Direction ─── */}\n <div className={\"col-span-12 sm:col-span-6\"}>\n <Select\n value={direction}\n onValueChange={(v) => updateRelationConfig({ direction: v })}\n label={\"Direction\"}\n disabled={disabled}\n fullWidth\n renderValue={(v) => v === \"owning\" ? \"Owning\" : \"Inverse\"}\n >\n <SelectItem value={\"owning\"}>\n <div>\n <Typography variant={\"body2\"}>Owning</Typography>\n <Typography variant={\"caption\"} color={\"secondary\"}>\n This table stores the foreign key (or owns the junction table)\n </Typography>\n </div>\n </SelectItem>\n <SelectItem value={\"inverse\"}>\n <div>\n <Typography variant={\"body2\"}>Inverse</Typography>\n <Typography variant={\"caption\"} color={\"secondary\"}>\n The target table stores the foreign key pointing back here\n </Typography>\n </div>\n </SelectItem>\n </Select>\n <FieldCaption>\n Which side of the relation owns the persistence\n </FieldCaption>\n </div>\n\n {/* ─── Local Key (owning + one) ─── */}\n {showLocalKey && (\n <div className={\"col-span-12\"}>\n <TextField\n value={localKey}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n updateRelationConfig({ localKey: e.target.value })\n }\n label={\"Local key (foreign key column on this table)\"}\n disabled={disabled}\n placeholder={\"e.g. author_id\"}\n />\n <FieldCaption>\n Column on this table that references the target&apos;s primary key\n </FieldCaption>\n </div>\n )}\n\n {/* ─── Foreign Key on Target (inverse) ─── */}\n {showForeignKey && (\n <div className={\"col-span-12\"}>\n <TextField\n value={foreignKeyOnTarget}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n updateRelationConfig({ foreignKeyOnTarget: e.target.value })\n }\n label={\"Foreign key on target table\"}\n disabled={disabled}\n placeholder={\"e.g. post_id\"}\n />\n <FieldCaption>\n Column on the target table that references this table&apos;s primary key\n </FieldCaption>\n </div>\n )}\n\n {/* ─── Junction Table (many + owning) ─── */}\n {showThrough && (\n <div className={\"col-span-12\"}>\n <Typography variant={\"label\"} className={\"mb-2\"}>\n Junction table (many-to-many)\n </Typography>\n <div className={\"grid grid-cols-12 gap-4\"}>\n <div className={\"col-span-12\"}>\n <TextField\n value={throughTable}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n updateThrough({ table: e.target.value })\n }\n label={\"Junction table name\"}\n disabled={disabled}\n placeholder={\"e.g. user_roles\"}\n />\n <FieldCaption>\n Name of the intermediate table that connects both collections\n </FieldCaption>\n </div>\n <div className={\"col-span-12 sm:col-span-6\"}>\n <TextField\n value={throughSourceColumn}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n updateThrough({ sourceColumn: e.target.value })\n }\n label={\"Source column\"}\n disabled={disabled}\n placeholder={\"e.g. user_id\"}\n />\n <FieldCaption>\n Column in the junction table referencing this table\n </FieldCaption>\n </div>\n <div className={\"col-span-12 sm:col-span-6\"}>\n <TextField\n value={throughTargetColumn}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n updateThrough({ targetColumn: e.target.value })\n }\n label={\"Target column\"}\n disabled={disabled}\n placeholder={\"e.g. role_id\"}\n />\n <FieldCaption>\n Column in the junction table referencing the target table\n </FieldCaption>\n </div>\n </div>\n </div>\n )}\n\n {/* ─── Cascade Actions ─── */}\n <div className={\"col-span-12 sm:col-span-6\"}>\n <Select\n value={onUpdate}\n onValueChange={(v) => updateRelationConfig({ onUpdate: v })}\n label={\"On update\"}\n disabled={disabled}\n fullWidth\n renderValue={(v) => String(v)}\n >\n {ON_ACTION_OPTIONS.map((action) => (\n <SelectItem key={action} value={action}>\n {action}\n </SelectItem>\n ))}\n </Select>\n <FieldCaption>\n Action when the referenced record is updated\n </FieldCaption>\n </div>\n\n <div className={\"col-span-12 sm:col-span-6\"}>\n <Select\n value={onDelete}\n onValueChange={(v) => updateRelationConfig({ onDelete: v })}\n label={\"On delete\"}\n disabled={disabled}\n fullWidth\n renderValue={(v) => String(v)}\n >\n {ON_ACTION_OPTIONS.map((action) => (\n <SelectItem key={action} value={action}>\n {action}\n </SelectItem>\n ))}\n </Select>\n <FieldCaption>\n Action when the referenced record is deleted\n </FieldCaption>\n </div>\n </>\n );\n}\n","import { ArrayProperty, BooleanProperty, DateProperty, MapProperty, NumberProperty, Property, PropertyConfig, StringProperty } from \"@rebasepro/types\";\nimport { mergeDeep } from \"@rebasepro/utils\";\n\n\nexport function updatePropertyFromWidget(propertyData: any,\n selectedWidgetId: string | undefined,\n propertyConfigs: Record<string, PropertyConfig>): Property {\n\n let updatedProperty;\n if (selectedWidgetId === \"text_field\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"text_field\",\n storage: undefined,\n multiline: undefined,\n markdown: undefined,\n email: undefined,\n url: undefined,\n enum: undefined,\n userSelect: undefined\n } as StringProperty\n );\n } else if (selectedWidgetId === \"user_select\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"user_select\",\n storage: undefined,\n multiline: undefined,\n markdown: undefined,\n email: undefined,\n url: undefined,\n enum: undefined,\n userSelect: true\n } as StringProperty\n );\n } else if (selectedWidgetId === \"multiline\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"multiline\",\n multiline: true,\n storage: undefined,\n markdown: undefined,\n email: undefined,\n url: undefined,\n enum: undefined,\n userSelect: undefined\n } as StringProperty\n );\n } else if (selectedWidgetId === \"markdown\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"markdown\",\n storage: undefined,\n multiline: undefined,\n markdown: true,\n email: undefined,\n url: undefined,\n userSelect: undefined\n } as StringProperty\n );\n } else if (selectedWidgetId === \"url\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"url\",\n storage: undefined,\n multiline: undefined,\n markdown: undefined,\n email: undefined,\n url: true,\n enum: undefined,\n userSelect: undefined\n } as StringProperty\n );\n } else if (selectedWidgetId === \"email\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"email\",\n storage: undefined,\n multiline: undefined,\n markdown: undefined,\n email: true,\n url: undefined,\n enum: undefined,\n userSelect: undefined\n } as StringProperty\n );\n } else if (selectedWidgetId === \"select\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"select\",\n storage: undefined,\n multiline: undefined,\n markdown: undefined,\n email: undefined,\n url: undefined,\n enum: propertyData.enum ?? [],\n userSelect: undefined\n } as StringProperty\n );\n } else if (selectedWidgetId === \"multi_select\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"array\",\n propertyConfig: \"multi_select\",\n of: {\n type: \"string\",\n enum: propertyData.of?.enum ?? []\n }\n } as ArrayProperty\n );\n } else if (selectedWidgetId === \"number_input\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"number\",\n propertyConfig: \"number_input\",\n enum: undefined\n } as NumberProperty\n );\n } else if (selectedWidgetId === \"number_select\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"number\",\n propertyConfig: \"number_select\",\n enum: propertyData.enum ?? []\n } as NumberProperty\n );\n } else if (selectedWidgetId === \"multi_number_select\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"array\",\n propertyConfig: \"multi_number_select\",\n of: {\n type: \"number\",\n enum: propertyData.of?.enum ?? []\n }\n } as ArrayProperty\n );\n } else if (selectedWidgetId === \"file_upload\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"file_upload\",\n storage: {\n storagePath: \"/\"\n }\n } as StringProperty\n );\n } else if (selectedWidgetId === \"multi_file_upload\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"array\",\n propertyConfig: \"multi_file_upload\",\n of: {\n type: \"string\",\n storage: propertyData.of?.storage ?? {\n storagePath: \"/\"\n }\n }\n } as ArrayProperty\n );\n } else if (selectedWidgetId === \"group\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"map\",\n propertyConfig: \"group\",\n keyValue: false,\n properties: propertyData.properties ?? {}\n } as MapProperty\n );\n } else if (selectedWidgetId === \"key_value\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"map\",\n propertyConfig: \"key_value\",\n keyValue: true,\n properties: undefined\n } as MapProperty\n );\n } else if (selectedWidgetId === \"reference\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"reference\",\n propertyConfig: \"reference\"\n } as Property\n );\n } else if (selectedWidgetId === \"reference_as_string\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"string\",\n propertyConfig: \"reference_as_string\"\n } as Property\n );\n } else if (selectedWidgetId === \"multi_references\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"array\",\n propertyConfig: \"multi_references\",\n of: {\n type: \"reference\"\n }\n } as ArrayProperty\n );\n } else if (selectedWidgetId === \"switch\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"boolean\",\n propertyConfig: \"switch\"\n } as BooleanProperty\n );\n } else if (selectedWidgetId === \"date_time\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"date\",\n propertyConfig: \"date_time\",\n mode: \"date_time\"\n } as DateProperty\n );\n } else if (selectedWidgetId === \"relation\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"relation\",\n propertyConfig: \"relation\",\n relationName: propertyData.relationName ?? \"\"\n } as Property\n );\n } else if (selectedWidgetId === \"repeat\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"array\",\n propertyConfig: \"repeat\"\n } as ArrayProperty\n );\n } else if (selectedWidgetId === \"block\") {\n updatedProperty = mergeDeep(\n propertyData,\n {\n type: \"array\",\n propertyConfig: \"block\",\n oneOf: {\n properties: {}\n }\n } as ArrayProperty\n );\n } else if (selectedWidgetId && propertyConfigs[selectedWidgetId]) {\n updatedProperty = {\n ...propertyConfigs[selectedWidgetId].property,\n propertyConfig: selectedWidgetId\n };\n }\n\n return updatedProperty;\n}\n","import React from \"react\";\nimport { StringPropertyValidation } from \"./validation/StringPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { getIn, useFormex } from \"@rebasepro/formex\";\n\nimport { Select, SelectItem, TextField } from \"@rebasepro/ui\";\n\nexport function UrlPropertyField({\n disabled,\n showErrors\n}: {\n disabled: boolean;\n showErrors: boolean;\n}) {\n\n const { values, setFieldValue } = useFormex();\n\n const urlValue = getIn(values, \"url\");\n\n return (\n <>\n <div className={\"col-span-12\"}>\n\n <Select\n disabled={disabled}\n position={\"item-aligned\"}\n fullWidth={true}\n onValueChange={(value: string) => {\n if (value === \"[NONE]\")\n setFieldValue(\"url\", true);\n else\n setFieldValue(\"url\", value);\n }}\n label={\"Preview type\"}\n renderValue={(value: string) => {\n switch (value) {\n case \"image\":\n return \"Image\";\n case \"video\":\n return \"Video\";\n case \"audio\":\n return \"Audio\";\n default:\n return \"Display URL\";\n }\n }}\n value={urlValue ?? \"[NONE]\"}>\n <SelectItem value={\"[NONE]\"}>\n Display URL\n </SelectItem>\n <SelectItem value={\"image\"}>\n Image\n </SelectItem>\n <SelectItem value={\"video\"}>\n Video\n </SelectItem>\n <SelectItem value={\"audio\"}>\n Audio\n </SelectItem>\n </Select>\n </div>\n\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n\n <StringPropertyValidation disabled={disabled}\n max={true}\n min={true}\n trim={true}\n showErrors={showErrors}/>\n\n </ValidationPanel>\n\n </div>\n\n <div className={\"col-span-12\"}>\n\n <TextField name={\"defaultValue\"}\n disabled={disabled}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue(\"defaultValue\", e.target.value === \"\" ? undefined : e.target.value);\n }}\n label={\"Default value\"}\n value={getIn(values, \"defaultValue\") ?? \"\"}/>\n\n </div>\n </>\n );\n}\n","import { DEFAULT_FIELD_CONFIGS } from \"../../../../components/field_configs\";\nimport { PropertyConfigId, PropertyConfig } from \"@rebasepro/types\";\n\nexport const supportedFieldsIds: PropertyConfigId[] = [\n \"text_field\",\n \"multiline\",\n \"markdown\",\n \"url\",\n \"email\",\n \"user_select\",\n \"select\",\n \"multi_select\",\n \"number_input\",\n \"number_select\",\n \"multi_number_select\",\n \"file_upload\",\n \"multi_file_upload\",\n \"reference\",\n \"reference_as_string\",\n \"multi_references\",\n \"relation\",\n \"switch\",\n \"date_time\",\n \"group\",\n \"key_value\",\n \"repeat\",\n \"block\"\n];\n\nexport const supportedFields: Record<string, PropertyConfig> = Object.entries(DEFAULT_FIELD_CONFIGS)\n .filter(([id]) => supportedFieldsIds.includes(id as PropertyConfigId))\n .map(([id, config]) => ({ [id]: config }))\n .reduce((a, b) => ({ ...a,\n...b }), {});\n","\nimport React, { useCallback } from \"react\";\nimport { StringPropertyValidation } from \"./validation/StringPropertyValidation\";\nimport { ValidationPanel } from \"./validation/ValidationPanel\";\nimport { Field, getIn, useFormex } from \"@rebasepro/formex\";\nimport { useTranslation } from \"@rebasepro/core\";\n\nimport { BooleanSwitchWithLabel, DebouncedTextField, ExpandablePanel, TextField, Typography } from \"@rebasepro/ui\";\nimport { UploadCloudIcon, SettingsIcon } from \"lucide-react\";\n\nexport function MarkdownPropertyField({\n disabled,\n showErrors\n}: {\n disabled: boolean;\n showErrors: boolean;\n}) {\n\n const {\n values,\n setFieldValue\n } = useFormex();\n const { t } = useTranslation();\n\n const baseStoragePath = \"storage\";\n const baseMarkdownPath = \"markdown\";\n\n const metadata = `${baseStoragePath}.metadata`;\n const fileName = `${baseStoragePath}.fileName`;\n const maxSize = `${baseStoragePath}.maxSize`;\n const storagePath = `${baseStoragePath}.storagePath`;\n\n // Markdown config paths\n const htmlPath = `${baseMarkdownPath}.html`;\n const transformPastedTextPath = `${baseMarkdownPath}.transformPastedText`;\n\n const fileNameValue = getIn(values, fileName) ?? \"{rand}_{file}\";\n const storagePathValue = getIn(values, storagePath) ?? \"/\";\n const maxSizeValue = getIn(values, maxSize);\n\n // Markdown config values - check if markdown is an object or boolean\n const markdownValue = getIn(values, \"markdown\");\n const isMarkdownObject = typeof markdownValue === \"object\" && markdownValue !== null;\n const htmlValue = isMarkdownObject ? (markdownValue.html ?? true) : true;\n const transformPastedTextValue = isMarkdownObject ? (markdownValue.transformPastedText ?? false) : false;\n\n const hasFilenameCallback = typeof fileNameValue === \"function\";\n const hasStoragePathCallback = typeof storagePathValue === \"function\";\n\n // Handler to update markdown config - converts from boolean to object if needed\n const updateMarkdownConfig = useCallback((key: \"html\" | \"transformPastedText\", value: boolean) => {\n const currentMarkdown = getIn(values, \"markdown\");\n if (typeof currentMarkdown === \"object\" && currentMarkdown !== null) {\n // Already an object, update the key\n setFieldValue(`markdown.${key}`, value);\n } else {\n // Convert from boolean to object\n const defaultConfig = {\n html: true,\n transformPastedText: false\n };\n setFieldValue(\"markdown\", {\n ...defaultConfig,\n [key]: value\n });\n }\n }, [values, setFieldValue]);\n\n return (\n <>\n <div className={\"col-span-12\"}>\n\n <ValidationPanel>\n\n <StringPropertyValidation disabled={disabled}\n length={true}\n lowercase={true}\n max={true}\n min={true}\n trim={true}\n uppercase={true}\n showErrors={showErrors}/>\n\n </ValidationPanel>\n\n </div>\n\n <div className={\"col-span-12\"}>\n <ExpandablePanel\n title={\n <div className=\"flex flex-row text-surface-500\">\n <SettingsIcon/>\n <Typography variant={\"subtitle2\"}\n className=\"ml-4\">\n Paste behavior\n </Typography>\n </div>\n }>\n\n <div className={\"flex flex-col gap-2 p-4\"}>\n <BooleanSwitchWithLabel\n size={\"small\"}\n disabled={disabled}\n value={!htmlValue}\n onValueChange={(value) => updateMarkdownConfig(\"html\", !value)}\n label={t(\"markdown_strip_html\")}\n />\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n Remove HTML tags and inline styles when pasting content from external sources\n </Typography>\n\n <BooleanSwitchWithLabel\n size={\"small\"}\n disabled={disabled}\n value={transformPastedTextValue}\n onValueChange={(value) => updateMarkdownConfig(\"transformPastedText\", value)}\n label={t(\"markdown_convert_pasted\")}\n />\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n Convert rich text (from Google Docs, Word, etc.) to clean markdown format\n </Typography>\n </div>\n </ExpandablePanel>\n </div>\n\n <div className={\"col-span-12\"}>\n <ExpandablePanel\n title={\n <div className=\"flex flex-row text-surface-500\">\n <UploadCloudIcon/>\n <Typography variant={\"subtitle2\"}\n className=\"ml-4\">\n File upload config\n </Typography>\n </div>\n }>\n\n <div className={\"grid grid-cols-12 gap-2 p-4\"}>\n\n <div className={\"col-span-12\"}>\n <Field name={fileName}\n as={DebouncedTextField}\n label={t(\"storage_file_name\")}\n size={\"small\"}\n disabled={hasFilenameCallback || disabled}\n value={hasFilenameCallback ? \"-\" : fileNameValue}\n />\n </div>\n <div className={\"col-span-12\"}>\n <Field name={storagePath}\n as={DebouncedTextField}\n label={t(\"storage_path\")}\n disabled={hasStoragePathCallback || disabled}\n size={\"small\"}\n value={hasStoragePathCallback ? \"-\" : storagePathValue}\n />\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n <p>You can use the following placeholders in\n the file name\n and storage path values:</p>\n <ul>\n <li>{\"{file} - Full name of the uploaded file\"}</li>\n <li>{\"{file.name} - Name of the uploaded file without extension\"}</li>\n <li>{\"{file.ext} - Extension of the uploaded file\"}</li>\n <li>{\"{entityId} - ID of the entity\"}</li>\n <li>{\"{propertyKey} - ID of this field\"}</li>\n <li>{\"{path} - Path of this entity\"}</li>\n <li>{\"{rand} - Random value used to avoid name collisions\"}</li>\n </ul>\n </Typography>\n\n <Typography variant={\"caption\"} className={\"ml-3.5 mt-1 mb-2\"}>\n When using Markdown, the URL of the uploaded files are always saved in the text value\n (not\n the path).\n </Typography>\n </div>\n\n <div className={\"col-span-12\"}>\n <DebouncedTextField name={maxSize}\n type={\"number\"}\n label={t(\"storage_max_size\")}\n size={\"small\"}\n value={maxSizeValue !== undefined && maxSizeValue !== null ? maxSizeValue.toString() : \"\"}\n onChange={(e) => {\n const value = e.target.value;\n if (value === \"\") setFieldValue(maxSize, undefined);\n else setFieldValue(maxSize, parseInt(value));\n }}\n />\n </div>\n\n </div>\n </ExpandablePanel>\n </div>\n\n <div className={\"col-span-12\"}>\n\n <TextField name={\"defaultValue\"}\n disabled={disabled}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue(\"defaultValue\", e.target.value === \"\" ? undefined : e.target.value);\n }}\n label={t(\"default_value\")}\n value={getIn(values, \"defaultValue\") ?? \"\"}/>\n\n </div>\n </>\n );\n}\n","\nimport React, { useDeferredValue, useEffect, useRef, useState } from \"react\";\nimport { deepEqual as equal } from \"fast-equals\"\n\nimport { Formex, FormexController, getIn, useCreateFormex } from \"@rebasepro/formex\";\nimport { ConfirmationDialog } from \"@rebasepro/core\";\nimport { DEFAULT_FIELD_CONFIGS, getFieldConfig, getFieldId } from \"../../../components/field_configs\";\nimport { PropertyConfigBadge } from \"../../../components/PropertyConfigBadge\";\nimport { Property, PropertyConfig, PropertyConfigId } from \"@rebasepro/types\";\nimport { isPropertyBuilder } from \"@rebasepro/common\";\nimport { Button, Card, cls, Dialog, DialogActions, DialogContent, DialogTitle, fieldBackgroundDisabledMixin, fieldBackgroundHoverMixin, fieldBackgroundMixin, IconButton, InfoLabel, Tooltip, Typography , iconSize } from \"@rebasepro/ui\";\nimport { Trash2Icon, AlertTriangleIcon } from \"lucide-react\";\nimport { EnumPropertyField } from \"./properties/EnumPropertyField\";\nimport { StoragePropertyField } from \"./properties/StoragePropertyField\";\nimport { MapPropertyField } from \"./properties/MapPropertyField\";\nimport { RepeatPropertyField } from \"./properties/RepeatPropertyField\";\nimport { CommonPropertyFields } from \"./properties/CommonPropertyFields\";\nimport { StringPropertyField } from \"./properties/StringPropertyField\";\nimport { BooleanPropertyField } from \"./properties/BooleanPropertyField\";\nimport { BlockPropertyField } from \"./properties/BlockPropertyField\";\nimport { NumberPropertyField } from \"./properties/NumberPropertyField\";\nimport { ReferencePropertyField } from \"./properties/ReferencePropertyField\";\nimport { DateTimePropertyField } from \"./properties/DateTimePropertyField\";\nimport { AdvancedPropertyValidation } from \"./properties/advanced/AdvancedPropertyValidation\";\n\nimport { KeyValuePropertyField } from \"./properties/KeyValuePropertyField\";\nimport { RelationPropertyField } from \"./properties/RelationPropertyField\";\nimport { updatePropertyFromWidget } from \"./utils/update_property_for_widget\";\nimport { UrlPropertyField } from \"./properties/UrlPropertyField\";\nimport { supportedFields } from \"./utils/supported_fields\";\nimport { MarkdownPropertyField } from \"./properties/MarkdownPropertyField\";\nimport { isValidRegExp, mergeDeep } from \"@rebasepro/utils\";\n\nexport type PropertyWithId = Property & {\n id?: string\n};\n\nexport type OnPropertyChangedParams = {\n id?: string,\n property: Property,\n namespace?: string,\n previousId?: string\n};\n\nexport type PropertyFormProps = {\n includeIdAndName?: boolean;\n existingProperty: boolean;\n autoUpdateId?: boolean;\n autoOpenTypeSelect: boolean;\n inArray: boolean;\n propertyKey?: string;\n propertyNamespace?: string;\n property?: Property;\n onPropertyChanged?: (params: OnPropertyChangedParams) => void;\n onPropertyChangedImmediate?: boolean;\n onDismiss?: () => void;\n onDelete?: (id?: string, namespace?: string) => void;\n onError?: (id: string, namespace?: string, error?: Record<string, any>) => void;\n initialErrors?: Record<string, any>;\n existingPropertyKeys?: string[];\n forceShowErrors?: boolean;\n allowDataInference: boolean;\n getData?: () => Promise<object[]>;\n getController?: (formex: FormexController<PropertyWithId>) => void;\n propertyConfigs: Record<string, PropertyConfig>;\n\n};\n\nexport const PropertyForm = React.memo(\n function PropertyForm(props: PropertyFormProps) {\n\n const {\n includeIdAndName = true,\n autoOpenTypeSelect,\n existingProperty,\n autoUpdateId,\n inArray,\n propertyKey,\n existingPropertyKeys,\n propertyNamespace,\n property,\n onPropertyChanged,\n onPropertyChangedImmediate = true,\n onDismiss,\n onDelete,\n onError,\n initialErrors,\n forceShowErrors,\n allowDataInference,\n getController,\n getData,\n propertyConfigs\n } = props;\n\n const initialValue: PropertyWithId = {\n id: \"\",\n name: \"\"\n } as PropertyWithId;\n\n const disabled = Boolean(property && isPropertyBuilder(property));\n\n const lastSubmittedProperty = useRef<OnPropertyChangedParams | undefined>(property ? {\n id: propertyKey,\n previousId: propertyKey,\n property\n } : undefined);\n\n const doOnPropertyChanged = ({\n id,\n property\n }: OnPropertyChangedParams) => {\n const params = {\n id,\n previousId: lastSubmittedProperty.current?.id,\n property,\n namespace: propertyNamespace\n };\n lastSubmittedProperty.current = params;\n onPropertyChanged?.(params);\n };\n\n const formexController = useCreateFormex<PropertyWithId>({\n debugId: \"PROPERTY_FORM\",\n initialValues: property\n ? { id: propertyKey,\n...property } as PropertyWithId\n : initialValue,\n initialErrors,\n validateOnChange: true,\n validateOnInitialRender: true,\n onSubmit: (newPropertyWithId, controller) => {\n const {\n id,\n ...property\n } = newPropertyWithId;\n doOnPropertyChanged({\n id,\n property: property as Property\n });\n if (!existingProperty)\n controller.resetForm({ values: initialValue });\n },\n validation: (values) => {\n const errors: Record<string, any> = {};\n if (includeIdAndName) {\n if (!values.name) {\n errors.name = \"Required\";\n } else {\n const nameError = validateName(values.name);\n if (nameError)\n errors.name = nameError;\n }\n if (!values.id) {\n errors.id = \"Required\";\n } else {\n const idError = validateId(values.id, existingPropertyKeys);\n if (idError)\n errors.id = idError;\n }\n }\n\n if (values.type === \"string\") {\n if (values.validation?.matches && !isValidRegExp(values.validation?.matches.toString())) {\n errors.validation = {\n matches: \"Invalid regular expression\"\n }\n }\n }\n if (values.type === \"reference\" && !values.path) {\n errors.slug = \"You must specify a target collection for the field\";\n }\n if (values.propertyConfig === \"repeat\") {\n if (!(\"of\" in values) || !values.of) {\n errors.of = \"You need to specify a repeat field\";\n }\n }\n if (values.propertyConfig === \"block\") {\n if (!(\"oneOf\" in values) || !values.oneOf) {\n errors.oneOf = \"You need to specify the properties of this block\";\n }\n }\n return errors;\n }\n });\n\n useEffect(() => {\n getController?.(formexController);\n }, [formexController, getController]);\n\n return <Formex value={formexController}>\n <PropertyEditFormFields\n onPropertyChanged={onPropertyChangedImmediate\n ? doOnPropertyChanged\n : undefined}\n onDelete={onDelete}\n includeIdAndTitle={includeIdAndName}\n propertyNamespace={propertyNamespace}\n onError={onError}\n onDismiss={onDismiss}\n showErrors={forceShowErrors || formexController.submitCount > 0}\n existing={existingProperty}\n autoUpdateId={autoUpdateId}\n inArray={inArray}\n autoOpenTypeSelect={autoOpenTypeSelect}\n disabled={disabled}\n getData={getData}\n allowDataInference={allowDataInference}\n propertyConfigs={propertyConfigs}\n {...formexController}/>\n </Formex>;\n }, (a, b) =>\n a.getData === b.getData &&\n a.propertyKey === b.propertyKey &&\n a.propertyNamespace === b.propertyNamespace &&\n a.includeIdAndName === b.includeIdAndName &&\n a.autoOpenTypeSelect === b.autoOpenTypeSelect &&\n a.autoUpdateId === b.autoUpdateId &&\n a.existingPropertyKeys === b.existingPropertyKeys &&\n a.existingProperty === b.existingProperty\n);\n\nexport function PropertyFormDialog({\n open,\n onCancel,\n onOkClicked,\n onPropertyChanged,\n getData,\n ...formProps\n}: PropertyFormProps & {\n open?: boolean;\n onOkClicked?: () => void;\n onCancel?: () => void;\n}) {\n const formexRef = useRef<FormexController<PropertyWithId>>(undefined);\n const getController = (helpers: FormexController<PropertyWithId>) => {\n formexRef.current = helpers;\n };\n\n return <Dialog\n open={open ?? false}\n maxWidth={\"xl\"}\n fullWidth={true}\n >\n <form noValidate={true}\n autoComplete={\"off\"}\n onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n formexRef.current?.handleSubmit(e)\n }}>\n <DialogTitle hidden>Property edit view</DialogTitle>\n <DialogContent>\n\n <PropertyForm {...formProps}\n onDismiss={onCancel}\n onPropertyChanged={(params) => {\n onPropertyChanged?.(params);\n onOkClicked?.();\n }}\n\n onPropertyChangedImmediate={false}\n getController={getController}\n getData={getData}\n />\n </DialogContent>\n\n <DialogActions>\n\n {onCancel && <Button\n variant={\"text\"}\n onClick={() => {\n onCancel();\n formexRef.current?.resetForm();\n }}>\n Cancel\n </Button>}\n\n <Button type={\"submit\"}>\n Ok\n </Button>\n </DialogActions>\n </form>\n </Dialog>;\n\n}\n\nfunction PropertyEditFormFields({\n values,\n errors,\n setValues,\n existing,\n autoUpdateId = false,\n autoOpenTypeSelect,\n includeIdAndTitle,\n onPropertyChanged,\n onDelete,\n propertyNamespace,\n onDismiss,\n onError,\n showErrors,\n disabled,\n inArray,\n getData,\n allowDataInference,\n propertyConfigs\n}: {\n includeIdAndTitle?: boolean;\n existing: boolean;\n autoUpdateId?: boolean;\n autoOpenTypeSelect: boolean;\n propertyNamespace?: string;\n onDismiss?: () => void;\n onPropertyChanged?: (params: OnPropertyChangedParams) => void;\n onDelete?: (id?: string, namespace?: string) => void;\n onError?: (id: string, namespace?: string, error?: Record<string, any>) => void;\n showErrors: boolean;\n inArray: boolean;\n disabled: boolean;\n getData?: () => Promise<object[]>;\n allowDataInference: boolean;\n propertyConfigs: Record<string, PropertyConfig>;\n\n} & FormexController<PropertyWithId>) {\n\n const [selectOpen, setSelectOpen] = useState(autoOpenTypeSelect);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n const [selectedFieldConfigId, setSelectedFieldConfigId] = useState<string | undefined>(values?.type ? getFieldId(values) : undefined);\n\n const deferredValues = useDeferredValue(values);\n const nameFieldRef = useRef<HTMLInputElement>(null);\n\n const lastSubmittedProperty = useRef<object>(values);\n\n const selectedWidgetError = showErrors && getIn(errors, \"selectedWidget\");\n\n useEffect(() => {\n if (onPropertyChanged) {\n if ((!includeIdAndTitle || deferredValues.id)) {\n const {\n id,\n ...property\n } = deferredValues;\n if (!equal(deferredValues, lastSubmittedProperty.current)) {\n onPropertyChanged({\n id,\n property,\n namespace: propertyNamespace\n });\n lastSubmittedProperty.current = deferredValues;\n }\n }\n }\n }, [deferredValues, includeIdAndTitle, propertyNamespace]);\n\n useEffect(() => {\n if (values?.id && onError) {\n onError(values?.id, propertyNamespace, errors);\n }\n }, [errors, propertyNamespace, values?.id]);\n\n const onWidgetSelectChanged = (newSelectedWidgetId: PropertyConfigId) => {\n setSelectedFieldConfigId(newSelectedWidgetId);\n setValues(updatePropertyFromWidget(values, newSelectedWidgetId, propertyConfigs));\n // Ugly hack to autofocus the name field\n setTimeout(() => {\n nameFieldRef.current?.focus();\n }, 0);\n };\n\n let childComponent;\n if (selectedFieldConfigId === \"text_field\" ||\n selectedFieldConfigId === \"multiline\" ||\n selectedFieldConfigId === \"user_select\" ||\n selectedFieldConfigId === \"email\") {\n childComponent =\n <StringPropertyField widgetId={selectedFieldConfigId}\n disabled={disabled}\n showErrors={showErrors}/>;\n } else if (selectedFieldConfigId === \"url\") {\n childComponent =\n <UrlPropertyField disabled={disabled}\n showErrors={showErrors}/>;\n } else if (selectedFieldConfigId === \"markdown\") {\n childComponent =\n <MarkdownPropertyField disabled={disabled}\n showErrors={showErrors}/>;\n } else if (selectedFieldConfigId === \"select\" ||\n selectedFieldConfigId === \"number_select\") {\n childComponent = <EnumPropertyField\n multiselect={false}\n allowDataInference={allowDataInference}\n updateIds={!existing}\n disabled={disabled}\n getData={getData}\n propertyNamespace={propertyNamespace}\n showErrors={showErrors}/>;\n } else if (selectedFieldConfigId === \"multi_select\" ||\n selectedFieldConfigId === \"multi_number_select\") {\n childComponent = <EnumPropertyField\n multiselect={true}\n updateIds={!existing}\n disabled={disabled}\n allowDataInference={allowDataInference}\n getData={getData}\n propertyNamespace={propertyNamespace}\n showErrors={showErrors}/>;\n } else if (selectedFieldConfigId === \"file_upload\") {\n childComponent =\n <StoragePropertyField existing={existing}\n multiple={false}\n disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"multi_file_upload\") {\n childComponent =\n <StoragePropertyField existing={existing}\n multiple={true}\n disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"switch\") {\n childComponent = <BooleanPropertyField disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"number_input\") {\n childComponent = <NumberPropertyField disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"group\") {\n childComponent =\n <MapPropertyField disabled={disabled} getData={getData} allowDataInference={allowDataInference}\n propertyConfigs={propertyConfigs}/>;\n } else if (selectedFieldConfigId === \"block\") {\n childComponent =\n <BlockPropertyField disabled={disabled} getData={getData} allowDataInference={allowDataInference}\n propertyConfigs={propertyConfigs}/>;\n } else if (selectedFieldConfigId === \"reference\") {\n childComponent =\n <ReferencePropertyField showErrors={showErrors}\n existing={existing}\n multiple={false}\n disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"reference_as_string\") {\n childComponent =\n <ReferencePropertyField showErrors={showErrors}\n existing={existing}\n asString={true}\n multiple={false}\n disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"date_time\") {\n childComponent = <DateTimePropertyField disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"multi_references\") {\n childComponent =\n <ReferencePropertyField showErrors={showErrors}\n existing={existing}\n multiple={true}\n disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"repeat\") {\n childComponent =\n <RepeatPropertyField showErrors={showErrors}\n existing={existing}\n getData={getData}\n allowDataInference={allowDataInference}\n disabled={disabled}\n propertyConfigs={propertyConfigs}/>;\n } else if (selectedFieldConfigId === \"key_value\") {\n childComponent =\n <KeyValuePropertyField disabled={disabled}/>;\n } else if (selectedFieldConfigId === \"relation\") {\n childComponent =\n <RelationPropertyField\n showErrors={showErrors}\n disabled={disabled}/>;\n } else {\n childComponent = null;\n }\n\n return (\n <>\n {disabled && <InfoLabel mode={\"warn\"}>\n <Typography>This property can&apos;t be edited</Typography>\n <Typography variant={\"caption\"}>\n You may not have permission to\n edit it or it is defined in code and cannot be modified.\n </Typography>\n </InfoLabel>}\n\n <div className=\"flex mt-2 justify-between\">\n <div className={\"w-full flex flex-col gap-2\"}>\n <WidgetSelectView\n initialProperty={values}\n value={selectedFieldConfigId as PropertyConfigId}\n onValueChange={(value) => onWidgetSelectChanged(value as PropertyConfigId)}\n open={selectOpen}\n onOpenChange={(open, hasValue) => {\n if (!hasValue) {\n onDismiss?.();\n }\n setSelectOpen(open);\n }}\n disabled={disabled}\n showError={Boolean(selectedWidgetError)}\n existing={existing}\n propertyConfigs={propertyConfigs}\n inArray={inArray}/>\n\n {!!selectedWidgetError &&\n <Typography variant=\"caption\"\n className={\"ml-3.5\"}\n color={\"error\"}>Required</Typography>}\n\n {/*<Typography variant=\"caption\" className={\"ml-3.5\"}>Define your own custom properties and*/}\n {/* components</Typography>*/}\n\n </div>\n\n {onDelete && values?.id &&\n <IconButton\n variant={\"ghost\"}\n className=\"m-4\"\n disabled={disabled}\n onClick={() => setDeleteDialogOpen(true)}>\n <Trash2Icon/>\n </IconButton>}\n </div>\n\n <div className={\"grid grid-cols-12 gap-y-8 mt-6 mb-8\"}>\n {includeIdAndTitle &&\n <CommonPropertyFields showErrors={showErrors}\n disabledId={existing}\n isNewProperty={!existing}\n disabled={disabled}\n autoUpdateId={autoUpdateId}\n ref={nameFieldRef}/>}\n\n {childComponent}\n\n <div className={\"col-span-12\"}>\n <AdvancedPropertyValidation disabled={disabled}/>\n </div>\n </div>\n\n {onDelete &&\n <ConfirmationDialog open={deleteDialogOpen}\n onAccept={() => onDelete(values?.id, propertyNamespace)}\n onCancel={() => setDeleteDialogOpen(false)}\n title={<div>Delete this property?</div>}\n body={\n <div> This will <b>not delete any\n data</b>, only modify the\n collection.</div>\n }/>}\n\n </>\n );\n}\n\nconst idRegEx = /^[a-zA-Z_][a-zA-Z0-9_]*$/;\n\nfunction validateId(value?: string, existingPropertyKeys?: string[]) {\n\n let error;\n if (!value) {\n error = \"You must specify an id for the field\";\n }\n if (value && !value.match(idRegEx)) {\n error = \"The id can only contain letters, numbers and underscores (_), and not start with a number\";\n }\n if (value && existingPropertyKeys && existingPropertyKeys.includes(value)) {\n error = \"There is another field with this ID already\";\n }\n return error;\n}\n\nfunction validateName(value: string) {\n let error;\n if (!value) {\n error = \"You must specify a title for the field\";\n }\n return error;\n}\n\nconst WIDGET_TYPE_MAP: Record<PropertyConfigId, string> = {\n text_field: \"Text\",\n multiline: \"Text\",\n markdown: \"Text\",\n url: \"Text\",\n email: \"Text\",\n switch: \"Boolean\",\n user_select: \"Users\",\n select: \"Select\",\n multi_select: \"Select\",\n number_input: \"Number\",\n number_select: \"Select\",\n multi_number_select: \"Select\",\n file_upload: \"File\",\n multi_file_upload: \"File\",\n relation: \"Relation\",\n reference: \"Reference\",\n reference_as_string: \"Text\",\n multi_references: \"Reference\",\n date_time: \"Date\",\n group: \"Group\",\n key_value: \"Group\",\n repeat: \"Array\",\n custom_array: \"Array\",\n block: \"Group\"\n};\n\nfunction WidgetSelectView({\n initialProperty,\n value,\n onValueChange,\n open,\n onOpenChange,\n disabled,\n showError,\n existing,\n propertyConfigs,\n inArray\n}: {\n initialProperty?: PropertyWithId,\n value?: PropertyConfigId,\n onValueChange: (value: string) => void,\n showError: boolean,\n open: boolean,\n onOpenChange: (open: boolean, hasValue: boolean) => void,\n disabled: boolean,\n existing: boolean,\n propertyConfigs: Record<string, PropertyConfig>,\n inArray?: boolean\n}) {\n\n const allSupportedFields = Object.entries(supportedFields).concat(Object.entries(propertyConfigs));\n\n const displayedWidgets = (inArray\n ? allSupportedFields.filter(([_, propertyConfig]) => !isPropertyBuilder(propertyConfig.property as Property) && (propertyConfig.property as Property)?.type !== \"array\")\n : allSupportedFields)\n .map(([key, propertyConfig]) => ({\n [key]: propertyConfig\n }))\n .reduce((a, b) => {\n return {\n ...a,\n ...b\n }\n }, {});\n\n const key = value;\n const propertyConfig = key ? (DEFAULT_FIELD_CONFIGS[key] ?? propertyConfigs[key]) : undefined;\n const baseProperty = propertyConfig?.property;\n const baseFieldConfig = baseProperty && !isPropertyBuilder(baseProperty as Property) ? getFieldConfig(baseProperty as Property, propertyConfigs) : undefined;\n const computedFieldConfig = baseFieldConfig && propertyConfig ? mergeDeep(baseFieldConfig, propertyConfig) : propertyConfig;\n\n const groups: string[] = [...new Set(Object.keys(displayedWidgets).map(key => {\n const group = WIDGET_TYPE_MAP[key as PropertyConfigId];\n if (group) {\n return group;\n }\n return \"Custom/Other\"\n }))];\n\n return <>\n <div\n onClick={() => {\n if (!disabled) {\n onOpenChange(!open, Boolean(value));\n }\n }}\n className={cls(\n \"select-none rounded-md text-sm py-2 px-1 transition-colors duration-200\",\n !disabled && \"hover:bg-surface-50 dark:hover:bg-surface-800 cursor-pointer\",\n \"relative flex items-center mb-2\"\n )}>\n {!value && <em>Select a property widget</em>}\n {value && computedFieldConfig && <div\n className={cls(\n \"flex items-center\")}>\n <div className={\"mr-4\"}>\n <PropertyConfigBadge propertyConfig={computedFieldConfig}/>\n </div>\n <div className={\"flex flex-col items-start text-left\"}>\n <div className=\"font-semibold text-text-primary dark:text-text-primary-dark tracking-tight\">{computedFieldConfig.name}</div>\n <Typography variant={\"caption\"}\n className=\"text-text-secondary dark:text-text-secondary-dark mt-0.5\">\n {computedFieldConfig.description}\n </Typography>\n </div>\n </div>}\n </div>\n <Dialog open={open}\n onOpenChange={(open: boolean) => onOpenChange(open, Boolean(value))}\n maxWidth={\"4xl\"}>\n <DialogTitle>\n Select a property widget\n </DialogTitle>\n <DialogContent>\n <div>\n {groups.map(group => {\n return <div key={group} className={\"mt-4\"}>\n <Typography variant={\"label\"}>{group}</Typography>\n <div className={\"grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-2 mt-4\"}>\n {Object.entries(displayedWidgets).map(([key, propertyConfig]) => {\n const groupKey = WIDGET_TYPE_MAP[key as PropertyConfigId];\n if (groupKey === group) {\n return <WidgetSelectViewItem\n key={key}\n initialProperty={initialProperty}\n onClick={() => {\n onValueChange(key);\n onOpenChange(false, true);\n }}\n propertyConfig={propertyConfig}\n existing={existing}/>;\n }\n return null;\n })}\n </div>\n </div>;\n })}\n {/*{displayedWidgets.map(([key, propertyConfig]) => {*/}\n {/* return <WidgetSelectViewItem*/}\n {/* key={key}*/}\n {/* initialProperty={initialProperty}*/}\n {/* onClick={() => {*/}\n {/* onValueChange(key);*/}\n {/* onOpenChange(false);*/}\n {/* }}*/}\n {/* propertyConfig={propertyConfig}*/}\n {/* existing={existing}/>;*/}\n {/*})}*/}\n </div>\n </DialogContent>\n </Dialog>\n </>;\n}\n\nexport interface PropertySelectItemProps {\n onClick?: () => void;\n initialProperty?: PropertyWithId;\n propertyConfig: PropertyConfig;\n existing: boolean;\n}\n\nexport function WidgetSelectViewItem({\n onClick,\n initialProperty,\n // optionDisabled,\n propertyConfig,\n existing\n}: PropertySelectItemProps) {\n const baseProperty = propertyConfig.property;\n const shouldWarnChangingtype = existing && !isPropertyBuilder(baseProperty as Property) && (baseProperty as Property).type !== initialProperty?.type;\n\n return <Card\n onClick={onClick}\n className={\"flex flex-row items-center px-4 py-2 m-1\"}>\n <div\n className={cls(\n \"flex flex-row items-center text-base min-h-[48px]\"\n )}>\n <div className={\"mr-8\"}>\n <PropertyConfigBadge propertyConfig={propertyConfig} disabled={shouldWarnChangingtype}/>\n </div>\n <div>\n <div className={\"flex flex-row gap-2 items-center\"}>\n {shouldWarnChangingtype && <Tooltip\n title={\"This widget uses a different data type than the initially selected widget. This can cause errors with existing data.\"}>\n <AlertTriangleIcon size={iconSize.smallest} className={\"w-4\"}/>\n </Tooltip>}\n <Typography\n variant={\"label\"}\n color={shouldWarnChangingtype ? \"secondary\" : undefined}>{propertyConfig.name}</Typography>\n </div>\n\n <Typography variant={\"caption\"}\n color={\"secondary\"}\n className={\"max-w-sm\"}>\n {propertyConfig.description}\n </Typography>\n\n </div>\n </div>\n </Card>\n}\n"],"names":["EnumForm","t0","$","_c","enumValues","onValuesChanged","onError","updateIds","disabled","allowDataInference","getData","t1","enum","t2","values","enumErrors","hasAnyError","forEach","enumValue","index","fieldError","label","id","errors","t3","initialValues","validateOnChange","validation","formex","useCreateFormex","values_0","errors_0","t4","t5","useEffect","t6","t7","t8","EnumFormFields","enumValuesPath","shouldUpdateId","setFieldValue","useFormex","lastInternalIdAdded","setLastInternalIdAdded","React","useState","editDialogIndex","setEditDialogIndex","inferring","setInferring","Symbol","for","Set","inferredValuesRef","useRef","inferredValues","current","internalId","justAdded","entryError","has","buildEntry","then","data","flatData","flat","fieldData","Array","from","currentEnumValues","foundEnumValues","extractEnumFromValues","newEnumValues","filter","some","v","enumValue_0","add","catch","_temp","finally","inferValues","value","t9","t10","t11","undefined","t12","t13","t14","t15","e","console","error","EnumEntry","memo","EnumEntryInternal","updateId","autoFocus","onDialogOpen","inferredEntry","shouldUpdateIdRef","getIn","idValue","labelValue","currentLabelRef","iconSize","small","Boolean","DebouncedTextField","areEqual","prevProps","nextProps","equal","EnumEntryDialog","open","onClose","idError","open_0","SwitchControl","field","form","tooltip","size","allowIndeterminate","name","checked","formControlLabel","GeneralPropertyValidation","handleChange","t","useTranslation","validationRequired","validationUnique","field_0","form_0","validationRequiredMessage","StringPropertyValidation","length","lowercase","matches","max","min","trim","uppercase","matchesError","matchesValue","serializeRegExp","matchesStringValue","validationLowercase","validationUppercase","validationTrim","field_1","form_1","validationLength","validationMin","validationMax","validationMatches","ArrayPropertyValidation","ValidationPanel","children","EnumPropertyField","multiselect","showErrors","propertyNamespace","setFieldError","snackbarContext","useSnackbarController","defaultValue","valuesEnumValues","useMemo","resolveEnumValues","enumIds","map","includes","type","message","fullPropertyPath","hasError","res","entry","toString","fileTypes","StoragePropertyField","multiple","existing","baseStoragePath","acceptedFiles","fileName","maxSize","storagePath","storeUrl","includeBucketUrl","imageResize","imageResizeMaxWidth","imageResizeMaxHeight","imageResizeMode","imageResizeFormat","imageResizeQuality","fileNameValue","storagePathValue","T0","T1","t16","t17","t18","t19","t20","t21","maxSizeValue","imageResizeMaxWidthValue","imageResizeMaxHeightValue","t22","imageResizeModeValue","t23","imageResizeFormatValue","imageResizeQualityValue","t24","storedValue","fileTypesValue","isArray","allFileTypesSelected","t25","handleTypesChange","hasFilenameCallback","hasStoragePathCallback","ExpandablePanel","t26","t27","t28","Object","entries","t29","value_0","preventDefault","stopPropagation","_temp3","t30","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","t41","t42","t43","t44","t45","e_0","value_1","target","parseInt","t46","t47","t48","e_1","value_2","t49","t50","t51","e_2","value_3","t52","t53","value_4","t54","t55","t56","_temp4","t57","t58","value_5","t59","t60","t61","t62","t63","_temp5","e_3","value_6","numValue","selected_1","selected","charAt","toUpperCase","slice","selected_0","_temp2","join","v_0","PropertyFieldPreview","property","propertyKey","onClick","includeName","includeEditButton","propertyConfigs","useCustomizationController","getFieldConfig","propertyConfig","cls","columnType","NonEditablePropertyPreview","isPropertyBuilder","AIModifiedPathsContext","createContext","AIModifiedPathsProvider","modifiedPaths","setModifiedPaths","generationCounter","setGenerationCounter","operations","prev","newSet","op","path","parts","split","addModifiedPaths","prev_1","newSet_0","p","startsWith","delete","clearPath","clearAllPaths","path_0","p_0","isPathModified","contextValue","prev_0","useAIModifiedPaths","useContext","PropertyTree","namespace","selectedPropertyKey","onPropertyClick","properties","propertiesOrder","propertiesOrderProp","additionalFields","onPropertyMove","onPropertyRemove","className","inferredPropertyKeys","propertyKeys","keys","key","filteredOrder","missingKeys","key_0","activationConstraint","distance","coordinateGetter","sortableKeyboardCoordinates","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","handleDragEnd","event","active","over","activeId","String","overId","activeKey","pop","overKey","oldIndex","indexOf","newIndex","newPropertiesOrder","removed","splice","items","key_1","getFullId","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","additionalField","find","warn","PropertyTreeEntry","attributes","listeners","setNodeRef","transform","transition","isDragging","useSortable","CSS","Translate","zIndex","position","style","isPropertyInferred","fullId","fullIdPath","getFullIdPath","subtree","editable","aiModifiedPaths","isAIModified","defaultBorderMixin","left","top","bottom","smallest","currentIndex","newOrder","k","unshift","currentIndex_0","newOrder_0","k_0","push","MapPropertyField","propertyDialogOpen","setPropertyDialogOpen","setSelectedPropertyKey","selectedPropertyNamespace","setSelectedPropertyNamespace","Error","currentPropertiesOrder","onPropertyCreated","propertiesPath","idToPropertiesPath","propertiesOrderPath","namespaceToPropertiesOrderPath","currentPropertiesOrder_0","namespaceToPropertiesPath","deleteProperty","selectedPropertyFullId","replaceAll","selectedProperty","empty","propertiesOrder_0","namespace_0","propertyKey_0","namespace_1","spreadChildren","RepeatPropertyField","touched","ofProperty","ofPropertyError","onPropertyChanged","widget","CommonPropertyFields","forwardRef","ref","disabledId","autoUpdateId","setFieldTouched","nameError","descriptionError","newNameValue","idTouched","toSnakeCase","fontSize","newIdValue","nameTouched","prettifyIdentifier","description","StringPropertyField","widgetId","columnTypeValue","columnTypeError","isIdValue","isIdError","columnTypePath","v_1","isIdPath","v_2","BooleanPropertyField","BlockPropertyField","oneOf","addChildButton","namespace_2","NumberPropertyValidation","validationLessThan","validationMoreThan","validationPositive","validationNegative","validationInteger","NumberPropertyField","parseFloat","ReferencePropertyField","asString","collectionRegistry","useCollectionRegistryController","initialised","pathPath","pathValue","pathError","CollectionsSelect","props","collections","groups","ungroupedCollections","selectedCollection","collection","slug","flatMap","group","collection_0","collection_1","collection_2","col","TIMEZONES","DateTimePropertyField","modeValue","modeError","autoValueValue","autoValueError","timezoneValue","timezoneError","modePath","autoValuePath","v_3","timezonePath","v_5","v_6","tz_0","tz","v_4","t_0","AdvancedPropertyValidation","hideFromCollection","readOnly","KeyValuePropertyField","ON_ACTION_OPTIONS","RelationPropertyField","relationName","_relationConfig","relationConfig","targetSlug","_targetSlug","cardinality","direction","localKey","foreignKeyOnTarget","through","throughTable","table","throughSourceColumn","sourceColumn","throughTargetColumn","targetColumn","onUpdate","onDelete","showThrough","showLocalKey","showForeignKey","patch","updateRelationConfig","patch_0","current_0","currentThrough","updateThrough","_","e_4","_temp6","action_0","action","updatePropertyFromWidget","propertyData","selectedWidgetId","updatedProperty","mergeDeep","storage","multiline","markdown","email","url","userSelect","of","keyValue","mode","UrlPropertyField","urlValue","supportedFieldsIds","supportedFields","DEFAULT_FIELD_CONFIGS","config","reduce","a","b","MarkdownPropertyField","markdownValue","isMarkdownObject","htmlValue","html","transformPastedTextValue","transformPastedText","currentMarkdown","defaultConfig","updateMarkdownConfig","PropertyForm","includeIdAndName","autoOpenTypeSelect","existingProperty","inArray","existingPropertyKeys","onPropertyChangedImmediate","onDismiss","initialErrors","forceShowErrors","getController","initialValue","previousId","lastSubmittedProperty","property_0","params","doOnPropertyChanged","newPropertyWithId","controller","id_0","property_1","resetForm","validateName","validateId","isValidRegExp","debugId","validateOnInitialRender","onSubmit","formexController","submitCount","PropertyFormDialog","formProps","onCancel","onOkClicked","formexRef","helpers","handleSubmit","PropertyEditFormFields","setValues","includeIdAndTitle","selectOpen","setSelectOpen","deleteDialogOpen","setDeleteDialogOpen","getFieldId","selectedFieldConfigId","setSelectedFieldConfigId","deferredValues","useDeferredValue","nameFieldRef","selectedWidgetError","newSelectedWidgetId","setTimeout","focus","onWidgetSelectChanged","childComponent","hasValue","idRegEx","match","WIDGET_TYPE_MAP","text_field","switch","user_select","select","multi_select","number_input","number_select","multi_number_select","file_upload","multi_file_upload","relation","reference","reference_as_string","multi_references","date_time","key_value","repeat","custom_array","block","WidgetSelectView","initialProperty","onValueChange","onOpenChange","allSupportedFields","concat","displayedWidgets","propertyConfig_1","baseProperty","baseFieldConfig","computedFieldConfig","Dialog","DialogContent","group_0","key_2","propertyConfig_2","groupKey","propertyConfig_0","WidgetSelectViewItem","shouldWarnChangingtype"],"mappings":"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O;AAAA,EAAA;AAAA;AAAA,EAEH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA;AAAA,EAEH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;AAAA,EAAA;AAAA,EACH;AAAA,IAAE8D,OAAO;AAAA,IACb9D,OAAO;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"}