@jmruthers/pace-core 0.2.4 → 0.2.6

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 (163) hide show
  1. package/dist/{DataTable-BHlzyKZP.d.ts → DataTable-C1AEm9Cx.d.ts} +1 -1
  2. package/dist/{DataTable-GEY5U7OI.js → DataTable-EEUDXPE5.js} +2 -8
  3. package/dist/{api-GZHIDA4X.js → api-ETQ6YJ3C.js} +2 -2
  4. package/dist/{chunk-DY5E3AT7.js → chunk-BEZRLNK3.js} +13 -3
  5. package/dist/chunk-BEZRLNK3.js.map +1 -0
  6. package/dist/{chunk-6ZQVSHKL.js → chunk-C5G2A4PO.js} +7 -3
  7. package/dist/chunk-C5G2A4PO.js.map +1 -0
  8. package/dist/{chunk-WYB6MBZA.js → chunk-EWKPTNPO.js} +579 -973
  9. package/dist/chunk-EWKPTNPO.js.map +1 -0
  10. package/dist/{chunk-TMRLB2LA.js → chunk-HEMJ4SUJ.js} +2 -2
  11. package/dist/{chunk-OKXMUYIB.js → chunk-HNDFPXUU.js} +5 -5
  12. package/dist/{chunk-7JL3T7BO.js → chunk-RRUYHORU.js} +161 -74
  13. package/dist/chunk-RRUYHORU.js.map +1 -0
  14. package/dist/{chunk-PFRRIDYA.js → chunk-TIVL4UQ7.js} +2 -2
  15. package/dist/{chunk-2MKP6IYD.js → chunk-VYG4AXYW.js} +2 -2
  16. package/dist/components.d.ts +2 -2
  17. package/dist/components.js +15 -15
  18. package/dist/hooks.d.ts +1 -1
  19. package/dist/hooks.js +4 -4
  20. package/dist/index.d.ts +2 -2
  21. package/dist/index.js +16 -16
  22. package/dist/providers.js +2 -2
  23. package/dist/rbac/index.d.ts +2 -0
  24. package/dist/rbac/index.js +22 -10
  25. package/dist/rbac/index.js.map +1 -1
  26. package/dist/{types-CInEi-ng.d.ts → types-DiRQsGJs.d.ts} +0 -2
  27. package/dist/utils.d.ts +2 -2
  28. package/dist/utils.js +1 -1
  29. package/docs/api/classes/ErrorBoundary.md +1 -1
  30. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  31. package/docs/api/interfaces/AggregateConfig.md +1 -1
  32. package/docs/api/interfaces/ButtonProps.md +1 -1
  33. package/docs/api/interfaces/CardProps.md +1 -1
  34. package/docs/api/interfaces/ColorPalette.md +1 -1
  35. package/docs/api/interfaces/ColorShade.md +1 -1
  36. package/docs/api/interfaces/DataTableAction.md +1 -1
  37. package/docs/api/interfaces/DataTableColumn.md +1 -1
  38. package/docs/api/interfaces/DataTableProps.md +33 -33
  39. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  40. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  41. package/docs/api/interfaces/EventContextType.md +1 -1
  42. package/docs/api/interfaces/EventLogoProps.md +1 -1
  43. package/docs/api/interfaces/EventProviderProps.md +1 -1
  44. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  45. package/docs/api/interfaces/FileUploadProps.md +1 -1
  46. package/docs/api/interfaces/FooterProps.md +1 -1
  47. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  48. package/docs/api/interfaces/InputProps.md +1 -1
  49. package/docs/api/interfaces/LabelProps.md +1 -1
  50. package/docs/api/interfaces/LoginFormProps.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/Organisation.md +1 -1
  54. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  55. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  56. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  57. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  58. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  59. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  60. package/docs/api/interfaces/PaletteData.md +1 -1
  61. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  62. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  63. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  64. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  65. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  66. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  67. package/docs/api/interfaces/StorageConfig.md +1 -1
  68. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  69. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  70. package/docs/api/interfaces/StorageListOptions.md +1 -1
  71. package/docs/api/interfaces/StorageListResult.md +1 -1
  72. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  73. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  74. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  75. package/docs/api/interfaces/StyleImport.md +1 -1
  76. package/docs/api/interfaces/ToastActionElement.md +1 -1
  77. package/docs/api/interfaces/ToastProps.md +1 -1
  78. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  79. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  80. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  81. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  82. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  83. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  84. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  85. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  86. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  87. package/docs/api/interfaces/UserEventAccess.md +1 -1
  88. package/docs/api/interfaces/UserMenuProps.md +1 -1
  89. package/docs/api/interfaces/UserProfile.md +1 -1
  90. package/docs/api/modules.md +10 -10
  91. package/docs/architecture/README.md +1 -1
  92. package/package.json +1 -1
  93. package/src/__tests__/shared/testUtils.optimized.tsx +65 -7
  94. package/src/components/DataTable/DataTable.tsx +1 -3
  95. package/src/components/DataTable/__tests__/DataTable.errorHandling.test.tsx +0 -8
  96. package/src/components/DataTable/__tests__/DataTable.hierarchical.test.tsx +17 -12
  97. package/src/components/DataTable/__tests__/DataTable.infinite-loop.test.tsx +0 -1
  98. package/src/components/DataTable/__tests__/DataTable.integration.test.tsx +4 -12
  99. package/src/components/DataTable/__tests__/DataTable.performance.test.tsx +0 -8
  100. package/src/components/DataTable/__tests__/DataTable.permissions.test.tsx +21 -11
  101. package/src/components/DataTable/__tests__/DataTable.sorting.test.tsx +321 -0
  102. package/src/components/DataTable/__tests__/DataTable.userWorkflows.test.tsx +21 -11
  103. package/src/components/DataTable/__tests__/DataTable.workflowValidation.test.tsx +94 -0
  104. package/src/components/DataTable/__tests__/DataTable.workflows.test.tsx +25 -15
  105. package/src/components/DataTable/__tests__/README.md +11 -2
  106. package/src/components/DataTable/__tests__/performance-regression.test.tsx +0 -11
  107. package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +0 -1
  108. package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +2 -2
  109. package/src/components/DataTable/components/DataTableBody.tsx +34 -35
  110. package/src/components/DataTable/components/DataTableCore.tsx +205 -133
  111. package/src/components/DataTable/components/DataTableToolbar.tsx +9 -10
  112. package/src/components/DataTable/components/DraggableColumnHeader.tsx +3 -7
  113. package/src/components/DataTable/components/EditableRow.tsx +6 -7
  114. package/src/components/DataTable/components/FilterRow.tsx +0 -1
  115. package/src/components/DataTable/components/GroupingDropdown.tsx +2 -2
  116. package/src/components/DataTable/components/UnifiedTableBody.tsx +83 -281
  117. package/src/components/DataTable/components/VirtualizedDataTable.tsx +9 -89
  118. package/src/components/DataTable/components/__tests__/DataTable.accessibility.test.tsx +111 -5
  119. package/src/components/DataTable/components/__tests__/DataTable.integration.test.tsx +82 -13
  120. package/src/components/DataTable/components/__tests__/DataTable.performance.test.tsx +0 -1
  121. package/src/components/DataTable/components/__tests__/DataTable.real.test.tsx +2 -2
  122. package/src/components/DataTable/components/__tests__/DataTable.security.test.tsx +0 -1
  123. package/src/components/DataTable/components/__tests__/DataTable.unit.test.tsx +2 -2
  124. package/src/components/DataTable/components/__tests__/FilteringToggle.unit.test.tsx +3 -0
  125. package/src/components/DataTable/components/index.ts +0 -1
  126. package/src/components/DataTable/core/DataTableContext.tsx +0 -1
  127. package/src/components/DataTable/index.ts +0 -2
  128. package/src/components/DataTable/types.ts +0 -2
  129. package/src/components/Input/Input.tsx +2 -2
  130. package/src/components/Input/__tests__/Input.unit.test.tsx +4 -4
  131. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +6 -2
  132. package/src/components/RBAC/PagePermissionGuard.tsx +13 -0
  133. package/src/components/RBAC/__tests__/PagePermissionGuard.unit.test.tsx +10 -1
  134. package/src/components/Select/Select.tsx +7 -1
  135. package/src/components/__tests__/EdgeCaseTesting.enhanced.test.tsx +2 -1
  136. package/src/hooks/__tests__/useRBAC.unit.test.ts +32 -24
  137. package/src/providers/RBACProvider.tsx +14 -2
  138. package/src/providers/__tests__/UnifiedAuthProvider.unit.test.tsx +11 -3
  139. package/src/rbac/__tests__/cache-invalidation.test.ts +2 -2
  140. package/src/rbac/__tests__/cache.test.ts +3 -3
  141. package/src/rbac/api.ts +2 -0
  142. package/src/rbac/cache.ts +2 -0
  143. package/src/rbac/hooks.ts +15 -0
  144. package/src/rbac/types.ts +2 -0
  145. package/src/utils/__tests__/lazyLoad.unit.test.tsx +13 -18
  146. package/src/utils/storage/__tests__/helpers.unit.test.ts +9 -7
  147. package/dist/chunk-6ZQVSHKL.js.map +0 -1
  148. package/dist/chunk-7JL3T7BO.js.map +0 -1
  149. package/dist/chunk-DY5E3AT7.js.map +0 -1
  150. package/dist/chunk-WYB6MBZA.js.map +0 -1
  151. package/src/components/DataTable/__tests__/DataTable.autoSizing.test.tsx +0 -526
  152. package/src/components/DataTable/components/DataTableHeader.tsx +0 -31
  153. package/src/components/DataTable/components/__tests__/DataTableHeader.unit.test.tsx +0 -143
  154. package/src/components/DataTable/examples/AutoSizingExample.tsx +0 -180
  155. package/src/components/DataTable/examples/ColumnSizingComparison.tsx +0 -235
  156. package/src/components/DataTable/utils/__tests__/columnSizing.test.ts +0 -237
  157. package/src/components/DataTable/utils/columnSizing.ts +0 -125
  158. /package/dist/{DataTable-GEY5U7OI.js.map → DataTable-EEUDXPE5.js.map} +0 -0
  159. /package/dist/{api-GZHIDA4X.js.map → api-ETQ6YJ3C.js.map} +0 -0
  160. /package/dist/{chunk-TMRLB2LA.js.map → chunk-HEMJ4SUJ.js.map} +0 -0
  161. /package/dist/{chunk-OKXMUYIB.js.map → chunk-HNDFPXUU.js.map} +0 -0
  162. /package/dist/{chunk-PFRRIDYA.js.map → chunk-TIVL4UQ7.js.map} +0 -0
  163. /package/dist/{chunk-2MKP6IYD.js.map → chunk-VYG4AXYW.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  init_UnifiedAuthProvider,
4
4
  useOrganisations,
5
5
  useUnifiedAuth
6
- } from "./chunk-DY5E3AT7.js";
6
+ } from "./chunk-BEZRLNK3.js";
7
7
  import {
8
8
  init_organisationContext,
9
9
  setOrganisationContext
@@ -379,4 +379,4 @@ function useSecureDataAccess() {
379
379
  export {
380
380
  useSecureDataAccess
381
381
  };
382
- //# sourceMappingURL=chunk-PFRRIDYA.js.map
382
+ //# sourceMappingURL=chunk-TIVL4UQ7.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_UnifiedAuthProvider,
3
3
  useUnifiedAuth
4
- } from "./chunk-DY5E3AT7.js";
4
+ } from "./chunk-BEZRLNK3.js";
5
5
 
6
6
  // src/components/PublicLayout/PublicErrorBoundary.tsx
7
7
  import React, { Component } from "react";
@@ -385,4 +385,4 @@ export {
385
385
  clearPublicLogoCache,
386
386
  getPublicLogoCacheStats
387
387
  };
388
- //# sourceMappingURL=chunk-2MKP6IYD.js.map
388
+ //# sourceMappingURL=chunk-VYG4AXYW.js.map
@@ -1,7 +1,7 @@
1
1
  export { b as UnifiedAuthContextType, U as UnifiedAuthProvider, a as UnifiedAuthProviderProps, u as useUnifiedAuth } from './UnifiedAuthProvider-w66zSCUf.js';
2
2
  export { A as Alert, r as AlertDescription, q as AlertTitle, s as Avatar, u as AvatarFallback, t as AvatarImage, B as Button, g as ButtonProps, C as Card, m as CardActions, b6 as CardActionsProps, l as CardContent, k as CardDescription, i as CardFooter, h as CardHeader, n as CardProps, j as CardTitle, v as Checkbox, aX as DefaultPublicErrorFallback, D as Dialog, H as DialogBody, z as DialogClose, E as DialogContent, b9 as DialogContentProps, M as DialogDescription, be as DialogDescriptionProps, J as DialogFooter, bc as DialogFooterProps, G as DialogHeader, bb as DialogHeaderProps, x as DialogOverlay, ba as DialogOverlayProps, w as DialogPortal, b7 as DialogProps, bf as DialogSize, K as DialogTitle, bd as DialogTitleProps, y as DialogTrigger, b8 as DialogTriggerProps, aq as ErrorBoundary, bi as ErrorBoundaryProps, bj as ErrorBoundaryState, aS as EventLogo, aT as EventLogoCompact, aU as EventLogoLarge, b2 as EventLogoProps, as as EventSelector, av as FileUpload, aw as FileUploadProps, af as Footer, ag as FooterProps, ab as Form, bg as FormProps, ae as Header, I as Input, o as InputProps, L as Label, p as LabelProps, ar as LoadingSpinner, ac as LoginForm, ad as LoginFormProps, aj as NavigationItem, ah as NavigationMenu, ai as NavigationMenuProps, at as OrganisationSelector, bh as OrganisationSelectorProps, am as PaceAppLayout, an as PaceAppLayoutProps, ao as PaceLoginPage, ap as PaceLoginPageProps, au as PasswordResetForm, P as Progress, aV as PublicErrorBoundary, b3 as PublicErrorBoundaryProps, b4 as PublicErrorBoundaryState, a_ as PublicLoadingSkeleton, aY as PublicLoadingSpinner, aZ as PublicLoadingSpinnerFullPage, b5 as PublicLoadingSpinnerProps, aR as PublicPageContextChecker, aP as PublicPageDebugger, aQ as PublicPageDiagnostic, aO as PublicPageFooter, b1 as PublicPageFooterProps, aK as PublicPageHeader, b0 as PublicPageHeaderProps, aI as PublicPageLayout, a$ as PublicPageLayoutProps, aL as PublicPageProvider, N as Select, T as SelectContent, O as SelectGroup, V as SelectItem, U as SelectLabel, W as SelectSeparator, R as SelectTrigger, Q as SelectValue, az as Table, aB as TableBody, aC as TableCaption, aD as TableCell, aE as TableFooter, aF as TableHead, aA as TableHeader, aG as TableRow, X as Toast, Z as ToastAction, a4 as ToastActionElement, a2 as ToastClose, a1 as ToastDescription, a5 as ToastProps, _ as ToastProvider, a0 as ToastTitle, $ as ToastViewport, Y as Toaster, a6 as Tooltip, a8 as TooltipContent, a9 as TooltipProvider, aa as TooltipRoot, a7 as TooltipTrigger, bk as UseStorageOptions, bl as UseStorageReturn, ak as UserMenu, aW as useErrorBoundary, ay as useFileUpload, aN as useIsPublicPage, aJ as usePublicPageContext, aM as usePublicPageProviderContext, ax as useStorage, a3 as useToast } from './PublicLoadingSpinner-DztrzuJr.js';
3
- export { D as DataTable, a as DataTableProps } from './DataTable-BHlzyKZP.js';
4
- export { A as AggregateConfig, D as DataRecord, e as DataTableAction, a as DataTableColumn, f as DataTableToolbarButton, E as EmptyStateConfig, G as GetRowId } from './types-CInEi-ng.js';
3
+ export { D as DataTable, a as DataTableProps } from './DataTable-C1AEm9Cx.js';
4
+ export { A as AggregateConfig, D as DataRecord, e as DataTableAction, a as DataTableColumn, f as DataTableToolbarButton, E as EmptyStateConfig, G as GetRowId } from './types-DiRQsGJs.js';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import React__default, { ReactNode, ComponentType } from 'react';
7
7
  import { FieldValues, FieldPath, UseFormReturn } from 'react-hook-form';
@@ -35,6 +35,14 @@ import {
35
35
  PublicPageFooter,
36
36
  PublicPageHeader,
37
37
  PublicPageLayout,
38
+ Table,
39
+ TableBody,
40
+ TableCaption,
41
+ TableCell,
42
+ TableFooter,
43
+ TableHead,
44
+ TableHeader,
45
+ TableRow,
38
46
  Toast,
39
47
  ToastAction,
40
48
  ToastClose,
@@ -48,7 +56,7 @@ import {
48
56
  usePublicPageContext as usePublicPageContext2,
49
57
  useStorage,
50
58
  useToast
51
- } from "./chunk-7JL3T7BO.js";
59
+ } from "./chunk-RRUYHORU.js";
52
60
  import {
53
61
  Alert,
54
62
  AlertDescription,
@@ -63,22 +71,14 @@ import {
63
71
  SelectLabel,
64
72
  SelectSeparator,
65
73
  SelectTrigger,
66
- SelectValue,
67
- Table,
68
- TableBody,
69
- TableCaption,
70
- TableCell,
71
- TableFooter,
72
- TableHead,
73
- TableHeader,
74
- TableRow
75
- } from "./chunk-WYB6MBZA.js";
76
- import "./chunk-6ZQVSHKL.js";
74
+ SelectValue
75
+ } from "./chunk-EWKPTNPO.js";
76
+ import "./chunk-C5G2A4PO.js";
77
77
  import "./chunk-7BNPOCLL.js";
78
78
  import {
79
79
  init_EventProvider,
80
80
  useEvents
81
- } from "./chunk-TMRLB2LA.js";
81
+ } from "./chunk-HEMJ4SUJ.js";
82
82
  import {
83
83
  DefaultPublicErrorFallback,
84
84
  PublicErrorBoundary,
@@ -86,7 +86,7 @@ import {
86
86
  useErrorBoundary,
87
87
  useIsPublicPage,
88
88
  usePublicPageContext
89
- } from "./chunk-2MKP6IYD.js";
89
+ } from "./chunk-VYG4AXYW.js";
90
90
  import "./chunk-SS3E6QLB.js";
91
91
  import {
92
92
  UnifiedAuthProvider,
@@ -94,7 +94,7 @@ import {
94
94
  init_UnifiedAuthProvider,
95
95
  useOrganisations,
96
96
  useUnifiedAuth
97
- } from "./chunk-DY5E3AT7.js";
97
+ } from "./chunk-BEZRLNK3.js";
98
98
  import {
99
99
  Button,
100
100
  Dialog,
package/dist/hooks.d.ts CHANGED
@@ -4,7 +4,7 @@ export { O as OrganisationSecurityHook, r as UseAppConfigReturn, q as UseOrganis
4
4
  import * as react_hook_form from 'react-hook-form';
5
5
  import { z } from 'zod';
6
6
  export { u as useComponentPerformance } from './useComponentPerformance-DE9l5RkL.js';
7
- import { c as PaginationMode, D as DataRecord, P as PerformanceConfig, S as ServerSideConfig, C as ChunkingConfig, d as SearchIndexConfig, g as ServerSideParams, h as ServerSideResponse } from './types-CInEi-ng.js';
7
+ import { c as PaginationMode, D as DataRecord, P as PerformanceConfig, S as ServerSideConfig, C as ChunkingConfig, d as SearchIndexConfig, g as ServerSideParams, h as ServerSideResponse } from './types-DiRQsGJs.js';
8
8
  import './organisation-CO3Sh3_D.js';
9
9
  import './unified-CM7T0aTK.js';
10
10
  import '@supabase/supabase-js';
package/dist/hooks.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useSecureDataAccess
3
- } from "./chunk-PFRRIDYA.js";
3
+ } from "./chunk-TIVL4UQ7.js";
4
4
  import {
5
5
  clearPublicEventCache,
6
6
  extractEventCodeFromPath,
@@ -11,17 +11,17 @@ import {
11
11
  usePublicEvent,
12
12
  usePublicEventCode,
13
13
  usePublicRouteParams
14
- } from "./chunk-OKXMUYIB.js";
14
+ } from "./chunk-HNDFPXUU.js";
15
15
  import {
16
16
  clearPublicLogoCache,
17
17
  getPublicLogoCacheStats,
18
18
  useAppConfig,
19
19
  usePublicEventLogo
20
- } from "./chunk-2MKP6IYD.js";
20
+ } from "./chunk-VYG4AXYW.js";
21
21
  import {
22
22
  useDataTablePerformance
23
23
  } from "./chunk-SS3E6QLB.js";
24
- import "./chunk-DY5E3AT7.js";
24
+ import "./chunk-BEZRLNK3.js";
25
25
  import "./chunk-ETEJVKYK.js";
26
26
  import "./chunk-YDJW5XTN.js";
27
27
  import {
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ export { O as Organisation, b as OrganisationContextType, a as OrganisationMembe
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { F as FileSizeLimits, S as StorageConfig, a as StorageUploadOptions, b as StorageUploadResult, c as StorageUrlOptions, d as StorageListOptions, e as StorageListResult, f as StorageFileMetadata } from './PublicLoadingSpinner-DztrzuJr.js';
6
6
  export { A as Alert, r as AlertDescription, q as AlertTitle, s as Avatar, u as AvatarFallback, t as AvatarImage, B as Button, g as ButtonProps, C as Card, m as CardActions, l as CardContent, k as CardDescription, i as CardFooter, h as CardHeader, n as CardProps, j as CardTitle, v as Checkbox, aX as DefaultPublicErrorFallback, D as Dialog, H as DialogBody, z as DialogClose, E as DialogContent, M as DialogDescription, J as DialogFooter, G as DialogHeader, x as DialogOverlay, w as DialogPortal, K as DialogTitle, y as DialogTrigger, aq as ErrorBoundary, aS as EventLogo, aT as EventLogoCompact, aU as EventLogoLarge, b2 as EventLogoProps, as as EventSelector, av as FileUpload, aw as FileUploadProps, af as Footer, ag as FooterProps, ab as Form, ae as Header, I as Input, o as InputProps, L as Label, p as LabelProps, ar as LoadingSpinner, ac as LoginForm, ad as LoginFormProps, aj as NavigationItem, ah as NavigationMenu, ai as NavigationMenuProps, at as OrganisationSelector, am as PaceAppLayout, an as PaceAppLayoutProps, ao as PaceLoginPage, ap as PaceLoginPageProps, au as PasswordResetForm, P as Progress, aV as PublicErrorBoundary, b3 as PublicErrorBoundaryProps, b4 as PublicErrorBoundaryState, a_ as PublicLoadingSkeleton, aY as PublicLoadingSpinner, aZ as PublicLoadingSpinnerFullPage, b5 as PublicLoadingSpinnerProps, aR as PublicPageContextChecker, aP as PublicPageDebugger, aQ as PublicPageDiagnostic, aO as PublicPageFooter, b1 as PublicPageFooterProps, aK as PublicPageHeader, b0 as PublicPageHeaderProps, aI as PublicPageLayout, a$ as PublicPageLayoutProps, aL as PublicPageProvider, N as Select, T as SelectContent, O as SelectGroup, V as SelectItem, U as SelectLabel, W as SelectSeparator, R as SelectTrigger, Q as SelectValue, aH as StorageFileInfo, az as Table, aB as TableBody, aC as TableCaption, aD as TableCell, aE as TableFooter, aF as TableHead, aA as TableHeader, aG as TableRow, X as Toast, Z as ToastAction, a4 as ToastActionElement, a2 as ToastClose, a1 as ToastDescription, a5 as ToastProps, _ as ToastProvider, a0 as ToastTitle, $ as ToastViewport, Y as Toaster, a6 as Tooltip, a8 as TooltipContent, a9 as TooltipProvider, aa as TooltipRoot, a7 as TooltipTrigger, ak as UserMenu, al as UserMenuProps, aW as useErrorBoundary, ay as useFileUpload, aN as useIsPublicPage, aJ as usePublicPageContext, aM as usePublicPageProviderContext, ax as useStorage, a3 as useToast } from './PublicLoadingSpinner-DztrzuJr.js';
7
- export { D as DataTable, a as DataTableProps } from './DataTable-BHlzyKZP.js';
8
- export { A as AggregateConfig, D as DataRecord, e as DataTableAction, a as DataTableColumn, f as DataTableToolbarButton, E as EmptyStateConfig, G as GetRowId } from './types-CInEi-ng.js';
7
+ export { D as DataTable, a as DataTableProps } from './DataTable-C1AEm9Cx.js';
8
+ export { A as AggregateConfig, D as DataRecord, e as DataTableAction, a as DataTableColumn, f as DataTableToolbarButton, E as EmptyStateConfig, G as GetRowId } from './types-DiRQsGJs.js';
9
9
  export { o as UsePublicEventLogoOptions, n as UsePublicEventLogoReturn, m as UsePublicEventOptions, U as UsePublicEventReturn, p as UsePublicRouteParamsReturn, d as clearPublicEventCache, f as clearPublicLogoCache, l as extractEventCodeFromPath, k as generatePublicRoutePath, g as getPublicEventCacheStats, h as getPublicLogoCacheStats, b as useAppConfig, u as useOrganisationPermissions, a as useOrganisationSecurity, c as usePublicEvent, j as usePublicEventCode, e as usePublicEventLogo, i as usePublicRouteParams } from './usePublicRouteParams-B6i0KtXW.js';
10
10
  export { a as cn, c as createSecureDataAccess, g as getAppConfig, d as getCurrentAppId, b as getCurrentAppName, s as setAppConfig } from './appConfig-BVGyuvI7.js';
11
11
  import { SupabaseClient } from '@supabase/supabase-js';
package/dist/index.js CHANGED
@@ -40,6 +40,14 @@ import {
40
40
  PublicPageHeader,
41
41
  PublicPageLayout,
42
42
  STORAGE_CONFIG,
43
+ Table,
44
+ TableBody,
45
+ TableCaption,
46
+ TableCell,
47
+ TableFooter,
48
+ TableHead,
49
+ TableHeader,
50
+ TableRow,
43
51
  Toast,
44
52
  ToastAction,
45
53
  ToastClose,
@@ -65,7 +73,7 @@ import {
65
73
  useStorage,
66
74
  useToast,
67
75
  validateFileSize
68
- } from "./chunk-7JL3T7BO.js";
76
+ } from "./chunk-RRUYHORU.js";
69
77
  import {
70
78
  Alert,
71
79
  AlertDescription,
@@ -80,23 +88,15 @@ import {
80
88
  SelectLabel,
81
89
  SelectSeparator,
82
90
  SelectTrigger,
83
- SelectValue,
84
- Table,
85
- TableBody,
86
- TableCaption,
87
- TableCell,
88
- TableFooter,
89
- TableHead,
90
- TableHeader,
91
- TableRow
92
- } from "./chunk-WYB6MBZA.js";
93
- import "./chunk-6ZQVSHKL.js";
91
+ SelectValue
92
+ } from "./chunk-EWKPTNPO.js";
93
+ import "./chunk-C5G2A4PO.js";
94
94
  import "./chunk-7BNPOCLL.js";
95
95
  import {
96
96
  EventProvider,
97
97
  init_EventProvider,
98
98
  useEvents
99
- } from "./chunk-TMRLB2LA.js";
99
+ } from "./chunk-HEMJ4SUJ.js";
100
100
  import {
101
101
  clearPublicEventCache,
102
102
  extractEventCodeFromPath,
@@ -107,7 +107,7 @@ import {
107
107
  usePublicEvent,
108
108
  usePublicEventCode,
109
109
  usePublicRouteParams
110
- } from "./chunk-OKXMUYIB.js";
110
+ } from "./chunk-HNDFPXUU.js";
111
111
  import {
112
112
  DefaultPublicErrorFallback,
113
113
  PublicErrorBoundary,
@@ -119,7 +119,7 @@ import {
119
119
  useIsPublicPage,
120
120
  usePublicEventLogo,
121
121
  usePublicPageContext
122
- } from "./chunk-2MKP6IYD.js";
122
+ } from "./chunk-VYG4AXYW.js";
123
123
  import "./chunk-SS3E6QLB.js";
124
124
  import {
125
125
  InactivityWarningModal,
@@ -132,7 +132,7 @@ import {
132
132
  useInactivityTracker,
133
133
  useOrganisations,
134
134
  useUnifiedAuth
135
- } from "./chunk-DY5E3AT7.js";
135
+ } from "./chunk-BEZRLNK3.js";
136
136
  import {
137
137
  Button,
138
138
  Dialog,
package/dist/providers.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EventProvider,
3
3
  useEvents
4
- } from "./chunk-TMRLB2LA.js";
4
+ } from "./chunk-HEMJ4SUJ.js";
5
5
  import {
6
6
  AuthProvider,
7
7
  InactivityProvider,
@@ -13,7 +13,7 @@ import {
13
13
  useOrganisations,
14
14
  useRBAC,
15
15
  useUnifiedAuth
16
- } from "./chunk-DY5E3AT7.js";
16
+ } from "./chunk-BEZRLNK3.js";
17
17
  import "./chunk-ETEJVKYK.js";
18
18
  import "./chunk-YDJW5XTN.js";
19
19
  import "./chunk-2V3Y6YBC.js";
@@ -55,6 +55,8 @@ interface PermissionCacheKey {
55
55
  organisationId?: UUID;
56
56
  eventId?: string;
57
57
  appId?: UUID;
58
+ permission?: Permission;
59
+ pageId?: UUID | string;
58
60
  }
59
61
  interface UsePermissionsReturn {
60
62
  permissions: PermissionMap;
@@ -18,7 +18,7 @@ import {
18
18
  isPermittedCached,
19
19
  rbacCache,
20
20
  setupRBAC
21
- } from "../chunk-6ZQVSHKL.js";
21
+ } from "../chunk-C5G2A4PO.js";
22
22
  import {
23
23
  RBACAuditManager,
24
24
  createAuditManager,
@@ -28,11 +28,11 @@ import {
28
28
  } from "../chunk-7BNPOCLL.js";
29
29
  import {
30
30
  useSecureDataAccess
31
- } from "../chunk-PFRRIDYA.js";
31
+ } from "../chunk-TIVL4UQ7.js";
32
32
  import {
33
33
  init_UnifiedAuthProvider,
34
34
  useUnifiedAuth
35
- } from "../chunk-DY5E3AT7.js";
35
+ } from "../chunk-BEZRLNK3.js";
36
36
  import "../chunk-ETEJVKYK.js";
37
37
  import "../chunk-YDJW5XTN.js";
38
38
  import {
@@ -216,6 +216,18 @@ function useCan(userId, scope, permission, pageId, useCache = true) {
216
216
  setIsLoading(false);
217
217
  return;
218
218
  }
219
+ try {
220
+ const { isSuperAdmin } = await import("../api-ETQ6YJ3C.js");
221
+ const isSuper = await isSuperAdmin(userId);
222
+ if (isSuper) {
223
+ console.log("[useCan] User is super admin, granting access");
224
+ setCan(true);
225
+ setIsLoading(false);
226
+ return;
227
+ }
228
+ } catch (error2) {
229
+ console.error("[useCan] Error checking super admin status:", error2);
230
+ }
219
231
  if (!scope || !scope.organisationId || !scope.appId) {
220
232
  console.log("[useCan] Incomplete scope, waiting for resolution:", scope);
221
233
  setCan(false);
@@ -577,7 +589,7 @@ function withPermissionGuard(config, handler) {
577
589
  if (!userId || !organisationId) {
578
590
  throw new Error("User context required for permission check");
579
591
  }
580
- const { isPermitted: isPermitted2 } = await import("../api-GZHIDA4X.js");
592
+ const { isPermitted: isPermitted2 } = await import("../api-ETQ6YJ3C.js");
581
593
  const hasPermission2 = await isPermitted2({
582
594
  userId,
583
595
  scope: { organisationId, eventId, appId },
@@ -600,7 +612,7 @@ function withAccessLevelGuard(minLevel, handler) {
600
612
  if (!userId || !organisationId) {
601
613
  throw new Error("User context required for access level check");
602
614
  }
603
- const { getAccessLevel: getAccessLevel2 } = await import("../api-GZHIDA4X.js");
615
+ const { getAccessLevel: getAccessLevel2 } = await import("../api-ETQ6YJ3C.js");
604
616
  const accessLevel = await getAccessLevel2({
605
617
  userId,
606
618
  scope: { organisationId, eventId, appId }
@@ -625,7 +637,7 @@ function withRoleGuard(config, handler) {
625
637
  throw new Error("User context required for role check");
626
638
  }
627
639
  if (config.globalRoles && config.globalRoles.length > 0) {
628
- const { isSuperAdmin } = await import("../api-GZHIDA4X.js");
640
+ const { isSuperAdmin } = await import("../api-ETQ6YJ3C.js");
629
641
  const isSuper = await isSuperAdmin(userId);
630
642
  if (isSuper) {
631
643
  if (organisationId) {
@@ -651,14 +663,14 @@ function withRoleGuard(config, handler) {
651
663
  }
652
664
  }
653
665
  if (config.organisationRoles && config.organisationRoles.length > 0) {
654
- const { isOrganisationAdmin } = await import("../api-GZHIDA4X.js");
666
+ const { isOrganisationAdmin } = await import("../api-ETQ6YJ3C.js");
655
667
  const isOrgAdmin = await isOrganisationAdmin(userId, organisationId);
656
668
  if (!isOrgAdmin && config.requireAll !== false) {
657
669
  throw new Error(`Organisation admin role required`);
658
670
  }
659
671
  }
660
672
  if (config.eventAppRoles && config.eventAppRoles.length > 0 && eventId && appId) {
661
- const { isEventAdmin } = await import("../api-GZHIDA4X.js");
673
+ const { isEventAdmin } = await import("../api-ETQ6YJ3C.js");
662
674
  const isEventAdminUser = await isEventAdmin(userId, { organisationId, eventId, appId });
663
675
  if (!isEventAdminUser && config.requireAll !== false) {
664
676
  throw new Error(`Event admin role required`);
@@ -698,7 +710,7 @@ function createRBACMiddleware(config) {
698
710
  );
699
711
  if (protectedRoute) {
700
712
  try {
701
- const { isPermitted: isPermitted2 } = await import("../api-GZHIDA4X.js");
713
+ const { isPermitted: isPermitted2 } = await import("../api-ETQ6YJ3C.js");
702
714
  const hasPermission2 = await isPermitted2({
703
715
  userId,
704
716
  scope: { organisationId },
@@ -725,7 +737,7 @@ function createRBACExpressMiddleware(config) {
725
737
  return res.status(401).json({ error: "User context required" });
726
738
  }
727
739
  try {
728
- const { isPermitted: isPermitted2 } = await import("../api-GZHIDA4X.js");
740
+ const { isPermitted: isPermitted2 } = await import("../api-ETQ6YJ3C.js");
729
741
  const hasPermission2 = await isPermitted2({
730
742
  userId,
731
743
  scope: { organisationId, eventId, appId },