@jmruthers/pace-core 0.5.10 → 0.5.12

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 (136) hide show
  1. package/dist/{DataTable-32L3DDeG.d.ts → DataTable-Da0D1BHX.d.ts} +1 -1
  2. package/dist/{DataTable-4TQ6VBHW.js → DataTable-NNCMQSDG.js} +5 -5
  3. package/dist/{chunk-HXX35Q2M.js → chunk-7UEIZCST.js} +2 -2
  4. package/dist/{chunk-OCM3I4GY.js → chunk-AMOT5ZSZ.js} +3 -3
  5. package/dist/{chunk-CTV3NKPM.js → chunk-BUWLPWDA.js} +16 -14
  6. package/dist/chunk-BUWLPWDA.js.map +1 -0
  7. package/dist/{chunk-PVMYVQSM.js → chunk-CMXBNDPM.js} +3 -3
  8. package/dist/{chunk-K6B7BLSE.js → chunk-DKDTXS5Q.js} +2 -2
  9. package/dist/{chunk-GNTALZV3.js → chunk-DV2Z3RBQ.js} +3 -3
  10. package/dist/{chunk-AEMAAWUZ.js → chunk-JV73V2W5.js} +4 -4
  11. package/dist/{chunk-PCFG6WRC.js → chunk-PILT65PA.js} +5 -5
  12. package/dist/{chunk-QKHFMQ5R.js → chunk-RQ7Y2CN6.js} +30 -5
  13. package/dist/chunk-RQ7Y2CN6.js.map +1 -0
  14. package/dist/{chunk-HD7PYDUV.js → chunk-XYRRPUYV.js} +2 -2
  15. package/dist/components.d.ts +2 -2
  16. package/dist/components.js +7 -7
  17. package/dist/hooks.d.ts +1 -1
  18. package/dist/hooks.js +4 -4
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.js +10 -10
  21. package/dist/providers.js +3 -3
  22. package/dist/rbac/index.js +5 -5
  23. package/dist/{types-CczCVCDt.d.ts → types-zOqe4P1s.d.ts} +11 -3
  24. package/dist/utils.d.ts +2 -2
  25. package/dist/utils.js +1 -1
  26. package/docs/api/classes/ErrorBoundary.md +1 -1
  27. package/docs/api/classes/InvalidScopeError.md +1 -1
  28. package/docs/api/classes/MissingUserContextError.md +1 -1
  29. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  30. package/docs/api/classes/PermissionDeniedError.md +1 -1
  31. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  32. package/docs/api/classes/RBACAuditManager.md +1 -1
  33. package/docs/api/classes/RBACCache.md +1 -1
  34. package/docs/api/classes/RBACEngine.md +1 -1
  35. package/docs/api/classes/RBACError.md +1 -1
  36. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  37. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  38. package/docs/api/interfaces/AggregateConfig.md +1 -1
  39. package/docs/api/interfaces/ButtonProps.md +1 -1
  40. package/docs/api/interfaces/CardProps.md +1 -1
  41. package/docs/api/interfaces/ColorPalette.md +1 -1
  42. package/docs/api/interfaces/ColorShade.md +1 -1
  43. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  44. package/docs/api/interfaces/DataTableAction.md +1 -1
  45. package/docs/api/interfaces/DataTableColumn.md +1 -1
  46. package/docs/api/interfaces/DataTableProps.md +1 -1
  47. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  48. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  49. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  50. package/docs/api/interfaces/EventContextType.md +1 -1
  51. package/docs/api/interfaces/EventLogoProps.md +1 -1
  52. package/docs/api/interfaces/EventProviderProps.md +1 -1
  53. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  54. package/docs/api/interfaces/FileUploadProps.md +1 -1
  55. package/docs/api/interfaces/FooterProps.md +1 -1
  56. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  57. package/docs/api/interfaces/InputProps.md +1 -1
  58. package/docs/api/interfaces/LabelProps.md +1 -1
  59. package/docs/api/interfaces/LoginFormProps.md +1 -1
  60. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  61. package/docs/api/interfaces/NavigationContextType.md +1 -1
  62. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  63. package/docs/api/interfaces/NavigationItem.md +1 -1
  64. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  65. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  66. package/docs/api/interfaces/Organisation.md +1 -1
  67. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  68. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  69. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  70. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  71. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  72. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  73. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  74. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  75. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  76. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  77. package/docs/api/interfaces/PaletteData.md +1 -1
  78. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  79. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  80. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  81. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  82. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  83. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  84. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  85. package/docs/api/interfaces/RBACConfig.md +1 -1
  86. package/docs/api/interfaces/RBACContextType.md +1 -1
  87. package/docs/api/interfaces/RBACLogger.md +1 -1
  88. package/docs/api/interfaces/RBACProviderProps.md +1 -1
  89. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  90. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  91. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  92. package/docs/api/interfaces/RouteConfig.md +1 -1
  93. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  94. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  95. package/docs/api/interfaces/StorageConfig.md +1 -1
  96. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  97. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  98. package/docs/api/interfaces/StorageListOptions.md +1 -1
  99. package/docs/api/interfaces/StorageListResult.md +1 -1
  100. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  101. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  102. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  103. package/docs/api/interfaces/StyleImport.md +1 -1
  104. package/docs/api/interfaces/ToastActionElement.md +1 -1
  105. package/docs/api/interfaces/ToastProps.md +1 -1
  106. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  107. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  108. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  109. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  110. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  111. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  112. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  113. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  114. package/docs/api/interfaces/UsePublicRouteParamsReturn.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 +2 -2
  119. package/docs/implementation-guides/datatable-rbac-usage.md +31 -1
  120. package/package.json +1 -1
  121. package/src/components/DataTable/components/ActionButtons.tsx +2 -1
  122. package/src/components/DataTable/components/DataTableCore.tsx +19 -13
  123. package/src/components/DataTable/components/UnifiedTableBody.tsx +4 -2
  124. package/src/components/DataTable/types.ts +11 -3
  125. package/src/providers/AuthProvider.tsx +34 -5
  126. package/dist/chunk-CTV3NKPM.js.map +0 -1
  127. package/dist/chunk-QKHFMQ5R.js.map +0 -1
  128. /package/dist/{DataTable-4TQ6VBHW.js.map → DataTable-NNCMQSDG.js.map} +0 -0
  129. /package/dist/{chunk-HXX35Q2M.js.map → chunk-7UEIZCST.js.map} +0 -0
  130. /package/dist/{chunk-OCM3I4GY.js.map → chunk-AMOT5ZSZ.js.map} +0 -0
  131. /package/dist/{chunk-PVMYVQSM.js.map → chunk-CMXBNDPM.js.map} +0 -0
  132. /package/dist/{chunk-K6B7BLSE.js.map → chunk-DKDTXS5Q.js.map} +0 -0
  133. /package/dist/{chunk-GNTALZV3.js.map → chunk-DV2Z3RBQ.js.map} +0 -0
  134. /package/dist/{chunk-AEMAAWUZ.js.map → chunk-JV73V2W5.js.map} +0 -0
  135. /package/dist/{chunk-PCFG6WRC.js.map → chunk-PILT65PA.js.map} +0 -0
  136. /package/dist/{chunk-HD7PYDUV.js.map → chunk-XYRRPUYV.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-CczCVCDt.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-zOqe4P1s.js';
4
4
 
5
5
  /**
6
6
  * Configuration interface for customizing ImportModal text content
@@ -32,11 +32,11 @@ import {
32
32
  useDataTableContext,
33
33
  usePluginRegistry,
34
34
  useStateManager
35
- } from "./chunk-CTV3NKPM.js";
36
- import "./chunk-OCM3I4GY.js";
35
+ } from "./chunk-BUWLPWDA.js";
36
+ import "./chunk-AMOT5ZSZ.js";
37
37
  import "./chunk-GWSBHC4J.js";
38
38
  import "./chunk-7BNPOCLL.js";
39
- import "./chunk-HXX35Q2M.js";
39
+ import "./chunk-7UEIZCST.js";
40
40
  import {
41
41
  DataChunkManager,
42
42
  SearchIndex,
@@ -48,7 +48,7 @@ import {
48
48
  throttle,
49
49
  useDataTablePerformance
50
50
  } from "./chunk-SS3E6QLB.js";
51
- import "./chunk-QKHFMQ5R.js";
51
+ import "./chunk-RQ7Y2CN6.js";
52
52
  import "./chunk-YDJW5XTN.js";
53
53
  import "./chunk-WJARTBCT.js";
54
54
  import "./chunk-PLDDJCW6.js";
@@ -96,4 +96,4 @@ export {
96
96
  usePluginRegistry,
97
97
  useStateManager
98
98
  };
99
- //# sourceMappingURL=DataTable-4TQ6VBHW.js.map
99
+ //# sourceMappingURL=DataTable-NNCMQSDG.js.map
@@ -3,7 +3,7 @@ import {
3
3
  init_UnifiedAuthProvider,
4
4
  useOrganisations,
5
5
  useUnifiedAuth
6
- } from "./chunk-QKHFMQ5R.js";
6
+ } from "./chunk-RQ7Y2CN6.js";
7
7
  import {
8
8
  DebugLogger,
9
9
  init_debugLogger,
@@ -312,4 +312,4 @@ export {
312
312
  EventProvider_exports,
313
313
  init_EventProvider
314
314
  };
315
- //# sourceMappingURL=chunk-HXX35Q2M.js.map
315
+ //# sourceMappingURL=chunk-7UEIZCST.js.map
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  init_EventProvider,
9
9
  useEvents
10
- } from "./chunk-HXX35Q2M.js";
10
+ } from "./chunk-7UEIZCST.js";
11
11
  import {
12
12
  init_OrganisationProvider,
13
13
  init_UnifiedAuthProvider,
14
14
  useOrganisations,
15
15
  useUnifiedAuth
16
- } from "./chunk-QKHFMQ5R.js";
16
+ } from "./chunk-RQ7Y2CN6.js";
17
17
 
18
18
  // src/rbac/hooks/useRBAC.ts
19
19
  init_UnifiedAuthProvider();
@@ -430,4 +430,4 @@ export {
430
430
  useHasAllPermissions,
431
431
  useCachedPermissions
432
432
  };
433
- //# sourceMappingURL=chunk-OCM3I4GY.js.map
433
+ //# sourceMappingURL=chunk-AMOT5ZSZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useCan
3
- } from "./chunk-OCM3I4GY.js";
3
+ } from "./chunk-AMOT5ZSZ.js";
4
4
  import {
5
5
  useDataTablePerformance
6
6
  } from "./chunk-SS3E6QLB.js";
@@ -14,7 +14,7 @@ import {
14
14
  init_Button,
15
15
  init_UnifiedAuthProvider,
16
16
  useUnifiedAuth
17
- } from "./chunk-QKHFMQ5R.js";
17
+ } from "./chunk-RQ7Y2CN6.js";
18
18
  import {
19
19
  cn,
20
20
  init_cn
@@ -3347,39 +3347,44 @@ 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
+ const pageId = rbac?.pageId;
3351
+ const pageName = rbac?.pageName;
3352
+ if (!pageId && !pageName) {
3353
+ throw new Error("DataTable requires either rbac.pageId or rbac.pageName for permission checking");
3354
+ }
3355
+ const effectivePageId = pageId || pageName;
3351
3356
  const permissions = {
3352
3357
  canRead: useCan(user?.id || "", {
3353
3358
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3354
3359
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3355
3360
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3356
- }, `read:page.${pageId}`, pageId),
3361
+ }, `read:page.${effectivePageId}`, effectivePageId),
3357
3362
  canCreate: useCan(user?.id || "", {
3358
3363
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3359
3364
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3360
3365
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3361
- }, `create:page.${pageId}`, pageId),
3366
+ }, `create:page.${effectivePageId}`, effectivePageId),
3362
3367
  canUpdate: useCan(user?.id || "", {
3363
3368
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3364
3369
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3365
3370
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3366
- }, `update:page.${pageId}`, pageId),
3371
+ }, `update:page.${effectivePageId}`, effectivePageId),
3367
3372
  canDelete: useCan(user?.id || "", {
3368
3373
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3369
3374
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3370
3375
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3371
- }, `delete:page.${pageId}`, pageId),
3376
+ }, `delete:page.${effectivePageId}`, effectivePageId),
3372
3377
  canExport: useCan(user?.id || "", {
3373
3378
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3374
3379
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3375
3380
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3376
- }, `manage:page.${pageId}`, pageId),
3381
+ }, `manage:page.${effectivePageId}`, effectivePageId),
3377
3382
  // Using manage for export/import
3378
3383
  canImport: useCan(user?.id || "", {
3379
3384
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3380
3385
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3381
3386
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3382
- }, `manage:page.${pageId}`, pageId)
3387
+ }, `manage:page.${effectivePageId}`, effectivePageId)
3383
3388
  // Using manage for export/import
3384
3389
  };
3385
3390
  const finalPaginationMode = paginationMode || detectedMode;
@@ -3689,16 +3694,13 @@ function DataTableInternal({
3689
3694
  if (!user) {
3690
3695
  throw new Error("DataTable requires authenticated user for RBAC");
3691
3696
  }
3692
- if (!rbac?.pageId) {
3693
- throw new Error("DataTable requires rbac.pageId for permission checking");
3694
- }
3695
3697
  const scope = {
3696
3698
  organisationId: user?.user_metadata?.organisationId || user?.app_metadata?.organisationId,
3697
3699
  eventId: user?.user_metadata?.eventId || user?.app_metadata?.eventId,
3698
3700
  appId: user?.user_metadata?.appId || user?.app_metadata?.appId
3699
3701
  };
3700
3702
  if (!permissions.canRead.can) {
3701
- return /* @__PURE__ */ jsx20(AccessDeniedPage, { resource: rbac?.pageId || "unknown-page", operation: "read" });
3703
+ return /* @__PURE__ */ jsx20(AccessDeniedPage, { resource: effectivePageId || "unknown-page", operation: "read" });
3702
3704
  }
3703
3705
  if (isLoading) {
3704
3706
  return /* @__PURE__ */ jsx20(LoadingComponent, {});
@@ -5463,4 +5465,4 @@ export {
5463
5465
  GroupHeader,
5464
5466
  EditableRow
5465
5467
  };
5466
- //# sourceMappingURL=chunk-CTV3NKPM.js.map
5468
+ //# sourceMappingURL=chunk-BUWLPWDA.js.map