@rebasepro/admin 0.5.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 (337) hide show
  1. package/dist/CollectionEditorDialog-jA-PLh6N.js +3549 -0
  2. package/dist/CollectionEditorDialog-jA-PLh6N.js.map +1 -0
  3. package/dist/CollectionsStudioView-UKouBPOm.js +170 -0
  4. package/dist/CollectionsStudioView-UKouBPOm.js.map +1 -0
  5. package/dist/PropertyEditView-DEUddmg_.js +3660 -0
  6. package/dist/PropertyEditView-DEUddmg_.js.map +1 -0
  7. package/dist/collection_editor/ConfigControllerProvider.d.ts +2 -2
  8. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -1
  9. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +2 -1
  10. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
  11. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
  12. package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
  13. package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
  14. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -1
  15. package/dist/collection_editor/ui/MissingReferenceWidget.d.ts +1 -1
  16. package/dist/collection_editor/ui/NewCollectionButton.d.ts +1 -1
  17. package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
  18. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +1 -1
  19. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +1 -1
  20. package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +1 -1
  21. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -1
  22. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +2 -2
  23. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
  24. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -1
  25. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +1 -1
  26. package/dist/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +2 -1
  27. package/dist/collection_editor/ui/collection_editor/CollectionRelationsTab.d.ts +2 -1
  28. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -1
  29. package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +1 -9
  30. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -1
  31. package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +2 -1
  32. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -1
  33. package/dist/collection_editor/ui/collection_editor/EntityActionsSelectDialog.d.ts +2 -1
  34. package/dist/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.d.ts +2 -1
  35. package/dist/collection_editor/ui/collection_editor/EnumForm.d.ts +2 -1
  36. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -1
  37. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -1
  38. package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +2 -1
  39. package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +1 -1
  40. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +4 -4
  41. package/dist/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +2 -2
  42. package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -2
  43. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +2 -1
  44. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +2 -1
  45. package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
  46. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +1 -1
  47. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +3 -2
  48. package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +2 -1
  49. package/dist/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +2 -1
  50. package/dist/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +2 -1
  51. package/dist/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +2 -1
  52. package/dist/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +2 -1
  53. package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +2 -1
  54. package/dist/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +2 -1
  55. package/dist/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +2 -1
  56. package/dist/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +3 -2
  57. package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +2 -1
  58. package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +2 -1
  59. package/dist/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +2 -1
  60. package/dist/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +2 -1
  61. package/dist/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +2 -1
  62. package/dist/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +2 -1
  63. package/dist/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +2 -1
  64. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.d.ts +2 -1
  65. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.d.ts +1 -1
  66. package/dist/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.d.ts +2 -1
  67. package/dist/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +2 -1
  68. package/dist/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +2 -1
  69. package/dist/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +2 -1
  70. package/dist/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +2 -1
  71. package/dist/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +1 -1
  72. package/dist/collection_editor_ui.js +4 -11
  73. package/dist/components/ArrayContainer.d.ts +3 -3
  74. package/dist/components/ClearFilterSortButton.d.ts +1 -1
  75. package/dist/components/CollectionEditorDialogs.d.ts +2 -1
  76. package/dist/components/CollectionPanel.d.ts +2 -27
  77. package/dist/components/DefaultAppBar.d.ts +1 -1
  78. package/dist/components/DefaultDrawer.d.ts +4 -4
  79. package/dist/components/DeleteEntityDialog.d.ts +2 -1
  80. package/dist/components/DrawerNavigationGroup.d.ts +1 -1
  81. package/dist/components/DrawerNavigationItem.d.ts +1 -1
  82. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +1 -1
  83. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -1
  84. package/dist/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +3 -3
  85. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -3
  86. package/dist/components/EntityCollectionTable/fields/TableRelationField.d.ts +3 -3
  87. package/dist/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +2 -1
  88. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +2 -2
  89. package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +1 -1
  90. package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +2 -1
  91. package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +2 -1
  92. package/dist/components/EntityCollectionTable/fields/VirtualTableSelect.d.ts +1 -1
  93. package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +2 -1
  94. package/dist/components/EntityCollectionTable/fields/VirtualTableUserSelect.d.ts +1 -1
  95. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -1
  96. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +1 -1
  97. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +4 -3
  98. package/dist/components/EntityCollectionView/Board.d.ts +2 -1
  99. package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +1 -1
  100. package/dist/components/EntityCollectionView/BoardSortableList.d.ts +1 -1
  101. package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +1 -1
  102. package/dist/components/EntityCollectionView/EntityCard.d.ts +2 -1
  103. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +1 -1
  104. package/dist/components/EntityCollectionView/EntityCollectionCardView.d.ts +1 -1
  105. package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +1 -1
  106. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +0 -24
  107. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +1 -1
  108. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +2 -1
  109. package/dist/components/EntityCollectionView/FilterPresetsButton.d.ts +2 -1
  110. package/dist/components/EntityCollectionView/FiltersDialog.d.ts +2 -1
  111. package/dist/components/EntityCollectionView/SplitListView.d.ts +1 -1
  112. package/dist/components/EntityCollectionView/ViewModeToggle.d.ts +2 -1
  113. package/dist/components/EntityDetailView.d.ts +1 -1
  114. package/dist/components/EntityEditView.d.ts +2 -2
  115. package/dist/components/EntityEditViewFormActions.d.ts +2 -1
  116. package/dist/components/EntityJsonPreview.d.ts +2 -1
  117. package/dist/components/EntityPreview.d.ts +3 -3
  118. package/dist/components/EntitySidePanel.d.ts +2 -1
  119. package/dist/components/EntityView.d.ts +2 -1
  120. package/dist/components/FieldCaption.d.ts +1 -1
  121. package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
  122. package/dist/components/HomePage/FavouritesView.d.ts +1 -1
  123. package/dist/components/HomePage/HomePageDnD.d.ts +4 -4
  124. package/dist/components/HomePage/NavigationCard.d.ts +1 -1
  125. package/dist/components/HomePage/NavigationCardBinding.d.ts +2 -1
  126. package/dist/components/HomePage/NavigationGroup.d.ts +2 -2
  127. package/dist/components/HomePage/RenameGroupDialog.d.ts +2 -1
  128. package/dist/components/HomePage/SmallNavigationCard.d.ts +1 -1
  129. package/dist/components/PropertyCollectionView.d.ts +2 -1
  130. package/dist/components/PropertyIdCopyTooltip.d.ts +2 -2
  131. package/dist/components/RebaseAuthGate.d.ts +1 -1
  132. package/dist/components/RebaseLayout.d.ts +1 -1
  133. package/dist/components/RebaseNavigation.d.ts +1 -1
  134. package/dist/components/RebaseRouteDefs.d.ts +1 -1
  135. package/dist/components/RebaseShell.d.ts +1 -1
  136. package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +1 -1
  137. package/dist/components/ReferenceWidget.d.ts +2 -1
  138. package/dist/components/SearchIconsView.d.ts +2 -1
  139. package/dist/components/SelectableTable/SelectableTable.d.ts +2 -2
  140. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +2 -1
  141. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +2 -1
  142. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  143. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +2 -1
  144. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +2 -1
  145. package/dist/components/SideDialogs.d.ts +1 -1
  146. package/dist/components/SideEntityProvider.d.ts +1 -1
  147. package/dist/components/admin/CreationResultDialog.d.ts +2 -1
  148. package/dist/components/app/AppBar.d.ts +1 -1
  149. package/dist/components/app/Drawer.d.ts +1 -1
  150. package/dist/components/common/default_entity_actions.d.ts +2 -1
  151. package/dist/components/history/EntityHistoryEntry.d.ts +1 -1
  152. package/dist/components/history/EntityHistoryView.d.ts +1 -1
  153. package/dist/components/history/LastEditedByFormAction.d.ts +2 -1
  154. package/dist/components/history/LastEditedByIndicator.d.ts +2 -1
  155. package/dist/components/history/UserChip.d.ts +1 -1
  156. package/dist/data_export/export/BasicExportAction.d.ts +2 -1
  157. package/dist/data_export/export/ExportCollectionAction.d.ts +1 -1
  158. package/dist/data_import/components/DataNewPropertiesMapping.d.ts +1 -1
  159. package/dist/data_import/components/ImportFileUpload.d.ts +1 -1
  160. package/dist/data_import/components/ImportNewPropertyFieldPreview.d.ts +2 -1
  161. package/dist/data_import/components/ImportSaveInProgress.d.ts +1 -1
  162. package/dist/data_import/import/ImportCollectionAction.d.ts +4 -3
  163. package/dist/editor/components/SlashCommandMenu.d.ts +2 -1
  164. package/dist/editor/editor.d.ts +1 -1
  165. package/dist/editor/selectors/color-selector.d.ts +1 -1
  166. package/dist/editor/selectors/link-selector.d.ts +1 -1
  167. package/dist/editor/selectors/node-selector.d.ts +1 -1
  168. package/dist/editor/selectors/text-buttons.d.ts +1 -1
  169. package/dist/editor.js +2621 -3574
  170. package/dist/editor.js.map +1 -1
  171. package/dist/form/EntityForm.d.ts +2 -1
  172. package/dist/form/EntityFormActions.d.ts +2 -1
  173. package/dist/form/components/FieldHelperText.d.ts +1 -1
  174. package/dist/form/components/FormEntry.d.ts +1 -1
  175. package/dist/form/components/FormLayout.d.ts +1 -1
  176. package/dist/form/components/LabelWithIconAndTooltip.d.ts +1 -1
  177. package/dist/form/components/LocalChangesMenu.d.ts +2 -1
  178. package/dist/form/components/StorageItemPreview.d.ts +2 -1
  179. package/dist/form/components/StorageUploadProgress.d.ts +2 -1
  180. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +2 -1
  181. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +2 -1
  182. package/dist/form/field_bindings/BlockFieldBinding.d.ts +2 -1
  183. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +2 -1
  184. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +2 -1
  185. package/dist/form/field_bindings/MapFieldBinding.d.ts +2 -1
  186. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +2 -1
  187. package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +2 -1
  188. package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +2 -1
  189. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +2 -1
  190. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +2 -1
  191. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -1
  192. package/dist/form/field_bindings/RelationFieldBinding.d.ts +2 -1
  193. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +2 -1
  194. package/dist/form/field_bindings/SelectFieldBinding.d.ts +2 -1
  195. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +3 -2
  196. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +2 -1
  197. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -1
  198. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +2 -1
  199. package/dist/form/field_bindings/VectorFieldBinding.d.ts +2 -1
  200. package/dist/history-BL49TIDb.js +311 -0
  201. package/dist/history-BL49TIDb.js.map +1 -0
  202. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +0 -2
  203. package/dist/hooks/navigation/useNavigationResolution.d.ts +5 -6
  204. package/dist/hooks/navigation/useResolvedCollections.d.ts +0 -2
  205. package/dist/hooks/useBreadcrumbsController.d.ts +2 -32
  206. package/dist/index.js +2 -3393
  207. package/dist/markdown-CklalUUk.js +526 -0
  208. package/dist/markdown-CklalUUk.js.map +1 -0
  209. package/dist/preview/components/ArrayEnumPreview.d.ts +2 -1
  210. package/dist/preview/components/EmptyValue.d.ts +2 -1
  211. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  212. package/dist/preview/components/ImagePreview.d.ts +2 -1
  213. package/dist/preview/components/ReferencePreview.d.ts +2 -1
  214. package/dist/preview/components/RelationPreview.d.ts +2 -1
  215. package/dist/preview/components/StorageThumbnail.d.ts +1 -1
  216. package/dist/preview/components/UserPreview.d.ts +6 -3
  217. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +2 -1
  218. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +1 -1
  219. package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +1 -1
  220. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +2 -1
  221. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +2 -1
  222. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +2 -1
  223. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +1 -1
  224. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +2 -1
  225. package/dist/preview/property_previews/MapPropertyPreview.d.ts +3 -2
  226. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +5 -4
  227. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  228. package/dist/routes/RebaseRoute.d.ts +1 -1
  229. package/dist/src-BJ8fkM8y.js +24010 -0
  230. package/dist/src-BJ8fkM8y.js.map +1 -0
  231. package/dist/types/components/PropertyPreviewProps.d.ts +4 -0
  232. package/dist/types/components/formex.d.ts +1 -40
  233. package/dist/types/fields.d.ts +9 -1
  234. package/dist/util/navigation_utils.d.ts +2 -1
  235. package/dist/util/previews.d.ts +5 -0
  236. package/dist/util/property_utils.d.ts +1 -1
  237. package/package.json +29 -26
  238. package/src/collection_editor/ConfigControllerProvider.tsx +10 -7
  239. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +2 -1
  240. package/src/collection_editor/ui/EditorCollectionAction.tsx +2 -1
  241. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +2 -1
  242. package/src/collection_editor/ui/EditorEntityAction.tsx +2 -1
  243. package/src/collection_editor/ui/KanbanSetupAction.tsx +2 -1
  244. package/src/collection_editor/ui/MissingReferenceWidget.tsx +2 -1
  245. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +2 -1
  246. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +2 -3
  247. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +0 -1
  248. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +8 -4
  249. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -1
  250. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +1 -1
  251. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +5 -2
  252. package/src/collection_editor/useLocalCollectionsConfigController.tsx +7 -2
  253. package/src/collection_editor/validateCollectionJson.ts +2 -2
  254. package/src/components/CollectionPanel.tsx +51 -25
  255. package/src/components/DefaultAppBar.tsx +1 -2
  256. package/src/components/DefaultDrawer.tsx +3 -2
  257. package/src/components/DrawerNavigationGroup.tsx +3 -2
  258. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -9
  259. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +1 -1
  260. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +1 -0
  261. package/src/components/EntityCollectionView/Board.tsx +10 -8
  262. package/src/components/EntityCollectionView/BoardSortableList.tsx +2 -2
  263. package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +4 -2
  264. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +14 -4
  265. package/src/components/EntityCollectionView/EntityCollectionListView.tsx +48 -26
  266. package/src/components/EntityCollectionView/EntityCollectionView.tsx +146 -73
  267. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +2 -1
  268. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +3 -2
  269. package/src/components/EntityCollectionView/FilterPresetsButton.tsx +4 -2
  270. package/src/components/EntityCollectionView/ViewModeToggle.tsx +0 -1
  271. package/src/components/EntityCollectionView/useBoardDataController.tsx +17 -15
  272. package/src/components/EntityCollectionView/useEntityPreviewSlots.ts +29 -19
  273. package/src/components/EntityDetailView.tsx +66 -30
  274. package/src/components/EntityEditView.tsx +70 -32
  275. package/src/components/EntitySidePanel.tsx +6 -3
  276. package/src/components/HomePage/ContentHomePage.tsx +3 -3
  277. package/src/components/HomePage/NavigationCard.tsx +5 -5
  278. package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
  279. package/src/components/RebaseLayout.tsx +5 -2
  280. package/src/components/RebaseNavigation.tsx +1 -4
  281. package/src/components/RebaseRouteDefs.tsx +5 -3
  282. package/src/components/SearchIconsView.tsx +1 -1
  283. package/src/components/SelectableTable/SelectableTable.tsx +2 -3
  284. package/src/components/SelectableTable/SelectionStore.ts +9 -3
  285. package/src/components/UserSelector.tsx +92 -2
  286. package/src/components/common/default_entity_actions.tsx +23 -6
  287. package/src/components/field_configs.tsx +6 -3
  288. package/src/editor/editor.tsx +1 -1
  289. package/src/editor/extensions/Image/index.ts +2 -2
  290. package/src/editor/extensions/Image.ts +2 -2
  291. package/src/editor/extensions/clipboard.ts +2 -2
  292. package/src/editor/markdown-it-plugins.d.ts +24 -0
  293. package/src/editor/markdown.ts +2 -3
  294. package/src/form/EntityForm.tsx +21 -15
  295. package/src/form/field_bindings/MapFieldBinding.tsx +3 -3
  296. package/src/form/field_bindings/VectorFieldBinding.tsx +3 -3
  297. package/src/form/validation.ts +17 -15
  298. package/src/hooks/navigation/useBuildNavigationStateController.tsx +3 -6
  299. package/src/hooks/navigation/useNavigationResolution.ts +143 -19
  300. package/src/hooks/navigation/useResolvedCollections.ts +4 -6
  301. package/src/hooks/useBreadcrumbsController.tsx +2 -34
  302. package/src/hooks/useBuildSideEntityController.tsx +25 -3
  303. package/src/preview/PropertyPreview.tsx +6 -2
  304. package/src/preview/components/ReferencePreview.tsx +64 -13
  305. package/src/preview/components/RelationPreview.tsx +101 -13
  306. package/src/preview/components/UserPreview.tsx +5 -14
  307. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +1 -1
  308. package/src/routes/RebaseRoute.tsx +5 -4
  309. package/src/types/components/PropertyPreviewProps.tsx +5 -0
  310. package/src/types/components/formex.tsx +1 -45
  311. package/src/types/fields.tsx +10 -1
  312. package/src/util/navigation_utils.ts +14 -4
  313. package/src/util/previews.ts +101 -4
  314. package/dist/CollectionEditorDialog-C8E440oK.js +0 -4574
  315. package/dist/CollectionEditorDialog-C8E440oK.js.map +0 -1
  316. package/dist/CollectionsStudioView-Brr_b06v.js +0 -217
  317. package/dist/CollectionsStudioView-Brr_b06v.js.map +0 -1
  318. package/dist/ExportCollectionAction-D3TTYXrq.js +0 -446
  319. package/dist/ExportCollectionAction-D3TTYXrq.js.map +0 -1
  320. package/dist/ImportCollectionAction-Dn7lya6E.js +0 -685
  321. package/dist/ImportCollectionAction-Dn7lya6E.js.map +0 -1
  322. package/dist/PropertyEditView-ChBleIbN.js +0 -8197
  323. package/dist/PropertyEditView-ChBleIbN.js.map +0 -1
  324. package/dist/collection_editor_ui.js.map +0 -1
  325. package/dist/index-D3S9x_RP.js +0 -462
  326. package/dist/index-D3S9x_RP.js.map +0 -1
  327. package/dist/index-D9RNzm01.js +0 -12
  328. package/dist/index-D9RNzm01.js.map +0 -1
  329. package/dist/index-DrrT332R.js +0 -8
  330. package/dist/index-DrrT332R.js.map +0 -1
  331. package/dist/index.js.map +0 -1
  332. package/dist/markdown-DD2JDU1X.js +0 -618
  333. package/dist/markdown-DD2JDU1X.js.map +0 -1
  334. package/dist/useEntityHistory-UVsSclfZ.js +0 -123
  335. package/dist/useEntityHistory-UVsSclfZ.js.map +0 -1
  336. package/dist/util-COYYD8zr.js +0 -30474
  337. package/dist/util-COYYD8zr.js.map +0 -1
@@ -4,7 +4,7 @@ import { ChevronDownIcon, cls, iconSize, Typography } from "@rebasepro/ui";
4
4
  ;
5
5
  import { IconForView } from "@rebasepro/core";
6
6
  import { DrawerNavigationItem } from "./DrawerNavigationItem";
7
- import { useTranslation } from "@rebasepro/core";
7
+ import { useTranslation, useComponentOverride } from "@rebasepro/core";
8
8
 
9
9
  export interface DrawerNavigationGroupProps {
10
10
  /**
@@ -66,6 +66,7 @@ export function DrawerNavigationGroup({
66
66
  hideHeader
67
67
  }: DrawerNavigationGroupProps) {
68
68
  const { t } = useTranslation();
69
+ const ResolvedDrawerNavigationItem = useComponentOverride("Shell.DrawerNavigationItem", DrawerNavigationItem);
69
70
  return (
70
71
  <div
71
72
  className={"my-2 mx-2 flex flex-col"}
@@ -112,7 +113,7 @@ export function DrawerNavigationGroup({
112
113
  )}
113
114
  >
114
115
  {entries.map((entry) => (
115
- <DrawerNavigationItem
116
+ <ResolvedDrawerNavigationItem
116
117
  key={entry.id}
117
118
  icon={<IconForView collectionOrView={entry.collection ?? entry.view} size={"small"}/>}
118
119
  tooltipsOpen={!collapsed && tooltipsOpen}
@@ -7,8 +7,7 @@ import { ReferencePreview } from "../../../preview";
7
7
  import { CollectionSize, Entity, EntityReference, FilterValues } from "@rebasepro/types";
8
8
 
9
9
  import { getPreviewSizeFrom } from "../../../preview/util";
10
- import { useCustomizationController } from "@rebasepro/core";
11
- import { ErrorView } from "@rebasepro/core";
10
+ import { useComponentOverride, ErrorView, CollectionComponentOverrideProvider } from "@rebasepro/core";
12
11
  import { cls, PencilIcon } from "@rebasepro/ui";
13
12
  import { EntityPreviewContainer } from "../../EntityPreview";
14
13
  import { getReferenceFrom } from "@rebasepro/common";
@@ -29,15 +28,15 @@ type TableReferenceFieldProps = {
29
28
  includeEntityLink?: boolean;
30
29
  };
31
30
 
32
- export function TableReferenceField(props: TableReferenceFieldProps) {
33
- const customizationController = useCustomizationController();
31
+ const DefaultMissingReference: React.FC<{ path: string }> = () => null;
32
+
33
+ function TableReferenceFieldResolver(props: TableReferenceFieldProps & { collection: EntityCollection | undefined }) {
34
+ const ResolvedMissingReference = useComponentOverride("Entity.MissingReference", DefaultMissingReference);
35
+ const { path, collection } = props;
34
36
 
35
- const collectionRegistryController = useCollectionRegistryController();
36
- const { path } = props;
37
- const collection = collectionRegistryController.getCollection(path);
38
37
  if (!collection) {
39
- if (customizationController.components?.missingReference) {
40
- return <customizationController.components.missingReference path={path}/>;
38
+ if (ResolvedMissingReference !== DefaultMissingReference) {
39
+ return <ResolvedMissingReference path={path}/>;
41
40
  } else {
42
41
  return <ErrorView error={`Collection not found: ${path}`}/>;
43
42
  }
@@ -45,6 +44,28 @@ export function TableReferenceField(props: TableReferenceFieldProps) {
45
44
  return <TableReferenceFieldInternal {...props} collection={collection}/>;
46
45
  }
47
46
 
47
+ export function TableReferenceField(props: TableReferenceFieldProps) {
48
+ const collectionRegistryController = useCollectionRegistryController();
49
+ const { path } = props;
50
+ const collection = collectionRegistryController.getCollection(path);
51
+
52
+ const content = (
53
+ <TableReferenceFieldResolver
54
+ {...props}
55
+ collection={collection}
56
+ />
57
+ );
58
+
59
+ if (collection?.components) {
60
+ return (
61
+ <CollectionComponentOverrideProvider overrides={collection.components}>
62
+ {content}
63
+ </CollectionComponentOverrideProvider>
64
+ );
65
+ }
66
+ return content;
67
+ }
68
+
48
69
  export const TableReferenceFieldInternal = React.memo(
49
70
  function TableReferenceFieldInternal(props: TableReferenceFieldProps & {
50
71
  collection: EntityCollection;
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"
2
2
 
3
3
  import useMeasure from "react-use-measure";
4
4
 
5
- import { cls, Tooltip , iconSize } from "@rebasepro/ui";
5
+ import { cls, Tooltip, iconSize } from "@rebasepro/ui";
6
6
  import { ErrorBoundary, MinusCircleIcon } from "@rebasepro/ui";
7
7
  import { getRowHeight, TableSize } from "@rebasepro/core";
8
8
  import { ErrorTooltip } from "@rebasepro/core";
@@ -279,6 +279,7 @@ export function PopupFormFieldInternal<M extends Record<string, unknown>>({
279
279
  path,
280
280
  setFieldValue,
281
281
  save: saveValue,
282
+ submit: handleSubmit,
282
283
  formex,
283
284
  status: "existing",
284
285
  openEntityMode: "side_panel",
@@ -41,7 +41,8 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
41
41
  const [dragOverColumnId, setDragOverColumnId] = useState<string | null>(null);
42
42
 
43
43
  // Custom overlay positioning — bypasses position:fixed containment issues
44
- const grabOffsetRef = useRef<{ x: number; y: number }>({ x: 0, y: 0 });
44
+ const grabOffsetRef = useRef<{ x: number; y: number }>({ x: 0,
45
+ y: 0 });
45
46
  const [overlayPos, setOverlayPos] = useState<{ x: number; y: number } | null>(null);
46
47
 
47
48
  const handleMouseMove = useCallback((e: MouseEvent) => {
@@ -261,11 +262,11 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
261
262
  const activeTop = active.rect.current.translated?.top ?? 0;
262
263
  const activeHeight = active.rect.current.translated?.height ?? 0;
263
264
  const activeCenter = activeTop + activeHeight / 2;
264
-
265
+
265
266
  const overTop = over?.rect.top ?? 0;
266
267
  const overHeight = over?.rect.height ?? 0;
267
268
  const overCenter = overTop + overHeight / 2;
268
-
269
+
269
270
  const isBelowOverItem = activeCenter > overCenter;
270
271
 
271
272
  const modifier = isBelowOverItem ? 1 : 0;
@@ -332,7 +333,7 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
332
333
  if (currentColumn && currentColumn === overColumn) {
333
334
  // Use dnd-kit's sortable indexes if available to avoid race conditions with mutating handleDragOver
334
335
  const activeIndex = finalItemMapState[currentColumn].findIndex(i => i.id === activeId);
335
-
336
+
336
337
  let overIndex = finalItemMapState[overColumn].findIndex(i => i.id === overId);
337
338
  const overType = over.data.current?.type;
338
339
  if (overIndex === -1 && (overType === "COLUMN" || overType === "ITEM-LIST")) {
@@ -343,7 +344,7 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
343
344
  // when dragging over the column background.
344
345
  overIndex = activeIndex;
345
346
  }
346
- } else if (overIndex === -1 && typeof over.data.current?.sortable?.index === 'number') {
347
+ } else if (overIndex === -1 && typeof over.data.current?.sortable?.index === "number") {
347
348
  overIndex = over.data.current.sortable.index;
348
349
  }
349
350
 
@@ -375,11 +376,11 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
375
376
 
376
377
  const customCollisionDetection: CollisionDetection = (args) => {
377
378
  const pointerCollisions = pointerWithin(args);
378
-
379
+
379
380
  if (pointerCollisions.length > 0) {
380
381
  return pointerCollisions;
381
382
  }
382
-
383
+
383
384
  return rectIntersection(args);
384
385
  };
385
386
 
@@ -394,7 +395,8 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
394
395
  {/* Hidden DragOverlay — keeps dnd-kit's internal collision detection
395
396
  and drag tracking working (it needs dragOverlay.rect to be set) */}
396
397
  <DragOverlay dropAnimation={null} style={{ opacity: 0 }}>
397
- {(activeItem || activeColumn) ? <div style={{ width: 1, height: 1 }}/> : null}
398
+ {(activeItem || activeColumn) ? <div style={{ width: 1,
399
+ height: 1 }}/> : null}
398
400
  </DragOverlay>
399
401
 
400
402
  {/* Visual overlay — rendered at document.body via portal to bypass
@@ -94,8 +94,8 @@ export function BoardSortableList<M extends Record<string, unknown>>({
94
94
  className={containerClassName}
95
95
  style={{ minHeight: 80 }}
96
96
  >
97
- <SortableContext
98
- items={items.map(i => i.id)}
97
+ <SortableContext
98
+ items={items.map(i => i.id)}
99
99
  strategy={verticalListSortingStrategy}
100
100
  >
101
101
  {items.length === 0 && !loading ? (
@@ -237,7 +237,8 @@ export function EntityCollectionBoardView<M extends Record<string, unknown> = Re
237
237
  .forEach(plugin => {
238
238
  plugin.hooks!.onKanbanColumnsReorder!({
239
239
  fullPath,
240
- parentCollectionSlugs, parentEntityIds,
240
+ parentCollectionSlugs,
241
+ parentEntityIds,
241
242
  collection,
242
243
  kanbanColumnProperty: columnProperty,
243
244
  newColumnsOrder: newColumns
@@ -487,7 +488,8 @@ export function EntityCollectionBoardView<M extends Record<string, unknown> = Re
487
488
  const addKanbanColumnSlots = useSlot("kanban.add-column", {
488
489
  collection,
489
490
  fullPath,
490
- parentCollectionSlugs, parentEntityIds,
491
+ parentCollectionSlugs,
492
+ parentEntityIds,
491
493
  columnProperty
492
494
  });
493
495
 
@@ -7,6 +7,7 @@ import {
7
7
  CircularProgress,
8
8
  Typography
9
9
  } from "@rebasepro/ui";
10
+ import { useComponentOverride } from "@rebasepro/core";
10
11
 
11
12
  export type EntityCollectionCardViewProps<M extends Record<string, unknown> = Record<string, unknown>> = {
12
13
  collection: EntityCollection<M>;
@@ -90,6 +91,7 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
90
91
  size = "m"
91
92
  }: EntityCollectionCardViewProps<M>) {
92
93
 
94
+ const ResolvedEntityCard = useComponentOverride("Collection.Card", EntityCard) as typeof EntityCard;
93
95
  const containerRef = useRef<HTMLDivElement>(null);
94
96
  const hasRestoredScroll = useRef(false);
95
97
 
@@ -109,9 +111,17 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
109
111
 
110
112
  // Keep mutable refs for values used in the scroll listener callback
111
113
  // to avoid re-attaching the listener every time pagination state changes.
112
- const paginationStateRef = useRef({ paginationEnabled, noMoreToLoad, dataLoading, itemCount, pageSize });
114
+ const paginationStateRef = useRef({ paginationEnabled,
115
+ noMoreToLoad,
116
+ dataLoading,
117
+ itemCount,
118
+ pageSize });
113
119
  useEffect(() => {
114
- paginationStateRef.current = { paginationEnabled, noMoreToLoad, dataLoading, itemCount, pageSize };
120
+ paginationStateRef.current = { paginationEnabled,
121
+ noMoreToLoad,
122
+ dataLoading,
123
+ itemCount,
124
+ pageSize };
115
125
  }, [paginationEnabled, noMoreToLoad, dataLoading, itemCount, pageSize]);
116
126
 
117
127
  // Reset loading flag when new data arrives (separate effect, like list view)
@@ -235,7 +245,7 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
235
245
  className="w-full p-4"
236
246
  >
237
247
  {/* Error state */}
238
- {dataLoadingError ? (
248
+ {dataLoadingError && data.length === 0 ? (
239
249
  <div className="h-full flex items-center justify-center p-8">
240
250
  <Typography className="text-red-500">
241
251
  Error loading data: {dataLoadingError.message}
@@ -262,7 +272,7 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
262
272
  gridColumnsClass
263
273
  )}>
264
274
  {data.map((entity) => (
265
- <EntityCard
275
+ <ResolvedEntityCard
266
276
  key={`${entity.path}_${entity.id}`}
267
277
  entity={entity}
268
278
  collection={collection}
@@ -78,7 +78,6 @@ type ListColumnDef = {
78
78
  };
79
79
 
80
80
 
81
-
82
81
  /**
83
82
  * Get row padding/spacing classes based on size
84
83
  */
@@ -212,15 +211,18 @@ function compactValueSummary(value: unknown, property: Property): string | null
212
211
  }
213
212
 
214
213
  if (property.type === "relation") {
215
- // Relation data is often populated as { id, data: { ... } }
216
214
  if (typeof value === "string" || typeof value === "number") return String(value);
217
215
  if (value && typeof value === "object") {
218
216
  const obj = value as Record<string, unknown>;
219
- // Try to find a display name in relation data
217
+ // EntityRelation.data is an Entity: { id, path, values: { name, ... } }
220
218
  if (obj.data && typeof obj.data === "object") {
221
219
  const data = obj.data as Record<string, unknown>;
222
- const name = data.name ?? data.title ?? data.display_name ?? data.displayName ?? data.email;
223
- if (name) return String(name);
220
+ const values = (data.values && typeof data.values === "object")
221
+ ? data.values as Record<string, unknown>
222
+ : data;
223
+ const name = values.name ?? values.title ?? values.display_name
224
+ ?? values.displayName ?? values.label ?? values.email;
225
+ if (name && typeof name !== "object") return String(name);
224
226
  }
225
227
  if ("id" in obj) return String(obj.id);
226
228
  }
@@ -501,7 +503,8 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
501
503
  const customEntityActions = (collection.entityActions ?? [])
502
504
  .map(action => resolveEntityAction(action, customizationController.entityActions))
503
505
  .filter(Boolean) as EntityAction<M>[];
504
- const allActions = getActionsForEntity({ entity, customEntityActions });
506
+ const allActions = getActionsForEntity({ entity,
507
+ customEntityActions });
505
508
  return allActions.filter(a => a.showActionsInListView);
506
509
  }, [getActionsForEntity, collection.entityActions, customizationController.entityActions]);
507
510
 
@@ -519,9 +522,15 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
519
522
 
520
523
  // Keep mutable refs for values used in the scroll handler to avoid
521
524
  // re-attaching the listener every time pagination state changes.
522
- const paginationStateRef = useRef({ paginationEnabled, noMoreToLoad, itemCount, pageSize });
525
+ const paginationStateRef = useRef({ paginationEnabled,
526
+ noMoreToLoad,
527
+ itemCount,
528
+ pageSize });
523
529
  useEffect(() => {
524
- paginationStateRef.current = { paginationEnabled, noMoreToLoad, itemCount, pageSize };
530
+ paginationStateRef.current = { paginationEnabled,
531
+ noMoreToLoad,
532
+ itemCount,
533
+ pageSize };
525
534
  }, [paginationEnabled, noMoreToLoad, itemCount, pageSize]);
526
535
 
527
536
  useEffect(() => {
@@ -593,7 +602,7 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
593
602
  )}
594
603
  >
595
604
  {/* Error state */}
596
- {dataLoadingError ? (
605
+ {dataLoadingError && data.length === 0 ? (
597
606
  <div className="flex items-center justify-center p-8">
598
607
  <Typography className="text-red-500">
599
608
  Error loading data: {dataLoadingError.message}
@@ -614,9 +623,13 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
614
623
  ) : (
615
624
  /* Spacer with total height — no internal scroll.
616
625
  The nearest scrollable ancestor provides the scrollbar. */
617
- <div style={{ height: totalHeight + footerHeight, position: "relative" }}>
626
+ <div style={{ height: totalHeight + footerHeight,
627
+ position: "relative" }}>
618
628
  {/* Windowed rows */}
619
- <div style={{ position: "absolute", top: offsetY, left: 0, right: 0 }}>
629
+ <div style={{ position: "absolute",
630
+ top: offsetY,
631
+ left: 0,
632
+ right: 0 }}>
620
633
  {visibleData.map((entity, i) => {
621
634
  const actualIndex = startIndex + i;
622
635
  const isLast = actualIndex === data.length - 1;
@@ -659,7 +672,10 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
659
672
  {dataLoading && (
660
673
  <div
661
674
  className="flex items-center justify-center py-3"
662
- style={{ position: "absolute", top: totalHeight, left: 0, right: 0 }}
675
+ style={{ position: "absolute",
676
+ top: totalHeight,
677
+ left: 0,
678
+ right: 0 }}
663
679
  >
664
680
  <CircularProgress size="small"/>
665
681
  </div>
@@ -667,7 +683,10 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
667
683
  {!dataLoading && noMoreToLoad && data.length > 0 && (
668
684
  <div
669
685
  className="flex items-center justify-center py-2 dark:bg-surface-900"
670
- style={{ position: "absolute", top: totalHeight, left: 0, right: 0 }}
686
+ style={{ position: "absolute",
687
+ top: totalHeight,
688
+ left: 0,
689
+ right: 0 }}
671
690
  >
672
691
  <Typography variant="caption" color="secondary">
673
692
  All {data.length} entries loaded
@@ -761,7 +780,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
761
780
  return (
762
781
  <div
763
782
  className={cls(
764
- "flex items-center gap-4 cursor-pointer group transition-colors duration-200 relative h-full",
783
+ "@container flex items-center gap-4 cursor-pointer group transition-colors duration-200 relative h-full",
765
784
  rowClasses,
766
785
  isActive
767
786
  ? "bg-surface-accent-100 dark:bg-surface-accent-950 hover:bg-surface-accent-200 dark:hover:bg-surface-accent-950"
@@ -812,7 +831,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
812
831
  )}
813
832
 
814
833
  {/* PRIMARY slot → Title + subtitle + byline */}
815
- <div className={cls("min-w-[180px] overflow-hidden", useColumnMode ? "flex-1" : "flex-1")}>
834
+ <div className={cls("min-w-0 overflow-hidden", useColumnMode ? "flex-1" : "flex-1")}>
816
835
  <div className="truncate">
817
836
  {slots.title?.value !== undefined ? (
818
837
  <Typography component="div" variant="body2" className="font-semibold text-surface-900 dark:text-surface-50 truncate transition-colors group-hover:text-primary-600 dark:group-hover:text-primary-400">
@@ -821,6 +840,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
821
840
  value={slots.title.value}
822
841
  property={slots.title.property}
823
842
  size="small"
843
+ textOnly={true}
824
844
  />
825
845
  </Typography>
826
846
  ) : (
@@ -830,22 +850,24 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
830
850
  )}
831
851
  </div>
832
852
 
833
- {/* SUBTITLE slot — always plain truncated text */}
853
+ {/* SUBTITLE slot */}
834
854
  {slots.subtitle && (
835
855
  <div className="truncate mt-0.5">
836
- <Typography variant="caption" className="text-surface-500 dark:text-surface-400 truncate">
837
- {typeof slots.subtitle.value === "string"
838
- ? slots.subtitle.value
839
- : slots.subtitle.value != null
840
- ? String(slots.subtitle.value)
841
- : ""}
856
+ <Typography variant="caption" component="div" className="text-surface-500 dark:text-surface-400 truncate">
857
+ <PropertyPreview
858
+ propertyKey={slots.subtitle.propertyKey}
859
+ value={slots.subtitle.value}
860
+ property={slots.subtitle.property}
861
+ size="small"
862
+ textOnly={true}
863
+ />
842
864
  </Typography>
843
865
  </div>
844
866
  )}
845
867
 
846
868
  {/* RELATION CHIPS slot — compact chips for all relations */}
847
869
  {!useColumnMode && slots.relations.length > 0 && (
848
- <div className="flex items-center gap-1 mt-1 overflow-hidden max-w-full">
870
+ <div className="flex items-center gap-1 mt-1 overflow-hidden max-w-full @max-[350px]:hidden">
849
871
  {slots.relations.map((rel) => (
850
872
  rel.items.map((item) => (
851
873
  <Chip
@@ -920,9 +942,9 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
920
942
  ) : (
921
943
  /* ── SLOT MODE (editorial scanner layout) ── */
922
944
  <div className="flex items-center gap-4 flex-shrink-0 ml-auto">
923
- {/* STATUS slot */}
945
+ {/* STATUS slot — hidden when row is narrow */}
924
946
  {slots.status && (
925
- <div className="flex-shrink-0">
947
+ <div className="flex-shrink-0 @max-[400px]:hidden">
926
948
  <PropertyPreview
927
949
  propertyKey={slots.status.propertyKey}
928
950
  value={slots.status.value}
@@ -934,7 +956,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
934
956
 
935
957
  {/* DATE slot */}
936
958
  {slots.date && (
937
- <div className="flex-shrink-0 text-right w-[80px]">
959
+ <div className="flex-shrink-0 text-right w-[80px] @max-[500px]:hidden">
938
960
  <Typography variant="caption" className="whitespace-nowrap text-surface-400 dark:text-surface-500 font-medium">
939
961
  {slots.date.formatted ?? "—"}
940
962
  </Typography>