@civic/auth 0.0.1--.tsc.alpha.1 → 0.0.1-beta.0
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.
- package/README.md +10 -36
- package/dist/index-yT0eVchS.d.mts +52 -0
- package/dist/index-yT0eVchS.d.ts +52 -0
- package/dist/index.css +339 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/nextjs.d.mts +8 -0
- package/dist/nextjs.d.ts +8 -0
- package/dist/nextjs.js +121 -0
- package/dist/nextjs.js.map +1 -0
- package/dist/nextjs.mjs +99 -0
- package/dist/nextjs.mjs.map +1 -0
- package/dist/react.d.mts +66 -0
- package/dist/react.d.ts +66 -0
- package/dist/react.js +1130 -0
- package/dist/react.js.map +1 -0
- package/dist/react.mjs +1096 -0
- package/dist/react.mjs.map +1 -0
- package/package.json +22 -51
- package/.eslintignore +0 -3
- package/.eslintrc.json +0 -10
- package/.prettierignore +0 -3
- package/.prettierrc +0 -4
- package/.turbo/turbo-build.log +0 -13
- package/.turbo/turbo-lint.log +0 -6
- package/.turbo/turbo-test.log +0 -2415
- package/civic-auth-0.0.1-beta.21.tgz +0 -0
- package/dist/cjs/src/browser/storage.d.ts +0 -6
- package/dist/cjs/src/browser/storage.d.ts.map +0 -1
- package/dist/cjs/src/browser/storage.js +0 -13
- package/dist/cjs/src/browser/storage.js.map +0 -1
- package/dist/cjs/src/config.d.ts +0 -3
- package/dist/cjs/src/config.d.ts.map +0 -1
- package/dist/cjs/src/config.js +0 -8
- package/dist/cjs/src/config.js.map +0 -1
- package/dist/cjs/src/constants.d.ts +0 -9
- package/dist/cjs/src/constants.d.ts.map +0 -1
- package/dist/cjs/src/constants.js +0 -26
- package/dist/cjs/src/constants.js.map +0 -1
- package/dist/cjs/src/index.d.ts +0 -5
- package/dist/cjs/src/index.d.ts.map +0 -1
- package/dist/cjs/src/index.js +0 -5
- package/dist/cjs/src/index.js.map +0 -1
- package/dist/cjs/src/lib/cookies.d.ts +0 -7
- package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
- package/dist/cjs/src/lib/cookies.js +0 -26
- package/dist/cjs/src/lib/cookies.js.map +0 -1
- package/dist/cjs/src/lib/jwt.d.ts +0 -3
- package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
- package/dist/cjs/src/lib/jwt.js +0 -13
- package/dist/cjs/src/lib/jwt.js.map +0 -1
- package/dist/cjs/src/lib/logger.d.ts +0 -26
- package/dist/cjs/src/lib/logger.d.ts.map +0 -1
- package/dist/cjs/src/lib/logger.js +0 -62
- package/dist/cjs/src/lib/logger.js.map +0 -1
- package/dist/cjs/src/lib/oauth.d.ts +0 -19
- package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
- package/dist/cjs/src/lib/oauth.js +0 -67
- package/dist/cjs/src/lib/oauth.js.map +0 -1
- package/dist/cjs/src/lib/postMessage.d.ts +0 -4
- package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
- package/dist/cjs/src/lib/postMessage.js +0 -18
- package/dist/cjs/src/lib/postMessage.js.map +0 -1
- package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
- package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/cjs/src/lib/windowUtil.js +0 -34
- package/dist/cjs/src/lib/windowUtil.js.map +0 -1
- package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
- package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/GetUser.js +0 -22
- package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
- package/dist/cjs/src/nextjs/client/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/client/index.js +0 -6
- package/dist/cjs/src/nextjs/client/index.js.map +0 -1
- package/dist/cjs/src/nextjs/config.d.ts +0 -180
- package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/config.js +0 -163
- package/dist/cjs/src/nextjs/config.js.map +0 -1
- package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
- package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/cookies.js +0 -116
- package/dist/cjs/src/nextjs/cookies.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/index.js +0 -6
- package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/cjs/src/nextjs/index.d.ts +0 -7
- package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/index.js +0 -20
- package/dist/cjs/src/nextjs/index.js.map +0 -1
- package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/middleware/index.js +0 -8
- package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
- package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
- package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/middleware.js +0 -116
- package/dist/cjs/src/nextjs/middleware.js.map +0 -1
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -77
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/routeHandler.js +0 -208
- package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
- package/dist/cjs/src/nextjs/utils.d.ts +0 -3
- package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/utils.js +0 -10
- package/dist/cjs/src/nextjs/utils.js.map +0 -1
- package/dist/cjs/src/nextjs/worker/index.d.ts +0 -2
- package/dist/cjs/src/nextjs/worker/index.d.ts.map +0 -1
- package/dist/cjs/src/nextjs/worker/index.js +0 -8
- package/dist/cjs/src/nextjs/worker/index.js.map +0 -1
- package/dist/cjs/src/reactjs/components/NextLogOut.d.ts +0 -7
- package/dist/cjs/src/reactjs/components/NextLogOut.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/NextLogOut.js +0 -18
- package/dist/cjs/src/reactjs/components/NextLogOut.js.map +0 -1
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/SignInButton.js +0 -16
- package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -16
- package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/UserButton.js +0 -84
- package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
- package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/components/index.js +0 -14
- package/dist/cjs/src/reactjs/components/index.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -9
- package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/index.js +0 -20
- package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
- package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
- package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/cjs/src/reactjs/index.d.ts +0 -6
- package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/index.js +0 -30
- package/dist/cjs/src/reactjs/index.js.map +0 -1
- package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
- package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
- package/dist/cjs/src/reactjs/providers/index.js +0 -19
- package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -66
- package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/cjs/src/server/config.d.ts +0 -16
- package/dist/cjs/src/server/config.d.ts.map +0 -1
- package/dist/cjs/src/server/config.js +0 -3
- package/dist/cjs/src/server/config.js.map +0 -1
- package/dist/cjs/src/server/index.d.ts +0 -6
- package/dist/cjs/src/server/index.d.ts.map +0 -1
- package/dist/cjs/src/server/index.js +0 -14
- package/dist/cjs/src/server/index.js.map +0 -1
- package/dist/cjs/src/server/login.d.ts +0 -17
- package/dist/cjs/src/server/login.d.ts.map +0 -1
- package/dist/cjs/src/server/login.js +0 -42
- package/dist/cjs/src/server/login.js.map +0 -1
- package/dist/cjs/src/server/refresh.d.ts +0 -7
- package/dist/cjs/src/server/refresh.d.ts.map +0 -1
- package/dist/cjs/src/server/refresh.js +0 -16
- package/dist/cjs/src/server/refresh.js.map +0 -1
- package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
- package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/cjs/src/services/AuthenticationService.js +0 -228
- package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
- package/dist/cjs/src/services/PKCE.d.ts +0 -20
- package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
- package/dist/cjs/src/services/PKCE.js +0 -50
- package/dist/cjs/src/services/PKCE.js.map +0 -1
- package/dist/cjs/src/services/types.d.ts +0 -23
- package/dist/cjs/src/services/types.d.ts.map +0 -1
- package/dist/cjs/src/services/types.js +0 -11
- package/dist/cjs/src/services/types.js.map +0 -1
- package/dist/cjs/src/shared/AuthContext.d.ts +0 -10
- package/dist/cjs/src/shared/AuthContext.d.ts.map +0 -1
- package/dist/cjs/src/shared/AuthContext.js +0 -6
- package/dist/cjs/src/shared/AuthContext.js.map +0 -1
- package/dist/cjs/src/shared/AuthProvider.d.ts +0 -18
- package/dist/cjs/src/shared/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/AuthProvider.js +0 -276
- package/dist/cjs/src/shared/AuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts +0 -7
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/CivicAuthProvider.js +0 -23
- package/dist/cjs/src/shared/CivicAuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +0 -47
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/cjs/src/shared/UserProvider.d.ts +0 -18
- package/dist/cjs/src/shared/UserProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/UserProvider.js +0 -65
- package/dist/cjs/src/shared/UserProvider.js.map +0 -1
- package/dist/cjs/src/shared/UserSession.d.ts +0 -12
- package/dist/cjs/src/shared/UserSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/UserSession.js +0 -24
- package/dist/cjs/src/shared/UserSession.js.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
- package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -117
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
- package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/cjs/src/shared/components/LoadingIcon.js +0 -14
- package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
- package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/index.js +0 -12
- package/dist/cjs/src/shared/hooks/index.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
- package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
- package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
- package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useSession.js +0 -16
- package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
- package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
- package/dist/cjs/src/shared/hooks/useToken.js +0 -15
- package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -47
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/UserSession.js +0 -24
- package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
- package/dist/cjs/src/shared/lib/session.d.ts +0 -3
- package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/session.js +0 -13
- package/dist/cjs/src/shared/lib/session.js.map +0 -1
- package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
- package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/storage.js +0 -21
- package/dist/cjs/src/shared/lib/storage.js.map +0 -1
- package/dist/cjs/src/shared/lib/types.d.ts +0 -21
- package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/types.js +0 -18
- package/dist/cjs/src/shared/lib/types.js.map +0 -1
- package/dist/cjs/src/shared/lib/util.d.ts +0 -33
- package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
- package/dist/cjs/src/shared/lib/util.js +0 -164
- package/dist/cjs/src/shared/lib/util.js.map +0 -1
- package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
- package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/AuthProvider.js +0 -271
- package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -23
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
- package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
- package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
- package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
- package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
- package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/cjs/src/shared/session.d.ts +0 -3
- package/dist/cjs/src/shared/session.d.ts.map +0 -1
- package/dist/cjs/src/shared/session.js +0 -13
- package/dist/cjs/src/shared/session.js.map +0 -1
- package/dist/cjs/src/shared/storage.d.ts +0 -25
- package/dist/cjs/src/shared/storage.d.ts.map +0 -1
- package/dist/cjs/src/shared/storage.js +0 -21
- package/dist/cjs/src/shared/storage.js.map +0 -1
- package/dist/cjs/src/shared/types.d.ts +0 -21
- package/dist/cjs/src/shared/types.d.ts.map +0 -1
- package/dist/cjs/src/shared/types.js +0 -18
- package/dist/cjs/src/shared/types.js.map +0 -1
- package/dist/cjs/src/shared/util.d.ts +0 -33
- package/dist/cjs/src/shared/util.d.ts.map +0 -1
- package/dist/cjs/src/shared/util.js +0 -164
- package/dist/cjs/src/shared/util.js.map +0 -1
- package/dist/cjs/src/types.d.ts +0 -146
- package/dist/cjs/src/types.d.ts.map +0 -1
- package/dist/cjs/src/types.js +0 -3
- package/dist/cjs/src/types.js.map +0 -1
- package/dist/cjs/src/utils.d.ts +0 -17
- package/dist/cjs/src/utils.d.ts.map +0 -1
- package/dist/cjs/src/utils.js +0 -53
- package/dist/cjs/src/utils.js.map +0 -1
- package/dist/cjs/src/worker/index.d.ts +0 -2
- package/dist/cjs/src/worker/index.d.ts.map +0 -1
- package/dist/cjs/src/worker/index.js +0 -8
- package/dist/cjs/src/worker/index.js.map +0 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +0 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/esm/src/browser/storage.d.ts +0 -6
- package/dist/esm/src/browser/storage.d.ts.map +0 -1
- package/dist/esm/src/browser/storage.js +0 -9
- package/dist/esm/src/browser/storage.js.map +0 -1
- package/dist/esm/src/config.d.ts +0 -3
- package/dist/esm/src/config.d.ts.map +0 -1
- package/dist/esm/src/config.js +0 -5
- package/dist/esm/src/config.js.map +0 -1
- package/dist/esm/src/constants.d.ts +0 -9
- package/dist/esm/src/constants.d.ts.map +0 -1
- package/dist/esm/src/constants.js +0 -17
- package/dist/esm/src/constants.js.map +0 -1
- package/dist/esm/src/index.d.ts +0 -5
- package/dist/esm/src/index.d.ts.map +0 -1
- package/dist/esm/src/index.js +0 -3
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/lib/cookies.d.ts +0 -7
- package/dist/esm/src/lib/cookies.d.ts.map +0 -1
- package/dist/esm/src/lib/cookies.js +0 -23
- package/dist/esm/src/lib/cookies.js.map +0 -1
- package/dist/esm/src/lib/jwt.d.ts +0 -3
- package/dist/esm/src/lib/jwt.d.ts.map +0 -1
- package/dist/esm/src/lib/jwt.js +0 -9
- package/dist/esm/src/lib/jwt.js.map +0 -1
- package/dist/esm/src/lib/logger.d.ts +0 -26
- package/dist/esm/src/lib/logger.d.ts.map +0 -1
- package/dist/esm/src/lib/logger.js +0 -55
- package/dist/esm/src/lib/logger.js.map +0 -1
- package/dist/esm/src/lib/oauth.d.ts +0 -19
- package/dist/esm/src/lib/oauth.d.ts.map +0 -1
- package/dist/esm/src/lib/oauth.js +0 -60
- package/dist/esm/src/lib/oauth.js.map +0 -1
- package/dist/esm/src/lib/postMessage.d.ts +0 -4
- package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
- package/dist/esm/src/lib/postMessage.js +0 -15
- package/dist/esm/src/lib/postMessage.js.map +0 -1
- package/dist/esm/src/lib/windowUtil.d.ts +0 -4
- package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
- package/dist/esm/src/lib/windowUtil.js +0 -30
- package/dist/esm/src/lib/windowUtil.js.map +0 -1
- package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
- package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
- package/dist/esm/src/nextjs/GetUser.js +0 -18
- package/dist/esm/src/nextjs/GetUser.js.map +0 -1
- package/dist/esm/src/nextjs/client/index.d.ts +0 -2
- package/dist/esm/src/nextjs/client/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/client/index.js +0 -2
- package/dist/esm/src/nextjs/client/index.js.map +0 -1
- package/dist/esm/src/nextjs/config.d.ts +0 -180
- package/dist/esm/src/nextjs/config.d.ts.map +0 -1
- package/dist/esm/src/nextjs/config.js +0 -158
- package/dist/esm/src/nextjs/config.js.map +0 -1
- package/dist/esm/src/nextjs/cookies.d.ts +0 -30
- package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
- package/dist/esm/src/nextjs/cookies.js +0 -109
- package/dist/esm/src/nextjs/cookies.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
- package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/index.js +0 -2
- package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
- package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
- package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
- package/dist/esm/src/nextjs/index.d.ts +0 -7
- package/dist/esm/src/nextjs/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/index.js +0 -6
- package/dist/esm/src/nextjs/index.js.map +0 -1
- package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
- package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/middleware/index.js +0 -2
- package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
- package/dist/esm/src/nextjs/middleware.d.ts +0 -59
- package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
- package/dist/esm/src/nextjs/middleware.js +0 -107
- package/dist/esm/src/nextjs/middleware.js.map +0 -1
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -51
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
- package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
- package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
- package/dist/esm/src/nextjs/routeHandler.js +0 -203
- package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
- package/dist/esm/src/nextjs/utils.d.ts +0 -3
- package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
- package/dist/esm/src/nextjs/utils.js +0 -6
- package/dist/esm/src/nextjs/utils.js.map +0 -1
- package/dist/esm/src/nextjs/worker/index.d.ts +0 -2
- package/dist/esm/src/nextjs/worker/index.d.ts.map +0 -1
- package/dist/esm/src/nextjs/worker/index.js +0 -2
- package/dist/esm/src/nextjs/worker/index.js.map +0 -1
- package/dist/esm/src/reactjs/components/NextLogOut.d.ts +0 -7
- package/dist/esm/src/reactjs/components/NextLogOut.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/NextLogOut.js +0 -12
- package/dist/esm/src/reactjs/components/NextLogOut.js.map +0 -1
- package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
- package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/SignInButton.js +0 -10
- package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/SignOutButton.js +0 -10
- package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
- package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/UserButton.js +0 -58
- package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
- package/dist/esm/src/reactjs/components/index.d.ts +0 -6
- package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/components/index.js +0 -6
- package/dist/esm/src/reactjs/components/index.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.d.ts +0 -9
- package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/index.js +0 -9
- package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
- package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
- package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
- package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
- package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
- package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
- package/dist/esm/src/reactjs/index.d.ts +0 -6
- package/dist/esm/src/reactjs/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/index.js +0 -8
- package/dist/esm/src/reactjs/index.js.map +0 -1
- package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
- package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
- package/dist/esm/src/reactjs/providers/index.js +0 -7
- package/dist/esm/src/reactjs/providers/index.js.map +0 -1
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
- package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -62
- package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
- package/dist/esm/src/server/config.d.ts +0 -16
- package/dist/esm/src/server/config.d.ts.map +0 -1
- package/dist/esm/src/server/config.js +0 -2
- package/dist/esm/src/server/config.js.map +0 -1
- package/dist/esm/src/server/index.d.ts +0 -6
- package/dist/esm/src/server/index.d.ts.map +0 -1
- package/dist/esm/src/server/index.js +0 -5
- package/dist/esm/src/server/index.js.map +0 -1
- package/dist/esm/src/server/login.d.ts +0 -17
- package/dist/esm/src/server/login.d.ts.map +0 -1
- package/dist/esm/src/server/login.js +0 -37
- package/dist/esm/src/server/login.js.map +0 -1
- package/dist/esm/src/server/refresh.d.ts +0 -7
- package/dist/esm/src/server/refresh.d.ts.map +0 -1
- package/dist/esm/src/server/refresh.js +0 -13
- package/dist/esm/src/server/refresh.js.map +0 -1
- package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
- package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
- package/dist/esm/src/services/AuthenticationService.js +0 -222
- package/dist/esm/src/services/AuthenticationService.js.map +0 -1
- package/dist/esm/src/services/PKCE.d.ts +0 -20
- package/dist/esm/src/services/PKCE.d.ts.map +0 -1
- package/dist/esm/src/services/PKCE.js +0 -44
- package/dist/esm/src/services/PKCE.js.map +0 -1
- package/dist/esm/src/services/types.d.ts +0 -23
- package/dist/esm/src/services/types.d.ts.map +0 -1
- package/dist/esm/src/services/types.js +0 -7
- package/dist/esm/src/services/types.js.map +0 -1
- package/dist/esm/src/shared/AuthContext.d.ts +0 -10
- package/dist/esm/src/shared/AuthContext.d.ts.map +0 -1
- package/dist/esm/src/shared/AuthContext.js +0 -3
- package/dist/esm/src/shared/AuthContext.js.map +0 -1
- package/dist/esm/src/shared/AuthProvider.d.ts +0 -18
- package/dist/esm/src/shared/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/AuthProvider.js +0 -250
- package/dist/esm/src/shared/AuthProvider.js.map +0 -1
- package/dist/esm/src/shared/CivicAuthProvider.d.ts +0 -7
- package/dist/esm/src/shared/CivicAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/CivicAuthProvider.js +0 -17
- package/dist/esm/src/shared/CivicAuthProvider.js.map +0 -1
- package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/esm/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/esm/src/shared/GenericAuthenticationRefresher.js +0 -43
- package/dist/esm/src/shared/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/esm/src/shared/UserProvider.d.ts +0 -18
- package/dist/esm/src/shared/UserProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/UserProvider.js +0 -38
- package/dist/esm/src/shared/UserProvider.js.map +0 -1
- package/dist/esm/src/shared/UserSession.d.ts +0 -12
- package/dist/esm/src/shared/UserSession.d.ts.map +0 -1
- package/dist/esm/src/shared/UserSession.js +0 -20
- package/dist/esm/src/shared/UserSession.js.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
- package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -91
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
- package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
- package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
- package/dist/esm/src/shared/components/CloseIcon.js +0 -6
- package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
- package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
- package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
- package/dist/esm/src/shared/components/LoadingIcon.js +0 -8
- package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
- package/dist/esm/src/shared/hooks/index.d.ts +0 -5
- package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/index.js +0 -5
- package/dist/esm/src/shared/hooks/index.js.map +0 -1
- package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useAuth.js +0 -12
- package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
- package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useConfig.js +0 -13
- package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
- package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useIframe.js +0 -13
- package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
- package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useSession.js +0 -13
- package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
- package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
- package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
- package/dist/esm/src/shared/hooks/useToken.js +0 -12
- package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
- package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
- package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/UserSession.js +0 -20
- package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
- package/dist/esm/src/shared/lib/session.d.ts +0 -3
- package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/session.js +0 -10
- package/dist/esm/src/shared/lib/session.js.map +0 -1
- package/dist/esm/src/shared/lib/storage.d.ts +0 -25
- package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/storage.js +0 -17
- package/dist/esm/src/shared/lib/storage.js.map +0 -1
- package/dist/esm/src/shared/lib/types.d.ts +0 -21
- package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/types.js +0 -15
- package/dist/esm/src/shared/lib/types.js.map +0 -1
- package/dist/esm/src/shared/lib/util.d.ts +0 -33
- package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
- package/dist/esm/src/shared/lib/util.js +0 -128
- package/dist/esm/src/shared/lib/util.js.map +0 -1
- package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
- package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthContext.js +0 -3
- package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/AuthProvider.js +0 -245
- package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -17
- package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
- package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
- package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
- package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
- package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
- package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
- package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
- package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
- package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
- package/dist/esm/src/shared/providers/UserProvider.js +0 -38
- package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
- package/dist/esm/src/shared/session.d.ts +0 -3
- package/dist/esm/src/shared/session.d.ts.map +0 -1
- package/dist/esm/src/shared/session.js +0 -10
- package/dist/esm/src/shared/session.js.map +0 -1
- package/dist/esm/src/shared/storage.d.ts +0 -25
- package/dist/esm/src/shared/storage.d.ts.map +0 -1
- package/dist/esm/src/shared/storage.js +0 -17
- package/dist/esm/src/shared/storage.js.map +0 -1
- package/dist/esm/src/shared/types.d.ts +0 -21
- package/dist/esm/src/shared/types.d.ts.map +0 -1
- package/dist/esm/src/shared/types.js +0 -15
- package/dist/esm/src/shared/types.js.map +0 -1
- package/dist/esm/src/shared/util.d.ts +0 -33
- package/dist/esm/src/shared/util.d.ts.map +0 -1
- package/dist/esm/src/shared/util.js +0 -128
- package/dist/esm/src/shared/util.js.map +0 -1
- package/dist/esm/src/types.d.ts +0 -146
- package/dist/esm/src/types.d.ts.map +0 -1
- package/dist/esm/src/types.js +0 -2
- package/dist/esm/src/types.js.map +0 -1
- package/dist/esm/src/utils.d.ts +0 -17
- package/dist/esm/src/utils.d.ts.map +0 -1
- package/dist/esm/src/utils.js +0 -48
- package/dist/esm/src/utils.js.map +0 -1
- package/dist/esm/src/worker/index.d.ts +0 -2
- package/dist/esm/src/worker/index.d.ts.map +0 -1
- package/dist/esm/src/worker/index.js +0 -2
- package/dist/esm/src/worker/index.js.map +0 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
- package/postcss.config.cjs +0 -6
- package/src/browser/storage.ts +0 -11
- package/src/config.ts +0 -6
- package/src/constants.ts +0 -29
- package/src/index.ts +0 -18
- package/src/lib/cookies.ts +0 -28
- package/src/lib/jwt.ts +0 -15
- package/src/lib/logger.ts +0 -72
- package/src/lib/oauth.ts +0 -83
- package/src/lib/postMessage.ts +0 -22
- package/src/lib/windowUtil.ts +0 -29
- package/src/nextjs/GetUser.ts +0 -22
- package/src/nextjs/client/index.ts +0 -4
- package/src/nextjs/config.ts +0 -203
- package/src/nextjs/cookies.ts +0 -166
- package/src/nextjs/hooks/index.ts +0 -1
- package/src/nextjs/hooks/useTokenCookie.ts +0 -41
- package/src/nextjs/hooks/useUserCookie.ts +0 -41
- package/src/nextjs/index.ts +0 -24
- package/src/nextjs/middleware/index.ts +0 -1
- package/src/nextjs/middleware.ts +0 -155
- package/src/nextjs/providers/NextAuthProvider.tsx +0 -89
- package/src/nextjs/routeHandler.ts +0 -276
- package/src/nextjs/utils.ts +0 -10
- package/src/reactjs/components/SignInButton.tsx +0 -30
- package/src/reactjs/components/SignOutButton.tsx +0 -22
- package/src/reactjs/components/UserButton.tsx +0 -153
- package/src/reactjs/components/index.ts +0 -5
- package/src/reactjs/hooks/index.ts +0 -8
- package/src/reactjs/hooks/useAuth.ts +0 -15
- package/src/reactjs/hooks/useUser.ts +0 -20
- package/src/reactjs/index.ts +0 -19
- package/src/reactjs/providers/index.ts +0 -27
- package/src/server/ServerAuthenticationResolver.ts +0 -107
- package/src/server/config.ts +0 -17
- package/src/server/index.ts +0 -12
- package/src/server/login.ts +0 -58
- package/src/server/refresh.ts +0 -23
- package/src/services/AuthenticationService.ts +0 -334
- package/src/services/PKCE.ts +0 -43
- package/src/services/types.ts +0 -54
- package/src/shared/components/CivicAuthIframe.tsx +0 -26
- package/src/shared/components/CivicAuthIframeContainer.tsx +0 -150
- package/src/shared/components/CloseIcon.tsx +0 -21
- package/src/shared/components/LoadingIcon.tsx +0 -25
- package/src/shared/hooks/index.ts +0 -4
- package/src/shared/hooks/useAuth.ts +0 -15
- package/src/shared/hooks/useConfig.ts +0 -14
- package/src/shared/hooks/useIframe.ts +0 -14
- package/src/shared/hooks/useSession.ts +0 -14
- package/src/shared/hooks/useToken.ts +0 -15
- package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -75
- package/src/shared/lib/UserSession.ts +0 -25
- package/src/shared/lib/session.ts +0 -11
- package/src/shared/lib/storage.ts +0 -40
- package/src/shared/lib/types.ts +0 -25
- package/src/shared/lib/util.ts +0 -217
- package/src/shared/providers/AuthContext.tsx +0 -11
- package/src/shared/providers/AuthProvider.tsx +0 -364
- package/src/shared/providers/CivicAuthProvider.tsx +0 -34
- package/src/shared/providers/ConfigProvider.tsx +0 -50
- package/src/shared/providers/IframeProvider.tsx +0 -34
- package/src/shared/providers/SessionProvider.tsx +0 -29
- package/src/shared/providers/TokenProvider.tsx +0 -78
- package/src/shared/providers/UserProvider.tsx +0 -80
- package/src/styles.css +0 -3
- package/src/types.ts +0 -227
- package/src/utils.ts +0 -65
- package/tailwind.config.js +0 -8
- package/test/integration/sdk.test.tsx +0 -266
- package/test/support/fixtures.ts +0 -56
- package/test/support/tokens.json +0 -26
- package/test/unit/lib/oauth.test.ts +0 -72
- package/test/unit/logger.test.ts +0 -175
- package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
- package/test/unit/nextjs/config.test.ts +0 -201
- package/test/unit/nextjs/getUser.test.ts +0 -41
- package/test/unit/nextjs/middleware.test.ts +0 -138
- package/test/unit/nextjs/routeHandler.test.ts +0 -369
- package/test/unit/nextjs/utils.test.ts +0 -26
- package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -19
- package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
- package/test/unit/react/components/SignInButton.test.tsx +0 -50
- package/test/unit/react/components/SignOutButton.test.tsx +0 -49
- package/test/unit/server/login.test.ts +0 -179
- package/test/unit/server/session.test.ts +0 -51
- package/test/unit/services/AuthenticationService.test.ts +0 -152
- package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -110
- package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
- package/test/unit/shared/UserSession.test.ts +0 -42
- package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
- package/test/unit/shared/storage.test.ts +0 -67
- package/test/unit/utils.test.ts +0 -48
- package/tsconfig.build.json +0 -5
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -7
- package/tsconfig.json +0 -42
- package/vitest.config.ts +0 -41
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/hooks/useUser.tsx","../src/react/providers/UserProvider.tsx","../src/react/hooks/useAuth.tsx","../src/react/hooks/useToken.tsx","../src/react/providers/TokenProvider.tsx","../src/react/providers/AuthProvider.tsx","../src/services/UserInfoService.ts","../src/services/SessionService.ts","../src/lib/oauth.ts","../src/utils.ts","../src/react/components/CivicAuthIframe.tsx","../src/react/components/LoadingIcon.tsx","../src/react/components/UserButton.tsx","../src/react/providers/ParamsProvider.tsx","../src/react/providers/SessionProvider.tsx","../src/constants.ts","../src/config.ts","../src/react/providers/CivicProvider.tsx","../src/react/hooks/useParams.tsx","../src/react/hooks/useSession.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { UserContext, UserContextType } from \"@/react/providers\";\n\nconst useUser = <\n T extends Record<string, unknown> = Record<string, never>,\n>(): UserContextType<T> => {\n const context = useContext(UserContext);\n\n if (!context) {\n throw new Error(\"useUser must be used within a UserProvider\");\n }\n\n return context as UserContextType<T>;\n};\n\nexport { useUser };\n","import { createContext, ReactNode } from \"react\";\nimport { useQuery, UseQueryResult } from \"@tanstack/react-query\";\nimport { EmptyObject, User } from \"@/types\";\nimport { useAuth } from \"@/react/hooks/useAuth\";\nimport { useToken } from \"@/react/hooks/useToken\";\nimport { JWT, parseJWT } from \"oslo/jwt\";\nimport { useSession } from \"@/react/hooks\";\nimport { AuthContextType } from \"./AuthProvider\";\n\ntype UserContextType<\n T extends Record<string, unknown> & JWT[\"payload\"] = Record<string, unknown> &\n JWT[\"payload\"],\n> = {\n user: User<T> | null;\n isLoading: boolean;\n error: Error | null;\n refetch: () => void;\n} & AuthContextType;\n\nconst UserContext = createContext<UserContextType | null>(null);\n\nconst UserProvider = <T extends EmptyObject>({\n children,\n}: {\n children: ReactNode;\n}) => {\n const { isLoading: authLoading, error: authError } = useAuth();\n const session = useSession();\n const { forwardedTokens, idToken, accessToken, refreshToken } = useToken();\n const { isAuthenticated, signIn, signOut } = useAuth();\n\n const fetchUser = async (): Promise<User<T> | null> => {\n if (!session?.idToken) {\n return null;\n }\n // Implement actual user fetching logic here\n // This is where you'd use the access token to fetch user data from your API\n // For now, we'll return a mock user\n\n const parsedJWT = parseJWT(session.idToken);\n\n if (!parsedJWT) {\n return null;\n }\n\n const user = parsedJWT.payload as User<T>;\n\n return {\n ...user,\n forwardedTokens,\n idToken,\n accessToken,\n refreshToken,\n };\n };\n\n const {\n data: user,\n isLoading: userLoading,\n error: userError,\n refetch,\n }: UseQueryResult<User<T> | null, Error> = useQuery({\n queryKey: [\"user\", session?.accessToken],\n queryFn: fetchUser,\n enabled: !!session?.accessToken, // Only run the query if we have an access token\n });\n\n const isLoading = authLoading || userLoading;\n const error = authError || userError;\n\n return (\n <UserContext.Provider\n value={{\n user: user as User<T>,\n isLoading,\n error,\n refetch,\n isAuthenticated,\n signIn,\n signOut,\n }}\n >\n {children}\n </UserContext.Provider>\n );\n};\n\nexport type { UserContextType };\n\nexport { UserProvider, UserContext };\n","import { AuthContext } from \"@/react/providers\";\nimport { useContext } from \"react\";\n\nconst useAuth = () => {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n\n return context;\n};\n\nexport { useAuth };\n","import { useContext } from \"react\";\nimport { TokenContext } from \"@/react/providers\";\n\nconst useToken = () => {\n const context = useContext(TokenContext);\n\n if (!context) {\n throw new Error(\"useToken must be used within a TokenProvider\");\n }\n\n return context;\n};\n\nexport { useToken };\n","import { createContext, ReactNode, useMemo } from \"react\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useAuth } from \"@/react/hooks\";\nimport { ForwardedTokens, Tokens } from \"@/types\";\nimport { parseJWT } from \"oslo/jwt\";\nimport { useSession } from \"@/react/hooks\";\n\ntype TokenContextType = {\n accessToken: string | null;\n idToken: string | null;\n forwardedTokens: ForwardedTokens;\n refreshToken: () => Promise<void>;\n isLoading: boolean;\n error: Error | null;\n};\n\nconst TokenContext = createContext<TokenContextType | undefined>(undefined);\n\nconst TokenProvider = ({ children }: { children: ReactNode }) => {\n const { isLoading, error: authError } = useAuth();\n const session = useSession();\n const queryClient = useQueryClient();\n\n const refreshTokenMutation = useMutation({\n mutationFn: async () => {\n // Implement token refresh logic here\n throw new Error(\"Method not implemented.\");\n },\n onSuccess: () => {\n // Invalidate and refetch queries that depend on the auth session\n queryClient.invalidateQueries({ queryKey: [\"session\"] });\n },\n });\n\n const decodeTokens = useMemo(() => {\n if (!session?.idToken) return null;\n\n const parsedJWT = parseJWT(session.idToken);\n\n if (!parsedJWT) return null;\n\n const { forwardedTokens } = parsedJWT.payload as Tokens;\n\n return forwardedTokens;\n }, [session?.idToken]);\n\n const value = useMemo(\n () => ({\n accessToken: session.accessToken || null,\n idToken: session.idToken || null,\n forwardedTokens: decodeTokens || {},\n refreshToken: refreshTokenMutation.mutateAsync,\n isLoading,\n error: (authError || refreshTokenMutation.error) as Error | null,\n }),\n [\n session.accessToken,\n session.idToken,\n decodeTokens,\n refreshTokenMutation.mutateAsync,\n refreshTokenMutation.error,\n isLoading,\n authError,\n ],\n );\n\n return (\n <TokenContext.Provider value={value}>{children}</TokenContext.Provider>\n );\n};\n\nexport type { TokenContextType };\nexport { TokenProvider, TokenContext };\n","\"use client\";\n\nimport {\n createContext,\n useState,\n useEffect,\n useMemo,\n useCallback,\n ReactNode,\n} from \"react\";\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { AuthSessionServiceImpl } from \"@/services\";\nimport { Config, DisplayMode } from \"@/types\";\nimport { CivicAuthIframe } from \"@/react/components\";\nimport { ParamsProvider } from \"./ParamsProvider\";\nimport { TokenProvider } from \"./TokenProvider\";\nimport { UserProvider } from \"./UserProvider\";\nimport { SessionProvider } from \"./SessionProvider\";\nimport { DEFAULT_SCOPES } from \"@/constants\";\nimport { authConfig } from \"@/config\";\nimport { LoadingIcon } from \"../components/LoadingIcon\";\n\ntype AuthContextType = {\n signIn: (displayMode?: DisplayMode) => Promise<void>;\n isAuthenticated: boolean;\n isLoading: boolean;\n error: Error | null;\n signOut: () => Promise<void>;\n};\n\ntype AuthProviderProps = {\n children: ReactNode;\n clientId: string;\n redirectUrl?: string;\n nonce?: string;\n config?: Config;\n onSignIn?: (error?: Error) => void; // Updated to include an optional error parameter\n onSignOut?: () => void;\n};\n\nconst AuthContext = createContext<AuthContextType | null>(null);\n\n// Global this object setup (unchanged)\nlet globalThisObject;\nif (typeof window !== \"undefined\") {\n globalThisObject = window;\n} else if (typeof global !== \"undefined\") {\n globalThisObject = global;\n} else {\n globalThisObject = Function(\"return this\")();\n}\nglobalThisObject.globalThis = globalThisObject;\n\nconst AuthProvider = ({\n children,\n clientId,\n redirectUrl: inputRedirectUrl,\n config = authConfig,\n nonce,\n onSignIn,\n onSignOut,\n}: AuthProviderProps) => {\n const [iframeUrl, setIframeUrl] = useState<string | null>(null);\n const [currentUrl, setCurrentUrl] = useState<string | null>(null);\n const [isInIframe, setIsInIframe] = useState(false);\n const [authResponseUrl, setAuthResponseUrl] = useState<string | null>(null);\n const [tokenExchangeInProgress, setTokenExchangeInProgress] = useState(false);\n const [tokenExchangeError, setTokenExchangeError] = useState<Error>();\n const queryClient = useQueryClient();\n\n // check if the current window is in an iframe with the iframe id, and set an isInIframe state\n useEffect(() => {\n if (typeof globalThis.window !== \"undefined\") {\n setCurrentUrl(globalThis.window.location.href);\n let isInIframeVal = false;\n // use the window width to determine if we're in an iframe or not\n try {\n if (globalThis.window?.frameElement?.id === \"civic-auth-iframe\") {\n isInIframeVal = true;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (_e) {\n // If we get an error, we're not in an iframe\n isInIframeVal = false;\n }\n console.log(\"isInIframeVal\", isInIframeVal);\n setIsInIframe(isInIframeVal);\n }\n }, []);\n\n const redirectUrl = useMemo(\n () => (inputRedirectUrl || currentUrl || \"\").split(\"?\")[0],\n [currentUrl, inputRedirectUrl],\n );\n\n const authService = useMemo<AuthSessionServiceImpl | null>(\n () =>\n currentUrl\n ? new AuthSessionServiceImpl(\n clientId,\n redirectUrl,\n config?.oauthServer,\n config?.endpoints,\n )\n : null,\n [currentUrl, clientId, redirectUrl, config],\n );\n\n const {\n data: session,\n isLoading,\n error,\n } = useQuery({\n queryKey: [\"session\"],\n queryFn: async () => {\n const url = new URL(globalThis.window.location.href || \"\");\n console.log(\"AuthProvider useQuery\", { isInIframe, url, authService });\n if (!authService) {\n return { authenticated: false };\n }\n\n // if we have existing tokens, then validate them and return the session data\n // otherwise check if we have a code in the url and exchange it for tokens\n // if we have neither, return undefined\n const existingSessionData = await authService.validateExistingSession();\n if (existingSessionData.authenticated) {\n return existingSessionData;\n }\n const code = url.searchParams.get(\"code\");\n if (code && !isInIframe) {\n try {\n console.log(\"AuthProvider useQuery code\", { isInIframe, code });\n setTokenExchangeInProgress(true);\n const newSession = await authService.tokenExchange(\n globalThis.window.location.href,\n );\n setTokenExchangeInProgress(false);\n onSignIn?.(); // Call onSignIn without an error if successful\n return newSession;\n } catch (error) {\n setTokenExchangeError(error as Error);\n onSignIn?.(\n error instanceof Error ? error : new Error(\"Failed to sign in\"),\n ); // Pass the error to onSignIn\n return { authenticated: false };\n }\n }\n return existingSessionData;\n },\n enabled: !!authService && !!currentUrl && !isInIframe,\n });\n\n const signOutMutation = useMutation({\n mutationFn: async () => {\n // Implement signOut logic here\n authService?.updateSessionData({});\n setAuthResponseUrl(null);\n onSignOut?.();\n // clear session data and cookies\n },\n onSuccess: () => {\n queryClient.setQueryData([\"session\"], null);\n },\n });\n\n const signIn = useCallback(\n async (overrideDisplayMode: DisplayMode = \"iframe\") => {\n if (!authService) return;\n\n const url = await authService.getAuthorizationUrl(\n // This is the default scope. We will eventually pull this from the partner dashboard\n DEFAULT_SCOPES,\n overrideDisplayMode,\n nonce,\n );\n\n // For iframe mode we need popups to not be blocked because the login app will try to open IDP login in a popup\n if (overrideDisplayMode === \"iframe\") {\n setIframeUrl(url);\n return;\n }\n authService.loadAuthorizationUrl(url, overrideDisplayMode);\n },\n [authService, nonce],\n );\n\n const isAuthenticated = useMemo(\n () => (session ? session.authenticated : false),\n [session],\n );\n\n useEffect(() => {\n if (!authService || !authResponseUrl) return;\n const url = new URL(authResponseUrl);\n const code = url.searchParams.get(\"code\");\n console.log(\"AuthProvider useEffect code\", {\n isAuthenticated,\n code,\n tokenExchangeInProgress,\n isInIframe,\n });\n if (code && !isAuthenticated && !tokenExchangeInProgress && !isInIframe) {\n try {\n setTokenExchangeInProgress(true);\n authService\n .tokenExchange(authResponseUrl)\n .then((newSession) => {\n queryClient.setQueryData([\"session\"], newSession);\n setIframeUrl(null); // Close the iframe\n onSignIn?.(); // Call onSignIn without an error if successful\n })\n .catch((error) => {\n setTokenExchangeError(error as Error);\n })\n .finally(() => {\n setTokenExchangeInProgress(false);\n });\n } catch (error) {\n setTokenExchangeInProgress(false);\n onSignIn?.(\n error instanceof Error ? error : new Error(\"Failed to sign in\"),\n ); // Pass the error to onSignIn\n }\n }\n }, [\n authService,\n onSignIn,\n queryClient,\n isAuthenticated,\n authResponseUrl,\n tokenExchangeInProgress,\n isInIframe,\n ]);\n\n const value = useMemo(\n () => ({\n isLoading,\n error: error as Error | null,\n signOut: signOutMutation.mutate,\n isAuthenticated,\n signIn,\n }),\n [isLoading, error, signOutMutation.mutate, isAuthenticated, signIn],\n );\n return (\n <AuthContext.Provider\n value={{\n ...value,\n signOut: async () => {\n await signOutMutation.mutateAsync();\n },\n }}\n >\n <ParamsProvider\n clientId={clientId}\n redirectUrl={redirectUrl}\n config={config}\n nonce={nonce}\n >\n <SessionProvider session={session}>\n <TokenProvider>\n <UserProvider>\n {!isInIframe && iframeUrl && !session?.authenticated && (\n <CivicAuthIframe\n authUrl={iframeUrl}\n redirectUri={redirectUrl}\n setAuthResponseUrl={setAuthResponseUrl}\n onClose={() => setIframeUrl(null)}\n />\n )}\n {(tokenExchangeInProgress ||\n tokenExchangeError ||\n isLoading ||\n isInIframe) && (\n <div className=\"absolute left-0 top-0 z-[9999] flex h-screen w-screen items-center justify-center bg-white\">\n {\" \"}\n <div className=\"absolute inset-0 flex items-center justify-center bg-white\">\n {tokenExchangeError ? (\n <div>Error: {tokenExchangeError.message}</div>\n ) : (\n <LoadingIcon />\n )}\n </div>\n </div>\n )}\n {children}\n </UserProvider>\n </TokenProvider>\n </SessionProvider>\n </ParamsProvider>\n </AuthContext.Provider>\n );\n};\n\nexport type { AuthContextType, AuthProviderProps };\n\nexport { AuthProvider, AuthContext };\n","import { UserInfoService, Endpoints } from \"@/types\";\n\nexport class UserInfoServiceImpl implements UserInfoService {\n constructor(private endpoints: Endpoints) {}\n\n async getUserInfo<T>(accessToken: string): Promise<T> {\n // Implement user info request logic\n return {\n id: \"user123\",\n name: \"John Doe\",\n email: \"john@example.com\",\n picture: \"https://example.com/john.jpg\",\n given_name: \"John\",\n family_name: \"Doe\",\n created_at: new Date(),\n updated_at: new Date(),\n country: \"US\",\n accessToken,\n } as T;\n }\n}\n","import {\n AuthSessionService,\n DisplayMode,\n UserInfoService,\n SessionData,\n OIDCTokenResponseBody,\n UnknownObject,\n Endpoints,\n} from \"../types\";\nimport { UserInfoServiceImpl } from \"./UserInfoService\";\nimport { OAuth2Client, generateCodeVerifier } from \"oslo/oauth2\";\nimport * as jose from \"jose\";\nimport {\n displayModeFromState,\n generateState,\n getIssuerVariations,\n getOauthEndpoints,\n} from \"@/lib/oauth\";\nimport { isPopupBlocked } from \"@/utils\";\n\nexport class AuthSessionServiceImpl implements AuthSessionService {\n private _endpoints: Endpoints | undefined;\n private _oauth2Client: OAuth2Client | undefined;\n private _userInfoService: UserInfoService | undefined;\n private codeVerifier: string | undefined = undefined;\n private state: string | undefined = undefined;\n\n constructor(\n readonly clientId: string,\n readonly redirectUrl: string,\n readonly oauthServer: string,\n inputEndpoints?: Endpoints | undefined,\n ) {\n this.codeVerifier = generateCodeVerifier();\n this._endpoints = inputEndpoints;\n }\n private async getUserInfoService(): Promise<UserInfoService> {\n if (this._userInfoService) {\n return this._userInfoService;\n }\n const endpoints = await this.getEndpoints();\n\n this._userInfoService = new UserInfoServiceImpl(endpoints);\n return this._userInfoService;\n }\n private async getEndpoints(): Promise<Endpoints> {\n if (this._endpoints) {\n return this._endpoints;\n }\n this._endpoints = await getOauthEndpoints(this.oauthServer);\n return this._endpoints;\n }\n\n private async getOauth2Client() {\n if (this._oauth2Client) {\n return this._oauth2Client;\n }\n const endpoints = await this.getEndpoints();\n this._oauth2Client = new OAuth2Client(\n this.clientId,\n endpoints.auth,\n endpoints.token,\n // this\n { redirectURI: this.redirectUrl },\n );\n return this._oauth2Client;\n }\n\n getSessionData(): SessionData {\n return JSON.parse(\n localStorage.getItem(`civic-auth:${this.clientId}`) || \"{}\",\n ) as SessionData;\n }\n\n updateSessionData(data: Partial<SessionData>): void {\n localStorage.setItem(\n `civic-auth:${this.clientId}`,\n JSON.stringify({ ...data }),\n );\n }\n\n async getAuthorizationUrl(\n scopes: string[],\n displayMode: DisplayMode,\n nonce?: string,\n ): Promise<string> {\n const state = generateState(displayMode);\n this.state = state;\n const existingSessionData = this.getSessionData();\n this.updateSessionData({\n ...existingSessionData,\n codeVerifier: this.codeVerifier,\n displayMode,\n });\n const oauth2Client = await this.getOauth2Client();\n const oAuthUrl = await oauth2Client.createAuthorizationURL({\n state,\n codeVerifier: this.codeVerifier,\n codeChallengeMethod: \"S256\",\n scopes,\n });\n if (nonce) {\n // nonce isn't supported by oslo, so we add it manually\n oAuthUrl.searchParams.append(\"nonce\", nonce);\n }\n return oAuthUrl.toString();\n }\n\n // TODO fix the Window reference\n loadAuthorizationUrl(authorizationURL: string, displayMode: DisplayMode) {\n switch (displayMode) {\n case \"iframe\":\n // Implement iframe logic\n break;\n case \"redirect\":\n window.location.href = authorizationURL;\n break;\n case \"new_tab\":\n window.open(authorizationURL, \"_blank\");\n break;\n case \"custom_tab\":\n // Implement custom tab logic (might require native app integration)\n break;\n }\n }\n\n async init(): Promise<void> {\n this.updateSessionData({ authenticated: false });\n }\n\n determineDisplayMode(displayMode: DisplayMode): DisplayMode {\n // If popups are blocked and we're in iframe mode, we need to override the display mode to redirect\n if (isPopupBlocked() && displayMode === \"iframe\") {\n displayMode = \"redirect\";\n }\n // TODO: Add additional checks to determine the display mode for new_mode if new tabs are blocked.\n return displayMode;\n }\n\n async signIn(\n displayMode: DisplayMode,\n scopes: string[],\n nonce: string,\n ): Promise<void> {\n const authorizationURL = await this.getAuthorizationUrl(\n scopes,\n displayMode,\n nonce,\n );\n\n this.loadAuthorizationUrl(authorizationURL, displayMode);\n }\n\n async tokenExchange(responseUrl: string): Promise<SessionData> {\n let session = this.getSessionData();\n if (!session.authenticated) {\n const url = new URL(responseUrl);\n const authorizationCode = url.searchParams.get(\"code\");\n const returnedState = url.searchParams.get(\"state\");\n if (!authorizationCode || !returnedState) {\n throw new Error(\"Invalid authorization response\");\n }\n const codeVerifier = this.getSessionData().codeVerifier as string;\n const oauth2Client = await this.getOauth2Client();\n const tokens =\n await oauth2Client.validateAuthorizationCode<OIDCTokenResponseBody>(\n authorizationCode,\n {\n codeVerifier,\n },\n );\n\n // Validate relevant tokens\n try {\n await this.validateTokens(tokens);\n } catch (error) {\n console.error(\"tokenExchange tokens\", { error, tokens });\n throw new Error(\n `OIDC tokens validation failed: ${(error as Error).message}`,\n );\n }\n const parsedDisplayMode = displayModeFromState(\n returnedState,\n session.displayMode,\n );\n // Update session with authentication result\n session = {\n ...session,\n displayMode: parsedDisplayMode,\n idToken: tokens.id_token,\n authenticated: true,\n state: returnedState,\n accessToken: tokens.access_token,\n refreshToken: tokens.refresh_token,\n expiresIn: tokens.expires_in,\n };\n this.updateSessionData(session);\n }\n if (session.displayMode === \"new_tab\") {\n // Close the popup window\n window.close();\n } else if (session.displayMode === \"redirect\") {\n // TODO: Determine if there is anything additional to do here\n }\n return session;\n }\n\n async refreshToken(): Promise<SessionData> {\n const sessionData = this.getSessionData();\n if (!sessionData.refreshToken) {\n throw new Error(\"No refresh token available\");\n }\n const oauth2Client = await this.getOauth2Client();\n const tokens = await oauth2Client.refreshAccessToken<OIDCTokenResponseBody>(\n sessionData.refreshToken,\n );\n\n const session = {\n ...sessionData,\n idToken: tokens.id_token,\n authenticated: true,\n accessToken: tokens.access_token,\n refreshToken: tokens.refresh_token,\n expiresIn: tokens.expires_in,\n };\n\n this.updateSessionData(session);\n return session;\n }\n\n async getUserInfo<T extends UnknownObject>(): Promise<T> {\n const sessionData = this.getSessionData();\n if (!sessionData.accessToken) {\n throw new Error(\"No access token available\");\n }\n const userInfoService = await this.getUserInfoService();\n return userInfoService.getUserInfo<T>(sessionData.accessToken);\n }\n\n /**\n * Uses the jose library to validate a JWT token using the OAuth JWKS endpoint\n * @param {string} token\n * @returns {Promise<jose.JWTPayload>}\n * @throws {Error} if the token is invalid\n */\n async validateTokens(\n tokens: OIDCTokenResponseBody,\n ): Promise<\n Record<\"idToken\" | \"accessToken\" | \"refreshToken\", jose.JWTPayload>\n > {\n const endpoints = await this.getEndpoints();\n const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));\n const returnPayload: Record<string, jose.JWTPayload> = {};\n // const payload = {};\n // validate the ID token\n console.log(\"issuer\", getIssuerVariations(this.oauthServer));\n const idTokenResponse = await jose.jwtVerify(tokens.id_token, JWKS, {\n issuer: getIssuerVariations(this.oauthServer),\n audience: this.clientId,\n });\n returnPayload.idToken = idTokenResponse.payload;\n // validate the access token\n const accessTokenResponse = await jose.jwtVerify(\n tokens.access_token,\n JWKS,\n {\n issuer: getIssuerVariations(this.oauthServer),\n },\n );\n returnPayload.accessToken = accessTokenResponse.payload;\n\n if (tokens.refresh_token) {\n // validate the refresh token\n const refreshResponse = await jose.jwtVerify(tokens.refresh_token, JWKS, {\n issuer: getIssuerVariations(this.oauthServer),\n });\n returnPayload.refreshToken = refreshResponse.payload;\n }\n return returnPayload;\n }\n\n async validateExistingSession(): Promise<SessionData> {\n const sessionData = this.getSessionData();\n try {\n if (!sessionData.idToken || !sessionData.accessToken) {\n const unAuthenticatedSession = { ...sessionData, authenticated: false };\n this.updateSessionData(unAuthenticatedSession);\n return unAuthenticatedSession;\n }\n await this.validateTokens({\n id_token: sessionData.idToken as string,\n access_token: sessionData.accessToken as string,\n refresh_token: sessionData.refreshToken as string,\n });\n sessionData.authenticated = true;\n return sessionData;\n } catch (error) {\n console.warn(\"Failed to validate existing tokens\", error);\n const unAuthenticatedSession = { ...sessionData, authenticated: false };\n this.updateSessionData(unAuthenticatedSession);\n return unAuthenticatedSession;\n }\n }\n}\n","import { DisplayMode, Endpoints, OpenIdConfiguration } from \"@/types\";\nimport { v4 as uuid } from \"uuid\";\n\nexport const getIssuerVariations = (issuer: string): string[] => {\n const issuerWithoutSlash = issuer.endsWith(\"/\")\n ? issuer.slice(0, issuer.length - 1)\n : issuer;\n const issuerWithSlash = `${issuerWithoutSlash}/`;\n return [issuerWithoutSlash, issuerWithSlash];\n};\nconst addSlashIfNeeded = (url: string): string =>\n url.endsWith(\"/\") ? url : `${url}/`;\n\nconst getOauthEndpoints = async (oauthServer: string): Promise<Endpoints> => {\n const openIdConfigResponse = await fetch(\n `${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`,\n );\n const openIdConfig =\n (await openIdConfigResponse.json()) as OpenIdConfiguration;\n return {\n jwks: openIdConfig.jwks_uri,\n auth: openIdConfig.authorization_endpoint,\n token: openIdConfig.token_endpoint,\n userinfo: openIdConfig.userinfo_endpoint,\n };\n};\n\n/**\n * creates a state string for the OAuth2 flow, encoding the display mode too for future use\n * @param {DisplayMode} displayMode\n * @returns {string}\n */\nconst generateState = (displayMode: DisplayMode): string => {\n const jsonString = JSON.stringify({\n uuid: uuid(),\n displayMode,\n });\n return Buffer.from(jsonString).toString(\"base64\");\n};\n\n/**\n * parses the state string from the OAuth2 flow, decoding the display mode too\n * @param state\n * @returns { uuid: string, displayMode: DisplayMode }\n */\nconst displayModeFromState = (\n state: string,\n sessionDisplayMode: DisplayMode | undefined,\n): DisplayMode | undefined => {\n try {\n const jsonString = Buffer.from(state, \"base64\").toString();\n return JSON.parse(jsonString).displayMode;\n } catch (_e) {\n return sessionDisplayMode;\n }\n};\n\nexport { getOauthEndpoints, displayModeFromState, generateState };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n/**\n * Checks if a popup window is blocked by the browser.\n *\n * This function attempts to open a small popup window and then checks if it was successfully created.\n * If the popup is blocked by the browser, the function returns `true`. Otherwise, it returns `false`.\n *\n * @returns {boolean} - `true` if the popup is blocked, `false` otherwise.\n */\nconst isPopupBlocked = (): boolean => {\n // First we try to open a small popup window. It either returns a window object or null.\n const popup = window.open(\"\", \"\", \"width=1,height=1\");\n\n // If window.open() returns null, popup is definitely blocked\n if (!popup) {\n return true;\n }\n\n try {\n // Try to access a property of the popup to check if it's usable\n if (typeof popup.closed === \"undefined\") {\n throw new Error(\"Popup is blocked\");\n }\n } catch {\n // Accessing the popup's properties throws an error if the popup is blocked\n return true;\n }\n\n // Close the popup immediately if it was opened\n popup.close();\n return false;\n};\n\nconst cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n\nexport { cn, isPopupBlocked };\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { LoadingIcon } from \"./LoadingIcon\";\n\ntype CivicAuthIframeProps = {\n authUrl: string;\n redirectUri: string;\n setAuthResponseUrl: (authResponse: string) => void;\n onClose: () => void;\n};\n\nconst CloseIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-x\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n);\n\nconst IFRAME_ID = \"civic-auth-iframe\";\n\nconst CivicAuthIframe = ({\n authUrl,\n redirectUri,\n setAuthResponseUrl,\n onClose,\n}: CivicAuthIframeProps) => {\n const iframeRef = useRef<HTMLIFrameElement>(null);\n const [isLoading, setIsLoading] = useState(true);\n const processIframeUrl = useCallback(() => {\n if (iframeRef.current && iframeRef.current.contentWindow) {\n try {\n const iframeUrl = iframeRef.current.contentWindow.location.href;\n if (iframeUrl.startsWith(redirectUri)) {\n setAuthResponseUrl(iframeUrl);\n\n return true; // Successfully processed the URL\n }\n } catch {\n // If we get here, the iframe hasn't redirected to our origin yet\n console.log(\"Waiting for redirect...\");\n }\n }\n return false; // Haven't processed the URL yet\n }, [redirectUri, setAuthResponseUrl]);\n\n const intervalId = useRef<NodeJS.Timeout>();\n // useEffect(() => {\n // intervalId.current = setInterval(() => {\n // if (processIframeUrl()) {\n // clearInterval(intervalId.current);\n // }\n // }, 500);\n // return () => clearInterval(intervalId.current);\n // }, [processIframeUrl, redirectUri, setAuthResponseUrl]);\n\n // handle Escape\n useEffect(() => {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onClose();\n }\n };\n\n window.addEventListener(\"keydown\", handleEscape);\n\n return () => window.removeEventListener(\"keydown\", handleEscape);\n });\n\n const handleIframeLoad = () => {\n setIsLoading(false);\n console.log(\"handleIframeLoad\");\n if (processIframeUrl() && intervalId.current) {\n clearInterval(intervalId.current);\n }\n };\n\n return (\n <div\n className=\"absolute left-0 top-0 z-[9999] flex h-screen w-screen items-center justify-center bg-neutral-950 bg-opacity-50\"\n onClick={onClose}\n >\n <div\n className=\"relative rounded-3xl bg-white p-6 shadow-lg\"\n onClick={(e) => e.stopPropagation()}\n >\n <button\n className=\"absolute right-4 top-4 flex cursor-pointer items-center justify-center border-none bg-transparent p-1 text-neutral-400\"\n onClick={onClose}\n >\n <CloseIcon />\n </button>\n\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center rounded-3xl bg-neutral-100\">\n <LoadingIcon />\n </div>\n )}\n\n <iframe\n id={IFRAME_ID}\n ref={iframeRef}\n src={authUrl}\n className=\"h-48 w-80 border-none\"\n onLoad={handleIframeLoad}\n />\n </div>\n </div>\n );\n};\n\nexport type { CivicAuthIframeProps };\n\nexport { CivicAuthIframe };\n","const LoadingIcon = () => (\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline h-8 w-8 animate-spin fill-neutral-600 text-neutral-200 dark:fill-neutral-300 dark:text-neutral-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n <span className=\"sr-only\">Loading...</span>\n </div>\n);\n\nexport { LoadingIcon };\n","import { useAuth, useUser } from \"@/react/hooks\";\nimport { DisplayMode } from \"@/types\";\nimport { cn } from \"@/utils\";\nimport { useEffect, useState } from \"react\";\n\nconst ChevronDown = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-chevron-down\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n);\n\nconst ChevronUp = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-chevron-up\"\n >\n <path d=\"m18 15-6-6-6 6\" />\n </svg>\n);\n\nconst UserButton = ({\n displayMode,\n className,\n}: {\n displayMode?: DisplayMode;\n className?: string;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const { signIn, isAuthenticated, signOut } = useAuth();\n const { user } = useUser();\n\n // close the dropdown when the user presses the escape key\n useEffect(() => {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen]);\n\n // close the dropdown when the user clicks outside of it\n useEffect(() => {\n const handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n if (!target.closest(\"#civic-dropdown-container\")) {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n window.addEventListener(\"click\", handleClick);\n }\n\n return () => {\n window.removeEventListener(\"click\", handleClick);\n };\n }, [isOpen]);\n\n // set the dropdown to false when the user signs out\n useEffect(() => {\n if (!isAuthenticated) {\n setIsOpen(false);\n }\n }, [isAuthenticated]);\n\n if (isAuthenticated) {\n return (\n <div className=\"relative\" id=\"civic-dropdown-container\">\n <button\n className={cn(\n \"flex w-full items-center justify-between gap-2 rounded-full border border-neutral-500 px-3 py-2 text-neutral-500 transition-colors hover:bg-neutral-200 hover:bg-opacity-50\",\n className,\n )}\n onClick={() => setIsOpen((isOpen) => !isOpen)}\n >\n {user?.picture ? (\n <span className=\"relative flex h-10 w-10 shrink-0 gap-2 overflow-hidden rounded-full\">\n <img\n className=\"h-full w-full object-cover\"\n src={user.picture}\n alt={user?.name || user?.email}\n />\n </span>\n ) : (\n <div />\n )}\n\n <span>{user?.name || user?.email}</span>\n\n {isOpen ? <ChevronUp /> : <ChevronDown />}\n </button>\n <div\n className={\n isOpen\n ? \"absolute right-0 mt-2 w-full rounded-lg bg-white py-2 text-neutral-500 shadow-xl\"\n : \"hidden\"\n }\n >\n <ul>\n <li>\n <button\n className=\"block w-full px-4 py-2 transition-colors hover:bg-neutral-200 hover:bg-opacity-50\"\n onClick={() => signOut()}\n >\n Logout\n </button>\n </li>\n </ul>\n </div>\n </div>\n );\n }\n\n return (\n <button\n className={cn(\n \"rounded-full border border-neutral-500 px-3 py-2 transition-colors hover:bg-neutral-200 hover:bg-opacity-50\",\n className,\n )}\n onClick={() => signIn(displayMode)}\n >\n Sign in\n </button>\n );\n};\n\nexport { UserButton };\n","import { createContext, ReactNode } from \"react\";\nimport { Config } from \"@/types\";\n\ntype ParamsProviderProps = {\n children: ReactNode;\n clientId: string;\n redirectUrl?: string;\n nonce?: string;\n config?: Config;\n};\n\ntype ParamsContextType = Omit<ParamsProviderProps, \"children\">;\n\nconst ParamsContext = createContext<ParamsContextType | null>(null);\n\nconst ParamsProvider = ({\n children,\n clientId,\n redirectUrl,\n config,\n nonce,\n}: ParamsProviderProps) => {\n // Not sure if it's valid to use the setAuthResponse callback rather than a post-message\n const value = {\n clientId,\n redirectUrl,\n config,\n nonce,\n };\n return (\n <ParamsContext.Provider value={value}>{children}</ParamsContext.Provider>\n );\n};\n\nexport type { ParamsProviderProps, ParamsContextType };\n\nexport { ParamsProvider, ParamsContext };\n","import { SessionData } from \"@/types\";\nimport React, { createContext, ReactNode } from \"react\";\n\nconst defaultSession: SessionData = {\n authenticated: false,\n idToken: undefined,\n accessToken: undefined,\n displayMode: \"iframe\",\n};\n\n// Context for exposing session specifically to the TokenProvider\nconst SessionContext = createContext<SessionData>(defaultSession);\n\ntype SessionContextType = {\n children: ReactNode;\n session?: SessionData;\n};\n\nconst SessionProvider = ({ children, session }: SessionContextType) => (\n <SessionContext.Provider value={session || defaultSession}>\n {children}\n </SessionContext.Provider>\n);\n\nexport type { SessionContextType };\nexport { SessionProvider, SessionContext };\n","export const DEFAULT_SCOPES = [\"openid\", \"profile\", \"email\", \"forwardedTokens\"];\n","import { Config } from \"@/types\";\n\nexport const authConfig: Config = {\n // TODO change this to the production URL once we're out of beta\n oauthServer: \"https://auth-dev.civic.com/oauth/\",\n};\n","import { AuthProvider, AuthProviderProps } from \"./AuthProvider\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient();\n\ntype CivicProviderProps = AuthProviderProps;\n\nconst CivicProvider = ({ children, ...props }: CivicProviderProps) => {\n return (\n <QueryClientProvider client={queryClient}>\n <AuthProvider {...props}>{children}</AuthProvider>\n </QueryClientProvider>\n );\n};\n\nexport { CivicProvider };\n","import { ParamsContext } from \"@/react/providers\";\nimport { useContext } from \"react\";\n\nconst useParams = () => {\n const context = useContext(ParamsContext);\n\n if (!context) {\n throw new Error(\"useParams must be used within an ParamsProvider\");\n }\n\n return context;\n};\n\nexport { useParams };\n","import { useContext } from \"react\";\nimport { SessionContext } from \"@/react/providers\";\n\n// TokenProvider will use this internal context to access session\nconst useSession = () => {\n const context = useContext(SessionContext);\n if (!context) {\n throw new Error(\"useSession must be used within an SessionProvider\");\n }\n return context;\n};\n\nexport { useSession };\n"],"mappings":"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","names":["useContext","useContext","useContext","user","createContext","parseJWT","jsx","createContext","queryClient","parseJWT","createContext","useState","useEffect","useMemo","useCallback","useQuery","useMutation","useQueryClient","jsx","jsx","jsxs","useEffect","useState","jsx","jsxs","isOpen","createContext","jsx","createContext","jsx","jsx","jsxs","createContext","useState","queryClient","useQueryClient","useEffect","useMemo","useQuery","error","useMutation","useCallback","jsx","useContext","useContext","useContext","useContext"]}
|
package/package.json
CHANGED
|
@@ -1,58 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civic/auth",
|
|
3
|
-
"version": "0.0.1
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
"version": "0.0.1-beta.0",
|
|
4
|
+
"files": [
|
|
5
|
+
"dist"
|
|
6
|
+
],
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
9
|
"import": {
|
|
10
|
-
"types": "./dist/
|
|
11
|
-
"default": "./dist/
|
|
10
|
+
"types": "./dist/index.d.mts",
|
|
11
|
+
"default": "./dist/index.mjs"
|
|
12
12
|
},
|
|
13
13
|
"require": {
|
|
14
|
-
"types": "./dist/
|
|
15
|
-
"default": "./dist/
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"./react": {
|
|
19
19
|
"import": {
|
|
20
|
-
"types": "./dist/
|
|
21
|
-
"default": "./dist/
|
|
20
|
+
"types": "./dist/react.d.mts",
|
|
21
|
+
"default": "./dist/react.mjs"
|
|
22
22
|
},
|
|
23
23
|
"require": {
|
|
24
|
-
"types": "./dist/
|
|
25
|
-
"default": "./dist/
|
|
24
|
+
"types": "./dist/react.d.ts",
|
|
25
|
+
"default": "./dist/react.js"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"./nextjs": {
|
|
29
29
|
"import": {
|
|
30
|
-
"types": "./dist/
|
|
31
|
-
"default": "./dist/
|
|
30
|
+
"types": "./dist/nextjs.d.mts",
|
|
31
|
+
"default": "./dist/nextjs.mjs"
|
|
32
32
|
},
|
|
33
33
|
"require": {
|
|
34
|
-
"types": "./dist/
|
|
35
|
-
"default": "./dist/
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
"./nextjs/middleware": {
|
|
39
|
-
"import": {
|
|
40
|
-
"types": "./dist/esm/src/nextjs/middleware/index.d.ts",
|
|
41
|
-
"default": "./dist/esm/src/nextjs/middleware/index.js"
|
|
42
|
-
},
|
|
43
|
-
"require": {
|
|
44
|
-
"types": "./dist/cjs/src/nextjs/middleware/index.d.ts",
|
|
45
|
-
"default": "./dist/cjs/src/nextjs/middleware/index.js"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
"./server": {
|
|
49
|
-
"import": {
|
|
50
|
-
"types": "./dist/esm/src/server/index.d.ts",
|
|
51
|
-
"default": "./dist/esm/src/server/index.js"
|
|
52
|
-
},
|
|
53
|
-
"require": {
|
|
54
|
-
"types": "./dist/cjs/src/server/index.d.ts",
|
|
55
|
-
"default": "./dist/cjs/src/server/index.js"
|
|
34
|
+
"types": "./dist/nextjs.d.ts",
|
|
35
|
+
"default": "./dist/nextjs.js"
|
|
56
36
|
}
|
|
57
37
|
},
|
|
58
38
|
"./styles.css": "./dist/index.css"
|
|
@@ -61,10 +41,9 @@
|
|
|
61
41
|
"@tanstack/react-query": "^5.56.2",
|
|
62
42
|
"autoprefixer": "^10.4.20",
|
|
63
43
|
"clsx": "^2.1.1",
|
|
64
|
-
"debug": "^4.3.7",
|
|
65
44
|
"jose": "^5.9.4",
|
|
45
|
+
"next": "14.2.14",
|
|
66
46
|
"oslo": "^1.2.1",
|
|
67
|
-
"picomatch": "^4.0.2",
|
|
68
47
|
"postcss": "8.4.47",
|
|
69
48
|
"tailwind-merge": "^2.5.3",
|
|
70
49
|
"tailwindcss": "3.4.13",
|
|
@@ -73,23 +52,16 @@
|
|
|
73
52
|
"devDependencies": {
|
|
74
53
|
"@testing-library/jest-dom": "^6.5.0",
|
|
75
54
|
"@testing-library/react": "16.0.1",
|
|
76
|
-
"@types/debug": "^4.1.12",
|
|
77
55
|
"@types/node": "^22.7.4",
|
|
78
|
-
"@types/picomatch": "^3.0.1",
|
|
79
56
|
"@types/react": "18.3.11",
|
|
80
57
|
"@types/react-dom": "18.3.0",
|
|
81
|
-
"@types/uuid": "^10.0.0",
|
|
82
58
|
"@vitejs/plugin-react": "^4.3.2",
|
|
83
|
-
"esbuild-plugin-css-modules": "^0.3.0",
|
|
84
59
|
"eslint": "^8.57.1",
|
|
85
|
-
"eslint-plugin-require-extensions": "^0.1.3",
|
|
86
|
-
"next": "14.2.15",
|
|
87
60
|
"prettier": "^3.3.3",
|
|
88
61
|
"prettier-plugin-tailwindcss": "^0.6.8",
|
|
89
62
|
"react": "18.3.1",
|
|
90
63
|
"react-dom": "18.3.1",
|
|
91
64
|
"ts-jest": "^29.2.5",
|
|
92
|
-
"tsc-alias": "^1.8.10",
|
|
93
65
|
"tsup": "^8.3.0",
|
|
94
66
|
"vite": "^5.4.8",
|
|
95
67
|
"vite-plugin-dts": "^4.2.3",
|
|
@@ -98,14 +70,13 @@
|
|
|
98
70
|
"@repo/eslint-config": "0.0.0"
|
|
99
71
|
},
|
|
100
72
|
"peerDependencies": {
|
|
101
|
-
"
|
|
73
|
+
"@types/react": "18.3.1",
|
|
74
|
+
"@types/react-dom": "18.3.0"
|
|
102
75
|
},
|
|
103
76
|
"scripts": {
|
|
104
|
-
"build": "
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"prepublish": "pnpm build",
|
|
108
|
-
"dev": "tsc --watch",
|
|
77
|
+
"build": "tsup",
|
|
78
|
+
"prepublish": "tsup",
|
|
79
|
+
"dev": "tsup --watch",
|
|
109
80
|
"test": "vitest",
|
|
110
81
|
"lint": "eslint \"src/**/*.ts*\"",
|
|
111
82
|
"lint:fix": "pnpm lint --fix",
|
package/.eslintignore
DELETED
package/.eslintrc.json
DELETED
package/.prettierignore
DELETED
package/.prettierrc
DELETED
package/.turbo/turbo-build.log
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
> @civic/auth@tsc-test-alpha build /Users/flippie/civic/repos/civic-auth/packages/civic-auth-client
|
|
4
|
-
> pnpm build:cjs && pnpm build:esm
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
> @civic/auth@tsc-test-alpha build:cjs /Users/flippie/civic/repos/civic-auth/packages/civic-auth-client
|
|
8
|
-
> tsc -p tsconfig.cjs.json --noEmit false && tsc-alias -p tsconfig.cjs.json
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
> @civic/auth@tsc-test-alpha build:esm /Users/flippie/civic/repos/civic-auth/packages/civic-auth-client
|
|
12
|
-
> tsc -p tsconfig.esm.json --noEmit false && tsc-alias -p tsconfig.esm.json
|
|
13
|
-
|
package/.turbo/turbo-lint.log
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
> @civic/auth@tsc-test-alpha lint /Users/flippie/civic/repos/civic-auth/packages/civic-auth-client
|
|
4
|
-
> eslint "src/**/*.ts*"
|
|
5
|
-
|
|
6
|
-
Warning: React version not specified in eslint-plugin-react settings. See https://github.com/jsx-eslint/eslint-plugin-react#configuration .
|