@jmruthers/pace-core 0.5.181 → 0.5.183

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 (756) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +16 -2
  3. package/dist/{AuthService-DYuQPJj6.d.ts → AuthService-B-cd2MA4.d.ts} +9 -11
  4. package/dist/{DataTable-CWAZZcXC.d.ts → DataTable-Bz8ffqyA.d.ts} +1 -1
  5. package/dist/{DataTable-UA6CL4JI.js → DataTable-QAB34V6K.js} +14 -15
  6. package/dist/UnifiedAuthProvider-7F6T4B6K.js +13 -0
  7. package/dist/{UnifiedAuthProvider-DJxGTftH.d.ts → UnifiedAuthProvider-F86d7dSi.d.ts} +5 -6
  8. package/dist/{api-45XYYO2A.js → api-ROMBCNKU.js} +5 -5
  9. package/dist/{audit-64X3VJXB.js → audit-WRS3KJKI.js} +4 -4
  10. package/dist/auth-BZOJqrdd.d.ts +49 -0
  11. package/dist/{chunk-CX5M4ZAG.js → chunk-5DRSZLL2.js} +1 -1
  12. package/dist/chunk-5DRSZLL2.js.map +1 -0
  13. package/dist/{chunk-BESYRHQM.js → chunk-6C4YBBJM.js} +10 -7
  14. package/dist/chunk-6C4YBBJM.js.map +1 -0
  15. package/dist/{chunk-PLDDJCW6.js → chunk-7D4SUZUM.js} +2 -13
  16. package/dist/{chunk-HRO5HWN2.js → chunk-CSOFYHAG.js} +55 -162
  17. package/dist/chunk-CSOFYHAG.js.map +1 -0
  18. package/dist/{chunk-ANBQRTPX.js → chunk-E66EQZE6.js} +3 -5
  19. package/dist/{chunk-ANBQRTPX.js.map → chunk-E66EQZE6.js.map} +1 -1
  20. package/dist/{chunk-Q5QRDWKI.js → chunk-F2IMUDXZ.js} +4 -6
  21. package/dist/chunk-F2IMUDXZ.js.map +1 -0
  22. package/dist/{chunk-SBVILCCA.js → chunk-FSFQFJCU.js} +28 -6
  23. package/dist/chunk-FSFQFJCU.js.map +1 -0
  24. package/dist/chunk-FUEYYMX5.js +2296 -0
  25. package/dist/chunk-FUEYYMX5.js.map +1 -0
  26. package/dist/{chunk-FFKNH6U5.js → chunk-HKIT6O7W.js} +3 -5
  27. package/dist/{chunk-FFKNH6U5.js.map → chunk-HKIT6O7W.js.map} +1 -1
  28. package/dist/chunk-KQCRWDSA.js +1 -0
  29. package/dist/{chunk-S5OFRT4M.js → chunk-KUEN3HFB.js} +6 -6
  30. package/dist/chunk-KUEN3HFB.js.map +1 -0
  31. package/dist/chunk-LMC26NLJ.js +84 -0
  32. package/dist/chunk-LMC26NLJ.js.map +1 -0
  33. package/dist/{chunk-BVYWGZVV.js → chunk-M7W4CP3M.js} +52 -19
  34. package/dist/chunk-M7W4CP3M.js.map +1 -0
  35. package/dist/{chunk-HZLDFOE4.js → chunk-MI7HBHN3.js} +164 -243
  36. package/dist/chunk-MI7HBHN3.js.map +1 -0
  37. package/dist/{chunk-PPMP5J6T.js → chunk-PWAHJW4G.js} +180 -29
  38. package/dist/chunk-PWAHJW4G.js.map +1 -0
  39. package/dist/chunk-PWLANIRT.js +127 -0
  40. package/dist/{chunk-XDNLUEXI.js.map → chunk-PWLANIRT.js.map} +1 -1
  41. package/dist/chunk-QCDXODCA.js +75 -0
  42. package/dist/chunk-QCDXODCA.js.map +1 -0
  43. package/dist/{chunk-D7LCGMVS.js → chunk-QETLRQI6.js} +526 -887
  44. package/dist/chunk-QETLRQI6.js.map +1 -0
  45. package/dist/{chunk-5MT24GKJ.js → chunk-QUVSNGIP.js} +264 -262
  46. package/dist/chunk-QUVSNGIP.js.map +1 -0
  47. package/dist/chunk-QXHPKYJV.js +113 -0
  48. package/dist/chunk-QXHPKYJV.js.map +1 -0
  49. package/dist/{chunk-OWAG3GSU.js → chunk-R77UEZ4E.js} +11 -1
  50. package/dist/chunk-R77UEZ4E.js.map +1 -0
  51. package/dist/{chunk-ZYTYSTO5.js → chunk-RA3JUFMW.js} +314 -161
  52. package/dist/chunk-RA3JUFMW.js.map +1 -0
  53. package/dist/{chunk-ERISIBYU.js → chunk-SQGMNID3.js} +3 -8
  54. package/dist/chunk-SQGMNID3.js.map +1 -0
  55. package/dist/{chunk-XJ2HZOBU.js → chunk-UHNYIBXL.js} +1 -1
  56. package/dist/chunk-UHNYIBXL.js.map +1 -0
  57. package/{src/utils/secureStorage.ts → dist/chunk-VBXEHIUJ.js} +113 -88
  58. package/dist/{chunk-7QCC6MCP.js.map → chunk-VBXEHIUJ.js.map} +1 -1
  59. package/dist/{chunk-VZ4VDGTB.js → chunk-W22JP75J.js} +5 -13
  60. package/dist/{chunk-VZ4VDGTB.js.map → chunk-W22JP75J.js.map} +1 -1
  61. package/dist/components.d.ts +12 -93
  62. package/dist/components.js +23 -106
  63. package/dist/components.js.map +1 -1
  64. package/dist/core-CUElvH_C.d.ts +164 -0
  65. package/dist/database.generated-CBmg2950.d.ts +8284 -0
  66. package/dist/event-CW5YB_2p.d.ts +239 -0
  67. package/dist/{file-reference-C6Gkn77H.d.ts → file-reference-D06mEEWW.d.ts} +7 -5
  68. package/dist/functions-D_kgHktt.d.ts +208 -0
  69. package/dist/hooks.d.ts +54 -7
  70. package/dist/hooks.js +204 -17
  71. package/dist/hooks.js.map +1 -1
  72. package/dist/{EventLogo-B3V3otev.d.ts → index-Bl--n7-T.d.ts} +387 -397
  73. package/dist/index.d.ts +94 -261
  74. package/dist/index.js +314 -126
  75. package/dist/index.js.map +1 -1
  76. package/dist/providers.d.ts +7 -8
  77. package/dist/providers.js +6 -13
  78. package/dist/rbac/index.d.ts +171 -101
  79. package/dist/rbac/index.js +23 -17
  80. package/dist/styles/index.d.ts +1 -3
  81. package/dist/styles/index.js +2 -17
  82. package/dist/theming/runtime.js +3 -3
  83. package/dist/types-UU913iLA.d.ts +102 -0
  84. package/dist/{types-Dfz9dmVH.d.ts → types-_x1f4QBF.d.ts} +6 -6
  85. package/dist/types.d.ts +88 -227
  86. package/dist/types.js +64 -112
  87. package/dist/types.js.map +1 -1
  88. package/dist/{usePublicRouteParams-B7PabvuH.d.ts → usePublicRouteParams-JJczomYq.d.ts} +203 -6
  89. package/dist/utils.d.ts +299 -13
  90. package/dist/utils.js +481 -55
  91. package/dist/utils.js.map +1 -1
  92. package/dist/validation-643vUDZW.d.ts +177 -0
  93. package/docs/DOCUMENTATION_REVIEW_TRACKER.md +511 -0
  94. package/docs/README.md +9 -8
  95. package/docs/api/README.md +16 -2
  96. package/docs/api/classes/ColumnFactory.md +1 -1
  97. package/docs/api/classes/ErrorBoundary.md +1 -1
  98. package/docs/api/classes/InvalidScopeError.md +4 -4
  99. package/docs/api/classes/MissingUserContextError.md +4 -4
  100. package/docs/api/classes/OrganisationContextRequiredError.md +4 -4
  101. package/docs/api/classes/PermissionDeniedError.md +4 -4
  102. package/docs/api/classes/RBACAuditManager.md +14 -14
  103. package/docs/api/classes/RBACCache.md +1 -1
  104. package/docs/api/classes/RBACEngine.md +2 -2
  105. package/docs/api/classes/RBACError.md +4 -4
  106. package/docs/api/classes/RBACNotInitializedError.md +4 -4
  107. package/docs/api/classes/SecureSupabaseClient.md +29 -9
  108. package/docs/api/classes/StorageUtils.md +1 -1
  109. package/docs/api/enums/FileCategory.md +17 -17
  110. package/docs/api/enums/RBACErrorCode.md +228 -0
  111. package/docs/api/enums/RPCFunction.md +118 -0
  112. package/docs/api/interfaces/AggregateConfig.md +1 -1
  113. package/docs/api/interfaces/BadgeProps.md +1 -1
  114. package/docs/api/interfaces/ButtonProps.md +2 -2
  115. package/docs/api/interfaces/CalendarProps.md +1 -1
  116. package/docs/api/interfaces/CardProps.md +29 -3
  117. package/docs/api/interfaces/ColorPalette.md +1 -1
  118. package/docs/api/interfaces/ColorShade.md +1 -1
  119. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  120. package/docs/api/interfaces/DataRecord.md +1 -1
  121. package/docs/api/interfaces/DataTableAction.md +2 -2
  122. package/docs/api/interfaces/DataTableColumn.md +6 -6
  123. package/docs/api/interfaces/DataTableProps.md +1 -1
  124. package/docs/api/interfaces/DataTableToolbarButton.md +2 -2
  125. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  126. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  127. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  128. package/docs/api/interfaces/ExportColumn.md +5 -5
  129. package/docs/api/interfaces/ExportOptions.md +4 -4
  130. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  131. package/docs/api/interfaces/FileMetadata.md +13 -13
  132. package/docs/api/interfaces/FileReference.md +12 -12
  133. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  134. package/docs/api/interfaces/FileUploadOptions.md +10 -10
  135. package/docs/api/interfaces/FileUploadProps.md +19 -19
  136. package/docs/api/interfaces/FooterProps.md +1 -1
  137. package/docs/api/interfaces/FormFieldProps.md +166 -0
  138. package/docs/api/interfaces/FormProps.md +113 -0
  139. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  140. package/docs/api/interfaces/InactivityWarningModalProps.md +8 -8
  141. package/docs/api/interfaces/InputProps.md +2 -2
  142. package/docs/api/interfaces/LabelProps.md +8 -8
  143. package/docs/api/interfaces/LoginFormProps.md +1 -1
  144. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  145. package/docs/api/interfaces/NavigationContextType.md +1 -1
  146. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  147. package/docs/api/interfaces/NavigationItem.md +17 -73
  148. package/docs/api/interfaces/NavigationMenuProps.md +38 -53
  149. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  150. package/docs/api/interfaces/Organisation.md +13 -13
  151. package/docs/api/interfaces/OrganisationContextType.md +21 -21
  152. package/docs/api/interfaces/OrganisationMembership.md +15 -15
  153. package/docs/api/interfaces/OrganisationProviderProps.md +59 -2
  154. package/docs/api/interfaces/OrganisationSecurityError.md +5 -5
  155. package/docs/api/interfaces/PaceAppLayoutProps.md +26 -39
  156. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  157. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  158. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  159. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  160. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  161. package/docs/api/interfaces/PaletteData.md +1 -1
  162. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  163. package/docs/api/interfaces/ProgressProps.md +50 -0
  164. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  165. package/docs/api/interfaces/PublicPageFooterProps.md +9 -9
  166. package/docs/api/interfaces/PublicPageHeaderProps.md +10 -10
  167. package/docs/api/interfaces/PublicPageLayoutProps.md +15 -15
  168. package/docs/api/interfaces/RBACAccessValidateParams.md +52 -0
  169. package/docs/api/interfaces/RBACAccessValidateResult.md +41 -0
  170. package/docs/api/interfaces/RBACAuditLogParams.md +85 -0
  171. package/docs/api/interfaces/RBACAuditLogResult.md +52 -0
  172. package/docs/api/interfaces/RBACConfig.md +2 -2
  173. package/docs/api/interfaces/RBACContext.md +52 -0
  174. package/docs/api/interfaces/RBACLogger.md +1 -1
  175. package/docs/api/interfaces/RBACPageAccessCheckParams.md +74 -0
  176. package/docs/api/interfaces/RBACPermissionCheckParams.md +74 -0
  177. package/docs/api/interfaces/RBACPermissionCheckResult.md +52 -0
  178. package/docs/api/interfaces/RBACPermissionsGetParams.md +63 -0
  179. package/docs/api/interfaces/RBACPermissionsGetResult.md +63 -0
  180. package/docs/api/interfaces/RBACResult.md +58 -0
  181. package/docs/api/interfaces/RBACRoleGrantParams.md +63 -0
  182. package/docs/api/interfaces/RBACRoleGrantResult.md +52 -0
  183. package/docs/api/interfaces/RBACRoleRevokeParams.md +63 -0
  184. package/docs/api/interfaces/RBACRoleRevokeResult.md +52 -0
  185. package/docs/api/interfaces/RBACRoleValidateParams.md +52 -0
  186. package/docs/api/interfaces/RBACRoleValidateResult.md +63 -0
  187. package/docs/api/interfaces/RBACRolesListParams.md +52 -0
  188. package/docs/api/interfaces/RBACRolesListResult.md +74 -0
  189. package/docs/api/interfaces/RBACSessionTrackParams.md +74 -0
  190. package/docs/api/interfaces/RBACSessionTrackResult.md +52 -0
  191. package/docs/api/interfaces/ResourcePermissions.md +1 -1
  192. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  193. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  194. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  195. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  196. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  197. package/docs/api/interfaces/RouteConfig.md +1 -1
  198. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  199. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  200. package/docs/api/interfaces/SessionRestorationLoaderProps.md +15 -2
  201. package/docs/api/interfaces/StorageConfig.md +1 -1
  202. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  203. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  204. package/docs/api/interfaces/StorageListOptions.md +1 -1
  205. package/docs/api/interfaces/StorageListResult.md +1 -1
  206. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  207. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  208. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  209. package/docs/api/interfaces/StyleImport.md +1 -1
  210. package/docs/api/interfaces/SwitchProps.md +1 -1
  211. package/docs/api/interfaces/TabsContentProps.md +1 -1
  212. package/docs/api/interfaces/TabsListProps.md +1 -1
  213. package/docs/api/interfaces/TabsProps.md +1 -1
  214. package/docs/api/interfaces/TabsTriggerProps.md +43 -2
  215. package/docs/api/interfaces/TextareaProps.md +2 -2
  216. package/docs/api/interfaces/ToastActionElement.md +1 -1
  217. package/docs/api/interfaces/ToastProps.md +1 -1
  218. package/docs/api/interfaces/UnifiedAuthContextType.md +61 -61
  219. package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
  220. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  221. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  222. package/docs/api/interfaces/UsePublicEventLogoOptions.md +87 -0
  223. package/docs/api/interfaces/UsePublicEventLogoReturn.md +81 -0
  224. package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
  225. package/docs/api/interfaces/UsePublicEventReturn.md +5 -5
  226. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +2 -2
  227. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  228. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  229. package/docs/api/interfaces/UseResolvedScopeOptions.md +2 -2
  230. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  231. package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
  232. package/docs/api/interfaces/UserEventAccess.md +1 -1
  233. package/docs/api/interfaces/UserMenuProps.md +4 -4
  234. package/docs/api/interfaces/UserProfile.md +7 -7
  235. package/docs/api/modules.md +484 -462
  236. package/docs/api-reference/components.md +186 -15
  237. package/docs/api-reference/deprecated.md +376 -0
  238. package/docs/api-reference/hooks.md +149 -19
  239. package/docs/api-reference/providers.md +61 -6
  240. package/docs/api-reference/rpc-functions.md +397 -0
  241. package/docs/api-reference/types.md +135 -78
  242. package/docs/api-reference/utilities.md +51 -380
  243. package/docs/architecture/README.md +49 -3
  244. package/docs/architecture/database-schema-requirements.md +40 -3
  245. package/docs/architecture/rbac-security-architecture.md +41 -4
  246. package/docs/architecture/services.md +127 -42
  247. package/docs/best-practices/README.md +51 -5
  248. package/docs/best-practices/accessibility.md +32 -3
  249. package/docs/best-practices/common-patterns.md +50 -3
  250. package/docs/best-practices/deployment.md +50 -4
  251. package/docs/best-practices/performance.md +50 -3
  252. package/docs/best-practices/security.md +94 -41
  253. package/docs/best-practices/testing.md +33 -4
  254. package/docs/core-concepts/authentication.md +5 -5
  255. package/docs/core-concepts/events.md +3 -3
  256. package/docs/core-concepts/organisations.md +3 -3
  257. package/docs/core-concepts/permissions.md +3 -3
  258. package/docs/core-concepts/rbac-system.md +5 -5
  259. package/docs/documentation-index.md +30 -8
  260. package/docs/getting-started/documentation-index.md +1 -1
  261. package/docs/getting-started/examples/README.md +7 -5
  262. package/docs/getting-started/examples/basic-auth-app.md +3 -0
  263. package/docs/getting-started/examples/full-featured-app.md +5 -3
  264. package/docs/getting-started/faq.md +6 -6
  265. package/docs/getting-started/installation-guide.md +192 -13
  266. package/docs/getting-started/local-development.md +303 -0
  267. package/docs/getting-started/quick-reference.md +3 -3
  268. package/docs/getting-started/quick-start.md +517 -0
  269. package/docs/implementation-guides/app-layout.md +45 -3
  270. package/docs/implementation-guides/authentication.md +66 -7
  271. package/docs/implementation-guides/component-styling.md +53 -3
  272. package/docs/implementation-guides/data-tables.md +76 -7
  273. package/docs/implementation-guides/datatable-filtering.md +1 -2
  274. package/docs/implementation-guides/datatable-rbac-usage.md +0 -1
  275. package/docs/implementation-guides/dynamic-colors.md +155 -4
  276. package/docs/implementation-guides/file-reference-system.md +72 -3
  277. package/docs/implementation-guides/file-upload-storage.md +72 -3
  278. package/docs/implementation-guides/forms.md +53 -3
  279. package/docs/implementation-guides/inactivity-tracking.md +53 -3
  280. package/docs/implementation-guides/large-datasets.md +1 -1
  281. package/docs/implementation-guides/navigation.md +55 -5
  282. package/docs/implementation-guides/organisation-security.md +72 -3
  283. package/docs/implementation-guides/performance.md +57 -1
  284. package/docs/implementation-guides/permission-enforcement.md +81 -8
  285. package/docs/implementation-guides/public-pages.md +560 -14
  286. package/docs/migration/MIGRATION_GUIDE.md +409 -50
  287. package/docs/migration/README.md +37 -3
  288. package/docs/migration/organisation-context-timing-fix.md +39 -4
  289. package/docs/migration/quick-migration-guide.md +41 -5
  290. package/docs/migration/rbac-migration.md +59 -3
  291. package/docs/migration/service-architecture.md +77 -14
  292. package/docs/rbac/README.md +79 -3
  293. package/docs/rbac/advanced-patterns.md +47 -3
  294. package/docs/rbac/api-reference.md +77 -8
  295. package/docs/rbac/event-based-apps.md +50 -5
  296. package/docs/rbac/examples/rbac-rls-integration-example.md +3 -3
  297. package/docs/rbac/examples.md +39 -3
  298. package/docs/rbac/getting-started.md +63 -4
  299. package/docs/rbac/quick-start.md +57 -5
  300. package/docs/rbac/rbac-rls-integration.md +68 -6
  301. package/docs/rbac/super-admin-guide.md +47 -3
  302. package/docs/rbac/troubleshooting.md +3 -3
  303. package/docs/security/README.md +68 -3
  304. package/docs/security/checklist.md +50 -3
  305. package/docs/standards/01-architecture-standard.md +39 -0
  306. package/docs/standards/02-api-and-rpc-standard.md +39 -0
  307. package/docs/standards/03-component-standard.md +32 -0
  308. package/docs/standards/04-code-style-standard.md +32 -0
  309. package/docs/standards/05-security-standard.md +30 -0
  310. package/docs/standards/06-testing-and-docs-standard.md +29 -0
  311. package/docs/standards/README.md +35 -0
  312. package/docs/styles/README.md +89 -8
  313. package/docs/testing/README.md +175 -24
  314. package/docs/troubleshooting/README.md +50 -3
  315. package/docs/troubleshooting/common-issues.md +271 -5
  316. package/docs/troubleshooting/debugging.md +54 -1
  317. package/docs/troubleshooting/migration.md +54 -1
  318. package/docs/troubleshooting/organisation-context-setup.md +29 -3
  319. package/docs/troubleshooting/styling-issues.md +246 -4
  320. package/{src/components/DataTable/examples → examples/DataTable}/GroupingAggregationExample.tsx +1 -1
  321. package/examples/{components 2/DataTable/HierarchicalActionsExample.tsx → DataTable/HierarchicalActionsExample.tsx} +7 -6
  322. package/{src/components/DataTable/examples → examples/DataTable}/HierarchicalExample.tsx +8 -6
  323. package/examples/{components 2/DataTable/PerformanceExample.tsx → DataTable/PerformanceExample.tsx} +2 -2
  324. package/examples/{components 2/DataTable/index.ts → DataTable/index.ts} +1 -0
  325. package/{src/components/Dialog/examples → examples/Dialog}/HtmlDialogExample.tsx +3 -3
  326. package/examples/{components 2/Dialog/ScrollableDialogExample.tsx → Dialog/ScrollableDialogExample.tsx} +1 -1
  327. package/{src/components/Dialog/examples → examples/Dialog}/SmartDialogExample.tsx +1 -1
  328. package/examples/{components 2/Dialog/index.ts → Dialog/index.ts} +0 -3
  329. package/examples/{features/public-pages → PublicPages}/CorrectPublicPageImplementation.tsx +52 -17
  330. package/examples/{features/public-pages → PublicPages}/PublicEventPage.tsx +65 -35
  331. package/examples/{features/public-pages → PublicPages}/PublicPageApp.tsx +52 -18
  332. package/examples/{features/public-pages → PublicPages}/PublicPageUsageExample.tsx +28 -15
  333. package/examples/README.md +81 -33
  334. package/examples/index.ts +14 -12
  335. package/examples/{RBAC → rbac}/CompleteRBACExample.tsx +1 -1
  336. package/examples/{features/rbac → rbac}/EventBasedApp.tsx +4 -4
  337. package/examples/{features/rbac → rbac}/PermissionExample.tsx +5 -3
  338. package/package.json +21 -27
  339. package/src/__tests__/helpers/test-utils.tsx +29 -3
  340. package/src/__tests__/rbac/PagePermissionGuard.test.tsx +7 -5
  341. package/src/components/Alert/Alert.test.tsx +2 -2
  342. package/src/components/Alert/Alert.tsx +4 -4
  343. package/src/components/Avatar/Avatar.test.tsx +17 -6
  344. package/src/components/Badge/Badge.test.tsx +1 -1
  345. package/src/components/Badge/Badge.tsx +2 -2
  346. package/src/components/Button/Button.test.tsx +2 -2
  347. package/src/components/Button/Button.tsx +11 -7
  348. package/src/components/Calendar/Calendar.test.tsx +41 -8
  349. package/src/components/Calendar/Calendar.tsx +39 -36
  350. package/src/components/Card/Card.tsx +51 -13
  351. package/src/components/Checkbox/Checkbox.test.tsx +36 -12
  352. package/src/components/DataTable/DataTable.test.tsx +1 -1
  353. package/src/components/DataTable/__tests__/DataTable.comprehensive.test.tsx +13 -7
  354. package/src/components/DataTable/__tests__/DataTable.default-state.test.tsx +14 -42
  355. package/src/components/DataTable/__tests__/DataTable.export.test.tsx +13 -10
  356. package/src/components/DataTable/__tests__/DataTable.grouping-aggregation.test.tsx +14 -11
  357. package/src/components/DataTable/__tests__/DataTable.hooks.test.tsx +4 -2
  358. package/src/components/DataTable/__tests__/DataTable.test.tsx +13 -7
  359. package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +13 -10
  360. package/src/components/DataTable/__tests__/DataTableCore.test.tsx +15 -11
  361. package/src/components/DataTable/__tests__/a11y.basic.test.tsx +12 -6
  362. package/src/components/DataTable/__tests__/keyboard.test.tsx +12 -6
  363. package/src/components/DataTable/__tests__/pagination.modes.test.tsx +10 -6
  364. package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +1 -1
  365. package/src/components/DataTable/components/DataTableBody.tsx +10 -25
  366. package/src/components/DataTable/components/DataTableCore.tsx +1 -1
  367. package/src/components/DataTable/components/FilterRow.tsx +3 -1
  368. package/src/components/DataTable/components/ImportModal.tsx +1 -1
  369. package/src/components/DataTable/components/VirtualizedDataTable.tsx +9 -9
  370. package/src/components/DataTable/core/ColumnFactory.ts +6 -6
  371. package/src/components/DataTable/core/DataTableContext.tsx +14 -10
  372. package/src/components/DataTable/core/LocalDataAdapter.ts +2 -1
  373. package/src/components/DataTable/core/PluginRegistry.ts +3 -3
  374. package/src/components/DataTable/core/StateManager.ts +12 -11
  375. package/src/components/DataTable/core/__tests__/ActionManager.test.ts +104 -0
  376. package/src/components/DataTable/core/__tests__/DataManager.test.ts +101 -0
  377. package/src/components/DataTable/core/__tests__/LocalDataAdapter.test.ts +84 -0
  378. package/src/components/DataTable/core/__tests__/PluginRegistry.test.ts +102 -0
  379. package/src/components/DataTable/core/__tests__/StateManager.test.ts +104 -0
  380. package/src/components/DataTable/core/interfaces.ts +17 -17
  381. package/src/components/DataTable/hooks/__tests__/useDataTableConfiguration.test.ts +124 -0
  382. package/src/components/DataTable/hooks/__tests__/useDataTableDataPipeline.test.ts +117 -0
  383. package/src/components/DataTable/hooks/__tests__/useDataTablePermissions.test.ts +102 -0
  384. package/src/components/DataTable/hooks/__tests__/useEffectiveColumnOrder.test.ts +53 -0
  385. package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +0 -2
  386. package/src/components/DataTable/hooks/useDataTablePermissions.ts +9 -8
  387. package/src/components/DataTable/types.ts +5 -5
  388. package/src/components/DataTable/utils/aggregationUtils.ts +4 -4
  389. package/src/components/DataTable/utils/columnUtils.ts +3 -2
  390. package/src/components/DataTable/utils/debugTools.ts +1 -1
  391. package/src/components/DataTable/utils/exportUtils.ts +6 -6
  392. package/src/components/DataTable/utils/hierarchicalSorting.ts +6 -6
  393. package/src/components/DataTable/utils/hierarchicalUtils.ts +0 -8
  394. package/src/components/DataTable/utils/index.ts +0 -1
  395. package/src/components/DataTable/utils/performanceUtils.ts +9 -4
  396. package/src/components/Dialog/Dialog.test.tsx +49 -27
  397. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +13 -8
  398. package/src/components/EventSelector/EventSelector.test.tsx +60 -12
  399. package/src/components/EventSelector/EventSelector.tsx +38 -15
  400. package/src/components/EventSelector/index.ts +2 -2
  401. package/src/components/FileDisplay/FileDisplay.test.tsx +143 -85
  402. package/src/components/FileDisplay/FileDisplay.tsx +1 -0
  403. package/src/components/FileUpload/FileUpload.test.tsx +532 -152
  404. package/src/components/FileUpload/FileUpload.tsx +43 -8
  405. package/src/components/Footer/Footer.test.tsx +19 -14
  406. package/src/components/Form/Form.test.tsx +96 -14
  407. package/src/components/Form/Form.tsx +210 -1
  408. package/src/components/Form/index.ts +3 -7
  409. package/src/components/Header/Header.test.tsx +24 -17
  410. package/src/components/Header/Header.tsx +3 -1
  411. package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +2 -4
  412. package/src/components/Input/Input.test.tsx +61 -36
  413. package/src/components/Label/{__tests__/Label.test.tsx → Label.test.tsx} +2 -2
  414. package/src/components/Label/Label.tsx +2 -3
  415. package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +6 -5
  416. package/src/components/LoadingSpinner/LoadingSpinner.tsx +6 -2
  417. package/src/components/LoginForm/LoginForm.test.tsx +14 -13
  418. package/src/components/LoginForm/LoginForm.tsx +1 -1
  419. package/src/components/LoginForm/index.ts +7 -0
  420. package/src/components/NavigationMenu/NavigationMenu.test.tsx +233 -20
  421. package/src/components/NavigationMenu/NavigationMenu.tsx +191 -55
  422. package/src/components/NavigationMenu/index.ts +1 -1
  423. package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +20 -11
  424. package/src/components/OrganisationSelector/OrganisationSelector.tsx +1 -1
  425. package/src/components/PaceAppLayout/{__tests__/PaceAppLayout.integration.test.tsx → PaceAppLayout.integration.test.tsx} +272 -79
  426. package/src/components/PaceAppLayout/{__tests__/PaceAppLayout.performance.test.tsx → PaceAppLayout.performance.test.tsx} +155 -32
  427. package/src/components/PaceAppLayout/{__tests__/PaceAppLayout.security.test.tsx → PaceAppLayout.security.test.tsx} +211 -65
  428. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +498 -210
  429. package/src/components/PaceAppLayout/PaceAppLayout.tsx +63 -64
  430. package/src/components/PaceAppLayout/test-setup.tsx +192 -0
  431. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +193 -39
  432. package/src/components/{PasswordReset → PasswordChange}/PasswordChangeForm.test.tsx +2 -2
  433. package/src/components/{PasswordReset → PasswordChange}/PasswordChangeForm.tsx +10 -4
  434. package/src/components/PasswordChange/index.ts +2 -0
  435. package/src/components/Progress/Progress.test.tsx +11 -0
  436. package/src/components/Progress/Progress.tsx +1 -1
  437. package/src/components/Progress/index.ts +10 -0
  438. package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +2 -1
  439. package/src/components/PublicLayout/PublicLayout.test.tsx +1210 -0
  440. package/src/components/PublicLayout/PublicPageLayout.tsx +190 -36
  441. package/src/components/PublicLayout/PublicPageProvider.tsx +8 -7
  442. package/src/components/PublicLayout/index.ts +10 -28
  443. package/src/components/Select/Select.test.tsx +7 -7
  444. package/src/components/Select/Select.tsx +277 -11
  445. package/src/components/Select/index.ts +1 -2
  446. package/src/components/SessionRestorationLoader/SessionRestorationLoader.test.tsx +232 -0
  447. package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +40 -19
  448. package/src/components/Table/{__tests__/Table.test.tsx → Table.test.tsx} +94 -41
  449. package/src/components/Tabs/Tabs.test.tsx +10 -9
  450. package/src/components/Tabs/Tabs.tsx +61 -33
  451. package/src/components/Textarea/Textarea.test.tsx +31 -18
  452. package/src/components/Toast/Toast.tsx +2 -2
  453. package/src/components/Tooltip/Tooltip.test.tsx +1 -1
  454. package/src/components/UserMenu/UserMenu.test.tsx +7 -6
  455. package/src/components/UserMenu/UserMenu.tsx +2 -2
  456. package/src/components/index.ts +5 -4
  457. package/src/constants/performance.ts +19 -8
  458. package/src/hooks/__tests__/useAppConfig.unit.test.ts +21 -22
  459. package/src/hooks/__tests__/useEvents.unit.test.ts +5 -4
  460. package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +2 -2
  461. package/src/hooks/__tests__/usePermissionCache.simple.test.ts +17 -0
  462. package/src/hooks/__tests__/usePermissionCache.unit.test.ts +16 -11
  463. package/src/hooks/__tests__/usePublicEvent.simple.test.ts +1 -3
  464. package/src/hooks/__tests__/usePublicEvent.unit.test.ts +1 -3
  465. package/src/hooks/__tests__/useRBAC.unit.test.ts +24 -2
  466. package/src/hooks/index.ts +4 -0
  467. package/src/hooks/public/index.ts +2 -0
  468. package/src/hooks/public/usePublicEvent.ts +4 -6
  469. package/src/hooks/public/usePublicEventLogo.test.ts +147 -0
  470. package/src/hooks/public/usePublicRouteParams.ts +1 -1
  471. package/src/hooks/services/useAuth.ts +2 -4
  472. package/src/hooks/services/useCurrentEvent.ts +1 -1
  473. package/src/hooks/useAppConfig.ts +1 -1
  474. package/src/hooks/useDataTablePerformance.ts +2 -2
  475. package/src/hooks/useEventTheme.ts +1 -1
  476. package/src/hooks/useEvents.ts +51 -10
  477. package/src/hooks/useOrganisationPermissions.test.ts +3 -3
  478. package/src/hooks/useOrganisationPermissions.ts +1 -1
  479. package/src/hooks/useOrganisationSecurity.ts +2 -2
  480. package/src/hooks/usePermissionCache.test.ts +9 -9
  481. package/src/hooks/usePermissionCache.ts +2 -2
  482. package/src/index.ts +19 -12
  483. package/src/providers/OrganisationProvider.tsx +73 -9
  484. package/src/providers/UnifiedAuthProvider.smoke.test.tsx +113 -13
  485. package/src/providers/__tests__/AuthProvider.test.tsx +2 -1
  486. package/src/providers/__tests__/EventProvider.test.tsx +24 -15
  487. package/src/providers/__tests__/OrganisationProvider.test.tsx +87 -36
  488. package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +80 -24
  489. package/src/providers/index.ts +0 -3
  490. package/src/providers/services/AuthServiceProvider.tsx +2 -17
  491. package/src/providers/services/EventServiceProvider.tsx +11 -16
  492. package/src/providers/services/InactivityServiceProvider.tsx +9 -12
  493. package/src/providers/services/OrganisationServiceProvider.tsx +9 -12
  494. package/src/providers/services/UnifiedAuthProvider.tsx +85 -18
  495. package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +11 -4
  496. package/src/rbac/__tests__/scenarios.user-role.test.tsx +105 -21
  497. package/src/rbac/adapters.tsx +1 -1
  498. package/src/rbac/api.ts +20 -4
  499. package/src/rbac/audit-enhanced.ts +47 -2
  500. package/src/rbac/audit.ts +47 -2
  501. package/src/rbac/components/NavigationGuard.tsx +1 -1
  502. package/src/rbac/components/NavigationProvider.test.tsx +7 -6
  503. package/src/rbac/components/NavigationProvider.tsx +1 -1
  504. package/src/rbac/components/PagePermissionGuard.tsx +1 -1
  505. package/src/rbac/components/PagePermissionProvider.test.tsx +7 -6
  506. package/src/rbac/components/PagePermissionProvider.tsx +1 -1
  507. package/src/rbac/components/PermissionEnforcer.tsx +1 -1
  508. package/src/rbac/components/RoleBasedRouter.tsx +1 -1
  509. package/src/rbac/components/SecureDataProvider.test.tsx +7 -6
  510. package/src/rbac/components/SecureDataProvider.tsx +1 -1
  511. package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +6 -6
  512. package/src/rbac/components/__tests__/NavigationGuard.test.tsx +11 -10
  513. package/src/rbac/components/__tests__/NavigationProvider.test.tsx +10 -11
  514. package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +19 -15
  515. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +13 -12
  516. package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +19 -15
  517. package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +18 -18
  518. package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +11 -10
  519. package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +8 -7
  520. package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +10 -11
  521. package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +48 -19
  522. package/src/rbac/hooks/__tests__/useSecureSupabase.test.ts +476 -0
  523. package/src/rbac/hooks/index.ts +3 -0
  524. package/src/rbac/hooks/usePermissions.ts +31 -85
  525. package/src/rbac/hooks/useRBAC.test.ts +13 -1
  526. package/src/rbac/hooks/useRBAC.ts +13 -67
  527. package/src/rbac/hooks/useResolvedScope.ts +11 -0
  528. package/src/rbac/hooks/useSecureSupabase.ts +308 -0
  529. package/src/rbac/index.ts +3 -0
  530. package/src/rbac/secureClient.ts +53 -6
  531. package/src/rbac/security.ts +37 -1
  532. package/src/{types/rbac-functions.ts → rbac/types/functions.ts} +30 -30
  533. package/src/rbac/types.ts +3 -2
  534. package/src/services/AuthService.ts +33 -25
  535. package/src/services/EventService.ts +56 -44
  536. package/src/services/InactivityService.ts +33 -53
  537. package/src/services/OrganisationService.ts +36 -40
  538. package/src/services/__tests__/AuthService.restoreSession.test.ts +6 -2
  539. package/src/services/__tests__/EventService.test.ts +67 -33
  540. package/src/services/interfaces/IEventService.ts +1 -1
  541. package/src/styles/core.css +2 -2
  542. package/src/styles/index.test.ts +21 -0
  543. package/src/styles/index.ts +1 -5
  544. package/src/types/__tests__/guards.test.ts +1 -1
  545. package/src/types/__tests__/organisation.roles.test.ts +55 -0
  546. package/src/types/__tests__/type-validation.test.ts +0 -1
  547. package/src/types/auth.ts +42 -2
  548. package/src/types/core.ts +251 -0
  549. package/src/types/database.ts +11 -496
  550. package/src/types/event.ts +102 -0
  551. package/src/types/file-reference.ts +6 -4
  552. package/src/types/guards.ts +2 -1
  553. package/src/types/index.ts +48 -14
  554. package/src/types/lodash.debounce.d.ts +15 -0
  555. package/src/types/organisation.ts +14 -10
  556. package/src/types/supabase.ts +15 -17
  557. package/src/utils/__tests__/secureErrors.unit.test.ts +1 -1
  558. package/src/utils/__tests__/validationUtils.unit.test.ts +0 -29
  559. package/src/utils/app/appNameResolver.ts +1 -1
  560. package/src/utils/audit/audit.test.ts +65 -0
  561. package/src/utils/device/deviceFingerprint.test.ts +171 -0
  562. package/src/utils/dynamic/dynamicUtils.ts +3 -2
  563. package/src/utils/file-reference/index.ts +25 -6
  564. package/src/utils/security/secureErrors.ts +1 -1
  565. package/src/utils/validation/__tests__/validationUtils.test.ts +72 -0
  566. package/src/utils/validation/index.ts +6 -12
  567. package/src/utils/validation/validationUtils.ts +0 -13
  568. package/dist/UnifiedAuthProvider-B37ATQHE.js +0 -16
  569. package/dist/auth-DReDSLq9.d.ts +0 -16
  570. package/dist/chunk-3JI76CYK.js +0 -2444
  571. package/dist/chunk-3JI76CYK.js.map +0 -1
  572. package/dist/chunk-56XJ3TU6.js +0 -11
  573. package/dist/chunk-56XJ3TU6.js.map +0 -1
  574. package/dist/chunk-5MT24GKJ.js.map +0 -1
  575. package/dist/chunk-7QCC6MCP.js +0 -288
  576. package/dist/chunk-BESYRHQM.js.map +0 -1
  577. package/dist/chunk-BJPBT3CU.js +0 -21
  578. package/dist/chunk-BJPBT3CU.js.map +0 -1
  579. package/dist/chunk-BVYWGZVV.js.map +0 -1
  580. package/dist/chunk-CX5M4ZAG.js.map +0 -1
  581. package/dist/chunk-D7LCGMVS.js.map +0 -1
  582. package/dist/chunk-EGI6MUL6.js +0 -27
  583. package/dist/chunk-EGI6MUL6.js.map +0 -1
  584. package/dist/chunk-ERISIBYU.js.map +0 -1
  585. package/dist/chunk-HRO5HWN2.js.map +0 -1
  586. package/dist/chunk-HZLDFOE4.js.map +0 -1
  587. package/dist/chunk-JISYG63F.js +0 -70
  588. package/dist/chunk-JISYG63F.js.map +0 -1
  589. package/dist/chunk-LIMSTKYD.js +0 -61
  590. package/dist/chunk-LIMSTKYD.js.map +0 -1
  591. package/dist/chunk-OWAG3GSU.js.map +0 -1
  592. package/dist/chunk-PPMP5J6T.js.map +0 -1
  593. package/dist/chunk-Q5QRDWKI.js.map +0 -1
  594. package/dist/chunk-S5OFRT4M.js.map +0 -1
  595. package/dist/chunk-SBVILCCA.js.map +0 -1
  596. package/dist/chunk-TUMEWN34.js +0 -15
  597. package/dist/chunk-TUMEWN34.js.map +0 -1
  598. package/dist/chunk-XDNLUEXI.js +0 -138
  599. package/dist/chunk-XJ2HZOBU.js.map +0 -1
  600. package/dist/chunk-ZYTYSTO5.js.map +0 -1
  601. package/dist/chunk-ZZ2SS7NI.js +0 -237
  602. package/dist/chunk-ZZ2SS7NI.js.map +0 -1
  603. package/dist/database-C6jy7EOu.d.ts +0 -500
  604. package/dist/organisation-D6qRDtbF.d.ts +0 -93
  605. package/dist/schema-DTDZQe2u.d.ts +0 -28
  606. package/dist/unified-DQ4VcT7H.d.ts +0 -198
  607. package/dist/useInactivityTracker-TO6ZOF35.js +0 -11
  608. package/dist/validation.d.ts +0 -47
  609. package/dist/validation.js +0 -24
  610. package/dist/validation.js.map +0 -1
  611. package/docs/DOCUMENTATION_AUDIT.md +0 -172
  612. package/docs/DOCUMENTATION_STANDARD.md +0 -137
  613. package/docs/api/classes/PublicErrorBoundary.md +0 -132
  614. package/docs/api/interfaces/EventLogoProps.md +0 -152
  615. package/docs/api/interfaces/PublicErrorBoundaryProps.md +0 -94
  616. package/docs/api/interfaces/PublicErrorBoundaryState.md +0 -68
  617. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +0 -86
  618. package/docs/architecture/rpc-function-standards.md +0 -1106
  619. package/docs/getting-started/consuming-app-vite-config.md +0 -239
  620. package/docs/implementation-guides/event-theming-summary.md +0 -226
  621. package/docs/implementation-guides/public-pages-advanced.md +0 -1038
  622. package/docs/migration/v0.4.15-tailwind-scanning.md +0 -278
  623. package/docs/migration/v0.4.16-css-first-approach.md +0 -312
  624. package/docs/migration/v0.4.17-source-path-fix.md +0 -235
  625. package/docs/rbac/RBAC_EVENT_CONTEXT_LOADING.md +0 -222
  626. package/docs/rbac/RBAC_LOGIN_SAFETY_FIX.md +0 -95
  627. package/docs/rbac/RBAC_V0.5.147_FIX.md +0 -117
  628. package/docs/rbac/README-rbac-rls-integration.md +0 -374
  629. package/docs/styles/usage.md +0 -227
  630. package/docs/testing/visual-testing.md +0 -120
  631. package/docs/troubleshooting/DEBUG_NETWORK_ERROR.md +0 -152
  632. package/docs/troubleshooting/FIX_SUPABASE_CORS.md +0 -184
  633. package/docs/troubleshooting/cake-page-permission-guard-issue-summary.md +0 -193
  634. package/docs/troubleshooting/database-view-compatibility.md +0 -125
  635. package/docs/troubleshooting/react-hooks-issue-analysis.md +0 -172
  636. package/docs/troubleshooting/tailwind-content-scanning.md +0 -219
  637. package/examples/RBAC/EventBasedApp.tsx +0 -239
  638. package/examples/RBAC/PermissionExample.tsx +0 -151
  639. package/examples/STRUCTURE.md +0 -125
  640. package/examples/components 2/DataTable/HierarchicalExample.tsx +0 -475
  641. package/examples/components 2/Dialog/BasicHtmlTest.tsx +0 -55
  642. package/examples/components 2/Dialog/DebugHtmlExample.tsx +0 -68
  643. package/examples/components 2/Dialog/HtmlDialogExample.tsx +0 -202
  644. package/examples/components 2/Dialog/SimpleHtmlTest.tsx +0 -61
  645. package/examples/components 2/Dialog/SmartDialogExample.tsx +0 -322
  646. package/examples/components 2/index.ts +0 -11
  647. package/examples/features/index.ts +0 -12
  648. package/examples/features/rbac/CompleteRBACExample.tsx +0 -324
  649. package/examples/features/rbac/index.ts +0 -13
  650. package/examples/public-pages/CorrectPublicPageImplementation.tsx +0 -301
  651. package/examples/public-pages/PublicEventPage.tsx +0 -274
  652. package/examples/public-pages/PublicPageApp.tsx +0 -308
  653. package/examples/public-pages/PublicPageUsageExample.tsx +0 -216
  654. package/examples/public-pages/index.ts +0 -14
  655. package/src/__tests__/TEST_STANDARD.md +0 -1008
  656. package/src/components/Checkbox/__mocks__/Checkbox.tsx +0 -2
  657. package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +0 -421
  658. package/src/components/DataTable/examples/InitialPageSizeExample.tsx +0 -177
  659. package/src/components/DataTable/examples/PerformanceExample.tsx +0 -506
  660. package/src/components/DataTable/examples/__tests__/HierarchicalActionsExample.test.tsx +0 -316
  661. package/src/components/DataTable/examples/__tests__/HierarchicalExample.test.tsx +0 -45
  662. package/src/components/DataTable/examples/__tests__/InitialPageSizeExample.test.tsx +0 -211
  663. package/src/components/DataTable/examples/__tests__/PerformanceExample.test.tsx +0 -126
  664. package/src/components/Dialog/README.md +0 -804
  665. package/src/components/Dialog/examples/BasicHtmlTest.tsx +0 -55
  666. package/src/components/Dialog/examples/DebugHtmlExample.tsx +0 -68
  667. package/src/components/Dialog/examples/ScrollableDialogExample.tsx +0 -290
  668. package/src/components/Dialog/examples/SimpleHtmlTest.tsx +0 -61
  669. package/src/components/Dialog/examples/__tests__/HtmlDialogExample.test.tsx +0 -71
  670. package/src/components/Dialog/examples/__tests__/SimpleHtmlTest.test.tsx +0 -122
  671. package/src/components/Dialog/examples/__tests__/SmartDialogExample.unit.test.tsx +0 -147
  672. package/src/components/Dialog/utils/__tests__/safeHtml.unit.test.ts +0 -611
  673. package/src/components/Dialog/utils/safeHtml.ts +0 -185
  674. package/src/components/EventSelector/types.ts +0 -79
  675. package/src/components/Form/FormErrorSummary.tsx +0 -113
  676. package/src/components/Form/FormField.tsx +0 -249
  677. package/src/components/Form/FormFieldset.tsx +0 -127
  678. package/src/components/Form/FormLiveRegion.tsx +0 -198
  679. package/src/components/Input/__mocks__/Input.tsx +0 -2
  680. package/src/components/NavigationMenu/types.ts +0 -85
  681. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.accessibility.test.tsx +0 -326
  682. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +0 -1078
  683. package/src/components/PasswordReset/PasswordResetForm.test.tsx +0 -597
  684. package/src/components/PasswordReset/PasswordResetForm.tsx +0 -201
  685. package/src/components/PasswordReset/index.ts +0 -2
  686. package/src/components/ProtectedRoute/README.md +0 -164
  687. package/src/components/PublicLayout/EventLogo.tsx +0 -175
  688. package/src/components/PublicLayout/PublicErrorBoundary.tsx +0 -282
  689. package/src/components/PublicLayout/PublicLoadingSpinner.tsx +0 -216
  690. package/src/components/PublicLayout/PublicPageContextChecker.tsx +0 -131
  691. package/src/components/PublicLayout/PublicPageDebugger.tsx +0 -104
  692. package/src/components/PublicLayout/PublicPageDiagnostic.tsx +0 -162
  693. package/src/components/PublicLayout/PublicPageFooter.tsx +0 -124
  694. package/src/components/PublicLayout/PublicPageHeader.tsx +0 -209
  695. package/src/components/PublicLayout/__tests__/PublicErrorBoundary.test.tsx +0 -449
  696. package/src/components/PublicLayout/__tests__/PublicLoadingSpinner.test.tsx +0 -393
  697. package/src/components/PublicLayout/__tests__/PublicPageContextChecker.test.tsx +0 -192
  698. package/src/components/PublicLayout/__tests__/PublicPageFooter.test.tsx +0 -351
  699. package/src/components/PublicLayout/__tests__/PublicPageHeader.test.tsx +0 -402
  700. package/src/components/PublicLayout/__tests__/PublicPageLayout.test.tsx +0 -460
  701. package/src/components/PublicLayout/__tests__/PublicPageProvider.test.tsx +0 -313
  702. package/src/components/Select/hooks.ts +0 -289
  703. package/src/hooks/useCounter.test.ts +0 -131
  704. package/src/hooks/useDebounce.test.ts +0 -375
  705. package/src/providers/AuthProvider.tsx +0 -15
  706. package/src/providers/EventProvider.tsx +0 -16
  707. package/src/providers/InactivityProvider.tsx +0 -15
  708. package/src/providers/OrganisationProvider.context.test.tsx +0 -169
  709. package/src/providers/UnifiedAuthProvider.tsx +0 -15
  710. package/src/types/theme.ts +0 -6
  711. package/src/types/unified.ts +0 -265
  712. package/src/utils/appConfig.ts +0 -47
  713. package/src/utils/appIdResolver.test.ts +0 -499
  714. package/src/utils/appIdResolver.ts +0 -130
  715. package/src/utils/appNameResolver.simple.test.ts +0 -212
  716. package/src/utils/appNameResolver.test.ts +0 -121
  717. package/src/utils/appNameResolver.ts +0 -191
  718. package/src/utils/audit.ts +0 -127
  719. package/src/utils/auth-utils.ts +0 -96
  720. package/src/utils/bundleAnalysis.ts +0 -129
  721. package/src/utils/debugLogger.ts +0 -67
  722. package/src/utils/deviceFingerprint.ts +0 -215
  723. package/src/utils/dynamicUtils.ts +0 -105
  724. package/src/utils/file-reference.test.ts +0 -788
  725. package/src/utils/file-reference.ts +0 -519
  726. package/src/utils/formatDate.test.ts +0 -237
  727. package/src/utils/formatting.ts +0 -170
  728. package/src/utils/lazyLoad.tsx +0 -44
  729. package/src/utils/logger.ts +0 -179
  730. package/src/utils/organisationContext.test.ts +0 -322
  731. package/src/utils/organisationContext.ts +0 -153
  732. package/src/utils/performanceBenchmark.ts +0 -64
  733. package/src/utils/performanceBudgets.ts +0 -110
  734. package/src/utils/permissionTypes.ts +0 -37
  735. package/src/utils/permissionUtils.test.ts +0 -393
  736. package/src/utils/permissionUtils.ts +0 -34
  737. package/src/utils/sanitization.ts +0 -264
  738. package/src/utils/schemaUtils.ts +0 -37
  739. package/src/utils/secureDataAccess.test.ts +0 -711
  740. package/src/utils/secureDataAccess.ts +0 -377
  741. package/src/utils/secureErrors.ts +0 -79
  742. package/src/utils/security.ts +0 -156
  743. package/src/utils/securityMonitor.ts +0 -45
  744. package/src/utils/sessionTracking.ts +0 -126
  745. package/src/utils/validation.ts +0 -111
  746. package/src/utils/validationUtils.ts +0 -120
  747. package/src/validation/index.ts +0 -12
  748. /package/dist/{DataTable-UA6CL4JI.js.map → DataTable-QAB34V6K.js.map} +0 -0
  749. /package/dist/{UnifiedAuthProvider-B37ATQHE.js.map → UnifiedAuthProvider-7F6T4B6K.js.map} +0 -0
  750. /package/dist/{api-45XYYO2A.js.map → api-ROMBCNKU.js.map} +0 -0
  751. /package/dist/{audit-64X3VJXB.js.map → audit-WRS3KJKI.js.map} +0 -0
  752. /package/dist/{chunk-PLDDJCW6.js.map → chunk-7D4SUZUM.js.map} +0 -0
  753. /package/dist/{useInactivityTracker-TO6ZOF35.js.map → chunk-KQCRWDSA.js.map} +0 -0
  754. /package/examples/{components 2/DataTable → DataTable}/InitialPageSizeExample.tsx +0 -0
  755. /package/examples/{features/public-pages → PublicPages}/index.ts +0 -0
  756. /package/examples/{RBAC → rbac}/index.ts +0 -0
package/dist/index.js CHANGED
@@ -12,13 +12,12 @@ import {
12
12
  PagePermissionProvider,
13
13
  PermissionEnforcer,
14
14
  PermissionGuard,
15
+ RBACErrorCode,
16
+ RPCFunction,
15
17
  RoleBasedRouter,
16
18
  SecureDataProvider,
17
- SecureSupabaseClient,
18
19
  createRBACExpressMiddleware,
19
20
  createRBACMiddleware,
20
- createSecureClient,
21
- fromSupabaseClient,
22
21
  getPermissionsForRole,
23
22
  hasAnyPermissionCached,
24
23
  hasPermissionCached,
@@ -30,26 +29,19 @@ import {
30
29
  withAccessLevelGuard,
31
30
  withPermissionGuard,
32
31
  withRoleGuard
33
- } from "./chunk-HRO5HWN2.js";
34
- import {
35
- init_useInactivityTracker,
36
- useInactivityTracker
37
- } from "./chunk-ZZ2SS7NI.js";
32
+ } from "./chunk-CSOFYHAG.js";
38
33
  import {
39
34
  Avatar,
40
35
  AvatarFallback,
41
36
  AvatarImage,
42
37
  Badge,
43
38
  Calendar,
44
- ErrorBoundary,
45
- EventLogo,
46
- EventLogoCompact,
47
- EventLogoLarge,
48
39
  EventSelector,
49
40
  FileDisplay,
50
41
  FileUpload,
51
42
  Footer,
52
43
  Form,
44
+ FormField,
53
45
  Header,
54
46
  Label,
55
47
  LoginForm,
@@ -59,10 +51,6 @@ import {
59
51
  PaceLoginPage,
60
52
  PasswordChangeForm,
61
53
  ProtectedRoute,
62
- PublicLoadingSkeleton,
63
- PublicLoadingSpinner,
64
- PublicLoadingSpinnerFullPage,
65
- PublicPageContextChecker,
66
54
  PublicPageFooter,
67
55
  PublicPageHeader,
68
56
  PublicPageLayout,
@@ -90,13 +78,11 @@ import {
90
78
  ToastViewport,
91
79
  Toaster,
92
80
  UserMenu,
93
- init_EventProvider,
94
81
  useFileReference,
95
82
  useFileReferenceById,
96
83
  useFileReferenceForRecord,
97
- useFilesByCategory,
98
- usePublicPageContext as usePublicPageContext2
99
- } from "./chunk-D7LCGMVS.js";
84
+ useFilesByCategory
85
+ } from "./chunk-QETLRQI6.js";
100
86
  import {
101
87
  Alert,
102
88
  AlertDescription,
@@ -146,8 +132,11 @@ import {
146
132
  max,
147
133
  min,
148
134
  sum
149
- } from "./chunk-5MT24GKJ.js";
135
+ } from "./chunk-QUVSNGIP.js";
150
136
  import {
137
+ SecureSupabaseClient,
138
+ createSecureClient,
139
+ fromSupabaseClient,
151
140
  useAccessLevel,
152
141
  useCachedPermissions,
153
142
  useCan,
@@ -158,8 +147,9 @@ import {
158
147
  useRBAC,
159
148
  useResolvedScope,
160
149
  useResourcePermissions,
161
- useRoleManagement
162
- } from "./chunk-ZYTYSTO5.js";
150
+ useRoleManagement,
151
+ useSecureSupabase
152
+ } from "./chunk-RA3JUFMW.js";
163
153
  import {
164
154
  CACHE_PATTERNS,
165
155
  RBACCache,
@@ -181,32 +171,35 @@ import {
181
171
  rbacCache,
182
172
  resolveAppContext,
183
173
  setupRBAC
184
- } from "./chunk-BVYWGZVV.js";
174
+ } from "./chunk-M7W4CP3M.js";
185
175
  import {
186
176
  RBACAuditManager,
187
177
  createAuditManager,
188
178
  emitAuditEvent,
189
179
  getGlobalAuditManager,
190
180
  setGlobalAuditManager
191
- } from "./chunk-SBVILCCA.js";
181
+ } from "./chunk-FSFQFJCU.js";
192
182
  import {
183
+ StorageUtils,
193
184
  clearPublicEventCache,
185
+ clearPublicLogoCache,
194
186
  extractEventCodeFromPath,
195
187
  generatePublicRoutePath,
196
188
  getPublicEventCacheStats,
189
+ getPublicLogoCacheStats,
197
190
  useOrganisationPermissions,
198
191
  useOrganisationSecurity,
199
192
  usePublicEvent,
200
193
  usePublicEventCode,
194
+ usePublicEventLogo,
201
195
  usePublicRouteParams
202
- } from "./chunk-PPMP5J6T.js";
203
- import "./chunk-VZ4VDGTB.js";
196
+ } from "./chunk-PWAHJW4G.js";
197
+ import "./chunk-W22JP75J.js";
204
198
  import {
205
199
  APP_PATH_MAPPING,
206
200
  DEFAULT_FILE_SIZE_LIMIT,
207
- DefaultPublicErrorFallback,
201
+ ErrorBoundary,
208
202
  FILE_SIZE_LIMITS,
209
- PublicErrorBoundary,
210
203
  PublicPageProvider,
211
204
  STORAGE_CONFIG,
212
205
  archiveFile,
@@ -221,50 +214,39 @@ import {
221
214
  getPublicFileDisplayCacheStats,
222
215
  getPublicUrl,
223
216
  getSignedUrl,
224
- init_OrganisationProvider,
225
217
  listFiles,
226
218
  uploadFile,
227
219
  useAppConfig,
228
- useErrorBoundary,
229
220
  useEventTheme,
230
221
  useIsPublicPage,
231
222
  usePublicFileDisplay,
232
223
  usePublicPageContext,
233
224
  validateFileSize
234
- } from "./chunk-HZLDFOE4.js";
225
+ } from "./chunk-MI7HBHN3.js";
235
226
  import {
236
227
  useToast
237
- } from "./chunk-BESYRHQM.js";
228
+ } from "./chunk-6C4YBBJM.js";
238
229
  import {
239
- init_useOrganisations,
240
230
  useEvents,
241
231
  useOrganisations
242
- } from "./chunk-LIMSTKYD.js";
243
- import {
244
- init_UnifiedAuthProvider
245
- } from "./chunk-EGI6MUL6.js";
246
- import "./chunk-TUMEWN34.js";
232
+ } from "./chunk-QCDXODCA.js";
233
+ import "./chunk-KQCRWDSA.js";
247
234
  import {
248
235
  EventServiceProvider,
249
236
  InactivityServiceProvider,
250
237
  OrganisationServiceProvider,
251
238
  UnifiedAuthProvider,
252
- init_InactivityServiceProvider,
253
- init_useAuthService,
254
- init_useEventService,
255
- init_useInactivityService,
256
- init_useOrganisationService,
257
- init_useSessionRestoration,
258
- useAuthService2 as useAuthService,
259
- useEventService2 as useEventService,
260
- useInactivityService2 as useInactivityService,
261
- useOrganisationService2 as useOrganisationService,
239
+ useAuthService,
240
+ useEventService,
241
+ useInactivityService,
242
+ useOrganisationService,
262
243
  useSessionRestoration,
263
244
  useUnifiedAuth
264
- } from "./chunk-3JI76CYK.js";
245
+ } from "./chunk-FUEYYMX5.js";
265
246
  import {
266
247
  FileCategory
267
- } from "./chunk-XJ2HZOBU.js";
248
+ } from "./chunk-UHNYIBXL.js";
249
+ import "./chunk-QXHPKYJV.js";
268
250
  import {
269
251
  formatCompactNumber,
270
252
  formatCurrency,
@@ -279,53 +261,64 @@ import {
279
261
  getCurrentAppName,
280
262
  setAppConfig,
281
263
  useSessionTracking
282
- } from "./chunk-FFKNH6U5.js";
264
+ } from "./chunk-HKIT6O7W.js";
283
265
  import {
284
266
  LoadingSpinner
285
- } from "./chunk-S5OFRT4M.js";
286
- import "./chunk-OWAG3GSU.js";
287
- import "./chunk-Q5QRDWKI.js";
288
- import "./chunk-FMUCXFII.js";
267
+ } from "./chunk-KUEN3HFB.js";
289
268
  import {
290
269
  cn
291
- } from "./chunk-56XJ3TU6.js";
292
- import "./chunk-7QCC6MCP.js";
270
+ } from "./chunk-R77UEZ4E.js";
271
+ import "./chunk-F2IMUDXZ.js";
272
+ import "./chunk-FMUCXFII.js";
273
+ import "./chunk-VBXEHIUJ.js";
293
274
  import {
294
275
  getAllStylePaths,
295
276
  getStylePath,
296
277
  styleConfig
297
- } from "./chunk-CX5M4ZAG.js";
278
+ } from "./chunk-5DRSZLL2.js";
298
279
  import {
299
280
  applyPalette,
300
281
  clearPalette,
301
- generateSSRThemeCSS,
302
- getCurrentThemeData,
303
- isDynamicThemingActive,
304
282
  parseAndNormalizeEventColours
305
- } from "./chunk-ERISIBYU.js";
306
- import "./chunk-XDNLUEXI.js";
307
- import "./chunk-PLDDJCW6.js";
308
-
309
- // src/index.ts
310
- init_UnifiedAuthProvider();
311
- init_EventProvider();
312
- init_OrganisationProvider();
313
-
314
- // src/providers/InactivityProvider.tsx
315
- init_InactivityServiceProvider();
283
+ } from "./chunk-SQGMNID3.js";
284
+ import {
285
+ logger
286
+ } from "./chunk-PWLANIRT.js";
287
+ import "./chunk-7D4SUZUM.js";
316
288
 
317
- // src/index.ts
318
- init_useOrganisations();
319
- init_useEventService();
320
- init_useOrganisationService();
321
- init_useAuthService();
322
- init_useInactivityService();
323
- init_useSessionRestoration();
289
+ // src/providers/OrganisationProvider.tsx
290
+ import { Fragment, jsx } from "react/jsx-runtime";
291
+ function OrganisationProvider({
292
+ children,
293
+ requireOrganisationContext,
294
+ autoSelectPrimaryOrganisation,
295
+ onOrganisationChange
296
+ }) {
297
+ const authContext = useUnifiedAuth();
298
+ if (!authContext) {
299
+ console.warn("OrganisationProvider: No auth context available. Make sure OrganisationProvider is used inside UnifiedAuthProvider.");
300
+ return /* @__PURE__ */ jsx(Fragment, { children });
301
+ }
302
+ const { supabase, user, session } = authContext;
303
+ if (!supabase) {
304
+ console.warn("OrganisationProvider: No supabase client available.");
305
+ return /* @__PURE__ */ jsx(Fragment, { children });
306
+ }
307
+ return /* @__PURE__ */ jsx(
308
+ OrganisationServiceProvider,
309
+ {
310
+ supabaseClient: supabase,
311
+ user,
312
+ session,
313
+ children
314
+ }
315
+ );
316
+ }
324
317
 
325
318
  // src/components/InactivityWarningModal/InactivityWarningModal.tsx
326
319
  import { useEffect, useState, useCallback } from "react";
327
320
  import { Clock, AlertTriangle } from "lucide-react";
328
- import { jsx, jsxs } from "react/jsx-runtime";
321
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
329
322
  function InactivityWarningModal({
330
323
  isOpen,
331
324
  timeRemaining,
@@ -344,31 +337,31 @@ function InactivityWarningModal({
344
337
  const secs = seconds % 60;
345
338
  return `${mins.toString().padStart(2, "0")}:${secs.toString().padStart(2, "0")}`;
346
339
  }, []);
347
- return /* @__PURE__ */ jsx(Dialog, { open: isOpen, onOpenChange: (open) => !open && onStaySignedIn(), children: /* @__PURE__ */ jsxs(
340
+ return /* @__PURE__ */ jsx2(Dialog, { open: isOpen, onOpenChange: (open) => !open && onStaySignedIn(), children: /* @__PURE__ */ jsxs(
348
341
  DialogContent,
349
342
  {
350
- className: `sm:max-w-md ${className || ""}`,
343
+ className: cn("sm:max-w-md", className),
351
344
  preventCloseOnEscape: false,
352
345
  preventCloseOnOutsideClick: true,
353
346
  "data-testid": "inactivity-warning-modal",
354
347
  children: [
355
348
  /* @__PURE__ */ jsxs(DialogHeader, { children: [
356
349
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
357
- /* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx(AlertTriangle, { className: "h-6 w-6 text-acc-600" }) }),
358
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(DialogTitle, { className: "text-lg font-semibold text-main-900", children: title }) })
350
+ /* @__PURE__ */ jsx2("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx2(AlertTriangle, { className: "h-6 w-6 text-acc-600" }) }),
351
+ /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(DialogTitle, { className: "text-lg font-semibold text-main-900", children: title }) })
359
352
  ] }),
360
- /* @__PURE__ */ jsx(DialogDescription, { className: "text-main-700 mt-2", children: description })
353
+ /* @__PURE__ */ jsx2(DialogDescription, { className: "text-main-700 mt-2", children: description })
361
354
  ] }),
362
355
  /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
363
356
  /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
364
357
  /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-2 px-4 py-3 bg-acc-50 border border-acc-200 rounded-lg", children: [
365
- /* @__PURE__ */ jsx(Clock, { className: "h-5 w-5 text-acc-600" }),
366
- /* @__PURE__ */ jsx("span", { className: "text-2xl font-mono font-bold text-acc-700", children: formatTime2(displayTime) })
358
+ /* @__PURE__ */ jsx2(Clock, { className: "h-5 w-5 text-acc-600" }),
359
+ /* @__PURE__ */ jsx2("span", { className: "text-2xl font-mono font-bold text-acc-700", children: formatTime2(displayTime) })
367
360
  ] }),
368
- /* @__PURE__ */ jsx("p", { className: "text-sm text-main-600 mt-2", children: "Time remaining before automatic logout" })
361
+ /* @__PURE__ */ jsx2("p", { className: "text-sm text-main-600 mt-2", children: "Time remaining before automatic logout" })
369
362
  ] }),
370
363
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row gap-3", children: [
371
- /* @__PURE__ */ jsx(
364
+ /* @__PURE__ */ jsx2(
372
365
  Button,
373
366
  {
374
367
  onClick: onStaySignedIn,
@@ -377,7 +370,7 @@ function InactivityWarningModal({
377
370
  children: "Stay Signed In"
378
371
  }
379
372
  ),
380
- /* @__PURE__ */ jsx(
373
+ /* @__PURE__ */ jsx2(
381
374
  Button,
382
375
  {
383
376
  onClick: onSignOutNow,
@@ -388,15 +381,230 @@ function InactivityWarningModal({
388
381
  }
389
382
  )
390
383
  ] }),
391
- /* @__PURE__ */ jsx("div", { className: "text-xs text-main-500 text-center", children: /* @__PURE__ */ jsx("p", { children: "For security reasons, you'll be automatically signed out after 30 minutes of inactivity." }) })
384
+ /* @__PURE__ */ jsx2("div", { className: "text-xs text-main-500 text-center", children: /* @__PURE__ */ jsx2("p", { children: "For security reasons, you'll be automatically signed out after 30 minutes of inactivity." }) })
392
385
  ] })
393
386
  ]
394
387
  }
395
388
  ) });
396
389
  }
397
390
 
398
- // src/index.ts
399
- init_useInactivityTracker();
391
+ // src/hooks/useInactivityTracker.ts
392
+ import { useState as useState2, useEffect as useEffect2, useCallback as useCallback2, useRef } from "react";
393
+ var ACTIVITY_EVENTS = [
394
+ "mousedown",
395
+ "mousemove",
396
+ "mouseup",
397
+ "click",
398
+ "scroll",
399
+ "wheel",
400
+ "touchstart",
401
+ "touchmove",
402
+ "touchend",
403
+ "keydown",
404
+ "keyup",
405
+ "keypress",
406
+ "focus",
407
+ "blur",
408
+ "visibilitychange"
409
+ ];
410
+ function throttle(func, limit) {
411
+ let inThrottle;
412
+ return function(...args) {
413
+ if (!inThrottle) {
414
+ func.apply(this, args);
415
+ inThrottle = true;
416
+ setTimeout(() => inThrottle = false, limit);
417
+ }
418
+ };
419
+ }
420
+ function useInactivityTracker({
421
+ idleTimeoutMs = 30 * 60 * 1e3,
422
+ // 30 minutes
423
+ warnBeforeMs = 60 * 1e3,
424
+ // 1 minute
425
+ onIdle,
426
+ onWarning,
427
+ onActivity,
428
+ enabled = true,
429
+ storageKey = "pace-core-inactivity",
430
+ channelName = "pace-core-inactivity"
431
+ } = {}) {
432
+ const [isIdle, setIsIdle] = useState2(false);
433
+ const [timeRemaining, setTimeRemaining] = useState2(idleTimeoutMs);
434
+ const [showWarning, setShowWarning] = useState2(false);
435
+ const [isTracking, setIsTracking] = useState2(false);
436
+ useEffect2(() => {
437
+ if (!enabled) {
438
+ setIsTracking(false);
439
+ setIsIdle(false);
440
+ setShowWarning(false);
441
+ setTimeRemaining(idleTimeoutMs);
442
+ }
443
+ }, [enabled, idleTimeoutMs]);
444
+ const timeoutRef = useRef(null);
445
+ const warningTimeoutRef = useRef(null);
446
+ const countdownIntervalRef = useRef(null);
447
+ const lastActivityRef = useRef(Date.now());
448
+ const channelRef = useRef(null);
449
+ const clearTimers = useCallback2(() => {
450
+ if (timeoutRef.current) {
451
+ clearTimeout(timeoutRef.current);
452
+ timeoutRef.current = null;
453
+ }
454
+ if (warningTimeoutRef.current) {
455
+ clearTimeout(warningTimeoutRef.current);
456
+ warningTimeoutRef.current = null;
457
+ }
458
+ if (countdownIntervalRef.current) {
459
+ clearInterval(countdownIntervalRef.current);
460
+ countdownIntervalRef.current = null;
461
+ }
462
+ }, []);
463
+ const resetActivity = useCallback2((skipActivityCallback = false) => {
464
+ if (!enabled) return;
465
+ const now = Date.now();
466
+ lastActivityRef.current = now;
467
+ clearTimers();
468
+ setIsIdle(false);
469
+ setShowWarning(false);
470
+ setTimeRemaining(idleTimeoutMs);
471
+ if (!skipActivityCallback) {
472
+ onActivity?.();
473
+ }
474
+ const warningTime = idleTimeoutMs - warnBeforeMs;
475
+ if (warningTime > 0) {
476
+ warningTimeoutRef.current = setTimeout(() => {
477
+ setShowWarning(true);
478
+ onWarning?.();
479
+ }, warningTime);
480
+ }
481
+ timeoutRef.current = setTimeout(() => {
482
+ setIsIdle(true);
483
+ onIdle?.();
484
+ }, idleTimeoutMs);
485
+ countdownIntervalRef.current = setInterval(() => {
486
+ const elapsed = Date.now() - lastActivityRef.current;
487
+ const remaining = Math.max(0, idleTimeoutMs - elapsed);
488
+ setTimeRemaining(remaining);
489
+ if (remaining === 0) {
490
+ clearTimers();
491
+ }
492
+ }, 1e3);
493
+ try {
494
+ localStorage.setItem(storageKey, now.toString());
495
+ } catch (error) {
496
+ logger.warn("useInactivityTracker", "Failed to persist activity time:", error);
497
+ }
498
+ try {
499
+ if (channelRef.current) {
500
+ channelRef.current.postMessage({ type: "activity", timestamp: now });
501
+ }
502
+ } catch (error) {
503
+ logger.warn("useInactivityTracker", "Failed to broadcast activity:", error);
504
+ }
505
+ }, [enabled, idleTimeoutMs, warnBeforeMs, onIdle, onWarning, onActivity, storageKey, clearTimers]);
506
+ const startTracking = useCallback2(() => {
507
+ if (!enabled) return;
508
+ setIsTracking(false);
509
+ setIsIdle(false);
510
+ setShowWarning(false);
511
+ setTimeRemaining(idleTimeoutMs);
512
+ clearTimers();
513
+ setIsTracking(true);
514
+ try {
515
+ if (typeof BroadcastChannel !== "undefined") {
516
+ channelRef.current = new BroadcastChannel(channelName);
517
+ channelRef.current.onmessage = (event) => {
518
+ if (event.data.type === "activity") {
519
+ lastActivityRef.current = event.data.timestamp;
520
+ resetActivity();
521
+ }
522
+ };
523
+ }
524
+ } catch (error) {
525
+ logger.warn("useInactivityTracker", "Failed to set up cross-tab communication:", error);
526
+ }
527
+ try {
528
+ const persistedTime = localStorage.getItem(storageKey);
529
+ if (persistedTime) {
530
+ const persistedTimestamp = parseInt(persistedTime, 10);
531
+ const elapsed = Date.now() - persistedTimestamp;
532
+ if (elapsed < idleTimeoutMs) {
533
+ lastActivityRef.current = persistedTimestamp;
534
+ const remaining = idleTimeoutMs - elapsed;
535
+ setTimeRemaining(remaining);
536
+ if (remaining <= warnBeforeMs) {
537
+ setShowWarning(true);
538
+ onWarning?.();
539
+ }
540
+ if (remaining <= 0) {
541
+ setIsIdle(true);
542
+ onIdle?.();
543
+ return;
544
+ }
545
+ }
546
+ }
547
+ } catch (error) {
548
+ logger.warn("useInactivityTracker", "Failed to check persisted activity time:", error);
549
+ }
550
+ const throttledResetActivity = throttle((event) => {
551
+ resetActivity();
552
+ }, 100);
553
+ const addEventListeners = () => {
554
+ ACTIVITY_EVENTS.forEach((event) => {
555
+ document.addEventListener(event, throttledResetActivity, { passive: true });
556
+ });
557
+ };
558
+ const removeEventListeners = () => {
559
+ ACTIVITY_EVENTS.forEach((event) => {
560
+ document.removeEventListener(event, throttledResetActivity);
561
+ });
562
+ };
563
+ addEventListeners();
564
+ resetActivity(true);
565
+ return () => {
566
+ removeEventListeners();
567
+ clearTimers();
568
+ if (channelRef.current) {
569
+ channelRef.current.close();
570
+ channelRef.current = null;
571
+ }
572
+ };
573
+ }, [enabled, isTracking, channelName, storageKey, idleTimeoutMs, warnBeforeMs, onIdle, onWarning]);
574
+ const stopTracking = useCallback2(() => {
575
+ setIsTracking(false);
576
+ clearTimers();
577
+ if (channelRef.current) {
578
+ channelRef.current.close();
579
+ channelRef.current = null;
580
+ }
581
+ }, [clearTimers]);
582
+ useEffect2(() => {
583
+ if (enabled) {
584
+ const cleanup = startTracking();
585
+ return cleanup;
586
+ } else {
587
+ stopTracking();
588
+ }
589
+ }, [enabled, idleTimeoutMs, warnBeforeMs]);
590
+ useEffect2(() => {
591
+ return () => {
592
+ clearTimers();
593
+ if (channelRef.current) {
594
+ channelRef.current.close();
595
+ }
596
+ };
597
+ }, [clearTimers]);
598
+ return {
599
+ isIdle,
600
+ timeRemaining,
601
+ showWarning,
602
+ resetActivity,
603
+ startTracking,
604
+ stopTracking,
605
+ isTracking
606
+ };
607
+ }
400
608
 
401
609
  // src/utils/security/secureDataAccess.ts
402
610
  var createSecureDataAccess = (supabase, organisationId, isSuperAdmin = false) => {
@@ -623,20 +831,6 @@ var createSecureDataAccess = (supabase, organisationId, isSuperAdmin = false) =>
623
831
  ensureOrganisationColumn
624
832
  };
625
833
  };
626
-
627
- // src/utils/storage/index.ts
628
- var StorageUtils = class {
629
- };
630
- StorageUtils.generateFilePath = generateFilePath;
631
- StorageUtils.generateUniqueFileName = generateUniqueFileName;
632
- StorageUtils.extractFileMetadata = extractFileMetadata;
633
- StorageUtils.uploadFile = uploadFile;
634
- StorageUtils.getPublicUrl = getPublicUrl;
635
- StorageUtils.getSignedUrl = getSignedUrl;
636
- StorageUtils.deleteFile = deleteFile;
637
- StorageUtils.downloadFile = downloadFile;
638
- StorageUtils.listFiles = listFiles;
639
- StorageUtils.archiveFile = archiveFile;
640
834
  export {
641
835
  ALL_PERMISSIONS,
642
836
  APP_PATH_MAPPING,
@@ -662,7 +856,6 @@ export {
662
856
  ColumnFactory,
663
857
  DEFAULT_FILE_SIZE_LIMIT,
664
858
  DataTable,
665
- DefaultPublicErrorFallback,
666
859
  Dialog,
667
860
  DialogBody,
668
861
  DialogClose,
@@ -677,20 +870,18 @@ export {
677
870
  EVENT_APP_PERMISSIONS,
678
871
  EnhancedNavigationMenu,
679
872
  ErrorBoundary,
680
- EventLogo,
681
- EventLogoCompact,
682
- EventLogoLarge,
683
- EventServiceProvider as EventProvider,
684
873
  EventSelector,
874
+ EventServiceProvider,
685
875
  FILE_SIZE_LIMITS,
686
876
  FileCategory,
687
877
  FileDisplay,
688
878
  FileUpload,
689
879
  Footer,
690
880
  Form,
881
+ FormField,
691
882
  GLOBAL_PERMISSIONS,
692
883
  Header,
693
- InactivityServiceProvider as InactivityProvider,
884
+ InactivityServiceProvider,
694
885
  InactivityWarningModal,
695
886
  Input,
696
887
  Label,
@@ -700,8 +891,9 @@ export {
700
891
  NavigationMenu,
701
892
  NavigationProvider,
702
893
  ORGANISATION_PERMISSIONS,
703
- OrganisationServiceProvider as OrganisationProvider,
894
+ OrganisationProvider,
704
895
  OrganisationSelector,
896
+ OrganisationServiceProvider,
705
897
  PAGE_PERMISSIONS,
706
898
  PaceAppLayout,
707
899
  PaceLoginPage,
@@ -712,11 +904,6 @@ export {
712
904
  PermissionGuard,
713
905
  Progress,
714
906
  ProtectedRoute,
715
- PublicErrorBoundary,
716
- PublicLoadingSkeleton,
717
- PublicLoadingSpinner,
718
- PublicLoadingSpinnerFullPage,
719
- PublicPageContextChecker,
720
907
  PublicPageFooter,
721
908
  PublicPageHeader,
722
909
  PublicPageLayout,
@@ -724,6 +911,8 @@ export {
724
911
  RBACAuditManager,
725
912
  RBACCache,
726
913
  RBACEngine,
914
+ RBACErrorCode,
915
+ RPCFunction,
727
916
  RoleBasedRouter,
728
917
  STORAGE_CONFIG,
729
918
  SecureDataProvider,
@@ -773,6 +962,7 @@ export {
773
962
  clearPalette,
774
963
  clearPublicEventCache,
775
964
  clearPublicFileDisplayCache,
965
+ clearPublicLogoCache,
776
966
  cn,
777
967
  count,
778
968
  createAuditManager,
@@ -801,7 +991,6 @@ export {
801
991
  generateCSVContent,
802
992
  generateFilePath,
803
993
  generatePublicRoutePath,
804
- generateSSRThemeCSS,
805
994
  generateUniqueFileName,
806
995
  getAccessLevel,
807
996
  getAllStylePaths,
@@ -809,13 +998,13 @@ export {
809
998
  getBucketName,
810
999
  getCurrentAppId,
811
1000
  getCurrentAppName,
812
- getCurrentThemeData,
813
1001
  getFileSizeLimit,
814
1002
  getGlobalAuditManager,
815
1003
  getPermissionMap,
816
1004
  getPermissionsForRole,
817
1005
  getPublicEventCacheStats,
818
1006
  getPublicFileDisplayCacheStats,
1007
+ getPublicLogoCacheStats,
819
1008
  getPublicUrl,
820
1009
  getRBACConfig,
821
1010
  getRBACLogger,
@@ -829,7 +1018,6 @@ export {
829
1018
  hasPermissionCached,
830
1019
  isDebugMode,
831
1020
  isDevelopmentMode,
832
- isDynamicThemingActive,
833
1021
  isPermitted,
834
1022
  isPermittedCached,
835
1023
  isValidPermission,
@@ -850,7 +1038,6 @@ export {
850
1038
  useAuthService,
851
1039
  useCachedPermissions,
852
1040
  useCan,
853
- useErrorBoundary,
854
1041
  useEventService,
855
1042
  useEventTheme,
856
1043
  useEvents,
@@ -873,9 +1060,9 @@ export {
873
1060
  usePermissions,
874
1061
  usePublicEvent,
875
1062
  usePublicEventCode,
1063
+ usePublicEventLogo,
876
1064
  usePublicFileDisplay,
877
- usePublicPageContext2 as usePublicPageContext,
878
- usePublicPageContext as usePublicPageProviderContext,
1065
+ usePublicPageContext,
879
1066
  usePublicRouteParams,
880
1067
  useRBAC,
881
1068
  useResolvedScope,
@@ -883,6 +1070,7 @@ export {
883
1070
  useRoleBasedRouter,
884
1071
  useRoleManagement,
885
1072
  useSecureData,
1073
+ useSecureSupabase,
886
1074
  useSessionRestoration,
887
1075
  useSessionTracking,
888
1076
  useToast,