katanakit-js 6.2.0 → 6.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +8 -1
  2. package/dist/adapters/better-auth/better-auth.service.d.ts +83 -0
  3. package/dist/adapters/better-auth/better-auth.service.d.ts.map +1 -0
  4. package/dist/adapters/better-auth/better-auth.service.js +110 -0
  5. package/dist/adapters/better-auth/better-auth.service.js.map +1 -0
  6. package/dist/adapters/better-auth/client.d.ts +51 -0
  7. package/dist/adapters/better-auth/client.d.ts.map +1 -0
  8. package/dist/adapters/better-auth/client.js +67 -0
  9. package/dist/adapters/better-auth/client.js.map +1 -0
  10. package/dist/adapters/better-auth/index.d.ts +3 -0
  11. package/dist/adapters/better-auth/index.d.ts.map +1 -0
  12. package/dist/adapters/better-auth/index.js +3 -0
  13. package/dist/adapters/better-auth/index.js.map +1 -0
  14. package/dist/adapters/index.d.ts +2 -0
  15. package/dist/adapters/index.d.ts.map +1 -1
  16. package/dist/adapters/index.js +2 -0
  17. package/dist/adapters/index.js.map +1 -1
  18. package/dist/adapters/photoswipe/index.d.ts +2 -0
  19. package/dist/adapters/photoswipe/index.d.ts.map +1 -0
  20. package/dist/adapters/photoswipe/index.js +2 -0
  21. package/dist/adapters/photoswipe/index.js.map +1 -0
  22. package/dist/adapters/photoswipe/photoswipe.service.d.ts +99 -0
  23. package/dist/adapters/photoswipe/photoswipe.service.d.ts.map +1 -0
  24. package/dist/adapters/photoswipe/photoswipe.service.js +150 -0
  25. package/dist/adapters/photoswipe/photoswipe.service.js.map +1 -0
  26. package/dist/config/seo.service.d.ts +1 -1
  27. package/dist/config/seo.service.d.ts.map +1 -1
  28. package/dist/config/seo.service.js +1 -1
  29. package/dist/config/seo.service.js.map +1 -1
  30. package/package.json +43 -6
package/README.md CHANGED
@@ -29,7 +29,7 @@ In the browser, use jsDelivr **`/+esm`** so named exports and dependencies resol
29
29
  | **esm.sh** | `https://esm.sh/katanakit-js` |
30
30
  | **Raw ESM file** | `https://cdn.jsdelivr.net/npm/katanakit-js/dist/index.js` (needs bundler or import map) |
31
31
 
32
- Pin a version in production (e.g. `@6.1.0/+esm`). There is no IIFE/UMD build.
32
+ Pin a version in production (e.g. `@6.4.3/+esm`). There is no IIFE/UMD build.
33
33
 
34
34
  ## Quick Start
35
35
 
@@ -819,6 +819,13 @@ See [Getting Started](https://docs.senseikatana.com/guides/getting-started) for
819
819
  | **Telegram** | `katanakit-js/adapters/telegram` | BotFather bot (`defineTelegramConfig`, `useStartTelegramPolling`) |
820
820
  | **WhatsApp** | `katanakit-js/adapters/whatsapp` | Meta Cloud API (`defineWhatsAppConfig`, `useStartWhatsApp`) |
821
821
 
822
+ ## UI and Auth Adapters
823
+
824
+ | Adapter | Import | Description |
825
+ | --------------- | ---------------------------------------- | -------------------------------------------------------------- |
826
+ | **PhotoSwipe** | `katanakit-js/adapters/photoswipe` | Lightbox bound by CSS selectors, Safe Result, SSR-safe |
827
+ | **Better Auth** | `katanakit-js/adapters/better-auth` | Auth client (vanilla/react/vue/svelte/solid) + session helpers |
828
+
822
829
  ## REST API Adapters
823
830
 
824
831
  Typed adapters for popular REST APIs with auth, pagination helpers, and full TypeScript types.
@@ -0,0 +1,83 @@
1
+ import type { Auth, Session, User } from "better-auth";
2
+ import type { AuthResult } from "./client.js";
3
+ /** What `auth.api.getSession()` resolves to when a session exists. */
4
+ export interface AuthSessionData {
5
+ user: User;
6
+ session: Session;
7
+ /** Plugins append their own fields (organization, roles, …). */
8
+ [key: string]: unknown;
9
+ }
10
+ /** The shape `Astro.locals` (or any framework's request context) ends up with. */
11
+ export interface AuthLocals {
12
+ user: User | null;
13
+ session: Session | null;
14
+ }
15
+ /** Anything that carries request headers: a `Request`, `Headers` or `{ headers }`. */
16
+ export type HeadersLike = Headers | Request | {
17
+ headers: Headers;
18
+ };
19
+ /**
20
+ * Reads the current session server-side without throwing.
21
+ *
22
+ * Returns `data: null` with `ok: true` for an anonymous visitor — only a real
23
+ * failure (bad config, network, malformed response) turns into `ok: false`.
24
+ *
25
+ * @param auth - The `betterAuth()` server instance
26
+ * @param request - A `Request`, its `Headers`, or any object exposing `headers`
27
+ * @returns Safe result with the session (or `null`)
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const session = await useAuthSession(auth, request);
32
+ * if (session.ok && session.data) console.log(session.data.user.email);
33
+ * ```
34
+ */
35
+ export declare function useAuthSession(auth: Auth, request: HeadersLike): Promise<AuthResult<AuthSessionData | null>>;
36
+ /**
37
+ * Runs Better Auth's request handler (`auth.handler`) for a catch-all route.
38
+ *
39
+ * @param auth - The `betterAuth()` server instance
40
+ * @param request - The incoming `Request`
41
+ * @returns Safe result with the handler's `Response`
42
+ *
43
+ * @example Astro — `src/pages/api/auth/[...all].ts`
44
+ * ```ts
45
+ * import type { APIRoute } from "astro";
46
+ * import { auth } from "~/auth";
47
+ * import { useAuthHandler } from "katanakit-js/adapters/better-auth";
48
+ *
49
+ * export const ALL: APIRoute = async ({ request }) => {
50
+ * const result = await useAuthHandler(auth, request);
51
+ * return result.ok ? result.data : new Response("Auth unavailable", { status: 500 });
52
+ * };
53
+ * ```
54
+ */
55
+ export declare function useAuthHandler(auth: Auth, request: Request): Promise<AuthResult<Response>>;
56
+ /**
57
+ * Builds the `user` / `session` pair middleware puts into the request context.
58
+ *
59
+ * Mirrors Better Auth's Astro middleware: anonymous visitors get `null` for
60
+ * both fields instead of an error, so a page can branch on `locals.user`.
61
+ *
62
+ * @param auth - The `betterAuth()` server instance
63
+ * @param request - The incoming `Request` (or anything carrying its headers)
64
+ * @returns Safe result with `{ user, session }`
65
+ *
66
+ * @example Astro — `src/middleware.ts`
67
+ * ```ts
68
+ * import { defineMiddleware } from "astro:middleware";
69
+ * import { auth } from "~/auth";
70
+ * import { useAstroAuthLocals } from "katanakit-js/adapters/better-auth";
71
+ *
72
+ * export const onRequest = defineMiddleware(async (context, next) => {
73
+ * const locals = await useAstroAuthLocals(auth, context.request);
74
+ * if (locals.ok) {
75
+ * context.locals.user = locals.data.user;
76
+ * context.locals.session = locals.data.session;
77
+ * }
78
+ * return next();
79
+ * });
80
+ * ```
81
+ */
82
+ export declare function useAstroAuthLocals(auth: Auth, request: HeadersLike): Promise<AuthResult<AuthLocals>>;
83
+ //# sourceMappingURL=better-auth.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/better-auth/better-auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,kFAAkF;AAClF,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAQnE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAa7C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAWhG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CASjC"}
@@ -0,0 +1,110 @@
1
+ function toHeaders(input) {
2
+ if (input instanceof Headers)
3
+ return input;
4
+ if (input && typeof input === "object" && "headers" in input)
5
+ return input.headers;
6
+ return new Headers();
7
+ }
8
+ /**
9
+ * Reads the current session server-side without throwing.
10
+ *
11
+ * Returns `data: null` with `ok: true` for an anonymous visitor — only a real
12
+ * failure (bad config, network, malformed response) turns into `ok: false`.
13
+ *
14
+ * @param auth - The `betterAuth()` server instance
15
+ * @param request - A `Request`, its `Headers`, or any object exposing `headers`
16
+ * @returns Safe result with the session (or `null`)
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const session = await useAuthSession(auth, request);
21
+ * if (session.ok && session.data) console.log(session.data.user.email);
22
+ * ```
23
+ */
24
+ export async function useAuthSession(auth, request) {
25
+ try {
26
+ const data = (await auth.api.getSession({
27
+ headers: toHeaders(request),
28
+ }));
29
+ return { data, error: null, ok: true };
30
+ }
31
+ catch (cause) {
32
+ return {
33
+ data: null,
34
+ error: { message: `[BetterAuth] getSession failed: ${toMessage(cause)}`, details: cause },
35
+ ok: false,
36
+ };
37
+ }
38
+ }
39
+ /**
40
+ * Runs Better Auth's request handler (`auth.handler`) for a catch-all route.
41
+ *
42
+ * @param auth - The `betterAuth()` server instance
43
+ * @param request - The incoming `Request`
44
+ * @returns Safe result with the handler's `Response`
45
+ *
46
+ * @example Astro — `src/pages/api/auth/[...all].ts`
47
+ * ```ts
48
+ * import type { APIRoute } from "astro";
49
+ * import { auth } from "~/auth";
50
+ * import { useAuthHandler } from "katanakit-js/adapters/better-auth";
51
+ *
52
+ * export const ALL: APIRoute = async ({ request }) => {
53
+ * const result = await useAuthHandler(auth, request);
54
+ * return result.ok ? result.data : new Response("Auth unavailable", { status: 500 });
55
+ * };
56
+ * ```
57
+ */
58
+ export async function useAuthHandler(auth, request) {
59
+ try {
60
+ const response = await auth.handler(request);
61
+ return { data: response, error: null, ok: true };
62
+ }
63
+ catch (cause) {
64
+ return {
65
+ data: null,
66
+ error: { message: `[BetterAuth] handler failed: ${toMessage(cause)}`, details: cause },
67
+ ok: false,
68
+ };
69
+ }
70
+ }
71
+ /**
72
+ * Builds the `user` / `session` pair middleware puts into the request context.
73
+ *
74
+ * Mirrors Better Auth's Astro middleware: anonymous visitors get `null` for
75
+ * both fields instead of an error, so a page can branch on `locals.user`.
76
+ *
77
+ * @param auth - The `betterAuth()` server instance
78
+ * @param request - The incoming `Request` (or anything carrying its headers)
79
+ * @returns Safe result with `{ user, session }`
80
+ *
81
+ * @example Astro — `src/middleware.ts`
82
+ * ```ts
83
+ * import { defineMiddleware } from "astro:middleware";
84
+ * import { auth } from "~/auth";
85
+ * import { useAstroAuthLocals } from "katanakit-js/adapters/better-auth";
86
+ *
87
+ * export const onRequest = defineMiddleware(async (context, next) => {
88
+ * const locals = await useAstroAuthLocals(auth, context.request);
89
+ * if (locals.ok) {
90
+ * context.locals.user = locals.data.user;
91
+ * context.locals.session = locals.data.session;
92
+ * }
93
+ * return next();
94
+ * });
95
+ * ```
96
+ */
97
+ export async function useAstroAuthLocals(auth, request) {
98
+ const session = await useAuthSession(auth, request);
99
+ if (!session.ok)
100
+ return session;
101
+ return {
102
+ data: { user: session.data?.user ?? null, session: session.data?.session ?? null },
103
+ error: null,
104
+ ok: true,
105
+ };
106
+ }
107
+ function toMessage(error) {
108
+ return error instanceof Error ? error.message : String(error);
109
+ }
110
+ //# sourceMappingURL=better-auth.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth.service.js","sourceRoot":"","sources":["../../../src/adapters/better-auth/better-auth.service.ts"],"names":[],"mappings":"AAqBA,SAAS,SAAS,CAAC,KAAkB;IACpC,IAAI,KAAK,YAAY,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACnF,OAAO,IAAI,OAAO,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,IAAU,EACV,OAAoB;IAEpB,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;SAC3B,CAAC,CAA2B,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE,OAAO,EAAE,mCAAmC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACzF,EAAE,EAAE,KAAK;SACT,CAAC;IACH,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAU,EAAE,OAAgB;IAChE,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE,OAAO,EAAE,gCAAgC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACtF,EAAE,EAAE,KAAK;SACT,CAAC;IACH,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,IAAU,EACV,OAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAEhC,OAAO;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE;QAClF,KAAK,EAAE,IAAI;QACX,EAAE,EAAE,IAAI;KACR,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAChC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { AuthClient, BetterAuthClientOptions } from "better-auth/client";
2
+ import type { ReactAuthClient } from "better-auth/react";
3
+ import type { SolidAuthClient } from "better-auth/solid";
4
+ import type { SvelteAuthClient } from "better-auth/svelte";
5
+ import type { VueAuthClient } from "better-auth/vue";
6
+ import type { SafeResult } from "../../types/index.js";
7
+ /** Framework clients shipped by Better Auth — one `createAuthClient` per entry. */
8
+ export type AuthFramework = "vanilla" | "react" | "vue" | "svelte" | "solid";
9
+ export type { AuthClient, BetterAuthClientOptions };
10
+ /** Client type the requested framework's `createAuthClient` returns. */
11
+ export type AuthClientFor<F extends AuthFramework, O extends BetterAuthClientOptions = BetterAuthClientOptions> = F extends "vue" ? VueAuthClient<O> : F extends "react" ? ReactAuthClient<O> : F extends "svelte" ? SvelteAuthClient<O> : F extends "solid" ? SolidAuthClient<O> : AuthClient<O>;
12
+ export interface AuthClientOptions<F extends AuthFramework = "vanilla"> extends BetterAuthClientOptions {
13
+ /**
14
+ * Which Better Auth client entry to load.
15
+ *
16
+ * @defaultValue `"vanilla"`
17
+ */
18
+ framework?: F;
19
+ }
20
+ export type AuthError = {
21
+ message: string;
22
+ details?: unknown;
23
+ };
24
+ export type AuthResult<T> = SafeResult<T, AuthError>;
25
+ /**
26
+ * Creates the Better Auth client for the requested framework, importing only
27
+ * that entry — the other four never reach the bundle.
28
+ *
29
+ * @param options - `BetterAuthClientOptions` (`baseURL`, `plugins`, …) plus `framework`
30
+ * @returns Safe result with the framework's typed client; never throws
31
+ *
32
+ * @example Vue / Nuxt — `lib/auth-client.ts`
33
+ * ```ts
34
+ * import { useAuthClient } from "katanakit-js/adapters/better-auth";
35
+ *
36
+ * export const authClient = await useAuthClient({ framework: "vue" });
37
+ * export const { signIn, signUp, signOut, useSession } = authClient;
38
+ * ```
39
+ *
40
+ * @example React
41
+ * ```ts
42
+ * const authClient = await useAuthClient({ framework: "react", baseURL: "https://auth.example.com" });
43
+ * ```
44
+ *
45
+ * @example Vanilla (Astro island-free pages, plain `<script>`)
46
+ * ```ts
47
+ * const authClient = await useAuthClient();
48
+ * ```
49
+ */
50
+ export declare function useAuthClient<F extends AuthFramework = "vanilla">(options?: AuthClientOptions<F>): Promise<AuthResult<AuthClientFor<F>>>;
51
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/adapters/better-auth/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7E,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC;AAEpD,wEAAwE;AACxE,MAAM,MAAM,aAAa,CACxB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,IACxD,CAAC,SAAS,KAAK,GAChB,aAAa,CAAC,CAAC,CAAC,GAChB,CAAC,SAAS,OAAO,GAChB,eAAe,CAAC,CAAC,CAAC,GAClB,CAAC,SAAS,QAAQ,GACjB,gBAAgB,CAAC,CAAC,CAAC,GACnB,CAAC,SAAS,OAAO,GAChB,eAAe,CAAC,CAAC,CAAC,GAClB,UAAU,CAAC,CAAC,CAAC,CAAC;AAEpB,MAAM,WAAW,iBAAiB,CACjC,CAAC,SAAS,aAAa,GAAG,SAAS,CAClC,SAAQ,uBAAuB;IAChC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;CACd;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,aAAa,GAAG,SAAS,EACtE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAwCvC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Creates the Better Auth client for the requested framework, importing only
3
+ * that entry — the other four never reach the bundle.
4
+ *
5
+ * @param options - `BetterAuthClientOptions` (`baseURL`, `plugins`, …) plus `framework`
6
+ * @returns Safe result with the framework's typed client; never throws
7
+ *
8
+ * @example Vue / Nuxt — `lib/auth-client.ts`
9
+ * ```ts
10
+ * import { useAuthClient } from "katanakit-js/adapters/better-auth";
11
+ *
12
+ * export const authClient = await useAuthClient({ framework: "vue" });
13
+ * export const { signIn, signUp, signOut, useSession } = authClient;
14
+ * ```
15
+ *
16
+ * @example React
17
+ * ```ts
18
+ * const authClient = await useAuthClient({ framework: "react", baseURL: "https://auth.example.com" });
19
+ * ```
20
+ *
21
+ * @example Vanilla (Astro island-free pages, plain `<script>`)
22
+ * ```ts
23
+ * const authClient = await useAuthClient();
24
+ * ```
25
+ */
26
+ export async function useAuthClient(options) {
27
+ const { framework, ...clientOptions } = (options ?? {});
28
+ try {
29
+ switch (framework) {
30
+ case "vue": {
31
+ const { createAuthClient } = await import("better-auth/vue");
32
+ return ok(createAuthClient(clientOptions));
33
+ }
34
+ case "react": {
35
+ const { createAuthClient } = await import("better-auth/react");
36
+ return ok(createAuthClient(clientOptions));
37
+ }
38
+ case "svelte": {
39
+ const { createAuthClient } = await import("better-auth/svelte");
40
+ return ok(createAuthClient(clientOptions));
41
+ }
42
+ case "solid": {
43
+ const { createAuthClient } = await import("better-auth/solid");
44
+ return ok(createAuthClient(clientOptions));
45
+ }
46
+ default: {
47
+ const { createAuthClient } = await import("better-auth/client");
48
+ return ok(createAuthClient(clientOptions));
49
+ }
50
+ }
51
+ }
52
+ catch (cause) {
53
+ return {
54
+ data: null,
55
+ error: {
56
+ message: `[BetterAuth] cannot load the "${framework ?? "vanilla"}" client — ` +
57
+ "install it with `bun add better-auth`.",
58
+ details: cause,
59
+ },
60
+ ok: false,
61
+ };
62
+ }
63
+ }
64
+ function ok(data) {
65
+ return { data, error: null, ok: true };
66
+ }
67
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/adapters/better-auth/client.ts"],"names":[],"mappings":"AAyCA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,OAA8B;IAE9B,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAErD,CAAC;IAEF,IAAI,CAAC;QACJ,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC7D,OAAO,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAqB,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAqB,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAChE,OAAO,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAqB,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAqB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACT,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAChE,OAAO,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAqB,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,IAAI,EAAE,IAAI;YACV,KAAK,EAAE;gBACN,OAAO,EACN,iCAAiC,SAAS,IAAI,SAAS,aAAa;oBACpE,wCAAwC;gBACzC,OAAO,EAAE,KAAK;aACd;YACD,EAAE,EAAE,KAAK;SACT,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,EAAE,CAAI,IAAO;IACrB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./better-auth.service.js";
2
+ export * from "./client.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/better-auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./better-auth.service.js";
2
+ export * from "./client.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/better-auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from "./astro/index.js";
2
+ export * from "./better-auth/index.js";
2
3
  export * from "./notion/index.js";
4
+ export * from "./photoswipe/index.js";
3
5
  export * from "./wordpress/index.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from "./astro/index.js";
2
+ export * from "./better-auth/index.js";
2
3
  export * from "./notion/index.js";
4
+ export * from "./photoswipe/index.js";
3
5
  export * from "./wordpress/index.js";
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./photoswipe.service.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/photoswipe/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./photoswipe.service.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/photoswipe/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,99 @@
1
+ import type { DataSource, PhotoSwipeOptions, SlideData } from "photoswipe";
2
+ import type PhotoSwipeLightbox from "photoswipe/lightbox";
3
+ import type { SafeResult } from "../../types/index.js";
4
+ /** Error carried by every PhotoSwipe call — never thrown. */
5
+ export interface PhotoSwipeError {
6
+ message: string;
7
+ details?: unknown;
8
+ }
9
+ export type PhotoSwipeResult<T> = SafeResult<T, PhotoSwipeError>;
10
+ /**
11
+ * DOM-first configuration: every element is located by CSS selector, so the
12
+ * adapter works from any framework — Astro, React, Vue or a plain `<script>`.
13
+ */
14
+ export interface PhotoSwipeGalleryOptions {
15
+ /**
16
+ * CSS selector resolving one or more gallery containers.
17
+ *
18
+ * @defaultValue `"[data-pswp]"`
19
+ */
20
+ gallery?: string;
21
+ /**
22
+ * CSS selector for the clickable slides inside each gallery.
23
+ *
24
+ * @defaultValue `"a"`
25
+ */
26
+ children?: string;
27
+ /**
28
+ * Scope used to resolve `gallery` — an element, a selector or `null` for
29
+ * `document`. Lets you bind a gallery rendered inside a widget/dialog.
30
+ */
31
+ root?: ParentNode | string | null;
32
+ /** Passed straight to `PhotoSwipeLightbox` (`bgOpacity`, `showHideAnimationType`, …). */
33
+ lightbox?: PhotoSwipeOptions;
34
+ }
35
+ /**
36
+ * Binds PhotoSwipe to every gallery matching the DOM selectors.
37
+ *
38
+ * Call it once the markup exists; call it again (same or new options) whenever
39
+ * the DOM gains galleries — rebinding is idempotent, already-bound elements are
40
+ * left untouched. The lightbox module is imported lazily, so nothing touches
41
+ * `document` during SSR/prerender.
42
+ *
43
+ * @param options - CSS selectors and PhotoSwipe lightbox options
44
+ * @returns Safe result with the live `PhotoSwipeLightbox`, never throws
45
+ *
46
+ * @example Astro — `.astro` file, at the end of the component
47
+ * ```astro
48
+ * <div data-pswp>
49
+ * <a href="/large-1.jpg" data-pswp-width="1600" data-pswp-height="1067">
50
+ * <img src="/thumb-1.jpg" alt="Sunset" />
51
+ * </a>
52
+ * </div>
53
+ *
54
+ * <script>
55
+ * import "photoswipe/photoswipe.css";
56
+ * import { usePhotoSwipe } from "katanakit-js/adapters/photoswipe";
57
+ *
58
+ * const result = await usePhotoSwipe({ gallery: "[data-pswp]", children: "a" });
59
+ * if (!result.ok) console.warn(result.error.message);
60
+ * </script>
61
+ * ```
62
+ */
63
+ export declare function usePhotoSwipe(options?: PhotoSwipeGalleryOptions): Promise<PhotoSwipeResult<PhotoSwipeLightbox>>;
64
+ /**
65
+ * Opens the gallery at `index`, optionally from a data array instead of DOM
66
+ * markup (useful for virtual lists or a slideshow without thumbnails).
67
+ *
68
+ * @param index - Zero-based slide index
69
+ * @param dataSource - Optional slide data (`src`, `width`, `height`, `alt`)
70
+ * @returns Safe result with `true` when the lightbox opened
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * await usePhotoSwipe({ gallery: "#hero" });
75
+ * await usePhotoSwipeOpen(2, [
76
+ * { src: "/a.jpg", width: 1600, height: 1067, alt: "A" },
77
+ * ]);
78
+ * ```
79
+ */
80
+ export declare function usePhotoSwipeOpen(index?: number, dataSource?: DataSource): Promise<PhotoSwipeResult<boolean>>;
81
+ /**
82
+ * Destroys the cached lightbox (closes it and unbinds its listeners) so a
83
+ * single-page app can drop a gallery without a full reload.
84
+ *
85
+ * @returns Safe result with `true` when something was destroyed
86
+ */
87
+ export declare function usePhotoSwipeDestroy(): PhotoSwipeResult<boolean>;
88
+ /**
89
+ * Whether {@link usePhotoSwipe} can run — `false` during SSR/prerender.
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * if (usePhotoSwipeSupported()) await usePhotoSwipe();
94
+ * ```
95
+ */
96
+ export declare function usePhotoSwipeSupported(): boolean;
97
+ /** Slide shape accepted by {@link usePhotoSwipeOpen} — re-exported for callers. */
98
+ export type PhotoSwipeSlide = SlideData;
99
+ //# sourceMappingURL=photoswipe.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photoswipe.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/photoswipe/photoswipe.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,kBAAkB,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,aAAa,CAClC,OAAO,GAAE,wBAA6B,GACpC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CA0C/C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACtC,KAAK,SAAI,EACT,UAAU,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CASpC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAMhE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC"}
@@ -0,0 +1,150 @@
1
+ const DEFAULT_GALLERY = "[data-pswp]";
2
+ const DEFAULT_CHILDREN = "a";
3
+ /** Cached lightbox — one per page, rebound whenever the DOM gains galleries. */
4
+ let lightbox = null;
5
+ /** Options the instance was last bound with, so a refresh keeps the selectors. */
6
+ let lastOptions = {};
7
+ function failure(message, details) {
8
+ return { data: null, error: { message, details }, ok: false };
9
+ }
10
+ function resolveRoot(root) {
11
+ if (!root)
12
+ return document;
13
+ if (typeof root === "string")
14
+ return document.querySelector(root) ?? document;
15
+ return root;
16
+ }
17
+ function describeRoot(root) {
18
+ if (root === document)
19
+ return "document";
20
+ const element = root;
21
+ return element.tagName
22
+ ? `${element.tagName.toLowerCase()}${element.id ? `#${element.id}` : ""}`
23
+ : "unknown";
24
+ }
25
+ async function loadLightboxClass() {
26
+ try {
27
+ const module = await import("photoswipe/lightbox");
28
+ return module.default;
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
34
+ /**
35
+ * Binds PhotoSwipe to every gallery matching the DOM selectors.
36
+ *
37
+ * Call it once the markup exists; call it again (same or new options) whenever
38
+ * the DOM gains galleries — rebinding is idempotent, already-bound elements are
39
+ * left untouched. The lightbox module is imported lazily, so nothing touches
40
+ * `document` during SSR/prerender.
41
+ *
42
+ * @param options - CSS selectors and PhotoSwipe lightbox options
43
+ * @returns Safe result with the live `PhotoSwipeLightbox`, never throws
44
+ *
45
+ * @example Astro — `.astro` file, at the end of the component
46
+ * ```astro
47
+ * <div data-pswp>
48
+ * <a href="/large-1.jpg" data-pswp-width="1600" data-pswp-height="1067">
49
+ * <img src="/thumb-1.jpg" alt="Sunset" />
50
+ * </a>
51
+ * </div>
52
+ *
53
+ * <script>
54
+ * import "photoswipe/photoswipe.css";
55
+ * import { usePhotoSwipe } from "katanakit-js/adapters/photoswipe";
56
+ *
57
+ * const result = await usePhotoSwipe({ gallery: "[data-pswp]", children: "a" });
58
+ * if (!result.ok) console.warn(result.error.message);
59
+ * </script>
60
+ * ```
61
+ */
62
+ export async function usePhotoSwipe(options = {}) {
63
+ if (typeof document === "undefined") {
64
+ return failure("[PhotoSwipe] browser only — there is no `document` in this environment.");
65
+ }
66
+ lastOptions = options;
67
+ const gallerySelector = options.gallery ?? DEFAULT_GALLERY;
68
+ const children = options.children ?? DEFAULT_CHILDREN;
69
+ const root = resolveRoot(options.root);
70
+ const galleries = Array.from(root.querySelectorAll(gallerySelector));
71
+ if (galleries.length === 0) {
72
+ return failure(`[PhotoSwipe] no gallery matched "${gallerySelector}".`, {
73
+ root: describeRoot(root),
74
+ gallery: gallerySelector,
75
+ });
76
+ }
77
+ const Lightbox = await loadLightboxClass();
78
+ if (!Lightbox) {
79
+ return failure("[PhotoSwipe] cannot load `photoswipe/lightbox` — install it with `bun add photoswipe`.");
80
+ }
81
+ if (!lightbox) {
82
+ lightbox = new Lightbox({
83
+ ...options.lightbox,
84
+ gallery: galleries,
85
+ children,
86
+ pswpModule: () => import("photoswipe"),
87
+ });
88
+ lightbox.init();
89
+ return { data: lightbox, error: null, ok: true };
90
+ }
91
+ // Re-resolve the selector and re-bind: `init()` only adds listeners to
92
+ // elements that do not have one yet, so repeated calls are safe.
93
+ lightbox.options.gallery = galleries;
94
+ lightbox.options.children = children;
95
+ lightbox.init();
96
+ return { data: lightbox, error: null, ok: true };
97
+ }
98
+ /**
99
+ * Opens the gallery at `index`, optionally from a data array instead of DOM
100
+ * markup (useful for virtual lists or a slideshow without thumbnails).
101
+ *
102
+ * @param index - Zero-based slide index
103
+ * @param dataSource - Optional slide data (`src`, `width`, `height`, `alt`)
104
+ * @returns Safe result with `true` when the lightbox opened
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * await usePhotoSwipe({ gallery: "#hero" });
109
+ * await usePhotoSwipeOpen(2, [
110
+ * { src: "/a.jpg", width: 1600, height: 1067, alt: "A" },
111
+ * ]);
112
+ * ```
113
+ */
114
+ export async function usePhotoSwipeOpen(index = 0, dataSource) {
115
+ if (!lightbox) {
116
+ const bound = await usePhotoSwipe(lastOptions);
117
+ if (!bound.ok)
118
+ return failure(bound.error.message, bound.error.details);
119
+ }
120
+ if (!lightbox?.loadAndOpen(index, dataSource)) {
121
+ return failure(`[PhotoSwipe] could not open slide ${index}.`, { index });
122
+ }
123
+ return { data: true, error: null, ok: true };
124
+ }
125
+ /**
126
+ * Destroys the cached lightbox (closes it and unbinds its listeners) so a
127
+ * single-page app can drop a gallery without a full reload.
128
+ *
129
+ * @returns Safe result with `true` when something was destroyed
130
+ */
131
+ export function usePhotoSwipeDestroy() {
132
+ if (!lightbox)
133
+ return failure("[PhotoSwipe] no lightbox to destroy.");
134
+ lightbox.destroy();
135
+ lightbox = null;
136
+ lastOptions = {};
137
+ return { data: true, error: null, ok: true };
138
+ }
139
+ /**
140
+ * Whether {@link usePhotoSwipe} can run — `false` during SSR/prerender.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * if (usePhotoSwipeSupported()) await usePhotoSwipe();
145
+ * ```
146
+ */
147
+ export function usePhotoSwipeSupported() {
148
+ return typeof document !== "undefined";
149
+ }
150
+ //# sourceMappingURL=photoswipe.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photoswipe.service.js","sourceRoot":"","sources":["../../../src/adapters/photoswipe/photoswipe.service.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,6 @@ export declare function useApplySeoTag(seo: SeoTagResult, head?: ParentNode | nu
50
50
  export declare function useGenerateMetaTags(config: SiteConfig, meta: SeoMeta): string;
51
51
  export declare function useTitle(config: SiteConfig, pageTitle?: string): string;
52
52
  export declare function useRssHeadLink(config: SiteConfig): string;
53
- /** Full `<head>` HTML (meta + RSS). Accepts legacy {@link SeoMeta} or flat {@link SeoMetaInput}. */
53
+ /** Full `<head>` HTML (meta + RSS). Accepts legacy `SeoMeta` or flat {@link SeoMetaInput}. */
54
54
  export declare function useHeadTags(config: SiteConfig, meta: SeoMeta | SeoMetaInput): string;
55
55
  //# sourceMappingURL=seo.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seo.service.d.ts","sourceRoot":"","sources":["../../src/config/seo.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,OAAO,EACP,YAAY,EAGZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,kBAAkB,CAAC;AAEpF,YAAY,EACX,YAAY,EACZ,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,QAAQ,SAAS,MAAM,cAAc,GAAG,KAAK,EACvE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACjC,QAAQ,GAAE,UAA8B,GACtC,YAAY,CAgDd;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,CAGzE;AAED,6CAA6C;AAC7C,eAAO,MAAM,UAAU,kBAAY,CAAC;AAqGpC;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,UAAU,GAAG,IAA6D,GAC9E,IAAI,CAoBN;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAQ7E;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIzD;AAED,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,CAKpF"}
1
+ {"version":3,"file":"seo.service.d.ts","sourceRoot":"","sources":["../../src/config/seo.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,OAAO,EACP,YAAY,EAGZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,kBAAkB,CAAC;AAEpF,YAAY,EACX,YAAY,EACZ,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,QAAQ,SAAS,MAAM,cAAc,GAAG,KAAK,EACvE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACjC,QAAQ,GAAE,UAA8B,GACtC,YAAY,CAgDd;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,CAGzE;AAED,6CAA6C;AAC7C,eAAO,MAAM,UAAU,kBAAY,CAAC;AAqGpC;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,UAAU,GAAG,IAA6D,GAC9E,IAAI,CAoBN;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAQ7E;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIzD;AAED,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,CAKpF"}
@@ -197,7 +197,7 @@ export function useRssHeadLink(config) {
197
197
  const node = buildRssTagNode(config);
198
198
  return node ? serializeSeoTag(node) : "";
199
199
  }
200
- /** Full `<head>` HTML (meta + RSS). Accepts legacy {@link SeoMeta} or flat {@link SeoMetaInput}. */
200
+ /** Full `<head>` HTML (meta + RSS). Accepts legacy `SeoMeta` or flat {@link SeoMetaInput}. */
201
201
  export function useHeadTags(config, meta) {
202
202
  if (isLegacySeoMeta(meta)) {
203
203
  return useSeoTag(config, meta).html;
@@ -1 +1 @@
1
- {"version":3,"file":"seo.service.js","sourceRoot":"","sources":["../../src/config/seo.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seo.service.js","sourceRoot":"","sources":["../../src/config/seo.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "katanakit-js",
3
- "version": "6.2.0",
3
+ "version": "6.4.3",
4
4
  "description": "KatanaKit — a sharp, framework-agnostic TypeScript service toolkit organized with hexagonal architecture.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,6 +37,16 @@
37
37
  "import": "./dist/adapters/astro/index.js",
38
38
  "default": "./dist/adapters/astro/index.js"
39
39
  },
40
+ "./adapters/photoswipe": {
41
+ "types": "./dist/adapters/photoswipe/index.d.ts",
42
+ "import": "./dist/adapters/photoswipe/index.js",
43
+ "default": "./dist/adapters/photoswipe/index.js"
44
+ },
45
+ "./adapters/better-auth": {
46
+ "types": "./dist/adapters/better-auth/index.d.ts",
47
+ "import": "./dist/adapters/better-auth/index.js",
48
+ "default": "./dist/adapters/better-auth/index.js"
49
+ },
40
50
  "./adapters/assistant": {
41
51
  "types": "./dist/adapters/assistant/index.d.ts",
42
52
  "import": "./dist/adapters/assistant/index.js",
@@ -118,26 +128,39 @@
118
128
  "access": "public"
119
129
  },
120
130
  "scripts": {
121
- "dev": "tsx src/adapters/express/main.ts",
131
+ "prepare": "husky",
132
+ "predev": "bunx lint-staged",
133
+ "dev": "concurrently --names api,assistant,tg,wa \"bun run dev:api\" \"bun run assistant:dev\" \"bun run telegram:dev\" \"bun run whatsapp:dev\"",
134
+ "postdev": "bun run lint",
135
+ "dev:api": "tsx src/adapters/express/main.ts",
122
136
  "bun:dev": "bun run src/adapters/bun/main.ts",
123
- "dev:all": "concurrently --names api,assistant,tg,wa \"bun run dev\" \"bun run assistant:dev\" \"bun run telegram:dev\" \"bun run whatsapp:dev\"",
124
137
  "assistant:dev": "tsx src/adapters/assistant/main.ts",
125
138
  "telegram:dev": "tsx src/adapters/telegram/main.ts",
126
139
  "whatsapp:dev": "tsx src/adapters/whatsapp/main.ts",
127
140
  "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
141
+ "lint": "eslint ./src packages/ui/src",
142
+ "lint:fix": "eslint --fix ./src packages/ui/src",
143
+ "lint:staged": "lint-staged",
128
144
  "check": "eslint ./src packages/ui/src && tsc6 --noEmit && tsc6 -p packages/ui/tsconfig.json --noEmit && vitest run",
129
145
  "examples:check": "tsc6 -p tsconfig.examples.json && tsc6 -p tsconfig.examples.solid.json",
130
146
  "fix": "eslint --fix ./src packages/ui/src && tsc6 --noEmit && vitest run",
147
+ "prebuild": "bunx lint-staged",
131
148
  "build": "bun run clean && bun run check && tsc6 -p tsconfig.json && node scripts/generate-release-notes.mjs --sync-versions",
149
+ "postbuild": "bun run examples:check",
132
150
  "release": "bun run build && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" --write && npm publish --access public",
133
151
  "ui:build": "bun run --filter @katanakit/ui build",
134
152
  "docs:clean": "node scripts/docs.mjs clean",
135
153
  "docs:prepare": "node scripts/docs-prepare.mjs",
136
154
  "docs:dev": "node scripts/docs.mjs dev",
137
- "docs:build": "node scripts/docs.mjs build",
155
+ "predocs": "bunx lint-staged",
156
+ "docs": "node scripts/docs.mjs build",
157
+ "postdocs": "node -e \"require('node:fs').accessSync('docs/.vitepress/dist/index.html')\"",
138
158
  "docs:preview": "vitepress preview docs",
139
159
  "docs:gh": "node scripts/docs.mjs gh",
140
- "cf:deploy": "bun run build && bun run docs:build && wrangler pages deploy docs/.vitepress/dist --project-name katanakit-docs --branch main"
160
+ "cf:deploy": "bun run build && bun run docs && wrangler pages deploy docs/.vitepress/dist --project-name katanakit-docs --branch main"
161
+ },
162
+ "lint-staged": {
163
+ "**/*.{ts,tsx}": "eslint --fix --quiet"
141
164
  },
142
165
  "repository": {
143
166
  "type": "git",
@@ -189,7 +212,9 @@
189
212
  "react-dom": ">=18.0.0",
190
213
  "solid-js": ">=1.7.0",
191
214
  "svelte": ">=3.0.0",
192
- "vue": ">=3.0.0"
215
+ "vue": ">=3.0.0",
216
+ "photoswipe": ">=5.0.0",
217
+ "better-auth": ">=1.0.0"
193
218
  },
194
219
  "peerDependenciesMeta": {
195
220
  "@angular/core": {
@@ -224,6 +249,12 @@
224
249
  },
225
250
  "vue": {
226
251
  "optional": true
252
+ },
253
+ "photoswipe": {
254
+ "optional": true
255
+ },
256
+ "better-auth": {
257
+ "optional": true
227
258
  }
228
259
  },
229
260
  "devDependencies": {
@@ -231,12 +262,14 @@
231
262
  "@eslint/js": "^10.0.1",
232
263
  "@faker-js/faker": "^10.6.0",
233
264
  "@insforge/sdk": "^1.5.2",
265
+ "@tailwindcss/vite": "^4.3.3",
234
266
  "@testing-library/react": "^16.3.3",
235
267
  "@types/cors": "2.8.19",
236
268
  "@types/express": "5.0.6",
237
269
  "@types/node": "26.6.2",
238
270
  "@types/react": "^19.3.0",
239
271
  "@types/react-dom": "^19.3.0",
272
+ "better-auth": "^1.7.7",
240
273
  "bun-types": "^1.4.2",
241
274
  "concurrently": "^10.0.5",
242
275
  "cors": "2.8.6",
@@ -247,7 +280,10 @@
247
280
  "eslint-plugin-simple-import-sort": "^14.0.0",
248
281
  "express": "5.2.1",
249
282
  "globals": "^17.12.0",
283
+ "husky": "^9.1.7",
250
284
  "jsdom": "^30.1.0",
285
+ "lint-staged": "^17.6.0",
286
+ "photoswipe": "^5.4.4",
251
287
  "prettier": "^3.9.8",
252
288
  "prisma": "8.0.0-rc.13",
253
289
  "react": "^19.3.0",
@@ -255,6 +291,7 @@
255
291
  "rxjs": "^7.8.2",
256
292
  "solid-js": "^1.9.15",
257
293
  "svelte": "^5.57.1",
294
+ "tailwindcss": "^4.3.3",
258
295
  "tslib": "^2.8.1",
259
296
  "tsx": "4.23.15",
260
297
  "typedoc": "^0.28.20",