@insforge/nextjs 0.9.0 → 0.9.2

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.
@@ -42,7 +42,6 @@ function InsforgeProvider({
42
42
  onSignIn: handleSignIn,
43
43
  onSignOut: handleSignOut
44
44
  };
45
- console.log("InsforgeProvider", providerProps);
46
45
  return /* @__PURE__ */ jsx(NavigationProvider, { adapter: NextNavigationAdapter, children: /* @__PURE__ */ jsx(ReactInsforgeProvider, { ...providerProps, children }) });
47
46
  }
48
47
  const useInsforge = useReactInsforge;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/provider/InsforgeProvider.tsx"],"sourcesContent":["'use client';\n\nimport { \n InsforgeProvider as ReactInsforgeProvider, \n type InsforgeProviderProps as ReactInsforgeProviderProps,\n useInsforge as useReactInsforge,\n NavigationProvider,\n} from '@insforge/react';\nimport { NextNavigationAdapter } from '../navigation';\n\n// Extended interface for React provider that includes internal handlers\ninterface ExtendedProviderProps extends ReactInsforgeProviderProps {\n afterSignInUrl?: string;\n onSignIn?: (authToken: string) => Promise<void>;\n onSignOut?: () => Promise<void>;\n}\n\n// Sync token to server-side cookie on sign in\nasync function handleSignIn(token: string): Promise<void> {\n try {\n await fetch('/api/auth', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n action: 'sync-token',\n token,\n }),\n });\n } catch (error) {\n console.error('[InsforgeProvider] Failed to sync token to cookie:', error);\n }\n}\n\n// Clear HTTP-only cookie on sign out\nasync function handleSignOut(): Promise<void> {\n try {\n await fetch('/api/auth', { method: 'DELETE' });\n } catch (error) {\n // API route doesn't exist - ignore\n }\n}\n\n/**\n * Insforge Provider for Next.js - wraps @insforge/react provider with Next.js-specific cookie sync\n * \n * Manages user authentication state and provides all necessary context to child components.\n * Automatically syncs authentication tokens to HTTP-only cookies for server-side middleware support.\n * \n * @example\n * ```tsx\n * import { InsforgeProvider } from '@insforge/nextjs';\n * \n * export default function RootLayout({ children }) {\n * return (\n * <InsforgeProvider \n * baseUrl={process.env.NEXT_PUBLIC_INSFORGE_BASE_URL!}\n * afterSignInUrl=\"/dashboard\"\n * >\n * {children}\n * </InsforgeProvider>\n * );\n * }\n * ```\n */\nexport function InsforgeProvider({ \n children, \n baseUrl,\n afterSignInUrl = '/',\n onAuthChange,\n}: ReactInsforgeProviderProps) {\n const providerProps: ExtendedProviderProps = {\n children,\n baseUrl,\n afterSignInUrl,\n onAuthChange,\n onSignIn: handleSignIn,\n onSignOut: handleSignOut,\n };\n\n console.log('InsforgeProvider', providerProps);\n\n return (\n <NavigationProvider adapter={NextNavigationAdapter}>\n <ReactInsforgeProvider {...providerProps}>\n {children}\n </ReactInsforgeProvider>\n </NavigationProvider>\n );\n}\n\n/**\n * Hook to access Insforge context\n * \n * Re-exports the hook from @insforge/react for convenience.\n * \n * @example\n * ```tsx\n * function MyComponent() {\n * const { user, isSignedIn, signOut } = useInsforge();\n * \n * if (!isSignedIn) return <SignIn />;\n * \n * return (\n * <div>\n * <p>Welcome {user.email}</p>\n * <button onClick={signOut}>Sign Out</button>\n * </div>\n * );\n * }\n * ```\n */\nexport const useInsforge = useReactInsforge;\n"],"mappings":";AAqFM;AAnFN;AAAA,EACE,oBAAoB;AAAA,EAEpB,eAAe;AAAA,EACf;AAAA,OACK;AACP,SAAS,6BAA6B;AAUtC,eAAe,aAAa,OAA8B;AACxD,MAAI;AACF,UAAM,MAAM,aAAa;AAAA,MACvB,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,SAAS,OAAO;AACd,YAAQ,MAAM,sDAAsD,KAAK;AAAA,EAC3E;AACF;AAGA,eAAe,gBAA+B;AAC5C,MAAI;AACF,UAAM,MAAM,aAAa,EAAE,QAAQ,SAAS,CAAC;AAAA,EAC/C,SAAS,OAAO;AAAA,EAEhB;AACF;AAwBO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AACF,GAA+B;AAC7B,QAAM,gBAAuC;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,WAAW;AAAA,EACb;AAEA,UAAQ,IAAI,oBAAoB,aAAa;AAE7C,SACE,oBAAC,sBAAmB,SAAS,uBAC3B,8BAAC,yBAAuB,GAAG,eACxB,UACH,GACF;AAEJ;AAuBO,MAAM,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/provider/InsforgeProvider.tsx"],"sourcesContent":["'use client';\n\nimport { \n InsforgeProvider as ReactInsforgeProvider, \n type InsforgeProviderProps as ReactInsforgeProviderProps,\n useInsforge as useReactInsforge,\n NavigationProvider,\n} from '@insforge/react';\nimport { NextNavigationAdapter } from '../navigation';\n\n// Extended interface for React provider that includes internal handlers\ninterface ExtendedProviderProps extends ReactInsforgeProviderProps {\n afterSignInUrl?: string;\n onSignIn?: (authToken: string) => Promise<void>;\n onSignOut?: () => Promise<void>;\n}\n\n// Sync token to server-side cookie on sign in\nasync function handleSignIn(token: string): Promise<void> {\n try {\n await fetch('/api/auth', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n action: 'sync-token',\n token,\n }),\n });\n } catch (error) {\n console.error('[InsforgeProvider] Failed to sync token to cookie:', error);\n }\n}\n\n// Clear HTTP-only cookie on sign out\nasync function handleSignOut(): Promise<void> {\n try {\n await fetch('/api/auth', { method: 'DELETE' });\n } catch (error) {\n // API route doesn't exist - ignore\n }\n}\n\n/**\n * Insforge Provider for Next.js - wraps @insforge/react provider with Next.js-specific cookie sync\n * \n * Manages user authentication state and provides all necessary context to child components.\n * Automatically syncs authentication tokens to HTTP-only cookies for server-side middleware support.\n * \n * @example\n * ```tsx\n * import { InsforgeProvider } from '@insforge/nextjs';\n * \n * export default function RootLayout({ children }) {\n * return (\n * <InsforgeProvider \n * baseUrl={process.env.NEXT_PUBLIC_INSFORGE_BASE_URL!}\n * afterSignInUrl=\"/dashboard\"\n * >\n * {children}\n * </InsforgeProvider>\n * );\n * }\n * ```\n */\nexport function InsforgeProvider({ \n children, \n baseUrl,\n afterSignInUrl = '/',\n onAuthChange,\n}: ReactInsforgeProviderProps) {\n const providerProps: ExtendedProviderProps = {\n children,\n baseUrl,\n afterSignInUrl,\n onAuthChange,\n onSignIn: handleSignIn,\n onSignOut: handleSignOut,\n };\n\n return (\n <NavigationProvider adapter={NextNavigationAdapter}>\n <ReactInsforgeProvider {...providerProps}>\n {children}\n </ReactInsforgeProvider>\n </NavigationProvider>\n );\n}\n\n/**\n * Hook to access Insforge context\n * \n * Re-exports the hook from @insforge/react for convenience.\n * \n * @example\n * ```tsx\n * function MyComponent() {\n * const { user, isSignedIn, signOut } = useInsforge();\n * \n * if (!isSignedIn) return <SignIn />;\n * \n * return (\n * <div>\n * <p>Welcome {user.email}</p>\n * <button onClick={signOut}>Sign Out</button>\n * </div>\n * );\n * }\n * ```\n */\nexport const useInsforge = useReactInsforge;\n"],"mappings":";AAmFM;AAjFN;AAAA,EACE,oBAAoB;AAAA,EAEpB,eAAe;AAAA,EACf;AAAA,OACK;AACP,SAAS,6BAA6B;AAUtC,eAAe,aAAa,OAA8B;AACxD,MAAI;AACF,UAAM,MAAM,aAAa;AAAA,MACvB,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,SAAS,OAAO;AACd,YAAQ,MAAM,sDAAsD,KAAK;AAAA,EAC3E;AACF;AAGA,eAAe,gBAA+B;AAC5C,MAAI;AACF,UAAM,MAAM,aAAa,EAAE,QAAQ,SAAS,CAAC;AAAA,EAC/C,SAAS,OAAO;AAAA,EAEhB;AACF;AAwBO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AACF,GAA+B;AAC7B,QAAM,gBAAuC;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,WAAW;AAAA,EACb;AAEA,SACE,oBAAC,sBAAmB,SAAS,uBAC3B,8BAAC,yBAAuB,GAAG,eACxB,UACH,GACF;AAEJ;AAuBO,MAAM,cAAc;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insforge/nextjs",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "Pre-built authentication UI components for Next.js with Insforge backend - zero configuration required",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -41,7 +41,7 @@
41
41
  "author": "Insforge",
42
42
  "license": "MIT",
43
43
  "dependencies": {
44
- "@insforge/react": "^0.5.2",
44
+ "@insforge/react": "^0.5.3",
45
45
  "@insforge/sdk": "^0.0.58-dev.15",
46
46
  "@insforge/shared-schemas": "^1.1.19",
47
47
  "clsx": "^2.1.1",