@civic/auth 0.0.1-beta.3 → 0.0.1-beta.31
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/.eslintignore +3 -0
- package/.eslintrc.json +10 -0
- package/.prettierignore +3 -0
- package/.prettierrc +1 -0
- package/.turbo/turbo-build.log +13 -0
- package/.turbo/turbo-lint$colon$fix.log +16 -0
- package/.turbo/turbo-test.log +1153 -0
- package/README.md +26 -4
- package/dist/cjs/src/browser/storage.d.ts +6 -0
- package/dist/cjs/src/browser/storage.d.ts.map +1 -0
- package/dist/cjs/src/browser/storage.js +13 -0
- package/dist/cjs/src/browser/storage.js.map +1 -0
- package/dist/cjs/src/config.d.ts +3 -0
- package/dist/cjs/src/config.d.ts.map +1 -0
- package/dist/cjs/src/config.js +8 -0
- package/dist/cjs/src/config.js.map +1 -0
- package/dist/cjs/src/constants.d.ts +9 -0
- package/dist/cjs/src/constants.d.ts.map +1 -0
- package/dist/cjs/src/constants.js +26 -0
- package/dist/cjs/src/constants.js.map +1 -0
- package/dist/cjs/src/index.d.ts +4 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +3 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/lib/cookies.d.ts +7 -0
- package/dist/cjs/src/lib/cookies.d.ts.map +1 -0
- package/dist/cjs/src/lib/cookies.js +26 -0
- package/dist/cjs/src/lib/cookies.js.map +1 -0
- package/dist/cjs/src/lib/jwt.d.ts +3 -0
- package/dist/cjs/src/lib/jwt.d.ts.map +1 -0
- package/dist/cjs/src/lib/jwt.js +13 -0
- package/dist/cjs/src/lib/jwt.js.map +1 -0
- package/dist/cjs/src/lib/logger.d.ts +26 -0
- package/dist/cjs/src/lib/logger.d.ts.map +1 -0
- package/dist/cjs/src/lib/logger.js +62 -0
- package/dist/cjs/src/lib/logger.js.map +1 -0
- package/dist/cjs/src/lib/oauth.d.ts +19 -0
- package/dist/cjs/src/lib/oauth.d.ts.map +1 -0
- package/dist/cjs/src/lib/oauth.js +67 -0
- package/dist/cjs/src/lib/oauth.js.map +1 -0
- package/dist/cjs/src/lib/postMessage.d.ts +4 -0
- package/dist/cjs/src/lib/postMessage.d.ts.map +1 -0
- package/dist/cjs/src/lib/postMessage.js +18 -0
- package/dist/cjs/src/lib/postMessage.js.map +1 -0
- package/dist/cjs/src/lib/windowUtil.d.ts +4 -0
- package/dist/cjs/src/lib/windowUtil.d.ts.map +1 -0
- package/dist/cjs/src/lib/windowUtil.js +34 -0
- package/dist/cjs/src/lib/windowUtil.js.map +1 -0
- package/dist/cjs/src/nextjs/GetUser.d.ts +6 -0
- package/dist/cjs/src/nextjs/GetUser.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/GetUser.js +22 -0
- package/dist/cjs/src/nextjs/GetUser.js.map +1 -0
- package/dist/cjs/src/nextjs/config.d.ts +178 -0
- package/dist/cjs/src/nextjs/config.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/config.js +167 -0
- package/dist/cjs/src/nextjs/config.js.map +1 -0
- package/dist/cjs/src/nextjs/cookies.d.ts +30 -0
- package/dist/cjs/src/nextjs/cookies.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/cookies.js +119 -0
- package/dist/cjs/src/nextjs/cookies.js.map +1 -0
- package/dist/cjs/src/nextjs/hooks/index.d.ts +2 -0
- package/dist/cjs/src/nextjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/hooks/index.js +6 -0
- package/dist/cjs/src/nextjs/hooks/index.js.map +1 -0
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +3 -0
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +41 -0
- package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +1 -0
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +3 -0
- package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js +40 -0
- package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +1 -0
- package/dist/cjs/src/nextjs/index.d.ts +7 -0
- package/dist/cjs/src/nextjs/index.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/index.js +18 -0
- package/dist/cjs/src/nextjs/index.js.map +1 -0
- package/dist/cjs/src/nextjs/middleware/index.d.ts +2 -0
- package/dist/cjs/src/nextjs/middleware/index.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/middleware/index.js +8 -0
- package/dist/cjs/src/nextjs/middleware/index.js.map +1 -0
- package/dist/cjs/src/nextjs/middleware.d.ts +59 -0
- package/dist/cjs/src/nextjs/middleware.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/middleware.js +116 -0
- package/dist/cjs/src/nextjs/middleware.js.map +1 -0
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +9 -0
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +76 -0
- package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +1 -0
- package/dist/cjs/src/nextjs/routeHandler.d.ts +18 -0
- package/dist/cjs/src/nextjs/routeHandler.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/routeHandler.js +217 -0
- package/dist/cjs/src/nextjs/routeHandler.js.map +1 -0
- package/dist/cjs/src/nextjs/utils.d.ts +3 -0
- package/dist/cjs/src/nextjs/utils.d.ts.map +1 -0
- package/dist/cjs/src/nextjs/utils.js +9 -0
- package/dist/cjs/src/nextjs/utils.js.map +1 -0
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts +8 -0
- package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/components/SignInButton.js +20 -0
- package/dist/cjs/src/reactjs/components/SignInButton.js.map +1 -0
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +6 -0
- package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/components/SignOutButton.js +20 -0
- package/dist/cjs/src/reactjs/components/SignOutButton.js.map +1 -0
- package/dist/cjs/src/reactjs/components/UserButton.d.ts +8 -0
- package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/components/UserButton.js +136 -0
- package/dist/cjs/src/reactjs/components/UserButton.js.map +1 -0
- package/dist/cjs/src/reactjs/components/index.d.ts +6 -0
- package/dist/cjs/src/reactjs/components/index.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/components/index.js +14 -0
- package/dist/cjs/src/reactjs/components/index.js.map +1 -0
- package/dist/cjs/src/reactjs/hooks/index.d.ts +7 -0
- package/dist/cjs/src/reactjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/hooks/index.js +16 -0
- package/dist/cjs/src/reactjs/hooks/index.js.map +1 -0
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +3 -0
- package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/hooks/useAuth.js +15 -0
- package/dist/cjs/src/reactjs/hooks/useAuth.js.map +1 -0
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts +4 -0
- package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/hooks/useUser.js +15 -0
- package/dist/cjs/src/reactjs/hooks/useUser.js.map +1 -0
- package/dist/cjs/src/reactjs/index.d.ts +6 -0
- package/dist/cjs/src/reactjs/index.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/index.js +30 -0
- package/dist/cjs/src/reactjs/index.js.map +1 -0
- package/dist/cjs/src/reactjs/providers/index.d.ts +8 -0
- package/dist/cjs/src/reactjs/providers/index.d.ts.map +1 -0
- package/dist/cjs/src/reactjs/providers/index.js +19 -0
- package/dist/cjs/src/reactjs/providers/index.js.map +1 -0
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +18 -0
- package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +1 -0
- package/dist/cjs/src/server/ServerAuthenticationResolver.js +61 -0
- package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +1 -0
- package/dist/cjs/src/server/config.d.ts +16 -0
- package/dist/cjs/src/server/config.d.ts.map +1 -0
- package/dist/cjs/src/server/config.js +3 -0
- package/dist/cjs/src/server/config.js.map +1 -0
- package/dist/cjs/src/server/index.d.ts +6 -0
- package/dist/cjs/src/server/index.d.ts.map +1 -0
- package/dist/cjs/src/server/index.js +14 -0
- package/dist/cjs/src/server/index.js.map +1 -0
- package/dist/cjs/src/server/login.d.ts +17 -0
- package/dist/cjs/src/server/login.d.ts.map +1 -0
- package/dist/cjs/src/server/login.js +42 -0
- package/dist/cjs/src/server/login.js.map +1 -0
- package/dist/cjs/src/server/refresh.d.ts +7 -0
- package/dist/cjs/src/server/refresh.d.ts.map +1 -0
- package/dist/cjs/src/server/refresh.js +16 -0
- package/dist/cjs/src/server/refresh.js.map +1 -0
- package/dist/cjs/src/services/AuthenticationService.d.ts +87 -0
- package/dist/cjs/src/services/AuthenticationService.d.ts.map +1 -0
- package/dist/cjs/src/services/AuthenticationService.js +218 -0
- package/dist/cjs/src/services/AuthenticationService.js.map +1 -0
- package/dist/cjs/src/services/PKCE.d.ts +20 -0
- package/dist/cjs/src/services/PKCE.d.ts.map +1 -0
- package/dist/cjs/src/services/PKCE.js +50 -0
- package/dist/cjs/src/services/PKCE.js.map +1 -0
- package/dist/cjs/src/services/types.d.ts +23 -0
- package/dist/cjs/src/services/types.d.ts.map +1 -0
- package/dist/cjs/src/services/types.js +11 -0
- package/dist/cjs/src/services/types.js.map +1 -0
- package/dist/cjs/src/shared/AuthProvider.d.ts +18 -0
- package/dist/cjs/src/shared/AuthProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/AuthProvider.js +246 -0
- package/dist/cjs/src/shared/AuthProvider.js.map +1 -0
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts +6 -0
- package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/CivicAuthProvider.js +19 -0
- package/dist/cjs/src/shared/CivicAuthProvider.js.map +1 -0
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +15 -0
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +1 -0
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +47 -0
- package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +1 -0
- package/dist/cjs/src/shared/UserProvider.d.ts +17 -0
- package/dist/cjs/src/shared/UserProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/UserProvider.js +42 -0
- package/dist/cjs/src/shared/UserProvider.js.map +1 -0
- package/dist/cjs/src/shared/UserSession.d.ts +12 -0
- package/dist/cjs/src/shared/UserSession.d.ts.map +1 -0
- package/dist/cjs/src/shared/UserSession.js +24 -0
- package/dist/cjs/src/shared/UserSession.js.map +1 -0
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +8 -0
- package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +1 -0
- package/dist/cjs/src/shared/components/CivicAuthIframe.js +35 -0
- package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +1 -0
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +9 -0
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +154 -0
- package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +1 -0
- package/dist/cjs/src/shared/components/CloseIcon.d.ts +4 -0
- package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +1 -0
- package/dist/cjs/src/shared/components/CloseIcon.js +12 -0
- package/dist/cjs/src/shared/components/CloseIcon.js.map +1 -0
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts +4 -0
- package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +1 -0
- package/dist/cjs/src/shared/components/LoadingIcon.js +36 -0
- package/dist/cjs/src/shared/components/LoadingIcon.js.map +1 -0
- package/dist/cjs/src/shared/hooks/index.d.ts +5 -0
- package/dist/cjs/src/shared/hooks/index.d.ts.map +1 -0
- package/dist/cjs/src/shared/hooks/index.js +12 -0
- package/dist/cjs/src/shared/hooks/index.js.map +1 -0
- package/dist/cjs/src/shared/hooks/useAuth.d.ts +3 -0
- package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +1 -0
- package/dist/cjs/src/shared/hooks/useAuth.js +15 -0
- package/dist/cjs/src/shared/hooks/useAuth.js.map +1 -0
- package/dist/cjs/src/shared/hooks/useConfig.d.ts +3 -0
- package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +1 -0
- package/dist/cjs/src/shared/hooks/useConfig.js +16 -0
- package/dist/cjs/src/shared/hooks/useConfig.js.map +1 -0
- package/dist/cjs/src/shared/hooks/useIframe.d.ts +3 -0
- package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +1 -0
- package/dist/cjs/src/shared/hooks/useIframe.js +16 -0
- package/dist/cjs/src/shared/hooks/useIframe.js.map +1 -0
- package/dist/cjs/src/shared/hooks/useSession.d.ts +3 -0
- package/dist/cjs/src/shared/hooks/useSession.d.ts.map +1 -0
- package/dist/cjs/src/shared/hooks/useSession.js +16 -0
- package/dist/cjs/src/shared/hooks/useSession.js.map +1 -0
- package/dist/cjs/src/shared/hooks/useToken.d.ts +3 -0
- package/dist/cjs/src/shared/hooks/useToken.d.ts.map +1 -0
- package/dist/cjs/src/shared/hooks/useToken.js +15 -0
- package/dist/cjs/src/shared/hooks/useToken.js.map +1 -0
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +15 -0
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +43 -0
- package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
- package/dist/cjs/src/shared/lib/UserSession.d.ts +12 -0
- package/dist/cjs/src/shared/lib/UserSession.d.ts.map +1 -0
- package/dist/cjs/src/shared/lib/UserSession.js +24 -0
- package/dist/cjs/src/shared/lib/UserSession.js.map +1 -0
- package/dist/cjs/src/shared/lib/session.d.ts +3 -0
- package/dist/cjs/src/shared/lib/session.d.ts.map +1 -0
- package/dist/cjs/src/shared/lib/session.js +13 -0
- package/dist/cjs/src/shared/lib/session.js.map +1 -0
- package/dist/cjs/src/shared/lib/storage.d.ts +25 -0
- package/dist/cjs/src/shared/lib/storage.d.ts.map +1 -0
- package/dist/cjs/src/shared/lib/storage.js +21 -0
- package/dist/cjs/src/shared/lib/storage.js.map +1 -0
- package/dist/cjs/src/shared/lib/types.d.ts +22 -0
- package/dist/cjs/src/shared/lib/types.d.ts.map +1 -0
- package/dist/cjs/src/shared/lib/types.js +19 -0
- package/dist/cjs/src/shared/lib/types.js.map +1 -0
- package/dist/cjs/src/shared/lib/util.d.ts +33 -0
- package/dist/cjs/src/shared/lib/util.d.ts.map +1 -0
- package/dist/cjs/src/shared/lib/util.js +163 -0
- package/dist/cjs/src/shared/lib/util.js.map +1 -0
- package/dist/cjs/src/shared/providers/AuthContext.d.ts +10 -0
- package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/AuthContext.js +6 -0
- package/dist/cjs/src/shared/providers/AuthContext.js.map +1 -0
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts +20 -0
- package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/AuthProvider.js +289 -0
- package/dist/cjs/src/shared/providers/AuthProvider.js.map +1 -0
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +6 -0
- package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js +21 -0
- package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +1 -0
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +21 -0
- package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/ConfigProvider.js +46 -0
- package/dist/cjs/src/shared/providers/ConfigProvider.js.map +1 -0
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts +16 -0
- package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/IframeProvider.js +38 -0
- package/dist/cjs/src/shared/providers/IframeProvider.js.map +1 -0
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts +13 -0
- package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/SessionProvider.js +40 -0
- package/dist/cjs/src/shared/providers/SessionProvider.js.map +1 -0
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts +18 -0
- package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/TokenProvider.js +80 -0
- package/dist/cjs/src/shared/providers/TokenProvider.js.map +1 -0
- package/dist/cjs/src/shared/providers/UserProvider.d.ts +18 -0
- package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +1 -0
- package/dist/cjs/src/shared/providers/UserProvider.js +65 -0
- package/dist/cjs/src/shared/providers/UserProvider.js.map +1 -0
- package/dist/cjs/src/shared/session.d.ts +3 -0
- package/dist/cjs/src/shared/session.d.ts.map +1 -0
- package/dist/cjs/src/shared/session.js +13 -0
- package/dist/cjs/src/shared/session.js.map +1 -0
- package/dist/cjs/src/shared/util.d.ts +39 -0
- package/dist/cjs/src/shared/util.d.ts.map +1 -0
- package/dist/cjs/src/shared/util.js +162 -0
- package/dist/cjs/src/shared/util.js.map +1 -0
- package/dist/cjs/src/types.d.ts +146 -0
- package/dist/cjs/src/types.d.ts.map +1 -0
- package/dist/cjs/src/types.js +3 -0
- package/dist/cjs/src/types.js.map +1 -0
- package/dist/cjs/src/utils.d.ts +15 -0
- package/dist/cjs/src/utils.d.ts.map +1 -0
- package/dist/cjs/src/utils.js +47 -0
- package/dist/cjs/src/utils.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/esm/src/browser/storage.d.ts +6 -0
- package/dist/esm/src/browser/storage.d.ts.map +1 -0
- package/dist/esm/src/browser/storage.js +9 -0
- package/dist/esm/src/browser/storage.js.map +1 -0
- package/dist/esm/src/config.d.ts +3 -0
- package/dist/esm/src/config.d.ts.map +1 -0
- package/dist/esm/src/config.js +5 -0
- package/dist/esm/src/config.js.map +1 -0
- package/dist/esm/src/constants.d.ts +9 -0
- package/dist/esm/src/constants.d.ts.map +1 -0
- package/dist/esm/src/constants.js +17 -0
- package/dist/esm/src/constants.js.map +1 -0
- package/dist/esm/src/index.d.ts +4 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/lib/cookies.d.ts +7 -0
- package/dist/esm/src/lib/cookies.d.ts.map +1 -0
- package/dist/esm/src/lib/cookies.js +23 -0
- package/dist/esm/src/lib/cookies.js.map +1 -0
- package/dist/esm/src/lib/jwt.d.ts +3 -0
- package/dist/esm/src/lib/jwt.d.ts.map +1 -0
- package/dist/esm/src/lib/jwt.js +9 -0
- package/dist/esm/src/lib/jwt.js.map +1 -0
- package/dist/esm/src/lib/logger.d.ts +26 -0
- package/dist/esm/src/lib/logger.d.ts.map +1 -0
- package/dist/esm/src/lib/logger.js +55 -0
- package/dist/esm/src/lib/logger.js.map +1 -0
- package/dist/esm/src/lib/oauth.d.ts +19 -0
- package/dist/esm/src/lib/oauth.d.ts.map +1 -0
- package/dist/esm/src/lib/oauth.js +60 -0
- package/dist/esm/src/lib/oauth.js.map +1 -0
- package/dist/esm/src/lib/postMessage.d.ts +4 -0
- package/dist/esm/src/lib/postMessage.d.ts.map +1 -0
- package/dist/esm/src/lib/postMessage.js +15 -0
- package/dist/esm/src/lib/postMessage.js.map +1 -0
- package/dist/esm/src/lib/windowUtil.d.ts +4 -0
- package/dist/esm/src/lib/windowUtil.d.ts.map +1 -0
- package/dist/esm/src/lib/windowUtil.js +30 -0
- package/dist/esm/src/lib/windowUtil.js.map +1 -0
- package/dist/esm/src/nextjs/GetUser.d.ts +6 -0
- package/dist/esm/src/nextjs/GetUser.d.ts.map +1 -0
- package/dist/esm/src/nextjs/GetUser.js +18 -0
- package/dist/esm/src/nextjs/GetUser.js.map +1 -0
- package/dist/esm/src/nextjs/config.d.ts +178 -0
- package/dist/esm/src/nextjs/config.d.ts.map +1 -0
- package/dist/esm/src/nextjs/config.js +162 -0
- package/dist/esm/src/nextjs/config.js.map +1 -0
- package/dist/esm/src/nextjs/cookies.d.ts +30 -0
- package/dist/esm/src/nextjs/cookies.d.ts.map +1 -0
- package/dist/esm/src/nextjs/cookies.js +112 -0
- package/dist/esm/src/nextjs/cookies.js.map +1 -0
- package/dist/esm/src/nextjs/hooks/index.d.ts +2 -0
- package/dist/esm/src/nextjs/hooks/index.d.ts.map +1 -0
- package/dist/esm/src/nextjs/hooks/index.js +2 -0
- package/dist/esm/src/nextjs/hooks/index.js.map +1 -0
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +3 -0
- package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +1 -0
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js +37 -0
- package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +1 -0
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +3 -0
- package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +1 -0
- package/dist/esm/src/nextjs/hooks/useUserCookie.js +36 -0
- package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +1 -0
- package/dist/esm/src/nextjs/index.d.ts +7 -0
- package/dist/esm/src/nextjs/index.d.ts.map +1 -0
- package/dist/esm/src/nextjs/index.js +6 -0
- package/dist/esm/src/nextjs/index.js.map +1 -0
- package/dist/esm/src/nextjs/middleware/index.d.ts +2 -0
- package/dist/esm/src/nextjs/middleware/index.d.ts.map +1 -0
- package/dist/esm/src/nextjs/middleware/index.js +2 -0
- package/dist/esm/src/nextjs/middleware/index.js.map +1 -0
- package/dist/esm/src/nextjs/middleware.d.ts +59 -0
- package/dist/esm/src/nextjs/middleware.d.ts.map +1 -0
- package/dist/esm/src/nextjs/middleware.js +107 -0
- package/dist/esm/src/nextjs/middleware.js.map +1 -0
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +9 -0
- package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js +50 -0
- package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +1 -0
- package/dist/esm/src/nextjs/routeHandler.d.ts +18 -0
- package/dist/esm/src/nextjs/routeHandler.d.ts.map +1 -0
- package/dist/esm/src/nextjs/routeHandler.js +212 -0
- package/dist/esm/src/nextjs/routeHandler.js.map +1 -0
- package/dist/esm/src/nextjs/utils.d.ts +3 -0
- package/dist/esm/src/nextjs/utils.d.ts.map +1 -0
- package/dist/esm/src/nextjs/utils.js +5 -0
- package/dist/esm/src/nextjs/utils.js.map +1 -0
- package/dist/esm/src/reactjs/components/SignInButton.d.ts +8 -0
- package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +1 -0
- package/dist/esm/src/reactjs/components/SignInButton.js +14 -0
- package/dist/esm/src/reactjs/components/SignInButton.js.map +1 -0
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts +6 -0
- package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +1 -0
- package/dist/esm/src/reactjs/components/SignOutButton.js +14 -0
- package/dist/esm/src/reactjs/components/SignOutButton.js.map +1 -0
- package/dist/esm/src/reactjs/components/UserButton.d.ts +8 -0
- package/dist/esm/src/reactjs/components/UserButton.d.ts.map +1 -0
- package/dist/esm/src/reactjs/components/UserButton.js +110 -0
- package/dist/esm/src/reactjs/components/UserButton.js.map +1 -0
- package/dist/esm/src/reactjs/components/index.d.ts +6 -0
- package/dist/esm/src/reactjs/components/index.d.ts.map +1 -0
- package/dist/esm/src/reactjs/components/index.js +6 -0
- package/dist/esm/src/reactjs/components/index.js.map +1 -0
- package/dist/esm/src/reactjs/hooks/index.d.ts +7 -0
- package/dist/esm/src/reactjs/hooks/index.d.ts.map +1 -0
- package/dist/esm/src/reactjs/hooks/index.js +7 -0
- package/dist/esm/src/reactjs/hooks/index.js.map +1 -0
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts +3 -0
- package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +1 -0
- package/dist/esm/src/reactjs/hooks/useAuth.js +12 -0
- package/dist/esm/src/reactjs/hooks/useAuth.js.map +1 -0
- package/dist/esm/src/reactjs/hooks/useUser.d.ts +4 -0
- package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +1 -0
- package/dist/esm/src/reactjs/hooks/useUser.js +12 -0
- package/dist/esm/src/reactjs/hooks/useUser.js.map +1 -0
- package/dist/esm/src/reactjs/index.d.ts +6 -0
- package/dist/esm/src/reactjs/index.d.ts.map +1 -0
- package/dist/esm/src/reactjs/index.js +8 -0
- package/dist/esm/src/reactjs/index.js.map +1 -0
- package/dist/esm/src/reactjs/providers/index.d.ts +8 -0
- package/dist/esm/src/reactjs/providers/index.d.ts.map +1 -0
- package/dist/esm/src/reactjs/providers/index.js +7 -0
- package/dist/esm/src/reactjs/providers/index.js.map +1 -0
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +18 -0
- package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +1 -0
- package/dist/esm/src/server/ServerAuthenticationResolver.js +57 -0
- package/dist/esm/src/server/ServerAuthenticationResolver.js.map +1 -0
- package/dist/esm/src/server/config.d.ts +16 -0
- package/dist/esm/src/server/config.d.ts.map +1 -0
- package/dist/esm/src/server/config.js +2 -0
- package/dist/esm/src/server/config.js.map +1 -0
- package/dist/esm/src/server/index.d.ts +6 -0
- package/dist/esm/src/server/index.d.ts.map +1 -0
- package/dist/esm/src/server/index.js +5 -0
- package/dist/esm/src/server/index.js.map +1 -0
- package/dist/esm/src/server/login.d.ts +17 -0
- package/dist/esm/src/server/login.d.ts.map +1 -0
- package/dist/esm/src/server/login.js +37 -0
- package/dist/esm/src/server/login.js.map +1 -0
- package/dist/esm/src/server/refresh.d.ts +7 -0
- package/dist/esm/src/server/refresh.d.ts.map +1 -0
- package/dist/esm/src/server/refresh.js +13 -0
- package/dist/esm/src/server/refresh.js.map +1 -0
- package/dist/esm/src/services/AuthenticationService.d.ts +87 -0
- package/dist/esm/src/services/AuthenticationService.d.ts.map +1 -0
- package/dist/esm/src/services/AuthenticationService.js +212 -0
- package/dist/esm/src/services/AuthenticationService.js.map +1 -0
- package/dist/esm/src/services/PKCE.d.ts +20 -0
- package/dist/esm/src/services/PKCE.d.ts.map +1 -0
- package/dist/esm/src/services/PKCE.js +44 -0
- package/dist/esm/src/services/PKCE.js.map +1 -0
- package/dist/esm/src/services/types.d.ts +23 -0
- package/dist/esm/src/services/types.d.ts.map +1 -0
- package/dist/esm/src/services/types.js +7 -0
- package/dist/esm/src/services/types.js.map +1 -0
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +8 -0
- package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +1 -0
- package/dist/esm/src/shared/components/CivicAuthIframe.js +9 -0
- package/dist/esm/src/shared/components/CivicAuthIframe.js.map +1 -0
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +9 -0
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +128 -0
- package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +1 -0
- package/dist/esm/src/shared/components/CloseIcon.d.ts +4 -0
- package/dist/esm/src/shared/components/CloseIcon.d.ts.map +1 -0
- package/dist/esm/src/shared/components/CloseIcon.js +6 -0
- package/dist/esm/src/shared/components/CloseIcon.js.map +1 -0
- package/dist/esm/src/shared/components/LoadingIcon.d.ts +4 -0
- package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +1 -0
- package/dist/esm/src/shared/components/LoadingIcon.js +30 -0
- package/dist/esm/src/shared/components/LoadingIcon.js.map +1 -0
- package/dist/esm/src/shared/hooks/index.d.ts +5 -0
- package/dist/esm/src/shared/hooks/index.d.ts.map +1 -0
- package/dist/esm/src/shared/hooks/index.js +5 -0
- package/dist/esm/src/shared/hooks/index.js.map +1 -0
- package/dist/esm/src/shared/hooks/useAuth.d.ts +3 -0
- package/dist/esm/src/shared/hooks/useAuth.d.ts.map +1 -0
- package/dist/esm/src/shared/hooks/useAuth.js +12 -0
- package/dist/esm/src/shared/hooks/useAuth.js.map +1 -0
- package/dist/esm/src/shared/hooks/useConfig.d.ts +3 -0
- package/dist/esm/src/shared/hooks/useConfig.d.ts.map +1 -0
- package/dist/esm/src/shared/hooks/useConfig.js +13 -0
- package/dist/esm/src/shared/hooks/useConfig.js.map +1 -0
- package/dist/esm/src/shared/hooks/useIframe.d.ts +3 -0
- package/dist/esm/src/shared/hooks/useIframe.d.ts.map +1 -0
- package/dist/esm/src/shared/hooks/useIframe.js +13 -0
- package/dist/esm/src/shared/hooks/useIframe.js.map +1 -0
- package/dist/esm/src/shared/hooks/useSession.d.ts +3 -0
- package/dist/esm/src/shared/hooks/useSession.d.ts.map +1 -0
- package/dist/esm/src/shared/hooks/useSession.js +13 -0
- package/dist/esm/src/shared/hooks/useSession.js.map +1 -0
- package/dist/esm/src/shared/hooks/useToken.d.ts +3 -0
- package/dist/esm/src/shared/hooks/useToken.d.ts.map +1 -0
- package/dist/esm/src/shared/hooks/useToken.js +12 -0
- package/dist/esm/src/shared/hooks/useToken.js.map +1 -0
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +15 -0
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +39 -0
- package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
- package/dist/esm/src/shared/lib/UserSession.d.ts +12 -0
- package/dist/esm/src/shared/lib/UserSession.d.ts.map +1 -0
- package/dist/esm/src/shared/lib/UserSession.js +20 -0
- package/dist/esm/src/shared/lib/UserSession.js.map +1 -0
- package/dist/esm/src/shared/lib/session.d.ts +3 -0
- package/dist/esm/src/shared/lib/session.d.ts.map +1 -0
- package/dist/esm/src/shared/lib/session.js +10 -0
- package/dist/esm/src/shared/lib/session.js.map +1 -0
- package/dist/esm/src/shared/lib/storage.d.ts +25 -0
- package/dist/esm/src/shared/lib/storage.d.ts.map +1 -0
- package/dist/esm/src/shared/lib/storage.js +17 -0
- package/dist/esm/src/shared/lib/storage.js.map +1 -0
- package/dist/esm/src/shared/lib/types.d.ts +22 -0
- package/dist/esm/src/shared/lib/types.d.ts.map +1 -0
- package/dist/esm/src/shared/lib/types.js +16 -0
- package/dist/esm/src/shared/lib/types.js.map +1 -0
- package/dist/esm/src/shared/lib/util.d.ts +33 -0
- package/dist/esm/src/shared/lib/util.d.ts.map +1 -0
- package/dist/esm/src/shared/lib/util.js +127 -0
- package/dist/esm/src/shared/lib/util.js.map +1 -0
- package/dist/esm/src/shared/providers/AuthContext.d.ts +10 -0
- package/dist/esm/src/shared/providers/AuthContext.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/AuthContext.js +3 -0
- package/dist/esm/src/shared/providers/AuthContext.js.map +1 -0
- package/dist/esm/src/shared/providers/AuthProvider.d.ts +20 -0
- package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/AuthProvider.js +263 -0
- package/dist/esm/src/shared/providers/AuthProvider.js.map +1 -0
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +6 -0
- package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/CivicAuthProvider.js +15 -0
- package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +1 -0
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts +21 -0
- package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/ConfigProvider.js +19 -0
- package/dist/esm/src/shared/providers/ConfigProvider.js.map +1 -0
- package/dist/esm/src/shared/providers/IframeProvider.d.ts +16 -0
- package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/IframeProvider.js +11 -0
- package/dist/esm/src/shared/providers/IframeProvider.js.map +1 -0
- package/dist/esm/src/shared/providers/SessionProvider.d.ts +13 -0
- package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/SessionProvider.js +13 -0
- package/dist/esm/src/shared/providers/SessionProvider.js.map +1 -0
- package/dist/esm/src/shared/providers/TokenProvider.d.ts +18 -0
- package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/TokenProvider.js +53 -0
- package/dist/esm/src/shared/providers/TokenProvider.js.map +1 -0
- package/dist/esm/src/shared/providers/UserProvider.d.ts +18 -0
- package/dist/esm/src/shared/providers/UserProvider.d.ts.map +1 -0
- package/dist/esm/src/shared/providers/UserProvider.js +38 -0
- package/dist/esm/src/shared/providers/UserProvider.js.map +1 -0
- package/dist/esm/src/types.d.ts +146 -0
- package/dist/esm/src/types.d.ts.map +1 -0
- package/dist/esm/src/types.js +2 -0
- package/dist/esm/src/types.js.map +1 -0
- package/dist/esm/src/utils.d.ts +15 -0
- package/dist/esm/src/utils.d.ts.map +1 -0
- package/dist/esm/src/utils.js +43 -0
- package/dist/esm/src/utils.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/src/nextjs/cookies.d.ts.map +1 -0
- package/dist/src/nextjs/cookies.js +113 -0
- package/dist/src/nextjs/cookies.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +53 -43
- package/src/browser/storage.ts +11 -0
- package/src/config.ts +6 -0
- package/src/constants.ts +29 -0
- package/src/index.ts +16 -0
- package/src/lib/cookies.ts +28 -0
- package/src/lib/jwt.ts +15 -0
- package/src/lib/logger.ts +72 -0
- package/src/lib/oauth.ts +83 -0
- package/src/lib/postMessage.ts +22 -0
- package/src/lib/windowUtil.ts +29 -0
- package/src/nextjs/GetUser.ts +22 -0
- package/src/nextjs/config.ts +205 -0
- package/src/nextjs/cookies.ts +162 -0
- package/src/nextjs/hooks/index.ts +1 -0
- package/src/nextjs/hooks/useTokenCookie.ts +41 -0
- package/src/nextjs/hooks/useUserCookie.ts +41 -0
- package/src/nextjs/index.ts +20 -0
- package/src/nextjs/middleware/index.ts +1 -0
- package/src/nextjs/middleware.ts +155 -0
- package/src/nextjs/providers/NextAuthProvider.tsx +87 -0
- package/src/nextjs/routeHandler.ts +297 -0
- package/src/nextjs/utils.ts +9 -0
- package/src/reactjs/components/SignInButton.tsx +32 -0
- package/src/reactjs/components/SignOutButton.tsx +24 -0
- package/src/reactjs/components/UserButton.tsx +215 -0
- package/src/reactjs/components/index.ts +5 -0
- package/src/reactjs/hooks/index.ts +6 -0
- package/src/reactjs/hooks/useAuth.ts +15 -0
- package/src/reactjs/hooks/useUser.ts +20 -0
- package/src/reactjs/index.ts +19 -0
- package/src/reactjs/providers/index.ts +27 -0
- package/src/server/ServerAuthenticationResolver.ts +102 -0
- package/src/server/config.ts +17 -0
- package/src/server/index.ts +12 -0
- package/src/server/login.ts +59 -0
- package/src/server/refresh.ts +23 -0
- package/src/services/AuthenticationService.ts +324 -0
- package/src/services/PKCE.ts +45 -0
- package/src/services/types.ts +54 -0
- package/src/shared/components/CivicAuthIframe.tsx +26 -0
- package/src/shared/components/CivicAuthIframeContainer.tsx +190 -0
- package/src/shared/components/CloseIcon.tsx +21 -0
- package/src/shared/components/LoadingIcon.tsx +53 -0
- package/src/shared/hooks/index.ts +4 -0
- package/src/shared/hooks/useAuth.ts +15 -0
- package/src/shared/hooks/useConfig.ts +14 -0
- package/src/shared/hooks/useIframe.ts +14 -0
- package/src/shared/hooks/useSession.ts +14 -0
- package/src/shared/hooks/useToken.ts +15 -0
- package/src/shared/lib/GenericAuthenticationRefresher.ts +70 -0
- package/src/shared/lib/UserSession.ts +25 -0
- package/src/shared/lib/session.ts +11 -0
- package/src/shared/lib/storage.ts +40 -0
- package/src/shared/lib/types.ts +26 -0
- package/src/shared/lib/util.ts +217 -0
- package/src/shared/providers/AuthContext.tsx +11 -0
- package/src/shared/providers/AuthProvider.tsx +390 -0
- package/src/shared/providers/CivicAuthProvider.tsx +31 -0
- package/src/shared/providers/ConfigProvider.tsx +50 -0
- package/src/shared/providers/IframeProvider.tsx +34 -0
- package/src/shared/providers/SessionProvider.tsx +29 -0
- package/src/shared/providers/TokenProvider.tsx +78 -0
- package/src/shared/providers/UserProvider.tsx +80 -0
- package/src/types.ts +227 -0
- package/src/utils.ts +58 -0
- package/test/integration/sdk.test.tsx +266 -0
- package/test/support/fixtures.ts +56 -0
- package/test/support/tokens.json +26 -0
- package/test/unit/lib/oauth.test.ts +72 -0
- package/test/unit/logger.test.ts +175 -0
- package/test/unit/nextjs/NextAuthProvider.test.tsx +38 -0
- package/test/unit/nextjs/config.test.ts +218 -0
- package/test/unit/nextjs/getUser.test.ts +41 -0
- package/test/unit/nextjs/middleware.test.ts +138 -0
- package/test/unit/nextjs/routeHandler.test.ts.skipped +369 -0
- package/test/unit/nextjs/utils.test.ts +17 -0
- package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +17 -0
- package/test/unit/publicApi/apiSnapshot.test.ts +11 -0
- package/test/unit/react/components/SignInButton.test.tsx +50 -0
- package/test/unit/react/components/SignOutButton.test.tsx +49 -0
- package/test/unit/server/login.test.ts +181 -0
- package/test/unit/server/session.test.ts +51 -0
- package/test/unit/services/AuthenticationService.test.ts +152 -0
- package/test/unit/services/ServerAuthenticationResolver.test.ts +115 -0
- package/test/unit/shared/GenericAuthenticationRefresher.test.ts +89 -0
- package/test/unit/shared/UserSession.test.ts +42 -0
- package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +154 -0
- package/test/unit/shared/storage.test.ts +67 -0
- package/test/unit/utils.test.ts +48 -0
- package/tsconfig.build.json +5 -0
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.esm.json +7 -0
- package/tsconfig.json +42 -0
- package/vitest.config.ts +41 -0
- package/dist/chunk-4GIHS7LB.js +0 -201
- package/dist/chunk-4GIHS7LB.js.map +0 -1
- package/dist/chunk-CRTRMMJ7.js +0 -59
- package/dist/chunk-CRTRMMJ7.js.map +0 -1
- package/dist/chunk-GNGLWGZJ.mjs +0 -238
- package/dist/chunk-GNGLWGZJ.mjs.map +0 -1
- package/dist/chunk-NQPMNXBL.mjs +0 -154
- package/dist/chunk-NQPMNXBL.mjs.map +0 -1
- package/dist/chunk-RGHW4PYM.mjs +0 -59
- package/dist/chunk-RGHW4PYM.mjs.map +0 -1
- package/dist/chunk-UV56GNIT.mjs +0 -201
- package/dist/chunk-UV56GNIT.mjs.map +0 -1
- package/dist/chunk-VXIWRZWU.js +0 -238
- package/dist/chunk-VXIWRZWU.js.map +0 -1
- package/dist/chunk-WPISYQG3.js +0 -154
- package/dist/chunk-WPISYQG3.js.map +0 -1
- package/dist/index-DoDoIY_K.d.mts +0 -79
- package/dist/index-DoDoIY_K.d.ts +0 -79
- package/dist/index.css +0 -342
- package/dist/index.css.map +0 -1
- package/dist/index.d.mts +0 -3
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -2
- package/dist/index.mjs.map +0 -1
- package/dist/nextjs.d.mts +0 -225
- package/dist/nextjs.d.ts +0 -225
- package/dist/nextjs.js +0 -253
- package/dist/nextjs.js.map +0 -1
- package/dist/nextjs.mjs +0 -253
- package/dist/nextjs.mjs.map +0 -1
- package/dist/react.d.mts +0 -119
- package/dist/react.d.ts +0 -119
- package/dist/react.js +0 -1178
- package/dist/react.js.map +0 -1
- package/dist/react.mjs +0 -1178
- package/dist/react.mjs.map +0 -1
- package/dist/server.d.mts +0 -55
- package/dist/server.d.ts +0 -55
- package/dist/server.js +0 -17
- package/dist/server.js.map +0 -1
- package/dist/server.mjs +0 -17
- package/dist/server.mjs.map +0 -1
package/dist/chunk-GNGLWGZJ.mjs
DELETED
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__async,
|
|
3
|
-
__spreadValues
|
|
4
|
-
} from "./chunk-RGHW4PYM.mjs";
|
|
5
|
-
|
|
6
|
-
// src/utils.ts
|
|
7
|
-
import { clsx } from "clsx";
|
|
8
|
-
import { twMerge } from "tailwind-merge";
|
|
9
|
-
var isPopupBlocked = () => {
|
|
10
|
-
const popup = window.open("", "", "width=1,height=1");
|
|
11
|
-
if (!popup) {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
if (typeof popup.closed === "undefined") {
|
|
16
|
-
throw new Error("Popup is blocked");
|
|
17
|
-
}
|
|
18
|
-
} catch (e) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
popup.close();
|
|
22
|
-
return false;
|
|
23
|
-
};
|
|
24
|
-
var cn = (...inputs) => {
|
|
25
|
-
return twMerge(clsx(inputs));
|
|
26
|
-
};
|
|
27
|
-
var withoutUndefined = (obj) => {
|
|
28
|
-
const result = {};
|
|
29
|
-
for (const key in obj) {
|
|
30
|
-
if (obj[key] !== void 0) {
|
|
31
|
-
result[key] = obj[key];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
// src/shared/types.ts
|
|
38
|
-
var NextjsServerCookies = /* @__PURE__ */ ((NextjsServerCookies2) => {
|
|
39
|
-
NextjsServerCookies2["ID_TOKEN"] = "id_token";
|
|
40
|
-
NextjsServerCookies2["ACCESS_TOKEN"] = "access_token";
|
|
41
|
-
NextjsServerCookies2["REFRESH_TOKEN"] = "refresh_token";
|
|
42
|
-
return NextjsServerCookies2;
|
|
43
|
-
})(NextjsServerCookies || {});
|
|
44
|
-
|
|
45
|
-
// src/shared/util.ts
|
|
46
|
-
import { OAuth2Client } from "oslo/oauth2";
|
|
47
|
-
|
|
48
|
-
// src/lib/oauth.ts
|
|
49
|
-
import { v4 as uuid } from "uuid";
|
|
50
|
-
var getIssuerVariations = (issuer) => {
|
|
51
|
-
const issuerWithoutSlash = issuer.endsWith("/") ? issuer.slice(0, issuer.length - 1) : issuer;
|
|
52
|
-
const issuerWithSlash = `${issuerWithoutSlash}/`;
|
|
53
|
-
return [issuerWithoutSlash, issuerWithSlash];
|
|
54
|
-
};
|
|
55
|
-
var addSlashIfNeeded = (url) => url.endsWith("/") ? url : `${url}/`;
|
|
56
|
-
var getOauthEndpoints = (oauthServer) => __async(void 0, null, function* () {
|
|
57
|
-
const openIdConfigResponse = yield fetch(
|
|
58
|
-
`${addSlashIfNeeded(oauthServer)}.well-known/openid-configuration`
|
|
59
|
-
);
|
|
60
|
-
const openIdConfig = yield openIdConfigResponse.json();
|
|
61
|
-
return {
|
|
62
|
-
jwks: openIdConfig.jwks_uri,
|
|
63
|
-
auth: openIdConfig.authorization_endpoint,
|
|
64
|
-
token: openIdConfig.token_endpoint,
|
|
65
|
-
userinfo: openIdConfig.userinfo_endpoint
|
|
66
|
-
};
|
|
67
|
-
});
|
|
68
|
-
var generateState = (displayMode) => {
|
|
69
|
-
const jsonString = JSON.stringify({
|
|
70
|
-
uuid: uuid(),
|
|
71
|
-
displayMode
|
|
72
|
-
});
|
|
73
|
-
return btoa(jsonString);
|
|
74
|
-
};
|
|
75
|
-
var displayModeFromState = (state, sessionDisplayMode) => {
|
|
76
|
-
try {
|
|
77
|
-
const jsonString = btoa(state);
|
|
78
|
-
return JSON.parse(jsonString).displayMode;
|
|
79
|
-
} catch (e) {
|
|
80
|
-
console.error("Failed to parse displayMode from state:", state);
|
|
81
|
-
return sessionDisplayMode;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
// src/shared/util.ts
|
|
86
|
-
import * as jose from "jose";
|
|
87
|
-
function deriveCodeChallenge(codeVerifier, method = "S256") {
|
|
88
|
-
return __async(this, null, function* () {
|
|
89
|
-
if (method === "Plain") {
|
|
90
|
-
console.warn("Using insecure plain code challenge method");
|
|
91
|
-
return codeVerifier;
|
|
92
|
-
}
|
|
93
|
-
const encoder = new TextEncoder();
|
|
94
|
-
const data = encoder.encode(codeVerifier);
|
|
95
|
-
const digest = yield crypto.subtle.digest("SHA-256", data);
|
|
96
|
-
return btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
function getEndpointsWithOverrides(_0) {
|
|
100
|
-
return __async(this, arguments, function* (oauthServer, endpointOverrides = {}) {
|
|
101
|
-
const endpoints = yield getOauthEndpoints(oauthServer);
|
|
102
|
-
return __spreadValues(__spreadValues({}, endpoints), endpointOverrides);
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function generateOauthLoginUrl(config) {
|
|
106
|
-
return __async(this, null, function* () {
|
|
107
|
-
const endpoints = yield getEndpointsWithOverrides(
|
|
108
|
-
config.oauthServer,
|
|
109
|
-
config.endpointOverrides
|
|
110
|
-
);
|
|
111
|
-
const oauth2Client = buildOauth2Client(
|
|
112
|
-
config.clientId,
|
|
113
|
-
config.redirectUrl,
|
|
114
|
-
endpoints
|
|
115
|
-
);
|
|
116
|
-
const challenge = yield config.pkceConsumer.getCodeChallenge();
|
|
117
|
-
const oAuthUrl = yield oauth2Client.createAuthorizationURL({
|
|
118
|
-
state: config.state,
|
|
119
|
-
scopes: config.scopes
|
|
120
|
-
});
|
|
121
|
-
oAuthUrl.searchParams.append("code_challenge", challenge);
|
|
122
|
-
oAuthUrl.searchParams.append("code_challenge_method", "S256");
|
|
123
|
-
return oAuthUrl;
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
function generateOauthLogoutUrl(config) {
|
|
127
|
-
return __async(this, null, function* () {
|
|
128
|
-
console.log(config);
|
|
129
|
-
return new URL("http://localhost");
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
function buildOauth2Client(clientId, redirectUri, endpoints) {
|
|
133
|
-
return new OAuth2Client(
|
|
134
|
-
clientId,
|
|
135
|
-
endpoints.auth,
|
|
136
|
-
endpoints.token,
|
|
137
|
-
// this
|
|
138
|
-
{ redirectURI: redirectUri }
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
function exchangeTokens(code, state, pkceProducer, oauth2Client, oauthServer, endpoints) {
|
|
142
|
-
return __async(this, null, function* () {
|
|
143
|
-
const codeVerifier = yield pkceProducer.getCodeVerifier();
|
|
144
|
-
if (!codeVerifier) throw new Error("Code verifier not found in state");
|
|
145
|
-
const tokens = yield oauth2Client.validateAuthorizationCode(code, {
|
|
146
|
-
codeVerifier
|
|
147
|
-
});
|
|
148
|
-
try {
|
|
149
|
-
yield validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);
|
|
150
|
-
} catch (error) {
|
|
151
|
-
console.error("tokenExchange error", { error, tokens });
|
|
152
|
-
throw new Error(
|
|
153
|
-
`OIDC tokens validation failed: ${error.message}`
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
return tokens;
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
function storeTokens(storage, tokens) {
|
|
160
|
-
storage.set("id_token" /* ID_TOKEN */, tokens.id_token);
|
|
161
|
-
storage.set("access_token" /* ACCESS_TOKEN */, tokens.access_token);
|
|
162
|
-
if (tokens.refresh_token)
|
|
163
|
-
storage.set("refresh_token" /* REFRESH_TOKEN */, tokens.refresh_token);
|
|
164
|
-
}
|
|
165
|
-
function clearTokens(storage) {
|
|
166
|
-
Object.values(NextjsServerCookies).forEach((cookie) => {
|
|
167
|
-
storage.set(cookie, "");
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
function retrieveTokens(storage) {
|
|
171
|
-
const idToken = storage.get("id_token" /* ID_TOKEN */);
|
|
172
|
-
const accessToken = storage.get("access_token" /* ACCESS_TOKEN */);
|
|
173
|
-
const refreshToken = storage.get("refresh_token" /* REFRESH_TOKEN */);
|
|
174
|
-
if (!idToken || !accessToken) return null;
|
|
175
|
-
return {
|
|
176
|
-
id_token: idToken,
|
|
177
|
-
access_token: accessToken,
|
|
178
|
-
refresh_token: refreshToken != null ? refreshToken : void 0
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
function validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer) {
|
|
182
|
-
return __async(this, null, function* () {
|
|
183
|
-
const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));
|
|
184
|
-
const idTokenResponse = yield jose.jwtVerify(
|
|
185
|
-
tokens.id_token,
|
|
186
|
-
JWKS,
|
|
187
|
-
{
|
|
188
|
-
issuer: getIssuerVariations(oauthServer),
|
|
189
|
-
audience: oauth2Client.clientId
|
|
190
|
-
}
|
|
191
|
-
);
|
|
192
|
-
const accessTokenResponse = yield jose.jwtVerify(
|
|
193
|
-
tokens.access_token,
|
|
194
|
-
JWKS,
|
|
195
|
-
{
|
|
196
|
-
issuer: getIssuerVariations(oauthServer)
|
|
197
|
-
}
|
|
198
|
-
);
|
|
199
|
-
return withoutUndefined({
|
|
200
|
-
id_token: idTokenResponse.payload,
|
|
201
|
-
access_token: accessTokenResponse.payload,
|
|
202
|
-
refresh_token: tokens.refresh_token
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
// src/constants.ts
|
|
208
|
-
var DEFAULT_SCOPES = [
|
|
209
|
-
"openid",
|
|
210
|
-
"profile",
|
|
211
|
-
"email",
|
|
212
|
-
"forwardedTokens",
|
|
213
|
-
"offline_access"
|
|
214
|
-
];
|
|
215
|
-
var IFRAME_ID = "civic-auth-iframe";
|
|
216
|
-
var AUTH_SERVER = "https://auth-dev.civic.com/oauth";
|
|
217
|
-
|
|
218
|
-
export {
|
|
219
|
-
getOauthEndpoints,
|
|
220
|
-
generateState,
|
|
221
|
-
displayModeFromState,
|
|
222
|
-
isPopupBlocked,
|
|
223
|
-
cn,
|
|
224
|
-
deriveCodeChallenge,
|
|
225
|
-
getEndpointsWithOverrides,
|
|
226
|
-
generateOauthLoginUrl,
|
|
227
|
-
generateOauthLogoutUrl,
|
|
228
|
-
buildOauth2Client,
|
|
229
|
-
exchangeTokens,
|
|
230
|
-
storeTokens,
|
|
231
|
-
clearTokens,
|
|
232
|
-
retrieveTokens,
|
|
233
|
-
validateOauth2Tokens,
|
|
234
|
-
DEFAULT_SCOPES,
|
|
235
|
-
IFRAME_ID,
|
|
236
|
-
AUTH_SERVER
|
|
237
|
-
};
|
|
238
|
-
//# sourceMappingURL=chunk-GNGLWGZJ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.ts","../src/shared/types.ts","../src/shared/util.ts","../src/lib/oauth.ts","../src/constants.ts"],"sourcesContent":["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\n// This type narrows T as far as it can by:\n// - removing all keys where the value is `undefined`\n// - making keys that are not undefined required\n// So, for example: given { a: string | undefined, b: string | undefined },\n// if you pass in { a: \"foo\" }, it returns an object of type: { a: string }\ntype WithoutUndefined<T> = {\n [K in keyof T as undefined extends T[K] ? never : K]: T[K];\n};\nexport const withoutUndefined = <T extends { [K in keyof T]: unknown }>(\n obj: T,\n): WithoutUndefined<T> => {\n const result = {} as WithoutUndefined<T>;\n\n for (const key in obj) {\n if (obj[key] !== undefined) {\n // TypeScript needs assurance that key is a valid key in WithoutUndefined<T>\n // We use type assertion here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[key] = obj[key];\n }\n }\n\n return result;\n};\n\nexport { cn, isPopupBlocked };\n","export enum NextjsServerCookies {\n ID_TOKEN = \"id_token\",\n ACCESS_TOKEN = \"access_token\",\n REFRESH_TOKEN = \"refresh_token\",\n}\n\nexport enum NextjsClientCookies {\n USER = \"user\",\n}\n","// Utility functions shared by auth server and client integrations\n// Typically these functions should be used inside AuthenticationInitiator and AuthenticationResolver implementations\n\nimport {\n Endpoints,\n JWTPayload,\n OIDCTokenResponseBody,\n ParsedTokens,\n} from \"@/types.js\";\nimport { NextjsServerCookies } from \"./types\";\nimport { OAuth2Client } from \"oslo/oauth2\";\nimport { getIssuerVariations, getOauthEndpoints } from \"@/lib/oauth.js\";\nimport * as jose from \"jose\";\nimport { withoutUndefined } from \"@/utils.js\";\nimport { AuthStorage } from \"@/shared/storage.js\";\nimport { PKCEConsumer, PKCEProducer } from \"@/services/types.js\";\n\n/**\n * Given a PKCE code verifier, derive the code challenge using SHA\n */\nexport async function deriveCodeChallenge(\n codeVerifier: string,\n method: \"Plain\" | \"S256\" = \"S256\",\n): Promise<string> {\n if (method === \"Plain\") {\n console.warn(\"Using insecure plain code challenge method\");\n return codeVerifier;\n }\n\n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await crypto.subtle.digest(\"SHA-256\", data);\n return btoa(String.fromCharCode(...new Uint8Array(digest)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n}\n\nexport async function getEndpointsWithOverrides(\n oauthServer: string,\n endpointOverrides: Partial<Endpoints> = {},\n) {\n const endpoints = await getOauthEndpoints(oauthServer);\n return {\n ...endpoints,\n ...endpointOverrides,\n };\n}\n\nexport async function generateOauthLoginUrl(config: {\n clientId: string;\n scopes: string[];\n state: string;\n redirectUrl: string;\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n const endpoints = await getEndpointsWithOverrides(\n config.oauthServer,\n config.endpointOverrides,\n );\n const oauth2Client = buildOauth2Client(\n config.clientId,\n config.redirectUrl,\n endpoints,\n );\n const challenge = await config.pkceConsumer.getCodeChallenge();\n const oAuthUrl = await oauth2Client.createAuthorizationURL({\n state: config.state,\n scopes: config.scopes,\n });\n // The OAuth2 client supports PKCE, but does not allow passing in a code challenge from some other source\n // It only allows passing in a code verifier which it then hashes itself.\n oAuthUrl.searchParams.append(\"code_challenge\", challenge);\n oAuthUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n return oAuthUrl;\n}\n\nexport async function generateOauthLogoutUrl(config: {\n clientId: string;\n scopes: string[];\n oauthServer: string;\n endpointOverrides?: Partial<Endpoints>;\n // used to get the PKCE challenge\n pkceConsumer: PKCEConsumer;\n}): Promise<URL> {\n // TODO\n console.log(config);\n return new URL(\"http://localhost\");\n}\n\nexport function buildOauth2Client(\n clientId: string,\n redirectUri: string,\n endpoints: Endpoints,\n): OAuth2Client {\n return new OAuth2Client(\n clientId,\n endpoints.auth,\n endpoints.token,\n // this\n { redirectURI: redirectUri },\n );\n}\n\nexport async function exchangeTokens(\n code: string,\n state: string,\n pkceProducer: PKCEProducer,\n oauth2Client: OAuth2Client,\n oauthServer: string,\n endpoints: Endpoints,\n) {\n const codeVerifier = await pkceProducer.getCodeVerifier();\n if (!codeVerifier) throw new Error(\"Code verifier not found in state\");\n\n const tokens =\n await oauth2Client.validateAuthorizationCode<OIDCTokenResponseBody>(code, {\n codeVerifier,\n });\n\n // Validate relevant tokens\n try {\n await validateOauth2Tokens(tokens, endpoints, oauth2Client, oauthServer);\n } catch (error) {\n console.error(\"tokenExchange error\", { error, tokens });\n throw new Error(\n `OIDC tokens validation failed: ${(error as Error).message}`,\n );\n }\n\n return tokens;\n}\n\nexport function storeTokens(\n storage: AuthStorage,\n tokens: OIDCTokenResponseBody,\n) {\n // store tokens in storage ( TODO we should probably store them against the state to allow multiple logins )\n storage.set(NextjsServerCookies.ID_TOKEN, tokens.id_token);\n storage.set(NextjsServerCookies.ACCESS_TOKEN, tokens.access_token);\n if (tokens.refresh_token)\n storage.set(NextjsServerCookies.REFRESH_TOKEN, tokens.refresh_token);\n}\n\nexport function clearTokens(storage: AuthStorage) {\n Object.values(NextjsServerCookies).forEach((cookie) => {\n storage.set(cookie, \"\");\n });\n}\n\nexport function retrieveTokens(\n storage: AuthStorage,\n): OIDCTokenResponseBody | null {\n const idToken = storage.get(NextjsServerCookies.ID_TOKEN);\n const accessToken = storage.get(NextjsServerCookies.ACCESS_TOKEN);\n const refreshToken = storage.get(NextjsServerCookies.REFRESH_TOKEN);\n\n if (!idToken || !accessToken) return null;\n\n return {\n id_token: idToken,\n access_token: accessToken,\n refresh_token: refreshToken ?? undefined,\n };\n}\n\nexport async function validateOauth2Tokens(\n tokens: OIDCTokenResponseBody,\n endpoints: Endpoints,\n oauth2Client: OAuth2Client,\n oauthServer: string,\n): Promise<ParsedTokens> {\n const JWKS = jose.createRemoteJWKSet(new URL(endpoints.jwks));\n\n // validate the ID token\n const idTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.id_token,\n JWKS,\n {\n issuer: getIssuerVariations(oauthServer),\n audience: oauth2Client.clientId,\n },\n );\n\n // validate the access token\n const accessTokenResponse = await jose.jwtVerify<JWTPayload>(\n tokens.access_token,\n JWKS,\n {\n issuer: getIssuerVariations(oauthServer),\n },\n );\n\n return withoutUndefined({\n id_token: idTokenResponse.payload,\n access_token: accessTokenResponse.payload,\n refresh_token: tokens.refresh_token,\n });\n}\n","import { DisplayMode, Endpoints, OpenIdConfiguration } from \"@/types\";\nimport { v4 as uuid } from \"uuid\";\n\nconst getIssuerVariations = (issuer: string): string[] => {\n const issuerWithoutSlash = issuer.endsWith(\"/\")\n ? issuer.slice(0, issuer.length - 1)\n : issuer;\n\n const issuerWithSlash = `${issuerWithoutSlash}/`;\n\n return [issuerWithoutSlash, issuerWithSlash];\n};\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\n return btoa(jsonString);\n};\n\n/**\n * parses the state string from the OAuth2 flow, decoding the display mode too\n * @param state\n * @param sessionDisplayMode\n * @returns { uuid: string, displayMode: DisplayMode }\n */\nconst displayModeFromState = (\n state: string,\n sessionDisplayMode: DisplayMode | undefined,\n): DisplayMode | undefined => {\n try {\n const jsonString = btoa(state);\n\n return JSON.parse(jsonString).displayMode;\n } catch (e) {\n console.error(\"Failed to parse displayMode from state:\", state);\n return sessionDisplayMode;\n }\n};\n\nexport {\n getIssuerVariations,\n getOauthEndpoints,\n displayModeFromState,\n generateState,\n};\n","const DEFAULT_SCOPES = [\n \"openid\",\n \"profile\",\n \"email\",\n \"forwardedTokens\",\n \"offline_access\",\n];\nconst IFRAME_ID = \"civic-auth-iframe\";\n\nconst AUTH_SERVER = \"https://auth-dev.civic.com/oauth\";\n\nexport { DEFAULT_SCOPES, IFRAME_ID, AUTH_SERVER };\n"],"mappings":"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","names":["NextjsServerCookies"]}
|
package/dist/chunk-NQPMNXBL.mjs
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__spreadProps,
|
|
3
|
-
__spreadValues
|
|
4
|
-
} from "./chunk-RGHW4PYM.mjs";
|
|
5
|
-
|
|
6
|
-
// src/lib/logger.ts
|
|
7
|
-
import debug from "debug";
|
|
8
|
-
var PACKAGE_NAME = "@civic/auth";
|
|
9
|
-
var DebugLogger = class {
|
|
10
|
-
constructor(namespace) {
|
|
11
|
-
this.debugLogger = debug(`${PACKAGE_NAME}:${namespace}:debug`);
|
|
12
|
-
this.infoLogger = debug(`${PACKAGE_NAME}:${namespace}:info`);
|
|
13
|
-
this.warnLogger = debug(`${PACKAGE_NAME}:${namespace}:warn`);
|
|
14
|
-
this.errorLogger = debug(`${PACKAGE_NAME}:${namespace}:error`);
|
|
15
|
-
this.debugLogger.color = "4";
|
|
16
|
-
this.infoLogger.color = "2";
|
|
17
|
-
this.warnLogger.color = "3";
|
|
18
|
-
this.errorLogger.color = "1";
|
|
19
|
-
}
|
|
20
|
-
debug(message, ...args) {
|
|
21
|
-
this.debugLogger(message, ...args);
|
|
22
|
-
}
|
|
23
|
-
info(message, ...args) {
|
|
24
|
-
this.infoLogger(message, ...args);
|
|
25
|
-
}
|
|
26
|
-
warn(message, ...args) {
|
|
27
|
-
this.warnLogger(message, ...args);
|
|
28
|
-
}
|
|
29
|
-
error(message, ...args) {
|
|
30
|
-
this.errorLogger(message, ...args);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
var createLogger = (namespace) => new DebugLogger(namespace);
|
|
34
|
-
var loggers = {
|
|
35
|
-
// Next.js specific loggers
|
|
36
|
-
nextjs: {
|
|
37
|
-
routes: createLogger("api:routes"),
|
|
38
|
-
middleware: createLogger("api:middleware"),
|
|
39
|
-
handlers: {
|
|
40
|
-
auth: createLogger("api:handlers:auth")
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
// React specific loggers
|
|
44
|
-
react: {
|
|
45
|
-
components: createLogger("react:components"),
|
|
46
|
-
hooks: createLogger("react:hooks"),
|
|
47
|
-
context: createLogger("react:context")
|
|
48
|
-
},
|
|
49
|
-
// Shared utilities loggers
|
|
50
|
-
services: {
|
|
51
|
-
validation: createLogger("utils:validation"),
|
|
52
|
-
network: createLogger("utils:network")
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// src/nextjs/config.ts
|
|
57
|
-
var logger = loggers.nextjs.handlers.auth;
|
|
58
|
-
var defaultAuthConfig = {
|
|
59
|
-
oauthServer: "https://auth-dev.civic.com/oauth",
|
|
60
|
-
callbackUrl: "/api/auth/callback",
|
|
61
|
-
challengeUrl: "/api/auth/challenge",
|
|
62
|
-
logoutUrl: "/api/auth/logout",
|
|
63
|
-
loginUrl: "/",
|
|
64
|
-
include: ["/*"],
|
|
65
|
-
exclude: [],
|
|
66
|
-
cookies: {
|
|
67
|
-
tokens: {
|
|
68
|
-
sameSite: "strict",
|
|
69
|
-
path: "/",
|
|
70
|
-
maxAge: 60 * 60
|
|
71
|
-
// 1 hour
|
|
72
|
-
},
|
|
73
|
-
user: {
|
|
74
|
-
sameSite: "strict",
|
|
75
|
-
path: "/",
|
|
76
|
-
maxAge: 60 * 60
|
|
77
|
-
// 1 hour
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
var withoutUndefined = (obj) => {
|
|
82
|
-
const result = {};
|
|
83
|
-
for (const key in obj) {
|
|
84
|
-
if (obj[key] !== void 0) {
|
|
85
|
-
result[key] = obj[key];
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return result;
|
|
89
|
-
};
|
|
90
|
-
var resolveAuthConfig = (config = {}) => {
|
|
91
|
-
var _a, _b, _c, _d;
|
|
92
|
-
const configFromEnv = withoutUndefined({
|
|
93
|
-
clientId: process.env._civic_auth_client_id,
|
|
94
|
-
oauthServer: process.env._civic_oauth_server,
|
|
95
|
-
callbackUrl: process.env._civic_auth_callback_url,
|
|
96
|
-
challengeUrl: process.env._civic_auth_challenge_url,
|
|
97
|
-
loginUrl: process.env._civic_auth_login_url,
|
|
98
|
-
appUrl: process.env._civic_auth_app_url,
|
|
99
|
-
logoutUrl: process.env._civic_auth_logout_url,
|
|
100
|
-
include: (_a = process.env._civic_auth_includes) == null ? void 0 : _a.split(","),
|
|
101
|
-
exclude: (_b = process.env._civic_auth_excludes) == null ? void 0 : _b.split(","),
|
|
102
|
-
cookies: process.env._civic_auth_cookie_config ? JSON.parse(process.env._civic_auth_cookie_config) : void 0
|
|
103
|
-
});
|
|
104
|
-
const mergedConfig = __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, defaultAuthConfig), configFromEnv), config), {
|
|
105
|
-
// Override with directly passed config
|
|
106
|
-
cookies: {
|
|
107
|
-
tokens: __spreadValues(__spreadValues({}, defaultAuthConfig.cookies.tokens), ((_c = config.cookies) == null ? void 0 : _c.tokens) || {}),
|
|
108
|
-
user: __spreadValues(__spreadValues({}, defaultAuthConfig.cookies.user), ((_d = config.cookies) == null ? void 0 : _d.user) || {})
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
logger.debug("Config from environment:", configFromEnv);
|
|
112
|
-
logger.debug("Resolved config:", mergedConfig);
|
|
113
|
-
if (mergedConfig.clientId === void 0) {
|
|
114
|
-
throw new Error("Civic Auth client ID is required");
|
|
115
|
-
}
|
|
116
|
-
return mergedConfig;
|
|
117
|
-
};
|
|
118
|
-
var createCivicAuthPlugin = (clientId, authConfig = {}) => {
|
|
119
|
-
return (nextConfig) => {
|
|
120
|
-
const resolvedConfig = resolveAuthConfig(__spreadProps(__spreadValues({}, authConfig), { clientId }));
|
|
121
|
-
return __spreadProps(__spreadValues({}, nextConfig), {
|
|
122
|
-
env: __spreadProps(__spreadValues({}, nextConfig == null ? void 0 : nextConfig.env), {
|
|
123
|
-
// Internal environment variables - do not set these manually
|
|
124
|
-
_civic_auth_client_id: clientId,
|
|
125
|
-
_civic_oauth_server: resolvedConfig.oauthServer,
|
|
126
|
-
_civic_auth_callback_url: resolvedConfig.callbackUrl,
|
|
127
|
-
_civic_auth_challenge_url: resolvedConfig.challengeUrl,
|
|
128
|
-
_civic_auth_login_url: resolvedConfig.loginUrl,
|
|
129
|
-
_civic_auth_logout_url: resolvedConfig.logoutUrl,
|
|
130
|
-
_civic_auth_app_url: resolvedConfig.appUrl,
|
|
131
|
-
_civic_auth_includes: resolvedConfig.include.join(","),
|
|
132
|
-
_civic_auth_excludes: resolvedConfig.exclude.join(","),
|
|
133
|
-
_civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies)
|
|
134
|
-
})
|
|
135
|
-
});
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
// src/nextjs/utils.ts
|
|
140
|
-
var resolveCallbackUrl = (config, alternativeUrl) => {
|
|
141
|
-
var _a;
|
|
142
|
-
const baseUrl = (_a = config.appUrl) != null ? _a : alternativeUrl;
|
|
143
|
-
const callbackUrl = new URL(config == null ? void 0 : config.callbackUrl, baseUrl).toString();
|
|
144
|
-
return callbackUrl.toString();
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export {
|
|
148
|
-
loggers,
|
|
149
|
-
defaultAuthConfig,
|
|
150
|
-
resolveAuthConfig,
|
|
151
|
-
createCivicAuthPlugin,
|
|
152
|
-
resolveCallbackUrl
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=chunk-NQPMNXBL.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/logger.ts","../src/nextjs/config.ts","../src/nextjs/utils.ts"],"sourcesContent":["import debug from \"debug\";\n\nconst PACKAGE_NAME = \"@civic/auth\";\n\nexport interface Logger {\n debug(message: string, ...args: unknown[]): void;\n info(message: string, ...args: unknown[]): void;\n warn(message: string, ...args: unknown[]): void;\n error(message: string, ...args: unknown[]): void;\n}\n\nclass DebugLogger implements Logger {\n private debugLogger: debug.Debugger;\n private infoLogger: debug.Debugger;\n private warnLogger: debug.Debugger;\n private errorLogger: debug.Debugger;\n\n constructor(namespace: string) {\n // Format: @org/package:library:component:level\n this.debugLogger = debug(`${PACKAGE_NAME}:${namespace}:debug`);\n this.infoLogger = debug(`${PACKAGE_NAME}:${namespace}:info`);\n this.warnLogger = debug(`${PACKAGE_NAME}:${namespace}:warn`);\n this.errorLogger = debug(`${PACKAGE_NAME}:${namespace}:error`);\n\n this.debugLogger.color = \"4\";\n this.infoLogger.color = \"2\";\n this.warnLogger.color = \"3\";\n this.errorLogger.color = \"1\";\n }\n\n debug(message: string, ...args: unknown[]): void {\n this.debugLogger(message, ...args);\n }\n\n info(message: string, ...args: unknown[]): void {\n this.infoLogger(message, ...args);\n }\n\n warn(message: string, ...args: unknown[]): void {\n this.warnLogger(message, ...args);\n }\n\n error(message: string, ...args: unknown[]): void {\n this.errorLogger(message, ...args);\n }\n}\n\nexport const createLogger = (namespace: string): Logger =>\n new DebugLogger(namespace);\n\n// Pre-configured loggers for different parts of your package\nexport const loggers = {\n // Next.js specific loggers\n nextjs: {\n routes: createLogger(\"api:routes\"),\n middleware: createLogger(\"api:middleware\"),\n handlers: {\n auth: createLogger(\"api:handlers:auth\"),\n },\n },\n // React specific loggers\n react: {\n components: createLogger(\"react:components\"),\n hooks: createLogger(\"react:hooks\"),\n context: createLogger(\"react:context\"),\n },\n // Shared utilities loggers\n services: {\n validation: createLogger(\"utils:validation\"),\n network: createLogger(\"utils:network\"),\n },\n} as const;\n","/* eslint-disable turbo/no-undeclared-env-vars */\n\"use server\";\nimport { NextConfig } from \"next\";\nimport { loggers } from \"@/lib/logger\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nexport interface CookieConfig {\n secure?: boolean;\n sameSite?: \"strict\" | \"lax\" | \"none\";\n domain?: string;\n path?: string;\n maxAge?: number;\n}\n\nexport type AuthConfigWithDefaults = {\n clientId: string;\n oauthServer: string;\n callbackUrl: string;\n loginUrl: string;\n logoutUrl: string;\n appUrl?: string;\n challengeUrl: string;\n include: string[];\n exclude: string[];\n cookies: {\n tokens: CookieConfig;\n user: CookieConfig;\n };\n};\n\nexport type AuthConfig = Partial<AuthConfigWithDefaults>;\n\nexport type DefinedAuthConfig = AuthConfigWithDefaults;\n\n/**\n * Default configuration values that will be used if not overridden\n */\nexport const defaultAuthConfig: Omit<AuthConfigWithDefaults, \"clientId\"> = {\n oauthServer: \"https://auth-dev.civic.com/oauth\",\n callbackUrl: \"/api/auth/callback\",\n challengeUrl: \"/api/auth/challenge\",\n logoutUrl: \"/api/auth/logout\",\n loginUrl: \"/\",\n include: [\"/*\"],\n exclude: [],\n cookies: {\n tokens: {\n sameSite: \"strict\",\n path: \"/\",\n maxAge: 60 * 60, // 1 hour\n },\n user: {\n sameSite: \"strict\",\n path: \"/\",\n maxAge: 60 * 60, // 1 hour\n },\n },\n};\n\nconst withoutUndefined = <T extends { [k: string]: unknown }>(\n obj: T,\n): Partial<T> => {\n const result: Partial<T> = {};\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key];\n }\n }\n return result;\n};\n\n/**\n * Resolves the authentication configuration by combining:\n * 1. Default values\n * 2. Environment variables (set internally by the plugin)\n * 3. Explicitly passed configuration\n *\n * Note: Developers should not set _civic_auth_* environment variables directly.\n * Instead, pass configuration to the createCivicAuthPlugin in next.config.js:\n *\n * @example\n * ```js\n * // next.config.js\n * export default createCivicAuthPlugin({\n * callbackUrl: '/custom/callback',\n * })\n * ```\n */\nexport const resolveAuthConfig = (\n config: AuthConfig = {},\n): AuthConfigWithDefaults & { clientId: string } => {\n // Read configuration that was set by the plugin via environment variables\n const configFromEnv = withoutUndefined({\n clientId: process.env._civic_auth_client_id,\n oauthServer: process.env._civic_oauth_server,\n callbackUrl: process.env._civic_auth_callback_url,\n challengeUrl: process.env._civic_auth_challenge_url,\n loginUrl: process.env._civic_auth_login_url,\n appUrl: process.env._civic_auth_app_url,\n logoutUrl: process.env._civic_auth_logout_url,\n include: process.env._civic_auth_includes?.split(\",\"),\n exclude: process.env._civic_auth_excludes?.split(\",\"),\n cookies: process.env._civic_auth_cookie_config\n ? JSON.parse(process.env._civic_auth_cookie_config)\n : undefined,\n });\n\n const mergedConfig = {\n ...defaultAuthConfig,\n ...configFromEnv, // Apply plugin-set config\n ...config, // Override with directly passed config\n cookies: {\n tokens: {\n ...defaultAuthConfig.cookies.tokens,\n ...(config.cookies?.tokens || {}),\n },\n user: {\n ...defaultAuthConfig.cookies.user,\n ...(config.cookies?.user || {}),\n },\n },\n };\n\n logger.debug(\"Config from environment:\", configFromEnv);\n logger.debug(\"Resolved config:\", mergedConfig);\n if (mergedConfig.clientId === undefined) {\n throw new Error(\"Civic Auth client ID is required\");\n }\n return mergedConfig as AuthConfigWithDefaults & { clientId: string };\n};\n\n/**\n * Creates a Next.js plugin that handles auth configuration.\n *\n * This is the main configuration point for the auth system.\n * Do not set _civic_auth_* environment variables directly - instead,\n * pass your configuration here:\n *\n * @example\n * ```js\n * // next.config.js\n * export tefault createCivicAuthPlugin({\n * clientId: 'my-client-id',\n * callbackUrl: '/custom/callback',\n * loginUrl: '/custom/login',\n * logoutUrl: '/custom/logout',\n * include: ['/protected/*'],\n * exclude: ['/public/*']\n * })\n * ```\n *\n * The plugin sets internal environment variables that are used by\n * the auth system. These variables should not be set manually.\n */\nexport const createCivicAuthPlugin = (\n clientId: string,\n authConfig: AuthConfig = {},\n) => {\n return (nextConfig?: NextConfig) => {\n const resolvedConfig = resolveAuthConfig({ ...authConfig, clientId });\n return {\n ...nextConfig,\n env: {\n ...nextConfig?.env,\n // Internal environment variables - do not set these manually\n _civic_auth_client_id: clientId,\n _civic_oauth_server: resolvedConfig.oauthServer,\n _civic_auth_callback_url: resolvedConfig.callbackUrl,\n _civic_auth_challenge_url: resolvedConfig.challengeUrl,\n _civic_auth_login_url: resolvedConfig.loginUrl,\n _civic_auth_logout_url: resolvedConfig.logoutUrl,\n _civic_auth_app_url: resolvedConfig.appUrl,\n _civic_auth_includes: resolvedConfig.include.join(\",\"),\n _civic_auth_excludes: resolvedConfig.exclude.join(\",\"),\n _civic_auth_cookie_config: JSON.stringify(resolvedConfig.cookies),\n },\n };\n };\n};\n","import { AuthConfigWithDefaults } from \"@/nextjs/config\";\n\nexport const resolveCallbackUrl = (\n config: AuthConfigWithDefaults,\n alternativeUrl?: string,\n): string => {\n const baseUrl = config.appUrl ?? alternativeUrl;\n const callbackUrl = new URL(config?.callbackUrl, baseUrl).toString();\n return callbackUrl.toString();\n};\n"],"mappings":";;;;;;AAAA,OAAO,WAAW;AAElB,IAAM,eAAe;AASrB,IAAM,cAAN,MAAoC;AAAA,EAMlC,YAAY,WAAmB;AAE7B,SAAK,cAAc,MAAM,GAAG,YAAY,IAAI,SAAS,QAAQ;AAC7D,SAAK,aAAa,MAAM,GAAG,YAAY,IAAI,SAAS,OAAO;AAC3D,SAAK,aAAa,MAAM,GAAG,YAAY,IAAI,SAAS,OAAO;AAC3D,SAAK,cAAc,MAAM,GAAG,YAAY,IAAI,SAAS,QAAQ;AAE7D,SAAK,YAAY,QAAQ;AACzB,SAAK,WAAW,QAAQ;AACxB,SAAK,WAAW,QAAQ;AACxB,SAAK,YAAY,QAAQ;AAAA,EAC3B;AAAA,EAEA,MAAM,YAAoB,MAAuB;AAC/C,SAAK,YAAY,SAAS,GAAG,IAAI;AAAA,EACnC;AAAA,EAEA,KAAK,YAAoB,MAAuB;AAC9C,SAAK,WAAW,SAAS,GAAG,IAAI;AAAA,EAClC;AAAA,EAEA,KAAK,YAAoB,MAAuB;AAC9C,SAAK,WAAW,SAAS,GAAG,IAAI;AAAA,EAClC;AAAA,EAEA,MAAM,YAAoB,MAAuB;AAC/C,SAAK,YAAY,SAAS,GAAG,IAAI;AAAA,EACnC;AACF;AAEO,IAAM,eAAe,CAAC,cAC3B,IAAI,YAAY,SAAS;AAGpB,IAAM,UAAU;AAAA;AAAA,EAErB,QAAQ;AAAA,IACN,QAAQ,aAAa,YAAY;AAAA,IACjC,YAAY,aAAa,gBAAgB;AAAA,IACzC,UAAU;AAAA,MACR,MAAM,aAAa,mBAAmB;AAAA,IACxC;AAAA,EACF;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,YAAY,aAAa,kBAAkB;AAAA,IAC3C,OAAO,aAAa,aAAa;AAAA,IACjC,SAAS,aAAa,eAAe;AAAA,EACvC;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,YAAY,aAAa,kBAAkB;AAAA,IAC3C,SAAS,aAAa,eAAe;AAAA,EACvC;AACF;;;AClEA,IAAM,SAAS,QAAQ,OAAO,SAAS;AAiChC,IAAM,oBAA8D;AAAA,EACzE,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS,CAAC,IAAI;AAAA,EACd,SAAS,CAAC;AAAA,EACV,SAAS;AAAA,IACP,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA;AAAA,IACf;AAAA,EACF;AACF;AAEA,IAAM,mBAAmB,CACvB,QACe;AACf,QAAM,SAAqB,CAAC;AAC5B,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAW;AAC1B,aAAO,GAAG,IAAI,IAAI,GAAG;AAAA,IACvB;AAAA,EACF;AACA,SAAO;AACT;AAmBO,IAAM,oBAAoB,CAC/B,SAAqB,CAAC,MAC4B;AA3FpD;AA6FE,QAAM,gBAAgB,iBAAiB;AAAA,IACrC,UAAU,QAAQ,IAAI;AAAA,IACtB,aAAa,QAAQ,IAAI;AAAA,IACzB,aAAa,QAAQ,IAAI;AAAA,IACzB,cAAc,QAAQ,IAAI;AAAA,IAC1B,UAAU,QAAQ,IAAI;AAAA,IACtB,QAAQ,QAAQ,IAAI;AAAA,IACpB,WAAW,QAAQ,IAAI;AAAA,IACvB,UAAS,aAAQ,IAAI,yBAAZ,mBAAkC,MAAM;AAAA,IACjD,UAAS,aAAQ,IAAI,yBAAZ,mBAAkC,MAAM;AAAA,IACjD,SAAS,QAAQ,IAAI,4BACjB,KAAK,MAAM,QAAQ,IAAI,yBAAyB,IAChD;AAAA,EACN,CAAC;AAED,QAAM,eAAe,+DAChB,oBACA,gBACA,SAHgB;AAAA;AAAA,IAInB,SAAS;AAAA,MACP,QAAQ,kCACH,kBAAkB,QAAQ,WACzB,YAAO,YAAP,mBAAgB,WAAU,CAAC;AAAA,MAEjC,MAAM,kCACD,kBAAkB,QAAQ,SACzB,YAAO,YAAP,mBAAgB,SAAQ,CAAC;AAAA,IAEjC;AAAA,EACF;AAEA,SAAO,MAAM,4BAA4B,aAAa;AACtD,SAAO,MAAM,oBAAoB,YAAY;AAC7C,MAAI,aAAa,aAAa,QAAW;AACvC,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AACA,SAAO;AACT;AAyBO,IAAM,wBAAwB,CACnC,UACA,aAAyB,CAAC,MACvB;AACH,SAAO,CAAC,eAA4B;AAClC,UAAM,iBAAiB,kBAAkB,iCAAK,aAAL,EAAiB,SAAS,EAAC;AACpE,WAAO,iCACF,aADE;AAAA,MAEL,KAAK,iCACA,yCAAY,MADZ;AAAA;AAAA,QAGH,uBAAuB;AAAA,QACvB,qBAAqB,eAAe;AAAA,QACpC,0BAA0B,eAAe;AAAA,QACzC,2BAA2B,eAAe;AAAA,QAC1C,uBAAuB,eAAe;AAAA,QACtC,wBAAwB,eAAe;AAAA,QACvC,qBAAqB,eAAe;AAAA,QACpC,sBAAsB,eAAe,QAAQ,KAAK,GAAG;AAAA,QACrD,sBAAsB,eAAe,QAAQ,KAAK,GAAG;AAAA,QACrD,2BAA2B,KAAK,UAAU,eAAe,OAAO;AAAA,MAClE;AAAA,IACF;AAAA,EACF;AACF;;;ACjLO,IAAM,qBAAqB,CAChC,QACA,mBACW;AALb;AAME,QAAM,WAAU,YAAO,WAAP,YAAiB;AACjC,QAAM,cAAc,IAAI,IAAI,iCAAQ,aAAa,OAAO,EAAE,SAAS;AACnE,SAAO,YAAY,SAAS;AAC9B;","names":[]}
|
package/dist/chunk-RGHW4PYM.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
var __objRest = (source, exclude) => {
|
|
21
|
-
var target = {};
|
|
22
|
-
for (var prop in source)
|
|
23
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
-
target[prop] = source[prop];
|
|
25
|
-
if (source != null && __getOwnPropSymbols)
|
|
26
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
31
|
-
};
|
|
32
|
-
var __async = (__this, __arguments, generator) => {
|
|
33
|
-
return new Promise((resolve, reject) => {
|
|
34
|
-
var fulfilled = (value) => {
|
|
35
|
-
try {
|
|
36
|
-
step(generator.next(value));
|
|
37
|
-
} catch (e) {
|
|
38
|
-
reject(e);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
var rejected = (value) => {
|
|
42
|
-
try {
|
|
43
|
-
step(generator.throw(value));
|
|
44
|
-
} catch (e) {
|
|
45
|
-
reject(e);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
49
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export {
|
|
54
|
-
__spreadValues,
|
|
55
|
-
__spreadProps,
|
|
56
|
-
__objRest,
|
|
57
|
-
__async
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=chunk-RGHW4PYM.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|