@yimingliao/cms 0.0.139 → 0.0.141

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.
@@ -3,6 +3,8 @@ export { ThemeProvider } from '../../src/client/infrastructure/contexts/theme.js
3
3
  export { createSmartFetch } from '../../src/client/infrastructure/fetch/smart-fetch.js';
4
4
  export { createRequestInterceptor } from '../../src/client/infrastructure/fetch/request-interceptor.js';
5
5
  export { createResponseInterceptor } from '../../src/client/infrastructure/fetch/response-interceptor.js';
6
+ export { createFileUploadApi } from '../../src/client/infrastructure/internal-api/file-upload-api.js';
7
+ export { createMultiFilesUploadApi } from '../../src/client/infrastructure/internal-api/multi-files-upload-api.js';
6
8
  export { createUseCommand } from '../../src/client/infrastructure/react-query/create-use-command.js';
7
9
  export { createUseQuery } from '../../src/client/infrastructure/react-query/create-use-query.js';
8
10
  export { handleToast } from '../../src/client/infrastructure/toast/handle-toast.js';
@@ -0,0 +1,25 @@
1
+ function createFileUploadApi(smartFetch) {
2
+ return async function fileUploadApi(params) {
3
+ const { blobFile, folder, folderKey } = params;
4
+ const formData = new FormData();
5
+ if (blobFile instanceof Blob) {
6
+ formData.append("blobFile", blobFile);
7
+ }
8
+ if (folder) {
9
+ formData.append("folder", JSON.stringify(folder));
10
+ }
11
+ if (folderKey) {
12
+ formData.append("folderKey", folderKey);
13
+ }
14
+ const response = await smartFetch(
15
+ "/cms/file-upload",
16
+ {
17
+ method: "POST",
18
+ body: formData
19
+ }
20
+ );
21
+ return response;
22
+ };
23
+ }
24
+
25
+ export { createFileUploadApi };
@@ -0,0 +1,34 @@
1
+ function createMultiFilesUploadApi(smartFetch) {
2
+ return async function multiFilesUploadApi(params) {
3
+ const { blobFiles, folder } = params;
4
+ const formData = new FormData();
5
+ if (blobFiles) {
6
+ blobFiles.forEach((blobFile) => {
7
+ formData.append("blobFiles", blobFile);
8
+ });
9
+ formData.append(
10
+ "blobFileInfos",
11
+ JSON.stringify(
12
+ blobFiles.map((b) => ({
13
+ width: b.width,
14
+ height: b.height,
15
+ duration: b.duration
16
+ }))
17
+ )
18
+ );
19
+ }
20
+ if (folder) {
21
+ formData.append("folder", JSON.stringify(folder));
22
+ }
23
+ const response = await smartFetch(
24
+ "/cms/multi-files-upload",
25
+ {
26
+ method: "POST",
27
+ body: formData
28
+ }
29
+ );
30
+ return response;
31
+ };
32
+ }
33
+
34
+ export { createMultiFilesUploadApi };
@@ -29,9 +29,6 @@ function createSmartImage(storageUrl) {
29
29
  const resolvedSizes = typeof sizes === "string" ? sizes : sizes ? `(max-width: ${BREAKPOINT}px) ${sizes.mobile ?? sizes.desktop}, ${sizes.desktop}` : void 0;
30
30
  const resolvedPlaceholder = placeholder ?? (typeof src === "object" ? "blur" : void 0);
31
31
  const resolvedSrc = src ?? (fileKey ? joinUrl(storageUrl, fileKey) : void 0);
32
- if (!resolvedSrc) {
33
- throw new Error("SmartImage requires src or fileKey");
34
- }
35
32
  return /* @__PURE__ */ jsx(
36
33
  "div",
37
34
  {
@@ -46,7 +43,7 @@ function createSmartImage(storageUrl) {
46
43
  fill: !isFixedSize && fill,
47
44
  ...isFixedSize && { width, height },
48
45
  ...resolvedPlaceholder && { placeholder: resolvedPlaceholder },
49
- src: resolvedSrc,
46
+ src: resolvedSrc ?? "",
50
47
  alt,
51
48
  className: cn("size-full object-cover", imageClassName),
52
49
  ...props
@@ -1,2 +1,2 @@
1
- export { createSmartFetch, createRequestInterceptor, createResponseInterceptor, handleToast, type ShowToastOption, createUseCommand, createUseQuery, AdminProvider, useAdmin, ThemeProvider, createAdminInitializer, PageHeader, ListCardsContainer, Button, type ButtonProps, ReturnButton, ActionButtonsCard, ResourceCard, ArrayList, Badge, HtmlDisplay, ObjectArrayList, Accordion, AccordionContainer, ExpandableList, createFileInfo, createFilePicker, createFilePreview, createFilePreviewList, createUploader, ExternalLink, PickModal, createSmartImage, Tick, Form, Field, FieldBody, FieldsContainer, MainFields, SideFields, IndexField, SlugField, ControlFields, type ControlMeta, ArrayInput, Checkbox, Input, type InputProps, PasswordInput, SearchInput, Select, Option, Textarea, ContentContainer, DashboardSkeleton, AuthSkeleton, type NavItem, NavMain, SidebarProvider, Sidebar, SidebarInset, SidebarContent, useSidebar, createNavbar, createI18nSelector, createSignOutButton, createSignInPage, createVerifyEmailPage, createEmailUnverifiedPage, createForgotPasswordPage, createResetPasswordPage, createChangePasswordPage, createAuthLayout, createDashboardLayout, NAVBAR_HEIGHT, SIDEBAR_WIDTH, PAGE_HEADER_HEIGHT, cn, useDeviceInfo, getControlMeta, usePickItems, isConfirm, } from "../../src/client";
1
+ export { AdminProvider, useAdmin, ThemeProvider, createSmartFetch, createRequestInterceptor, createResponseInterceptor, createFileUploadApi, createMultiFilesUploadApi, createUseCommand, createUseQuery, handleToast, type ShowToastOption, createAdminInitializer, PageHeader, ListCardsContainer, Button, type ButtonProps, ReturnButton, ActionButtonsCard, ResourceCard, ArrayList, Badge, HtmlDisplay, ObjectArrayList, Accordion, AccordionContainer, ExpandableList, createFileInfo, createFilePicker, createFilePreview, createFilePreviewList, createUploader, ExternalLink, PickModal, createSmartImage, Tick, Form, Field, FieldBody, FieldsContainer, MainFields, SideFields, IndexField, SlugField, ControlFields, type ControlMeta, ArrayInput, Checkbox, Input, type InputProps, PasswordInput, SearchInput, Select, Option, Textarea, ContentContainer, DashboardSkeleton, AuthSkeleton, type NavItem, NavMain, SidebarProvider, Sidebar, SidebarInset, SidebarContent, useSidebar, createNavbar, createI18nSelector, createSignOutButton, createSignInPage, createVerifyEmailPage, createEmailUnverifiedPage, createForgotPasswordPage, createResetPasswordPage, createChangePasswordPage, createAuthLayout, createDashboardLayout, NAVBAR_HEIGHT, SIDEBAR_WIDTH, PAGE_HEADER_HEIGHT, cn, useDeviceInfo, getControlMeta, usePickItems, isConfirm, } from "../../src/client";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../export/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAGzB,WAAW,EACX,KAAK,eAAe,EAGpB,gBAAgB,EAChB,cAAc,EAGd,aAAa,EACb,QAAQ,EACR,aAAa,EAMb,sBAAsB,EAEtB,UAAU,EACV,kBAAkB,EAElB,MAAM,EACN,KAAK,WAAW,EAChB,YAAY,EAEZ,iBAAiB,EACjB,YAAY,EAEZ,SAAS,EACT,KAAK,EACL,WAAW,EACX,eAAe,EAEf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,IAAI,EAEJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,WAAW,EAEhB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,KAAK,UAAU,EACf,aAAa,EACb,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EAER,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,KAAK,OAAO,EACZ,OAAO,EACP,eAAe,EACf,OAAO,EACP,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAEnB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EAErB,aAAa,EACb,aAAa,EACb,kBAAkB,EAKlB,EAAE,EACF,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../export/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EACb,QAAQ,EACR,aAAa,EAEb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,yBAAyB,EAEzB,gBAAgB,EAChB,cAAc,EAEd,WAAW,EACX,KAAK,eAAe,EAMpB,sBAAsB,EAEtB,UAAU,EACV,kBAAkB,EAElB,MAAM,EACN,KAAK,WAAW,EAChB,YAAY,EAEZ,iBAAiB,EACjB,YAAY,EAEZ,SAAS,EACT,KAAK,EACL,WAAW,EACX,eAAe,EAEf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,IAAI,EAEJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,WAAW,EAEhB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,KAAK,UAAU,EACf,aAAa,EACb,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EAER,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,KAAK,OAAO,EACZ,OAAO,EACP,eAAe,EACf,OAAO,EACP,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAEnB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EAErB,aAAa,EACb,aAAa,EACb,kBAAkB,EAKlB,EAAE,EACF,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { createSmartFetch, createRequestInterceptor, createResponseInterceptor, handleToast, type ShowToastOption, createUseCommand, createUseQuery, AdminProvider, useAdmin, ThemeProvider, } from "./infrastructure";
1
+ export { AdminProvider, useAdmin, ThemeProvider, createSmartFetch, createRequestInterceptor, createResponseInterceptor, createFileUploadApi, createMultiFilesUploadApi, createUseCommand, createUseQuery, handleToast, type ShowToastOption, } from "./infrastructure";
2
2
  export { createAdminInitializer, PageHeader, ListCardsContainer, Button, type ButtonProps, ReturnButton, ActionButtonsCard, ResourceCard, ArrayList, Badge, HtmlDisplay, ObjectArrayList, Accordion, AccordionContainer, ExpandableList, createFileInfo, createFilePicker, createFilePreview, createFilePreviewList, createUploader, ExternalLink, PickModal, createSmartImage, Tick, Form, Field, FieldBody, FieldsContainer, MainFields, SideFields, IndexField, SlugField, ControlFields, type ControlMeta, ArrayInput, Checkbox, Input, type InputProps, PasswordInput, SearchInput, Select, Option, Textarea, ContentContainer, DashboardSkeleton, AuthSkeleton, type NavItem, NavMain, SidebarProvider, Sidebar, SidebarInset, SidebarContent, useSidebar, createNavbar, createI18nSelector, createSignOutButton, createSignInPage, createVerifyEmailPage, createEmailUnverifiedPage, createForgotPasswordPage, createResetPasswordPage, createChangePasswordPage, createAuthLayout, createDashboardLayout, NAVBAR_HEIGHT, SIDEBAR_WIDTH, PAGE_HEADER_HEIGHT, } from "./interfaces";
3
3
  export { cn, useDeviceInfo, getControlMeta, usePickItems, isConfirm, } from "./applications";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAGzB,WAAW,EACX,KAAK,eAAe,EAGpB,gBAAgB,EAChB,cAAc,EAGd,aAAa,EACb,QAAQ,EACR,aAAa,GACd,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,sBAAsB,EAEtB,UAAU,EACV,kBAAkB,EAElB,MAAM,EACN,KAAK,WAAW,EAChB,YAAY,EAEZ,iBAAiB,EACjB,YAAY,EAEZ,SAAS,EACT,KAAK,EACL,WAAW,EACX,eAAe,EAEf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,IAAI,EAEJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,WAAW,EAEhB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,KAAK,UAAU,EACf,aAAa,EACb,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EAER,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,KAAK,OAAO,EACZ,OAAO,EACP,eAAe,EACf,OAAO,EACP,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAGnB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EAGrB,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,EAAE,EACF,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,QAAQ,EACR,aAAa,EAEb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,yBAAyB,EAEzB,gBAAgB,EAChB,cAAc,EAEd,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,sBAAsB,EAEtB,UAAU,EACV,kBAAkB,EAElB,MAAM,EACN,KAAK,WAAW,EAChB,YAAY,EAEZ,iBAAiB,EACjB,YAAY,EAEZ,SAAS,EACT,KAAK,EACL,WAAW,EACX,eAAe,EAEf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,IAAI,EAEJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,WAAW,EAEhB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,KAAK,UAAU,EACf,aAAa,EACb,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EAER,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,KAAK,OAAO,EACZ,OAAO,EACP,eAAe,EACf,OAAO,EACP,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAGnB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EAGrB,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,EAAE,EACF,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"smart-image.d.ts","sourceRoot":"","sources":["../../../../../../../../src/client/interfaces/components/ui/features/smart-image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK7C,UAAU,eAAgB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,IACtB,qGAexB,eAAe,6CA2CnB"}
1
+ {"version":3,"file":"smart-image.d.ts","sourceRoot":"","sources":["../../../../../../../../src/client/interfaces/components/ui/features/smart-image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK7C,UAAU,eAAgB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,IACtB,qGAexB,eAAe,6CAuCnB"}
@@ -1,5 +1,5 @@
1
1
  export interface Alternate {
2
2
  hreflang: string;
3
- href: string | null;
3
+ href: string;
4
4
  }
5
5
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/seo-metadata/props.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/seo-metadata/props.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yimingliao/cms",
3
- "version": "0.0.139",
3
+ "version": "0.0.141",
4
4
  "author": "Yiming Liao",
5
5
  "license": "MIT",
6
6
  "type": "module",