@jmruthers/pace-core 0.5.83 → 0.5.84

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 (112) hide show
  1. package/dist/{DataTable-7NVDMWPY.js → DataTable-HVJFHI4N.js} +2 -2
  2. package/dist/{chunk-IGMNHF3A.js → chunk-3R7LPLNK.js} +2 -2
  3. package/dist/{chunk-JAA6F35O.js → chunk-BOKQCAWD.js} +93 -46
  4. package/dist/{chunk-JAA6F35O.js.map → chunk-BOKQCAWD.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/components/DataTableCore.tsx +72 -40
  110. package/src/components/DataTable/components/UnifiedTableBody.tsx +27 -8
  111. /package/dist/{DataTable-7NVDMWPY.js.map → DataTable-HVJFHI4N.js.map} +0 -0
  112. /package/dist/{chunk-IGMNHF3A.js.map → chunk-3R7LPLNK.js.map} +0 -0
@@ -53,7 +53,7 @@ import {
53
53
  sortHierarchicalDataWithSorting,
54
54
  validateHierarchicalData,
55
55
  validatePaginationConfig
56
- } from "./chunk-JAA6F35O.js";
56
+ } from "./chunk-BOKQCAWD.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-7NVDMWPY.js.map
157
+ //# sourceMappingURL=DataTable-HVJFHI4N.js.map
@@ -22,7 +22,7 @@ import {
22
22
  SelectSeparator,
23
23
  SelectTrigger,
24
24
  SelectValue
25
- } from "./chunk-JAA6F35O.js";
25
+ } from "./chunk-BOKQCAWD.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-IGMNHF3A.js.map
3886
+ //# sourceMappingURL=chunk-3R7LPLNK.js.map
@@ -7660,19 +7660,32 @@ function UnifiedTableBody({
7660
7660
  const shouldVirtualize = forceVirtualization || dataLength > VIRTUALIZATION_THRESHOLD;
7661
7661
  const rows = table.getRowModel().rows;
7662
7662
  const headerGroups = table.getHeaderGroups();
7663
+ console.log("[DataTable] \u{1F50D} UnifiedTableBody Render:", {
7664
+ dataLength,
7665
+ rowsLength: rows.length,
7666
+ coreRowsLength: table.getCoreRowModel().rows.length,
7667
+ prePaginationRowsLength: table.getPrePaginationRowModel?.()?.rows?.length || 0,
7668
+ shouldVirtualize
7669
+ });
7663
7670
  useEffect3(() => {
7664
- if (import.meta.env?.MODE === "development" && rows.length === 0 && dataLength > 0) {
7671
+ if (rows.length === 0 && dataLength > 0) {
7665
7672
  const tableState = table.getState();
7666
7673
  const pagination = tableState.pagination;
7667
7674
  const columnFilters = tableState.columnFilters;
7668
7675
  const globalFilter = tableState.globalFilter;
7669
- const allRows = table.getPrePaginationRowModel?.()?.rows || [];
7676
+ const coreRows = table.getCoreRowModel().rows;
7677
+ const prePaginationRows = table.getPrePaginationRowModel?.()?.rows || [];
7678
+ const filteredRows = table.getFilteredRowModel?.()?.rows || [];
7679
+ const sortedRows = table.getSortedRowModel?.()?.rows || [];
7670
7680
  const rowCount = table.getRowCount();
7671
7681
  const pageCount = table.getPageCount();
7672
- console.warn("[DataTable] Diagnostic: Rows empty but data exists", {
7682
+ console.warn("[DataTable] \u26A0\uFE0F CRITICAL: Rows empty but data exists!", {
7673
7683
  dataLength,
7674
7684
  rowsLength: rows.length,
7675
- allRowsLength: allRows.length,
7685
+ coreRowsLength: coreRows.length,
7686
+ prePaginationRowsLength: prePaginationRows.length,
7687
+ filteredRowsLength: filteredRows.length,
7688
+ sortedRowsLength: sortedRows.length,
7676
7689
  rowCount,
7677
7690
  pageCount,
7678
7691
  pagination: {
@@ -7681,13 +7694,16 @@ function UnifiedTableBody({
7681
7694
  },
7682
7695
  columnFilters,
7683
7696
  globalFilter,
7684
- hasFilteredRows: table.getFilteredRowModel?.()?.rows?.length || 0,
7685
- hasSortedRows: table.getSortedRowModel?.()?.rows?.length || 0,
7686
7697
  tableOptions: {
7698
+ getCoreRowModel: !!table.options.getCoreRowModel,
7687
7699
  getFilteredRowModel: !!table.options.getFilteredRowModel,
7688
7700
  getSortedRowModel: !!table.options.getSortedRowModel,
7689
- getPaginationRowModel: !!table.options.getPaginationRowModel
7690
- }
7701
+ getPaginationRowModel: !!table.options.getPaginationRowModel,
7702
+ manualPagination: table.options.manualPagination,
7703
+ manualFiltering: table.options.manualFiltering,
7704
+ manualSorting: table.options.manualSorting
7705
+ },
7706
+ tableDataLength: table.options.data?.length || 0
7691
7707
  });
7692
7708
  }
7693
7709
  }, [rows.length, dataLength, table]);
@@ -11433,46 +11449,77 @@ function DataTableInternal({
11433
11449
  hasServerSideConfig: !!serverSide
11434
11450
  });
11435
11451
  useEffect12(() => {
11436
- if (import.meta.env?.MODE === "development" && finalTableData.length > 0) {
11437
- const configDataLength = tableConfig.data?.length || 0;
11438
- if (configDataLength === 0) {
11439
- console.warn("[DataTable] Diagnostic: tableConfig.data is empty but finalTableData has items", {
11440
- finalTableDataLength: finalTableData.length,
11441
- configDataLength,
11442
- enhancedColumnsCount: enhancedColumns.length
11443
- });
11444
- }
11445
- }
11446
- }, [finalTableData.length, tableConfig.data]);
11452
+ console.log("[DataTable] \u{1F50D} Table Config Created:", {
11453
+ finalTableDataLength: finalTableData.length,
11454
+ configDataLength: tableConfig.data?.length || 0,
11455
+ columnsCount: enhancedColumns.length,
11456
+ finalPaginationMode,
11457
+ hasServerSideConfig: !!serverSide,
11458
+ manualPagination: tableConfig.manualPagination,
11459
+ hasGetPaginationRowModel: !!tableConfig.getPaginationRowModel,
11460
+ effectivePageSize,
11461
+ paginationState: tableStateSnapshot.pagination
11462
+ });
11463
+ }, [finalTableData.length, tableConfig.data, tableConfig.manualPagination, tableConfig.getPaginationRowModel, finalPaginationMode, serverSide, effectivePageSize, tableStateSnapshot.pagination, enhancedColumns.length]);
11447
11464
  const table = useReactTable(tableConfig);
11448
11465
  useEffect12(() => {
11449
- if (import.meta.env?.MODE === "development" && finalTableData.length > 0) {
11450
- const rows = table.getRowModel().rows;
11451
- if (rows.length === 0) {
11452
- const coreRows = table.getCoreRowModel().rows;
11453
- const prePaginationRows = table.getPrePaginationRowModel?.()?.rows || [];
11454
- const filteredRows = table.getFilteredRowModel?.()?.rows || [];
11455
- const sortedRows = table.getSortedRowModel?.()?.rows || [];
11456
- console.warn("[DataTable] Diagnostic: Table created but rows are empty", {
11457
- finalTableDataLength: finalTableData.length,
11458
- tableConfigDataLength: tableConfig.data?.length || 0,
11459
- coreRowsLength: coreRows.length,
11460
- prePaginationRowsLength: prePaginationRows.length,
11461
- filteredRowsLength: filteredRows.length,
11462
- sortedRowsLength: sortedRows.length,
11463
- finalRowsLength: rows.length,
11464
- pagination: table.getState().pagination,
11465
- tableOptions: {
11466
- getCoreRowModel: !!tableConfig.getCoreRowModel,
11467
- getFilteredRowModel: !!tableConfig.getFilteredRowModel,
11468
- getSortedRowModel: !!tableConfig.getSortedRowModel,
11469
- getPaginationRowModel: !!tableConfig.getPaginationRowModel
11470
- },
11471
- hasRowId: !!resolvedGetRowId
11472
- });
11473
- }
11466
+ const rows = table.getRowModel().rows;
11467
+ const coreRows = table.getCoreRowModel().rows;
11468
+ const prePaginationRows = table.getPrePaginationRowModel?.()?.rows || [];
11469
+ const filteredRows = table.getFilteredRowModel?.()?.rows || [];
11470
+ const sortedRows = table.getSortedRowModel?.()?.rows || [];
11471
+ const tableState = table.getState();
11472
+ console.log("[DataTable] \u{1F50D} Table Created - Row Counts:", {
11473
+ finalTableDataLength: finalTableData.length,
11474
+ tableConfigDataLength: tableConfig.data?.length || 0,
11475
+ coreRowsLength: coreRows.length,
11476
+ prePaginationRowsLength: prePaginationRows.length,
11477
+ filteredRowsLength: filteredRows.length,
11478
+ sortedRowsLength: sortedRows.length,
11479
+ finalRowsLength: rows.length,
11480
+ pagination: tableState.pagination,
11481
+ finalPaginationMode,
11482
+ hasServerSideConfig: !!serverSide,
11483
+ tableOptions: {
11484
+ getCoreRowModel: !!tableConfig.getCoreRowModel,
11485
+ getFilteredRowModel: !!tableConfig.getFilteredRowModel,
11486
+ getSortedRowModel: !!tableConfig.getSortedRowModel,
11487
+ getPaginationRowModel: !!tableConfig.getPaginationRowModel,
11488
+ manualPagination: tableConfig.manualPagination,
11489
+ manualFiltering: tableConfig.manualFiltering,
11490
+ manualSorting: tableConfig.manualSorting,
11491
+ pageCount: tableConfig.pageCount
11492
+ },
11493
+ hasRowId: !!resolvedGetRowId,
11494
+ effectivePageSize
11495
+ });
11496
+ if (rows.length === 0 && finalTableData.length > 0) {
11497
+ console.warn("[DataTable] \u26A0\uFE0F CRITICAL: Table created but rows are empty!", {
11498
+ finalTableDataLength: finalTableData.length,
11499
+ tableConfigDataLength: tableConfig.data?.length || 0,
11500
+ coreRowsLength: coreRows.length,
11501
+ prePaginationRowsLength: prePaginationRows.length,
11502
+ filteredRowsLength: filteredRows.length,
11503
+ sortedRowsLength: sortedRows.length,
11504
+ finalRowsLength: rows.length,
11505
+ pagination: tableState.pagination,
11506
+ finalPaginationMode,
11507
+ hasServerSideConfig: !!serverSide,
11508
+ tableOptions: {
11509
+ getCoreRowModel: !!tableConfig.getCoreRowModel,
11510
+ getFilteredRowModel: !!tableConfig.getFilteredRowModel,
11511
+ getSortedRowModel: !!tableConfig.getSortedRowModel,
11512
+ getPaginationRowModel: !!tableConfig.getPaginationRowModel,
11513
+ manualPagination: tableConfig.manualPagination,
11514
+ manualFiltering: tableConfig.manualFiltering,
11515
+ manualSorting: tableConfig.manualSorting,
11516
+ pageCount: tableConfig.pageCount
11517
+ },
11518
+ hasRowId: !!resolvedGetRowId,
11519
+ effectivePageSize
11520
+ });
11474
11521
  }
11475
- }, [table, finalTableData.length, tableConfig, resolvedGetRowId]);
11522
+ }, [table, finalTableData.length, tableConfig, resolvedGetRowId, finalPaginationMode, serverSide, effectivePageSize]);
11476
11523
  if (!user) {
11477
11524
  throw new Error("DataTable requires authenticated user for RBAC");
11478
11525
  }
@@ -11969,4 +12016,4 @@ lodash/lodash.js:
11969
12016
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
11970
12017
  *)
11971
12018
  */
11972
- //# sourceMappingURL=chunk-JAA6F35O.js.map
12019
+ //# sourceMappingURL=chunk-BOKQCAWD.js.map