@jmruthers/pace-core 0.5.84 → 0.5.86

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 (113) hide show
  1. package/dist/{DataTable-HVJFHI4N.js → DataTable-DKGTBLWT.js} +2 -2
  2. package/dist/{chunk-3R7LPLNK.js → chunk-IBMPGOCN.js} +2 -2
  3. package/dist/{chunk-BOKQCAWD.js → chunk-QCCJ3P4W.js} +49 -6
  4. package/dist/{chunk-BOKQCAWD.js.map → chunk-QCCJ3P4W.js.map} +1 -1
  5. package/dist/components.js +2 -2
  6. package/dist/index.js +2 -2
  7. package/dist/utils.js +1 -1
  8. package/docs/api/classes/ColumnFactory.md +1 -1
  9. package/docs/api/classes/ErrorBoundary.md +1 -1
  10. package/docs/api/classes/InvalidScopeError.md +1 -1
  11. package/docs/api/classes/MissingUserContextError.md +1 -1
  12. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  13. package/docs/api/classes/PermissionDeniedError.md +1 -1
  14. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  15. package/docs/api/classes/RBACAuditManager.md +1 -1
  16. package/docs/api/classes/RBACCache.md +1 -1
  17. package/docs/api/classes/RBACEngine.md +1 -1
  18. package/docs/api/classes/RBACError.md +1 -1
  19. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  20. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  21. package/docs/api/classes/StorageUtils.md +1 -1
  22. package/docs/api/enums/FileCategory.md +1 -1
  23. package/docs/api/interfaces/AggregateConfig.md +1 -1
  24. package/docs/api/interfaces/ButtonProps.md +1 -1
  25. package/docs/api/interfaces/CardProps.md +1 -1
  26. package/docs/api/interfaces/ColorPalette.md +1 -1
  27. package/docs/api/interfaces/ColorShade.md +1 -1
  28. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  29. package/docs/api/interfaces/DataRecord.md +1 -1
  30. package/docs/api/interfaces/DataTableAction.md +1 -1
  31. package/docs/api/interfaces/DataTableColumn.md +1 -1
  32. package/docs/api/interfaces/DataTableProps.md +1 -1
  33. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  34. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  35. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  36. package/docs/api/interfaces/EventLogoProps.md +1 -1
  37. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  38. package/docs/api/interfaces/FileMetadata.md +1 -1
  39. package/docs/api/interfaces/FileReference.md +1 -1
  40. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  41. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  42. package/docs/api/interfaces/FileUploadProps.md +1 -1
  43. package/docs/api/interfaces/FooterProps.md +1 -1
  44. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  45. package/docs/api/interfaces/InputProps.md +1 -1
  46. package/docs/api/interfaces/LabelProps.md +1 -1
  47. package/docs/api/interfaces/LoginFormProps.md +1 -1
  48. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  49. package/docs/api/interfaces/NavigationContextType.md +1 -1
  50. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  51. package/docs/api/interfaces/NavigationItem.md +1 -1
  52. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  53. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  54. package/docs/api/interfaces/Organisation.md +1 -1
  55. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  56. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  57. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  58. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  59. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  60. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  61. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  62. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  63. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  64. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  65. package/docs/api/interfaces/PaletteData.md +1 -1
  66. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  67. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  68. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  69. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  70. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  71. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  72. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  73. package/docs/api/interfaces/RBACConfig.md +1 -1
  74. package/docs/api/interfaces/RBACLogger.md +1 -1
  75. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  76. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  77. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  78. package/docs/api/interfaces/RouteConfig.md +1 -1
  79. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  80. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  81. package/docs/api/interfaces/StorageConfig.md +1 -1
  82. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  83. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  84. package/docs/api/interfaces/StorageListOptions.md +1 -1
  85. package/docs/api/interfaces/StorageListResult.md +1 -1
  86. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  87. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  88. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  89. package/docs/api/interfaces/StyleImport.md +1 -1
  90. package/docs/api/interfaces/SwitchProps.md +1 -1
  91. package/docs/api/interfaces/ToastActionElement.md +1 -1
  92. package/docs/api/interfaces/ToastProps.md +1 -1
  93. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  94. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  95. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  96. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  97. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  98. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  99. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  100. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  101. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  102. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  103. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  104. package/docs/api/interfaces/UserEventAccess.md +1 -1
  105. package/docs/api/interfaces/UserMenuProps.md +1 -1
  106. package/docs/api/interfaces/UserProfile.md +1 -1
  107. package/docs/api/modules.md +2 -2
  108. package/package.json +1 -1
  109. package/src/components/DataTable/DataTable.tsx +7 -0
  110. package/src/components/DataTable/components/DataTableCore.tsx +21 -0
  111. package/src/components/DataTable/components/UnifiedTableBody.tsx +34 -6
  112. /package/dist/{DataTable-HVJFHI4N.js.map → DataTable-DKGTBLWT.js.map} +0 -0
  113. /package/dist/{chunk-3R7LPLNK.js.map → chunk-IBMPGOCN.js.map} +0 -0
@@ -53,7 +53,7 @@ import {
53
53
  sortHierarchicalDataWithSorting,
54
54
  validateHierarchicalData,
55
55
  validatePaginationConfig
56
- } from "./chunk-BOKQCAWD.js";
56
+ } from "./chunk-QCCJ3P4W.js";
57
57
  import "./chunk-YVUZWLQG.js";
58
58
  import "./chunk-S63MFSY6.js";
59
59
  import "./chunk-Q7APDV6H.js";
@@ -154,4 +154,4 @@ export {
154
154
  validateHierarchicalData,
155
155
  validatePaginationConfig
156
156
  };
157
- //# sourceMappingURL=DataTable-HVJFHI4N.js.map
157
+ //# sourceMappingURL=DataTable-DKGTBLWT.js.map
@@ -22,7 +22,7 @@ import {
22
22
  SelectSeparator,
23
23
  SelectTrigger,
24
24
  SelectValue
25
- } from "./chunk-BOKQCAWD.js";
25
+ } from "./chunk-QCCJ3P4W.js";
26
26
  import {
27
27
  isPermitted,
28
28
  isSuperAdmin
@@ -3883,4 +3883,4 @@ export {
3883
3883
  PublicPageDiagnostic,
3884
3884
  PublicPageContextChecker
3885
3885
  };
3886
- //# sourceMappingURL=chunk-3R7LPLNK.js.map
3886
+ //# sourceMappingURL=chunk-IBMPGOCN.js.map
@@ -7707,14 +7707,34 @@ function UnifiedTableBody({
7707
7707
  });
7708
7708
  }
7709
7709
  }, [rows.length, dataLength, table]);
7710
+ const hasScrollContainer = !!parentRef.current;
7711
+ const effectiveShouldVirtualize = shouldVirtualize && hasScrollContainer;
7710
7712
  const virtualizer = useVirtualizer({
7711
- count: shouldVirtualize ? rows.length : 0,
7712
- getScrollElement: () => parentRef.current,
7713
+ count: effectiveShouldVirtualize ? rows.length : 0,
7714
+ getScrollElement: () => parentRef.current || null,
7713
7715
  estimateSize: () => 40,
7714
7716
  overscan: 5
7715
7717
  });
7716
- const virtualRows = shouldVirtualize ? virtualizer.getVirtualItems() : [];
7717
- const totalSize = shouldVirtualize ? virtualizer.getTotalSize() : 0;
7718
+ const virtualRows = effectiveShouldVirtualize ? virtualizer.getVirtualItems() : [];
7719
+ const totalSize = effectiveShouldVirtualize ? virtualizer.getTotalSize() : 0;
7720
+ console.log("[DataTable] \u{1F50D} Virtualization Debug:", {
7721
+ shouldVirtualize,
7722
+ effectiveShouldVirtualize,
7723
+ rowsLength: rows.length,
7724
+ virtualRowsCount: virtualRows.length,
7725
+ totalSize,
7726
+ parentRefExists: hasScrollContainer,
7727
+ parentRefHeight: parentRef.current?.clientHeight || 0,
7728
+ parentRefScrollHeight: parentRef.current?.scrollHeight || 0,
7729
+ willRenderVirtualized: effectiveShouldVirtualize && virtualRows.length > 0,
7730
+ willRenderStandard: !effectiveShouldVirtualize && rows.length > 0
7731
+ });
7732
+ if (shouldVirtualize && !hasScrollContainer) {
7733
+ console.warn("[DataTable] \u26A0\uFE0F Virtualization enabled but no scroll container found. Falling back to standard rendering.", {
7734
+ rowsLength: rows.length,
7735
+ dataLength
7736
+ });
7737
+ }
7718
7738
  const renderTableContent = () => {
7719
7739
  if (rows.length === 0) {
7720
7740
  return /* @__PURE__ */ jsx14("tr", { children: /* @__PURE__ */ jsx14(
@@ -7737,7 +7757,7 @@ function UnifiedTableBody({
7737
7757
  }
7738
7758
  ) });
7739
7759
  }
7740
- if (shouldVirtualize) {
7760
+ if (effectiveShouldVirtualize && virtualRows.length > 0) {
7741
7761
  return virtualRows.map((virtualRow) => {
7742
7762
  const row = rows[virtualRow.index];
7743
7763
  if (!row) return null;
@@ -11058,6 +11078,12 @@ function DataTableInternal({
11058
11078
  storageKey,
11059
11079
  onLayoutChange
11060
11080
  }) {
11081
+ console.log("[DataTable] \u{1F680} DataTableInternal RENDERED:", {
11082
+ dataLength: data.length,
11083
+ columnsCount: columns.length,
11084
+ isLoading: externalIsLoading,
11085
+ pageName: rbac?.pageName || rbac?.pageId
11086
+ });
11061
11087
  const authResult = useUnifiedAuth();
11062
11088
  const user = authResult.user;
11063
11089
  const requestedFeatures = useMemo14(
@@ -11524,11 +11550,23 @@ function DataTableInternal({
11524
11550
  throw new Error("DataTable requires authenticated user for RBAC");
11525
11551
  }
11526
11552
  if (!permissions.canRead.can) {
11553
+ console.warn("[DataTable] \u{1F6AB} Access denied - no read permission:", {
11554
+ canRead: permissions.canRead,
11555
+ pageId: effectivePageId,
11556
+ isLoading: permissions.canRead.isLoading
11557
+ });
11527
11558
  return /* @__PURE__ */ jsx24(AccessDeniedPage, { resource: effectivePageId || "unknown-page", operation: "read" });
11528
11559
  }
11560
+ console.log("[DataTable] \u2705 Permission check passed - rendering table");
11529
11561
  if (isLoading) {
11562
+ console.log("[DataTable] \u23F3 Loading state - showing loading component");
11530
11563
  return /* @__PURE__ */ jsx24(LoadingComponent, {});
11531
11564
  }
11565
+ console.log("[DataTable] \u{1F4CA} About to render table with data:", {
11566
+ finalTableDataLength: finalTableData.length,
11567
+ tableExists: !!table,
11568
+ canGetRows: !!table?.getRowModel
11569
+ });
11532
11570
  const PaginationComponent = enhancedPagination || finalPaginationMode !== "client" ? EnhancedPaginationControls : PaginationControls;
11533
11571
  const visibleColumns = table?.getVisibleFlatColumns() || [];
11534
11572
  const dataColumns = visibleColumns.filter(
@@ -11788,6 +11826,11 @@ import { jsx as jsx25 } from "react/jsx-runtime";
11788
11826
  function DataTable(props) {
11789
11827
  const logger = React18.useMemo(() => createLogger("DataTable"), []);
11790
11828
  const { features, ...rest } = props;
11829
+ console.log("[DataTable] \u{1F3AF} DataTable WRAPPER called:", {
11830
+ dataLength: props.data?.length || 0,
11831
+ columnsCount: props.columns?.length || 0,
11832
+ pageName: props.rbac?.pageName || props.rbac?.pageId
11833
+ });
11791
11834
  const normalizedFeatures = React18.useMemo(
11792
11835
  () => normalizeDataTableFeatures(features),
11793
11836
  [features]
@@ -12016,4 +12059,4 @@ lodash/lodash.js:
12016
12059
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12017
12060
  *)
12018
12061
  */
12019
- //# sourceMappingURL=chunk-BOKQCAWD.js.map
12062
+ //# sourceMappingURL=chunk-QCCJ3P4W.js.map