@jmruthers/pace-core 0.5.128 → 0.5.130

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 (131) hide show
  1. package/dist/{DataTable-D5cBRca8.d.ts → DataTable-C7GaRZye.d.ts} +3 -1
  2. package/dist/{DataTable-3Z5HLOWF.js → DataTable-M6QYJZ3I.js} +2 -2
  3. package/dist/{chunk-27MGXDD6.js → chunk-BV3NAPZX.js} +33 -3
  4. package/dist/chunk-BV3NAPZX.js.map +1 -0
  5. package/dist/{chunk-ENE3AB75.js → chunk-HHASLVX7.js} +5 -5
  6. package/dist/chunk-HHASLVX7.js.map +1 -0
  7. package/dist/components.d.ts +2 -2
  8. package/dist/components.js +2 -2
  9. package/dist/hooks.d.ts +1 -1
  10. package/dist/index.d.ts +3 -3
  11. package/dist/index.js +2 -2
  12. package/dist/{types-D4TVpDa1.d.ts → types-D5rqZQXk.d.ts} +42 -1
  13. package/dist/utils.d.ts +2 -2
  14. package/dist/utils.js +1 -1
  15. package/docs/api/classes/ColumnFactory.md +1 -1
  16. package/docs/api/classes/ErrorBoundary.md +1 -1
  17. package/docs/api/classes/InvalidScopeError.md +1 -1
  18. package/docs/api/classes/MissingUserContextError.md +1 -1
  19. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  20. package/docs/api/classes/PermissionDeniedError.md +1 -1
  21. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  22. package/docs/api/classes/RBACAuditManager.md +1 -1
  23. package/docs/api/classes/RBACCache.md +1 -1
  24. package/docs/api/classes/RBACEngine.md +1 -1
  25. package/docs/api/classes/RBACError.md +1 -1
  26. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  27. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  28. package/docs/api/classes/StorageUtils.md +1 -1
  29. package/docs/api/enums/FileCategory.md +1 -1
  30. package/docs/api/interfaces/AggregateConfig.md +1 -1
  31. package/docs/api/interfaces/ButtonProps.md +1 -1
  32. package/docs/api/interfaces/CardProps.md +1 -1
  33. package/docs/api/interfaces/ColorPalette.md +1 -1
  34. package/docs/api/interfaces/ColorShade.md +1 -1
  35. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  36. package/docs/api/interfaces/DataRecord.md +1 -1
  37. package/docs/api/interfaces/DataTableAction.md +1 -1
  38. package/docs/api/interfaces/DataTableColumn.md +1 -1
  39. package/docs/api/interfaces/DataTableProps.md +40 -13
  40. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  41. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  42. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  43. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  44. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  45. package/docs/api/interfaces/FileMetadata.md +1 -1
  46. package/docs/api/interfaces/FileReference.md +1 -1
  47. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  48. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  49. package/docs/api/interfaces/FileUploadProps.md +1 -1
  50. package/docs/api/interfaces/FooterProps.md +1 -1
  51. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  52. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  53. package/docs/api/interfaces/InputProps.md +1 -1
  54. package/docs/api/interfaces/LabelProps.md +1 -1
  55. package/docs/api/interfaces/LoginFormProps.md +1 -1
  56. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  57. package/docs/api/interfaces/NavigationContextType.md +1 -1
  58. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  59. package/docs/api/interfaces/NavigationItem.md +1 -1
  60. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  61. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  62. package/docs/api/interfaces/Organisation.md +1 -1
  63. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  64. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  65. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  66. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  67. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  68. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  69. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  70. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  71. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  72. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  73. package/docs/api/interfaces/PaletteData.md +1 -1
  74. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  75. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  76. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  77. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  78. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  79. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  80. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  81. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  82. package/docs/api/interfaces/RBACConfig.md +1 -1
  83. package/docs/api/interfaces/RBACLogger.md +1 -1
  84. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  85. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  86. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  87. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  88. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  89. package/docs/api/interfaces/RouteConfig.md +1 -1
  90. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  91. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  92. package/docs/api/interfaces/StorageConfig.md +1 -1
  93. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  94. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  95. package/docs/api/interfaces/StorageListOptions.md +1 -1
  96. package/docs/api/interfaces/StorageListResult.md +1 -1
  97. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  98. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  99. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  100. package/docs/api/interfaces/StyleImport.md +1 -1
  101. package/docs/api/interfaces/SwitchProps.md +1 -1
  102. package/docs/api/interfaces/ToastActionElement.md +1 -1
  103. package/docs/api/interfaces/ToastProps.md +1 -1
  104. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  105. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  106. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  107. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  108. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  109. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  110. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
  111. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  112. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  113. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  114. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  115. package/docs/api/interfaces/UserEventAccess.md +1 -1
  116. package/docs/api/interfaces/UserMenuProps.md +1 -1
  117. package/docs/api/interfaces/UserProfile.md +1 -1
  118. package/docs/api/modules.md +3 -3
  119. package/docs/implementation-guides/data-tables.md +52 -14
  120. package/package.json +1 -1
  121. package/src/components/DataTable/DataTable.tsx +2 -0
  122. package/src/components/DataTable/components/DataTableCore.tsx +35 -3
  123. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +68 -11
  124. package/src/components/PaceAppLayout/PaceAppLayout.tsx +7 -4
  125. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +25 -7
  126. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +85 -3
  127. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +83 -14
  128. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +77 -6
  129. package/dist/chunk-27MGXDD6.js.map +0 -1
  130. package/dist/chunk-ENE3AB75.js.map +0 -1
  131. /package/dist/{DataTable-3Z5HLOWF.js.map → DataTable-M6QYJZ3I.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { D as DataRecord, a as DataTableColumn, b as DataTableRBACConfig, c as DataTableFeatureConfig, H as HierarchicalConfig, P as PerformanceConfig, S as ServerSideConfig, d as PaginationMode, C as ChunkingConfig, e as SearchIndexConfig, E as ExportOptions, G as GetRowId, f as EmptyStateConfig, A as AggregateConfig, g as DataTableAction } from './types-D5rqZQXk.js';
2
3
  import React__default from 'react';
3
- import { D as DataRecord, a as DataTableColumn, b as DataTableRBACConfig, c as DataTableFeatureConfig, H as HierarchicalConfig, P as PerformanceConfig, S as ServerSideConfig, d as PaginationMode, C as ChunkingConfig, e as SearchIndexConfig, G as GetRowId, E as EmptyStateConfig, A as AggregateConfig, f as DataTableAction } from './types-D4TVpDa1.js';
4
4
 
5
5
  /**
6
6
  * Configuration interface for customizing ImportModal text content
@@ -88,6 +88,8 @@ interface DataTableProps<TData extends DataRecord> {
88
88
  onCreateRow?: (data: Partial<TData>) => void;
89
89
  /** Callback when data is imported */
90
90
  onImport?: (data: TData[]) => void | Promise<void>;
91
+ /** Callback for custom export functionality */
92
+ onExport?: (options: ExportOptions<TData>) => void | Promise<void>;
91
93
  /** Callback when row selection changes */
92
94
  onRowSelectionChange?: (selection: Record<string, boolean>) => void;
93
95
  /** Controlled selection state */
@@ -54,7 +54,7 @@ import {
54
54
  sortHierarchicalDataWithSorting,
55
55
  validateHierarchicalData,
56
56
  validatePaginationConfig
57
- } from "./chunk-27MGXDD6.js";
57
+ } from "./chunk-BV3NAPZX.js";
58
58
  import "./chunk-BYXRHAIF.js";
59
59
  import "./chunk-WP5I5GLN.js";
60
60
  import "./chunk-3DBFLLLU.js";
@@ -157,4 +157,4 @@ export {
157
157
  validateHierarchicalData,
158
158
  validatePaginationConfig
159
159
  };
160
- //# sourceMappingURL=DataTable-3Z5HLOWF.js.map
160
+ //# sourceMappingURL=DataTable-M6QYJZ3I.js.map
@@ -12121,13 +12121,22 @@ function DataTableInternal({
12121
12121
  onExport: permissions.canExport.can ? onExport : void 0,
12122
12122
  onDeleteSelected: permissions.canDelete.can ? onDeleteSelected : void 0
12123
12123
  };
12124
+ console.log("[DataTableCore] Secure handlers setup:", {
12125
+ "permissions.canExport.can": permissions.canExport.can,
12126
+ "onExport prop provided": !!onExport,
12127
+ "onExport type": typeof onExport,
12128
+ "secureHandlers.onExport": !!handlers.onExport
12129
+ });
12124
12130
  if (import.meta.env.MODE === "development") {
12125
- logger.debug("[DataTableCore] Creation handler check:", {
12131
+ logger.debug("[DataTableCore] Handler check:", {
12126
12132
  "permissions.canCreate.can": permissions.canCreate.can,
12127
12133
  "onCreateRow prop provided": !!onCreateRow,
12128
12134
  "secureHandlers.onCreateRow": !!handlers.onCreateRow,
12129
12135
  "secureFeatures.creation": secureFeatures.creation,
12130
- "will pass onCreateRow to toolbar": secureFeatures.creation && !!handlers.onCreateRow
12136
+ "will pass onCreateRow to toolbar": secureFeatures.creation && !!handlers.onCreateRow,
12137
+ "permissions.canExport.can": permissions.canExport.can,
12138
+ "onExport prop provided": !!onExport,
12139
+ "secureHandlers.onExport": !!handlers.onExport
12131
12140
  });
12132
12141
  }
12133
12142
  return handlers;
@@ -12432,9 +12441,30 @@ function DataTableInternal({
12432
12441
  filename,
12433
12442
  table
12434
12443
  };
12444
+ console.log("[DataTableCore] Export handler check:", {
12445
+ "secureHandlers.onExport exists": !!secureHandlers.onExport,
12446
+ "permissions.canExport.can": permissions.canExport.can,
12447
+ "onExport prop provided": !!onExport,
12448
+ "onExport type": typeof onExport
12449
+ });
12435
12450
  if (secureHandlers.onExport) {
12451
+ console.log("[DataTableCore] \u2705 Calling custom onExport handler");
12452
+ logger.debug("[DataTableCore] Calling custom onExport handler");
12436
12453
  await secureHandlers.onExport(exportOptions);
12454
+ console.log("[DataTableCore] \u2705 Custom onExport handler completed");
12455
+ logger.debug("[DataTableCore] Custom onExport handler completed");
12437
12456
  return;
12457
+ } else {
12458
+ console.warn("[DataTableCore] \u26A0\uFE0F No custom onExport handler, using default export", {
12459
+ "secureHandlers.onExport": !!secureHandlers.onExport,
12460
+ "permissions.canExport.can": permissions.canExport.can,
12461
+ "onExport prop provided": !!onExport
12462
+ });
12463
+ logger.debug("[DataTableCore] No custom onExport handler, using default export", {
12464
+ "secureHandlers.onExport": !!secureHandlers.onExport,
12465
+ "permissions.canExport.can": permissions.canExport.can,
12466
+ "onExport prop provided": !!onExport
12467
+ });
12438
12468
  }
12439
12469
  const exportColumns = exportOptions.visibleColumns.map((col) => {
12440
12470
  const colId = col.id || col.accessorKey;
@@ -12950,4 +12980,4 @@ lodash/lodash.js:
12950
12980
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12951
12981
  *)
12952
12982
  */
12953
- //# sourceMappingURL=chunk-27MGXDD6.js.map
12983
+ //# sourceMappingURL=chunk-BV3NAPZX.js.map