@rebasepro/admin 0.0.1-canary.eae7889 → 0.0.1-canary.eb08332

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 (716) hide show
  1. package/LICENSE +21 -6
  2. package/README.md +139 -0
  3. package/dist/CollectionEditorDialog-DKGlYDPc.js +3630 -0
  4. package/dist/CollectionEditorDialog-DKGlYDPc.js.map +1 -0
  5. package/dist/PropertyEditView-h0N-AMCY.js +3808 -0
  6. package/dist/PropertyEditView-h0N-AMCY.js.map +1 -0
  7. package/dist/RouterCollectionsStudioView-DdEStpFk.js +192 -0
  8. package/dist/RouterCollectionsStudioView-DdEStpFk.js.map +1 -0
  9. package/dist/collection_editor/ConfigControllerProvider.d.ts +2 -11
  10. package/dist/collection_editor/_cms_internals.d.ts +4 -4
  11. package/dist/collection_editor/api/generateCollectionApi.d.ts +10 -9
  12. package/dist/collection_editor/extensibility_types.d.ts +135 -0
  13. package/dist/collection_editor/index.d.ts +6 -1
  14. package/dist/collection_editor/pgColumnToProperty.d.ts +3 -3
  15. package/dist/collection_editor/serializable_types.d.ts +370 -0
  16. package/dist/collection_editor/serializable_utils.d.ts +50 -0
  17. package/dist/collection_editor/types/collection_editor_controller.d.ts +11 -10
  18. package/dist/collection_editor/types/collection_inference.d.ts +2 -2
  19. package/dist/collection_editor/types/config_controller.d.ts +21 -14
  20. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +7 -5
  21. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +7 -5
  22. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
  23. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
  24. package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
  25. package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
  26. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +7 -5
  27. package/dist/collection_editor/ui/MissingReferenceWidget.d.ts +1 -1
  28. package/dist/collection_editor/ui/NewCollectionButton.d.ts +1 -1
  29. package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
  30. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +6 -5
  31. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +4 -4
  32. package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +1 -1
  33. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +7 -7
  34. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +10 -11
  35. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +4 -4
  36. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +4 -3
  37. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +17 -7
  38. package/dist/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +2 -1
  39. package/dist/collection_editor/ui/collection_editor/CollectionRelationsTab.d.ts +2 -1
  40. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +14 -1
  41. package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +1 -9
  42. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +25 -2
  43. package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +4 -2
  44. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +4 -3
  45. package/dist/collection_editor/ui/collection_editor/EntityActionsSelectDialog.d.ts +2 -1
  46. package/dist/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.d.ts +2 -1
  47. package/dist/collection_editor/ui/collection_editor/EnumForm.d.ts +2 -1
  48. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +8 -4
  49. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +4 -3
  50. package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +2 -1
  51. package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +3 -3
  52. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +17 -5
  53. package/dist/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +2 -2
  54. package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -2
  55. package/dist/collection_editor/ui/collection_editor/RouterCollectionStudioView.d.ts +15 -0
  56. package/dist/collection_editor/ui/collection_editor/RouterCollectionsStudioView.d.ts +14 -0
  57. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +8 -6
  58. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +3 -2
  59. package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
  60. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +1 -1
  61. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +3 -2
  62. package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +2 -1
  63. package/dist/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +2 -1
  64. package/dist/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +2 -1
  65. package/dist/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +2 -1
  66. package/dist/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +2 -1
  67. package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +2 -1
  68. package/dist/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +2 -1
  69. package/dist/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +2 -1
  70. package/dist/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +3 -2
  71. package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +3 -8
  72. package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +2 -1
  73. package/dist/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +2 -1
  74. package/dist/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +2 -1
  75. package/dist/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +2 -1
  76. package/dist/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +4 -0
  77. package/dist/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +2 -1
  78. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.d.ts +2 -1
  79. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.d.ts +1 -1
  80. package/dist/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.d.ts +2 -1
  81. package/dist/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +2 -1
  82. package/dist/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +2 -1
  83. package/dist/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +2 -1
  84. package/dist/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +2 -1
  85. package/dist/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +1 -1
  86. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
  87. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
  88. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
  89. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
  90. package/dist/collection_editor/useJsonCollectionsConfigController.d.ts +37 -0
  91. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
  92. package/dist/collection_editor/useSafeSnackbarController.d.ts +2 -0
  93. package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
  94. package/dist/collection_editor_ui.d.ts +4 -0
  95. package/dist/collection_editor_ui.js +33 -11
  96. package/dist/collection_editor_ui.js.map +1 -1
  97. package/dist/components/ArrayContainer.d.ts +5 -5
  98. package/dist/components/ClearFilterSortButton.d.ts +1 -1
  99. package/dist/components/CollectionEditorDialogs.d.ts +2 -1
  100. package/dist/components/CollectionPanel.d.ts +58 -0
  101. package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +5 -5
  102. package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
  103. package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +4 -4
  104. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +2 -2
  105. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +6 -6
  106. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +6 -6
  107. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +6 -6
  108. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +3 -2
  109. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +4 -4
  110. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +1 -1
  111. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +1 -1
  112. package/dist/components/CollectionTableBinding/index.d.ts +6 -0
  113. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +5 -1
  114. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +3 -3
  115. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +1 -1
  116. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
  117. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +7 -6
  118. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +4 -3
  119. package/dist/components/CollectionViewBinding/BoardCardBinding.d.ts +31 -0
  120. package/dist/components/CollectionViewBinding/CollectionBoardViewBinding.d.ts +22 -0
  121. package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
  122. package/dist/components/CollectionViewBinding/CollectionListViewBinding.d.ts +50 -0
  123. package/dist/components/CollectionViewBinding/CollectionViewActions.d.ts +20 -0
  124. package/dist/components/CollectionViewBinding/CollectionViewBinding.d.ts +41 -0
  125. package/dist/components/CollectionViewBinding/CollectionViewStartActions.d.ts +21 -0
  126. package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
  127. package/dist/components/CollectionViewBinding/FilterPresetsButton.d.ts +22 -0
  128. package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +3 -2
  129. package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +6 -5
  130. package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +2 -1
  131. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +3 -3
  132. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +7 -6
  133. package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
  134. package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
  135. package/dist/components/DefaultAppBar.d.ts +18 -1
  136. package/dist/components/DefaultDrawer.d.ts +53 -5
  137. package/dist/components/DeleteEntityDialog.d.ts +6 -5
  138. package/dist/components/DetailViewBinding.d.ts +28 -0
  139. package/dist/components/DrawerNavigationGroup.d.ts +1 -1
  140. package/dist/components/DrawerNavigationItem.d.ts +1 -1
  141. package/dist/components/EditFormActions.d.ts +3 -0
  142. package/dist/components/EditViewBinding.d.ts +58 -0
  143. package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +14 -14
  144. package/dist/components/EntityViewBinding.d.ts +13 -0
  145. package/dist/components/FieldCaption.d.ts +1 -1
  146. package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
  147. package/dist/components/HomePage/FavouritesView.d.ts +1 -1
  148. package/dist/components/HomePage/HomePageDnD.d.ts +7 -7
  149. package/dist/components/HomePage/NavigationCard.d.ts +1 -1
  150. package/dist/components/HomePage/NavigationCardBinding.d.ts +2 -1
  151. package/dist/components/HomePage/NavigationGroup.d.ts +2 -2
  152. package/dist/components/HomePage/RenameGroupDialog.d.ts +2 -1
  153. package/dist/components/HomePage/SmallNavigationCard.d.ts +1 -1
  154. package/dist/components/JsonPreviewBinding.d.ts +4 -0
  155. package/dist/components/PropertyCollectionView.d.ts +3 -2
  156. package/dist/components/PropertyIdCopyTooltip.d.ts +3 -3
  157. package/dist/components/{RebaseCMS.d.ts → RebaseAdmin.d.ts} +2 -2
  158. package/dist/components/RebaseAuthGate.d.ts +1 -1
  159. package/dist/components/RebaseLayout.d.ts +6 -5
  160. package/dist/components/RebaseNavigation.d.ts +2 -2
  161. package/dist/components/RebaseRouteDefs.d.ts +2 -2
  162. package/dist/components/RebaseShell.d.ts +2 -1
  163. package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +6 -6
  164. package/dist/components/ReferenceWidget.d.ts +3 -2
  165. package/dist/components/RelationSelector.d.ts +1 -1
  166. package/dist/components/SearchIconsView.d.ts +2 -1
  167. package/dist/components/SelectableTable/SelectableTable.d.ts +11 -11
  168. package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
  169. package/dist/components/SelectableTable/SelectionStore.d.ts +16 -22
  170. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -3
  171. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +10 -3
  172. package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
  173. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +10 -3
  174. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +8 -1
  175. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +10 -3
  176. package/dist/components/SideDialogs.d.ts +2 -2
  177. package/dist/components/SidePanelBinding.d.ts +11 -0
  178. package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +8 -8
  179. package/dist/components/admin/CreationResultDialog.d.ts +6 -0
  180. package/dist/components/admin/index.d.ts +1 -3
  181. package/dist/components/app/AppBar.d.ts +1 -1
  182. package/dist/components/app/Drawer.d.ts +9 -2
  183. package/dist/components/common/default_entity_actions.d.ts +8 -1
  184. package/dist/components/field_configs.d.ts +1 -1
  185. package/dist/components/history/EntityHistoryEntry.d.ts +3 -3
  186. package/dist/components/history/EntityHistoryView.d.ts +1 -1
  187. package/dist/components/history/LastEditedByFormAction.d.ts +2 -1
  188. package/dist/components/history/LastEditedByIndicator.d.ts +4 -3
  189. package/dist/components/history/UserChip.d.ts +1 -1
  190. package/dist/components/index.d.ts +16 -13
  191. package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
  192. package/dist/data_export/export/BasicExportAction.d.ts +2 -1
  193. package/dist/data_export/export/ExportCollectionAction.d.ts +4 -4
  194. package/dist/data_export/export/export.d.ts +3 -3
  195. package/dist/data_import/components/DataNewPropertiesMapping.d.ts +1 -1
  196. package/dist/data_import/components/ImportFileUpload.d.ts +1 -1
  197. package/dist/data_import/components/ImportNewPropertyFieldPreview.d.ts +2 -1
  198. package/dist/data_import/components/ImportSaveInProgress.d.ts +3 -3
  199. package/dist/data_import/import/ImportCollectionAction.d.ts +4 -3
  200. package/dist/data_import/utils/data.d.ts +1 -1
  201. package/dist/data_import/utils/file_headers.d.ts +6 -1
  202. package/dist/data_import/utils/file_to_json.d.ts +1 -11
  203. package/dist/data_import/utils/transforms.d.ts +11 -0
  204. package/dist/editor/components/SlashCommandMenu.d.ts +2 -1
  205. package/dist/editor/components/editor-bubble.d.ts +5 -1
  206. package/dist/editor/components/image-bubble.d.ts +5 -1
  207. package/dist/editor/components/index.d.ts +3 -3
  208. package/dist/editor/components/table-bubble.d.ts +5 -1
  209. package/dist/editor/editor.d.ts +4 -4
  210. package/dist/editor/nodeViews/ReactNodeView.d.ts +4 -1
  211. package/dist/editor/selectors/color-selector.d.ts +1 -1
  212. package/dist/editor/selectors/link-selector.d.ts +1 -1
  213. package/dist/editor/selectors/node-selector.d.ts +1 -1
  214. package/dist/editor/selectors/text-buttons.d.ts +1 -1
  215. package/dist/editor/useProseMirror.d.ts +2 -2
  216. package/dist/editor/utils/remove_classes.d.ts +1 -1
  217. package/dist/editor.js +2625 -3569
  218. package/dist/editor.js.map +1 -1
  219. package/dist/form/EntityForm.d.ts +11 -9
  220. package/dist/form/EntityFormActions.d.ts +2 -1
  221. package/dist/form/EntityFormBinding.d.ts +27 -0
  222. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  223. package/dist/form/components/FieldHelperText.d.ts +1 -1
  224. package/dist/form/components/FormEntry.d.ts +1 -1
  225. package/dist/form/components/FormLayout.d.ts +1 -1
  226. package/dist/form/components/LabelWithIconAndTooltip.d.ts +1 -1
  227. package/dist/form/components/LocalChangesMenu.d.ts +3 -2
  228. package/dist/form/components/StorageItemPreview.d.ts +2 -1
  229. package/dist/form/components/StorageUploadProgress.d.ts +10 -4
  230. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +2 -1
  231. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +2 -1
  232. package/dist/form/field_bindings/BlockFieldBinding.d.ts +2 -1
  233. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +2 -1
  234. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +2 -1
  235. package/dist/form/field_bindings/MapFieldBinding.d.ts +2 -1
  236. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +4 -3
  237. package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +2 -1
  238. package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +2 -1
  239. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +2 -1
  240. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -1
  241. package/dist/form/field_bindings/RelationFieldBinding.d.ts +2 -1
  242. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +2 -1
  243. package/dist/form/field_bindings/SelectFieldBinding.d.ts +2 -1
  244. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +5 -4
  245. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +2 -1
  246. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -1
  247. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +2 -1
  248. package/dist/form/field_bindings/VectorFieldBinding.d.ts +12 -0
  249. package/dist/form/form_utils.d.ts +8 -0
  250. package/dist/form/index.d.ts +6 -2
  251. package/dist/form/validation.d.ts +3 -3
  252. package/dist/history-C0FdqGNz.js +311 -0
  253. package/dist/history-C0FdqGNz.js.map +1 -0
  254. package/dist/hooks/index.d.ts +4 -4
  255. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
  256. package/dist/hooks/navigation/useAsyncResolver.d.ts +26 -0
  257. package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +2 -0
  258. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +6 -8
  259. package/dist/hooks/navigation/useNavigationResolution.d.ts +6 -7
  260. package/dist/hooks/navigation/useResolvedCollections.d.ts +11 -7
  261. package/dist/hooks/navigation/useResolvedViews.d.ts +2 -5
  262. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +3 -3
  263. package/dist/hooks/navigation/utils.d.ts +5 -5
  264. package/dist/hooks/useBreadcrumbsController.d.ts +2 -32
  265. package/dist/hooks/useBuildSidePanel.d.ts +6 -0
  266. package/dist/hooks/useCMSContext.d.ts +2 -2
  267. package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +2 -2
  268. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  269. package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
  270. package/dist/hooks/useSideDialogsController.d.ts +1 -1
  271. package/dist/hooks/useSidePanel.d.ts +11 -0
  272. package/dist/index.d.ts +6 -3
  273. package/dist/index.js +2 -799
  274. package/dist/markdown-CklalUUk.js +526 -0
  275. package/dist/markdown-CklalUUk.js.map +1 -0
  276. package/dist/preview/components/ArrayEnumPreview.d.ts +2 -1
  277. package/dist/preview/components/EmptyValue.d.ts +2 -1
  278. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  279. package/dist/preview/components/ImagePreview.d.ts +2 -1
  280. package/dist/preview/components/ReferencePreview.d.ts +2 -1
  281. package/dist/preview/components/RelationPreview.d.ts +2 -1
  282. package/dist/preview/components/StorageThumbnail.d.ts +3 -1
  283. package/dist/preview/components/UrlComponentPreview.d.ts +1 -0
  284. package/dist/preview/components/UserPreview.d.ts +6 -3
  285. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +2 -1
  286. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +1 -1
  287. package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +1 -1
  288. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +2 -1
  289. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +2 -1
  290. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +2 -1
  291. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +1 -1
  292. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +2 -1
  293. package/dist/preview/property_previews/MapPropertyPreview.d.ts +3 -2
  294. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +5 -4
  295. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  296. package/dist/routes/CustomViewRoute.d.ts +2 -1
  297. package/dist/routes/RebaseRoute.d.ts +1 -1
  298. package/dist/src-DLAFyeZI.js +24222 -0
  299. package/dist/src-DLAFyeZI.js.map +1 -0
  300. package/dist/types/components/EntityFormActionsProps.d.ts +4 -4
  301. package/dist/types/components/EntityFormProps.d.ts +65 -5
  302. package/dist/types/components/PropertyPreviewProps.d.ts +6 -1
  303. package/dist/types/components/formex.d.ts +1 -40
  304. package/dist/types/fields.d.ts +23 -12
  305. package/dist/util/dataControllerAdapter.d.ts +27 -0
  306. package/dist/util/navigation_utils.d.ts +16 -6
  307. package/dist/util/previews.d.ts +8 -3
  308. package/dist/util/propertyConfigMapper.d.ts +17 -0
  309. package/dist/util/property_utils.d.ts +3 -3
  310. package/dist/util/resolutions.d.ts +1 -2
  311. package/dist/util/view_constants.d.ts +6 -0
  312. package/package.json +56 -55
  313. package/src/collection_editor/ConfigControllerProvider.tsx +37 -53
  314. package/src/collection_editor/_cms_internals.ts +4 -4
  315. package/src/collection_editor/api/generateCollectionApi.ts +10 -9
  316. package/src/collection_editor/extensibility_types.ts +168 -0
  317. package/src/collection_editor/index.ts +47 -3
  318. package/src/collection_editor/pgColumnToProperty.ts +23 -6
  319. package/src/collection_editor/serializable_types.ts +474 -0
  320. package/src/collection_editor/serializable_utils.ts +576 -0
  321. package/src/collection_editor/types/collection_editor_controller.tsx +8 -11
  322. package/src/collection_editor/types/collection_inference.ts +2 -2
  323. package/src/collection_editor/types/config_controller.tsx +14 -14
  324. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +21 -9
  325. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +8 -8
  326. package/src/collection_editor/ui/EditorCollectionAction.tsx +9 -14
  327. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +13 -18
  328. package/src/collection_editor/ui/EditorEntityAction.tsx +9 -14
  329. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +13 -19
  330. package/src/collection_editor/ui/KanbanSetupAction.tsx +8 -6
  331. package/src/collection_editor/ui/MissingReferenceWidget.tsx +5 -3
  332. package/src/collection_editor/ui/NewCollectionButton.tsx +4 -4
  333. package/src/collection_editor/ui/NewCollectionCard.tsx +8 -13
  334. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +11 -16
  335. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +20 -12
  336. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +29 -59
  337. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +213 -135
  338. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +21 -7
  339. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +29 -23
  340. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +142 -112
  341. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +49 -12
  342. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +29 -10
  343. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +26 -23
  344. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +104 -37
  345. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +26 -14
  346. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +21 -8
  347. package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +1 -1
  348. package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +1 -1
  349. package/src/collection_editor/ui/collection_editor/EnumForm.tsx +20 -5
  350. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +45 -12
  351. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +10 -12
  352. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +5 -6
  353. package/src/collection_editor/ui/collection_editor/LayoutModeSwitch.tsx +17 -5
  354. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +190 -27
  355. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +58 -49
  356. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +17 -4
  357. package/src/collection_editor/ui/collection_editor/RouterCollectionStudioView.tsx +44 -0
  358. package/src/collection_editor/ui/collection_editor/RouterCollectionsStudioView.tsx +41 -0
  359. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +27 -13
  360. package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +1 -1
  361. package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +9 -2
  362. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +4 -4
  363. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +4 -4
  364. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +5 -6
  365. package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +1 -1
  366. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +5 -5
  367. package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +10 -10
  368. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +10 -9
  369. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +7 -8
  370. package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +17 -10
  371. package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +7 -7
  372. package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +19 -53
  373. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +43 -60
  374. package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +3 -3
  375. package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +56 -13
  376. package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +7 -7
  377. package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +4 -3
  378. package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +34 -0
  379. package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +5 -6
  380. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +18 -9
  381. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.tsx +1 -2
  382. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +17 -5
  383. package/src/collection_editor/ui/collection_editor/properties/conditions/property_paths.ts +1 -1
  384. package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +4 -4
  385. package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +3 -3
  386. package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +6 -9
  387. package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +6 -6
  388. package/src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.tsx +1 -2
  389. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +3 -3
  390. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +3 -3
  391. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +4 -4
  392. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
  393. package/src/collection_editor/ui/collection_editor/utils/supported_fields.tsx +0 -1
  394. package/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts +7 -29
  395. package/src/collection_editor/useJsonCollectionsConfigController.tsx +286 -0
  396. package/src/collection_editor/useLocalCollectionsConfigController.tsx +11 -8
  397. package/src/collection_editor/useSafeSnackbarController.ts +9 -0
  398. package/src/collection_editor/validateCollectionJson.ts +111 -24
  399. package/src/collection_editor_ui.ts +6 -0
  400. package/src/components/AdminModeSyncer.tsx +2 -2
  401. package/src/components/ArrayContainer.tsx +28 -24
  402. package/src/components/ClearFilterSortButton.tsx +2 -3
  403. package/src/components/CollectionEditorDialogs.tsx +1 -1
  404. package/src/components/CollectionPanel.tsx +178 -0
  405. package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +26 -16
  406. package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +34 -31
  407. package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +4 -4
  408. package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +14 -12
  409. package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +4 -4
  410. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +13 -13
  411. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +39 -19
  412. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +14 -14
  413. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +3 -3
  414. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +29 -27
  415. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -1
  416. package/src/components/CollectionTableBinding/index.tsx +14 -0
  417. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +22 -28
  418. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +8 -9
  419. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +2 -3
  420. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +7 -7
  421. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +12 -13
  422. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +5 -2
  423. package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +101 -104
  424. package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +39 -40
  425. package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +88 -52
  426. package/src/components/CollectionViewBinding/CollectionCardViewBinding.tsx +157 -0
  427. package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +234 -151
  428. package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +36 -26
  429. package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +392 -213
  430. package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +42 -23
  431. package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +14 -14
  432. package/src/components/CollectionViewBinding/FilterPresetsButton.tsx +294 -0
  433. package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +37 -79
  434. package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +97 -30
  435. package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +20 -8
  436. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +9 -8
  437. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +17 -16
  438. package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +118 -70
  439. package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +136 -48
  440. package/src/components/DefaultAppBar.tsx +73 -41
  441. package/src/components/DefaultDrawer.tsx +317 -85
  442. package/src/components/DeleteEntityDialog.tsx +7 -7
  443. package/src/components/DetailViewBinding.tsx +670 -0
  444. package/src/components/DrawerNavigationGroup.tsx +11 -11
  445. package/src/components/DrawerNavigationItem.tsx +6 -6
  446. package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +78 -59
  447. package/src/components/EditViewBinding.tsx +761 -0
  448. package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +53 -39
  449. package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +8 -9
  450. package/src/components/HomePage/ContentHomePage.tsx +35 -17
  451. package/src/components/HomePage/FavouritesView.tsx +2 -3
  452. package/src/components/HomePage/HomePageDnD.tsx +3 -2
  453. package/src/components/HomePage/NavigationCard.tsx +9 -16
  454. package/src/components/HomePage/NavigationCardBinding.tsx +6 -7
  455. package/src/components/HomePage/NavigationGroup.tsx +4 -5
  456. package/src/components/HomePage/RenameGroupDialog.tsx +1 -1
  457. package/src/components/HomePage/SmallNavigationCard.tsx +0 -5
  458. package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +2 -2
  459. package/src/components/PropertyCollectionView.tsx +2 -1
  460. package/src/components/PropertyIdCopyTooltip.tsx +2 -3
  461. package/src/components/{RebaseCMS.tsx → RebaseAdmin.tsx} +8 -6
  462. package/src/components/RebaseAuthGate.tsx +5 -3
  463. package/src/components/RebaseLayout.tsx +10 -9
  464. package/src/components/RebaseNavigation.tsx +107 -31
  465. package/src/components/RebaseRouteDefs.tsx +10 -13
  466. package/src/components/RebaseShell.tsx +18 -14
  467. package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +40 -33
  468. package/src/components/ReferenceWidget.tsx +7 -7
  469. package/src/components/RelationSelector.tsx +82 -24
  470. package/src/components/SearchIconsView.tsx +13 -12
  471. package/src/components/SelectableTable/SelectableTable.tsx +68 -115
  472. package/src/components/SelectableTable/SelectableTableContext.tsx +4 -3
  473. package/src/components/SelectableTable/SelectionStore.ts +20 -44
  474. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +13 -5
  475. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +37 -16
  476. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
  477. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +27 -13
  478. package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
  479. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +95 -35
  480. package/src/components/SideDialogs.tsx +58 -40
  481. package/src/components/SidePanelBinding.tsx +261 -0
  482. package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +17 -16
  483. package/src/components/UserSelector.tsx +123 -9
  484. package/src/components/admin/CreationResultDialog.tsx +138 -0
  485. package/src/components/admin/index.ts +1 -3
  486. package/src/components/app/Drawer.tsx +9 -1
  487. package/src/components/app/Scaffold.tsx +16 -9
  488. package/src/components/common/default_entity_actions.tsx +270 -29
  489. package/src/components/field_configs.tsx +68 -46
  490. package/src/components/history/EntityHistoryEntry.tsx +4 -5
  491. package/src/components/history/EntityHistoryView.tsx +18 -8
  492. package/src/components/history/LastEditedByIndicator.tsx +4 -4
  493. package/src/components/index.ts +20 -17
  494. package/src/contexts/BreacrumbsContext.tsx +15 -6
  495. package/src/contexts/SidePanelControllerContext.tsx +5 -0
  496. package/src/data_export/export/BasicExportAction.tsx +42 -43
  497. package/src/data_export/export/ExportCollectionAction.tsx +55 -54
  498. package/src/data_export/export/export.ts +17 -17
  499. package/src/data_import/components/DataNewPropertiesMapping.tsx +17 -4
  500. package/src/data_import/components/ImportFileUpload.tsx +2 -3
  501. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +2 -3
  502. package/src/data_import/components/ImportSaveInProgress.tsx +4 -4
  503. package/src/data_import/import/ImportCollectionAction.tsx +26 -13
  504. package/src/data_import/utils/data.ts +26 -8
  505. package/src/data_import/utils/file_headers.ts +13 -89
  506. package/src/data_import/utils/file_to_json.ts +43 -68
  507. package/src/data_import/utils/get_properties_mapping.ts +1 -1
  508. package/src/data_import/utils/transforms.ts +47 -0
  509. package/src/editor/components/SlashCommandMenu.tsx +17 -2
  510. package/src/editor/components/editor-bubble-item.tsx +1 -1
  511. package/src/editor/components/editor-bubble.tsx +32 -9
  512. package/src/editor/components/image-bubble.tsx +28 -12
  513. package/src/editor/components/index.ts +3 -3
  514. package/src/editor/components/table-bubble.tsx +80 -18
  515. package/src/editor/editor.tsx +34 -15
  516. package/src/editor/extensions/HighlightDecorationExtension.ts +3 -2
  517. package/src/editor/extensions/Image/index.ts +3 -3
  518. package/src/editor/extensions/Image.ts +3 -3
  519. package/src/editor/extensions/clipboard.ts +2 -2
  520. package/src/editor/markdown-it-plugins.d.ts +24 -0
  521. package/src/editor/markdown.ts +2 -3
  522. package/src/editor/nodeViews/ReactNodeView.tsx +1 -1
  523. package/src/editor/nodeViews/TaskItemComponent.tsx +9 -8
  524. package/src/editor/schema.ts +135 -59
  525. package/src/editor/selectors/ai-selector.tsx +0 -1
  526. package/src/editor/selectors/color-selector.tsx +1 -2
  527. package/src/editor/selectors/link-selector.tsx +9 -7
  528. package/src/editor/selectors/node-selector.tsx +17 -3
  529. package/src/editor/selectors/text-buttons.tsx +1 -2
  530. package/src/editor/useProseMirror.ts +2 -2
  531. package/src/editor/utils/prosemirror-utils.ts +1 -1
  532. package/src/editor/utils/remove_classes.ts +6 -5
  533. package/src/form/EntityForm.tsx +222 -442
  534. package/src/form/EntityFormActions.tsx +49 -55
  535. package/src/form/EntityFormBinding.tsx +323 -0
  536. package/src/form/PropertyFieldBinding.tsx +81 -84
  537. package/src/form/components/ErrorFocus.tsx +1 -1
  538. package/src/form/components/FieldHelperText.tsx +6 -7
  539. package/src/form/components/FormLayout.tsx +1 -1
  540. package/src/form/components/LocalChangesMenu.tsx +20 -5
  541. package/src/form/components/StorageItemPreview.tsx +2 -3
  542. package/src/form/components/StorageUploadProgress.tsx +14 -7
  543. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +5 -5
  544. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +12 -13
  545. package/src/form/field_bindings/BlockFieldBinding.tsx +59 -58
  546. package/src/form/field_bindings/DateTimeFieldBinding.tsx +2 -2
  547. package/src/form/field_bindings/KeyValueFieldBinding.tsx +319 -303
  548. package/src/form/field_bindings/MapFieldBinding.tsx +14 -56
  549. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +28 -10
  550. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +3 -4
  551. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +11 -12
  552. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +9 -2
  553. package/src/form/field_bindings/ReferenceFieldBinding.tsx +17 -15
  554. package/src/form/field_bindings/RelationFieldBinding.tsx +157 -156
  555. package/src/form/field_bindings/RepeatFieldBinding.tsx +8 -8
  556. package/src/form/field_bindings/SelectFieldBinding.tsx +3 -4
  557. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +107 -103
  558. package/src/form/field_bindings/SwitchFieldBinding.tsx +17 -17
  559. package/src/form/field_bindings/TextFieldBinding.tsx +90 -78
  560. package/src/form/field_bindings/UserSelectFieldBinding.tsx +18 -18
  561. package/src/form/field_bindings/VectorFieldBinding.tsx +202 -0
  562. package/src/form/form_utils.ts +163 -0
  563. package/src/form/index.tsx +15 -6
  564. package/src/form/useClearRestoreValue.tsx +1 -1
  565. package/src/form/validation.ts +104 -50
  566. package/src/hooks/index.ts +4 -4
  567. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +5 -4
  568. package/src/hooks/navigation/contexts/NavigationStateContext.tsx +2 -2
  569. package/src/hooks/navigation/contexts/UrlContext.tsx +1 -2
  570. package/src/hooks/navigation/useAsyncResolver.ts +100 -0
  571. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +40 -21
  572. package/src/hooks/navigation/useBuildNavigationStateController.tsx +21 -22
  573. package/src/hooks/navigation/useNavigationResolution.ts +193 -21
  574. package/src/hooks/navigation/useResolvedCollections.ts +45 -77
  575. package/src/hooks/navigation/useResolvedViews.tsx +44 -123
  576. package/src/hooks/navigation/useTopLevelNavigation.ts +22 -18
  577. package/src/hooks/navigation/utils.ts +12 -9
  578. package/src/hooks/useBreadcrumbsController.tsx +2 -34
  579. package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +63 -24
  580. package/src/hooks/useCMSContext.tsx +7 -7
  581. package/src/hooks/{useEntityHistory.ts → useHistory.ts} +9 -4
  582. package/src/hooks/useResolvedNavigationFrom.tsx +8 -5
  583. package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
  584. package/src/hooks/useSideDialogsController.tsx +1 -1
  585. package/src/hooks/useSidePanel.tsx +13 -0
  586. package/src/index.ts +34 -20
  587. package/src/preview/PropertyPreview.tsx +34 -41
  588. package/src/preview/components/DatePreview.tsx +1 -1
  589. package/src/preview/components/EnumValuesChip.tsx +1 -1
  590. package/src/preview/components/ImagePreview.tsx +4 -3
  591. package/src/preview/components/ReferencePreview.tsx +69 -18
  592. package/src/preview/components/RelationPreview.tsx +107 -18
  593. package/src/preview/components/StorageThumbnail.tsx +28 -8
  594. package/src/preview/components/UrlComponentPreview.tsx +12 -4
  595. package/src/preview/components/UserPreview.tsx +6 -15
  596. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +5 -5
  597. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +5 -5
  598. package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +4 -4
  599. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +4 -4
  600. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +3 -2
  601. package/src/preview/property_previews/ArrayOneOfPreview.tsx +7 -9
  602. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +1 -1
  603. package/src/preview/property_previews/ArrayPropertyPreview.tsx +4 -4
  604. package/src/preview/property_previews/MapPropertyPreview.tsx +4 -3
  605. package/src/preview/property_previews/NumberPropertyPreview.tsx +5 -3
  606. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +24 -25
  607. package/src/preview/property_previews/StringPropertyPreview.tsx +13 -11
  608. package/src/routes/CustomViewRoute.tsx +14 -6
  609. package/src/routes/RebaseRoute.tsx +112 -36
  610. package/src/types/components/EntityFormActionsProps.tsx +4 -4
  611. package/src/types/components/EntityFormProps.tsx +75 -5
  612. package/src/types/components/PropertyPreviewProps.tsx +6 -1
  613. package/src/types/components/formex.tsx +1 -45
  614. package/src/types/fields.tsx +26 -15
  615. package/src/util/dataControllerAdapter.ts +87 -0
  616. package/src/util/navigation_utils.ts +43 -13
  617. package/src/util/previews.ts +149 -13
  618. package/src/util/propertyConfigMapper.ts +134 -0
  619. package/src/util/property_utils.tsx +24 -9
  620. package/src/util/resolutions.ts +4 -8
  621. package/src/util/view_constants.ts +6 -0
  622. package/dist/CollectionEditorDialog-B2M9lCyL.js +0 -4720
  623. package/dist/CollectionEditorDialog-B2M9lCyL.js.map +0 -1
  624. package/dist/CollectionsStudioView-WG6soyfs.js +0 -218
  625. package/dist/CollectionsStudioView-WG6soyfs.js.map +0 -1
  626. package/dist/ContentHomePage-CDF_a6Lp.js +0 -1786
  627. package/dist/ContentHomePage-CDF_a6Lp.js.map +0 -1
  628. package/dist/ExportCollectionAction-Dc0VOWMN.js +0 -439
  629. package/dist/ExportCollectionAction-Dc0VOWMN.js.map +0 -1
  630. package/dist/ImportCollectionAction-DpCagAOy.js +0 -686
  631. package/dist/ImportCollectionAction-DpCagAOy.js.map +0 -1
  632. package/dist/PropertyEditView-DS67DxoT.js +0 -8138
  633. package/dist/PropertyEditView-DS67DxoT.js.map +0 -1
  634. package/dist/RoleChip-QtUFXeTp.js +0 -67
  635. package/dist/RoleChip-QtUFXeTp.js.map +0 -1
  636. package/dist/RolesView-CIuYBimF.js +0 -424
  637. package/dist/RolesView-CIuYBimF.js.map +0 -1
  638. package/dist/UsersView-B5zelXnH.js +0 -493
  639. package/dist/UsersView-B5zelXnH.js.map +0 -1
  640. package/dist/collection_editor/types/config_permissions.d.ts +0 -19
  641. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -27
  642. package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +0 -12
  643. package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +0 -9
  644. package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +0 -8
  645. package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +0 -7
  646. package/dist/components/EntityCollectionTable/index.d.ts +0 -6
  647. package/dist/components/EntityCollectionView/Board.d.ts +0 -2
  648. package/dist/components/EntityCollectionView/BoardColumn.d.ts +0 -42
  649. package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +0 -9
  650. package/dist/components/EntityCollectionView/BoardSortableList.d.ts +0 -14
  651. package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +0 -31
  652. package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -20
  653. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +0 -21
  654. package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +0 -34
  655. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +0 -64
  656. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +0 -18
  657. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +0 -18
  658. package/dist/components/EntityCollectionView/board_types.d.ts +0 -105
  659. package/dist/components/EntityEditView.d.ts +0 -49
  660. package/dist/components/EntityEditViewFormActions.d.ts +0 -2
  661. package/dist/components/EntityJsonPreview.d.ts +0 -3
  662. package/dist/components/EntitySidePanel.d.ts +0 -10
  663. package/dist/components/EntityView.d.ts +0 -12
  664. package/dist/components/admin/RoleChip.d.ts +0 -4
  665. package/dist/components/admin/RolesView.d.ts +0 -4
  666. package/dist/components/admin/UsersView.d.ts +0 -4
  667. package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
  668. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +0 -10
  669. package/dist/hooks/navigation/useNavigationRegistry.d.ts +0 -11
  670. package/dist/hooks/navigation/useNavigationURLs.d.ts +0 -11
  671. package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
  672. package/dist/hooks/useSideEntityController.d.ts +0 -11
  673. package/dist/index-CBhrgpR7.js +0 -12
  674. package/dist/index-CBhrgpR7.js.map +0 -1
  675. package/dist/index-CHxgwt6E.js +0 -456
  676. package/dist/index-CHxgwt6E.js.map +0 -1
  677. package/dist/index-Dey5WJpO.js +0 -8
  678. package/dist/index-Dey5WJpO.js.map +0 -1
  679. package/dist/index.js.map +0 -1
  680. package/dist/markdown-z2Ir7Cgo.js +0 -618
  681. package/dist/markdown-z2Ir7Cgo.js.map +0 -1
  682. package/dist/useEntityHistory-Dcj4zhGj.js +0 -121
  683. package/dist/useEntityHistory-Dcj4zhGj.js.map +0 -1
  684. package/dist/util-BQ82ySL3.js +0 -27720
  685. package/dist/util-BQ82ySL3.js.map +0 -1
  686. package/src/collection_editor/types/config_permissions.ts +0 -20
  687. package/src/components/EntityCollectionTable/fields/VirtualTableDateField.tsx +0 -39
  688. package/src/components/EntityCollectionTable/fields/VirtualTableInput.tsx +0 -90
  689. package/src/components/EntityCollectionTable/fields/VirtualTableNumberInput.tsx +0 -80
  690. package/src/components/EntityCollectionTable/fields/VirtualTableSwitch.tsx +0 -32
  691. package/src/components/EntityCollectionTable/index.tsx +0 -14
  692. package/src/components/EntityCollectionView/Board.tsx +0 -474
  693. package/src/components/EntityCollectionView/BoardColumn.tsx +0 -158
  694. package/src/components/EntityCollectionView/BoardColumnTitle.tsx +0 -45
  695. package/src/components/EntityCollectionView/BoardSortableList.tsx +0 -177
  696. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +0 -267
  697. package/src/components/EntityCollectionView/board_types.ts +0 -113
  698. package/src/components/EntityEditView.tsx +0 -632
  699. package/src/components/EntitySidePanel.tsx +0 -160
  700. package/src/components/admin/RoleChip.tsx +0 -23
  701. package/src/components/admin/RolesView.tsx +0 -419
  702. package/src/components/admin/UsersView.tsx +0 -782
  703. package/src/contexts/SideEntityControllerContext.tsx +0 -5
  704. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +0 -141
  705. package/src/hooks/navigation/useNavigationRegistry.ts +0 -153
  706. package/src/hooks/navigation/useNavigationURLs.ts +0 -56
  707. package/src/hooks/useSideEntityController.tsx +0 -13
  708. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
  709. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
  710. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
  711. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
  712. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
  713. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
  714. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
  715. /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
  716. /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
@@ -1,618 +0,0 @@
1
- import { MarkdownParser, MarkdownSerializer, defaultMarkdownParser, defaultMarkdownSerializer } from "prosemirror-markdown";
2
- import markdownIt from "markdown-it";
3
- import markdownItTaskLists from "markdown-it-task-lists";
4
- import markdownItMark from "markdown-it-mark";
5
- import markdownItIns from "markdown-it-ins";
6
- import { Schema } from "prosemirror-model";
7
- import { tableNodes } from "prosemirror-tables";
8
- const marks = {
9
- link: {
10
- attrs: {
11
- href: {},
12
- title: {
13
- default: null
14
- },
15
- target: {
16
- default: "_blank"
17
- }
18
- },
19
- inclusive: false,
20
- parseDOM: [{
21
- tag: "a[href]",
22
- getAttrs(dom) {
23
- if (typeof dom === "string") return false;
24
- return {
25
- href: dom.getAttribute("href"),
26
- title: dom.getAttribute("title"),
27
- target: dom.getAttribute("target") || "_blank"
28
- };
29
- }
30
- }],
31
- toDOM(node) {
32
- const {
33
- href,
34
- title,
35
- target
36
- } = node.attrs;
37
- return ["a", {
38
- href,
39
- title,
40
- target,
41
- class: "text-surface-700 dark:text-surface-accent-200 underline underline-offset-[3px] hover:text-primary transition-colors cursor-pointer"
42
- }, 0];
43
- }
44
- },
45
- bold: {
46
- parseDOM: [{
47
- tag: "strong"
48
- }, {
49
- tag: "b",
50
- getAttrs: (node) => typeof node !== "string" && node.style.fontWeight !== "normal" && null
51
- }, {
52
- style: "font-weight=400",
53
- clearMark: (m) => m.type.name === "bold"
54
- }, {
55
- style: "font-weight",
56
- getAttrs: (value) => typeof value === "string" && /^(bold(er)?|[5-9]\d{2,})$/.test(value) && null
57
- }],
58
- toDOM() {
59
- return ["strong", 0];
60
- }
61
- },
62
- italic: {
63
- parseDOM: [{
64
- tag: "i"
65
- }, {
66
- tag: "em"
67
- }, {
68
- style: "font-style=italic"
69
- }],
70
- toDOM() {
71
- return ["em", 0];
72
- }
73
- },
74
- strike: {
75
- parseDOM: [{
76
- tag: "s"
77
- }, {
78
- tag: "del"
79
- }, {
80
- tag: "strike"
81
- }, {
82
- style: "text-decoration=line-through"
83
- }],
84
- toDOM() {
85
- return ["s", 0];
86
- }
87
- },
88
- underline: {
89
- parseDOM: [{
90
- tag: "u"
91
- }, {
92
- style: "text-decoration=underline"
93
- }],
94
- toDOM() {
95
- return ["u", 0];
96
- }
97
- },
98
- code: {
99
- parseDOM: [{
100
- tag: "code"
101
- }],
102
- toDOM() {
103
- return ["code", {
104
- class: "rounded-md bg-surface-accent-50 dark:bg-surface-700 px-1.5 py-1 font-mono font-medium",
105
- spellcheck: "false"
106
- }, 0];
107
- }
108
- },
109
- textStyle: {
110
- attrs: {
111
- color: {
112
- default: null
113
- }
114
- },
115
- parseDOM: [{
116
- style: "color",
117
- getAttrs: (value) => {
118
- if (typeof value === "string") return {
119
- color: value
120
- };
121
- return false;
122
- }
123
- }],
124
- toDOM(mark) {
125
- let style = "";
126
- if (mark.attrs.color) style += `color: ${mark.attrs.color};`;
127
- return ["span", {
128
- style
129
- }, 0];
130
- }
131
- },
132
- highlight: {
133
- attrs: {
134
- color: {
135
- default: null
136
- }
137
- },
138
- parseDOM: [{
139
- tag: "mark",
140
- getAttrs: (dom) => {
141
- if (typeof dom === "string") return false;
142
- return {
143
- color: dom.style.backgroundColor || dom.getAttribute("data-color")
144
- };
145
- }
146
- }],
147
- toDOM(mark) {
148
- return ["mark", mark.attrs.color ? {
149
- style: `background-color: ${mark.attrs.color}; color: inherit;`,
150
- "data-color": mark.attrs.color
151
- } : {}, 0];
152
- }
153
- }
154
- };
155
- const nodes = {
156
- doc: {
157
- content: "block+"
158
- },
159
- paragraph: {
160
- content: "inline*",
161
- group: "block",
162
- parseDOM: [{
163
- tag: "p"
164
- }],
165
- toDOM() {
166
- return ["p", 0];
167
- }
168
- },
169
- text: {
170
- group: "inline"
171
- },
172
- blockquote: {
173
- content: "block+",
174
- group: "block",
175
- defining: true,
176
- parseDOM: [{
177
- tag: "blockquote"
178
- }],
179
- toDOM() {
180
- return ["blockquote", {
181
- class: "border-l-4 border-primary"
182
- }, 0];
183
- }
184
- },
185
- heading: {
186
- attrs: {
187
- level: {
188
- default: 1
189
- }
190
- },
191
- content: "inline*",
192
- group: "block",
193
- defining: true,
194
- parseDOM: [{
195
- tag: "h1",
196
- attrs: {
197
- level: 1
198
- }
199
- }, {
200
- tag: "h2",
201
- attrs: {
202
- level: 2
203
- }
204
- }, {
205
- tag: "h3",
206
- attrs: {
207
- level: 3
208
- }
209
- }, {
210
- tag: "h4",
211
- attrs: {
212
- level: 4
213
- }
214
- }, {
215
- tag: "h5",
216
- attrs: {
217
- level: 5
218
- }
219
- }, {
220
- tag: "h6",
221
- attrs: {
222
- level: 6
223
- }
224
- }],
225
- toDOM(node) {
226
- return ["h" + node.attrs.level, 0];
227
- }
228
- },
229
- horizontal_rule: {
230
- group: "block",
231
- parseDOM: [{
232
- tag: "hr"
233
- }],
234
- toDOM() {
235
- return ["hr", {
236
- class: "mt-4 mb-6 border-t border-solid border-gray-200 dark:border-gray-800"
237
- }];
238
- }
239
- },
240
- code_block: {
241
- content: "text*",
242
- marks: "",
243
- group: "block",
244
- code: true,
245
- defining: true,
246
- attrs: {
247
- language: {
248
- default: null
249
- }
250
- },
251
- parseDOM: [{
252
- tag: "pre",
253
- preserveWhitespace: "full"
254
- }],
255
- toDOM(node) {
256
- return ["pre", {
257
- class: "rounded bg-blue-50 dark:bg-surface-700 border border-solid border-gray-200 dark:border-gray-800 p-5 font-mono font-medium text-gray-800 dark:text-gray-200"
258
- }, ["code", 0]];
259
- }
260
- },
261
- image: {
262
- inline: false,
263
- group: "block",
264
- attrs: {
265
- src: {},
266
- alt: {
267
- default: null
268
- },
269
- title: {
270
- default: null
271
- }
272
- },
273
- draggable: true,
274
- parseDOM: [{
275
- tag: "img[src]",
276
- getAttrs(dom) {
277
- if (typeof dom === "string") return false;
278
- return {
279
- src: dom.getAttribute("src"),
280
- title: dom.getAttribute("title"),
281
- alt: dom.getAttribute("alt")
282
- };
283
- }
284
- }],
285
- toDOM(node) {
286
- const {
287
- src,
288
- alt,
289
- title
290
- } = node.attrs;
291
- return ["img", {
292
- src,
293
- alt,
294
- title,
295
- class: "rounded-lg max-w-full !m-0"
296
- }];
297
- }
298
- },
299
- bullet_list: {
300
- content: "list_item+",
301
- group: "block",
302
- parseDOM: [{
303
- tag: "ul"
304
- }],
305
- toDOM() {
306
- return ["ul", {
307
- class: "list-disc list-outside leading-3 -mt-2"
308
- }, 0];
309
- }
310
- },
311
- ordered_list: {
312
- content: "list_item+",
313
- group: "block",
314
- attrs: {
315
- order: {
316
- default: 1
317
- }
318
- },
319
- parseDOM: [{
320
- tag: "ol",
321
- getAttrs(dom) {
322
- if (typeof dom === "string") return false;
323
- return {
324
- order: dom.hasAttribute("start") ? +dom.getAttribute("start") : 1
325
- };
326
- }
327
- }],
328
- toDOM(node) {
329
- return node.attrs.order === 1 ? ["ol", {
330
- class: "list-decimal list-outside leading-3 -mt-2"
331
- }, 0] : ["ol", {
332
- start: node.attrs.order,
333
- class: "list-decimal list-outside leading-3 -mt-2"
334
- }, 0];
335
- }
336
- },
337
- list_item: {
338
- content: "paragraph block*",
339
- parseDOM: [{
340
- tag: "li"
341
- }],
342
- toDOM() {
343
- return ["li", {
344
- class: "leading-normal -mb-2"
345
- }, 0];
346
- },
347
- defining: true
348
- },
349
- task_list: {
350
- group: "block",
351
- content: "task_item+",
352
- parseDOM: [{
353
- tag: 'ul[data-type="taskList"]'
354
- }],
355
- toDOM() {
356
- return ["ul", {
357
- "data-type": "taskList",
358
- class: "not-prose"
359
- }, 0];
360
- }
361
- },
362
- task_item: {
363
- content: "paragraph block*",
364
- defining: true,
365
- attrs: {
366
- checked: {
367
- default: false
368
- }
369
- },
370
- parseDOM: [{
371
- tag: 'li[data-type="taskItem"]',
372
- getAttrs(dom) {
373
- if (typeof dom === "string") return false;
374
- return {
375
- checked: dom.getAttribute("data-checked") === "true"
376
- };
377
- }
378
- }],
379
- toDOM(node) {
380
- return ["li", {
381
- "data-type": "taskItem",
382
- "data-checked": node.attrs.checked ? "true" : "false",
383
- class: "flex items-start my-4"
384
- }, 0];
385
- }
386
- },
387
- hard_break: {
388
- inline: true,
389
- group: "inline",
390
- selectable: false,
391
- parseDOM: [{
392
- tag: "br"
393
- }],
394
- toDOM() {
395
- return ["br"];
396
- }
397
- },
398
- ...tableNodes({
399
- tableGroup: "block",
400
- cellContent: "block+",
401
- cellAttributes: {
402
- background: {
403
- default: null,
404
- getFromDOM(dom) {
405
- return dom.style.backgroundColor || null;
406
- },
407
- setDOMAttr(value, attrs) {
408
- if (value) attrs.style = (attrs.style || "") + `background-color: ${value};`;
409
- }
410
- }
411
- }
412
- })
413
- };
414
- const schema = new Schema({
415
- nodes,
416
- marks
417
- });
418
- const parserTokens = {
419
- ...defaultMarkdownParser.tokens,
420
- em: {
421
- mark: "italic"
422
- },
423
- strong: {
424
- mark: "bold"
425
- },
426
- html_inline: {
427
- ignore: true,
428
- noCloseToken: true
429
- },
430
- html_block: {
431
- ignore: true,
432
- noCloseToken: true
433
- },
434
- s: {
435
- mark: "strike"
436
- },
437
- task_list: {
438
- block: "task_list"
439
- },
440
- task_item: {
441
- block: "task_item",
442
- getAttrs: (tok) => ({
443
- checked: tok.attrGet("checked") === "true"
444
- })
445
- },
446
- mark: {
447
- mark: "highlight"
448
- },
449
- ins: {
450
- mark: "underline"
451
- },
452
- table: {
453
- block: "table"
454
- },
455
- thead: {
456
- ignore: true
457
- },
458
- tbody: {
459
- ignore: true
460
- },
461
- tr: {
462
- block: "table_row"
463
- },
464
- th: {
465
- block: "table_header"
466
- },
467
- td: {
468
- block: "table_cell"
469
- }
470
- };
471
- const md = markdownIt({
472
- html: false
473
- }).use(markdownItTaskLists).use(markdownItMark).use(markdownItIns);
474
- md.core.ruler.after("inline", "image-to-block", (state) => {
475
- const tokens = state.tokens;
476
- for (let i = tokens.length - 2; i >= 1; i--) {
477
- if (tokens[i - 1] && tokens[i - 1].type === "paragraph_open" && tokens[i] && tokens[i].type === "inline" && tokens[i + 1] && tokens[i + 1].type === "paragraph_close") {
478
- const inlineTokens = tokens[i].children || [];
479
- if (inlineTokens.length === 1 && inlineTokens[0].type === "image") {
480
- state.tokens.splice(i - 1, 3, inlineTokens[0]);
481
- }
482
- }
483
- }
484
- });
485
- md.core.ruler.after("inline", "tables-wrap-paragraphs", (state) => {
486
- const tokens = state.tokens;
487
- for (let i = tokens.length - 1; i >= 0; i--) {
488
- if (tokens[i].type === "td_open" || tokens[i].type === "th_open") {
489
- let closeIndex = i + 1;
490
- while (closeIndex < tokens.length && tokens[closeIndex].type !== "td_close" && tokens[closeIndex].type !== "th_close") {
491
- closeIndex++;
492
- }
493
- if (closeIndex < tokens.length) {
494
- const pOpen = new state.Token("paragraph_open", "p", 1);
495
- pOpen.block = true;
496
- const pClose = new state.Token("paragraph_close", "p", -1);
497
- pClose.block = true;
498
- state.tokens.splice(closeIndex, 0, pClose);
499
- state.tokens.splice(i + 1, 0, pOpen);
500
- }
501
- }
502
- }
503
- });
504
- const markdownParser = new MarkdownParser(schema, md, parserTokens);
505
- const markdownSerializer = new MarkdownSerializer({
506
- ...defaultMarkdownSerializer.nodes,
507
- // Use "-" as bullet character to match markdown-it output and prevent
508
- // serialization round-trip from changing "- " to "* " and dirtying the form.
509
- bullet_list(state, node) {
510
- state.renderList(node, " ", () => "- ");
511
- },
512
- // Add custom serialization for task lists
513
- task_list(state, node) {
514
- state.renderList(node, " ", () => "- ");
515
- },
516
- task_item(state, node) {
517
- state.write(`[${node.attrs.checked ? "x" : " "}] `);
518
- state.renderContent(node);
519
- },
520
- horizontal_rule(state, node) {
521
- state.write(node.attrs.markup || "---");
522
- state.closeBlock(node);
523
- },
524
- image(state, node) {
525
- const rawSrc = node.attrs.src || "";
526
- const src = rawSrc.replace(/ /g, "%20");
527
- state.write("![" + state.esc(node.attrs.alt || "") + "](" + src.replace(/[\(\)]/g, "\\$&") + (node.attrs.title ? ' "' + node.attrs.title.replace(/"/g, '\\"') + '"' : "") + ")");
528
- state.closeBlock(node);
529
- },
530
- table(state, node) {
531
- const stateInternal = state;
532
- node.forEach((row, _, i) => {
533
- row.forEach((cell, _2, j) => {
534
- if (j === 0) state.write("| ");
535
- else state.write(" ");
536
- const startLen = stateInternal.out.length;
537
- let first = true;
538
- cell.forEach((block) => {
539
- if (!first) stateInternal.out += "<br>";
540
- state.renderInline(block);
541
- first = false;
542
- });
543
- const cellContent = stateInternal.out.slice(startLen);
544
- stateInternal.out = stateInternal.out.slice(0, startLen);
545
- state.write(cellContent.replace(/\|/g, "\\|").replace(/\n/g, " "));
546
- state.write(" |");
547
- });
548
- state.write("\n");
549
- if (i === 0) {
550
- row.forEach((cell, _2, j) => {
551
- state.write(j === 0 ? "|---|" : "---|");
552
- });
553
- state.write("\n");
554
- }
555
- });
556
- state.closeBlock(node);
557
- },
558
- table_row() {
559
- },
560
- table_cell() {
561
- },
562
- table_header() {
563
- }
564
- }, {
565
- ...defaultMarkdownSerializer.marks,
566
- bold: defaultMarkdownSerializer.marks.strong,
567
- italic: defaultMarkdownSerializer.marks.em,
568
- strike: {
569
- open: "~~",
570
- close: "~~",
571
- mixable: true,
572
- expelEnclosingWhitespace: true
573
- },
574
- highlight: {
575
- open: "==",
576
- close: "==",
577
- mixable: true,
578
- expelEnclosingWhitespace: true
579
- },
580
- underline: {
581
- open: "++",
582
- close: "++",
583
- mixable: true,
584
- expelEnclosingWhitespace: true
585
- },
586
- link: {
587
- ...defaultMarkdownSerializer.marks.link,
588
- close(state, mark, parent, index) {
589
- const inAutolink = state.inAutolink;
590
- state.inAutolink = void 0;
591
- const href = mark.attrs.href.replace(/ /g, "%20");
592
- return inAutolink ? ">" : "](" + href.replace(/[\(\)"]/g, "\\$&") + (mark.attrs.title ? ` "${mark.attrs.title.replace(/"/g, '\\"')}"` : "") + ")";
593
- }
594
- },
595
- // textStyle (colored text from HTML) has no markdown equivalent — emit content as-is
596
- textStyle: {
597
- open: "",
598
- close: "",
599
- mixable: true,
600
- expelEnclosingWhitespace: true
601
- }
602
- });
603
- const parser = markdownParser;
604
- const serializer = markdownSerializer;
605
- const markdown = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
606
- __proto__: null,
607
- markdownParser,
608
- markdownSerializer,
609
- parser,
610
- serializer
611
- }, Symbol.toStringTag, { value: "Module" }));
612
- export {
613
- serializer as a,
614
- markdown as m,
615
- parser as p,
616
- schema as s
617
- };
618
- //# sourceMappingURL=markdown-z2Ir7Cgo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-z2Ir7Cgo.js","sources":["../src/editor/schema.ts","../src/editor/markdown.ts"],"sourcesContent":["import { Schema, NodeSpec, MarkSpec } from \"prosemirror-model\";\nimport { tableNodes } from \"prosemirror-tables\";\n\nconst marks: { [key: string]: MarkSpec } = {\n link: {\n attrs: {\n href: {},\n title: { default: null },\n target: { default: \"_blank\" }\n },\n inclusive: false,\n parseDOM: [\n {\n tag: \"a[href]\",\n getAttrs(dom: HTMLElement | string) {\n if (typeof dom === \"string\") return false;\n return {\n href: dom.getAttribute(\"href\"),\n title: dom.getAttribute(\"title\"),\n target: dom.getAttribute(\"target\") || \"_blank\"\n };\n }\n }\n ],\n toDOM(node) {\n const { href, title, target } = node.attrs;\n return [\"a\", { href,\ntitle,\ntarget,\nclass: \"text-surface-700 dark:text-surface-accent-200 underline underline-offset-[3px] hover:text-primary transition-colors cursor-pointer\" }, 0];\n }\n },\n bold: {\n parseDOM: [\n { tag: \"strong\" },\n { tag: \"b\",\ngetAttrs: (node: HTMLElement | string) => typeof node !== \"string\" && node.style.fontWeight !== \"normal\" && null },\n { style: \"font-weight=400\",\nclearMark: m => m.type.name === \"bold\" },\n { style: \"font-weight\",\ngetAttrs: (value: string | HTMLElement) => typeof value === \"string\" && /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null }\n ],\n toDOM() { return [\"strong\", 0]; }\n },\n italic: {\n parseDOM: [{ tag: \"i\" }, { tag: \"em\" }, { style: \"font-style=italic\" }],\n toDOM() { return [\"em\", 0]; }\n },\n strike: {\n parseDOM: [{ tag: \"s\" }, { tag: \"del\" }, { tag: \"strike\" }, { style: \"text-decoration=line-through\" }],\n toDOM() { return [\"s\", 0]; }\n },\n underline: {\n parseDOM: [{ tag: \"u\" }, { style: \"text-decoration=underline\" }],\n toDOM() { return [\"u\", 0]; }\n },\n code: {\n parseDOM: [{ tag: \"code\" }],\n toDOM() { return [\"code\", { class: \"rounded-md bg-surface-accent-50 dark:bg-surface-700 px-1.5 py-1 font-mono font-medium\",\nspellcheck: \"false\" }, 0]; }\n },\n textStyle: {\n attrs: { color: { default: null } },\n parseDOM: [\n {\n style: \"color\",\n getAttrs: (value: string | HTMLElement) => {\n if (typeof value === \"string\") return { color: value };\n return false;\n }\n }\n ],\n toDOM(mark) {\n let style = \"\";\n if (mark.attrs.color) style += `color: ${mark.attrs.color};`;\n return [\"span\", { style }, 0];\n }\n },\n highlight: {\n attrs: { color: { default: null } },\n parseDOM: [\n {\n tag: \"mark\",\n getAttrs: (dom: HTMLElement | string) => {\n if (typeof dom === \"string\") return false;\n return { color: dom.style.backgroundColor || dom.getAttribute(\"data-color\") };\n }\n }\n ],\n toDOM(mark) {\n return [\"mark\", mark.attrs.color ? { style: `background-color: ${mark.attrs.color}; color: inherit;`,\n\"data-color\": mark.attrs.color } : {}, 0];\n }\n }\n};\n\nconst nodes: { [key: string]: NodeSpec } = {\n doc: {\n content: \"block+\"\n },\n paragraph: {\n content: \"inline*\",\n group: \"block\",\n parseDOM: [{ tag: \"p\" }],\n toDOM() { return [\"p\", 0]; }\n },\n text: {\n group: \"inline\"\n },\n blockquote: {\n content: \"block+\",\n group: \"block\",\n defining: true,\n parseDOM: [{ tag: \"blockquote\" }],\n toDOM() { return [\"blockquote\", { class: \"border-l-4 border-primary\" }, 0]; }\n },\n heading: {\n attrs: { level: { default: 1 } },\n content: \"inline*\",\n group: \"block\",\n defining: true,\n parseDOM: [\n { tag: \"h1\",\nattrs: { level: 1 } },\n { tag: \"h2\",\nattrs: { level: 2 } },\n { tag: \"h3\",\nattrs: { level: 3 } },\n { tag: \"h4\",\nattrs: { level: 4 } },\n { tag: \"h5\",\nattrs: { level: 5 } },\n { tag: \"h6\",\nattrs: { level: 6 } }\n ],\n toDOM(node) { return [\"h\" + node.attrs.level, 0]; }\n },\n horizontal_rule: {\n group: \"block\",\n parseDOM: [{ tag: \"hr\" }],\n toDOM() { return [\"hr\", { class: \"mt-4 mb-6 border-t border-solid border-gray-200 dark:border-gray-800\" }]; }\n },\n code_block: {\n content: \"text*\",\n marks: \"\",\n group: \"block\",\n code: true,\n defining: true,\n attrs: { language: { default: null } },\n parseDOM: [\n { tag: \"pre\",\npreserveWhitespace: \"full\" }\n ],\n toDOM(node) { return [\"pre\", { class: \"rounded bg-blue-50 dark:bg-surface-700 border border-solid border-gray-200 dark:border-gray-800 p-5 font-mono font-medium text-gray-800 dark:text-gray-200\" }, [\"code\", 0]]; }\n },\n image: {\n inline: false,\n group: \"block\",\n attrs: {\n src: {},\n alt: { default: null },\n title: { default: null }\n },\n draggable: true,\n parseDOM: [\n {\n tag: \"img[src]\",\n getAttrs(dom: HTMLElement | string) {\n if (typeof dom === \"string\") return false;\n return {\n src: dom.getAttribute(\"src\"),\n title: dom.getAttribute(\"title\"),\n alt: dom.getAttribute(\"alt\")\n };\n }\n }\n ],\n toDOM(node) {\n const { src, alt, title } = node.attrs;\n return [\"img\", { src,\nalt,\ntitle,\nclass: \"rounded-lg max-w-full !m-0\" }];\n }\n },\n bullet_list: {\n content: \"list_item+\",\n group: \"block\",\n parseDOM: [{ tag: \"ul\" }],\n toDOM() { return [\"ul\", { class: \"list-disc list-outside leading-3 -mt-2\" }, 0]; }\n },\n ordered_list: {\n content: \"list_item+\",\n group: \"block\",\n attrs: { order: { default: 1 } },\n parseDOM: [\n {\n tag: \"ol\",\n getAttrs(dom: HTMLElement | string) {\n if (typeof dom === \"string\") return false;\n return { order: dom.hasAttribute(\"start\") ? +dom.getAttribute(\"start\")! : 1 };\n }\n }\n ],\n toDOM(node) {\n return node.attrs.order === 1 ? [\"ol\", { class: \"list-decimal list-outside leading-3 -mt-2\" }, 0] : [\"ol\", { start: node.attrs.order,\nclass: \"list-decimal list-outside leading-3 -mt-2\" }, 0];\n }\n },\n list_item: {\n content: \"paragraph block*\",\n parseDOM: [{ tag: \"li\" }],\n toDOM() { return [\"li\", { class: \"leading-normal -mb-2\" }, 0]; },\n defining: true\n },\n task_list: {\n group: \"block\",\n content: \"task_item+\",\n parseDOM: [{ tag: 'ul[data-type=\"taskList\"]' }],\n toDOM() { return [\"ul\", { \"data-type\": \"taskList\",\nclass: \"not-prose\" }, 0]; }\n },\n task_item: {\n content: \"paragraph block*\",\n defining: true,\n attrs: { checked: { default: false } },\n parseDOM: [\n {\n tag: 'li[data-type=\"taskItem\"]',\n getAttrs(dom: HTMLElement | string) {\n if (typeof dom === \"string\") return false;\n return { checked: dom.getAttribute(\"data-checked\") === \"true\" };\n }\n }\n ],\n toDOM(node) {\n return [\"li\", { \"data-type\": \"taskItem\",\n\"data-checked\": node.attrs.checked ? \"true\" : \"false\",\nclass: \"flex items-start my-4\" }, 0];\n }\n },\n hard_break: {\n inline: true,\n group: \"inline\",\n selectable: false,\n parseDOM: [{ tag: \"br\" }],\n toDOM() { return [\"br\"]; }\n },\n ...tableNodes({\n tableGroup: \"block\",\n cellContent: \"block+\",\n cellAttributes: {\n background: {\n default: null,\n getFromDOM(dom: HTMLElement) { return dom.style.backgroundColor || null },\n setDOMAttr(value: any, attrs: any) { if (value) attrs.style = (attrs.style || \"\") + `background-color: ${value};` }\n }\n }\n })\n};\n\nexport const schema = new Schema({ nodes,\nmarks });\n","import {\n MarkdownParser,\n MarkdownSerializer,\n defaultMarkdownParser,\n defaultMarkdownSerializer\n} from \"prosemirror-markdown\";\nimport markdownIt from \"markdown-it\";\n// @ts-expect-error -- markdown-it-task-lists does not ship type declarations\nimport markdownItTaskLists from \"markdown-it-task-lists\";\n// @ts-expect-error -- markdown-it-mark does not ship type declarations\nimport markdownItMark from \"markdown-it-mark\";\n// @ts-expect-error -- markdown-it-ins does not ship type declarations\nimport markdownItIns from \"markdown-it-ins\";\n\nimport { schema } from \"./schema\";\n\n/**\n * ProseMirror's MarkdownSerializerState exposes an `out` string property\n * that accumulates the serialised output. The published typings do not\n * include it, so we extend the type locally to avoid `as any` casts.\n */\ninterface MarkdownSerializerStateWithOutput {\n out: string;\n}\n\nconst parserTokens: any = {\n ...defaultMarkdownParser.tokens,\n em: { mark: \"italic\" },\n strong: { mark: \"bold\" },\n html_inline: { ignore: true,\nnoCloseToken: true },\n html_block: { ignore: true,\nnoCloseToken: true },\n s: {\n mark: \"strike\"\n },\n task_list: {\n block: \"task_list\"\n },\n task_item: {\n block: \"task_item\",\n getAttrs: (tok: any) => ({ checked: tok.attrGet(\"checked\") === \"true\" })\n },\n mark: {\n mark: \"highlight\"\n },\n ins: {\n mark: \"underline\"\n },\n table: { block: \"table\" },\n thead: { ignore: true },\n tbody: { ignore: true },\n tr: { block: \"table_row\" },\n th: { block: \"table_header\" },\n td: { block: \"table_cell\" }\n};\n\nconst md = markdownIt({ html: false })\n .use(markdownItTaskLists)\n .use(markdownItMark)\n .use(markdownItIns);\n\n// Unwrap images from paragraphs so they can be parsed as block nodes by ProseMirror\nmd.core.ruler.after(\"inline\", \"image-to-block\", (state: any) => {\n const tokens = state.tokens;\n for (let i = tokens.length - 2; i >= 1; i--) {\n if (\n tokens[i - 1] && tokens[i - 1].type === \"paragraph_open\" &&\n tokens[i] && tokens[i].type === \"inline\" &&\n tokens[i + 1] && tokens[i + 1].type === \"paragraph_close\"\n ) {\n const inlineTokens = tokens[i].children || [];\n if (inlineTokens.length === 1 && inlineTokens[0].type === \"image\") {\n state.tokens.splice(i - 1, 3, inlineTokens[0]);\n // No need to adjust index when looping backward!\n }\n }\n }\n});\n\n// Wrap inline tokens inside table cells into paragraphs to satisfy ProseMirror table cell schema (block+)\nmd.core.ruler.after(\"inline\", \"tables-wrap-paragraphs\", (state: any) => {\n const tokens = state.tokens;\n for (let i = tokens.length - 1; i >= 0; i--) {\n if (tokens[i].type === \"td_open\" || tokens[i].type === \"th_open\") {\n let closeIndex = i + 1;\n while (closeIndex < tokens.length && tokens[closeIndex].type !== \"td_close\" && tokens[closeIndex].type !== \"th_close\") {\n closeIndex++;\n }\n if (closeIndex < tokens.length) {\n const pOpen = new state.Token(\"paragraph_open\", \"p\", 1);\n pOpen.block = true;\n const pClose = new state.Token(\"paragraph_close\", \"p\", -1);\n pClose.block = true;\n\n state.tokens.splice(closeIndex, 0, pClose);\n state.tokens.splice(i + 1, 0, pOpen);\n }\n }\n }\n});\n\nexport const markdownParser = new MarkdownParser(schema, md, parserTokens);\n\n\nexport const markdownSerializer = new MarkdownSerializer(\n {\n ...defaultMarkdownSerializer.nodes,\n // Use \"-\" as bullet character to match markdown-it output and prevent\n // serialization round-trip from changing \"- \" to \"* \" and dirtying the form.\n bullet_list(state, node) {\n state.renderList(node, \" \", () => \"- \");\n },\n // Add custom serialization for task lists\n task_list(state, node) {\n state.renderList(node, \" \", () => \"- \");\n },\n task_item(state, node) {\n state.write(`[${node.attrs.checked ? \"x\" : \" \"}] `);\n state.renderContent(node);\n },\n horizontal_rule(state, node) {\n state.write(node.attrs.markup || \"---\");\n state.closeBlock(node);\n },\n image(state, node) {\n const rawSrc = node.attrs.src || \"\";\n const src = rawSrc.replace(/ /g, \"%20\");\n state.write(\"![\" + state.esc(node.attrs.alt || \"\") + \"](\" + src.replace(/[\\(\\)]/g, \"\\\\$&\") +\n (node.attrs.title ? ' \"' + node.attrs.title.replace(/\"/g, '\\\\\"') + '\"' : \"\") + \")\");\n state.closeBlock(node);\n },\n table(state, node) {\n // Access the internal `.out` accumulator with a typed cast (see MarkdownSerializerStateWithOutput).\n const stateInternal = state as unknown as MarkdownSerializerStateWithOutput;\n node.forEach((row, _, i) => {\n row.forEach((cell, _, j) => {\n if (j === 0) state.write(\"| \");\n else state.write(\" \");\n\n // Capture cell content by tracking state.out length.\n // This avoids monkey-patching state.write which loses\n // flushClose/delim handling and can produce \"undefined\" text.\n const startLen = stateInternal.out.length;\n let first = true;\n cell.forEach((block) => {\n if (!first) stateInternal.out += \"<br>\";\n state.renderInline(block);\n first = false;\n });\n const cellContent = stateInternal.out.slice(startLen);\n // Remove the rendered content from state.out; we'll re-add it escaped\n stateInternal.out = stateInternal.out.slice(0, startLen);\n state.write(cellContent.replace(/\\|/g, \"\\\\|\").replace(/\\n/g, \" \"));\n state.write(\" |\");\n });\n state.write(\"\\n\");\n if (i === 0) {\n row.forEach((cell, _, j) => {\n state.write(j === 0 ? \"|---|\" : \"---|\");\n });\n state.write(\"\\n\");\n }\n });\n state.closeBlock(node);\n },\n table_row() {},\n table_cell() {},\n table_header() {}\n },\n {\n ...defaultMarkdownSerializer.marks,\n bold: defaultMarkdownSerializer.marks.strong,\n italic: defaultMarkdownSerializer.marks.em,\n strike: { open: \"~~\",\nclose: \"~~\",\nmixable: true,\nexpelEnclosingWhitespace: true },\n highlight: { open: \"==\",\nclose: \"==\",\nmixable: true,\nexpelEnclosingWhitespace: true },\n underline: { open: \"++\",\nclose: \"++\",\nmixable: true,\nexpelEnclosingWhitespace: true },\n link: {\n ...defaultMarkdownSerializer.marks.link,\n close(state: any, mark, parent, index) {\n const inAutolink = state.inAutolink;\n state.inAutolink = undefined;\n const href = mark.attrs.href.replace(/ /g, \"%20\");\n return inAutolink ? \">\"\n : \"](\" + href.replace(/[\\(\\)\"]/g, \"\\\\$&\") + (mark.attrs.title ? ` \"${mark.attrs.title.replace(/\"/g, '\\\\\"')}\"` : \"\") + \")\";\n }\n },\n // textStyle (colored text from HTML) has no markdown equivalent — emit content as-is\n textStyle: { open: \"\",\nclose: \"\",\nmixable: true,\nexpelEnclosingWhitespace: true }\n }\n);\nexport const parser = markdownParser;\nexport const serializer = markdownSerializer;\n"],"names":["marks","link","attrs","href","title","default","target","inclusive","parseDOM","tag","getAttrs","dom","getAttribute","toDOM","node","class","bold","style","fontWeight","clearMark","m","type","name","value","test","italic","strike","underline","code","spellcheck","textStyle","color","mark","highlight","backgroundColor","nodes","doc","content","paragraph","group","text","blockquote","defining","heading","level","horizontal_rule","code_block","language","preserveWhitespace","image","inline","src","alt","draggable","bullet_list","ordered_list","order","hasAttribute","start","list_item","task_list","task_item","checked","hard_break","selectable","tableNodes","tableGroup","cellContent","cellAttributes","background","getFromDOM","setDOMAttr","schema","Schema","parserTokens","defaultMarkdownParser","tokens","em","strong","html_inline","ignore","noCloseToken","html_block","s","block","tok","attrGet","ins","table","thead","tbody","tr","th","td","md","markdownIt","html","use","markdownItTaskLists","markdownItMark","markdownItIns","core","ruler","after","state","i","length","inlineTokens","children","splice","closeIndex","pOpen","Token","pClose","markdownParser","MarkdownParser","markdownSerializer","MarkdownSerializer","defaultMarkdownSerializer","renderList","write","renderContent","markup","closeBlock","rawSrc","replace","esc","stateInternal","forEach","row","_","cell","j","startLen","out","first","renderInline","slice","table_row","table_cell","table_header","open","close","mixable","expelEnclosingWhitespace","parent","index","inAutolink","undefined","parser","serializer"],"mappings":"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"}