@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.
Files changed (130) hide show
  1. package/dist/{DataTable-O2COE77K.js → DataTable-4TS2QVNU.js} +2 -2
  2. package/dist/{DataTable-D5cBRca8.d.ts → DataTable-C7GaRZye.d.ts} +3 -1
  3. package/dist/{chunk-BJ7MCGY6.js → chunk-3BHL6OVZ.js} +57 -42
  4. package/dist/chunk-3BHL6OVZ.js.map +1 -0
  5. package/dist/{chunk-MOOJ2TK6.js → chunk-IS4CMSYM.js} +5 -5
  6. package/dist/chunk-IS4CMSYM.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/package.json +1 -1
  120. package/src/components/DataTable/DataTable.tsx +11 -0
  121. package/src/components/DataTable/components/DataTableCore.tsx +49 -40
  122. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +68 -11
  123. package/src/components/PaceAppLayout/PaceAppLayout.tsx +7 -4
  124. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +25 -7
  125. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +85 -3
  126. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +83 -14
  127. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +77 -6
  128. package/dist/chunk-BJ7MCGY6.js.map +0 -1
  129. package/dist/chunk-MOOJ2TK6.js.map +0 -1
  130. /package/dist/{DataTable-O2COE77K.js.map → DataTable-4TS2QVNU.js.map} +0 -0
@@ -54,7 +54,7 @@ import {
54
54
  sortHierarchicalDataWithSorting,
55
55
  validateHierarchicalData,
56
56
  validatePaginationConfig
57
- } from "./chunk-BJ7MCGY6.js";
57
+ } from "./chunk-3BHL6OVZ.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-O2COE77K.js.map
160
+ //# sourceMappingURL=DataTable-4TS2QVNU.js.map
@@ -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 */
@@ -11800,47 +11800,54 @@ var toCellValueRecord = (row) => {
11800
11800
  return accumulator;
11801
11801
  }, {});
11802
11802
  };
11803
- function DataTableInternal({
11804
- data,
11805
- columns,
11806
- rbac,
11807
- // MANDATORY RBAC
11808
- title,
11809
- description,
11810
- variant = "default",
11811
- className,
11812
- features: incomingFeatures = {},
11813
- hierarchical,
11814
- performance = {},
11815
- serverSide,
11816
- paginationMode,
11817
- chunking,
11818
- searchIndex,
11819
- virtualHeight = 600,
11820
- enhancedPagination = false,
11821
- loadingComponent: LoadingComponent = LoadingState,
11822
- errorComponent: ErrorComponent,
11823
- initialPageSize = 10,
11824
- onEditRow,
11825
- onDeleteRow,
11826
- onCreateRow,
11827
- onImport,
11828
- onExport,
11829
- onRowSelectionChange,
11830
- selection,
11831
- onDeleteSelected,
11832
- getRowId,
11833
- isLoading: externalIsLoading = false,
11834
- emptyState,
11835
- aggregates = [],
11836
- importModalConfig,
11837
- actions = [],
11838
- columnOrder: externalColumnOrder,
11839
- defaultGrouping,
11840
- defaultSorting,
11841
- storageKey,
11842
- onLayoutChange
11843
- }) {
11803
+ function DataTableInternal(props) {
11804
+ const {
11805
+ data,
11806
+ columns,
11807
+ rbac,
11808
+ // MANDATORY RBAC
11809
+ title,
11810
+ description,
11811
+ variant = "default",
11812
+ className,
11813
+ features: incomingFeatures = {},
11814
+ hierarchical,
11815
+ performance = {},
11816
+ serverSide,
11817
+ paginationMode,
11818
+ chunking,
11819
+ searchIndex,
11820
+ virtualHeight = 600,
11821
+ enhancedPagination = false,
11822
+ loadingComponent: LoadingComponent = LoadingState,
11823
+ errorComponent: ErrorComponent,
11824
+ initialPageSize = 10,
11825
+ onEditRow,
11826
+ onDeleteRow,
11827
+ onCreateRow,
11828
+ onImport,
11829
+ onExport,
11830
+ onRowSelectionChange,
11831
+ selection,
11832
+ onDeleteSelected,
11833
+ getRowId,
11834
+ isLoading: externalIsLoading = false,
11835
+ emptyState,
11836
+ aggregates = [],
11837
+ importModalConfig,
11838
+ actions = [],
11839
+ columnOrder: externalColumnOrder,
11840
+ defaultGrouping,
11841
+ defaultSorting,
11842
+ storageKey,
11843
+ onLayoutChange
11844
+ } = props;
11845
+ console.log("[DataTableInternal] Props received:", {
11846
+ "onExport in props": !!props.onExport,
11847
+ "onExport after destructuring": !!onExport,
11848
+ "onExport type": typeof onExport,
11849
+ "props keys with Export": Object.keys(props).filter((k) => k.toLowerCase().includes("export"))
11850
+ });
11844
11851
  const logger = React20.useMemo(() => createLogger("DataTableCore"), []);
11845
11852
  const authResult = useUnifiedAuth();
11846
11853
  const user = authResult.user;
@@ -12764,6 +12771,14 @@ function DataTable(props) {
12764
12771
  logger.warn("deleteSelected requires deletion to be enabled");
12765
12772
  }
12766
12773
  }, [normalizedFeatures.deleteSelected, normalizedFeatures.deletion, logger]);
12774
+ console.log("[DataTable] Wrapper prop check:", {
12775
+ "onExport in props": !!props.onExport,
12776
+ "onExport in rest": !!rest.onExport,
12777
+ "onExport type": typeof rest.onExport,
12778
+ "rest keys": Object.keys(rest).filter((k) => k.includes("Export") || k.includes("export")),
12779
+ "all rest keys": Object.keys(rest).slice(0, 10)
12780
+ // First 10 keys for debugging
12781
+ });
12767
12782
  return /* @__PURE__ */ jsx26(DataTableCore, { ...rest, features: normalizedFeatures });
12768
12783
  }
12769
12784
  var DataTableComponent = React21.memo(DataTable);
@@ -12980,4 +12995,4 @@ lodash/lodash.js:
12980
12995
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12981
12996
  *)
12982
12997
  */
12983
- //# sourceMappingURL=chunk-BJ7MCGY6.js.map
12998
+ //# sourceMappingURL=chunk-3BHL6OVZ.js.map