@open-mercato/ui 0.6.5-develop.4384.1.ce2ec6eaaa → 0.6.5-develop.4393.1.de282b5dfd

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 (31) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/dist/backend/CrudForm.js +27 -7
  3. package/dist/backend/CrudForm.js.map +3 -3
  4. package/dist/backend/DataTable.js +11 -4
  5. package/dist/backend/DataTable.js.map +2 -2
  6. package/dist/backend/icons/lucideRegistry.generated.js +4 -0
  7. package/dist/backend/icons/lucideRegistry.generated.js.map +2 -2
  8. package/dist/backend/messages/EmailThreadsPanel.js +212 -0
  9. package/dist/backend/messages/EmailThreadsPanel.js.map +7 -0
  10. package/dist/backend/messages/index.js +4 -0
  11. package/dist/backend/messages/index.js.map +2 -2
  12. package/dist/backend/messages/mergeOptimisticEmailThreads.js +55 -0
  13. package/dist/backend/messages/mergeOptimisticEmailThreads.js.map +7 -0
  14. package/dist/backend/notifications/NotificationDispatcher.js +1 -0
  15. package/dist/backend/notifications/NotificationDispatcher.js.map +2 -2
  16. package/dist/backend/notifications/useNotificationsPoll.js +7 -0
  17. package/dist/backend/notifications/useNotificationsPoll.js.map +2 -2
  18. package/dist/backend/notifications/useNotificationsSse.js +8 -0
  19. package/dist/backend/notifications/useNotificationsSse.js.map +2 -2
  20. package/package.json +3 -3
  21. package/src/backend/CrudForm.tsx +33 -7
  22. package/src/backend/DataTable.tsx +34 -4
  23. package/src/backend/__tests__/CrudForm.unsavedNavigation.test.tsx +51 -2
  24. package/src/backend/icons/lucideRegistry.generated.tsx +4 -0
  25. package/src/backend/messages/EmailThreadsPanel.tsx +351 -0
  26. package/src/backend/messages/__tests__/mergeOptimisticEmailThreads.test.ts +126 -0
  27. package/src/backend/messages/index.ts +12 -0
  28. package/src/backend/messages/mergeOptimisticEmailThreads.ts +84 -0
  29. package/src/backend/notifications/NotificationDispatcher.ts +2 -0
  30. package/src/backend/notifications/useNotificationsPoll.ts +5 -0
  31. package/src/backend/notifications/useNotificationsSse.ts +6 -0
@@ -643,6 +643,7 @@ function DataTable({
643
643
  injectionSpotId,
644
644
  injectionContext,
645
645
  replacementHandle,
646
+ extensionTableId: extensionTableIdProp,
646
647
  stickyFirstColumn = false,
647
648
  stickyActionsColumn = false,
648
649
  virtualized = false,
@@ -803,14 +804,20 @@ function DataTable({
803
804
  const initialPerspectiveAppliedRef = React.useRef(Boolean(mergedInitialSettings));
804
805
  const extensionTableId = React.useMemo(() => {
805
806
  if (perspective?.tableId) return perspective.tableId;
807
+ if (extensionTableIdProp) return extensionTableIdProp;
806
808
  if (injectionSpotId?.startsWith("data-table:")) return injectionSpotId.slice("data-table:".length);
807
809
  return null;
808
- }, [injectionSpotId, perspective?.tableId]);
809
- const resolvedInjectionSpotId = injectionSpotId ?? (perspective?.tableId ? `data-table:${perspective.tableId}` : null);
810
+ }, [injectionSpotId, perspective?.tableId, extensionTableIdProp]);
811
+ const resolvedInjectionSpotId = injectionSpotId ?? (perspective?.tableId ? `data-table:${perspective.tableId}` : null) ?? (extensionTableIdProp ? `data-table:${extensionTableIdProp}` : null);
810
812
  const resolvedReplacementHandle = replacementHandle ?? ComponentReplacementHandles.dataTable(extensionTableId ?? "unknown");
811
813
  const baseInjectionContext = React.useMemo(
812
- () => injectionContext ?? { tableId: perspective?.tableId ?? null, title: typeof title === "string" ? title : void 0 },
813
- [injectionContext, perspective?.tableId, title]
814
+ () => {
815
+ if (injectionContext) return injectionContext;
816
+ const resolvedTableId = extensionTableId ?? perspective?.tableId ?? null;
817
+ const baseTitle = typeof title === "string" ? title : void 0;
818
+ return { tableId: resolvedTableId, title: baseTitle };
819
+ },
820
+ [injectionContext, perspective?.tableId, extensionTableId, title]
814
821
  );
815
822
  const headerInjectionSpotId = React.useMemo(
816
823
  () => resolvedInjectionSpotId ? `${resolvedInjectionSpotId}:header` : null,