@jmruthers/pace-core 0.5.188 → 0.5.190

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 (424) hide show
  1. package/core-usage-manifest.json +0 -4
  2. package/dist/{AuthService-B-cd2MA4.d.ts → AuthService-CbP_utw2.d.ts} +7 -3
  3. package/dist/{DataTable-GUFUNZ3N.js → DataTable-ON3IXISJ.js} +8 -8
  4. package/dist/{PublicPageProvider-DrLDztHt.d.ts → PublicPageProvider-C4uxosp6.d.ts} +129 -40
  5. package/dist/{UnifiedAuthProvider-BG0AL5eE.d.ts → UnifiedAuthProvider-BYA9qB-o.d.ts} +4 -3
  6. package/dist/{UnifiedAuthProvider-643PUAIM.js → UnifiedAuthProvider-X5NXANVI.js} +4 -2
  7. package/dist/{api-YP7XD5L6.js → api-I6UCQ5S6.js} +4 -2
  8. package/dist/{chunk-DDM4CCYT.js → chunk-4QYC5L4K.js} +60 -35
  9. package/dist/chunk-4QYC5L4K.js.map +1 -0
  10. package/dist/{chunk-IM4QE42D.js → chunk-73HSNNOQ.js} +141 -326
  11. package/dist/chunk-73HSNNOQ.js.map +1 -0
  12. package/dist/{chunk-YHCN776L.js → chunk-DZWK57KZ.js} +2 -75
  13. package/dist/chunk-DZWK57KZ.js.map +1 -0
  14. package/dist/{chunk-3GOZZZYH.js → chunk-HQVPB5MZ.js} +238 -301
  15. package/dist/chunk-HQVPB5MZ.js.map +1 -0
  16. package/dist/{chunk-THRPYOFK.js → chunk-HW3OVDUF.js} +5 -5
  17. package/dist/chunk-HW3OVDUF.js.map +1 -0
  18. package/dist/{chunk-F2IMUDXZ.js → chunk-I7PSE6JW.js} +75 -2
  19. package/dist/chunk-I7PSE6JW.js.map +1 -0
  20. package/dist/{chunk-VGZZXKBR.js → chunk-J2XXC7R5.js} +280 -52
  21. package/dist/chunk-J2XXC7R5.js.map +1 -0
  22. package/dist/{chunk-UNOTYLQF.js → chunk-NIU6J6OX.js} +772 -725
  23. package/dist/chunk-NIU6J6OX.js.map +1 -0
  24. package/dist/{chunk-HESYZWZW.js → chunk-QWWZ5CAQ.js} +2 -2
  25. package/dist/{chunk-HEHYGYOX.js → chunk-RUYZKXOD.js} +401 -46
  26. package/dist/chunk-RUYZKXOD.js.map +1 -0
  27. package/dist/{chunk-2UUZZJFT.js → chunk-SDMHPX3X.js} +176 -160
  28. package/dist/{chunk-2UUZZJFT.js.map → chunk-SDMHPX3X.js.map} +1 -1
  29. package/dist/{chunk-IPCH26AG.js → chunk-STYK4OH2.js} +11 -11
  30. package/dist/chunk-STYK4OH2.js.map +1 -0
  31. package/dist/{chunk-EFCLXK7F.js → chunk-VVBAW5A5.js} +4201 -3809
  32. package/dist/chunk-VVBAW5A5.js.map +1 -0
  33. package/dist/chunk-Y4BUBBHD.js +614 -0
  34. package/dist/chunk-Y4BUBBHD.js.map +1 -0
  35. package/dist/{chunk-SAUPYVLF.js → chunk-ZSAAAMVR.js} +1 -1
  36. package/dist/chunk-ZSAAAMVR.js.map +1 -0
  37. package/dist/components.d.ts +3 -5
  38. package/dist/components.js +19 -23
  39. package/dist/components.js.map +1 -1
  40. package/dist/eslint-rules/pace-core-compliance.cjs +0 -2
  41. package/dist/{file-reference-D037xOFK.d.ts → file-reference-BavO2eQj.d.ts} +13 -10
  42. package/dist/hooks.d.ts +10 -5
  43. package/dist/hooks.js +14 -8
  44. package/dist/hooks.js.map +1 -1
  45. package/dist/index.d.ts +13 -12
  46. package/dist/index.js +79 -73
  47. package/dist/index.js.map +1 -1
  48. package/dist/providers.d.ts +3 -3
  49. package/dist/providers.js +3 -1
  50. package/dist/rbac/index.d.ts +76 -12
  51. package/dist/rbac/index.js +12 -9
  52. package/dist/types.d.ts +1 -1
  53. package/dist/types.js +1 -1
  54. package/dist/{usePublicRouteParams-CTDELQ7H.d.ts → usePublicRouteParams-DxIDS4bC.d.ts} +16 -9
  55. package/dist/utils.js +16 -16
  56. package/docs/README.md +2 -2
  57. package/docs/api/classes/ColumnFactory.md +1 -1
  58. package/docs/api/classes/ErrorBoundary.md +1 -1
  59. package/docs/api/classes/InvalidScopeError.md +2 -2
  60. package/docs/api/classes/Logger.md +1 -1
  61. package/docs/api/classes/MissingUserContextError.md +2 -2
  62. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  63. package/docs/api/classes/PermissionDeniedError.md +1 -1
  64. package/docs/api/classes/RBACAuditManager.md +1 -1
  65. package/docs/api/classes/RBACCache.md +1 -1
  66. package/docs/api/classes/RBACEngine.md +4 -4
  67. package/docs/api/classes/RBACError.md +1 -1
  68. package/docs/api/classes/RBACNotInitializedError.md +2 -2
  69. package/docs/api/classes/SecureSupabaseClient.md +21 -16
  70. package/docs/api/classes/StorageUtils.md +7 -4
  71. package/docs/api/enums/FileCategory.md +1 -1
  72. package/docs/api/enums/LogLevel.md +1 -1
  73. package/docs/api/enums/RBACErrorCode.md +1 -1
  74. package/docs/api/enums/RPCFunction.md +1 -1
  75. package/docs/api/interfaces/AddressFieldProps.md +1 -1
  76. package/docs/api/interfaces/AddressFieldRef.md +1 -1
  77. package/docs/api/interfaces/AggregateConfig.md +1 -1
  78. package/docs/api/interfaces/AutocompleteOptions.md +1 -1
  79. package/docs/api/interfaces/AvatarProps.md +128 -0
  80. package/docs/api/interfaces/BadgeProps.md +1 -1
  81. package/docs/api/interfaces/ButtonProps.md +1 -1
  82. package/docs/api/interfaces/CalendarProps.md +20 -6
  83. package/docs/api/interfaces/CardProps.md +1 -1
  84. package/docs/api/interfaces/ColorPalette.md +1 -1
  85. package/docs/api/interfaces/ColorShade.md +1 -1
  86. package/docs/api/interfaces/ComplianceResult.md +1 -1
  87. package/docs/api/interfaces/DataAccessRecord.md +9 -9
  88. package/docs/api/interfaces/DataRecord.md +1 -1
  89. package/docs/api/interfaces/DataTableAction.md +1 -1
  90. package/docs/api/interfaces/DataTableColumn.md +1 -1
  91. package/docs/api/interfaces/DataTableProps.md +1 -1
  92. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  93. package/docs/api/interfaces/DatabaseComplianceResult.md +1 -1
  94. package/docs/api/interfaces/DatabaseIssue.md +1 -1
  95. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  96. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  97. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  98. package/docs/api/interfaces/ExportColumn.md +1 -1
  99. package/docs/api/interfaces/ExportOptions.md +1 -1
  100. package/docs/api/interfaces/FileDisplayProps.md +62 -16
  101. package/docs/api/interfaces/FileMetadata.md +1 -1
  102. package/docs/api/interfaces/FileReference.md +2 -2
  103. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  104. package/docs/api/interfaces/FileUploadOptions.md +26 -12
  105. package/docs/api/interfaces/FileUploadProps.md +30 -19
  106. package/docs/api/interfaces/FooterProps.md +1 -1
  107. package/docs/api/interfaces/FormFieldProps.md +1 -1
  108. package/docs/api/interfaces/FormProps.md +1 -1
  109. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  110. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  111. package/docs/api/interfaces/InputProps.md +1 -1
  112. package/docs/api/interfaces/LabelProps.md +1 -1
  113. package/docs/api/interfaces/LoggerConfig.md +1 -1
  114. package/docs/api/interfaces/LoginFormProps.md +1 -1
  115. package/docs/api/interfaces/NavigationAccessRecord.md +10 -10
  116. package/docs/api/interfaces/NavigationContextType.md +9 -9
  117. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  118. package/docs/api/interfaces/NavigationItem.md +1 -1
  119. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  120. package/docs/api/interfaces/NavigationProviderProps.md +7 -7
  121. package/docs/api/interfaces/Organisation.md +1 -1
  122. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  123. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  124. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  125. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  126. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  127. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  128. package/docs/api/interfaces/PageAccessRecord.md +8 -8
  129. package/docs/api/interfaces/PagePermissionContextType.md +8 -8
  130. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  131. package/docs/api/interfaces/PagePermissionProviderProps.md +7 -7
  132. package/docs/api/interfaces/PaletteData.md +1 -1
  133. package/docs/api/interfaces/ParsedAddress.md +1 -1
  134. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  135. package/docs/api/interfaces/ProgressProps.md +3 -11
  136. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  137. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  138. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  139. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  140. package/docs/api/interfaces/QuickFix.md +1 -1
  141. package/docs/api/interfaces/RBACAccessValidateParams.md +1 -1
  142. package/docs/api/interfaces/RBACAccessValidateResult.md +1 -1
  143. package/docs/api/interfaces/RBACAuditLogParams.md +1 -1
  144. package/docs/api/interfaces/RBACAuditLogResult.md +1 -1
  145. package/docs/api/interfaces/RBACConfig.md +1 -1
  146. package/docs/api/interfaces/RBACContext.md +1 -1
  147. package/docs/api/interfaces/RBACLogger.md +1 -1
  148. package/docs/api/interfaces/RBACPageAccessCheckParams.md +1 -1
  149. package/docs/api/interfaces/RBACPerformanceMetrics.md +1 -1
  150. package/docs/api/interfaces/RBACPermissionCheckParams.md +1 -1
  151. package/docs/api/interfaces/RBACPermissionCheckResult.md +1 -1
  152. package/docs/api/interfaces/RBACPermissionsGetParams.md +1 -1
  153. package/docs/api/interfaces/RBACPermissionsGetResult.md +1 -1
  154. package/docs/api/interfaces/RBACResult.md +1 -1
  155. package/docs/api/interfaces/RBACRoleGrantParams.md +1 -1
  156. package/docs/api/interfaces/RBACRoleGrantResult.md +1 -1
  157. package/docs/api/interfaces/RBACRoleRevokeParams.md +1 -1
  158. package/docs/api/interfaces/RBACRoleRevokeResult.md +1 -1
  159. package/docs/api/interfaces/RBACRoleValidateParams.md +1 -1
  160. package/docs/api/interfaces/RBACRoleValidateResult.md +1 -1
  161. package/docs/api/interfaces/RBACRolesListParams.md +1 -1
  162. package/docs/api/interfaces/RBACRolesListResult.md +1 -1
  163. package/docs/api/interfaces/RBACSessionTrackParams.md +1 -1
  164. package/docs/api/interfaces/RBACSessionTrackResult.md +1 -1
  165. package/docs/api/interfaces/ResourcePermissions.md +1 -1
  166. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  167. package/docs/api/interfaces/RoleBasedRouterContextType.md +8 -8
  168. package/docs/api/interfaces/RoleBasedRouterProps.md +10 -10
  169. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  170. package/docs/api/interfaces/RouteAccessRecord.md +10 -10
  171. package/docs/api/interfaces/RouteConfig.md +10 -10
  172. package/docs/api/interfaces/RuntimeComplianceResult.md +1 -1
  173. package/docs/api/interfaces/SecureDataContextType.md +9 -9
  174. package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
  175. package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
  176. package/docs/api/interfaces/SetupIssue.md +1 -1
  177. package/docs/api/interfaces/StorageConfig.md +4 -4
  178. package/docs/api/interfaces/StorageFileInfo.md +7 -7
  179. package/docs/api/interfaces/StorageFileMetadata.md +25 -14
  180. package/docs/api/interfaces/StorageListOptions.md +22 -9
  181. package/docs/api/interfaces/StorageListResult.md +4 -4
  182. package/docs/api/interfaces/StorageUploadOptions.md +21 -8
  183. package/docs/api/interfaces/StorageUploadResult.md +6 -6
  184. package/docs/api/interfaces/StorageUrlOptions.md +19 -6
  185. package/docs/api/interfaces/StyleImport.md +1 -1
  186. package/docs/api/interfaces/SwitchProps.md +1 -1
  187. package/docs/api/interfaces/TabsContentProps.md +1 -1
  188. package/docs/api/interfaces/TabsListProps.md +1 -1
  189. package/docs/api/interfaces/TabsProps.md +1 -1
  190. package/docs/api/interfaces/TabsTriggerProps.md +1 -1
  191. package/docs/api/interfaces/TextareaProps.md +1 -1
  192. package/docs/api/interfaces/ToastActionElement.md +1 -1
  193. package/docs/api/interfaces/ToastProps.md +1 -1
  194. package/docs/api/interfaces/UnifiedAuthContextType.md +53 -53
  195. package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
  196. package/docs/api/interfaces/UseFormDialogOptions.md +1 -1
  197. package/docs/api/interfaces/UseFormDialogReturn.md +1 -1
  198. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  199. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  200. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  201. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  202. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  203. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  204. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
  205. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  206. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  207. package/docs/api/interfaces/UseResolvedScopeOptions.md +4 -4
  208. package/docs/api/interfaces/UseResolvedScopeReturn.md +4 -4
  209. package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
  210. package/docs/api/interfaces/UserEventAccess.md +11 -11
  211. package/docs/api/interfaces/UserMenuProps.md +1 -1
  212. package/docs/api/interfaces/UserProfile.md +1 -1
  213. package/docs/api/modules.md +155 -135
  214. package/docs/api-reference/components.md +72 -29
  215. package/docs/api-reference/providers.md +2 -2
  216. package/docs/api-reference/rpc-functions.md +1 -0
  217. package/docs/best-practices/README.md +1 -1
  218. package/docs/best-practices/deployment.md +8 -8
  219. package/docs/getting-started/examples/README.md +2 -2
  220. package/docs/getting-started/installation-guide.md +4 -4
  221. package/docs/getting-started/quick-start.md +3 -3
  222. package/docs/migration/MIGRATION_GUIDE.md +3 -3
  223. package/docs/rbac/compliance/compliance-guide.md +2 -2
  224. package/docs/rbac/event-based-apps.md +2 -2
  225. package/docs/rbac/getting-started.md +2 -2
  226. package/docs/rbac/quick-start.md +2 -2
  227. package/docs/security/README.md +4 -4
  228. package/docs/standards/07-rbac-and-rls-standard.md +430 -7
  229. package/docs/troubleshooting/README.md +2 -2
  230. package/docs/troubleshooting/migration.md +3 -3
  231. package/package.json +1 -4
  232. package/scripts/check-pace-core-compliance.cjs +1 -1
  233. package/scripts/check-pace-core-compliance.js +1 -1
  234. package/src/__tests__/fixtures/supabase.ts +301 -0
  235. package/src/__tests__/public-recipe-view.test.ts +9 -9
  236. package/src/__tests__/rls-policies.test.ts +197 -61
  237. package/src/components/AddressField/AddressField.test.tsx +42 -0
  238. package/src/components/AddressField/AddressField.tsx +71 -60
  239. package/src/components/AddressField/README.md +1 -0
  240. package/src/components/Alert/Alert.test.tsx +50 -10
  241. package/src/components/Alert/Alert.tsx +5 -3
  242. package/src/components/Avatar/Avatar.test.tsx +252 -226
  243. package/src/components/Avatar/Avatar.tsx +179 -53
  244. package/src/components/Avatar/index.ts +1 -1
  245. package/src/components/Button/Button.test.tsx +2 -1
  246. package/src/components/Button/Button.tsx +3 -3
  247. package/src/components/Calendar/Calendar.test.tsx +53 -37
  248. package/src/components/Calendar/Calendar.tsx +409 -82
  249. package/src/components/Card/Card.test.tsx +7 -4
  250. package/src/components/Card/Card.tsx +3 -6
  251. package/src/components/Checkbox/Checkbox.tsx +2 -2
  252. package/src/components/DataTable/components/ActionButtons.tsx +5 -5
  253. package/src/components/DataTable/components/BulkOperationsDropdown.tsx +2 -2
  254. package/src/components/DataTable/components/ColumnFilter.tsx +1 -1
  255. package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +3 -3
  256. package/src/components/DataTable/components/DataTableBody.tsx +12 -12
  257. package/src/components/DataTable/components/DataTableCore.tsx +3 -3
  258. package/src/components/DataTable/components/DataTableToolbar.tsx +5 -5
  259. package/src/components/DataTable/components/DraggableColumnHeader.tsx +3 -3
  260. package/src/components/DataTable/components/EditableRow.tsx +2 -2
  261. package/src/components/DataTable/components/EmptyState.tsx +3 -3
  262. package/src/components/DataTable/components/GroupHeader.tsx +2 -2
  263. package/src/components/DataTable/components/GroupingDropdown.tsx +1 -1
  264. package/src/components/DataTable/components/ImportModal.tsx +4 -4
  265. package/src/components/DataTable/components/LoadingState.tsx +1 -1
  266. package/src/components/DataTable/components/PaginationControls.tsx +11 -11
  267. package/src/components/DataTable/components/UnifiedTableBody.tsx +9 -9
  268. package/src/components/DataTable/components/ViewRowModal.tsx +2 -2
  269. package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +11 -37
  270. package/src/components/DataTable/components/__tests__/DataTableToolbar.test.tsx +157 -0
  271. package/src/components/DataTable/components/__tests__/LoadingState.test.tsx +2 -1
  272. package/src/components/DataTable/components/__tests__/VirtualizedDataTable.test.tsx +128 -0
  273. package/src/components/DataTable/core/__tests__/ActionManager.test.ts +19 -0
  274. package/src/components/DataTable/core/__tests__/ColumnFactory.test.ts +51 -0
  275. package/src/components/DataTable/core/__tests__/ColumnManager.test.ts +84 -0
  276. package/src/components/DataTable/core/__tests__/DataManager.test.ts +14 -0
  277. package/src/components/DataTable/core/__tests__/DataTableContext.test.tsx +136 -0
  278. package/src/components/DataTable/core/__tests__/LocalDataAdapter.test.ts +16 -0
  279. package/src/components/DataTable/core/__tests__/PluginRegistry.test.ts +18 -0
  280. package/src/components/DataTable/hooks/useDataTablePermissions.ts +28 -7
  281. package/src/components/DataTable/utils/__tests__/hierarchicalUtils.test.ts +30 -1
  282. package/src/components/DataTable/utils/hierarchicalUtils.ts +38 -10
  283. package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -3
  284. package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.tsx +4 -4
  285. package/src/components/Dialog/Dialog.tsx +2 -2
  286. package/src/components/EventSelector/EventSelector.tsx +7 -7
  287. package/src/components/FileDisplay/FileDisplay.tsx +291 -179
  288. package/src/components/FileUpload/FileUpload.tsx +7 -4
  289. package/src/components/Header/Header.test.tsx +28 -0
  290. package/src/components/Header/Header.tsx +22 -9
  291. package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +2 -2
  292. package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +19 -14
  293. package/src/components/LoadingSpinner/LoadingSpinner.tsx +5 -5
  294. package/src/components/NavigationMenu/NavigationMenu.test.tsx +127 -1
  295. package/src/components/OrganisationSelector/OrganisationSelector.tsx +8 -8
  296. package/src/components/PaceAppLayout/PaceAppLayout.integration.test.tsx +4 -0
  297. package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +3 -0
  298. package/src/components/PaceAppLayout/PaceAppLayout.security.test.tsx +3 -0
  299. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +16 -6
  300. package/src/components/PaceAppLayout/PaceAppLayout.tsx +37 -3
  301. package/src/components/PaceAppLayout/test-setup.tsx +1 -0
  302. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +66 -45
  303. package/src/components/PaceLoginPage/PaceLoginPage.tsx +6 -4
  304. package/src/components/Progress/Progress.test.tsx +18 -19
  305. package/src/components/Progress/Progress.tsx +31 -32
  306. package/src/components/PublicLayout/PublicLayout.test.tsx +6 -6
  307. package/src/components/PublicLayout/PublicPageProvider.tsx +5 -3
  308. package/src/components/Select/Select.tsx +5 -5
  309. package/src/components/Switch/Switch.test.tsx +2 -1
  310. package/src/components/Switch/Switch.tsx +1 -1
  311. package/src/components/Toast/Toast.tsx +1 -1
  312. package/src/components/Tooltip/Tooltip.test.tsx +8 -2
  313. package/src/components/UserMenu/UserMenu.test.tsx +7 -9
  314. package/src/components/UserMenu/UserMenu.tsx +10 -8
  315. package/src/components/index.ts +2 -1
  316. package/src/eslint-rules/pace-core-compliance.cjs +0 -2
  317. package/src/eslint-rules/pace-core-compliance.js +0 -2
  318. package/src/hooks/__tests__/hooks.integration.test.tsx +4 -1
  319. package/src/hooks/__tests__/useAppConfig.unit.test.ts +76 -5
  320. package/src/hooks/__tests__/useDataTableState.test.ts +76 -0
  321. package/src/hooks/__tests__/useFileUrl.unit.test.ts +25 -69
  322. package/src/hooks/__tests__/useFileUrlCache.test.ts +129 -0
  323. package/src/hooks/__tests__/usePreventTabReload.test.ts +88 -0
  324. package/src/hooks/__tests__/{usePublicEvent.unit.test.ts → usePublicEvent.test.ts} +28 -1
  325. package/src/hooks/__tests__/useQueryCache.test.ts +144 -0
  326. package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +58 -16
  327. package/src/hooks/index.ts +1 -1
  328. package/src/hooks/public/usePublicEvent.ts +2 -2
  329. package/src/hooks/public/usePublicFileDisplay.ts +173 -87
  330. package/src/hooks/useAppConfig.ts +24 -5
  331. package/src/hooks/useFileDisplay.ts +297 -34
  332. package/src/hooks/useFileReference.ts +56 -11
  333. package/src/hooks/useFileUrl.ts +1 -1
  334. package/src/hooks/useInactivityTracker.ts +16 -7
  335. package/src/hooks/usePermissionCache.test.ts +85 -8
  336. package/src/hooks/useQueryCache.ts +21 -0
  337. package/src/hooks/useSecureDataAccess.test.ts +80 -35
  338. package/src/hooks/useSecureDataAccess.ts +80 -37
  339. package/src/index.ts +2 -1
  340. package/src/providers/services/EventServiceProvider.tsx +37 -17
  341. package/src/providers/services/InactivityServiceProvider.tsx +4 -4
  342. package/src/providers/services/OrganisationServiceProvider.tsx +8 -1
  343. package/src/providers/services/UnifiedAuthProvider.tsx +115 -29
  344. package/src/rbac/__tests__/auth-rbac.e2e.test.tsx +451 -0
  345. package/src/rbac/__tests__/engine.comprehensive.test.ts +12 -0
  346. package/src/rbac/__tests__/rbac-engine-core-logic.test.ts +8 -0
  347. package/src/rbac/__tests__/rbac-engine-simplified.test.ts +4 -0
  348. package/src/rbac/api.ts +240 -36
  349. package/src/rbac/cache-invalidation.ts +21 -7
  350. package/src/rbac/compliance/quick-fix-suggestions.ts +1 -1
  351. package/src/rbac/components/NavigationGuard.tsx +23 -63
  352. package/src/rbac/components/NavigationProvider.test.tsx +52 -23
  353. package/src/rbac/components/NavigationProvider.tsx +13 -11
  354. package/src/rbac/components/PagePermissionGuard.tsx +77 -203
  355. package/src/rbac/components/PagePermissionProvider.tsx +13 -11
  356. package/src/rbac/components/PermissionEnforcer.tsx +24 -62
  357. package/src/rbac/components/RoleBasedRouter.tsx +14 -12
  358. package/src/rbac/components/SecureDataProvider.tsx +13 -11
  359. package/src/rbac/components/__tests__/NavigationGuard.test.tsx +104 -41
  360. package/src/rbac/components/__tests__/NavigationProvider.test.tsx +49 -12
  361. package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +22 -1
  362. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +161 -82
  363. package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +22 -1
  364. package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +77 -30
  365. package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +39 -5
  366. package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +47 -4
  367. package/src/rbac/engine.ts +4 -2
  368. package/src/rbac/hooks/__tests__/useSecureSupabase.test.ts +144 -52
  369. package/src/rbac/hooks/index.ts +3 -0
  370. package/src/rbac/hooks/useCan.test.ts +101 -53
  371. package/src/rbac/hooks/usePermissions.ts +108 -41
  372. package/src/rbac/hooks/useRBAC.test.ts +11 -3
  373. package/src/rbac/hooks/useRBAC.ts +83 -40
  374. package/src/rbac/hooks/useResolvedScope.test.ts +189 -63
  375. package/src/rbac/hooks/useResolvedScope.ts +128 -70
  376. package/src/rbac/hooks/useSecureSupabase.ts +36 -19
  377. package/src/rbac/hooks/useSuperAdminBypass.ts +126 -0
  378. package/src/rbac/request-deduplication.ts +1 -1
  379. package/src/rbac/secureClient.ts +72 -12
  380. package/src/rbac/security.ts +29 -23
  381. package/src/rbac/types.ts +10 -0
  382. package/src/rbac/utils/__tests__/contextValidator.test.ts +150 -0
  383. package/src/rbac/utils/__tests__/deep-equal.test.ts +53 -0
  384. package/src/rbac/utils/__tests__/eventContext.test.ts +6 -1
  385. package/src/rbac/utils/contextValidator.ts +288 -0
  386. package/src/rbac/utils/eventContext.ts +48 -2
  387. package/src/services/EventService.ts +165 -21
  388. package/src/services/OrganisationService.ts +37 -2
  389. package/src/services/__tests__/EventService.test.ts +26 -21
  390. package/src/types/file-reference.ts +13 -10
  391. package/src/utils/app/appNameResolver.test.ts +346 -73
  392. package/src/utils/context/superAdminOverride.ts +58 -0
  393. package/src/utils/file-reference/index.ts +61 -33
  394. package/src/utils/google-places/googlePlacesUtils.test.ts +98 -0
  395. package/src/utils/google-places/loadGoogleMapsScript.test.ts +83 -0
  396. package/src/utils/storage/helpers.test.ts +1 -1
  397. package/src/utils/storage/helpers.ts +38 -19
  398. package/src/utils/storage/types.ts +15 -8
  399. package/src/utils/validation/__tests__/csrf.test.ts +105 -0
  400. package/src/utils/validation/__tests__/sqlInjectionProtection.test.ts +92 -0
  401. package/src/vite-env.d.ts +2 -2
  402. package/dist/chunk-3GOZZZYH.js.map +0 -1
  403. package/dist/chunk-DDM4CCYT.js.map +0 -1
  404. package/dist/chunk-E7UAOUMY.js +0 -75
  405. package/dist/chunk-E7UAOUMY.js.map +0 -1
  406. package/dist/chunk-EFCLXK7F.js.map +0 -1
  407. package/dist/chunk-F2IMUDXZ.js.map +0 -1
  408. package/dist/chunk-HEHYGYOX.js.map +0 -1
  409. package/dist/chunk-IM4QE42D.js.map +0 -1
  410. package/dist/chunk-IPCH26AG.js.map +0 -1
  411. package/dist/chunk-SAUPYVLF.js.map +0 -1
  412. package/dist/chunk-THRPYOFK.js.map +0 -1
  413. package/dist/chunk-UNOTYLQF.js.map +0 -1
  414. package/dist/chunk-VGZZXKBR.js.map +0 -1
  415. package/dist/chunk-YHCN776L.js.map +0 -1
  416. package/src/hooks/__tests__/usePermissionCache.simple.test.ts +0 -192
  417. package/src/hooks/__tests__/usePermissionCache.unit.test.ts +0 -741
  418. package/src/hooks/__tests__/usePublicEvent.simple.test.ts +0 -703
  419. package/src/rbac/hooks/useRBAC.simple.test.ts +0 -95
  420. package/src/rbac/utils/__tests__/eventContext.unit.test.ts +0 -428
  421. /package/dist/{DataTable-GUFUNZ3N.js.map → DataTable-ON3IXISJ.js.map} +0 -0
  422. /package/dist/{UnifiedAuthProvider-643PUAIM.js.map → UnifiedAuthProvider-X5NXANVI.js.map} +0 -0
  423. /package/dist/{api-YP7XD5L6.js.map → api-I6UCQ5S6.js.map} +0 -0
  424. /package/dist/{chunk-HESYZWZW.js.map → chunk-QWWZ5CAQ.js.map} +0 -0
@@ -1,6 +1,6 @@
1
- [@jmruthers/pace-core - v0.5.188](README.md) / Exports
1
+ [@jmruthers/pace-core - v0.5.190](README.md) / Exports
2
2
 
3
- # @jmruthers/pace-core - v0.5.188
3
+ # @jmruthers/pace-core - v0.5.190
4
4
 
5
5
  **`File`**
6
6
 
@@ -57,6 +57,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
57
57
 
58
58
  - [AddressFieldProps](interfaces/AddressFieldProps.md)
59
59
  - [AddressFieldRef](interfaces/AddressFieldRef.md)
60
+ - [AvatarProps](interfaces/AvatarProps.md)
60
61
  - [BadgeProps](interfaces/BadgeProps.md)
61
62
  - [ButtonProps](interfaces/ButtonProps.md)
62
63
  - [CalendarProps](interfaces/CalendarProps.md)
@@ -247,8 +248,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
247
248
  - [AlertTitle](modules.md#alerttitle)
248
249
  - [AlertDescription](modules.md#alertdescription)
249
250
  - [Avatar](modules.md#avatar)
250
- - [AvatarImage](modules.md#avatarimage)
251
- - [AvatarFallback](modules.md#avatarfallback)
252
251
  - [Badge](modules.md#badge)
253
252
  - [Button](modules.md#button)
254
253
  - [Calendar](modules.md#calendar)
@@ -444,6 +443,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
444
443
  - [useResourcePermissions](modules.md#useresourcepermissions)
445
444
  - [useRoleManagement](modules.md#userolemanagement)
446
445
  - [useSecureSupabase](modules.md#usesecuresupabase)
446
+ - [useSuperAdminBypass](modules.md#usesuperadminbypass)
447
447
  - [enablePerformanceMonitoring](modules.md#enableperformancemonitoring)
448
448
  - [disablePerformanceMonitoring](modules.md#disableperformancemonitoring)
449
449
  - [isPerformanceMonitoringEnabled](modules.md#isperformancemonitoringenabled)
@@ -587,7 +587,7 @@ ___
587
587
 
588
588
  #### Defined in
589
589
 
590
- [packages/core/src/hooks/useFileReference.ts:430](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L430)
590
+ [packages/core/src/hooks/useFileReference.ts:475](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L475)
591
591
 
592
592
  ___
593
593
 
@@ -613,7 +613,7 @@ ___
613
613
 
614
614
  #### Defined in
615
615
 
616
- [packages/core/src/hooks/useFileReference.ts:436](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L436)
616
+ [packages/core/src/hooks/useFileReference.ts:481](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L481)
617
617
 
618
618
  ___
619
619
 
@@ -641,7 +641,7 @@ ___
641
641
 
642
642
  #### Defined in
643
643
 
644
- [packages/core/src/hooks/useFileReference.ts:450](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L450)
644
+ [packages/core/src/hooks/useFileReference.ts:495](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L495)
645
645
 
646
646
  ___
647
647
 
@@ -1275,7 +1275,7 @@ JSX.Element - The rendered address field
1275
1275
 
1276
1276
  #### Defined in
1277
1277
 
1278
- [packages/core/src/components/AddressField/AddressField.tsx:49](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/AddressField/AddressField.tsx#L49)
1278
+ [packages/core/src/components/AddressField/AddressField.tsx:56](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/AddressField/AddressField.tsx#L56)
1279
1279
 
1280
1280
  ___
1281
1281
 
@@ -1287,7 +1287,7 @@ ___
1287
1287
 
1288
1288
  | Name | Type |
1289
1289
  | :------ | :------ |
1290
- | `props` | `HTMLAttributes`\<`HTMLDivElement`\> & \{ `variant?`: ``"default"`` \| ``"inline"`` \| ``"destructive"`` } & `RefAttributes`\<`HTMLDivElement`\> |
1290
+ | `props` | `HTMLAttributes`\<`HTMLElement`\> & \{ `variant?`: ``"default"`` \| ``"inline"`` \| ``"destructive"`` } & `RefAttributes`\<`HTMLElement`\> |
1291
1291
 
1292
1292
  #### Returns
1293
1293
 
@@ -1295,7 +1295,7 @@ ___
1295
1295
 
1296
1296
  #### Defined in
1297
1297
 
1298
- [packages/core/src/components/Alert/Alert.tsx:67](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Alert/Alert.tsx#L67)
1298
+ [packages/core/src/components/Alert/Alert.tsx:69](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Alert/Alert.tsx#L69)
1299
1299
 
1300
1300
  ___
1301
1301
 
@@ -1315,7 +1315,7 @@ ___
1315
1315
 
1316
1316
  #### Defined in
1317
1317
 
1318
- [packages/core/src/components/Alert/Alert.tsx:94](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Alert/Alert.tsx#L94)
1318
+ [packages/core/src/components/Alert/Alert.tsx:96](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Alert/Alert.tsx#L96)
1319
1319
 
1320
1320
  ___
1321
1321
 
@@ -1335,7 +1335,7 @@ ___
1335
1335
 
1336
1336
  #### Defined in
1337
1337
 
1338
- [packages/core/src/components/Alert/Alert.tsx:114](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Alert/Alert.tsx#L114)
1338
+ [packages/core/src/components/Alert/Alert.tsx:116](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Alert/Alert.tsx#L116)
1339
1339
 
1340
1340
  ___
1341
1341
 
@@ -1343,51 +1343,13 @@ ___
1343
1343
 
1344
1344
  ▸ **Avatar**(`props`): `ReactNode`
1345
1345
 
1346
- #### Parameters
1347
-
1348
- | Name | Type |
1349
- | :------ | :------ |
1350
- | `props` | `Omit`\<`AvatarProps` & `RefAttributes`\<`HTMLSpanElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLSpanElement`\> |
1351
-
1352
- #### Returns
1353
-
1354
- `ReactNode`
1355
-
1356
- #### Defined in
1357
-
1358
- [packages/core/src/components/Avatar/Avatar.tsx:42](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Avatar/Avatar.tsx#L42)
1359
-
1360
- ___
1361
-
1362
- ### AvatarImage
1363
-
1364
- ▸ **AvatarImage**(`props`): `ReactNode`
1365
-
1366
- #### Parameters
1367
-
1368
- | Name | Type |
1369
- | :------ | :------ |
1370
- | `props` | `Omit`\<`AvatarImageProps` & `RefAttributes`\<`HTMLImageElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLImageElement`\> |
1371
-
1372
- #### Returns
1373
-
1374
- `ReactNode`
1375
-
1376
- #### Defined in
1377
-
1378
- [packages/core/src/components/Avatar/Avatar.tsx:57](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Avatar/Avatar.tsx#L57)
1379
-
1380
- ___
1381
-
1382
- ### AvatarFallback
1383
-
1384
- ▸ **AvatarFallback**(`props`): `ReactNode`
1346
+ Avatar component for displaying user profile images or initials
1385
1347
 
1386
1348
  #### Parameters
1387
1349
 
1388
1350
  | Name | Type |
1389
1351
  | :------ | :------ |
1390
- | `props` | `Omit`\<`AvatarFallbackProps` & `RefAttributes`\<`HTMLSpanElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLSpanElement`\> |
1352
+ | `props` | [`AvatarProps`](interfaces/AvatarProps.md) & `RefAttributes`\<`HTMLDivElement`\> |
1391
1353
 
1392
1354
  #### Returns
1393
1355
 
@@ -1395,7 +1357,7 @@ ___
1395
1357
 
1396
1358
  #### Defined in
1397
1359
 
1398
- [packages/core/src/components/Avatar/Avatar.tsx:69](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Avatar/Avatar.tsx#L69)
1360
+ [packages/core/src/components/Avatar/Avatar.tsx:99](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Avatar/Avatar.tsx#L99)
1399
1361
 
1400
1362
  ___
1401
1363
 
@@ -1488,11 +1450,20 @@ Calendar component
1488
1450
  A flexible, accessible calendar component for date selection.
1489
1451
  Built on react-day-picker with pace-core styling.
1490
1452
 
1453
+ Defaults to Australian locale (en-AU) with Monday as the first day of the week.
1454
+ The locale can be overridden by passing a `locale` prop.
1455
+
1456
+ Month navigation is automatically managed internally when `month` and `onMonthChange` props
1457
+ are not provided. The displayed month will sync with the selected date when available,
1458
+ or default to the current month. Navigation buttons (prev/next) work automatically.
1459
+
1460
+ For controlled month state, pass `month` and `onMonthChange` props.
1461
+
1491
1462
  #### Parameters
1492
1463
 
1493
1464
  | Name | Type | Description |
1494
1465
  | :------ | :------ | :------ |
1495
- | `props` | [`CalendarProps`](interfaces/CalendarProps.md) & `RefAttributes`\<`HTMLDivElement`\> | Calendar configuration and styling |
1466
+ | `props` | [`CalendarProps`](interfaces/CalendarProps.md) & `RefAttributes`\<`HTMLTableElement`\> | Calendar configuration and styling |
1496
1467
 
1497
1468
  #### Returns
1498
1469
 
@@ -1503,7 +1474,7 @@ JSX.Element - The rendered calendar element
1503
1474
  **`Example`**
1504
1475
 
1505
1476
  ```tsx
1506
- // Single date selection
1477
+ // Single date selection (uses default Australian locale)
1507
1478
  <Calendar
1508
1479
  mode="single"
1509
1480
  selected={date}
@@ -1517,11 +1488,30 @@ JSX.Element - The rendered calendar element
1517
1488
  onSelect={setDate}
1518
1489
  disabled={(date) => date < new Date()}
1519
1490
  />
1491
+
1492
+ // Override locale (e.g., US locale with Sunday as first day)
1493
+ import { enUS } from 'date-fns/locale';
1494
+ <Calendar
1495
+ mode="single"
1496
+ selected={date}
1497
+ onSelect={setDate}
1498
+ locale={enUS}
1499
+ />
1500
+
1501
+ // Controlled month state (optional - month is auto-managed if not provided)
1502
+ const [month, setMonth] = useState(new Date());
1503
+ <Calendar
1504
+ mode="single"
1505
+ selected={date}
1506
+ onSelect={setDate}
1507
+ month={month}
1508
+ onMonthChange={setMonth}
1509
+ />
1520
1510
  ```
1521
1511
 
1522
1512
  #### Defined in
1523
1513
 
1524
- [packages/core/src/components/Calendar/Calendar.tsx:111](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Calendar/Calendar.tsx#L111)
1514
+ [packages/core/src/components/Calendar/Calendar.tsx:188](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Calendar/Calendar.tsx#L188)
1525
1515
 
1526
1516
  ___
1527
1517
 
@@ -1601,7 +1591,7 @@ ___
1601
1591
 
1602
1592
  #### Defined in
1603
1593
 
1604
- [packages/core/src/components/Card/Card.tsx:215](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L215)
1594
+ [packages/core/src/components/Card/Card.tsx:212](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L212)
1605
1595
 
1606
1596
  ___
1607
1597
 
@@ -1621,7 +1611,7 @@ ___
1621
1611
 
1622
1612
  #### Defined in
1623
1613
 
1624
- [packages/core/src/components/Card/Card.tsx:227](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L227)
1614
+ [packages/core/src/components/Card/Card.tsx:224](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L224)
1625
1615
 
1626
1616
  ___
1627
1617
 
@@ -1641,7 +1631,7 @@ ___
1641
1631
 
1642
1632
  #### Defined in
1643
1633
 
1644
- [packages/core/src/components/Card/Card.tsx:239](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L239)
1634
+ [packages/core/src/components/Card/Card.tsx:236](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L236)
1645
1635
 
1646
1636
  ___
1647
1637
 
@@ -1661,7 +1651,7 @@ ___
1661
1651
 
1662
1652
  #### Defined in
1663
1653
 
1664
- [packages/core/src/components/Card/Card.tsx:251](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L251)
1654
+ [packages/core/src/components/Card/Card.tsx:248](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Card/Card.tsx#L248)
1665
1655
 
1666
1656
  ___
1667
1657
 
@@ -2503,7 +2493,7 @@ React element with file display
2503
2493
 
2504
2494
  #### Defined in
2505
2495
 
2506
- [packages/core/src/components/FileDisplay/FileDisplay.tsx:797](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileDisplay/FileDisplay.tsx#L797)
2496
+ [packages/core/src/components/FileDisplay/FileDisplay.tsx:900](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileDisplay/FileDisplay.tsx#L900)
2507
2497
 
2508
2498
  ___
2509
2499
 
@@ -2523,7 +2513,7 @@ ___
2523
2513
 
2524
2514
  #### Defined in
2525
2515
 
2526
- [packages/core/src/components/FileUpload/FileUpload.tsx:49](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileUpload/FileUpload.tsx#L49)
2516
+ [packages/core/src/components/FileUpload/FileUpload.tsx:50](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileUpload/FileUpload.tsx#L50)
2527
2517
 
2528
2518
  ___
2529
2519
 
@@ -2804,7 +2794,7 @@ function MinimalHeader() {
2804
2794
 
2805
2795
  #### Defined in
2806
2796
 
2807
- [packages/core/src/components/Header/Header.tsx:240](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Header/Header.tsx#L240)
2797
+ [packages/core/src/components/Header/Header.tsx:241](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Header/Header.tsx#L241)
2808
2798
 
2809
2799
  ___
2810
2800
 
@@ -3461,13 +3451,13 @@ ___
3461
3451
  ▸ **Progress**(`props`): `ReactNode`
3462
3452
 
3463
3453
  Progress component
3464
- An accessible progress bar with smooth animations
3454
+ An accessible progress bar with smooth animations using native HTML `<progress>` element
3465
3455
 
3466
3456
  #### Parameters
3467
3457
 
3468
3458
  | Name | Type | Description |
3469
3459
  | :------ | :------ | :------ |
3470
- | `props` | [`ProgressProps`](interfaces/ProgressProps.md) & `RefAttributes`\<`HTMLDivElement`\> | Progress configuration and styling |
3460
+ | `props` | [`ProgressProps`](interfaces/ProgressProps.md) & `RefAttributes`\<`HTMLProgressElement`\> | Progress configuration and styling |
3471
3461
 
3472
3462
  #### Returns
3473
3463
 
@@ -3634,7 +3624,7 @@ Public page context with environment variables
3634
3624
 
3635
3625
  #### Defined in
3636
3626
 
3637
- [packages/core/src/components/PublicLayout/PublicPageProvider.tsx:131](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/PublicPageProvider.tsx#L131)
3627
+ [packages/core/src/components/PublicLayout/PublicPageProvider.tsx:133](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/PublicPageProvider.tsx#L133)
3638
3628
 
3639
3629
  ___
3640
3630
 
@@ -3652,7 +3642,7 @@ True if we're in a public page context
3652
3642
 
3653
3643
  #### Defined in
3654
3644
 
3655
- [packages/core/src/components/PublicLayout/PublicPageProvider.tsx:146](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/PublicPageProvider.tsx#L146)
3645
+ [packages/core/src/components/PublicLayout/PublicPageProvider.tsx:148](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/PublicPageProvider.tsx#L148)
3656
3646
 
3657
3647
  ___
3658
3648
 
@@ -4797,7 +4787,7 @@ Useful for testing or when you need to force refresh all data
4797
4787
 
4798
4788
  #### Defined in
4799
4789
 
4800
- [packages/core/src/hooks/public/usePublicFileDisplay.ts:396](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicFileDisplay.ts#L396)
4790
+ [packages/core/src/hooks/public/usePublicFileDisplay.ts:482](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicFileDisplay.ts#L482)
4801
4791
 
4802
4792
  ___
4803
4793
 
@@ -4818,7 +4808,7 @@ Get cache statistics for debugging
4818
4808
 
4819
4809
  #### Defined in
4820
4810
 
4821
- [packages/core/src/hooks/public/usePublicFileDisplay.ts:407](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicFileDisplay.ts#L407)
4811
+ [packages/core/src/hooks/public/usePublicFileDisplay.ts:493](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicFileDisplay.ts#L493)
4822
4812
 
4823
4813
  ___
4824
4814
 
@@ -5133,7 +5123,7 @@ ___
5133
5123
 
5134
5124
  #### Defined in
5135
5125
 
5136
- [packages/core/src/hooks/useFileReference.ts:19](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L19)
5126
+ [packages/core/src/hooks/useFileReference.ts:62](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L62)
5137
5127
 
5138
5128
  ___
5139
5129
 
@@ -5172,7 +5162,7 @@ ___
5172
5162
 
5173
5163
  #### Defined in
5174
5164
 
5175
- [packages/core/src/hooks/useFileReference.ts:202](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L202)
5165
+ [packages/core/src/hooks/useFileReference.ts:245](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L245)
5176
5166
 
5177
5167
  ___
5178
5168
 
@@ -5205,7 +5195,7 @@ Hook for getting a file reference by ID
5205
5195
 
5206
5196
  #### Defined in
5207
5197
 
5208
- [packages/core/src/hooks/useFileReference.ts:304](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L304)
5198
+ [packages/core/src/hooks/useFileReference.ts:349](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L349)
5209
5199
 
5210
5200
  ___
5211
5201
 
@@ -5249,7 +5239,7 @@ For more control, use useFileReference() directly and manage URLs yourself.
5249
5239
 
5250
5240
  #### Defined in
5251
5241
 
5252
- [packages/core/src/hooks/useFileReference.ts:377](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L377)
5242
+ [packages/core/src/hooks/useFileReference.ts:422](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useFileReference.ts#L422)
5253
5243
 
5254
5244
  ___
5255
5245
 
@@ -5579,7 +5569,7 @@ ___
5579
5569
 
5580
5570
  #### Defined in
5581
5571
 
5582
- [packages/core/src/providers/services/UnifiedAuthProvider.tsx:119](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/services/UnifiedAuthProvider.tsx#L119)
5572
+ [packages/core/src/providers/services/UnifiedAuthProvider.tsx:120](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/services/UnifiedAuthProvider.tsx#L120)
5583
5573
 
5584
5574
  ___
5585
5575
 
@@ -5599,7 +5589,7 @@ ___
5599
5589
 
5600
5590
  #### Defined in
5601
5591
 
5602
- [packages/core/src/providers/services/UnifiedAuthProvider.tsx:590](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/services/UnifiedAuthProvider.tsx#L590)
5592
+ [packages/core/src/providers/services/UnifiedAuthProvider.tsx:675](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/services/UnifiedAuthProvider.tsx#L675)
5603
5593
 
5604
5594
  ___
5605
5595
 
@@ -6106,13 +6096,13 @@ Setup RBAC system
6106
6096
 
6107
6097
  #### Defined in
6108
6098
 
6109
- [packages/core/src/rbac/api.ts:44](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L44)
6099
+ [packages/core/src/rbac/api.ts:46](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L46)
6110
6100
 
6111
6101
  ___
6112
6102
 
6113
6103
  ### getAccessLevel
6114
6104
 
6115
- ▸ **getAccessLevel**(`input`): `Promise`\<[`AccessLevel`](modules.md#accesslevel)\>
6105
+ ▸ **getAccessLevel**(`input`, `appConfig?`, `appName?`): `Promise`\<[`AccessLevel`](modules.md#accesslevel)\>
6116
6106
 
6117
6107
  Get user's access level in a scope
6118
6108
 
@@ -6123,6 +6113,8 @@ Get user's access level in a scope
6123
6113
  | `input` | `Object` | Access level input |
6124
6114
  | `input.userId` | `string` | - |
6125
6115
  | `input.scope` | [`Scope`](modules.md#scope) | - |
6116
+ | `appConfig?` | ``null`` \| `AppConfig` | Optional app configuration |
6117
+ | `appName?` | `string` | Optional app name |
6126
6118
 
6127
6119
  #### Returns
6128
6120
 
@@ -6141,13 +6133,13 @@ const accessLevel = await getAccessLevel({
6141
6133
 
6142
6134
  #### Defined in
6143
6135
 
6144
- [packages/core/src/rbac/api.ts:121](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L121)
6136
+ [packages/core/src/rbac/api.ts:125](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L125)
6145
6137
 
6146
6138
  ___
6147
6139
 
6148
6140
  ### getPermissionMap
6149
6141
 
6150
- ▸ **getPermissionMap**(`input`): `Promise`\<[`PermissionMap`](modules.md#permissionmap)\>
6142
+ ▸ **getPermissionMap**(`input`, `appConfig?`, `appName?`): `Promise`\<[`PermissionMap`](modules.md#permissionmap)\>
6151
6143
 
6152
6144
  Get user's permission map for a scope
6153
6145
 
@@ -6158,6 +6150,8 @@ Get user's permission map for a scope
6158
6150
  | `input` | `Object` | Permission map input |
6159
6151
  | `input.userId` | `string` | - |
6160
6152
  | `input.scope` | [`Scope`](modules.md#scope) | - |
6153
+ | `appConfig?` | ``null`` \| `AppConfig` | Optional app configuration |
6154
+ | `appName?` | `string` | Optional app name |
6161
6155
 
6162
6156
  #### Returns
6163
6157
 
@@ -6180,7 +6174,7 @@ const permissions = await getPermissionMap({
6180
6174
 
6181
6175
  #### Defined in
6182
6176
 
6183
- [packages/core/src/rbac/api.ts:147](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L147)
6177
+ [packages/core/src/rbac/api.ts:188](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L188)
6184
6178
 
6185
6179
  ___
6186
6180
 
@@ -6202,13 +6196,13 @@ ___
6202
6196
 
6203
6197
  #### Defined in
6204
6198
 
6205
- [packages/core/src/rbac/api.ts:155](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L155)
6199
+ [packages/core/src/rbac/api.ts:225](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L225)
6206
6200
 
6207
6201
  ___
6208
6202
 
6209
6203
  ### getRoleContext
6210
6204
 
6211
- ▸ **getRoleContext**(`input`): `Promise`\<`RBACRoleContext`\>
6205
+ ▸ **getRoleContext**(`input`, `appConfig?`, `appName?`): `Promise`\<`RBACRoleContext`\>
6212
6206
 
6213
6207
  #### Parameters
6214
6208
 
@@ -6217,6 +6211,8 @@ ___
6217
6211
  | `input` | `Object` |
6218
6212
  | `input.userId` | `string` |
6219
6213
  | `input.scope` | [`Scope`](modules.md#scope) |
6214
+ | `appConfig?` | ``null`` \| `AppConfig` |
6215
+ | `appName?` | `string` |
6220
6216
 
6221
6217
  #### Returns
6222
6218
 
@@ -6224,13 +6220,13 @@ ___
6224
6220
 
6225
6221
  #### Defined in
6226
6222
 
6227
- [packages/core/src/rbac/api.ts:163](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L163)
6223
+ [packages/core/src/rbac/api.ts:233](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L233)
6228
6224
 
6229
6225
  ___
6230
6226
 
6231
6227
  ### isPermitted
6232
6228
 
6233
- ▸ **isPermitted**(`input`): `Promise`\<`boolean`\>
6229
+ ▸ **isPermitted**(`input`, `appConfig?`, `appName?`): `Promise`\<`boolean`\>
6234
6230
 
6235
6231
  Check if user has a specific permission
6236
6232
 
@@ -6239,6 +6235,8 @@ Check if user has a specific permission
6239
6235
  | Name | Type | Description |
6240
6236
  | :------ | :------ | :------ |
6241
6237
  | `input` | [`PermissionCheck`](modules.md#permissioncheck) | Permission check input |
6238
+ | `appConfig?` | ``null`` \| `AppConfig` | Optional app configuration (if not provided, will be fetched) |
6239
+ | `appName?` | `string` | Optional app name (for PORTAL/ADMIN special case and config lookup) |
6242
6240
 
6243
6241
  #### Returns
6244
6242
 
@@ -6259,13 +6257,13 @@ const canManage = await isPermitted({
6259
6257
 
6260
6258
  #### Defined in
6261
6259
 
6262
- [packages/core/src/rbac/api.ts:187](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L187)
6260
+ [packages/core/src/rbac/api.ts:288](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L288)
6263
6261
 
6264
6262
  ___
6265
6263
 
6266
6264
  ### isPermittedCached
6267
6265
 
6268
- ▸ **isPermittedCached**(`input`): `Promise`\<`boolean`\>
6266
+ ▸ **isPermittedCached**(`input`, `appConfig?`, `appName?`): `Promise`\<`boolean`\>
6269
6267
 
6270
6268
  Check if user has a specific permission (cached version)
6271
6269
 
@@ -6277,6 +6275,8 @@ and checks cache before making new requests. Uses session cache for page-level c
6277
6275
  | Name | Type | Description |
6278
6276
  | :------ | :------ | :------ |
6279
6277
  | `input` | [`PermissionCheck`](modules.md#permissioncheck) | Permission check input |
6278
+ | `appConfig?` | ``null`` \| `AppConfig` | Optional app configuration |
6279
+ | `appName?` | `string` | Optional app name |
6280
6280
 
6281
6281
  #### Returns
6282
6282
 
@@ -6286,7 +6286,7 @@ Promise resolving to permission result
6286
6286
 
6287
6287
  #### Defined in
6288
6288
 
6289
- [packages/core/src/rbac/api.ts:216](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L216)
6289
+ [packages/core/src/rbac/api.ts:363](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L363)
6290
6290
 
6291
6291
  ___
6292
6292
 
@@ -6310,7 +6310,7 @@ Promise<boolean> - True if user has permission
6310
6310
 
6311
6311
  #### Defined in
6312
6312
 
6313
- [packages/core/src/rbac/api.ts:255](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L255)
6313
+ [packages/core/src/rbac/api.ts:406](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L406)
6314
6314
 
6315
6315
  ___
6316
6316
 
@@ -6338,7 +6338,7 @@ Promise resolving to true if user has any permission
6338
6338
 
6339
6339
  #### Defined in
6340
6340
 
6341
- [packages/core/src/rbac/api.ts:265](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L265)
6341
+ [packages/core/src/rbac/api.ts:416](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L416)
6342
6342
 
6343
6343
  ___
6344
6344
 
@@ -6366,7 +6366,7 @@ Promise resolving to true if user has all permissions
6366
6366
 
6367
6367
  #### Defined in
6368
6368
 
6369
- [packages/core/src/rbac/api.ts:293](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L293)
6369
+ [packages/core/src/rbac/api.ts:444](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L444)
6370
6370
 
6371
6371
  ___
6372
6372
 
@@ -6752,7 +6752,7 @@ React element with navigation permission context
6752
6752
 
6753
6753
  #### Defined in
6754
6754
 
6755
- [packages/core/src/rbac/components/NavigationProvider.tsx:167](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L167)
6755
+ [packages/core/src/rbac/components/NavigationProvider.tsx:168](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L168)
6756
6756
 
6757
6757
  ___
6758
6758
 
@@ -6774,7 +6774,7 @@ Error if used outside of NavigationProvider
6774
6774
 
6775
6775
  #### Defined in
6776
6776
 
6777
- [packages/core/src/rbac/components/NavigationProvider.tsx:331](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L331)
6777
+ [packages/core/src/rbac/components/NavigationProvider.tsx:333](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L333)
6778
6778
 
6779
6779
  ___
6780
6780
 
@@ -6794,7 +6794,7 @@ ___
6794
6794
 
6795
6795
  #### Defined in
6796
6796
 
6797
- [packages/core/src/rbac/components/PagePermissionGuard.tsx:499](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionGuard.tsx#L499)
6797
+ [packages/core/src/rbac/components/PagePermissionGuard.tsx:373](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionGuard.tsx#L373)
6798
6798
 
6799
6799
  ___
6800
6800
 
@@ -6821,7 +6821,7 @@ React element with page permission context
6821
6821
 
6822
6822
  #### Defined in
6823
6823
 
6824
- [packages/core/src/rbac/components/PagePermissionProvider.tsx:128](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L128)
6824
+ [packages/core/src/rbac/components/PagePermissionProvider.tsx:129](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L129)
6825
6825
 
6826
6826
  ___
6827
6827
 
@@ -6843,7 +6843,7 @@ Error if used outside of PagePermissionProvider
6843
6843
 
6844
6844
  #### Defined in
6845
6845
 
6846
- [packages/core/src/rbac/components/PagePermissionProvider.tsx:267](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L267)
6846
+ [packages/core/src/rbac/components/PagePermissionProvider.tsx:269](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L269)
6847
6847
 
6848
6848
  ___
6849
6849
 
@@ -6898,7 +6898,7 @@ React element with role-based routing
6898
6898
 
6899
6899
  #### Defined in
6900
6900
 
6901
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:182](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L182)
6901
+ [packages/core/src/rbac/components/RoleBasedRouter.tsx:183](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L183)
6902
6902
 
6903
6903
  ___
6904
6904
 
@@ -6920,7 +6920,7 @@ Error if used outside of RoleBasedRouter
6920
6920
 
6921
6921
  #### Defined in
6922
6922
 
6923
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:397](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L397)
6923
+ [packages/core/src/rbac/components/RoleBasedRouter.tsx:399](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L399)
6924
6924
 
6925
6925
  ___
6926
6926
 
@@ -6947,7 +6947,7 @@ React element with secure data context
6947
6947
 
6948
6948
  #### Defined in
6949
6949
 
6950
- [packages/core/src/rbac/components/SecureDataProvider.tsx:136](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L136)
6950
+ [packages/core/src/rbac/components/SecureDataProvider.tsx:137](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L137)
6951
6951
 
6952
6952
  ___
6953
6953
 
@@ -6969,7 +6969,7 @@ Error if used outside of SecureDataProvider
6969
6969
 
6970
6970
  #### Defined in
6971
6971
 
6972
- [packages/core/src/rbac/components/SecureDataProvider.tsx:313](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L313)
6972
+ [packages/core/src/rbac/components/SecureDataProvider.tsx:315](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L315)
6973
6973
 
6974
6974
  ___
6975
6975
 
@@ -7070,7 +7070,7 @@ RBACEngine instance
7070
7070
 
7071
7071
  #### Defined in
7072
7072
 
7073
- [packages/core/src/rbac/engine.ts:602](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/engine.ts#L602)
7073
+ [packages/core/src/rbac/engine.ts:604](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/engine.ts#L604)
7074
7074
 
7075
7075
  ___
7076
7076
 
@@ -7130,13 +7130,13 @@ function MyComponent() {
7130
7130
 
7131
7131
  #### Defined in
7132
7132
 
7133
- [packages/core/src/rbac/hooks/usePermissions.ts:58](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L58)
7133
+ [packages/core/src/rbac/hooks/usePermissions.ts:60](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L60)
7134
7134
 
7135
7135
  ___
7136
7136
 
7137
7137
  ### useCan
7138
7138
 
7139
- ▸ **useCan**(`userId`, `scope`, `permission`, `pageId?`, `useCache?`): `Object`
7139
+ ▸ **useCan**(`userId`, `scope`, `permission`, `pageId?`, `useCache?`, `appName?`): `Object`
7140
7140
 
7141
7141
  Hook to check if user can perform an action
7142
7142
 
@@ -7149,6 +7149,7 @@ Hook to check if user can perform an action
7149
7149
  | `permission` | \`create:$\{string}\` \| \`update:$\{string}\` \| \`read:$\{string}\` \| \`delete:$\{string}\` | `undefined` | Permission to check |
7150
7150
  | `pageId?` | `string` | `undefined` | Optional page ID |
7151
7151
  | `useCache` | `boolean` | `true` | Whether to use cached results |
7152
+ | `appName?` | `string` | `undefined` | Optional app name (for PORTAL/ADMIN special case) |
7152
7153
 
7153
7154
  #### Returns
7154
7155
 
@@ -7178,7 +7179,7 @@ function MyComponent() {
7178
7179
 
7179
7180
  #### Defined in
7180
7181
 
7181
- [packages/core/src/rbac/hooks/usePermissions.ts:300](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L300)
7182
+ [packages/core/src/rbac/hooks/usePermissions.ts:305](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L305)
7182
7183
 
7183
7184
  ___
7184
7185
 
@@ -7228,7 +7229,7 @@ function MyComponent() {
7228
7229
 
7229
7230
  #### Defined in
7230
7231
 
7231
- [packages/core/src/rbac/hooks/usePermissions.ts:511](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L511)
7232
+ [packages/core/src/rbac/hooks/usePermissions.ts:547](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L547)
7232
7233
 
7233
7234
  ___
7234
7235
 
@@ -7285,7 +7286,7 @@ function MyComponent() {
7285
7286
 
7286
7287
  #### Defined in
7287
7288
 
7288
- [packages/core/src/rbac/hooks/usePermissions.ts:586](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L586)
7289
+ [packages/core/src/rbac/hooks/usePermissions.ts:653](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L653)
7289
7290
 
7290
7291
  ___
7291
7292
 
@@ -7336,7 +7337,7 @@ function MyComponent() {
7336
7337
 
7337
7338
  #### Defined in
7338
7339
 
7339
- [packages/core/src/rbac/hooks/usePermissions.ts:669](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L669)
7340
+ [packages/core/src/rbac/hooks/usePermissions.ts:736](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L736)
7340
7341
 
7341
7342
  ___
7342
7343
 
@@ -7387,7 +7388,7 @@ function MyComponent() {
7387
7388
 
7388
7389
  #### Defined in
7389
7390
 
7390
- [packages/core/src/rbac/hooks/usePermissions.ts:755](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L755)
7391
+ [packages/core/src/rbac/hooks/usePermissions.ts:822](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L822)
7391
7392
 
7392
7393
  ___
7393
7394
 
@@ -7438,7 +7439,7 @@ function MyComponent() {
7438
7439
 
7439
7440
  #### Defined in
7440
7441
 
7441
- [packages/core/src/rbac/hooks/usePermissions.ts:840](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L840)
7442
+ [packages/core/src/rbac/hooks/usePermissions.ts:907](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/usePermissions.ts#L907)
7442
7443
 
7443
7444
  ___
7444
7445
 
@@ -7458,7 +7459,7 @@ ___
7458
7459
 
7459
7460
  #### Defined in
7460
7461
 
7461
- [packages/core/src/rbac/hooks/useRBAC.ts:51](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRBAC.ts#L51)
7462
+ [packages/core/src/rbac/hooks/useRBAC.ts:52](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRBAC.ts#L52)
7462
7463
 
7463
7464
  ___
7464
7465
 
@@ -7501,7 +7502,7 @@ const permission = useCan(userId, resolvedScope, permission);
7501
7502
 
7502
7503
  #### Defined in
7503
7504
 
7504
- [packages/core/src/rbac/hooks/useResolvedScope.ts:64](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResolvedScope.ts#L64)
7505
+ [packages/core/src/rbac/hooks/useResolvedScope.ts:75](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResolvedScope.ts#L75)
7505
7506
 
7506
7507
  ___
7507
7508
 
@@ -7648,7 +7649,21 @@ function MyComponent() {
7648
7649
 
7649
7650
  #### Defined in
7650
7651
 
7651
- [packages/core/src/rbac/hooks/useSecureSupabase.ts:205](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useSecureSupabase.ts#L205)
7652
+ [packages/core/src/rbac/hooks/useSecureSupabase.ts:208](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useSecureSupabase.ts#L208)
7653
+
7654
+ ___
7655
+
7656
+ ### useSuperAdminBypass
7657
+
7658
+ ▸ **useSuperAdminBypass**(): `SuperAdminBypassState`
7659
+
7660
+ #### Returns
7661
+
7662
+ `SuperAdminBypassState`
7663
+
7664
+ #### Defined in
7665
+
7666
+ [packages/core/src/rbac/hooks/useSuperAdminBypass.ts:38](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useSuperAdminBypass.ts#L38)
7652
7667
 
7653
7668
  ___
7654
7669
 
@@ -7893,19 +7908,20 @@ ___
7893
7908
 
7894
7909
  ### createSecureClient
7895
7910
 
7896
- ▸ **createSecureClient**(`supabaseUrl`, `supabaseKey`, `organisationId`, `eventId?`, `appId?`): [`SecureSupabaseClient`](classes/SecureSupabaseClient.md)
7911
+ ▸ **createSecureClient**(`supabaseUrl`, `supabaseKey`, `organisationId`, `eventId?`, `appId?`, `isSuperAdmin?`): [`SecureSupabaseClient`](classes/SecureSupabaseClient.md)
7897
7912
 
7898
7913
  Create a secure Supabase client with organisation context
7899
7914
 
7900
7915
  #### Parameters
7901
7916
 
7902
- | Name | Type | Description |
7903
- | :------ | :------ | :------ |
7904
- | `supabaseUrl` | `string` | Supabase project URL |
7905
- | `supabaseKey` | `string` | Supabase publishable key or anon key (accepts both legacy anon keys and modern publishable keys) |
7906
- | `organisationId` | `string` | Required organisation ID |
7907
- | `eventId?` | `string` | Optional event ID |
7908
- | `appId?` | `string` | Optional app ID |
7917
+ | Name | Type | Default value | Description |
7918
+ | :------ | :------ | :------ | :------ |
7919
+ | `supabaseUrl` | `string` | `undefined` | Supabase project URL |
7920
+ | `supabaseKey` | `string` | `undefined` | Supabase publishable key or anon key (accepts both legacy anon keys and modern publishable keys) |
7921
+ | `organisationId` | `string` | `undefined` | Required organisation ID |
7922
+ | `eventId?` | `string` | `undefined` | Optional event ID |
7923
+ | `appId?` | `string` | `undefined` | Optional app ID |
7924
+ | `isSuperAdmin` | `boolean` | `false` | Optional super admin flag (defaults to false) |
7909
7925
 
7910
7926
  #### Returns
7911
7927
 
@@ -7921,13 +7937,14 @@ const client = createSecureClient(
7921
7937
  'your-publishable-key-or-anon-key',
7922
7938
  'org-123',
7923
7939
  'event-456',
7924
- 'app-789'
7940
+ 'app-789',
7941
+ false // isSuperAdmin
7925
7942
  );
7926
7943
  ```
7927
7944
 
7928
7945
  #### Defined in
7929
7946
 
7930
- [packages/core/src/rbac/secureClient.ts:265](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/secureClient.ts#L265)
7947
+ [packages/core/src/rbac/secureClient.ts:324](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/secureClient.ts#L324)
7931
7948
 
7932
7949
  ___
7933
7950
 
@@ -7954,7 +7971,7 @@ SecureSupabaseClient instance
7954
7971
 
7955
7972
  #### Defined in
7956
7973
 
7957
- [packages/core/src/rbac/secureClient.ts:284](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/secureClient.ts#L284)
7974
+ [packages/core/src/rbac/secureClient.ts:344](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/secureClient.ts#L344)
7958
7975
 
7959
7976
  ___
7960
7977
 
@@ -8552,7 +8569,9 @@ ___
8552
8569
 
8553
8570
  ▸ **generateFilePath**(`options`, `fileName`): `string`
8554
8571
 
8555
- Generate a file path based on organization-first structure
8572
+ Generate a file path based on organization-first or user-first structure
8573
+ - If orgId is provided: {orgId}/{folder}/filename
8574
+ - If userId is provided (and orgId is not): users/{userId}/{folder}/filename
8556
8575
 
8557
8576
  #### Parameters
8558
8577
 
@@ -8567,7 +8586,7 @@ Generate a file path based on organization-first structure
8567
8586
 
8568
8587
  #### Defined in
8569
8588
 
8570
- [packages/core/src/utils/storage/helpers.ts:23](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L23)
8589
+ [packages/core/src/utils/storage/helpers.ts:25](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L25)
8571
8590
 
8572
8591
  ___
8573
8592
 
@@ -8590,7 +8609,7 @@ Sanitizes the original filename to remove spaces and invalid characters for stor
8590
8609
 
8591
8610
  #### Defined in
8592
8611
 
8593
- [packages/core/src/utils/storage/helpers.ts:54](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L54)
8612
+ [packages/core/src/utils/storage/helpers.ts:58](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L58)
8594
8613
 
8595
8614
  ___
8596
8615
 
@@ -8614,7 +8633,7 @@ Extract file metadata from a File object
8614
8633
 
8615
8634
  #### Defined in
8616
8635
 
8617
- [packages/core/src/utils/storage/helpers.ts:81](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L81)
8636
+ [packages/core/src/utils/storage/helpers.ts:85](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L85)
8618
8637
 
8619
8638
  ___
8620
8639
 
@@ -8638,7 +8657,7 @@ Upload a file to Supabase storage with app segregation
8638
8657
 
8639
8658
  #### Defined in
8640
8659
 
8641
- [packages/core/src/utils/storage/helpers.ts:219](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L219)
8660
+ [packages/core/src/utils/storage/helpers.ts:224](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L224)
8642
8661
 
8643
8662
  ___
8644
8663
 
@@ -8664,7 +8683,7 @@ Public URL for the file
8664
8683
 
8665
8684
  #### Defined in
8666
8685
 
8667
- [packages/core/src/utils/storage/helpers.ts:299](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L299)
8686
+ [packages/core/src/utils/storage/helpers.ts:304](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L304)
8668
8687
 
8669
8688
  ___
8670
8689
 
@@ -8691,7 +8710,7 @@ Signed URL with expiration timestamp, or null if failed
8691
8710
 
8692
8711
  #### Defined in
8693
8712
 
8694
- [packages/core/src/utils/storage/helpers.ts:395](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L395)
8713
+ [packages/core/src/utils/storage/helpers.ts:400](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L400)
8695
8714
 
8696
8715
  ___
8697
8716
 
@@ -8718,7 +8737,7 @@ Map of file ID to URL string (only includes successful URL generations)
8718
8737
 
8719
8738
  #### Defined in
8720
8739
 
8721
- [packages/core/src/utils/storage/helpers.ts:462](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L462)
8740
+ [packages/core/src/utils/storage/helpers.ts:467](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L467)
8722
8741
 
8723
8742
  ___
8724
8743
 
@@ -8744,7 +8763,7 @@ Success status and optional error message
8744
8763
 
8745
8764
  #### Defined in
8746
8765
 
8747
- [packages/core/src/utils/storage/helpers.ts:569](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L569)
8766
+ [packages/core/src/utils/storage/helpers.ts:574](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L574)
8748
8767
 
8749
8768
  ___
8750
8769
 
@@ -8769,7 +8788,7 @@ List of files with metadata
8769
8788
 
8770
8789
  #### Defined in
8771
8790
 
8772
- [packages/core/src/utils/storage/helpers.ts:603](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L603)
8791
+ [packages/core/src/utils/storage/helpers.ts:608](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L608)
8773
8792
 
8774
8793
  ___
8775
8794
 
@@ -8795,7 +8814,7 @@ File blob with metadata, or null if failed
8795
8814
 
8796
8815
  #### Defined in
8797
8816
 
8798
- [packages/core/src/utils/storage/helpers.ts:663](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L663)
8817
+ [packages/core/src/utils/storage/helpers.ts:675](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L675)
8799
8818
 
8800
8819
  ___
8801
8820
 
@@ -8813,7 +8832,8 @@ Move a file to archived location (soft delete)
8813
8832
  | `path` | `string` | File path within the bucket |
8814
8833
  | `options` | `Object` | Archive options including bucket selection via isPublic |
8815
8834
  | `options.appName` | `string` | - |
8816
- | `options.orgId` | `string` | - |
8835
+ | `options.orgId?` | `string` | - |
8836
+ | `options.userId?` | `string` | - |
8817
8837
  | `options.isPublic?` | `boolean` | - |
8818
8838
 
8819
8839
  #### Returns
@@ -8822,7 +8842,7 @@ Move a file to archived location (soft delete)
8822
8842
 
8823
8843
  #### Defined in
8824
8844
 
8825
- [packages/core/src/utils/storage/helpers.ts:716](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L716)
8845
+ [packages/core/src/utils/storage/helpers.ts:728](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L728)
8826
8846
 
8827
8847
  ___
8828
8848