@yimingliao/cms 0.0.107 → 0.0.108

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.
@@ -7,7 +7,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
  import { ThemeProvider as ThemeProvider$1 } from 'next-themes';
8
8
  import * as React$1 from 'react';
9
9
  import { HTMLAttributes, ReactNode, ComponentProps, InputHTMLAttributes, Dispatch, SetStateAction } from 'react';
10
- import { c as createVerifyAction, a as createSignInAction, b as createVerifyEmailAction, d as createEmailUnverifiedAction, e as createForgotPasswordAction, f as createResetPasswordAction, g as createChangePasswordAction } from '../create-reset-password-action-D6aTuuqO.js';
10
+ import { c as createVerifyAction, a as createSignOutAction, b as createSignInAction, d as createVerifyEmailAction, e as createEmailUnverifiedAction, f as createForgotPasswordAction, g as createResetPasswordAction, h as createChangePasswordAction } from '../create-reset-password-action-C-B3uh5m.js';
11
11
  import { LucideIcon } from 'lucide-react';
12
12
  import { S as Sidebar, B as ButtonProps$1, L as LabelProps } from '../sidebar-Dei7UxR1.js';
13
13
  import { U as UIStates, F as FormData, a as FormFieldController } from '../types-BUmWwzpD.js';
@@ -360,14 +360,24 @@ declare function NavMain({ items }: {
360
360
 
361
361
  declare function SidebarSkeleton({ ...props }: React$1.ComponentProps<typeof Sidebar>): react_jsx_runtime.JSX.Element;
362
362
 
363
- declare function createNavbar({ webUrl, storageUrl, I18nSelector, ThemeSelector, SignOutButton, }: {
363
+ declare function createNavbar({ webUrl, storageUrl, I18nSelector, SignOutButton, }: {
364
364
  webUrl: string;
365
365
  storageUrl: string;
366
366
  I18nSelector: ReactNode;
367
- ThemeSelector: ReactNode;
368
367
  SignOutButton: ReactNode;
369
368
  }): () => react_jsx_runtime.JSX.Element;
370
369
 
370
+ declare function createI18nSelector({ enabled, locales, localeDisplay, }: {
371
+ enabled: boolean;
372
+ locales: string[];
373
+ localeDisplay: Record<string, string>;
374
+ }): () => react_jsx_runtime.JSX.Element | null;
375
+
376
+ declare function createSignOutButton(): ({ useCommand, signOutAction, }: {
377
+ useCommand: ReturnType<typeof createUseCommand>;
378
+ signOutAction: ReturnType<typeof createSignOutAction>;
379
+ }) => react_jsx_runtime.JSX.Element;
380
+
371
381
  interface PageHeaderTitleProps {
372
382
  icon?: LucideIcon;
373
383
  title?: ReactNode;
@@ -578,4 +588,4 @@ declare const cn: (...inputs: ClassValue[]) => string;
578
588
 
579
589
  declare function useDeviceInfo(): DeviceInfo | null;
580
590
 
581
- export { AdminProvider, ArrayInput, Button, type ButtonProps, Checkbox, ContentContainer, ContentSkeleton, ControlFields, type ControlMeta, Field, FieldBody, FieldsContainer, Form, IndexField, Input, type InputProps, MainFields, type NavItem, NavMain, PageHeader, PasswordInput, ReturnButton, SearchInput, type ShowToastOption, SideFields, SidebarSkeleton, SlugField, Textarea, ThemeProvider, cn, createAdminInitializer, createChangePasswordPage, createEmailUnverifiedPage, createForgotPasswordPage, createNavbar, createRequestInterceptor, createResetPasswordPage, createResponseInterceptor, createSignInPage, createSmartFetch, createUseCommand, createUseQuery, createVerifyEmailPage, handleToast, useAdmin, useDeviceInfo };
591
+ export { AdminProvider, ArrayInput, Button, type ButtonProps, Checkbox, ContentContainer, ContentSkeleton, ControlFields, type ControlMeta, Field, FieldBody, FieldsContainer, Form, IndexField, Input, type InputProps, MainFields, type NavItem, NavMain, PageHeader, PasswordInput, ReturnButton, SearchInput, type ShowToastOption, SideFields, SidebarSkeleton, SlugField, Textarea, ThemeProvider, cn, createAdminInitializer, createChangePasswordPage, createEmailUnverifiedPage, createForgotPasswordPage, createI18nSelector, createNavbar, createRequestInterceptor, createResetPasswordPage, createResponseInterceptor, createSignInPage, createSignOutButton, createSmartFetch, createUseCommand, createUseQuery, createVerifyEmailPage, handleToast, useAdmin, useDeviceInfo };
@@ -1,15 +1,16 @@
1
- import { cn, useSidebar, SidebarMenuSkeleton, SidebarInset, SIDEBAR_WIDTH, Skeleton, SidebarGroup, SidebarMenu, Collapsible, SidebarMenuItem, SidebarMenuButton, Separator, CollapsibleTrigger, SidebarMenuAction, CollapsibleContent, SidebarMenuSub, SidebarMenuSubItem, SidebarMenuSubButton, Sidebar, Button, Spinner, useParentPathname, PAGE_HEADER_HEIGHT, Label, FORM_MIDDLE_GAP_WIDTH, FORM_SIDE_FIELDS_WIDTH, InputGroup, InputGroupAddon, InputGroupInput, InputGroupButton, Textarea, Card, useDeviceInfo, CardHeader, CardTitle, CardContent, useCountdown, CardDescription, NAVBAR_HEIGHT, isConfirm, DropdownMenu, DropdownMenuTrigger, Avatar, AvatarImage, AvatarFallback, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuGroup, DropdownMenuItem } from '../chunk-Q654SMCX.js';
1
+ import { cn, useSidebar, SidebarMenuSkeleton, SidebarInset, SIDEBAR_WIDTH, Skeleton, SidebarGroup, SidebarMenu, Collapsible, SidebarMenuItem, SidebarMenuButton, Separator, CollapsibleTrigger, SidebarMenuAction, CollapsibleContent, SidebarMenuSub, SidebarMenuSubItem, SidebarMenuSubButton, Sidebar, Button, Spinner, useParentPathname, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, PAGE_HEADER_HEIGHT, Label, FORM_MIDDLE_GAP_WIDTH, FORM_SIDE_FIELDS_WIDTH, InputGroup, InputGroupAddon, InputGroupInput, InputGroupButton, Textarea, Card, useDeviceInfo, CardHeader, CardTitle, CardContent, useCountdown, CardDescription, NAVBAR_HEIGHT, isConfirm, Avatar, AvatarImage, AvatarFallback, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuGroup } from '../chunk-Q654SMCX.js';
2
2
  export { cn, useDeviceInfo } from '../chunk-Q654SMCX.js';
3
3
  import { ensureArray, findTranslation, joinUrl } from '../chunk-VSV6SQWC.js';
4
4
  import { toast } from 'sonner';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
  import { useMutation, useQuery } from '@tanstack/react-query';
7
7
  import { createContext, useState, useContext, useEffect, createElement, useRef } from 'react';
8
- import { ThemeProvider as ThemeProvider$1 } from 'next-themes';
8
+ import { ThemeProvider as ThemeProvider$1, useTheme } from 'next-themes';
9
9
  import { useTranslator } from 'intor/react';
10
- import { ChevronRight, Undo2, SidebarIcon, House, SquareArrowOutUpRight, Files, Asterisk, Eye, EyeOff, CircleX, CirclePlus, Search, Mail, UserCircle, ChevronsUpDown, PenLine, Trash2, CopyCheck, CopyX, FileSymlink, FileX, FilePlus, FilePen, File, FileStack, FolderSearch, Lock, FolderCog, FileSpreadsheet, Archive, Binary, MapPinCheckInside, Star, CircleMinus } from 'lucide-react';
10
+ import { ChevronRight, Undo2, SidebarIcon, House, SquareArrowOutUpRight, Languages, LogOut, Files, Asterisk, Eye, EyeOff, CircleX, CirclePlus, Search, Mail, Sun, Moon, TvMinimal, UserCircle, ChevronsUpDown, PenLine, Trash2, CopyCheck, CopyX, FileSymlink, FileX, FilePlus, FilePen, File, FileStack, FolderSearch, Lock, FolderCog, FileSpreadsheet, Archive, Binary, MapPinCheckInside, Star, CircleMinus } from 'lucide-react';
11
11
  import Link from 'next/link';
12
12
  import { usePathname, useRouter, useSearchParams } from 'next/navigation';
13
+ import { Link as Link$1 } from 'intor/next';
13
14
 
14
15
  // src/client/infrastructure/fetch/smart-fetch.ts
15
16
  function createSmartFetch({
@@ -610,11 +611,35 @@ function NavUser({
610
611
  )
611
612
  ] }) }) });
612
613
  }
614
+ function ThemeSelector() {
615
+ const { setTheme } = useTheme();
616
+ const { t } = useTranslator();
617
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
618
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button2, { variant: "outline", size: "icon", children: [
619
+ /* @__PURE__ */ jsx(Sun, { className: "h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }),
620
+ /* @__PURE__ */ jsx(Moon, { className: "absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" }),
621
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Select theme" })
622
+ ] }) }),
623
+ /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", children: [
624
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => setTheme("light"), children: [
625
+ /* @__PURE__ */ jsx(Sun, {}),
626
+ t("ui.layout.navbar.theme.light.text")
627
+ ] }),
628
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => setTheme("dark"), children: [
629
+ /* @__PURE__ */ jsx(Moon, {}),
630
+ t("ui.layout.navbar.theme.dark.text")
631
+ ] }),
632
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => setTheme("system"), children: [
633
+ /* @__PURE__ */ jsx(TvMinimal, {}),
634
+ t("ui.layout.navbar.theme.system.text")
635
+ ] })
636
+ ] })
637
+ ] });
638
+ }
613
639
  function createNavbar({
614
640
  webUrl,
615
641
  storageUrl,
616
642
  I18nSelector,
617
- ThemeSelector,
618
643
  SignOutButton
619
644
  }) {
620
645
  return function Navbar() {
@@ -640,7 +665,7 @@ function createNavbar({
640
665
  ] }) }),
641
666
  /* @__PURE__ */ jsx("div", { className: "ml-auto" }),
642
667
  I18nSelector,
643
- ThemeSelector,
668
+ /* @__PURE__ */ jsx(ThemeSelector, {}),
644
669
  /* @__PURE__ */ jsx(
645
670
  NavUser,
646
671
  {
@@ -653,6 +678,47 @@ function createNavbar({
653
678
  ] }) });
654
679
  };
655
680
  }
681
+ function createI18nSelector({
682
+ enabled,
683
+ locales,
684
+ localeDisplay
685
+ }) {
686
+ return function I18nSelector() {
687
+ if (!enabled) return null;
688
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
689
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button2, { variant: "outline", size: "icon", children: [
690
+ /* @__PURE__ */ jsx(Languages, {}),
691
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Switch Languages" })
692
+ ] }) }),
693
+ /* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", children: locales.map((locale) => /* @__PURE__ */ jsx(Link$1, { locale, children: /* @__PURE__ */ jsx(DropdownMenuItem, { children: localeDisplay[locale] }) }, locale)) })
694
+ ] });
695
+ };
696
+ }
697
+ function createSignOutButton() {
698
+ return function SignOutButton({
699
+ useCommand,
700
+ signOutAction
701
+ }) {
702
+ const { t } = useTranslator();
703
+ const router = useRouter();
704
+ const { setAdmin } = useAdmin();
705
+ const { execute, isRedirecting } = useCommand(signOutAction, {
706
+ onSuccess: () => {
707
+ setAdmin(null);
708
+ router.push(PATHS.auth.signIn.path);
709
+ }
710
+ });
711
+ const handleSignOut = () => {
712
+ if (!isConfirm(t)) return;
713
+ void execute();
714
+ };
715
+ const buttonText = isRedirecting ? /* @__PURE__ */ jsx(Spinner, {}) : t("auth.sign-out.text");
716
+ return /* @__PURE__ */ jsx("button", { onClick: handleSignOut, className: "w-full", children: /* @__PURE__ */ jsxs(DropdownMenuItem, { variant: "destructive", children: [
717
+ /* @__PURE__ */ jsx(LogOut, {}),
718
+ buttonText
719
+ ] }) });
720
+ };
721
+ }
656
722
  function PageHeaderTitle({
657
723
  icon,
658
724
  title,
@@ -2260,4 +2326,4 @@ function createChangePasswordPage({
2260
2326
  };
2261
2327
  }
2262
2328
 
2263
- export { AdminProvider, ArrayInput, Button2 as Button, Checkbox, ContentContainer, ContentSkeleton, ControlFields, Field, FieldBody, FieldsContainer, Form, IndexField, Input, MainFields, NavMain, PageHeader, PasswordInput, ReturnButton, SearchInput, SideFields, SidebarSkeleton, SlugField, Textarea2 as Textarea, ThemeProvider, createAdminInitializer, createChangePasswordPage, createEmailUnverifiedPage, createForgotPasswordPage, createNavbar, createRequestInterceptor, createResetPasswordPage, createResponseInterceptor, createSignInPage, createSmartFetch, createUseCommand, createUseQuery, createVerifyEmailPage, handleToast, useAdmin };
2329
+ export { AdminProvider, ArrayInput, Button2 as Button, Checkbox, ContentContainer, ContentSkeleton, ControlFields, Field, FieldBody, FieldsContainer, Form, IndexField, Input, MainFields, NavMain, PageHeader, PasswordInput, ReturnButton, SearchInput, SideFields, SidebarSkeleton, SlugField, Textarea2 as Textarea, ThemeProvider, createAdminInitializer, createChangePasswordPage, createEmailUnverifiedPage, createForgotPasswordPage, createI18nSelector, createNavbar, createRequestInterceptor, createResetPasswordPage, createResponseInterceptor, createSignInPage, createSignOutButton, createSmartFetch, createUseCommand, createUseQuery, createVerifyEmailPage, handleToast, useAdmin };
@@ -869,6 +869,8 @@ declare function createSignInAction(ctx: ActionContext): ({ formData, deviceInfo
869
869
  admin: AdminFull;
870
870
  }>>;
871
871
 
872
+ declare function createSignOutAction(ctx: ActionContext): () => Promise<Result<void>>;
873
+
872
874
  declare function createVerifyAction(ctx: ActionContext): () => Promise<Result<{
873
875
  admin: AdminFull;
874
876
  }>>;
@@ -925,4 +927,4 @@ declare function createResetPasswordAction(ctx: ActionContext): ({ formData, }:
925
927
  formData: ResetPasswordFormData;
926
928
  }) => Promise<Result<void>>;
927
929
 
928
- export { type ActionContext as A, createFolderQueryRepository as B, createForgotPasswordEmail as C, createIpRateLimiter as D, createJwtService as E, createPostCommandRepository as F, createPostQueryRepository as G, createRenderEmailTemplate as H, createSendEmail as I, createSeoMetadataCommandRepository as J, createUnique as K, createVerifyAccessToken as L, createVerifyRefreshToken as M, normalizeCacheKey as N, type RawCacheKey as R, createSignInAction as a, createVerifyEmailAction as b, createVerifyAction as c, createEmailUnverifiedAction as d, createForgotPasswordAction as e, createResetPasswordAction as f, createChangePasswordAction as g, createZod as h, createSchemas as i, createTocItemSchema as j, createAdminCommandRepository as k, createAdminQueryRepository as l, createAdminRefreshTokenCommandRepository as m, createAdminRefreshTokenQueryRepository as n, createArgon2Service as o, createAuthMiddleware as p, createAuthUseCases as q, createCacheResult as r, createCookieService as s, createCryptoService as t, createEmailVerificationEmail as u, createExecuteAction as v, createExist as w, createFileCommandRepository as x, createFileQueryRepository as y, createFolderCommandRepository as z };
930
+ export { type ActionContext as A, createFolderCommandRepository as B, createFolderQueryRepository as C, createForgotPasswordEmail as D, createIpRateLimiter as E, createJwtService as F, createPostCommandRepository as G, createPostQueryRepository as H, createRenderEmailTemplate as I, createSendEmail as J, createSeoMetadataCommandRepository as K, createUnique as L, createVerifyAccessToken as M, createVerifyRefreshToken as N, normalizeCacheKey as O, type RawCacheKey as R, createSignOutAction as a, createSignInAction as b, createVerifyAction as c, createVerifyEmailAction as d, createEmailUnverifiedAction as e, createForgotPasswordAction as f, createResetPasswordAction as g, createChangePasswordAction as h, createZod as i, createSchemas as j, createTocItemSchema as k, createAdminCommandRepository as l, createAdminQueryRepository as m, createAdminRefreshTokenCommandRepository as n, createAdminRefreshTokenQueryRepository as o, createArgon2Service as p, createAuthMiddleware as q, createAuthUseCases as r, createCacheResult as s, createCookieService as t, createCryptoService as u, createEmailVerificationEmail as v, createExecuteAction as w, createExist as x, createFileCommandRepository as y, createFileQueryRepository as z };
@@ -1,5 +1,5 @@
1
- import { h as createZod, A as ActionContext, i as createSchemas, j as createTocItemSchema } from '../create-reset-password-action-D6aTuuqO.js';
2
- export { R as RawCacheKey, k as createAdminCommandRepository, l as createAdminQueryRepository, m as createAdminRefreshTokenCommandRepository, n as createAdminRefreshTokenQueryRepository, o as createArgon2Service, p as createAuthMiddleware, q as createAuthUseCases, r as createCacheResult, g as createChangePasswordAction, s as createCookieService, t as createCryptoService, d as createEmailUnverifiedAction, u as createEmailVerificationEmail, v as createExecuteAction, w as createExist, x as createFileCommandRepository, y as createFileQueryRepository, z as createFolderCommandRepository, B as createFolderQueryRepository, e as createForgotPasswordAction, C as createForgotPasswordEmail, D as createIpRateLimiter, E as createJwtService, F as createPostCommandRepository, G as createPostQueryRepository, H as createRenderEmailTemplate, f as createResetPasswordAction, I as createSendEmail, J as createSeoMetadataCommandRepository, a as createSignInAction, K as createUnique, L as createVerifyAccessToken, c as createVerifyAction, b as createVerifyEmailAction, M as createVerifyRefreshToken, N as normalizeCacheKey } from '../create-reset-password-action-D6aTuuqO.js';
1
+ import { i as createZod, j as createSchemas, A as ActionContext, k as createTocItemSchema } from '../create-reset-password-action-C-B3uh5m.js';
2
+ export { R as RawCacheKey, l as createAdminCommandRepository, m as createAdminQueryRepository, n as createAdminRefreshTokenCommandRepository, o as createAdminRefreshTokenQueryRepository, p as createArgon2Service, q as createAuthMiddleware, r as createAuthUseCases, s as createCacheResult, h as createChangePasswordAction, t as createCookieService, u as createCryptoService, e as createEmailUnverifiedAction, v as createEmailVerificationEmail, w as createExecuteAction, x as createExist, y as createFileCommandRepository, z as createFileQueryRepository, B as createFolderCommandRepository, C as createFolderQueryRepository, f as createForgotPasswordAction, D as createForgotPasswordEmail, E as createIpRateLimiter, F as createJwtService, G as createPostCommandRepository, H as createPostQueryRepository, I as createRenderEmailTemplate, g as createResetPasswordAction, J as createSendEmail, K as createSeoMetadataCommandRepository, b as createSignInAction, a as createSignOutAction, L as createUnique, M as createVerifyAccessToken, c as createVerifyAction, d as createVerifyEmailAction, N as createVerifyRefreshToken, O as normalizeCacheKey } from '../create-reset-password-action-C-B3uh5m.js';
3
3
  import Keyv from 'keyv';
4
4
  import * as zod from 'zod';
5
5
  import zod__default from 'zod';
@@ -80,8 +80,6 @@ interface CreateExecuteApiParams {
80
80
  }
81
81
  declare function createExecuteApi({ initI18n, logger }: CreateExecuteApiParams): (fn: Api) => Promise<NextResponse<unknown>>;
82
82
 
83
- declare function createSignOutAction(ctx: ActionContext): () => Promise<Result<void>>;
84
-
85
83
  declare const adminCreateValidator: (schemas: ReturnType<typeof createSchemas>) => zod.ZodObject<{
86
84
  role: zod.ZodEnum<{
87
85
  SUPER_ADMIN: "SUPER_ADMIN";
@@ -1543,4 +1541,4 @@ declare class ServerError extends Error {
1543
1541
  static internalServerError(): ServerError;
1544
1542
  }
1545
1543
 
1546
- export { ADMIN_ORDER_BY, ActionContext, type AdminCreateFormData, type AdminUpdateFormData, type FileCreateFormData, type FileCreateManyFormData, type FileUpdateFormData, type FolderCreateFormData, type FolderUpdateFormData, ORDER_BY, POST_ORDER_BY, type PostCreateFormData, type PostUpdateFormData, type SeoMetadataUpsertFormData, ServerError, createAdminCreateAction, createAdminDeleteAction, createAdminFindFullAction, createAdminFindListCardsAction, createAdminRefreshTokenDeleteAction, createAdminRefreshTokenFindManyAction, createAdminUpdateAction, createCache, createExecuteApi, createFileCreateAction, createFileCreateManyAction, createFileFindFullAction, createFileFindListCardsAction, createFilePurgeManyAction, createFileRestoreManyAction, createFileSchema, createFileSoftDeleteAction, createFileSoftDeleteManyAction, createFileUpdateAction, createFolderCreateAction, createFolderDeleteAction, createFolderFindFullAction, createFolderFindListCardsAction, createFolderUpdateAction, createMultiFileSchema, createPostCreateAction, createPostDeleteAction, createPostFindAction, createPostFindFullAction, createPostFindListCardsAction, createPostFindManyAction, createPostUpdateAction, createSchemas, createSeoMetadataUpsertAction, createSignOutAction, createTocItemSchema, createTransporter, createZod };
1544
+ export { ADMIN_ORDER_BY, ActionContext, type AdminCreateFormData, type AdminUpdateFormData, type FileCreateFormData, type FileCreateManyFormData, type FileUpdateFormData, type FolderCreateFormData, type FolderUpdateFormData, ORDER_BY, POST_ORDER_BY, type PostCreateFormData, type PostUpdateFormData, type SeoMetadataUpsertFormData, ServerError, createAdminCreateAction, createAdminDeleteAction, createAdminFindFullAction, createAdminFindListCardsAction, createAdminRefreshTokenDeleteAction, createAdminRefreshTokenFindManyAction, createAdminUpdateAction, createCache, createExecuteApi, createFileCreateAction, createFileCreateManyAction, createFileFindFullAction, createFileFindListCardsAction, createFilePurgeManyAction, createFileRestoreManyAction, createFileSchema, createFileSoftDeleteAction, createFileSoftDeleteManyAction, createFileUpdateAction, createFolderCreateAction, createFolderDeleteAction, createFolderFindFullAction, createFolderFindListCardsAction, createFolderUpdateAction, createMultiFileSchema, createPostCreateAction, createPostDeleteAction, createPostFindAction, createPostFindFullAction, createPostFindListCardsAction, createPostFindManyAction, createPostUpdateAction, createSchemas, createSeoMetadataUpsertAction, createTocItemSchema, createTransporter, createZod };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yimingliao/cms",
3
- "version": "0.0.107",
3
+ "version": "0.0.108",
4
4
  "author": "Yiming Liao",
5
5
  "license": "MIT",
6
6
  "type": "module",