delta-auth-next 0.1.36 → 0.1.38

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.
@@ -21,7 +21,7 @@ export function DeltaAuthProvider({ config, children }) {
21
21
  }
22
22
  }, [config?.publishableKey, config?.authDomain, show]);
23
23
  // 🔹 Create client
24
- const client = createAuthClient(config.backendUrl ? { backendUrl: config.backendUrl } : {});
24
+ const client = createAuthClient(config.backendUrl ? { backendUrl: config.backendUrl, publishableKey: config.publishableKey } : {});
25
25
  // 🔹 Fetch user from backend (httpOnly cookie)
26
26
  const fetchUser = useCallback(async () => {
27
27
  if (!enabled || !client)
@@ -1 +1 @@
1
- {"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  preferredText?: string;
4
4
  redirectUrl?: string;
5
5
  }
6
- export declare const LoginButton: ({ preferredText, redirectUrl, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const LoginButton: ({ preferredText, redirectUrl, className, onClick, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};
8
8
  //# sourceMappingURL=LoginButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginButton.d.ts","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,0CAIzB,WAAW,4CAwCb,CAAC"}
1
+ {"version":3,"file":"LoginButton.d.ts","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,8DAMzB,WAAW,4CA6Db,CAAC"}
@@ -1,28 +1,37 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useState } from 'react';
3
+ import { useState, useMemo } from 'react';
4
4
  import { useLogin } from './UseLogin';
5
- export const LoginButton = ({ preferredText = 'Log In', redirectUrl = '/', ...props }) => {
5
+ import { UserProfile } from './UserProfile';
6
+ import { useDeltaAuth } from './hooks';
7
+ export const LoginButton = ({ preferredText = 'Log In', redirectUrl = '/', className, onClick, ...props }) => {
6
8
  const [hovered, setHovered] = useState(false);
7
- const login = useLogin(); // ✅ hook called at top level
8
- // detect if user supplied styling
9
- const hasCustomStyles = props.style || props.className;
10
- const defaultStyle = {
11
- padding: '8px 24px',
12
- borderRadius: '12px',
13
- backgroundColor: hovered ? '#15803d' : '#16a34a',
14
- color: '#fff',
15
- fontWeight: 600,
16
- transition: 'all 300ms ease',
17
- border: 'none',
18
- cursor: 'pointer',
19
- };
9
+ const login = useLogin();
10
+ const { user, loading, isAuthenticated } = useDeltaAuth();
11
+ const hasCustomStyles = !!className;
12
+ // Tailwind-first default button classes
13
+ const defaultClasses = useMemo(() => 'px-6 py-2.5 rounded-xl font-semibold text-white transition-all duration-300 bg-green-600 hover:bg-green-700', []);
14
+ // 🔹 Loading Skeleton
15
+ if (loading) {
16
+ return (_jsx("div", { className: `
17
+ relative overflow-hidden
18
+ h-11 w-32
19
+ rounded-xl
20
+ bg-gray-200 dark:bg-gray-800
21
+ ${className ?? ''}
22
+ `, children: _jsx("div", { className: "absolute inset-0 -translate-x-full animate-[shimmer_1.6s_infinite] bg-gradient-to-r from-transparent via-white/40 to-transparent" }) }));
23
+ }
24
+ // 🔹 If authenticated show profile
25
+ if (isAuthenticated && user) {
26
+ return _jsx(UserProfile, {});
27
+ }
28
+ // 🔹 Handle login click
20
29
  const handleClick = (e) => {
21
- props.onClick?.(e);
30
+ onClick?.(e);
22
31
  if (!e.defaultPrevented) {
23
- login(redirectUrl); // ✅ call the hook function here
32
+ login(redirectUrl);
24
33
  }
25
34
  };
26
- return (_jsx("button", { ...props, onClick: handleClick, style: !hasCustomStyles ? defaultStyle : props.style, onMouseEnter: !hasCustomStyles ? () => setHovered(true) : props.onMouseEnter, onMouseLeave: !hasCustomStyles ? () => setHovered(false) : props.onMouseLeave, children: preferredText }));
35
+ return (_jsx("button", { ...props, onClick: handleClick, className: !hasCustomStyles ? defaultClasses : className, onMouseEnter: !hasCustomStyles ? () => setHovered(true) : props.onMouseEnter, onMouseLeave: !hasCustomStyles ? () => setHovered(false) : props.onMouseLeave, children: preferredText }));
27
36
  };
28
37
  //# sourceMappingURL=LoginButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,aAAa,GAAG,QAAQ,EACxB,WAAW,GAAG,GAAG,EACjB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,6BAA6B;IAEvD,kCAAkC;IAClC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC;IAEvD,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,MAAM;QACpB,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC7D,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,gCAAgC;QACtD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBACM,KAAK,EACT,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EACpD,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAEhE,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,YAGhE,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,aAAa,GAAG,QAAQ,EACxB,WAAW,GAAG,GAAG,EACjB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;IAE1D,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC;IAEpC,0CAA0C;IAC1C,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,6GAA6G,EAC/G,EAAE,CACH,CAAC;IAEF,sBAAsB;IACtB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,cACE,SAAS,EAAE;;;;;YAKP,SAAS,IAAI,EAAE;SAClB,YAED,cAAK,SAAS,EAAC,kIAAkI,GAAG,GAChJ,CACP,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,KAAC,WAAW,KAAG,CAAC;IACzB,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAEb,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAK,CAAC,WAAW,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBACM,KAAK,EACT,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACxD,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAEhE,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,YAGhE,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -3,6 +3,6 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  preferredText?: string;
4
4
  allSessions?: boolean;
5
5
  }
6
- export declare const LogoutAllSessionsButton: ({ preferredText, allSessions, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const LogoutButton: ({ preferredText, allSessions, className, onClick, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element | null;
7
7
  export {};
8
8
  //# sourceMappingURL=LogoutButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutButton.d.ts","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB,GAAI,0CAIrC,WAAW,4CAwCb,CAAC"}
1
+ {"version":3,"file":"LogoutButton.d.ts","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,GAAI,8DAM1B,WAAW,mDAuCb,CAAC"}
@@ -1,28 +1,28 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useState } from 'react';
3
+ import { useMemo } from 'react';
4
4
  import { useLogout } from './UseLogout';
5
- export const LogoutAllSessionsButton = ({ preferredText = 'Log Out', allSessions = false, ...props }) => {
6
- const logout = useLogout(); // hook called at top level
7
- const [hovered, setHovered] = useState(false);
8
- // 👉 detect if user supplied styling
9
- const hasCustomStyles = props.style || props.className;
10
- const defaultStyle = {
11
- padding: '8px 24px',
12
- borderRadius: '12px',
13
- backgroundColor: hovered ? '#801515' : '#f21924',
14
- color: '#fff',
15
- fontWeight: 600,
16
- transition: 'all 300ms ease',
17
- border: 'none',
18
- cursor: 'pointer',
19
- };
5
+ import { useDeltaAuth } from './hooks';
6
+ export const LogoutButton = ({ preferredText = 'Log Out', allSessions = false, className, onClick, ...props }) => {
7
+ const logout = useLogout();
8
+ const { user, loading, isAuthenticated } = useDeltaAuth();
9
+ const hasCustomStyles = !!className;
10
+ // Default Tailwind styling
11
+ const defaultClasses = useMemo(() => 'px-6 py-2.5 rounded-xl font-semibold text-white transition-all duration-300 bg-red-600 hover:bg-red-700', []);
20
12
  const handleClick = (e) => {
21
- props.onClick?.(e);
13
+ onClick?.(e);
22
14
  if (!e.defaultPrevented) {
23
- logout({ allSessions }); // ✅ call hook function here
15
+ logout({ allSessions });
24
16
  }
25
17
  };
26
- return (_jsx("button", { ...props, onClick: handleClick, style: !hasCustomStyles ? defaultStyle : props.style, onMouseEnter: !hasCustomStyles ? () => setHovered(true) : props.onMouseEnter, onMouseLeave: !hasCustomStyles ? () => setHovered(false) : props.onMouseLeave, children: preferredText }));
18
+ // 🔹 Show skeleton while loading
19
+ if (loading) {
20
+ return _jsx("div", { className: "h-11 w-32 rounded-xl bg-gray-200 animate-pulse" });
21
+ }
22
+ // 🔹 Don’t render button if user is not authenticated
23
+ if (!isAuthenticated || !user) {
24
+ return null; // dev placeholder — nothing is rendered
25
+ }
26
+ return (_jsx("button", { ...props, onClick: handleClick, className: !hasCustomStyles ? defaultClasses : className, children: preferredText }));
27
27
  };
28
28
  //# sourceMappingURL=LogoutButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutButton.js","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,aAAa,GAAG,SAAS,EACzB,WAAW,GAAG,KAAK,EACnB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,CAAC,6BAA6B;IACzD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,qCAAqC;IACrC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC;IAEvD,MAAM,YAAY,GAAwB;QACxC,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,MAAM;QACpB,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC7D,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,4BAA4B;QACvD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBACM,KAAK,EACT,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EACpD,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAEhE,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,YAGhE,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"LogoutButton.js","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,aAAa,GAAG,SAAS,EACzB,WAAW,GAAG,KAAK,EACnB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;IAE1D,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC;IAEpC,6BAA6B;IAC7B,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,yGAAyG,EAC3G,EAAE,CACH,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,iCAAiC;IACjC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAK,SAAS,EAAC,gDAAgD,GAAG,CAAC;IAC5E,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACvD,CAAC;IAED,OAAO,CACL,oBACM,KAAK,EACT,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,YAEvD,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ type DeltaRequestOptions = {
2
+ method?: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
3
+ headers?: Record<string, string>;
4
+ body?: any;
5
+ params?: Record<string, any>;
6
+ };
7
+ export declare function useDeltaRequest(): <T>(endpoint: string, options?: DeltaRequestOptions) => Promise<T>;
8
+ export {};
9
+ //# sourceMappingURL=UseDeltaRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UseDeltaRequest.d.ts","sourceRoot":"","sources":["../src/UseDeltaRequest.tsx"],"names":[],"mappings":"AAIA,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,KAGM,CAAC,EAClC,UAAU,MAAM,EAChB,UAAS,mBAAwB,KAChC,OAAO,CAAC,CAAC,CAAC,CAqCd"}
@@ -0,0 +1,40 @@
1
+ import { useContext } from 'react';
2
+ import { AuthContext } from './context';
3
+ export function useDeltaRequest() {
4
+ const { client, fetchUser } = useContext(AuthContext);
5
+ return async function deltaRequest(endpoint, options = {}) {
6
+ // ✅ Ensure user authenticated
7
+ const user = await fetchUser();
8
+ if (!user) {
9
+ throw {
10
+ status: 401,
11
+ message: 'Unauthorized: Access token invalid or expired',
12
+ };
13
+ }
14
+ const method = options.method || 'GET';
15
+ try {
16
+ const res = await client.request({
17
+ url: endpoint,
18
+ method,
19
+ data: options.body, // axios uses data not body
20
+ params: options.params,
21
+ headers: {
22
+ 'Content-Type': 'application/json',
23
+ ...(options.headers || {}),
24
+ },
25
+ withCredentials: true, // cookies
26
+ });
27
+ return res.data;
28
+ }
29
+ catch (err) {
30
+ const error = err;
31
+ throw {
32
+ status: error.response?.status || 500,
33
+ ...(error.response?.data || {
34
+ message: error.message,
35
+ }),
36
+ };
37
+ }
38
+ };
39
+ }
40
+ //# sourceMappingURL=UseDeltaRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UseDeltaRequest.js","sourceRoot":"","sources":["../src/UseDeltaRequest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,UAA+B,EAAE;QAEjC,8BAA8B;QAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM;gBACJ,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,+CAA+C;aACzD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAI;gBAClC,GAAG,EAAE,QAAQ;gBACb,MAAM;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,2BAA2B;gBAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;iBAC3B;gBACD,eAAe,EAAE,IAAI,EAAE,UAAU;aAClC,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAsB,CAAC;YAErC,MAAM;gBACJ,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG;gBACrC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmKvC,CAAC"}
1
+ {"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+KvC,CAAC"}
@@ -3,12 +3,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { useContext, useState } from 'react';
4
4
  import { AuthContext } from './context';
5
5
  export const UserProfile = ({ className }) => {
6
- const { user, fetchUser } = useContext(AuthContext);
6
+ const { user, loading, isAuthenticated, fetchUser } = useContext(AuthContext);
7
7
  const [menuOpen, setMenuOpen] = useState(false);
8
8
  const [logoutOpen, setLogoutOpen] = useState(false);
9
9
  const [hovered, setHovered] = useState(false);
10
- if (!user)
11
- return null;
12
10
  const hasCustomStyles = !!className;
13
11
  const defaultWrapperStyle = {
14
12
  position: 'relative',
@@ -73,6 +71,14 @@ export const UserProfile = ({ className }) => {
73
71
  setMenuOpen(false);
74
72
  setLogoutOpen(false);
75
73
  };
74
+ // 🔹 Skeleton placeholder while loading
75
+ if (loading) {
76
+ return (_jsx("div", { className: "inline-block h-11 w-32 rounded-full bg-gray-200 animate-pulse", style: !hasCustomStyles ? defaultWrapperStyle : undefined }));
77
+ }
78
+ // 🔹 Do not render if user is not authenticated
79
+ if (!isAuthenticated || !user) {
80
+ return null;
81
+ }
76
82
  return (_jsxs(_Fragment, { children: [_jsx("style", { children: `
77
83
  @keyframes deltaFade {
78
84
  from { opacity:0; transform: translateY(-6px); }
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfile.js","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC;IAEpC,MAAM,mBAAmB,GAAwB;QAC/C,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,mBAAmB;KAChC,CAAC;IAEF,MAAM,kBAAkB,GAAwB;QAC9C,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC3C,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,gBAAgB;KAC7B,CAAC;IAEF,MAAM,aAAa,GAAwB;QACzC,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,MAAM;QACpB,SAAS,EAAE,6BAA6B;QACxC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,8BAA8B;QACzC,MAAM,EAAE,GAAG;KACZ,CAAC;IAEF,MAAM,aAAa,GAAwB;QACzC,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,aAAa;QACzB,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IAEF,MAAM,iBAAiB,GAAwB;QAC7C,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,gBAAgB;KAC7B,CAAC;IAEF,MAAM,cAAc,GAAwB;QAC1C,GAAG,iBAAiB;QACpB,UAAU,EAAE,SAAS;KACtB,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,SAAS,EAAE,CAAC;QAClB,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,MAAM,KAAK,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,MAAM,SAAS,EAAE,CAAC;QAClB,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACL,8BAEE,0BACG;;;;;SAKA,GACK,EAER,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,aAEzD,kBACE,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,EACxD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EACpC,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEpC,IAAI,CAAC,MAAM,IAAI,CACd,cACE,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,GAAG,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM,EAC7B,KAAK,EAAE;oCACL,KAAK,EAAE,EAAE;oCACT,MAAM,EAAE,EAAE;oCACV,YAAY,EAAE,KAAK;oCACnB,SAAS,EAAE,OAAO;iCACnB,GACD,CACH,EACD,eAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YAC/C,IAAI,CAAC,SAAS,GACV,IACA,EAER,QAAQ,IAAI,CACX,eAAK,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,aACtD,cACE,KAAK,EAAE;oCACL,OAAO,EAAE,WAAW;oCACpB,UAAU,EAAE,GAAG;oCACf,YAAY,EAAE,mBAAmB;iCAClC,YAEA,IAAI,CAAC,KAAK,GACP,EAEN,iBACE,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAGlC,EAER,UAAU,IAAI,CACb,eACE,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,OAAO,EAAE,MAAM;oCACf,aAAa,EAAE,QAAQ;oCACvB,GAAG,EAAE,KAAK;oCACV,SAAS,EAAE,qBAAqB;iCACjC,aAED,iBAAQ,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,oCAEnD,EAET,iBAAQ,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,oCAEhD,IACL,CACP,IACG,CACP,IACG,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"UserProfile.js","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function createAuthClient(config: {
2
2
  backendUrl?: string;
3
+ publishableKey?: string;
3
4
  }): import("axios").AxiosInstance;
4
5
  //# sourceMappingURL=authClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authClient.d.ts","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,iCAS/D"}
1
+ {"version":3,"file":"authClient.d.ts","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,iCAYA"}
@@ -5,6 +5,9 @@ export function createAuthClient(config) {
5
5
  const client = axios.create({
6
6
  baseURL,
7
7
  withCredentials: true, // send cookies
8
+ headers: {
9
+ 'x-delta-publishable-key': config.publishableKey,
10
+ },
8
11
  });
9
12
  return client;
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authClient.js","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,gBAAgB,CAAC,MAA+B;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;IAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,OAAO;QACP,eAAe,EAAE,IAAI,EAAE,eAAe;KACvC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"authClient.js","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,gBAAgB,CAAC,MAGhC;IACC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;IAE5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,OAAO;QACP,eAAe,EAAE,IAAI,EAAE,eAAe;QACtC,OAAO,EAAE;YACP,yBAAyB,EAAE,MAAM,CAAC,cAAc;SACjD;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,yCAE3B"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,yCAQ3B"}
package/dist/hooks.js CHANGED
@@ -1,7 +1,10 @@
1
- // src/hooks.ts
2
1
  import { useContext } from 'react';
3
2
  import { AuthContext } from './context';
4
3
  export function useDeltaAuth() {
5
- return useContext(AuthContext);
4
+ const context = useContext(AuthContext);
5
+ if (!context) {
6
+ throw new Error('useDeltaAuth must be used inside DeltaAuthProvider');
7
+ }
8
+ return context;
6
9
  }
7
10
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * from './LoginButton';
8
8
  export * from './LogoutButton';
9
9
  export * from './ProtectedRoute';
10
10
  export * from './UserProfile';
11
+ export * from './UseDeltaRequest';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -8,4 +8,5 @@ export * from './LoginButton';
8
8
  export * from './LogoutButton';
9
9
  export * from './ProtectedRoute';
10
10
  export * from './UserProfile';
11
+ export * from './UseDeltaRequest';
11
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "delta-auth-next",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "A lightweight authentication system for Next.js that provides React context providers and Edge-safe middleware utilities for handling sign-in redirects and session management.",
5
5
  "license": "MIT",
6
6
  "author": "Samuel Onwodi",