@rebasepro/admin 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/README.md +135 -0
  2. package/dist/CollectionEditorDialog-jA-PLh6N.js +3549 -0
  3. package/dist/CollectionEditorDialog-jA-PLh6N.js.map +1 -0
  4. package/dist/CollectionsStudioView-UKouBPOm.js +170 -0
  5. package/dist/CollectionsStudioView-UKouBPOm.js.map +1 -0
  6. package/dist/PropertyEditView-DEUddmg_.js +3660 -0
  7. package/dist/PropertyEditView-DEUddmg_.js.map +1 -0
  8. package/dist/collection_editor/ConfigControllerProvider.d.ts +2 -2
  9. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -1
  10. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +2 -1
  11. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
  12. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
  13. package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
  14. package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
  15. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -1
  16. package/dist/collection_editor/ui/MissingReferenceWidget.d.ts +1 -1
  17. package/dist/collection_editor/ui/NewCollectionButton.d.ts +1 -1
  18. package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
  19. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +1 -1
  20. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +1 -1
  21. package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +1 -1
  22. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -1
  23. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +2 -2
  24. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
  25. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -1
  26. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +1 -1
  27. package/dist/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +2 -1
  28. package/dist/collection_editor/ui/collection_editor/CollectionRelationsTab.d.ts +2 -1
  29. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -1
  30. package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +1 -9
  31. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -1
  32. package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +2 -1
  33. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -1
  34. package/dist/collection_editor/ui/collection_editor/EntityActionsSelectDialog.d.ts +2 -1
  35. package/dist/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.d.ts +2 -1
  36. package/dist/collection_editor/ui/collection_editor/EnumForm.d.ts +2 -1
  37. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -1
  38. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -1
  39. package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +2 -1
  40. package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +1 -1
  41. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +4 -3
  42. package/dist/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +2 -2
  43. package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -2
  44. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +2 -1
  45. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +2 -1
  46. package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
  47. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +1 -1
  48. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +3 -2
  49. package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +2 -1
  50. package/dist/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +2 -1
  51. package/dist/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +2 -1
  52. package/dist/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +2 -1
  53. package/dist/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +2 -1
  54. package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +2 -1
  55. package/dist/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +2 -1
  56. package/dist/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +2 -1
  57. package/dist/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +3 -2
  58. package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +2 -1
  59. package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +2 -1
  60. package/dist/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +2 -1
  61. package/dist/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +2 -1
  62. package/dist/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +2 -1
  63. package/dist/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +2 -1
  64. package/dist/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +2 -1
  65. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.d.ts +2 -1
  66. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.d.ts +1 -1
  67. package/dist/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.d.ts +2 -1
  68. package/dist/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +2 -1
  69. package/dist/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +2 -1
  70. package/dist/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +2 -1
  71. package/dist/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +2 -1
  72. package/dist/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +1 -1
  73. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +1 -1
  74. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +1 -1
  75. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +1 -1
  76. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +1 -1
  77. package/dist/collection_editor_ui.js +4 -11
  78. package/dist/components/ArrayContainer.d.ts +3 -3
  79. package/dist/components/ClearFilterSortButton.d.ts +1 -1
  80. package/dist/components/CollectionEditorDialogs.d.ts +2 -1
  81. package/dist/components/CollectionPanel.d.ts +2 -27
  82. package/dist/components/DefaultAppBar.d.ts +1 -1
  83. package/dist/components/DefaultDrawer.d.ts +4 -4
  84. package/dist/components/DeleteEntityDialog.d.ts +2 -1
  85. package/dist/components/DrawerNavigationGroup.d.ts +1 -1
  86. package/dist/components/DrawerNavigationItem.d.ts +1 -1
  87. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +1 -1
  88. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -1
  89. package/dist/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +3 -3
  90. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -3
  91. package/dist/components/EntityCollectionTable/fields/TableRelationField.d.ts +3 -3
  92. package/dist/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +2 -1
  93. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +2 -2
  94. package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +1 -1
  95. package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +2 -1
  96. package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +2 -1
  97. package/dist/components/EntityCollectionTable/fields/VirtualTableSelect.d.ts +1 -1
  98. package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +2 -1
  99. package/dist/components/EntityCollectionTable/fields/VirtualTableUserSelect.d.ts +1 -1
  100. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -1
  101. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +1 -1
  102. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +4 -3
  103. package/dist/components/EntityCollectionView/Board.d.ts +2 -1
  104. package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +1 -1
  105. package/dist/components/EntityCollectionView/BoardSortableList.d.ts +1 -1
  106. package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +1 -1
  107. package/dist/components/EntityCollectionView/EntityCard.d.ts +2 -1
  108. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +1 -1
  109. package/dist/components/EntityCollectionView/EntityCollectionCardView.d.ts +1 -1
  110. package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +1 -1
  111. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +0 -24
  112. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +1 -1
  113. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +2 -1
  114. package/dist/components/EntityCollectionView/FilterPresetsButton.d.ts +2 -1
  115. package/dist/components/EntityCollectionView/FiltersDialog.d.ts +2 -1
  116. package/dist/components/EntityCollectionView/SplitListView.d.ts +1 -1
  117. package/dist/components/EntityCollectionView/ViewModeToggle.d.ts +2 -1
  118. package/dist/components/EntityDetailView.d.ts +1 -1
  119. package/dist/components/EntityEditView.d.ts +2 -2
  120. package/dist/components/EntityEditViewFormActions.d.ts +2 -1
  121. package/dist/components/EntityJsonPreview.d.ts +2 -1
  122. package/dist/components/EntityPreview.d.ts +3 -3
  123. package/dist/components/EntitySidePanel.d.ts +2 -1
  124. package/dist/components/EntityView.d.ts +2 -1
  125. package/dist/components/FieldCaption.d.ts +1 -1
  126. package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
  127. package/dist/components/HomePage/FavouritesView.d.ts +1 -1
  128. package/dist/components/HomePage/HomePageDnD.d.ts +4 -4
  129. package/dist/components/HomePage/NavigationCard.d.ts +1 -1
  130. package/dist/components/HomePage/NavigationCardBinding.d.ts +2 -1
  131. package/dist/components/HomePage/NavigationGroup.d.ts +2 -2
  132. package/dist/components/HomePage/RenameGroupDialog.d.ts +2 -1
  133. package/dist/components/HomePage/SmallNavigationCard.d.ts +1 -1
  134. package/dist/components/PropertyCollectionView.d.ts +2 -1
  135. package/dist/components/PropertyIdCopyTooltip.d.ts +2 -2
  136. package/dist/components/RebaseAuthGate.d.ts +1 -1
  137. package/dist/components/RebaseLayout.d.ts +1 -1
  138. package/dist/components/RebaseNavigation.d.ts +1 -1
  139. package/dist/components/RebaseRouteDefs.d.ts +1 -1
  140. package/dist/components/RebaseShell.d.ts +1 -1
  141. package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +1 -1
  142. package/dist/components/ReferenceWidget.d.ts +2 -1
  143. package/dist/components/SearchIconsView.d.ts +2 -1
  144. package/dist/components/SelectableTable/SelectableTable.d.ts +2 -2
  145. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +2 -1
  146. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +2 -1
  147. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  148. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +2 -1
  149. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +2 -1
  150. package/dist/components/SideDialogs.d.ts +1 -1
  151. package/dist/components/SideEntityProvider.d.ts +1 -1
  152. package/dist/components/admin/CreationResultDialog.d.ts +2 -1
  153. package/dist/components/app/AppBar.d.ts +1 -1
  154. package/dist/components/app/Drawer.d.ts +1 -1
  155. package/dist/components/common/default_entity_actions.d.ts +2 -1
  156. package/dist/components/history/EntityHistoryEntry.d.ts +1 -1
  157. package/dist/components/history/EntityHistoryView.d.ts +1 -1
  158. package/dist/components/history/LastEditedByFormAction.d.ts +2 -1
  159. package/dist/components/history/LastEditedByIndicator.d.ts +2 -1
  160. package/dist/components/history/UserChip.d.ts +1 -1
  161. package/dist/data_export/export/BasicExportAction.d.ts +2 -1
  162. package/dist/data_export/export/ExportCollectionAction.d.ts +1 -1
  163. package/dist/data_import/components/DataNewPropertiesMapping.d.ts +1 -1
  164. package/dist/data_import/components/ImportFileUpload.d.ts +1 -1
  165. package/dist/data_import/components/ImportNewPropertyFieldPreview.d.ts +2 -1
  166. package/dist/data_import/components/ImportSaveInProgress.d.ts +1 -1
  167. package/dist/data_import/import/ImportCollectionAction.d.ts +4 -3
  168. package/dist/editor/components/SlashCommandMenu.d.ts +2 -1
  169. package/dist/editor/editor.d.ts +1 -1
  170. package/dist/editor/selectors/color-selector.d.ts +1 -1
  171. package/dist/editor/selectors/link-selector.d.ts +1 -1
  172. package/dist/editor/selectors/node-selector.d.ts +1 -1
  173. package/dist/editor/selectors/text-buttons.d.ts +1 -1
  174. package/dist/editor.js +2621 -3574
  175. package/dist/editor.js.map +1 -1
  176. package/dist/form/EntityForm.d.ts +2 -1
  177. package/dist/form/EntityFormActions.d.ts +2 -1
  178. package/dist/form/components/FieldHelperText.d.ts +1 -1
  179. package/dist/form/components/FormEntry.d.ts +1 -1
  180. package/dist/form/components/FormLayout.d.ts +1 -1
  181. package/dist/form/components/LabelWithIconAndTooltip.d.ts +1 -1
  182. package/dist/form/components/LocalChangesMenu.d.ts +2 -1
  183. package/dist/form/components/StorageItemPreview.d.ts +2 -1
  184. package/dist/form/components/StorageUploadProgress.d.ts +2 -1
  185. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +2 -1
  186. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +2 -1
  187. package/dist/form/field_bindings/BlockFieldBinding.d.ts +2 -1
  188. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +2 -1
  189. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +2 -1
  190. package/dist/form/field_bindings/MapFieldBinding.d.ts +2 -1
  191. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +2 -1
  192. package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +2 -1
  193. package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +2 -1
  194. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +2 -1
  195. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +2 -1
  196. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -1
  197. package/dist/form/field_bindings/RelationFieldBinding.d.ts +2 -1
  198. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +2 -1
  199. package/dist/form/field_bindings/SelectFieldBinding.d.ts +2 -1
  200. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +3 -2
  201. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +2 -1
  202. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -1
  203. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +2 -1
  204. package/dist/form/field_bindings/VectorFieldBinding.d.ts +2 -1
  205. package/dist/history-BL49TIDb.js +311 -0
  206. package/dist/history-BL49TIDb.js.map +1 -0
  207. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +0 -2
  208. package/dist/hooks/navigation/useNavigationResolution.d.ts +5 -6
  209. package/dist/hooks/navigation/useResolvedCollections.d.ts +0 -2
  210. package/dist/hooks/useBreadcrumbsController.d.ts +2 -32
  211. package/dist/index.js +2 -3393
  212. package/dist/markdown-CklalUUk.js +526 -0
  213. package/dist/markdown-CklalUUk.js.map +1 -0
  214. package/dist/preview/components/ArrayEnumPreview.d.ts +2 -1
  215. package/dist/preview/components/EmptyValue.d.ts +2 -1
  216. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  217. package/dist/preview/components/ImagePreview.d.ts +2 -1
  218. package/dist/preview/components/ReferencePreview.d.ts +2 -1
  219. package/dist/preview/components/RelationPreview.d.ts +2 -1
  220. package/dist/preview/components/StorageThumbnail.d.ts +1 -1
  221. package/dist/preview/components/UserPreview.d.ts +6 -3
  222. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +2 -1
  223. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +1 -1
  224. package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +1 -1
  225. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +2 -1
  226. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +2 -1
  227. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +2 -1
  228. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +1 -1
  229. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +2 -1
  230. package/dist/preview/property_previews/MapPropertyPreview.d.ts +3 -2
  231. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +5 -4
  232. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  233. package/dist/routes/RebaseRoute.d.ts +1 -1
  234. package/dist/src-BJ8fkM8y.js +24010 -0
  235. package/dist/src-BJ8fkM8y.js.map +1 -0
  236. package/dist/types/components/PropertyPreviewProps.d.ts +4 -0
  237. package/dist/types/components/formex.d.ts +1 -40
  238. package/dist/types/fields.d.ts +9 -1
  239. package/dist/util/navigation_utils.d.ts +2 -1
  240. package/dist/util/previews.d.ts +5 -0
  241. package/dist/util/property_utils.d.ts +1 -1
  242. package/package.json +29 -27
  243. package/src/collection_editor/ConfigControllerProvider.tsx +10 -7
  244. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +2 -1
  245. package/src/collection_editor/ui/EditorCollectionAction.tsx +2 -1
  246. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +2 -1
  247. package/src/collection_editor/ui/EditorEntityAction.tsx +2 -1
  248. package/src/collection_editor/ui/KanbanSetupAction.tsx +2 -1
  249. package/src/collection_editor/ui/MissingReferenceWidget.tsx +2 -1
  250. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +2 -1
  251. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +2 -3
  252. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +0 -1
  253. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +8 -4
  254. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +2 -2
  255. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -1
  256. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +2 -1
  257. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +2 -2
  258. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +5 -2
  259. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +2 -1
  260. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +1 -1
  261. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +1 -1
  262. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +1 -1
  263. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +1 -1
  264. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +1 -1
  265. package/src/collection_editor/useLocalCollectionsConfigController.tsx +7 -2
  266. package/src/collection_editor/validateCollectionJson.ts +2 -2
  267. package/src/components/CollectionPanel.tsx +51 -25
  268. package/src/components/DefaultAppBar.tsx +1 -2
  269. package/src/components/DefaultDrawer.tsx +3 -2
  270. package/src/components/DrawerNavigationGroup.tsx +3 -2
  271. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -9
  272. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +1 -1
  273. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +1 -0
  274. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +5 -2
  275. package/src/components/EntityCollectionView/Board.tsx +10 -8
  276. package/src/components/EntityCollectionView/BoardSortableList.tsx +2 -2
  277. package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +4 -2
  278. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +14 -4
  279. package/src/components/EntityCollectionView/EntityCollectionListView.tsx +48 -26
  280. package/src/components/EntityCollectionView/EntityCollectionView.tsx +146 -73
  281. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +2 -1
  282. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +3 -2
  283. package/src/components/EntityCollectionView/FilterPresetsButton.tsx +4 -2
  284. package/src/components/EntityCollectionView/ViewModeToggle.tsx +0 -1
  285. package/src/components/EntityCollectionView/useBoardDataController.tsx +17 -15
  286. package/src/components/EntityCollectionView/useEntityPreviewSlots.ts +32 -23
  287. package/src/components/EntityDetailView.tsx +72 -39
  288. package/src/components/EntityEditView.tsx +79 -47
  289. package/src/components/EntitySidePanel.tsx +9 -3
  290. package/src/components/HomePage/ContentHomePage.tsx +3 -3
  291. package/src/components/HomePage/NavigationCard.tsx +5 -5
  292. package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
  293. package/src/components/RebaseLayout.tsx +5 -2
  294. package/src/components/RebaseNavigation.tsx +1 -4
  295. package/src/components/RebaseRouteDefs.tsx +5 -3
  296. package/src/components/SearchIconsView.tsx +1 -1
  297. package/src/components/SelectableTable/SelectableTable.tsx +2 -3
  298. package/src/components/SelectableTable/SelectionStore.ts +9 -3
  299. package/src/components/UserSelector.tsx +92 -2
  300. package/src/components/common/default_entity_actions.tsx +23 -6
  301. package/src/components/field_configs.tsx +6 -3
  302. package/src/editor/editor.tsx +1 -1
  303. package/src/editor/extensions/Image/index.ts +2 -2
  304. package/src/editor/extensions/Image.ts +2 -2
  305. package/src/editor/extensions/clipboard.ts +2 -2
  306. package/src/editor/markdown-it-plugins.d.ts +24 -0
  307. package/src/editor/markdown.ts +2 -3
  308. package/src/form/EntityForm.tsx +21 -15
  309. package/src/form/PropertyFieldBinding.tsx +1 -1
  310. package/src/form/field_bindings/KeyValueFieldBinding.tsx +1 -1
  311. package/src/form/field_bindings/MapFieldBinding.tsx +5 -47
  312. package/src/form/field_bindings/VectorFieldBinding.tsx +3 -3
  313. package/src/form/validation.ts +17 -15
  314. package/src/hooks/navigation/useBuildNavigationStateController.tsx +3 -6
  315. package/src/hooks/navigation/useNavigationResolution.ts +143 -19
  316. package/src/hooks/navigation/useResolvedCollections.ts +4 -6
  317. package/src/hooks/useBreadcrumbsController.tsx +2 -34
  318. package/src/hooks/useBuildSideEntityController.tsx +25 -3
  319. package/src/preview/PropertyPreview.tsx +6 -2
  320. package/src/preview/components/ReferencePreview.tsx +64 -13
  321. package/src/preview/components/RelationPreview.tsx +101 -13
  322. package/src/preview/components/UserPreview.tsx +5 -14
  323. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +1 -1
  324. package/src/routes/RebaseRoute.tsx +5 -4
  325. package/src/types/components/PropertyPreviewProps.tsx +5 -0
  326. package/src/types/components/formex.tsx +1 -45
  327. package/src/types/fields.tsx +10 -1
  328. package/src/util/navigation_utils.ts +14 -4
  329. package/src/util/previews.ts +101 -4
  330. package/dist/CollectionEditorDialog-Bo86h-d-.js +0 -4574
  331. package/dist/CollectionEditorDialog-Bo86h-d-.js.map +0 -1
  332. package/dist/CollectionsStudioView-bsg4AT_Z.js +0 -217
  333. package/dist/CollectionsStudioView-bsg4AT_Z.js.map +0 -1
  334. package/dist/ExportCollectionAction-Cf-Id5uO.js +0 -446
  335. package/dist/ExportCollectionAction-Cf-Id5uO.js.map +0 -1
  336. package/dist/ImportCollectionAction-LN5sreK9.js +0 -685
  337. package/dist/ImportCollectionAction-LN5sreK9.js.map +0 -1
  338. package/dist/PropertyEditView-jCWCxmCz.js +0 -8197
  339. package/dist/PropertyEditView-jCWCxmCz.js.map +0 -1
  340. package/dist/collection_editor_ui.js.map +0 -1
  341. package/dist/index-BrqSvMG0.js +0 -8
  342. package/dist/index-BrqSvMG0.js.map +0 -1
  343. package/dist/index-Cb0bPnzZ.js +0 -12
  344. package/dist/index-Cb0bPnzZ.js.map +0 -1
  345. package/dist/index-z3H8iqsj.js +0 -462
  346. package/dist/index-z3H8iqsj.js.map +0 -1
  347. package/dist/index.js.map +0 -1
  348. package/dist/markdown-DD2JDU1X.js +0 -618
  349. package/dist/markdown-DD2JDU1X.js.map +0 -1
  350. package/dist/useEntityHistory-UVsSclfZ.js +0 -123
  351. package/dist/useEntityHistory-UVsSclfZ.js.map +0 -1
  352. package/dist/util-CvNp6A-r.js +0 -30505
  353. package/dist/util-CvNp6A-r.js.map +0 -1
@@ -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 && typeof value === "string") 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-DD2JDU1X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-DD2JDU1X.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 {\n href,\n title,\n target\n } = node.attrs;\n return [\"a\", {\n href,\n title,\n target,\n class: \"text-surface-700 dark:text-surface-accent-200 underline underline-offset-[3px] hover:text-primary transition-colors cursor-pointer\"\n }, 0];\n }\n },\n bold: {\n parseDOM: [\n { tag: \"strong\" },\n {\n tag: \"b\",\n getAttrs: (node: HTMLElement | string) => typeof node !== \"string\" && node.style.fontWeight !== \"normal\" && null\n },\n {\n style: \"font-weight=400\",\n clearMark: m => m.type.name === \"bold\"\n },\n {\n style: \"font-weight\",\n getAttrs: (value: string | HTMLElement) => typeof value === \"string\" && /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null\n }\n ],\n toDOM() {\n return [\"strong\", 0];\n }\n },\n italic: {\n parseDOM: [{ tag: \"i\" }, { tag: \"em\" }, { style: \"font-style=italic\" }],\n toDOM() {\n return [\"em\", 0];\n }\n },\n strike: {\n parseDOM: [{ tag: \"s\" }, { tag: \"del\" }, { tag: \"strike\" }, { style: \"text-decoration=line-through\" }],\n toDOM() {\n return [\"s\", 0];\n }\n },\n underline: {\n parseDOM: [{ tag: \"u\" }, { style: \"text-decoration=underline\" }],\n toDOM() {\n return [\"u\", 0];\n }\n },\n code: {\n parseDOM: [{ tag: \"code\" }],\n toDOM() {\n return [\"code\", {\n class: \"rounded-md bg-surface-accent-50 dark:bg-surface-700 px-1.5 py-1 font-mono font-medium\",\n spellcheck: \"false\"\n }, 0];\n }\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 ? {\n style: `background-color: ${mark.attrs.color}; color: inherit;`,\n \"data-color\": mark.attrs.color\n } : {}, 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() {\n return [\"p\", 0];\n }\n },\n text: {\n group: \"inline\"\n },\n blockquote: {\n content: \"block+\",\n group: \"block\",\n defining: true,\n parseDOM: [{ tag: \"blockquote\" }],\n toDOM() {\n return [\"blockquote\", { class: \"border-l-4 border-primary\" }, 0];\n }\n },\n heading: {\n attrs: { level: { default: 1 } },\n content: \"inline*\",\n group: \"block\",\n defining: true,\n parseDOM: [\n {\n tag: \"h1\",\n attrs: { level: 1 }\n },\n {\n tag: \"h2\",\n attrs: { level: 2 }\n },\n {\n tag: \"h3\",\n attrs: { level: 3 }\n },\n {\n tag: \"h4\",\n attrs: { level: 4 }\n },\n {\n tag: \"h5\",\n attrs: { level: 5 }\n },\n {\n tag: \"h6\",\n attrs: { level: 6 }\n }\n ],\n toDOM(node) {\n return [\"h\" + node.attrs.level, 0];\n }\n },\n horizontal_rule: {\n group: \"block\",\n parseDOM: [{ tag: \"hr\" }],\n toDOM() {\n return [\"hr\", { class: \"mt-4 mb-6 border-t border-solid border-gray-200 dark:border-gray-800\" }];\n }\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 {\n tag: \"pre\",\n preserveWhitespace: \"full\"\n }\n ],\n toDOM(node) {\n 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 },\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 {\n src,\n alt,\n title\n } = node.attrs;\n return [\"img\", {\n src,\n alt,\n title,\n class: \"rounded-lg max-w-full !m-0\"\n }];\n }\n },\n bullet_list: {\n content: \"list_item+\",\n group: \"block\",\n parseDOM: [{ tag: \"ul\" }],\n toDOM() {\n return [\"ul\", { class: \"list-disc list-outside leading-3 -mt-2\" }, 0];\n }\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\", {\n start: node.attrs.order,\n class: \"list-decimal list-outside leading-3 -mt-2\"\n }, 0];\n }\n },\n list_item: {\n content: \"paragraph block*\",\n parseDOM: [{ tag: \"li\" }],\n toDOM() {\n return [\"li\", { class: \"leading-normal -mb-2\" }, 0];\n },\n defining: true\n },\n task_list: {\n group: \"block\",\n content: \"task_item+\",\n parseDOM: [{ tag: \"ul[data-type=\\\"taskList\\\"]\" }],\n toDOM() {\n return [\"ul\", {\n \"data-type\": \"taskList\",\n class: \"not-prose\"\n }, 0];\n }\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\", {\n \"data-type\": \"taskItem\",\n \"data-checked\": node.attrs.checked ? \"true\" : \"false\",\n class: \"flex items-start my-4\"\n }, 0];\n }\n },\n hard_break: {\n inline: true,\n group: \"inline\",\n selectable: false,\n parseDOM: [{ tag: \"br\" }],\n toDOM() {\n return [\"br\"];\n }\n },\n ...tableNodes({\n tableGroup: \"block\",\n cellContent: \"block+\",\n cellAttributes: {\n background: {\n default: null,\n getFromDOM(dom: HTMLElement) {\n return dom.style.backgroundColor || null\n },\n setDOMAttr(value: unknown, attrs: any) {\n if (value && typeof value === \"string\") attrs.style = (attrs.style || \"\") + `background-color: ${value};`\n }\n }\n }\n })\n};\n\nexport const schema = new Schema({\n nodes,\n marks\n});\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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"}