@jmruthers/pace-core 0.5.135 → 0.5.136

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 (522) hide show
  1. package/dist/{DataTable-C7GaRZye.d.ts → DataTable-CWAZZcXC.d.ts} +1 -1
  2. package/dist/{DataTable-A36PJG6N.js → DataTable-CYOHOX3O.js} +25 -13
  3. package/dist/{PublicLoadingSpinner-CUAnTvcg.d.ts → EventLogo-801uofbR.d.ts} +51 -135
  4. package/dist/UnifiedAuthProvider-5E5TUNMS.js +17 -0
  5. package/dist/{UnifiedAuthProvider-BVKmQd9u.d.ts → UnifiedAuthProvider-DJxGTftH.d.ts} +1 -1
  6. package/dist/{api-TNIBJWLM.js → api-45XYYO2A.js} +4 -3
  7. package/dist/{audit-T36HM7IM.js → audit-64X3VJXB.js} +3 -2
  8. package/dist/{chunk-CTJRBUX2.js → chunk-2TWNJ46Y.js} +2 -2
  9. package/dist/{chunk-UJI6WSMD.js → chunk-444EZN6N.js} +3 -3
  10. package/dist/chunk-444EZN6N.js.map +1 -0
  11. package/dist/{chunk-3CG5L6RN.js → chunk-4MT5BGGL.js} +90 -73
  12. package/dist/chunk-4MT5BGGL.js.map +1 -0
  13. package/dist/{chunk-PYUXFQJ3.js → chunk-56XJ3TU6.js} +2 -2
  14. package/dist/chunk-56XJ3TU6.js.map +1 -0
  15. package/dist/chunk-5DPZ5EAT.js +60 -0
  16. package/dist/chunk-5DPZ5EAT.js.map +1 -0
  17. package/dist/{chunk-66C4BSAY.js → chunk-ANBQRTPX.js} +9 -2
  18. package/dist/chunk-ANBQRTPX.js.map +1 -0
  19. package/dist/chunk-APIBCTL2.js +670 -0
  20. package/dist/chunk-APIBCTL2.js.map +1 -0
  21. package/dist/{chunk-GKHF54DI.js → chunk-BESYRHQM.js} +10 -4
  22. package/dist/chunk-BESYRHQM.js.map +1 -0
  23. package/dist/{chunk-WP5I5GLN.js → chunk-BVYWGZVV.js} +112 -97
  24. package/dist/chunk-BVYWGZVV.js.map +1 -0
  25. package/dist/{chunk-GEVIB2UB.js → chunk-ERISIBYU.js} +14 -5
  26. package/dist/chunk-ERISIBYU.js.map +1 -0
  27. package/dist/{chunk-CQZU6TFE.js → chunk-FHWWBIHA.js} +100 -62
  28. package/dist/chunk-FHWWBIHA.js.map +1 -0
  29. package/dist/{chunk-O3NWNXDY.js → chunk-FMUCXFII.js} +2 -2
  30. package/dist/chunk-FMUCXFII.js.map +1 -0
  31. package/dist/{chunk-GVDR7WNV.js → chunk-HJGGOMQ6.js} +194 -518
  32. package/dist/chunk-HJGGOMQ6.js.map +1 -0
  33. package/dist/{chunk-BDZUMRBD.js → chunk-K2WWTH7O.js} +13 -6
  34. package/dist/chunk-K2WWTH7O.js.map +1 -0
  35. package/dist/{chunk-BYXRHAIF.js → chunk-L6PGMCMD.js} +23 -14
  36. package/dist/chunk-L6PGMCMD.js.map +1 -0
  37. package/dist/chunk-LMC26NLJ.js +84 -0
  38. package/dist/chunk-LMC26NLJ.js.map +1 -0
  39. package/dist/{chunk-M6DDYFUD.js → chunk-LS353YLY.js} +19 -16
  40. package/dist/chunk-LS353YLY.js.map +1 -0
  41. package/dist/{chunk-ZYZCRSBD.js → chunk-LTV3XIJJ.js} +16 -11
  42. package/dist/chunk-LTV3XIJJ.js.map +1 -0
  43. package/dist/{chunk-HMNOSGVA.js → chunk-NOHEVYVX.js} +377 -666
  44. package/dist/chunk-NOHEVYVX.js.map +1 -0
  45. package/dist/{chunk-JCQZ6LA7.js → chunk-Q5QRDWKI.js} +9 -3
  46. package/dist/chunk-Q5QRDWKI.js.map +1 -0
  47. package/dist/chunk-S5OFRT4M.js +94 -0
  48. package/dist/chunk-S5OFRT4M.js.map +1 -0
  49. package/dist/{chunk-3DBFLLLU.js → chunk-SBVILCCA.js} +14 -9
  50. package/dist/chunk-SBVILCCA.js.map +1 -0
  51. package/dist/{chunk-TGIY2AR2.js → chunk-SL2YQDR6.js} +4 -3
  52. package/dist/{chunk-TGIY2AR2.js.map → chunk-SL2YQDR6.js.map} +1 -1
  53. package/dist/{chunk-VZ5OR6HD.js → chunk-TVYPTYOY.js} +55 -179
  54. package/dist/chunk-TVYPTYOY.js.map +1 -0
  55. package/dist/{chunk-ZV77RZMU.js → chunk-XARJS7CD.js} +2 -2
  56. package/dist/chunk-XDNLUEXI.js +138 -0
  57. package/dist/chunk-XDNLUEXI.js.map +1 -0
  58. package/dist/{chunk-F64FFPOZ.js → chunk-YLKIDTUK.js} +26 -20
  59. package/dist/chunk-YLKIDTUK.js.map +1 -0
  60. package/dist/{chunk-5F3NDPJV.js → chunk-ZZ2SS7NI.js} +10 -5
  61. package/dist/chunk-ZZ2SS7NI.js.map +1 -0
  62. package/dist/components.d.ts +7 -287
  63. package/dist/components.js +26 -157
  64. package/dist/components.js.map +1 -1
  65. package/dist/{file-reference-C9isKNPn.d.ts → file-reference-C6Gkn77H.d.ts} +1 -1
  66. package/dist/{formatting-DFcCxUEk.d.ts → formatting-CvUXy2mF.d.ts} +1 -1
  67. package/dist/hooks.d.ts +3 -3
  68. package/dist/hooks.js +22 -16
  69. package/dist/hooks.js.map +1 -1
  70. package/dist/index.d.ts +101 -9
  71. package/dist/index.js +43 -31
  72. package/dist/index.js.map +1 -1
  73. package/dist/providers.d.ts +1 -1
  74. package/dist/providers.js +5 -4
  75. package/dist/rbac/index.js +13 -12
  76. package/dist/styles/index.js +2 -1
  77. package/dist/theming/runtime.d.ts +2 -19
  78. package/dist/theming/runtime.js +2 -1
  79. package/dist/{types-D5rqZQXk.d.ts → types-Dfz9dmVH.d.ts} +12 -1
  80. package/dist/types.d.ts +2 -2
  81. package/dist/types.js +1 -1
  82. package/dist/{useInactivityTracker-MRUU55XI.js → useInactivityTracker-TO6ZOF35.js} +3 -2
  83. package/dist/{usePublicRouteParams-Dyt1tzI9.d.ts → usePublicRouteParams-B7PabvuH.d.ts} +1 -1
  84. package/dist/utils.d.ts +195 -232
  85. package/dist/utils.js +173 -331
  86. package/dist/utils.js.map +1 -1
  87. package/dist/{validation-DnhrNMju.d.ts → validation-8npbysjg.d.ts} +26 -8
  88. package/dist/validation.d.ts +261 -10
  89. package/dist/validation.js +82 -440
  90. package/dist/validation.js.map +1 -1
  91. package/docs/api/classes/ColumnFactory.md +1 -1
  92. package/docs/api/classes/ErrorBoundary.md +6 -6
  93. package/docs/api/classes/InvalidScopeError.md +1 -1
  94. package/docs/api/classes/MissingUserContextError.md +1 -1
  95. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  96. package/docs/api/classes/PermissionDeniedError.md +1 -1
  97. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  98. package/docs/api/classes/RBACAuditManager.md +6 -6
  99. package/docs/api/classes/RBACCache.md +1 -1
  100. package/docs/api/classes/RBACEngine.md +7 -7
  101. package/docs/api/classes/RBACError.md +1 -1
  102. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  103. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  104. package/docs/api/classes/StorageUtils.md +1 -1
  105. package/docs/api/enums/FileCategory.md +1 -1
  106. package/docs/api/interfaces/AggregateConfig.md +4 -4
  107. package/docs/api/interfaces/ButtonProps.md +1 -1
  108. package/docs/api/interfaces/CardProps.md +1 -1
  109. package/docs/api/interfaces/ColorPalette.md +1 -1
  110. package/docs/api/interfaces/ColorShade.md +29 -4
  111. package/docs/api/interfaces/DataAccessRecord.md +9 -9
  112. package/docs/api/interfaces/DataRecord.md +1 -1
  113. package/docs/api/interfaces/DataTableAction.md +18 -18
  114. package/docs/api/interfaces/DataTableColumn.md +61 -1
  115. package/docs/api/interfaces/DataTableProps.md +1 -1
  116. package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
  117. package/docs/api/interfaces/EmptyStateConfig.md +5 -5
  118. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +14 -14
  119. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  120. package/docs/api/interfaces/EventLogoProps.md +152 -0
  121. package/docs/api/interfaces/ExportColumn.md +1 -1
  122. package/docs/api/interfaces/ExportOptions.md +8 -8
  123. package/docs/api/interfaces/FileDisplayProps.md +15 -15
  124. package/docs/api/interfaces/FileMetadata.md +1 -1
  125. package/docs/api/interfaces/FileReference.md +1 -1
  126. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  127. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  128. package/docs/api/interfaces/FileUploadProps.md +1 -1
  129. package/docs/api/interfaces/FooterProps.md +1 -1
  130. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  131. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  132. package/docs/api/interfaces/InputProps.md +1 -1
  133. package/docs/api/interfaces/LabelProps.md +1 -1
  134. package/docs/api/interfaces/LoginFormProps.md +1 -1
  135. package/docs/api/interfaces/NavigationAccessRecord.md +10 -10
  136. package/docs/api/interfaces/NavigationContextType.md +9 -9
  137. package/docs/api/interfaces/NavigationGuardProps.md +10 -10
  138. package/docs/api/interfaces/NavigationItem.md +1 -1
  139. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  140. package/docs/api/interfaces/NavigationProviderProps.md +7 -7
  141. package/docs/api/interfaces/Organisation.md +1 -1
  142. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  143. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  144. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  145. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  146. package/docs/api/interfaces/PaceAppLayoutProps.md +27 -27
  147. package/docs/api/interfaces/PaceLoginPageProps.md +4 -4
  148. package/docs/api/interfaces/PageAccessRecord.md +8 -8
  149. package/docs/api/interfaces/PagePermissionContextType.md +8 -8
  150. package/docs/api/interfaces/PagePermissionGuardProps.md +11 -11
  151. package/docs/api/interfaces/PagePermissionProviderProps.md +7 -7
  152. package/docs/api/interfaces/PaletteData.md +4 -4
  153. package/docs/api/interfaces/PermissionEnforcerProps.md +11 -11
  154. package/docs/api/interfaces/ProtectedRouteProps.md +6 -6
  155. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  156. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  157. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  158. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  159. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  160. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  161. package/docs/api/interfaces/RBACConfig.md +1 -1
  162. package/docs/api/interfaces/RBACLogger.md +1 -1
  163. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  164. package/docs/api/interfaces/RoleBasedRouterContextType.md +8 -8
  165. package/docs/api/interfaces/RoleBasedRouterProps.md +10 -10
  166. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  167. package/docs/api/interfaces/RouteAccessRecord.md +10 -10
  168. package/docs/api/interfaces/RouteConfig.md +10 -10
  169. package/docs/api/interfaces/SecureDataContextType.md +9 -9
  170. package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
  171. package/docs/api/interfaces/SessionRestorationLoaderProps.md +21 -0
  172. package/docs/api/interfaces/StorageConfig.md +1 -1
  173. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  174. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  175. package/docs/api/interfaces/StorageListOptions.md +1 -1
  176. package/docs/api/interfaces/StorageListResult.md +1 -1
  177. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  178. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  179. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  180. package/docs/api/interfaces/StyleImport.md +1 -1
  181. package/docs/api/interfaces/SwitchProps.md +1 -1
  182. package/docs/api/interfaces/ToastActionElement.md +1 -1
  183. package/docs/api/interfaces/ToastProps.md +1 -1
  184. package/docs/api/interfaces/UnifiedAuthContextType.md +53 -53
  185. package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
  186. package/docs/api/interfaces/UseInactivityTrackerOptions.md +9 -9
  187. package/docs/api/interfaces/UseInactivityTrackerReturn.md +8 -8
  188. package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
  189. package/docs/api/interfaces/UsePublicEventReturn.md +5 -5
  190. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +4 -4
  191. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +9 -9
  192. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  193. package/docs/api/interfaces/UseResolvedScopeOptions.md +4 -4
  194. package/docs/api/interfaces/UseResolvedScopeReturn.md +4 -4
  195. package/docs/api/interfaces/UserEventAccess.md +11 -11
  196. package/docs/api/interfaces/UserMenuProps.md +1 -1
  197. package/docs/api/interfaces/UserProfile.md +1 -1
  198. package/docs/api/modules.md +514 -212
  199. package/docs/api-reference/components.md +106 -26
  200. package/docs/architecture/README.md +0 -2
  201. package/docs/implementation-guides/data-tables.md +277 -13
  202. package/docs/implementation-guides/forms.md +1 -16
  203. package/docs/implementation-guides/permission-enforcement.md +8 -2
  204. package/examples/README.md +30 -14
  205. package/examples/STRUCTURE.md +125 -0
  206. package/examples/components/DataTable/HierarchicalActionsExample.tsx +421 -0
  207. package/examples/components/DataTable/HierarchicalExample.tsx +475 -0
  208. package/examples/components/DataTable/InitialPageSizeExample.tsx +177 -0
  209. package/examples/components/DataTable/PerformanceExample.tsx +506 -0
  210. package/examples/components/DataTable/index.ts +13 -0
  211. package/examples/components/Dialog/BasicHtmlTest.tsx +55 -0
  212. package/examples/components/Dialog/DebugHtmlExample.tsx +68 -0
  213. package/examples/components/Dialog/HtmlDialogExample.tsx +202 -0
  214. package/examples/components/Dialog/ScrollableDialogExample.tsx +290 -0
  215. package/examples/components/Dialog/SimpleHtmlTest.tsx +61 -0
  216. package/examples/components/Dialog/SmartDialogExample.tsx +322 -0
  217. package/examples/components/Dialog/index.ts +15 -0
  218. package/examples/components/index.ts +11 -0
  219. package/examples/features/index.ts +12 -0
  220. package/examples/{public-pages → features/public-pages}/CorrectPublicPageImplementation.tsx +1 -1
  221. package/examples/{public-pages → features/public-pages}/PublicEventPage.tsx +1 -1
  222. package/examples/{public-pages → features/public-pages}/PublicPageApp.tsx +1 -1
  223. package/examples/{public-pages → features/public-pages}/PublicPageUsageExample.tsx +1 -1
  224. package/examples/index.ts +11 -3
  225. package/package.json +30 -10
  226. package/src/components/Alert/Alert.tsx +1 -1
  227. package/src/components/Avatar/Avatar.tsx +1 -1
  228. package/src/components/Button/Button.tsx +1 -1
  229. package/src/components/Card/Card.tsx +1 -1
  230. package/src/components/Checkbox/Checkbox.tsx +1 -1
  231. package/src/components/DataTable/DataTable.test.tsx +1 -1
  232. package/src/components/DataTable/DataTable.tsx +1 -30
  233. package/src/components/DataTable/__tests__/DataTable.grouping-aggregation.test.tsx +562 -0
  234. package/src/components/DataTable/__tests__/styles.test.ts +2 -2
  235. package/src/components/DataTable/components/ActionButtons.tsx +0 -15
  236. package/src/components/DataTable/components/DataTableCore.tsx +4 -185
  237. package/src/components/DataTable/components/DataTableErrorBoundary.tsx +1 -1
  238. package/src/components/DataTable/components/DataTableModals.tsx +1 -27
  239. package/src/components/DataTable/components/EditableRow.tsx +1 -1
  240. package/src/components/DataTable/components/ImportModal.tsx +2 -14
  241. package/src/components/DataTable/components/PaginationControls.tsx +1 -1
  242. package/src/components/DataTable/components/UnifiedTableBody.tsx +109 -82
  243. package/src/components/DataTable/components/__tests__/ActionButtons.test.tsx +1 -1
  244. package/src/components/DataTable/components/__tests__/DataTableErrorBoundary.test.tsx +1 -1
  245. package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +1 -1
  246. package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +1 -1
  247. package/src/components/DataTable/examples/GroupingAggregationExample.tsx +273 -0
  248. package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +1 -1
  249. package/src/components/DataTable/examples/__tests__/HierarchicalActionsExample.test.tsx +1 -1
  250. package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +1 -1
  251. package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +1 -1
  252. package/src/components/DataTable/hooks/useDataTablePermissions.ts +2 -23
  253. package/src/components/DataTable/index.ts +4 -0
  254. package/src/components/DataTable/styles.ts +1 -1
  255. package/src/components/DataTable/types.ts +13 -0
  256. package/src/components/DataTable/utils/__tests__/exportUtils.test.ts +1 -1
  257. package/src/components/DataTable/utils/aggregationUtils.ts +161 -0
  258. package/src/components/DataTable/utils/exportUtils.ts +1 -1
  259. package/src/components/DataTable/utils/flexibleImport.ts +1 -11
  260. package/src/components/DataTable/utils/index.ts +1 -0
  261. package/src/components/DataTable/utils/paginationUtils.ts +1 -1
  262. package/src/components/Dialog/Dialog.tsx +2 -2
  263. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +35 -7
  264. package/src/components/ErrorBoundary/ErrorBoundary.tsx +5 -4
  265. package/src/components/EventSelector/EventSelector.tsx +3 -2
  266. package/src/components/FileDisplay/FileDisplay.tsx +2 -36
  267. package/src/components/FileUpload/FileUpload.test.tsx +2 -2
  268. package/src/components/FileUpload/FileUpload.tsx +2 -2
  269. package/src/components/Footer/Footer.tsx +1 -1
  270. package/src/components/Form/Form.test.tsx +4 -509
  271. package/src/components/Form/Form.tsx +1 -1
  272. package/src/components/Form/FormField.tsx +1 -1
  273. package/src/components/Form/index.ts +0 -12
  274. package/src/components/Header/Header.tsx +1 -1
  275. package/src/components/Input/Input.tsx +1 -1
  276. package/src/components/Label/Label.tsx +1 -1
  277. package/src/components/LoginForm/LoginForm.tsx +1 -1
  278. package/src/components/NavigationMenu/NavigationMenu.test.tsx +19 -3
  279. package/src/components/NavigationMenu/NavigationMenu.tsx +9 -8
  280. package/src/components/OrganisationSelector/OrganisationSelector.tsx +4 -3
  281. package/src/components/PaceAppLayout/PaceAppLayout.tsx +14 -12
  282. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +0 -16
  283. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +0 -1
  284. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +0 -9
  285. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +35 -3
  286. package/src/components/PaceLoginPage/PaceLoginPage.tsx +13 -12
  287. package/src/components/PasswordReset/PasswordChangeForm.tsx +1 -1
  288. package/src/components/PasswordReset/index.ts +0 -2
  289. package/src/components/Progress/Progress.tsx +1 -1
  290. package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +35 -8
  291. package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -2
  292. package/src/components/PublicLayout/PublicErrorBoundary.tsx +1 -1
  293. package/src/components/PublicLayout/PublicLoadingSpinner.tsx +1 -1
  294. package/src/components/PublicLayout/PublicPageContextChecker.tsx +44 -43
  295. package/src/components/PublicLayout/PublicPageFooter.tsx +1 -1
  296. package/src/components/PublicLayout/PublicPageHeader.tsx +1 -15
  297. package/src/components/PublicLayout/PublicPageProvider.tsx +3 -2
  298. package/src/components/PublicLayout/__tests__/PublicPageContextChecker.test.tsx +2 -0
  299. package/src/components/PublicLayout/index.ts +4 -2
  300. package/src/components/Select/Select.tsx +1 -1
  301. package/src/components/{SessionRestorationLoader.tsx → SessionRestorationLoader/SessionRestorationLoader.tsx} +3 -2
  302. package/src/components/SessionRestorationLoader/index.ts +3 -0
  303. package/src/components/Switch/Switch.tsx +1 -1
  304. package/src/components/Table/Table.tsx +1 -1
  305. package/src/components/Toast/Toast.tsx +1 -1
  306. package/src/components/Tooltip/Tooltip.tsx +1 -1
  307. package/src/components/index.ts +4 -10
  308. package/src/hooks/__tests__/hooks.integration.test.tsx +37 -22
  309. package/src/hooks/__tests__/useComponentPerformance.unit.test.tsx +33 -17
  310. package/src/hooks/__tests__/useDataTablePerformance.unit.test.ts +28 -3
  311. package/src/hooks/__tests__/useFileDisplay.unit.test.ts +36 -9
  312. package/src/hooks/__tests__/useInactivityTracker.unit.test.ts +26 -2
  313. package/src/hooks/__tests__/usePerformanceMonitor.unit.test.ts +19 -6
  314. package/src/hooks/__tests__/usePermissionCache.simple.test.ts +17 -4
  315. package/src/hooks/__tests__/usePermissionCache.unit.test.ts +17 -4
  316. package/src/hooks/__tests__/usePublicEvent.simple.test.ts +26 -6
  317. package/src/hooks/__tests__/usePublicFileDisplay.test.ts +16 -6
  318. package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +3 -3
  319. package/src/hooks/__tests__/useSessionRestoration.unit.test.tsx +17 -3
  320. package/src/hooks/public/usePublicEvent.ts +7 -6
  321. package/src/hooks/public/usePublicEventLogo.ts +7 -4
  322. package/src/hooks/public/usePublicFileDisplay.ts +6 -150
  323. package/src/hooks/useComponentPerformance.ts +4 -1
  324. package/src/hooks/useDataTablePerformance.ts +4 -3
  325. package/src/hooks/useEventTheme.test.ts +18 -5
  326. package/src/hooks/useEventTheme.ts +4 -1
  327. package/src/hooks/useEvents.ts +2 -0
  328. package/src/hooks/useFileDisplay.ts +9 -8
  329. package/src/hooks/useFileReference.ts +4 -1
  330. package/src/hooks/useFileUrl.ts +4 -1
  331. package/src/hooks/useInactivityTracker.ts +5 -4
  332. package/src/hooks/useOrganisationSecurity.test.ts +33 -12
  333. package/src/hooks/useOrganisationSecurity.ts +8 -7
  334. package/src/hooks/usePerformanceMonitor.ts +6 -3
  335. package/src/hooks/usePermissionCache.ts +13 -6
  336. package/src/hooks/useSecureDataAccess.test.ts +2 -2
  337. package/src/hooks/useSecureDataAccess.ts +9 -8
  338. package/src/hooks/useSessionRestoration.ts +4 -1
  339. package/src/hooks/useStorage.ts +4 -1
  340. package/src/index.ts +16 -7
  341. package/src/providers/services/AuthServiceProvider.tsx +3 -2
  342. package/src/providers/services/EventServiceProvider.tsx +2 -1
  343. package/src/providers/services/InactivityServiceProvider.tsx +2 -1
  344. package/src/providers/services/OrganisationServiceProvider.tsx +2 -1
  345. package/src/providers/services/UnifiedAuthProvider.tsx +4 -3
  346. package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +22 -2
  347. package/src/providers/services/__tests__/UnifiedAuthProvider.integration.test.tsx +24 -2
  348. package/src/rbac/__tests__/cache-invalidation.test.ts +20 -6
  349. package/src/rbac/api.ts +5 -2
  350. package/src/rbac/audit-enhanced.ts +6 -6
  351. package/src/rbac/audit.test.ts +60 -38
  352. package/src/rbac/audit.ts +8 -8
  353. package/src/rbac/cache-invalidation.ts +7 -4
  354. package/src/rbac/components/EnhancedNavigationMenu.tsx +11 -5
  355. package/src/rbac/components/NavigationGuard.tsx +7 -3
  356. package/src/rbac/components/NavigationProvider.tsx +6 -3
  357. package/src/rbac/components/PagePermissionGuard.tsx +28 -16
  358. package/src/rbac/components/PagePermissionProvider.tsx +4 -1
  359. package/src/rbac/components/PermissionEnforcer.tsx +9 -3
  360. package/src/rbac/components/RoleBasedRouter.tsx +3 -1
  361. package/src/rbac/components/SecureDataProvider.tsx +7 -3
  362. package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +87 -61
  363. package/src/rbac/components/__tests__/NavigationGuard.test.tsx +83 -33
  364. package/src/rbac/components/__tests__/NavigationProvider.test.tsx +36 -13
  365. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +2 -2
  366. package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +22 -8
  367. package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +19 -6
  368. package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +43 -17
  369. package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +42 -17
  370. package/src/rbac/engine.ts +15 -7
  371. package/src/rbac/hooks/usePermissions.ts +7 -3
  372. package/src/rbac/hooks/useResolvedScope.test.ts +2 -2
  373. package/src/rbac/hooks/useResolvedScope.ts +10 -7
  374. package/src/rbac/permissions.ts +5 -2
  375. package/src/rbac/security.test.ts +27 -16
  376. package/src/rbac/security.ts +5 -4
  377. package/src/services/AuthService.ts +22 -21
  378. package/src/services/EventService.ts +12 -12
  379. package/src/services/InactivityService.ts +5 -4
  380. package/src/services/OrganisationService.ts +26 -25
  381. package/src/services/__tests__/AuthService.test.ts +51 -19
  382. package/src/services/__tests__/EventService.test.ts +37 -5
  383. package/src/services/__tests__/InactivityService.test.ts +38 -4
  384. package/src/services/__tests__/OrganisationService.test.ts +3 -8
  385. package/src/services/base/BaseService.ts +3 -1
  386. package/src/theming/__tests__/runtime.test.ts +21 -12
  387. package/src/theming/parseEventColours.ts +5 -19
  388. package/src/theming/runtime.ts +8 -4
  389. package/src/types/validation.ts +2 -29
  390. package/src/utils/__tests__/appConfig.unit.test.ts +1 -1
  391. package/src/utils/__tests__/audit.unit.test.ts +1 -1
  392. package/src/utils/__tests__/auth-utils.unit.test.ts +1 -1
  393. package/src/utils/__tests__/bundleAnalysis.unit.test.ts +19 -19
  394. package/src/utils/__tests__/cn.unit.test.ts +1 -1
  395. package/src/utils/__tests__/debugLogger.test.ts +1 -1
  396. package/src/utils/__tests__/deviceFingerprint.unit.test.ts +1 -1
  397. package/src/utils/__tests__/dynamicUtils.unit.test.ts +1 -1
  398. package/src/utils/__tests__/formatting.unit.test.ts +1 -1
  399. package/src/utils/__tests__/lazyLoad.unit.test.tsx +1 -1
  400. package/src/utils/__tests__/logger.unit.test.ts +1 -1
  401. package/src/utils/__tests__/organisationContext.unit.test.ts +1 -1
  402. package/src/utils/__tests__/performanceBenchmark.test.ts +1 -1
  403. package/src/utils/__tests__/performanceBudgets.unit.test.ts +1 -1
  404. package/src/utils/__tests__/permissionTypes.unit.test.ts +1 -1
  405. package/src/utils/__tests__/permissionUtils.unit.test.ts +1 -1
  406. package/src/utils/__tests__/sanitization.unit.test.ts +1 -1
  407. package/src/utils/__tests__/schemaUtils.unit.test.ts +1 -1
  408. package/src/utils/__tests__/secureDataAccess.unit.test.ts +1 -1
  409. package/src/utils/__tests__/secureErrors.unit.test.ts +33 -15
  410. package/src/utils/__tests__/secureStorage.unit.test.ts +1 -1
  411. package/src/utils/__tests__/security.unit.test.ts +40 -18
  412. package/src/utils/__tests__/securityMonitor.unit.test.ts +1 -1
  413. package/src/utils/__tests__/sessionTracking.unit.test.ts +40 -29
  414. package/src/utils/__tests__/validationUtils.unit.test.ts +19 -6
  415. package/src/utils/{appIdResolver.test.ts → app/appIdResolver.test.ts} +28 -30
  416. package/src/utils/{appIdResolver.ts → app/appIdResolver.ts} +8 -5
  417. package/src/utils/{appNameResolver.test.ts → app/appNameResolver.test.ts} +1 -1
  418. package/src/utils/{appNameResolver.ts → app/appNameResolver.ts} +5 -1
  419. package/src/utils/{organisationContext.ts → context/organisationContext.ts} +6 -3
  420. package/src/utils/{sessionTracking.ts → context/sessionTracking.ts} +11 -12
  421. package/src/utils/{logger.ts → core/logger.ts} +4 -2
  422. package/src/utils/{deviceFingerprint.ts → device/deviceFingerprint.ts} +1 -1
  423. package/src/utils/{lazyLoad.tsx → dynamic/lazyLoad.tsx} +2 -2
  424. package/src/utils/{file-reference.test.ts → file-reference/__tests__/file-reference.test.ts} +5 -5
  425. package/src/utils/{file-reference.ts → file-reference/index.ts} +20 -38
  426. package/src/utils/index.ts +32 -54
  427. package/src/utils/{secureErrors.ts → security/secureErrors.ts} +6 -3
  428. package/src/utils/{security.ts → security/security.ts} +5 -2
  429. package/src/utils/storage/__tests__/helpers.unit.test.ts +1 -4
  430. package/src/utils/storage/helpers.ts +15 -8
  431. package/src/{components/Dialog/utils/__tests__/safeHtml.unit.test.ts → utils/validation/__tests__/htmlSanitization.unit.test.ts} +9 -15
  432. package/src/{validation → utils/validation}/csrf.ts +1 -1
  433. package/src/{components/Dialog/utils/safeHtml.ts → utils/validation/htmlSanitization.ts} +9 -10
  434. package/src/utils/validation/index.ts +79 -0
  435. package/src/utils/{sanitization.ts → validation/sanitization.ts} +71 -2
  436. package/src/{validation/schemaUtils.ts → utils/validation/schema.ts} +11 -6
  437. package/src/{validation → utils/validation}/sqlInjectionProtection.ts +2 -0
  438. package/src/utils/{validationUtils.ts → validation/validationUtils.ts} +4 -1
  439. package/src/validation/index.ts +3 -34
  440. package/dist/UnifiedAuthProvider-CQDZRJIS.js +0 -16
  441. package/dist/chunk-24MKLB7U.js +0 -81
  442. package/dist/chunk-24MKLB7U.js.map +0 -1
  443. package/dist/chunk-3CG5L6RN.js.map +0 -1
  444. package/dist/chunk-3DBFLLLU.js.map +0 -1
  445. package/dist/chunk-5F3NDPJV.js.map +0 -1
  446. package/dist/chunk-66C4BSAY.js.map +0 -1
  447. package/dist/chunk-BDZUMRBD.js.map +0 -1
  448. package/dist/chunk-BYXRHAIF.js.map +0 -1
  449. package/dist/chunk-CDQ3PX7L.js +0 -18
  450. package/dist/chunk-CDQ3PX7L.js.map +0 -1
  451. package/dist/chunk-CQZU6TFE.js.map +0 -1
  452. package/dist/chunk-F64FFPOZ.js.map +0 -1
  453. package/dist/chunk-GEVIB2UB.js.map +0 -1
  454. package/dist/chunk-GKHF54DI.js.map +0 -1
  455. package/dist/chunk-GVDR7WNV.js.map +0 -1
  456. package/dist/chunk-HMNOSGVA.js.map +0 -1
  457. package/dist/chunk-JCQZ6LA7.js.map +0 -1
  458. package/dist/chunk-M6DDYFUD.js.map +0 -1
  459. package/dist/chunk-O3NWNXDY.js.map +0 -1
  460. package/dist/chunk-PYUXFQJ3.js.map +0 -1
  461. package/dist/chunk-UJI6WSMD.js.map +0 -1
  462. package/dist/chunk-VZ5OR6HD.js.map +0 -1
  463. package/dist/chunk-WP5I5GLN.js.map +0 -1
  464. package/dist/chunk-ZYZCRSBD.js.map +0 -1
  465. package/src/components/Dialog/README.md +0 -804
  466. package/src/components/Form/FormErrorSummary.tsx +0 -113
  467. package/src/components/Form/FormFieldset.tsx +0 -127
  468. package/src/components/Form/FormLiveRegion.tsx +0 -198
  469. package/src/components/PasswordReset/PasswordResetForm.test.tsx +0 -597
  470. package/src/components/PasswordReset/PasswordResetForm.tsx +0 -201
  471. package/src/components/PublicLayout/PublicPageDebugger.tsx +0 -104
  472. package/src/components/PublicLayout/PublicPageDiagnostic.tsx +0 -162
  473. package/src/components/PublicLayout/__tests__/PublicPageDebugger.test.tsx +0 -185
  474. package/src/examples/CorrectPublicPageImplementation.tsx +0 -304
  475. package/src/examples/PublicEventPage.tsx +0 -287
  476. package/src/examples/PublicPageApp.tsx +0 -321
  477. package/src/examples/PublicPageUsageExample.tsx +0 -218
  478. package/src/utils/schemaUtils.ts +0 -37
  479. package/src/validation/__tests__/common.unit.test.ts +0 -101
  480. package/src/validation/__tests__/csrf.unit.test.ts +0 -365
  481. package/src/validation/__tests__/passwordSchema.unit.test.ts +0 -203
  482. package/src/validation/__tests__/sanitization.unit.test.ts +0 -250
  483. package/src/validation/__tests__/schemaUtils.unit.test.ts +0 -451
  484. package/src/validation/__tests__/sqlInjectionProtection.unit.test.ts +0 -462
  485. package/src/validation/__tests__/user.unit.test.ts +0 -440
  486. package/src/validation/sanitization.ts +0 -96
  487. /package/dist/{DataTable-A36PJG6N.js.map → DataTable-CYOHOX3O.js.map} +0 -0
  488. /package/dist/{UnifiedAuthProvider-CQDZRJIS.js.map → UnifiedAuthProvider-5E5TUNMS.js.map} +0 -0
  489. /package/dist/{api-TNIBJWLM.js.map → api-45XYYO2A.js.map} +0 -0
  490. /package/dist/{audit-T36HM7IM.js.map → audit-64X3VJXB.js.map} +0 -0
  491. /package/dist/{chunk-CTJRBUX2.js.map → chunk-2TWNJ46Y.js.map} +0 -0
  492. /package/dist/{chunk-ZV77RZMU.js.map → chunk-XARJS7CD.js.map} +0 -0
  493. /package/dist/{useInactivityTracker-MRUU55XI.js.map → useInactivityTracker-TO6ZOF35.js.map} +0 -0
  494. /package/examples/{public-pages → features/public-pages}/index.ts +0 -0
  495. /package/examples/{RBAC → features/rbac}/CompleteRBACExample.tsx +0 -0
  496. /package/examples/{RBAC → features/rbac}/EventBasedApp.tsx +0 -0
  497. /package/examples/{RBAC → features/rbac}/PermissionExample.tsx +0 -0
  498. /package/examples/{RBAC → features/rbac}/index.ts +0 -0
  499. /package/src/utils/{appConfig.ts → app/appConfig.ts} +0 -0
  500. /package/src/utils/{appNameResolver.simple.test.ts → app/appNameResolver.simple.test.ts} +0 -0
  501. /package/src/utils/{audit.ts → audit/audit.ts} +0 -0
  502. /package/src/utils/{organisationContext.test.ts → context/organisationContext.test.ts} +0 -0
  503. /package/src/utils/{cn.ts → core/cn.ts} +0 -0
  504. /package/src/utils/{debugLogger.ts → core/debugLogger.ts} +0 -0
  505. /package/src/utils/{dynamicUtils.ts → dynamic/dynamicUtils.ts} +0 -0
  506. /package/src/utils/{formatDate.test.ts → formatting/formatDate.test.ts} +0 -0
  507. /package/src/utils/{formatting.ts → formatting/formatting.ts} +0 -0
  508. /package/src/utils/{bundleAnalysis.ts → performance/bundleAnalysis.ts} +0 -0
  509. /package/src/utils/{performanceBenchmark.ts → performance/performanceBenchmark.ts} +0 -0
  510. /package/src/utils/{performanceBudgets.ts → performance/performanceBudgets.ts} +0 -0
  511. /package/src/utils/{permissionTypes.ts → permissions/permissionTypes.ts} +0 -0
  512. /package/src/utils/{permissionUtils.test.ts → permissions/permissionUtils.test.ts} +0 -0
  513. /package/src/utils/{permissionUtils.ts → permissions/permissionUtils.ts} +0 -0
  514. /package/src/utils/{auth-utils.ts → security/auth-utils.ts} +0 -0
  515. /package/src/utils/{secureDataAccess.test.ts → security/secureDataAccess.test.ts} +0 -0
  516. /package/src/utils/{secureDataAccess.ts → security/secureDataAccess.ts} +0 -0
  517. /package/src/utils/{secureStorage.ts → security/secureStorage.ts} +0 -0
  518. /package/src/utils/{securityMonitor.ts → security/securityMonitor.ts} +0 -0
  519. /package/src/{validation → utils/validation}/common.ts +0 -0
  520. /package/src/{validation → utils/validation}/passwordSchema.ts +0 -0
  521. /package/src/{validation → utils/validation}/user.ts +0 -0
  522. /package/src/utils/{validation.ts → validation/validation.ts} +0 -0
@@ -1,11 +1,16 @@
1
1
  import {
2
2
  init_organisationContext,
3
3
  setOrganisationContext
4
- } from "./chunk-BDZUMRBD.js";
4
+ } from "./chunk-K2WWTH7O.js";
5
5
  import {
6
6
  init_secureStorage,
7
7
  secureStorage
8
- } from "./chunk-UJI6WSMD.js";
8
+ } from "./chunk-444EZN6N.js";
9
+ import {
10
+ createLogger,
11
+ init_logger,
12
+ logger
13
+ } from "./chunk-XDNLUEXI.js";
9
14
  import {
10
15
  __esm
11
16
  } from "./chunk-PLDDJCW6.js";
@@ -15,6 +20,7 @@ var BaseService;
15
20
  var init_BaseService = __esm({
16
21
  "src/services/base/BaseService.ts"() {
17
22
  "use strict";
23
+ init_logger();
18
24
  BaseService = class {
19
25
  constructor() {
20
26
  this.subscribers = [];
@@ -43,7 +49,7 @@ var init_BaseService = __esm({
43
49
  try {
44
50
  callback();
45
51
  } catch (error) {
46
- console.error("[BaseService] Error in subscriber callback:", error);
52
+ logger.error("BaseService", "Error in subscriber callback:", error);
47
53
  }
48
54
  });
49
55
  }
@@ -91,6 +97,7 @@ var init_AuthService = __esm({
91
97
  "src/services/AuthService.ts"() {
92
98
  "use strict";
93
99
  init_BaseService();
100
+ init_logger();
94
101
  AuthService = class extends BaseService {
95
102
  constructor(supabaseClient, appName) {
96
103
  super();
@@ -348,10 +355,10 @@ var init_AuthService = __esm({
348
355
  };
349
356
  this.authLoading = true;
350
357
  this.restorationStartTime = Date.now();
351
- console.debug("[AuthService] Starting session restoration at", this.restorationStartTime);
358
+ logger.debug("AuthService", "Starting session restoration at", this.restorationStartTime);
352
359
  this.notify();
353
360
  this.restorationTimeoutId = setTimeout(() => {
354
- console.warn("[AuthService] Session restoration timed out after", this.restorationTimeoutMs, "ms");
361
+ logger.warn("AuthService", "Session restoration timed out after", this.restorationTimeoutMs, "ms");
355
362
  const timeoutError = new Error(`Session restoration timed out after ${this.restorationTimeoutMs}ms`);
356
363
  timeoutError.name = "SessionRestorationTimeoutError";
357
364
  this.finishSessionRestoration(timeoutError);
@@ -373,9 +380,9 @@ var init_AuthService = __esm({
373
380
  };
374
381
  this.authLoading = false;
375
382
  if (error) {
376
- console.warn("[AuthService] Session restoration finished with error:", error, "duration(ms):", duration ?? "unknown");
383
+ logger.warn("AuthService", "Session restoration finished with error:", error, "duration(ms):", duration ?? "unknown");
377
384
  } else {
378
- console.debug("[AuthService] Session restoration completed successfully in", duration ?? "unknown", "ms");
385
+ logger.debug("AuthService", "Session restoration completed successfully in", duration ?? "unknown", "ms");
379
386
  }
380
387
  this.notify();
381
388
  }
@@ -395,14 +402,14 @@ var init_AuthService = __esm({
395
402
  this.authStateSubscription = this.supabaseClient.auth.onAuthStateChange(
396
403
  (event, session) => {
397
404
  try {
398
- console.debug("[AuthService] Auth state change event received:", event);
405
+ logger.debug("AuthService", "Auth state change event received:", event);
399
406
  if (event === "SIGNED_OUT") {
400
407
  this.session = null;
401
408
  this.user = null;
402
409
  this.authError = null;
403
410
  if (session?.user) {
404
411
  this.trackSession("logout", session).catch((err) => {
405
- console.warn("[AuthService] Failed to track logout session:", err);
412
+ logger.warn("AuthService", "Failed to track logout session:", err);
406
413
  });
407
414
  }
408
415
  } else if (event === "SIGNED_IN" || event === "TOKEN_REFRESHED") {
@@ -413,7 +420,7 @@ var init_AuthService = __esm({
413
420
  }
414
421
  if (event === "SIGNED_IN" && session?.user) {
415
422
  this.trackSession("login", session).catch((err) => {
416
- console.warn("[AuthService] Failed to track login session:", err);
423
+ logger.warn("AuthService", "Failed to track login session:", err);
417
424
  });
418
425
  }
419
426
  } else if (event === "INITIAL_SESSION") {
@@ -435,27 +442,27 @@ var init_AuthService = __esm({
435
442
  this.authLoading = false;
436
443
  this.notify();
437
444
  } catch (error) {
438
- console.warn("[AuthService] Error in auth state change handler:", error);
445
+ logger.warn("AuthService", "Error in auth state change handler:", error);
439
446
  this.authLoading = false;
440
447
  this.notify();
441
448
  }
442
449
  }
443
450
  );
444
451
  } catch (error) {
445
- console.error("[AuthService] Failed to setup auth state listener:", error);
452
+ logger.error("AuthService", "Failed to setup auth state listener:", error);
446
453
  throw error;
447
454
  }
448
455
  }
449
456
  async restoreSession() {
450
457
  if (!this.supabaseClient) {
451
458
  const error = new Error("Supabase client not available during session restoration");
452
- console.error("[AuthService] Unable to restore session:", error);
459
+ logger.error("AuthService", "Unable to restore session:", error);
453
460
  this.finishSessionRestoration(error);
454
461
  return;
455
462
  }
456
463
  this.startSessionRestoration();
457
464
  try {
458
- console.debug("[AuthService] Fetching existing session from Supabase");
465
+ logger.debug("AuthService", "Fetching existing session from Supabase");
459
466
  let currentSession = null;
460
467
  let sessionError = null;
461
468
  try {
@@ -463,12 +470,12 @@ var init_AuthService = __esm({
463
470
  currentSession = data?.session ?? null;
464
471
  sessionError = error ?? null;
465
472
  } catch (error) {
466
- console.debug("[AuthService] getSession unavailable, treating as no active session");
473
+ logger.debug("AuthService", "getSession unavailable, treating as no active session");
467
474
  currentSession = null;
468
475
  sessionError = null;
469
476
  }
470
477
  if (sessionError) {
471
- console.debug("[AuthService] getSession returned error, attempting to fetch user anyway");
478
+ logger.debug("AuthService", "getSession returned error, attempting to fetch user anyway");
472
479
  this.authError = sessionError;
473
480
  try {
474
481
  const { data, error } = await this.supabaseClient.auth.getUser();
@@ -482,7 +489,7 @@ var init_AuthService = __esm({
482
489
  this.authError = userError;
483
490
  }
484
491
  } catch (getUserError) {
485
- console.debug("[AuthService] getUser also failed:", getUserError);
492
+ logger.debug("AuthService", "getUser also failed:", getUserError);
486
493
  }
487
494
  }
488
495
  if (currentSession) {
@@ -490,7 +497,7 @@ var init_AuthService = __esm({
490
497
  this.user = currentSession.user;
491
498
  this.authError = null;
492
499
  } else if (!sessionError) {
493
- console.debug("[AuthService] No active session found; treating as normal unauthenticated state");
500
+ logger.debug("AuthService", "No active session found; treating as normal unauthenticated state");
494
501
  this.session = null;
495
502
  this.user = null;
496
503
  this.authError = null;
@@ -498,7 +505,7 @@ var init_AuthService = __esm({
498
505
  this.finishSessionRestoration();
499
506
  } catch (error) {
500
507
  const restorationError = error instanceof Error ? error : new Error("Unknown error during auth initialization");
501
- console.error("[AuthService] Error during auth initialization:", restorationError);
508
+ logger.error("AuthService", "Error during auth initialization:", restorationError);
502
509
  if (restorationError instanceof AuthError) {
503
510
  this.authError = restorationError;
504
511
  }
@@ -536,26 +543,26 @@ var init_AuthService = __esm({
536
543
  p_device_fingerprint: deviceFingerprint
537
544
  });
538
545
  if (error) {
539
- console.warn(`[AuthService] Failed to track ${sessionType} session:`, error);
546
+ logger.warn("AuthService", `Failed to track ${sessionType} session:`, error);
540
547
  } else {
541
- console.debug(`[AuthService] Successfully tracked ${sessionType} session`);
548
+ logger.debug("AuthService", `Successfully tracked ${sessionType} session`);
542
549
  }
543
550
  } catch (error) {
544
- console.warn(`[AuthService] Error tracking ${sessionType} session:`, error);
551
+ logger.warn("AuthService", `Error tracking ${sessionType} session:`, error);
545
552
  }
546
553
  }
547
554
  setupErrorHandlers() {
548
555
  if (typeof window === "undefined") return;
549
556
  const handleError = (event) => {
550
557
  if (event.error?.message?.includes("AuthSessionMissingError") || event.error?.message?.includes("Auth session missing")) {
551
- console.warn("[AuthService] Suppressing AuthSessionMissingError during logout");
558
+ logger.warn("AuthService", "Suppressing AuthSessionMissingError during logout");
552
559
  event.preventDefault();
553
560
  return false;
554
561
  }
555
562
  };
556
563
  const handleUnhandledRejection = (event) => {
557
564
  if (event.reason?.message?.includes("AuthSessionMissingError") || event.reason?.message?.includes("Auth session missing")) {
558
- console.warn("[AuthService] Suppressing unhandled AuthSessionMissingError");
565
+ logger.warn("AuthService", "Suppressing unhandled AuthSessionMissingError");
559
566
  event.preventDefault();
560
567
  return false;
561
568
  }
@@ -587,7 +594,7 @@ function AuthServiceProvider({ children, supabaseClient, appName }) {
587
594
  setSessionRestoration(restorationState);
588
595
  const isDev = typeof import.meta !== "undefined" && (import.meta.env.DEV || import.meta.env.MODE === "development");
589
596
  if (isDev) {
590
- console.debug("[AuthServiceProvider] Session restoration state updated", restorationState);
597
+ logger.debug("AuthServiceProvider", "Session restoration state updated", restorationState);
591
598
  }
592
599
  });
593
600
  return () => {
@@ -596,7 +603,7 @@ function AuthServiceProvider({ children, supabaseClient, appName }) {
596
603
  }, [authService]);
597
604
  useEffect(() => {
598
605
  authService.initialize().catch((error) => {
599
- console.error("[AuthServiceProvider] Failed to initialize auth service:", error);
606
+ logger.error("AuthServiceProvider", "Failed to initialize auth service:", error);
600
607
  });
601
608
  return () => {
602
609
  authService.cleanup();
@@ -613,6 +620,7 @@ var init_AuthServiceProvider = __esm({
613
620
  "src/providers/services/AuthServiceProvider.tsx"() {
614
621
  "use strict";
615
622
  init_AuthService();
623
+ init_logger();
616
624
  AuthServiceContext = createContext(null);
617
625
  useAuthService = () => {
618
626
  const context = useContext(AuthServiceContext);
@@ -631,6 +639,7 @@ var init_OrganisationService = __esm({
631
639
  "use strict";
632
640
  init_BaseService();
633
641
  init_organisationContext();
642
+ init_logger();
634
643
  OrganisationService = class extends BaseService {
635
644
  constructor(supabaseClient, user, session) {
636
645
  super();
@@ -815,30 +824,30 @@ var init_OrganisationService = __esm({
815
824
  }
816
825
  async setDatabaseOrganisationContext(organisation) {
817
826
  if (!this.supabaseClient || !this.session) {
818
- console.warn("[OrganisationService] No Supabase client or session available for setting organisation context");
827
+ logger.warn("OrganisationService", "No Supabase client or session available for setting organisation context");
819
828
  this._isContextReady = false;
820
829
  this.notify();
821
830
  return;
822
831
  }
823
832
  try {
824
- console.log("[OrganisationService] Setting database organisation context for:", organisation.id);
833
+ logger.debug("OrganisationService", "Setting database organisation context for:", organisation.id);
825
834
  const timeoutPromise = new Promise((_, reject) => {
826
835
  setTimeout(() => reject(new Error("Context setting timeout after 5 seconds")), 5e3);
827
836
  });
828
837
  const contextPromise = setOrganisationContext(this.supabaseClient, organisation.id);
829
838
  await Promise.race([contextPromise, timeoutPromise]);
830
- console.log("[OrganisationService] Database organisation context set successfully");
839
+ logger.debug("OrganisationService", "Database organisation context set successfully");
831
840
  this._isContextReady = true;
832
841
  this.notify();
833
842
  } catch (error) {
834
- console.error("[OrganisationService] Failed to set database organisation context:", error);
843
+ logger.error("OrganisationService", "Failed to set database organisation context:", error);
835
844
  this._isContextReady = true;
836
845
  this.notify();
837
846
  }
838
847
  }
839
848
  async loadUserOrganisations() {
840
849
  const callId = Math.random().toString(36).substr(2, 9);
841
- console.log(`[OrganisationService] Starting loadUserOrganisations call ${callId}`);
850
+ logger.debug("OrganisationService", `Starting loadUserOrganisations call ${callId}`);
842
851
  if (!this.user || !this.session || !this.supabaseClient) {
843
852
  this._selectedOrganisation = null;
844
853
  this._organisations = [];
@@ -849,14 +858,14 @@ var init_OrganisationService = __esm({
849
858
  return;
850
859
  }
851
860
  if (this.isLoadingRef) {
852
- console.log("OrganisationService", "Already loading, skipping duplicate load");
861
+ logger.debug("OrganisationService", "Already loading, skipping duplicate load");
853
862
  this._isLoading = true;
854
863
  this.notify();
855
864
  return;
856
865
  }
857
866
  const now = Date.now();
858
867
  if (now - this.lastLoadTimeRef < 2e3) {
859
- console.log("OrganisationService", "Too soon since last load, skipping");
868
+ logger.debug("OrganisationService", "Too soon since last load, skipping");
860
869
  if (this._organisations.length > 0 || this._selectedOrganisation) {
861
870
  this._isLoading = false;
862
871
  } else {
@@ -876,14 +885,14 @@ var init_OrganisationService = __esm({
876
885
  this._error = null;
877
886
  this.notify();
878
887
  try {
879
- console.log("[OrganisationService] Supabase client ready:", {
888
+ logger.debug("OrganisationService", "Supabase client ready:", {
880
889
  isConnected: !!this.supabaseClient,
881
890
  hasAuth: !!this.supabaseClient.auth,
882
891
  hasRpc: !!this.supabaseClient.rpc
883
892
  });
884
893
  let memberships, membershipError;
885
894
  try {
886
- console.log("[OrganisationService] Making RPC call to data_user_organisation_roles_get...");
895
+ logger.debug("OrganisationService", "Making RPC call to data_user_organisation_roles_get...");
887
896
  const timeoutPromise = new Promise((_, reject) => {
888
897
  const timeoutId = setTimeout(() => reject(new Error("RPC call timeout after 10 seconds")), 1e4);
889
898
  abortSignal.addEventListener("abort", () => {
@@ -899,7 +908,7 @@ var init_OrganisationService = __esm({
899
908
  throw new Error("Request aborted");
900
909
  }
901
910
  const result = await Promise.race([rpcPromise, timeoutPromise]);
902
- console.log("[OrganisationService] RPC call completed:", {
911
+ logger.debug("OrganisationService", "RPC call completed:", {
903
912
  hasData: !!result.data,
904
913
  hasError: !!result.error,
905
914
  dataLength: result.data?.length || 0,
@@ -913,9 +922,9 @@ var init_OrganisationService = __esm({
913
922
  membershipError = queryError;
914
923
  }
915
924
  if (membershipError) {
916
- console.error("[OrganisationService] Error loading memberships:", membershipError);
925
+ logger.error("OrganisationService", "Error loading memberships:", membershipError);
917
926
  if (membershipError.message?.includes("timeout")) {
918
- console.log("[OrganisationService] RPC timed out, trying direct database query as fallback...");
927
+ logger.debug("OrganisationService", "RPC timed out, trying direct database query as fallback...");
919
928
  try {
920
929
  if (abortSignal.aborted) {
921
930
  throw new Error("Request aborted");
@@ -946,14 +955,14 @@ var init_OrganisationService = __esm({
946
955
  )
947
956
  `).eq("user_id", this.user.id).eq("status", "active").is("revoked_at", null).in("role", ["org_admin", "leader", "member"]);
948
957
  if (fallbackError) {
949
- console.error("[OrganisationService] Fallback query also failed:", fallbackError);
958
+ logger.error("OrganisationService", "Fallback query also failed:", fallbackError);
950
959
  throw membershipError;
951
960
  }
952
- console.log("[OrganisationService] Fallback query successful, got", fallbackData?.length || 0, "memberships");
961
+ logger.debug("OrganisationService", "Fallback query successful, got", fallbackData?.length || 0, "memberships");
953
962
  memberships = fallbackData || [];
954
963
  membershipError = null;
955
964
  } catch (fallbackErr) {
956
- console.error("[OrganisationService] Fallback query failed:", fallbackErr);
965
+ logger.error("OrganisationService", "Fallback query failed:", fallbackErr);
957
966
  throw membershipError;
958
967
  }
959
968
  } else {
@@ -965,22 +974,22 @@ var init_OrganisationService = __esm({
965
974
  }
966
975
  const organisationIds = memberships.map((m) => m.organisation_id).filter((id) => {
967
976
  if (!id || typeof id !== "string") {
968
- console.warn("[OrganisationService] Invalid organisation ID (not string):", id);
977
+ logger.warn("OrganisationService", "Invalid organisation ID (not string):", id);
969
978
  return false;
970
979
  }
971
980
  const trimmedId = id.trim();
972
981
  if (trimmedId === "") {
973
- console.warn("[OrganisationService] Empty organisation ID found");
982
+ logger.warn("OrganisationService", "Empty organisation ID found");
974
983
  return false;
975
984
  }
976
985
  const isValidUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmedId);
977
986
  if (!isValidUuid) {
978
- console.warn("[OrganisationService] Invalid UUID format:", trimmedId);
987
+ logger.warn("OrganisationService", "Invalid UUID format:", trimmedId);
979
988
  }
980
989
  return isValidUuid;
981
990
  });
982
991
  if (organisationIds.length === 0) {
983
- console.warn("[OrganisationService] No valid organisation IDs found in memberships:", memberships);
992
+ logger.warn("OrganisationService", "No valid organisation IDs found in memberships:", memberships);
984
993
  throw new Error("No valid organisation IDs found in memberships");
985
994
  }
986
995
  if (abortSignal.aborted) {
@@ -988,7 +997,7 @@ var init_OrganisationService = __esm({
988
997
  }
989
998
  const { data: allOrganisations, error: orgError } = await this.supabaseClient.from("organisations").select("id, name, display_name, subscription_tier, settings, is_active, parent_id, created_at, updated_at");
990
999
  if (orgError) {
991
- console.error("[OrganisationService] Error loading organisations:", orgError);
1000
+ logger.error("OrganisationService", "Error loading organisations:", orgError);
992
1001
  throw orgError;
993
1002
  }
994
1003
  const organisations = allOrganisations?.filter(
@@ -1016,16 +1025,16 @@ var init_OrganisationService = __esm({
1016
1025
  if (validPersistedOrg) {
1017
1026
  initialOrg = validPersistedOrg;
1018
1027
  } else {
1019
- console.warn("[OrganisationService] Persisted organisation not found in active orgs, clearing cache");
1028
+ logger.warn("OrganisationService", "Persisted organisation not found in active orgs, clearing cache");
1020
1029
  localStorage.removeItem("pace-core-selected-organisation");
1021
1030
  }
1022
1031
  } else {
1023
- console.warn("[OrganisationService] Invalid persisted organisation ID, clearing cache");
1032
+ logger.warn("OrganisationService", "Invalid persisted organisation ID, clearing cache");
1024
1033
  localStorage.removeItem("pace-core-selected-organisation");
1025
1034
  }
1026
1035
  }
1027
1036
  } catch (storageError) {
1028
- console.warn("[OrganisationService] Failed to restore persisted organisation:", storageError);
1037
+ logger.warn("OrganisationService", "Failed to restore persisted organisation:", storageError);
1029
1038
  localStorage.removeItem("pace-core-selected-organisation");
1030
1039
  }
1031
1040
  if (!initialOrg) {
@@ -1049,7 +1058,7 @@ var init_OrganisationService = __esm({
1049
1058
  this.retryCount = 0;
1050
1059
  this.hasFailedRef = false;
1051
1060
  } catch (err) {
1052
- console.error("[OrganisationService] Failed to load organisations:", err);
1061
+ logger.error("OrganisationService", "Failed to load organisations:", err);
1053
1062
  this._error = err;
1054
1063
  this.retryCount = this.retryCount + 1;
1055
1064
  this.hasFailedRef = true;
@@ -1094,7 +1103,7 @@ function OrganisationServiceProvider({
1094
1103
  let isMounted = true;
1095
1104
  organisationService.initialize().catch((error) => {
1096
1105
  if (isMounted) {
1097
- console.error("[OrganisationServiceProvider] Failed to initialize organisation service:", error);
1106
+ logger.error("OrganisationServiceProvider", "Failed to initialize organisation service:", error);
1098
1107
  }
1099
1108
  });
1100
1109
  return () => {
@@ -1111,6 +1120,7 @@ var init_OrganisationServiceProvider = __esm({
1111
1120
  "src/providers/services/OrganisationServiceProvider.tsx"() {
1112
1121
  "use strict";
1113
1122
  init_OrganisationService();
1123
+ init_logger();
1114
1124
  OrganisationServiceContext = createContext2(null);
1115
1125
  useOrganisationService = () => {
1116
1126
  const context = useContext2(OrganisationServiceContext);
@@ -1128,6 +1138,7 @@ var init_EventService = __esm({
1128
1138
  "src/services/EventService.ts"() {
1129
1139
  "use strict";
1130
1140
  init_BaseService();
1141
+ init_logger();
1131
1142
  init_secureStorage();
1132
1143
  EventService = class extends BaseService {
1133
1144
  constructor(supabaseClient, user, session, appName, selectedOrganisation, setSelectedEventId) {
@@ -1213,7 +1224,7 @@ var init_EventService = __esm({
1213
1224
  if (event) {
1214
1225
  try {
1215
1226
  if (this.selectedOrganisation && event.organisation_id !== this.selectedOrganisation.id) {
1216
- console.error("[EventService] Event organisation_id does not match selected organisation", {
1227
+ logger.error("EventService", "Event organisation_id does not match selected organisation", {
1217
1228
  eventOrganisationId: event.organisation_id,
1218
1229
  selectedOrganisationId: this.selectedOrganisation.id,
1219
1230
  eventName: event.event_name
@@ -1221,19 +1232,19 @@ var init_EventService = __esm({
1221
1232
  return;
1222
1233
  }
1223
1234
  } catch (error) {
1224
- console.error("[EventService] Error during event validation:", error);
1235
+ logger.error("EventService", "Error during event validation:", error);
1225
1236
  }
1226
1237
  this.selectedEvent = event;
1227
1238
  this.setSelectedEventId?.(event.event_id);
1228
1239
  this.persistEventSelection(event.event_id).catch((error) => {
1229
- console.warn("[EventService] Failed to persist event selection:", error);
1240
+ logger.warn("EventService", "Failed to persist event selection:", error);
1230
1241
  });
1231
1242
  this.userClearedEventRef = false;
1232
1243
  } else {
1233
1244
  this.selectedEvent = null;
1234
1245
  this.setSelectedEventId?.(null);
1235
1246
  this.clearEventSelection().catch((error) => {
1236
- console.warn("[EventService] Failed to clear event selection:", error);
1247
+ logger.warn("EventService", "Failed to clear event selection:", error);
1237
1248
  });
1238
1249
  this.hasAutoSelectedRef = false;
1239
1250
  this.userClearedEventRef = true;
@@ -1263,7 +1274,7 @@ var init_EventService = __esm({
1263
1274
  }
1264
1275
  }
1265
1276
  } catch (error) {
1266
- console.warn("[EventService] Failed to load persisted event:", error);
1277
+ logger.warn("EventService", "Failed to load persisted event:", error);
1267
1278
  }
1268
1279
  return false;
1269
1280
  }
@@ -1285,7 +1296,7 @@ var init_EventService = __esm({
1285
1296
  const storageKey = this.getStorageKey(userId);
1286
1297
  await secureStorage.setItem(storageKey, eventId, { encrypt: true });
1287
1298
  } catch (error) {
1288
- console.warn("[EventService] Failed to persist event selection:", error);
1299
+ logger.warn("EventService", "Failed to persist event selection:", error);
1289
1300
  }
1290
1301
  }
1291
1302
  async clearEventSelection() {
@@ -1296,7 +1307,7 @@ var init_EventService = __esm({
1296
1307
  this.selectedEvent = null;
1297
1308
  this.setSelectedEventId?.(null);
1298
1309
  } catch (error) {
1299
- console.warn("[EventService] Failed to clear event selection:", error);
1310
+ logger.warn("EventService", "Failed to clear event selection:", error);
1300
1311
  }
1301
1312
  }
1302
1313
  /**
@@ -1308,7 +1319,7 @@ var init_EventService = __esm({
1308
1319
  const storageKey = this.getStorageKey(userId);
1309
1320
  await secureStorage.removeItem(storageKey);
1310
1321
  } catch (error) {
1311
- console.warn("[EventService] Failed to clear event selection for user:", error);
1322
+ logger.warn("EventService", "Failed to clear event selection for user:", error);
1312
1323
  }
1313
1324
  }
1314
1325
  autoSelectNextEvent(events) {
@@ -1329,7 +1340,7 @@ var init_EventService = __esm({
1329
1340
  localStorage.removeItem("_sec_pace-core-selected-event");
1330
1341
  }
1331
1342
  } catch (error) {
1332
- console.warn("[EventService] Failed to clean up old storage keys:", error);
1343
+ logger.warn("EventService", "Failed to clean up old storage keys:", error);
1333
1344
  }
1334
1345
  await this.fetchEvents(false);
1335
1346
  }
@@ -1405,7 +1416,7 @@ var init_EventService = __esm({
1405
1416
  }
1406
1417
  }
1407
1418
  } catch (err) {
1408
- console.error("[EventService] Error fetching events:", err);
1419
+ logger.error("EventService", "Error fetching events:", err);
1409
1420
  const _error = err instanceof Error ? err : new Error("Unknown error occurred");
1410
1421
  if (isMounted) {
1411
1422
  this.error = _error;
@@ -1470,7 +1481,7 @@ function EventServiceProvider({
1470
1481
  if (!isMounted) return;
1471
1482
  await eventService.initialize().catch((error) => {
1472
1483
  if (isMounted) {
1473
- console.error("[EventServiceProvider] Failed to initialize event service:", error);
1484
+ logger.error("EventServiceProvider", "Failed to initialize event service:", error);
1474
1485
  }
1475
1486
  });
1476
1487
  };
@@ -1489,6 +1500,7 @@ var init_EventServiceProvider = __esm({
1489
1500
  "src/providers/services/EventServiceProvider.tsx"() {
1490
1501
  "use strict";
1491
1502
  init_EventService();
1503
+ init_logger();
1492
1504
  EventServiceContext = createContext3(null);
1493
1505
  useEventService = () => {
1494
1506
  const context = useContext3(EventServiceContext);
@@ -1506,6 +1518,7 @@ var init_InactivityService = __esm({
1506
1518
  "src/services/InactivityService.ts"() {
1507
1519
  "use strict";
1508
1520
  init_BaseService();
1521
+ init_logger();
1509
1522
  InactivityService = class extends BaseService {
1510
1523
  constructor(supabaseClient, user, session, idleTimeoutMs = 30 * 60 * 1e3, warnBeforeMs = 60 * 1e3, onIdleLogout) {
1511
1524
  super();
@@ -1645,7 +1658,7 @@ var init_InactivityService = __esm({
1645
1658
  await this.supabaseClient.auth.signOut();
1646
1659
  }
1647
1660
  } catch (error) {
1648
- console.error("[InactivityService] Error during idle logout:", error);
1661
+ logger.error("InactivityService", "Error during idle logout:", error);
1649
1662
  }
1650
1663
  this.onIdleLogout?.("inactivity");
1651
1664
  this.notify();
@@ -1665,7 +1678,7 @@ var init_InactivityService = __esm({
1665
1678
  await this.supabaseClient.auth.signOut();
1666
1679
  }
1667
1680
  } catch (error) {
1668
- console.error("[InactivityService] Error during manual sign out:", error);
1681
+ logger.error("InactivityService", "Error during manual sign out:", error);
1669
1682
  }
1670
1683
  this.onIdleLogout?.("inactivity");
1671
1684
  this.notify();
@@ -1692,7 +1705,7 @@ var init_InactivityService = __esm({
1692
1705
  if (typeof window !== "undefined") {
1693
1706
  const isProduction = import.meta.env.MODE === "production";
1694
1707
  if (isProduction) {
1695
- console.warn("[InactivityService] Inactivity feature enabled in production");
1708
+ logger.warn("InactivityService", "Inactivity feature enabled in production");
1696
1709
  }
1697
1710
  }
1698
1711
  }
@@ -1705,7 +1718,7 @@ var init_InactivityService = __esm({
1705
1718
  return;
1706
1719
  }
1707
1720
  try {
1708
- const { useInactivityTracker } = await import("./useInactivityTracker-MRUU55XI.js");
1721
+ const { useInactivityTracker } = await import("./useInactivityTracker-TO6ZOF35.js");
1709
1722
  this.inactivityTracker = {
1710
1723
  isIdle: false,
1711
1724
  timeRemaining: 0,
@@ -1734,7 +1747,7 @@ var init_InactivityService = __esm({
1734
1747
  };
1735
1748
  this.setupEventHandlers();
1736
1749
  } catch (error) {
1737
- console.error("[InactivityService] Failed to setup inactivity tracker:", error);
1750
+ logger.error("InactivityService", "Failed to setup inactivity tracker:", error);
1738
1751
  }
1739
1752
  }
1740
1753
  setupEventHandlers() {
@@ -1836,7 +1849,7 @@ function InactivityServiceProvider({
1836
1849
  let isMounted = true;
1837
1850
  inactivityService.initialize().catch((error) => {
1838
1851
  if (isMounted) {
1839
- console.error("[InactivityServiceProvider] Failed to initialize inactivity service:", error);
1852
+ logger.error("InactivityServiceProvider", "Failed to initialize inactivity service:", error);
1840
1853
  }
1841
1854
  });
1842
1855
  return () => {
@@ -1853,6 +1866,7 @@ var init_InactivityServiceProvider = __esm({
1853
1866
  "src/providers/services/InactivityServiceProvider.tsx"() {
1854
1867
  "use strict";
1855
1868
  init_InactivityService();
1869
+ init_logger();
1856
1870
  InactivityServiceContext = createContext4(null);
1857
1871
  useInactivityService = () => {
1858
1872
  const context = useContext4(InactivityServiceContext);
@@ -1958,7 +1972,7 @@ function useSessionRestoration() {
1958
1972
  if (sessionRestoration.isRestoring && !sessionRestoration.restorationComplete && !sessionRestoration.restorationError) {
1959
1973
  setHasTimedOut(false);
1960
1974
  timeoutHandle = setTimeout(() => {
1961
- console.warn("[useSessionRestoration] Session restoration timed out");
1975
+ log.warn("Session restoration timed out");
1962
1976
  setHasTimedOut(true);
1963
1977
  }, SESSION_RESTORATION_TIMEOUT_MS);
1964
1978
  } else {
@@ -1980,11 +1994,13 @@ function useSessionRestoration() {
1980
1994
  timeoutMs: SESSION_RESTORATION_TIMEOUT_MS
1981
1995
  }), [sessionRestoration, hasTimedOut]);
1982
1996
  }
1983
- var SESSION_RESTORATION_TIMEOUT_MS;
1997
+ var log, SESSION_RESTORATION_TIMEOUT_MS;
1984
1998
  var init_useSessionRestoration = __esm({
1985
1999
  "src/hooks/useSessionRestoration.ts"() {
1986
2000
  "use strict";
1987
2001
  init_AuthServiceProvider();
2002
+ init_logger();
2003
+ log = createLogger("useSessionRestoration");
1988
2004
  SESSION_RESTORATION_TIMEOUT_MS = 5e3;
1989
2005
  }
1990
2006
  });
@@ -2087,7 +2103,7 @@ function UnifiedAuthContextProvider({
2087
2103
  };
2088
2104
  const prevState = prevStateRef.current;
2089
2105
  if (!prevState || prevState.isAuthenticated !== currentState.isAuthenticated || prevState.userEmail !== currentState.userEmail || prevState.totalLoading !== currentState.totalLoading) {
2090
- console.log("[UnifiedAuthContext] Auth state changed:", {
2106
+ logger.debug("UnifiedAuthContext", "Auth state changed:", {
2091
2107
  isAuthenticated: isAuth,
2092
2108
  user: currentUser?.email,
2093
2109
  session: currentSession ? "exists" : "null",
@@ -2357,11 +2373,12 @@ var init_UnifiedAuthProvider = __esm({
2357
2373
  init_useEventService();
2358
2374
  init_useInactivityService();
2359
2375
  init_useSessionRestoration();
2376
+ init_logger();
2360
2377
  UnifiedAuthContext = createContext5(void 0);
2361
2378
  useUnifiedAuth = () => {
2362
2379
  const context = useContext10(UnifiedAuthContext);
2363
2380
  if (!context) {
2364
- console.error("useUnifiedAuth must be used within a UnifiedAuthProvider");
2381
+ logger.error("useUnifiedAuth", "useUnifiedAuth must be used within a UnifiedAuthProvider");
2365
2382
  throw new Error("useUnifiedAuth must be used within a UnifiedAuthProvider");
2366
2383
  }
2367
2384
  return context;
@@ -2400,4 +2417,4 @@ export {
2400
2417
  UnifiedAuthProvider,
2401
2418
  init_UnifiedAuthProvider
2402
2419
  };
2403
- //# sourceMappingURL=chunk-3CG5L6RN.js.map
2420
+ //# sourceMappingURL=chunk-4MT5BGGL.js.map