@jmruthers/pace-core 0.5.79 → 0.5.80

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 (143) hide show
  1. package/dist/{DataTable-BCBW5SCL.js → DataTable-OOZS7YTJ.js} +6 -6
  2. package/dist/{UnifiedAuthProvider-TSHK77PL.js → UnifiedAuthProvider-K2IZAY5F.js} +3 -3
  3. package/dist/{chunk-WYKXRCXB.js → chunk-5BN3YGNK.js} +157 -53
  4. package/dist/{chunk-WYKXRCXB.js.map → chunk-5BN3YGNK.js.map} +1 -1
  5. package/dist/{chunk-GXWREXH7.js → chunk-CBSD3BZ3.js} +2 -2
  6. package/dist/{chunk-CALYF6HH.js → chunk-I2VVV5PQ.js} +2 -2
  7. package/dist/{chunk-3WFKFBVQ.js → chunk-KUYWZVR2.js} +4 -4
  8. package/dist/{chunk-TI67X46U.js → chunk-MJWN5JKI.js} +7 -7
  9. package/dist/{chunk-RMK6FOHF.js → chunk-MVFZYTIZ.js} +142 -75
  10. package/dist/{chunk-RMK6FOHF.js.map → chunk-MVFZYTIZ.js.map} +1 -1
  11. package/dist/{chunk-LVV6J6ZF.js → chunk-NTW3KGS4.js} +5 -5
  12. package/dist/{chunk-HQ7KTKC3.js → chunk-RIXPZJUB.js} +2 -2
  13. package/dist/{chunk-JYCP4L55.js → chunk-S3JKDMD5.js} +3 -3
  14. package/dist/{chunk-OBXLAL3J.js → chunk-V5SWX6KL.js} +4 -4
  15. package/dist/{chunk-IQFITAE3.js → chunk-YVUZWLQG.js} +3 -3
  16. package/dist/components.js +8 -8
  17. package/dist/hooks.js +7 -7
  18. package/dist/index.js +11 -11
  19. package/dist/providers.js +2 -2
  20. package/dist/rbac/index.js +7 -7
  21. package/dist/utils.js +1 -1
  22. package/docs/api/classes/ColumnFactory.md +1 -1
  23. package/docs/api/classes/ErrorBoundary.md +1 -1
  24. package/docs/api/classes/InvalidScopeError.md +1 -1
  25. package/docs/api/classes/MissingUserContextError.md +1 -1
  26. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  27. package/docs/api/classes/PermissionDeniedError.md +1 -1
  28. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  29. package/docs/api/classes/RBACAuditManager.md +1 -1
  30. package/docs/api/classes/RBACCache.md +1 -1
  31. package/docs/api/classes/RBACEngine.md +1 -1
  32. package/docs/api/classes/RBACError.md +1 -1
  33. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  34. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  35. package/docs/api/classes/StorageUtils.md +1 -1
  36. package/docs/api/enums/FileCategory.md +1 -1
  37. package/docs/api/interfaces/AggregateConfig.md +1 -1
  38. package/docs/api/interfaces/ButtonProps.md +1 -1
  39. package/docs/api/interfaces/CardProps.md +1 -1
  40. package/docs/api/interfaces/ColorPalette.md +1 -1
  41. package/docs/api/interfaces/ColorShade.md +1 -1
  42. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  43. package/docs/api/interfaces/DataRecord.md +1 -1
  44. package/docs/api/interfaces/DataTableAction.md +1 -1
  45. package/docs/api/interfaces/DataTableColumn.md +1 -1
  46. package/docs/api/interfaces/DataTableProps.md +1 -1
  47. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  48. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  49. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  50. package/docs/api/interfaces/EventLogoProps.md +1 -1
  51. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  52. package/docs/api/interfaces/FileMetadata.md +1 -1
  53. package/docs/api/interfaces/FileReference.md +1 -1
  54. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  55. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  56. package/docs/api/interfaces/FileUploadProps.md +1 -1
  57. package/docs/api/interfaces/FooterProps.md +1 -1
  58. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  59. package/docs/api/interfaces/InputProps.md +1 -1
  60. package/docs/api/interfaces/LabelProps.md +1 -1
  61. package/docs/api/interfaces/LoginFormProps.md +1 -1
  62. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  63. package/docs/api/interfaces/NavigationContextType.md +1 -1
  64. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  65. package/docs/api/interfaces/NavigationItem.md +1 -1
  66. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  67. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  68. package/docs/api/interfaces/Organisation.md +1 -1
  69. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  70. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  71. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  72. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  73. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  74. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  75. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  76. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  77. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  78. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  79. package/docs/api/interfaces/PaletteData.md +1 -1
  80. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  81. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  82. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  83. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  84. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  85. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  86. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  87. package/docs/api/interfaces/RBACConfig.md +1 -1
  88. package/docs/api/interfaces/RBACLogger.md +1 -1
  89. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  90. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  91. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  92. package/docs/api/interfaces/RouteConfig.md +1 -1
  93. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  94. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  95. package/docs/api/interfaces/StorageConfig.md +1 -1
  96. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  97. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  98. package/docs/api/interfaces/StorageListOptions.md +1 -1
  99. package/docs/api/interfaces/StorageListResult.md +1 -1
  100. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  101. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  102. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  103. package/docs/api/interfaces/StyleImport.md +1 -1
  104. package/docs/api/interfaces/SwitchProps.md +1 -1
  105. package/docs/api/interfaces/ToastActionElement.md +1 -1
  106. package/docs/api/interfaces/ToastProps.md +1 -1
  107. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  108. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  109. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  110. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  111. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  112. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  113. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  114. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  115. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  116. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  117. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  118. package/docs/api/interfaces/UserEventAccess.md +1 -1
  119. package/docs/api/interfaces/UserMenuProps.md +1 -1
  120. package/docs/api/interfaces/UserProfile.md +1 -1
  121. package/docs/api/modules.md +3 -3
  122. package/docs/architecture/rpc-function-standards.md +757 -0
  123. package/package.json +1 -1
  124. package/src/components/DataTable/components/DataTableCore.tsx +105 -18
  125. package/src/components/DataTable/components/PaginationControls.tsx +78 -77
  126. package/src/components/DataTable/hooks/useDataTableConfiguration.ts +29 -16
  127. package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +6 -4
  128. package/src/components/DataTable/hooks/useTableColumns.ts +20 -19
  129. package/src/components/DataTable/hooks/useTableHandlers.ts +8 -3
  130. package/src/providers/services/UnifiedAuthProvider.tsx +175 -54
  131. package/src/styles/core.css +1 -2
  132. package/src/styles/base.css +0 -208
  133. /package/dist/{DataTable-BCBW5SCL.js.map → DataTable-OOZS7YTJ.js.map} +0 -0
  134. /package/dist/{UnifiedAuthProvider-TSHK77PL.js.map → UnifiedAuthProvider-K2IZAY5F.js.map} +0 -0
  135. /package/dist/{chunk-GXWREXH7.js.map → chunk-CBSD3BZ3.js.map} +0 -0
  136. /package/dist/{chunk-CALYF6HH.js.map → chunk-I2VVV5PQ.js.map} +0 -0
  137. /package/dist/{chunk-3WFKFBVQ.js.map → chunk-KUYWZVR2.js.map} +0 -0
  138. /package/dist/{chunk-TI67X46U.js.map → chunk-MJWN5JKI.js.map} +0 -0
  139. /package/dist/{chunk-LVV6J6ZF.js.map → chunk-NTW3KGS4.js.map} +0 -0
  140. /package/dist/{chunk-HQ7KTKC3.js.map → chunk-RIXPZJUB.js.map} +0 -0
  141. /package/dist/{chunk-JYCP4L55.js.map → chunk-S3JKDMD5.js.map} +0 -0
  142. /package/dist/{chunk-OBXLAL3J.js.map → chunk-V5SWX6KL.js.map} +0 -0
  143. /package/dist/{chunk-IQFITAE3.js.map → chunk-YVUZWLQG.js.map} +0 -0
@@ -53,8 +53,8 @@ import {
53
53
  sortHierarchicalDataWithSorting,
54
54
  validateHierarchicalData,
55
55
  validatePaginationConfig
56
- } from "./chunk-RMK6FOHF.js";
57
- import "./chunk-IQFITAE3.js";
56
+ } from "./chunk-MVFZYTIZ.js";
57
+ import "./chunk-YVUZWLQG.js";
58
58
  import "./chunk-S63MFSY6.js";
59
59
  import "./chunk-Q7APDV6H.js";
60
60
  import {
@@ -75,9 +75,9 @@ import {
75
75
  throttle,
76
76
  useDataTablePerformance
77
77
  } from "./chunk-YCKPEMJA.js";
78
- import "./chunk-GXWREXH7.js";
79
- import "./chunk-HQ7KTKC3.js";
80
- import "./chunk-WYKXRCXB.js";
78
+ import "./chunk-CBSD3BZ3.js";
79
+ import "./chunk-RIXPZJUB.js";
80
+ import "./chunk-5BN3YGNK.js";
81
81
  import "./chunk-PYUXFQJ3.js";
82
82
  import "./chunk-JCQZ6LA7.js";
83
83
  import "./chunk-CVMVPYAL.js";
@@ -154,4 +154,4 @@ export {
154
154
  validateHierarchicalData,
155
155
  validatePaginationConfig
156
156
  };
157
- //# sourceMappingURL=DataTable-BCBW5SCL.js.map
157
+ //# sourceMappingURL=DataTable-OOZS7YTJ.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  init_UnifiedAuthProvider
3
- } from "./chunk-HQ7KTKC3.js";
3
+ } from "./chunk-RIXPZJUB.js";
4
4
  import {
5
5
  UnifiedAuthProvider,
6
6
  useUnifiedAuth
7
- } from "./chunk-WYKXRCXB.js";
7
+ } from "./chunk-5BN3YGNK.js";
8
8
  import "./chunk-CVMVPYAL.js";
9
9
  import "./chunk-PLDDJCW6.js";
10
10
  init_UnifiedAuthProvider();
@@ -12,4 +12,4 @@ export {
12
12
  UnifiedAuthProvider,
13
13
  useUnifiedAuth
14
14
  };
15
- //# sourceMappingURL=UnifiedAuthProvider-TSHK77PL.js.map
15
+ //# sourceMappingURL=UnifiedAuthProvider-K2IZAY5F.js.map
@@ -1721,7 +1721,7 @@ var init_useInactivityService = __esm({
1721
1721
  });
1722
1722
 
1723
1723
  // src/providers/services/UnifiedAuthProvider.tsx
1724
- import { createContext as createContext5, useContext as useContext9, useMemo as useMemo5 } from "react";
1724
+ import { createContext as createContext5, useContext as useContext9, useMemo as useMemo5, useCallback, useRef as useRef4 } from "react";
1725
1725
  import { jsx as jsx5 } from "react/jsx-runtime";
1726
1726
  function UnifiedAuthContextProvider({
1727
1727
  children,
@@ -1755,16 +1755,68 @@ function UnifiedAuthContextProvider({
1755
1755
  const orgLoading = organisationService.isLoading();
1756
1756
  const eventLoading = eventService.isLoading();
1757
1757
  const totalLoading = authLoading || orgLoading || eventLoading;
1758
- console.log("[UnifiedAuthContext] Auth state:", {
1759
- isAuthenticated: isAuth,
1760
- user: currentUser?.email,
1761
- session: currentSession ? "exists" : "null",
1762
- totalLoading,
1763
- authLoading,
1764
- orgLoading,
1765
- eventLoading,
1766
- orgContextReady: organisationService.isContextReady()
1767
- });
1758
+ const authError = authService.getError();
1759
+ const supabase = authService.getSupabaseClient();
1760
+ const selectedOrganisation = organisationService.getSelectedOrganisation();
1761
+ const organisations = organisationService.getOrganisations();
1762
+ const userMemberships = organisationService.getUserMemberships();
1763
+ const organisationError = organisationService.getError();
1764
+ const hasValidOrganisationContext = organisationService.hasValidOrganisationContext();
1765
+ const isContextReady = organisationService.isContextReady();
1766
+ const events = eventService.getEvents();
1767
+ const selectedEvent = eventService.getSelectedEvent();
1768
+ const eventError = eventService.getError();
1769
+ const showInactivityWarning = inactivityService.getShowInactivityWarning();
1770
+ const inactivityTimeRemaining = inactivityService.getInactivityTimeRemaining();
1771
+ const isIdle = inactivityService.isIdle();
1772
+ const timeRemaining = inactivityService.getTimeRemaining();
1773
+ const showWarning = inactivityService.isWarningShown();
1774
+ const isTracking = inactivityService.isTracking();
1775
+ const hasErrors = !!(authError || organisationError || eventError);
1776
+ const signIn = useCallback((email, password) => authService.signIn(email, password), [authService]);
1777
+ const signUp = useCallback((email, password) => authService.signUp(email, password), [authService]);
1778
+ const signOut = useCallback(() => authService.signOut(), [authService]);
1779
+ const resetPassword = useCallback((email) => authService.resetPassword(email), [authService]);
1780
+ const updatePassword = useCallback((password) => authService.updatePassword(password), [authService]);
1781
+ const refreshSession = useCallback(() => authService.refreshSession(), [authService]);
1782
+ const switchOrganisation = useCallback((orgId) => organisationService.switchOrganisation(orgId), [organisationService]);
1783
+ const getUserRole = useCallback((orgId) => organisationService.getUserRole(orgId), [organisationService]);
1784
+ const validateOrganisationAccess = useCallback((orgId) => organisationService.validateOrganisationAccess(orgId), [organisationService]);
1785
+ const refreshOrganisations = useCallback(() => organisationService.refreshOrganisations(), [organisationService]);
1786
+ const ensureOrganisationContext = useCallback(() => organisationService.ensureOrganisationContext(), [organisationService]);
1787
+ const isOrganisationSecure = useCallback(() => organisationService.isOrganisationSecure(), [organisationService]);
1788
+ const getPrimaryOrganisation = useCallback(() => organisationService.getPrimaryOrganisation(), [organisationService]);
1789
+ const setSelectedEvent = useCallback((event) => eventService.setSelectedEvent(event), [eventService]);
1790
+ const refreshEvents = useCallback(() => eventService.refreshEvents(), [eventService]);
1791
+ const resetActivity = useCallback(() => inactivityService.resetActivity(), [inactivityService]);
1792
+ const startTracking = useCallback(() => inactivityService.startTracking(), [inactivityService]);
1793
+ const stopTracking = useCallback(() => inactivityService.stopTracking(), [inactivityService]);
1794
+ const handleIdleLogout = useCallback(() => inactivityService.handleIdleLogout(), [inactivityService]);
1795
+ const handleStaySignedIn = useCallback(() => inactivityService.handleStaySignedIn(), [inactivityService]);
1796
+ const handleSignOutNow = useCallback(() => inactivityService.handleSignOutNow(), [inactivityService]);
1797
+ const prevStateRef = useRef4(null);
1798
+ const isDev = import.meta.env.DEV || import.meta.env.MODE === "development";
1799
+ if (isDev) {
1800
+ const currentState = {
1801
+ isAuthenticated: isAuth,
1802
+ userEmail: currentUser?.email,
1803
+ totalLoading
1804
+ };
1805
+ const prevState = prevStateRef.current;
1806
+ if (!prevState || prevState.isAuthenticated !== currentState.isAuthenticated || prevState.userEmail !== currentState.userEmail || prevState.totalLoading !== currentState.totalLoading) {
1807
+ console.log("[UnifiedAuthContext] Auth state changed:", {
1808
+ isAuthenticated: isAuth,
1809
+ user: currentUser?.email,
1810
+ session: currentSession ? "exists" : "null",
1811
+ totalLoading,
1812
+ authLoading,
1813
+ orgLoading,
1814
+ eventLoading,
1815
+ orgContextReady: isContextReady
1816
+ });
1817
+ prevStateRef.current = currentState;
1818
+ }
1819
+ }
1768
1820
  const contextValue = useMemo5(() => {
1769
1821
  return {
1770
1822
  // Auth state
@@ -1772,62 +1824,114 @@ function UnifiedAuthContextProvider({
1772
1824
  session: currentSession,
1773
1825
  isAuthenticated: isAuth,
1774
1826
  authLoading,
1775
- authError: authService.getError(),
1776
- error: authService.getError(),
1827
+ authError,
1828
+ error: authError,
1777
1829
  // Alias for backward compatibility
1778
- supabase: authService.getSupabaseClient(),
1830
+ supabase,
1779
1831
  // Auth methods
1780
- signIn: authService.signIn.bind(authService),
1781
- signUp: authService.signUp.bind(authService),
1782
- signOut: authService.signOut.bind(authService),
1783
- resetPassword: authService.resetPassword.bind(authService),
1784
- updatePassword: authService.updatePassword.bind(authService),
1785
- refreshSession: authService.refreshSession.bind(authService),
1832
+ signIn,
1833
+ signUp,
1834
+ signOut,
1835
+ resetPassword,
1836
+ updatePassword,
1837
+ refreshSession,
1786
1838
  // Organisation state
1787
- selectedOrganisation: organisationService.getSelectedOrganisation(),
1788
- organisations: organisationService.getOrganisations(),
1789
- userMemberships: organisationService.getUserMemberships(),
1839
+ selectedOrganisation,
1840
+ organisations,
1841
+ userMemberships,
1790
1842
  organisationLoading: orgLoading,
1791
- organisationError: organisationService.getError(),
1792
- hasValidOrganisationContext: organisationService.hasValidOrganisationContext(),
1793
- isContextReady: organisationService.isContextReady(),
1843
+ organisationError,
1844
+ hasValidOrganisationContext,
1845
+ isContextReady,
1794
1846
  // Organisation methods
1795
- switchOrganisation: organisationService.switchOrganisation.bind(organisationService),
1796
- getUserRole: organisationService.getUserRole.bind(organisationService),
1797
- validateOrganisationAccess: organisationService.validateOrganisationAccess.bind(organisationService),
1798
- refreshOrganisations: organisationService.refreshOrganisations.bind(organisationService),
1799
- ensureOrganisationContext: organisationService.ensureOrganisationContext.bind(organisationService),
1800
- isOrganisationSecure: organisationService.isOrganisationSecure.bind(organisationService),
1801
- getPrimaryOrganisation: organisationService.getPrimaryOrganisation.bind(organisationService),
1847
+ switchOrganisation,
1848
+ getUserRole,
1849
+ validateOrganisationAccess,
1850
+ refreshOrganisations,
1851
+ ensureOrganisationContext,
1852
+ isOrganisationSecure,
1853
+ getPrimaryOrganisation,
1802
1854
  // Event state
1803
- events: eventService.getEvents(),
1804
- selectedEvent: eventService.getSelectedEvent(),
1855
+ events,
1856
+ selectedEvent,
1805
1857
  eventLoading,
1806
- eventError: eventService.getError(),
1858
+ eventError,
1807
1859
  // Event methods
1808
- setSelectedEvent: eventService.setSelectedEvent.bind(eventService),
1809
- refreshEvents: eventService.refreshEvents.bind(eventService),
1860
+ setSelectedEvent,
1861
+ refreshEvents,
1810
1862
  // Inactivity state
1811
- showInactivityWarning: inactivityService.getShowInactivityWarning(),
1812
- inactivityTimeRemaining: inactivityService.getInactivityTimeRemaining(),
1813
- isIdle: inactivityService.isIdle(),
1814
- timeRemaining: inactivityService.getTimeRemaining(),
1815
- showWarning: inactivityService.isWarningShown(),
1816
- isTracking: inactivityService.isTracking(),
1863
+ showInactivityWarning,
1864
+ inactivityTimeRemaining,
1865
+ isIdle,
1866
+ timeRemaining,
1867
+ showWarning,
1868
+ isTracking,
1817
1869
  // Inactivity methods
1818
- resetActivity: inactivityService.resetActivity.bind(inactivityService),
1819
- startTracking: inactivityService.startTracking.bind(inactivityService),
1820
- stopTracking: inactivityService.stopTracking.bind(inactivityService),
1821
- handleIdleLogout: inactivityService.handleIdleLogout.bind(inactivityService),
1822
- handleStaySignedIn: inactivityService.handleStaySignedIn.bind(inactivityService),
1823
- handleSignOutNow: inactivityService.handleSignOutNow.bind(inactivityService),
1870
+ resetActivity,
1871
+ startTracking,
1872
+ stopTracking,
1873
+ handleIdleLogout,
1874
+ handleStaySignedIn,
1875
+ handleSignOutNow,
1824
1876
  // Additional unified properties
1825
1877
  appName,
1826
1878
  appConfig,
1827
1879
  isLoading: totalLoading,
1828
- hasErrors: !!(authService.getError() || organisationService.getError() || eventService.getError())
1880
+ hasErrors
1829
1881
  };
1830
- }, [authService, organisationService, eventService, inactivityService, appName, appConfig, currentUser, currentSession, isAuth, authLoading, orgLoading, eventLoading, totalLoading]);
1882
+ }, [
1883
+ // All primitive values extracted from services
1884
+ // Note: Arrays/objects from services are stable references (same reference unless data changes)
1885
+ currentUser,
1886
+ currentSession,
1887
+ isAuth,
1888
+ authLoading,
1889
+ authError,
1890
+ supabase,
1891
+ selectedOrganisation,
1892
+ organisations,
1893
+ userMemberships,
1894
+ orgLoading,
1895
+ organisationError,
1896
+ hasValidOrganisationContext,
1897
+ isContextReady,
1898
+ events,
1899
+ selectedEvent,
1900
+ eventLoading,
1901
+ eventError,
1902
+ showInactivityWarning,
1903
+ inactivityTimeRemaining,
1904
+ isIdle,
1905
+ timeRemaining,
1906
+ showWarning,
1907
+ isTracking,
1908
+ totalLoading,
1909
+ hasErrors,
1910
+ appName,
1911
+ appConfig,
1912
+ // Stable function references from useCallback (services are stable, so callbacks are too)
1913
+ signIn,
1914
+ signUp,
1915
+ signOut,
1916
+ resetPassword,
1917
+ updatePassword,
1918
+ refreshSession,
1919
+ switchOrganisation,
1920
+ getUserRole,
1921
+ validateOrganisationAccess,
1922
+ refreshOrganisations,
1923
+ ensureOrganisationContext,
1924
+ isOrganisationSecure,
1925
+ getPrimaryOrganisation,
1926
+ setSelectedEvent,
1927
+ refreshEvents,
1928
+ resetActivity,
1929
+ startTracking,
1930
+ stopTracking,
1931
+ handleIdleLogout,
1932
+ handleStaySignedIn,
1933
+ handleSignOutNow
1934
+ ]);
1831
1935
  return /* @__PURE__ */ jsx5(UnifiedAuthContext.Provider, { value: contextValue, children });
1832
1936
  }
1833
1937
  function EventServiceProviderWrapper({
@@ -2001,4 +2105,4 @@ export {
2001
2105
  UnifiedAuthProvider,
2002
2106
  init_UnifiedAuthProvider
2003
2107
  };
2004
- //# sourceMappingURL=chunk-WYKXRCXB.js.map
2108
+ //# sourceMappingURL=chunk-5BN3YGNK.js.map