@jmruthers/pace-core 0.5.129 → 0.5.131
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-O2COE77K.js → DataTable-4TS2QVNU.js} +2 -2
- package/dist/{DataTable-D5cBRca8.d.ts → DataTable-C7GaRZye.d.ts} +3 -1
- package/dist/{chunk-BJ7MCGY6.js → chunk-3BHL6OVZ.js} +57 -42
- package/dist/chunk-3BHL6OVZ.js.map +1 -0
- package/dist/{chunk-MOOJ2TK6.js → chunk-IS4CMSYM.js} +5 -5
- package/dist/chunk-IS4CMSYM.js.map +1 -0
- package/dist/components.d.ts +2 -2
- package/dist/components.js +2 -2
- package/dist/hooks.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/{types-D4TVpDa1.d.ts → types-D5rqZQXk.d.ts} +42 -1
- package/dist/utils.d.ts +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 +40 -13
- 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/EventAppRoleData.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/GrantEventAppRoleParams.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/ProtectedRouteProps.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/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.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/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.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 +3 -3
- package/package.json +1 -1
- package/src/components/DataTable/DataTable.tsx +11 -0
- package/src/components/DataTable/components/DataTableCore.tsx +49 -40
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +68 -11
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +7 -4
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +25 -7
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +85 -3
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +83 -14
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +77 -6
- package/dist/chunk-BJ7MCGY6.js.map +0 -1
- package/dist/chunk-MOOJ2TK6.js.map +0 -1
- /package/dist/{DataTable-O2COE77K.js.map → DataTable-4TS2QVNU.js.map} +0 -0
package/docs/api/modules.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[@jmruthers/pace-core - v0.5.
|
|
1
|
+
[@jmruthers/pace-core - v0.5.131](README.md) / Exports
|
|
2
2
|
|
|
3
|
-
# @jmruthers/pace-core - v0.5.
|
|
3
|
+
# @jmruthers/pace-core - v0.5.131
|
|
4
4
|
|
|
5
5
|
**`File`**
|
|
6
6
|
|
|
@@ -1301,7 +1301,7 @@ Features are configured through the unified `features` prop for maximum flexibil
|
|
|
1301
1301
|
|
|
1302
1302
|
#### Defined in
|
|
1303
1303
|
|
|
1304
|
-
[packages/core/src/components/DataTable/DataTable.tsx:
|
|
1304
|
+
[packages/core/src/components/DataTable/DataTable.tsx:465](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/DataTable.tsx#L465)
|
|
1305
1305
|
|
|
1306
1306
|
___
|
|
1307
1307
|
|
package/package.json
CHANGED
|
@@ -406,6 +406,8 @@ export interface DataTableProps<TData extends DataRecord> {
|
|
|
406
406
|
onCreateRow?: (data: Partial<TData>) => void;
|
|
407
407
|
/** Callback when data is imported */
|
|
408
408
|
onImport?: (data: TData[]) => void | Promise<void>;
|
|
409
|
+
/** Callback for custom export functionality */
|
|
410
|
+
onExport?: (options: import('./types').ExportOptions<TData>) => void | Promise<void>;
|
|
409
411
|
/** Callback when row selection changes */
|
|
410
412
|
onRowSelectionChange?: (selection: Record<string, boolean>) => void;
|
|
411
413
|
/** Controlled selection state */
|
|
@@ -481,6 +483,15 @@ export function DataTable<TData extends DataRecord>(props: DataTableProps<TData>
|
|
|
481
483
|
}
|
|
482
484
|
}, [normalizedFeatures.deleteSelected, normalizedFeatures.deletion, logger]);
|
|
483
485
|
|
|
486
|
+
// Debug logging for onExport prop
|
|
487
|
+
console.log('[DataTable] Wrapper prop check:', {
|
|
488
|
+
'onExport in props': !!props.onExport,
|
|
489
|
+
'onExport in rest': !!rest.onExport,
|
|
490
|
+
'onExport type': typeof rest.onExport,
|
|
491
|
+
'rest keys': Object.keys(rest).filter(k => k.includes('Export') || k.includes('export')),
|
|
492
|
+
'all rest keys': Object.keys(rest).slice(0, 10), // First 10 keys for debugging
|
|
493
|
+
});
|
|
494
|
+
|
|
484
495
|
return <DataTableCore {...rest} features={normalizedFeatures} />;
|
|
485
496
|
}
|
|
486
497
|
|
|
@@ -178,46 +178,55 @@ export interface DataTableCoreProps<TData extends DataRecord> {
|
|
|
178
178
|
// INTERNAL COMPONENT (USES CONTEXT)
|
|
179
179
|
// ============================================================================
|
|
180
180
|
|
|
181
|
-
function DataTableInternal<TData extends DataRecord>({
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
181
|
+
function DataTableInternal<TData extends DataRecord>(props: DataTableCoreProps<TData>) {
|
|
182
|
+
const {
|
|
183
|
+
data,
|
|
184
|
+
columns,
|
|
185
|
+
rbac, // MANDATORY RBAC
|
|
186
|
+
title,
|
|
187
|
+
description,
|
|
188
|
+
variant = 'default',
|
|
189
|
+
className,
|
|
190
|
+
features: incomingFeatures = {},
|
|
191
|
+
hierarchical,
|
|
192
|
+
performance = {},
|
|
193
|
+
serverSide,
|
|
194
|
+
paginationMode,
|
|
195
|
+
chunking,
|
|
196
|
+
searchIndex,
|
|
197
|
+
virtualHeight = 600,
|
|
198
|
+
enhancedPagination = false,
|
|
199
|
+
loadingComponent: LoadingComponent = LoadingState,
|
|
200
|
+
errorComponent: ErrorComponent,
|
|
201
|
+
initialPageSize = 10,
|
|
202
|
+
onEditRow,
|
|
203
|
+
onDeleteRow,
|
|
204
|
+
onCreateRow,
|
|
205
|
+
onImport,
|
|
206
|
+
onExport,
|
|
207
|
+
onRowSelectionChange,
|
|
208
|
+
selection,
|
|
209
|
+
onDeleteSelected,
|
|
210
|
+
getRowId,
|
|
211
|
+
isLoading: externalIsLoading = false,
|
|
212
|
+
emptyState,
|
|
213
|
+
aggregates = [],
|
|
214
|
+
importModalConfig,
|
|
215
|
+
actions = [],
|
|
216
|
+
columnOrder: externalColumnOrder,
|
|
217
|
+
defaultGrouping,
|
|
218
|
+
defaultSorting,
|
|
219
|
+
storageKey,
|
|
220
|
+
onLayoutChange,
|
|
221
|
+
} = props;
|
|
222
|
+
|
|
223
|
+
// Debug logging to verify onExport prop is received
|
|
224
|
+
console.log('[DataTableInternal] Props received:', {
|
|
225
|
+
'onExport in props': !!props.onExport,
|
|
226
|
+
'onExport after destructuring': !!onExport,
|
|
227
|
+
'onExport type': typeof onExport,
|
|
228
|
+
'props keys with Export': Object.keys(props).filter(k => k.toLowerCase().includes('export')),
|
|
229
|
+
});
|
|
221
230
|
const logger = React.useMemo(() => createLogger('DataTableCore'), []);
|
|
222
231
|
|
|
223
232
|
// ============================================================================
|