@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.
- package/dist/{DataTable-HVJFHI4N.js → DataTable-DKGTBLWT.js} +2 -2
- package/dist/{chunk-3R7LPLNK.js → chunk-IBMPGOCN.js} +2 -2
- package/dist/{chunk-BOKQCAWD.js → chunk-QCCJ3P4W.js} +49 -6
- package/dist/{chunk-BOKQCAWD.js.map → chunk-QCCJ3P4W.js.map} +1 -1
- package/dist/components.js +2 -2
- package/dist/index.js +2 -2
- package/dist/utils.js +1 -1
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +2 -2
- package/package.json +1 -1
- package/src/components/DataTable/DataTable.tsx +7 -0
- package/src/components/DataTable/components/DataTableCore.tsx +21 -0
- package/src/components/DataTable/components/UnifiedTableBody.tsx +34 -6
- /package/dist/{DataTable-HVJFHI4N.js.map → DataTable-DKGTBLWT.js.map} +0 -0
- /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-
|
|
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-
|
|
157
|
+
//# sourceMappingURL=DataTable-DKGTBLWT.js.map
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
SelectSeparator,
|
|
23
23
|
SelectTrigger,
|
|
24
24
|
SelectValue
|
|
25
|
-
} from "./chunk-
|
|
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-
|
|
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:
|
|
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 =
|
|
7717
|
-
const totalSize =
|
|
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 (
|
|
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-
|
|
12062
|
+
//# sourceMappingURL=chunk-QCCJ3P4W.js.map
|