@jmruthers/pace-core 0.5.6 → 0.5.7

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 (123) hide show
  1. package/dist/{DataTable-ltTFXHS3.d.ts → DataTable-32L3DDeG.d.ts} +1 -1
  2. package/dist/{DataTable-BEMN72L5.js → DataTable-MZKEENPY.js} +2 -2
  3. package/dist/{chunk-SFGUMWEE.js → chunk-2VSQSO5Z.js} +11 -10
  4. package/dist/chunk-2VSQSO5Z.js.map +1 -0
  5. package/dist/{chunk-4EIBJ6DF.js → chunk-Y2LJQ7QE.js} +2 -2
  6. package/dist/components.d.ts +2 -2
  7. package/dist/components.js +2 -2
  8. package/dist/hooks.d.ts +1 -1
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.js +2 -2
  11. package/dist/{types-BRDU7N6w.d.ts → types-CczCVCDt.d.ts} +11 -4
  12. package/dist/utils.d.ts +2 -2
  13. package/dist/utils.js +1 -1
  14. package/docs/api/classes/ErrorBoundary.md +1 -1
  15. package/docs/api/classes/InvalidScopeError.md +1 -1
  16. package/docs/api/classes/MissingUserContextError.md +1 -1
  17. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  18. package/docs/api/classes/PermissionDeniedError.md +1 -1
  19. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  20. package/docs/api/classes/RBACAuditManager.md +1 -1
  21. package/docs/api/classes/RBACCache.md +1 -1
  22. package/docs/api/classes/RBACEngine.md +1 -1
  23. package/docs/api/classes/RBACError.md +1 -1
  24. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  25. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  26. package/docs/api/interfaces/AggregateConfig.md +1 -1
  27. package/docs/api/interfaces/ButtonProps.md +1 -1
  28. package/docs/api/interfaces/CardProps.md +1 -1
  29. package/docs/api/interfaces/ColorPalette.md +1 -1
  30. package/docs/api/interfaces/ColorShade.md +1 -1
  31. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  32. package/docs/api/interfaces/DataTableAction.md +1 -1
  33. package/docs/api/interfaces/DataTableColumn.md +1 -1
  34. package/docs/api/interfaces/DataTableProps.md +34 -34
  35. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  36. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  37. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  38. package/docs/api/interfaces/EventContextType.md +1 -1
  39. package/docs/api/interfaces/EventLogoProps.md +1 -1
  40. package/docs/api/interfaces/EventProviderProps.md +1 -1
  41. package/docs/api/interfaces/FileSizeLimits.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/RBACContextType.md +1 -1
  75. package/docs/api/interfaces/RBACLogger.md +1 -1
  76. package/docs/api/interfaces/RBACProviderProps.md +1 -1
  77. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  78. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  79. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  80. package/docs/api/interfaces/RouteConfig.md +1 -1
  81. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  82. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  83. package/docs/api/interfaces/StorageConfig.md +1 -1
  84. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  85. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  86. package/docs/api/interfaces/StorageListOptions.md +1 -1
  87. package/docs/api/interfaces/StorageListResult.md +1 -1
  88. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  89. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  90. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  91. package/docs/api/interfaces/StyleImport.md +1 -1
  92. package/docs/api/interfaces/ToastActionElement.md +1 -1
  93. package/docs/api/interfaces/ToastProps.md +1 -1
  94. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  95. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  96. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  97. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  98. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  99. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  100. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  101. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  102. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  103. package/docs/api/interfaces/UserEventAccess.md +1 -1
  104. package/docs/api/interfaces/UserMenuProps.md +1 -1
  105. package/docs/api/interfaces/UserProfile.md +1 -1
  106. package/docs/api/modules.md +3 -3
  107. package/docs/implementation-guides/datatable-rbac-usage.md +286 -0
  108. package/package.json +1 -1
  109. package/src/components/DataTable/DataTable.tsx +0 -5
  110. package/src/components/DataTable/__tests__/DataTable.hooks.test.tsx +0 -1
  111. package/src/components/DataTable/components/ActionButtons.tsx +1 -2
  112. package/src/components/DataTable/components/DataTableCore.tsx +12 -11
  113. package/src/components/DataTable/components/UnifiedTableBody.tsx +2 -4
  114. package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +1 -1
  115. package/src/components/DataTable/examples/HierarchicalExample.tsx +3 -3
  116. package/src/components/DataTable/examples/InitialPageSizeExample.tsx +3 -3
  117. package/src/components/DataTable/examples/PerformanceExample.tsx +3 -3
  118. package/src/components/DataTable/types.ts +12 -7
  119. package/src/rbac/hooks/useRBAC.test.ts +0 -8
  120. package/dist/chunk-SFGUMWEE.js.map +0 -1
  121. package/src/components/DataTable/__tests__/DataTable.hooks.test 2.tsx +0 -191
  122. /package/dist/{DataTable-BEMN72L5.js.map → DataTable-MZKEENPY.js.map} +0 -0
  123. /package/dist/{chunk-4EIBJ6DF.js.map → chunk-Y2LJQ7QE.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  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-BRDU7N6w.js';
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-CczCVCDt.js';
4
4
 
5
5
  /**
6
6
  * Configuration interface for customizing ImportModal text content
@@ -32,7 +32,7 @@ import {
32
32
  useDataTableContext,
33
33
  usePluginRegistry,
34
34
  useStateManager
35
- } from "./chunk-SFGUMWEE.js";
35
+ } from "./chunk-2VSQSO5Z.js";
36
36
  import "./chunk-QVYBYGT2.js";
37
37
  import "./chunk-GWSBHC4J.js";
38
38
  import "./chunk-7BNPOCLL.js";
@@ -96,4 +96,4 @@ export {
96
96
  usePluginRegistry,
97
97
  useStateManager
98
98
  };
99
- //# sourceMappingURL=DataTable-BEMN72L5.js.map
99
+ //# sourceMappingURL=DataTable-MZKEENPY.js.map
@@ -3347,38 +3347,39 @@ function DataTableInternal({
3347
3347
  defaultOrder: columns.map((col) => col.id || col.accessorKey || ""),
3348
3348
  enablePersistence: features.columnReordering
3349
3349
  });
3350
+ const pageId = rbac.pageId;
3350
3351
  const permissions = {
3351
3352
  canRead: useCan(user?.id || "", {
3352
3353
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3353
3354
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3354
3355
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3355
- }, `read:${rbac.resource}`, rbac.pageId),
3356
+ }, `read:page.${pageId}`, pageId),
3356
3357
  canCreate: useCan(user?.id || "", {
3357
3358
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3358
3359
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3359
3360
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3360
- }, `create:${rbac.resource}`, rbac.pageId),
3361
+ }, `create:page.${pageId}`, pageId),
3361
3362
  canUpdate: useCan(user?.id || "", {
3362
3363
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3363
3364
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3364
3365
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3365
- }, `update:${rbac.resource}`, rbac.pageId),
3366
+ }, `update:page.${pageId}`, pageId),
3366
3367
  canDelete: useCan(user?.id || "", {
3367
3368
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3368
3369
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3369
3370
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3370
- }, `delete:${rbac.resource}`, rbac.pageId),
3371
+ }, `delete:page.${pageId}`, pageId),
3371
3372
  canExport: useCan(user?.id || "", {
3372
3373
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3373
3374
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3374
3375
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3375
- }, `manage:${rbac.resource}`, rbac.pageId),
3376
+ }, `manage:page.${pageId}`, pageId),
3376
3377
  // Using manage for export/import
3377
3378
  canImport: useCan(user?.id || "", {
3378
3379
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3379
3380
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3380
3381
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3381
- }, `manage:${rbac.resource}`, rbac.pageId)
3382
+ }, `manage:page.${pageId}`, pageId)
3382
3383
  // Using manage for export/import
3383
3384
  };
3384
3385
  const finalPaginationMode = paginationMode || detectedMode;
@@ -3688,8 +3689,8 @@ function DataTableInternal({
3688
3689
  if (!user) {
3689
3690
  throw new Error("DataTable requires authenticated user for RBAC");
3690
3691
  }
3691
- if (!rbac?.resource) {
3692
- throw new Error("DataTable requires rbac.resource for permission checking");
3692
+ if (!rbac?.pageId) {
3693
+ throw new Error("DataTable requires rbac.pageId for permission checking");
3693
3694
  }
3694
3695
  const scope = {
3695
3696
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
@@ -3697,7 +3698,7 @@ function DataTableInternal({
3697
3698
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3698
3699
  };
3699
3700
  if (!permissions.canRead.can) {
3700
- return /* @__PURE__ */ jsx20(AccessDeniedPage, { resource: rbac?.resource || "test-resource", operation: "read" });
3701
+ return /* @__PURE__ */ jsx20(AccessDeniedPage, { resource: rbac?.pageId || "unknown-page", operation: "read" });
3701
3702
  }
3702
3703
  if (isLoading) {
3703
3704
  return /* @__PURE__ */ jsx20(LoadingComponent, {});
@@ -5462,4 +5463,4 @@ export {
5462
5463
  GroupHeader,
5463
5464
  EditableRow
5464
5465
  };
5465
- //# sourceMappingURL=chunk-SFGUMWEE.js.map
5466
+ //# sourceMappingURL=chunk-2VSQSO5Z.js.map