@jmruthers/pace-core 0.5.135 → 0.5.137

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