mainstack-design-system 1.16.1 → 1.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -4312,6 +4312,7 @@ declare type FileUploaderContextType = {
4312
4312
  onError?: (error: unknown) => void;
4313
4313
  error: string | null;
4314
4314
  setError: (error: string | null) => void;
4315
+ isError?: boolean;
4315
4316
  } & Pick<DropzoneOptions, "accept" | "maxFiles" | "minSize" | "maxSize">;
4316
4317
 
4317
4318
  export declare const FileUploaderDropzone: {
@@ -4356,7 +4357,7 @@ export declare type FileUploaderFileType = {
4356
4357
 
4357
4358
  export declare const FileUploaderGroup: {
4358
4359
  Root: {
4359
- ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, multiple, onError: externalOnError, children, className, ...props }: FileUploaderRootProps): JSX.Element;
4360
+ ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, multiple, onError: externalOnError, children, className, isError, ...props }: FileUploaderRootProps): JSX.Element;
4360
4361
  displayName: string;
4361
4362
  };
4362
4363
  DropZone: {
@@ -4417,7 +4418,7 @@ export declare interface FileUploaderPreviewProps extends Omit<ComponentPropsWit
4417
4418
  }
4418
4419
 
4419
4420
  export declare const FileUploaderRoot: {
4420
- ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, multiple, onError: externalOnError, children, className, ...props }: FileUploaderRootProps): JSX.Element;
4421
+ ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, multiple, onError: externalOnError, children, className, isError, ...props }: FileUploaderRootProps): JSX.Element;
4421
4422
  displayName: string;
4422
4423
  };
4423
4424
 
@@ -4646,6 +4647,7 @@ declare type ImageUploaderContextType = {
4646
4647
  setMainPreviewFile: Dispatch<SetStateAction<ImageUploaderFileType | null>>;
4647
4648
  onValuesChange: (values: Array<ImageUploaderFileType>) => void;
4648
4649
  onError?: (error: unknown) => void;
4650
+ isError?: boolean;
4649
4651
  } & Pick<DropzoneOptions, "accept" | "maxFiles" | "minSize" | "maxSize">;
4650
4652
 
4651
4653
  export declare const ImageUploaderDropzone: {
@@ -4680,7 +4682,7 @@ export declare interface ImageUploaderFileType extends FileUploaderFileType {
4680
4682
 
4681
4683
  export declare const ImageUploaderGroup: {
4682
4684
  Root: {
4683
- ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, onError: externalOnError, children, className, ...props }: ImageUploaderRootProps): JSX.Element;
4685
+ ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, onError: externalOnError, children, className, isError, ...props }: ImageUploaderRootProps): JSX.Element;
4684
4686
  displayName: string;
4685
4687
  };
4686
4688
  MainPreview: {
@@ -4763,7 +4765,7 @@ export declare interface ImageUploaderPreviewProps extends Omit<ComponentPropsWi
4763
4765
  }
4764
4766
 
4765
4767
  export declare const ImageUploaderRoot: {
4766
- ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, onError: externalOnError, children, className, ...props }: ImageUploaderRootProps): JSX.Element;
4768
+ ({ values: controlledValues, onValuesChange: controlledonValuesChange, defaultValues, isDisabled, accept, maxFiles, maxSize, onError: externalOnError, children, className, isError, ...props }: ImageUploaderRootProps): JSX.Element;
4767
4769
  displayName: string;
4768
4770
  };
4769
4771
 
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),t=require("react"),q=require("./mainstack-design-system25.cjs"),y=require("./index-C8aODXfJ.cjs"),P=require("./utils-s-0cOrOT.cjs"),g=({values:l,onValuesChange:m,defaultValues:a=[],isDisabled:n,accept:p={"image/png":[".png",".jpeg",".jpg",".webp"]},maxFiles:v=4,maxSize:b,onError:r,children:h,className:C,...f})=>{const[o,i]=y.useControllableState({prop:l,defaultProp:a,onChange:m}),[c,u]=t.useState(()=>{const e=l||a;return e&&e.length>0?e[e.length-1]:null});o&&o.length>0&&!c&&u(o[o.length-1]);const[j,s]=t.useState(null),x=t.useCallback(e=>{s(null),i(e)},[i]),I=t.useCallback(e=>{const U=e instanceof Error?e.message:"An error occurred";s(U),r&&r(e)},[r]);return d.jsx(q.ImageUploaderContext.Provider,{value:{values:o,defaultValues:a,mainPreviewFile:c,isDisabled:n,accept:p,maxFiles:v,maxSize:b,setMainPreviewFile:u,onValuesChange:x,error:j,setError:s,onError:I},children:d.jsx("div",{"data-disabled":n,"aria-disabled":n,"data-slot":"image-uploader-root",className:P.cn("mds:relative mds:flex mds:flex-col mds:gap-12 mds:body-font-family",C),...f,children:h})})};g.displayName="ImageUploaderRoot";exports.ImageUploaderRoot=g;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),a=require("react"),y=require("./mainstack-design-system25.cjs"),P=require("./index-C8aODXfJ.cjs"),R=require("./utils-s-0cOrOT.cjs"),m=({values:l,onValuesChange:p,defaultValues:t=[],isDisabled:n,accept:v={"image/png":[".png",".jpeg",".jpg",".webp"]},maxFiles:b=4,maxSize:h,onError:r,children:C,className:f,isError:i,...j})=>{const[o,c]=P.useControllableState({prop:l,defaultProp:t,onChange:p}),[d,u]=a.useState(()=>{const e=l||t;return e&&e.length>0?e[e.length-1]:null});o&&o.length>0&&!d&&u(o[o.length-1]);const[x,s]=a.useState(null),I=a.useCallback(e=>{s(null),c(e)},[c]),U=a.useCallback(e=>{const q=e instanceof Error?e.message:"An error occurred";s(q),r&&r(e)},[r]);return g.jsx(y.ImageUploaderContext.Provider,{value:{values:o,defaultValues:t,mainPreviewFile:d,isDisabled:n,accept:v,maxFiles:b,maxSize:h,setMainPreviewFile:u,onValuesChange:I,error:x,setError:s,onError:U,isError:i},children:g.jsx("div",{"data-disabled":n,"aria-disabled":n,"data-error":i,"data-slot":"image-uploader-root",className:R.cn("mds:relative mds:flex mds:flex-col mds:gap-12 mds:body-font-family",f),...j,children:C})})};m.displayName="ImageUploaderRoot";exports.ImageUploaderRoot=m;
@@ -1,78 +1,81 @@
1
1
  'use client';
2
- import { jsx as p } from "react/jsx-runtime";
3
- import { useState as g, useCallback as d } from "react";
4
- import { ImageUploaderContext as y } from "./mainstack-design-system25.js";
5
- import { u as I } from "./index-437EL2iq.js";
6
- import { c as U } from "./utils-Z5JtG_Bc.js";
7
- const E = ({
2
+ import { jsx as g } from "react/jsx-runtime";
3
+ import { useState as d, useCallback as c } from "react";
4
+ import { ImageUploaderContext as I } from "./mainstack-design-system25.js";
5
+ import { u as U } from "./index-437EL2iq.js";
6
+ import { c as F } from "./utils-Z5JtG_Bc.js";
7
+ const N = ({
8
8
  values: s,
9
- onValuesChange: c,
9
+ onValuesChange: u,
10
10
  defaultValues: a = [],
11
11
  isDisabled: r,
12
- accept: u = { "image/png": [".png", ".jpeg", ".jpg", ".webp"] },
13
- maxFiles: f = 4,
14
- maxSize: h,
12
+ accept: f = { "image/png": [".png", ".jpeg", ".jpg", ".webp"] },
13
+ maxFiles: h = 4,
14
+ maxSize: v,
15
15
  onError: t,
16
- children: v,
17
- className: C,
18
- ...b
16
+ children: C,
17
+ className: b,
18
+ isError: l,
19
+ ...P
19
20
  }) => {
20
- const [o, l] = I({
21
+ const [o, m] = U({
21
22
  prop: s,
22
23
  defaultProp: a,
23
- onChange: c
24
- }), [m, i] = g(() => {
24
+ onChange: u
25
+ }), [i, p] = d(() => {
25
26
  const e = s || a;
26
27
  return e && e.length > 0 ? e[e.length - 1] : null;
27
28
  });
28
- o && o.length > 0 && !m && i(o[o.length - 1]);
29
- const [P, n] = g(null), j = d(
29
+ o && o.length > 0 && !i && p(o[o.length - 1]);
30
+ const [j, n] = d(null), w = c(
30
31
  (e) => {
31
- n(null), l(e);
32
+ n(null), m(e);
32
33
  },
33
- [l]
34
- ), w = d(
34
+ [m]
35
+ ), x = c(
35
36
  (e) => {
36
- const x = e instanceof Error ? e.message : "An error occurred";
37
- n(x), t && t(e);
37
+ const y = e instanceof Error ? e.message : "An error occurred";
38
+ n(y), t && t(e);
38
39
  },
39
40
  [t]
40
41
  );
41
- return /* @__PURE__ */ p(
42
- y.Provider,
42
+ return /* @__PURE__ */ g(
43
+ I.Provider,
43
44
  {
44
45
  value: {
45
46
  values: o,
46
47
  defaultValues: a,
47
- mainPreviewFile: m,
48
+ mainPreviewFile: i,
48
49
  isDisabled: r,
49
- accept: u,
50
- maxFiles: f,
51
- maxSize: h,
52
- setMainPreviewFile: i,
53
- onValuesChange: j,
54
- error: P,
50
+ accept: f,
51
+ maxFiles: h,
52
+ maxSize: v,
53
+ setMainPreviewFile: p,
54
+ onValuesChange: w,
55
+ error: j,
55
56
  setError: n,
56
- onError: w
57
+ onError: x,
58
+ isError: l
57
59
  },
58
- children: /* @__PURE__ */ p(
60
+ children: /* @__PURE__ */ g(
59
61
  "div",
60
62
  {
61
63
  "data-disabled": r,
62
64
  "aria-disabled": r,
65
+ "data-error": l,
63
66
  "data-slot": "image-uploader-root",
64
- className: U(
67
+ className: F(
65
68
  "mds:relative mds:flex mds:flex-col mds:gap-12 mds:body-font-family",
66
- C
69
+ b
67
70
  ),
68
- ...b,
69
- children: v
71
+ ...P,
72
+ children: C
70
73
  }
71
74
  )
72
75
  }
73
76
  );
74
77
  };
75
- E.displayName = "ImageUploaderRoot";
78
+ N.displayName = "ImageUploaderRoot";
76
79
  export {
77
- E as ImageUploaderRoot
80
+ N as ImageUploaderRoot
78
81
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("react"),c=require("./utils-s-0cOrOT.cjs");require("./mainstack-design-system366.cjs");const S=require("./mainstack-design-system55.cjs"),L=require("./mainstack-design-system225.cjs"),R=require("./mainstack-design-system241.cjs"),q=require("./mainstack-design-system286.cjs");require("./player-CocaNyQC.cjs");const T=require("./mainstack-design-system25.cjs"),A=require("./mainstack-design-system629.cjs"),x=require("./index-4R9KShCu.cjs"),g=require("./mainstack-design-system401.cjs"),C=require("./mainstack-design-system402.cjs"),v=require("./mainstack-design-system403.cjs");require("./mainstack-design-system404.cjs");require("./mainstack-design-system405.cjs");const z=({className:w,children:B,previewImgSrc:f,previewId:r,isPlaceholder:N,onClick:k,...U})=>{const{values:a,maxFiles:l,accept:D,maxSize:m,onValuesChange:u,onError:s,setMainPreviewFile:n,mainPreviewFile:d}=T.useImageUploaderContext(),[O,y]=b.useState(!1),j=d?.id===r,P=b.useCallback(()=>{const o=[...a],i=o.findIndex(p=>p.id===r),_=d?.id===r;i>-1&&(o.splice(i,1),u(o),_&&n(o[0]||null))},[u,r,n,a,d]),M=b.useCallback(async(o,i)=>{const _=a.length,p=(l||0)-_;if(o.length>p||i.length>0){if(s){if(o.length>p||i.some(t=>t.errors.some(I=>I.code==="too-many-files")))return s(new Error(`You can only upload a maximum of ${l} images.`));if(i.some(t=>t.errors.some(I=>I.code==="file-too-large"))){const t=m?(m/1048576).toFixed(0):"0";return s(new Error(`Image size exceeds the ${t}MB limit.`))}return s(new Error("Invalid image type or criteria."))}return}try{const h=await c.generateImageFilePreview(o),t=[...a,...h];u(t),d||n(t[t.length-1]||null)}catch(h){s&&s(h)}},[a,l,m,u,s,d,n]);return B||(N?e.jsx(A.DropzoneUploadArea,{"data-slot":"image-uploader-preview-item-placeholder",className:"mds:w-fit",noDrag:!0,accept:D,maxFiles:l,maxSize:m,onDrop:M,children:e.jsx("button",{className:c.cn("mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-16 mds:h-88 mds:shrink-0 mds:w-117 mds:flex mds:justify-center mds:items-center mds:cursor-pointer mds:hover:bg-interactive-secondary",w),onClick:k,...U,children:e.jsx(S,{variant:"filled"})})}):e.jsxs("div",{"data-slot":"image-uploader-preview-item","data-active-preview":j,className:c.cn("mds:relative mds:h-88 mds:rounded-16 mds:shrink-0 mds:w-117 mds:overflow-hidden mds:cursor-pointer mds:data-[active-preview=true]:outline-2 mds:data-[active-preview=true]:outline-offset-2 mds:data-[active-preview=true]:outline-border-interactive-neutral-active"),children:[e.jsx("img",{className:c.cn("mds:object-cover mds:h-full mds:w-full ",w),src:f,alt:`Image uploaded with id ${r}`,onClick:()=>{j||n({id:r,previewSrc:f})}}),j?e.jsx(v.ButtonRoot,{className:"mds:absolute mds:top-4 mds:right-4",size:"tiny",variant:"secondary",rounded:"sm",iconOnly:!0,onClick:o=>{o.stopPropagation(),P()},children:e.jsx(g.ButtonIcon,{children:e.jsx(q,{className:"mds:size-16 mds:text-interactive-error"})})}):e.jsxs(x.Popover,{open:O,onOpenChange:y,children:[e.jsx(x.PopoverTrigger,{asChild:!0,children:e.jsx(v.ButtonRoot,{className:"mds:absolute mds:top-4 mds:right-4",size:"tiny",variant:"secondary",rounded:"sm",iconOnly:!0,onClick:o=>o.stopPropagation(),children:e.jsx(g.ButtonIcon,{children:e.jsx(L,{className:"mds:size-16"})})})}),e.jsx(x.PopoverPortal,{children:e.jsxs(x.PopoverContent,{side:"bottom",sideOffset:2,align:"end",className:c.cn("mds:flex mds:flex-col mds:p-8 mds:bg-surface-neutral-l1 mds:rounded-18 mds:will-change-transform mds:data-[state=open]:animate-content-fade-in mds:animate-content-fade-out "),children:[e.jsxs(v.ButtonRoot,{onClick:()=>{n({id:r,previewSrc:f}),y(!1)},size:"xs",variant:"ghost",children:[e.jsx(g.ButtonIcon,{children:e.jsx(R,{className:"mds:size-20 mds:text-tertiary"})}),e.jsx(C.ButtonLabel,{children:"Set as cover image"})]}),e.jsxs(v.ButtonRoot,{className:"mds:justify-start ",size:"xs",variant:"ghost",onClick:P,children:[e.jsx(g.ButtonIcon,{children:e.jsx(q,{className:"mds:size-20 mds:text-interactive-error"})}),e.jsx(C.ButtonLabel,{className:" mds:text-interactive-error",children:"Delete"})]})]})})]})]}))};z.displayName="ImageUploaderPreviewItem";exports.ImageUploaderPreviewItem=z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),I=require("react"),c=require("./utils-s-0cOrOT.cjs");require("./mainstack-design-system366.cjs");const E=require("./mainstack-design-system55.cjs"),L=require("./mainstack-design-system225.cjs"),R=require("./mainstack-design-system241.cjs"),q=require("./mainstack-design-system286.cjs");require("./player-CocaNyQC.cjs");const T=require("./mainstack-design-system25.cjs"),A=require("./mainstack-design-system629.cjs"),h=require("./index-4R9KShCu.cjs"),x=require("./mainstack-design-system401.cjs"),C=require("./mainstack-design-system402.cjs"),v=require("./mainstack-design-system403.cjs");require("./mainstack-design-system404.cjs");require("./mainstack-design-system405.cjs");const z=({className:w,children:B,previewImgSrc:f,previewId:t,isPlaceholder:N,onClick:k,...U})=>{const{values:a,maxFiles:l,accept:D,maxSize:m,onValuesChange:u,onError:s,setMainPreviewFile:n,mainPreviewFile:d,isError:O}=T.useImageUploaderContext(),[M,y]=I.useState(!1),j=d?.id===t,P=I.useCallback(()=>{const r=[...a],i=r.findIndex(p=>p.id===t),_=d?.id===t;i>-1&&(r.splice(i,1),u(r),_&&n(r[0]||null))},[u,t,n,a,d]),S=I.useCallback(async(r,i)=>{const _=a.length,p=(l||0)-_;if(r.length>p||i.length>0){if(s){if(r.length>p||i.some(o=>o.errors.some(b=>b.code==="too-many-files")))return s(new Error(`You can only upload a maximum of ${l} images.`));if(i.some(o=>o.errors.some(b=>b.code==="file-too-large"))){const o=m?(m/1048576).toFixed(0):"0";return s(new Error(`Image size exceeds the ${o}MB limit.`))}return s(new Error("Invalid image type or criteria."))}return}try{const g=await c.generateImageFilePreview(r),o=[...a,...g];u(o),d||n(o[o.length-1]||null)}catch(g){s&&s(g)}},[a,l,m,u,s,d,n]);return B||(N?e.jsx(A.DropzoneUploadArea,{"data-slot":"image-uploader-preview-item-placeholder",className:"mds:w-fit",noDrag:!0,accept:D,maxFiles:l,maxSize:m,onDrop:S,children:e.jsx("button",{className:c.cn("mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-16 mds:h-88 mds:shrink-0 mds:w-117 mds:flex mds:justify-center mds:items-center mds:cursor-pointer mds:hover:bg-interactive-secondary",O&&"mds:ring-2 mds:bg-surface-error-l1 mds:ring-border-surface-error-l1",w),onClick:k,...U,children:e.jsx(E,{variant:"filled"})})}):e.jsxs("div",{"data-slot":"image-uploader-preview-item","data-active-preview":j,className:c.cn("mds:relative mds:h-88 mds:rounded-16 mds:shrink-0 mds:w-117 mds:overflow-hidden mds:cursor-pointer mds:data-[active-preview=true]:outline-2 mds:data-[active-preview=true]:outline-offset-2 mds:data-[active-preview=true]:outline-border-interactive-neutral-active"),children:[e.jsx("img",{className:c.cn("mds:object-cover mds:h-full mds:w-full ",w),src:f,alt:`Image uploaded with id ${t}`,onClick:()=>{j||n({id:t,previewSrc:f})}}),j?e.jsx(v.ButtonRoot,{className:"mds:absolute mds:top-4 mds:right-4",size:"tiny",variant:"secondary",rounded:"sm",iconOnly:!0,onClick:r=>{r.stopPropagation(),P()},children:e.jsx(x.ButtonIcon,{children:e.jsx(q,{className:"mds:size-16 mds:text-interactive-error"})})}):e.jsxs(h.Popover,{open:M,onOpenChange:y,children:[e.jsx(h.PopoverTrigger,{asChild:!0,children:e.jsx(v.ButtonRoot,{className:"mds:absolute mds:top-4 mds:right-4",size:"tiny",variant:"secondary",rounded:"sm",iconOnly:!0,onClick:r=>r.stopPropagation(),children:e.jsx(x.ButtonIcon,{children:e.jsx(L,{className:"mds:size-16"})})})}),e.jsx(h.PopoverPortal,{children:e.jsxs(h.PopoverContent,{side:"bottom",sideOffset:2,align:"end",className:c.cn("mds:flex mds:flex-col mds:p-8 mds:bg-surface-neutral-l1 mds:rounded-18 mds:will-change-transform mds:data-[state=open]:animate-content-fade-in mds:animate-content-fade-out "),children:[e.jsxs(v.ButtonRoot,{onClick:()=>{n({id:t,previewSrc:f}),y(!1)},size:"xs",variant:"ghost",children:[e.jsx(x.ButtonIcon,{children:e.jsx(R,{className:"mds:size-20 mds:text-tertiary"})}),e.jsx(C.ButtonLabel,{children:"Set as cover image"})]}),e.jsxs(v.ButtonRoot,{className:"mds:justify-start ",size:"xs",variant:"ghost",onClick:P,children:[e.jsx(x.ButtonIcon,{children:e.jsx(q,{className:"mds:size-20 mds:text-interactive-error"})}),e.jsx(C.ButtonLabel,{className:" mds:text-interactive-error",children:"Delete"})]})]})})]})]}))};z.displayName="ImageUploaderPreviewItem";exports.ImageUploaderPreviewItem=z;
@@ -1,54 +1,55 @@
1
1
  import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
- import { useState as U, useCallback as I } from "react";
3
- import { g as _, c as h } from "./utils-Z5JtG_Bc.js";
2
+ import { useState as _, useCallback as I } from "react";
3
+ import { g as j, c as h } from "./utils-Z5JtG_Bc.js";
4
4
  import "./mainstack-design-system366.js";
5
- import j from "./mainstack-design-system55.js";
6
- import A from "./mainstack-design-system225.js";
7
- import F from "./mainstack-design-system241.js";
5
+ import A from "./mainstack-design-system55.js";
6
+ import F from "./mainstack-design-system225.js";
7
+ import H from "./mainstack-design-system241.js";
8
8
  import k from "./mainstack-design-system286.js";
9
9
  import "./player-Chgv-hOU.js";
10
- import { useImageUploaderContext as H } from "./mainstack-design-system25.js";
11
- import { DropzoneUploadArea as L } from "./mainstack-design-system629.js";
12
- import { P as $, a as V, b as Y, c as q } from "./index-RoCFhqzC.js";
13
- import { ButtonIcon as v } from "./mainstack-design-system401.js";
10
+ import { useImageUploaderContext as L } from "./mainstack-design-system25.js";
11
+ import { DropzoneUploadArea as $ } from "./mainstack-design-system629.js";
12
+ import { P as V, a as Y, b as q, c as G } from "./index-RoCFhqzC.js";
13
+ import { ButtonIcon as g } from "./mainstack-design-system401.js";
14
14
  import { ButtonLabel as B } from "./mainstack-design-system402.js";
15
- import { ButtonRoot as g } from "./mainstack-design-system403.js";
15
+ import { ButtonRoot as v } from "./mainstack-design-system403.js";
16
16
  import "./mainstack-design-system404.js";
17
17
  import "./mainstack-design-system405.js";
18
- const G = ({
19
- className: b,
18
+ const J = ({
19
+ className: y,
20
20
  children: z,
21
21
  previewImgSrc: x,
22
22
  previewId: t,
23
23
  isPlaceholder: D,
24
24
  onClick: O,
25
- ...M
25
+ ...E
26
26
  }) => {
27
27
  const {
28
28
  values: n,
29
29
  maxFiles: l,
30
- accept: E,
30
+ accept: M,
31
31
  maxSize: c,
32
32
  onValuesChange: u,
33
33
  onError: s,
34
34
  setMainPreviewFile: i,
35
- mainPreviewFile: m
36
- } = H(), [S, C] = U(!1), w = m?.id === t, N = I(() => {
37
- const r = [...n], a = r.findIndex((p) => p.id === t), P = m?.id === t;
38
- a > -1 && (r.splice(a, 1), u(r), P && i(r[0] || null));
39
- }, [u, t, i, n, m]), T = I(
35
+ mainPreviewFile: m,
36
+ isError: S
37
+ } = L(), [T, C] = _(!1), w = m?.id === t, N = I(() => {
38
+ const r = [...n], a = r.findIndex((p) => p.id === t), b = m?.id === t;
39
+ a > -1 && (r.splice(a, 1), u(r), b && i(r[0] || null));
40
+ }, [u, t, i, n, m]), U = I(
40
41
  async (r, a) => {
41
- const P = n.length, p = (l || 0) - P;
42
+ const b = n.length, p = (l || 0) - b;
42
43
  if (r.length > p || a.length > 0) {
43
44
  if (s) {
44
45
  if (r.length > p || a.some(
45
- (o) => o.errors.some((y) => y.code === "too-many-files")
46
+ (o) => o.errors.some((P) => P.code === "too-many-files")
46
47
  ))
47
48
  return s(
48
49
  new Error(`You can only upload a maximum of ${l} images.`)
49
50
  );
50
51
  if (a.some(
51
- (o) => o.errors.some((y) => y.code === "file-too-large")
52
+ (o) => o.errors.some((P) => P.code === "file-too-large")
52
53
  )) {
53
54
  const o = c ? (c / 1048576).toFixed(0) : "0";
54
55
  return s(
@@ -60,7 +61,7 @@ const G = ({
60
61
  return;
61
62
  }
62
63
  try {
63
- const f = await _(r), o = [...n, ...f];
64
+ const f = await j(r), o = [...n, ...f];
64
65
  u(o), m || i(o[o.length - 1] || null);
65
66
  } catch (f) {
66
67
  s && s(f);
@@ -77,25 +78,26 @@ const G = ({
77
78
  ]
78
79
  );
79
80
  return z || (D ? /* @__PURE__ */ e(
80
- L,
81
+ $,
81
82
  {
82
83
  "data-slot": "image-uploader-preview-item-placeholder",
83
84
  className: "mds:w-fit",
84
85
  noDrag: !0,
85
- accept: E,
86
+ accept: M,
86
87
  maxFiles: l,
87
88
  maxSize: c,
88
- onDrop: T,
89
+ onDrop: U,
89
90
  children: /* @__PURE__ */ e(
90
91
  "button",
91
92
  {
92
93
  className: h(
93
94
  "mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-16 mds:h-88 mds:shrink-0 mds:w-117 mds:flex mds:justify-center mds:items-center mds:cursor-pointer mds:hover:bg-interactive-secondary",
94
- b
95
+ S && "mds:ring-2 mds:bg-surface-error-l1 mds:ring-border-surface-error-l1",
96
+ y
95
97
  ),
96
98
  onClick: O,
97
- ...M,
98
- children: /* @__PURE__ */ e(j, { variant: "filled" })
99
+ ...E,
100
+ children: /* @__PURE__ */ e(A, { variant: "filled" })
99
101
  }
100
102
  )
101
103
  }
@@ -111,7 +113,7 @@ const G = ({
111
113
  /* @__PURE__ */ e(
112
114
  "img",
113
115
  {
114
- className: h("mds:object-cover mds:h-full mds:w-full ", b),
116
+ className: h("mds:object-cover mds:h-full mds:w-full ", y),
115
117
  src: x,
116
118
  alt: `Image uploaded with id ${t}`,
117
119
  onClick: () => {
@@ -120,7 +122,7 @@ const G = ({
120
122
  }
121
123
  ),
122
124
  w ? /* @__PURE__ */ e(
123
- g,
125
+ v,
124
126
  {
125
127
  className: "mds:absolute mds:top-4 mds:right-4",
126
128
  size: "tiny",
@@ -130,16 +132,16 @@ const G = ({
130
132
  onClick: (r) => {
131
133
  r.stopPropagation(), N();
132
134
  },
133
- children: /* @__PURE__ */ e(v, { children: /* @__PURE__ */ e(k, { className: "mds:size-16 mds:text-interactive-error" }) })
135
+ children: /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(k, { className: "mds:size-16 mds:text-interactive-error" }) })
134
136
  }
135
137
  ) : /* @__PURE__ */ d(
136
- $,
138
+ V,
137
139
  {
138
- open: S,
140
+ open: T,
139
141
  onOpenChange: C,
140
142
  children: [
141
- /* @__PURE__ */ e(V, { asChild: !0, children: /* @__PURE__ */ e(
142
- g,
143
+ /* @__PURE__ */ e(Y, { asChild: !0, children: /* @__PURE__ */ e(
144
+ v,
143
145
  {
144
146
  className: "mds:absolute mds:top-4 mds:right-4",
145
147
  size: "tiny",
@@ -147,11 +149,11 @@ const G = ({
147
149
  rounded: "sm",
148
150
  iconOnly: !0,
149
151
  onClick: (r) => r.stopPropagation(),
150
- children: /* @__PURE__ */ e(v, { children: /* @__PURE__ */ e(A, { className: "mds:size-16" }) })
152
+ children: /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(F, { className: "mds:size-16" }) })
151
153
  }
152
154
  ) }),
153
- /* @__PURE__ */ e(Y, { children: /* @__PURE__ */ d(
154
- q,
155
+ /* @__PURE__ */ e(q, { children: /* @__PURE__ */ d(
156
+ G,
155
157
  {
156
158
  side: "bottom",
157
159
  sideOffset: 2,
@@ -161,7 +163,7 @@ const G = ({
161
163
  ),
162
164
  children: [
163
165
  /* @__PURE__ */ d(
164
- g,
166
+ v,
165
167
  {
166
168
  onClick: () => {
167
169
  i({
@@ -172,20 +174,20 @@ const G = ({
172
174
  size: "xs",
173
175
  variant: "ghost",
174
176
  children: [
175
- /* @__PURE__ */ e(v, { children: /* @__PURE__ */ e(F, { className: "mds:size-20 mds:text-tertiary" }) }),
177
+ /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(H, { className: "mds:size-20 mds:text-tertiary" }) }),
176
178
  /* @__PURE__ */ e(B, { children: "Set as cover image" })
177
179
  ]
178
180
  }
179
181
  ),
180
182
  /* @__PURE__ */ d(
181
- g,
183
+ v,
182
184
  {
183
185
  className: "mds:justify-start ",
184
186
  size: "xs",
185
187
  variant: "ghost",
186
188
  onClick: N,
187
189
  children: [
188
- /* @__PURE__ */ e(v, { children: /* @__PURE__ */ e(k, { className: "mds:size-20 mds:text-interactive-error" }) }),
190
+ /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(k, { className: "mds:size-20 mds:text-interactive-error" }) }),
189
191
  /* @__PURE__ */ e(B, { className: " mds:text-interactive-error", children: "Delete" })
190
192
  ]
191
193
  }
@@ -200,7 +202,7 @@ const G = ({
200
202
  }
201
203
  ));
202
204
  };
203
- G.displayName = "ImageUploaderPreviewItem";
205
+ J.displayName = "ImageUploaderPreviewItem";
204
206
  export {
205
- G as ImageUploaderPreviewItem
207
+ J as ImageUploaderPreviewItem
206
208
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("./mainstack-design-system401.cjs");require("./mainstack-design-system402.cjs");const v=require("./mainstack-design-system403.cjs");require("./mainstack-design-system404.cjs");require("./mainstack-design-system405.cjs");require("./mainstack-design-system366.cjs");const p=require("./mainstack-design-system286.cjs");require("react");require("./player-CocaNyQC.cjs");const g=require("./utils-s-0cOrOT.cjs"),b=require("./mainstack-design-system25.cjs"),o=({className:n,children:i,...a})=>{const{mainPreviewFile:r,onValuesChange:d,values:l,setMainPreviewFile:m}=b.useImageUploaderContext();return e.jsx("div",{role:"region","data-slot":"image-uploader-dropzone","data-active-preview":!!r?.id,className:g.cn("mds:relative mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-20 mds:bg-surface-neutral-l1 mds:w-504 mds:data-[active-preview=true]:overflow-hidden mds:h-378 mds:cursor-pointer mds:hover:bg-interactive-secondary mds:data-dragging:border-border-interactive-neutral mds:active:ring-2 mds:active:ring-border-interactive-neutral-pressed ",n),...a,children:r?e.jsxs(e.Fragment,{children:[e.jsx("img",{src:r.previewSrc,alt:"Image Uploader Main Preview image ",className:"mds:absolute mds:top-0 mds:left-0 mds:w-full mds:h-full mds:object-cover"}),e.jsx(v.ButtonRoot,{rounded:"sm",size:"tiny",status:"default",variant:"secondary",iconOnly:!0,className:"mds:absolute mds:right-20 mds:top-20 mds:z-10",onClick:()=>{const t=[...l],s=t.findIndex(c=>c.id===r.id);s>-1&&(t.splice(s,1),d(t),m(t[0]||null))},children:e.jsx(u.ButtonIcon,{children:e.jsx(p,{variant:"outlined",className:"mds:h-16 mds:w-16 mds:text-error"})})})]}):i})};o.displayName="ImageUploaderMainPreview";exports.ImageUploaderMainPreview=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("./mainstack-design-system401.cjs");require("./mainstack-design-system402.cjs");const g=require("./mainstack-design-system403.cjs");require("./mainstack-design-system404.cjs");require("./mainstack-design-system405.cjs");require("./mainstack-design-system366.cjs");const p=require("./mainstack-design-system286.cjs");require("react");require("./player-CocaNyQC.cjs");const b=require("./utils-s-0cOrOT.cjs"),w=require("./mainstack-design-system25.cjs"),o=({className:i,children:n,...a})=>{const{mainPreviewFile:r,onValuesChange:d,values:l,setMainPreviewFile:m,isError:c}=w.useImageUploaderContext();return e.jsx("div",{role:"region","data-slot":"image-uploader-dropzone","data-active-preview":!!r?.id,className:b.cn("mds:relative mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-20 mds:bg-surface-neutral-l1 mds:w-504 mds:data-[active-preview=true]:overflow-hidden mds:h-378 mds:cursor-pointer mds:hover:bg-interactive-secondary mds:data-dragging:border-border-interactive-neutral mds:active:ring-2 mds:active:ring-border-interactive-neutral-pressed ",c&&"mds:ring-2 mds:bg-surface-error-l1 mds:ring-border-surface-error-l1",i),...a,children:r?e.jsxs(e.Fragment,{children:[e.jsx("img",{src:r.previewSrc,alt:"Image Uploader Main Preview image ",className:"mds:absolute mds:top-0 mds:left-0 mds:w-full mds:h-full mds:object-cover"}),e.jsx(g.ButtonRoot,{rounded:"sm",size:"tiny",status:"default",variant:"secondary",iconOnly:!0,className:"mds:absolute mds:right-20 mds:top-20 mds:z-10",onClick:()=>{const s=[...l],t=s.findIndex(u=>u.id===r.id);t>-1&&(s.splice(t,1),d(s),m(s[0]||null))},children:e.jsx(v.ButtonIcon,{children:e.jsx(p,{variant:"outlined",className:"mds:h-16 mds:w-16 mds:text-error"})})})]}):n})};o.displayName="ImageUploaderMainPreview";exports.ImageUploaderMainPreview=o;
@@ -1,33 +1,40 @@
1
- import { jsx as e, jsxs as c, Fragment as p } from "react/jsx-runtime";
2
- import { ButtonIcon as u } from "./mainstack-design-system401.js";
1
+ import { jsx as e, jsxs as p, Fragment as u } from "react/jsx-runtime";
2
+ import { ButtonIcon as v } from "./mainstack-design-system401.js";
3
3
  import "./mainstack-design-system402.js";
4
- import { ButtonRoot as v } from "./mainstack-design-system403.js";
4
+ import { ButtonRoot as g } from "./mainstack-design-system403.js";
5
5
  import "./mainstack-design-system404.js";
6
6
  import "./mainstack-design-system405.js";
7
7
  import "./mainstack-design-system366.js";
8
- import g from "./mainstack-design-system286.js";
8
+ import f from "./mainstack-design-system286.js";
9
9
  import "react";
10
10
  import "./player-Chgv-hOU.js";
11
- import { c as f } from "./utils-Z5JtG_Bc.js";
11
+ import { c as b } from "./utils-Z5JtG_Bc.js";
12
12
  import { useImageUploaderContext as h } from "./mainstack-design-system25.js";
13
13
  const w = ({
14
- className: t,
15
- children: a,
16
- ...o
14
+ className: o,
15
+ children: s,
16
+ ...a
17
17
  }) => {
18
- const { mainPreviewFile: r, onValuesChange: s, values: m, setMainPreviewFile: n } = h();
18
+ const {
19
+ mainPreviewFile: r,
20
+ onValuesChange: t,
21
+ values: m,
22
+ setMainPreviewFile: n,
23
+ isError: l
24
+ } = h();
19
25
  return /* @__PURE__ */ e(
20
26
  "div",
21
27
  {
22
28
  role: "region",
23
29
  "data-slot": "image-uploader-dropzone",
24
30
  "data-active-preview": !!r?.id,
25
- className: f(
31
+ className: b(
26
32
  "mds:relative mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-20 mds:bg-surface-neutral-l1 mds:w-504 mds:data-[active-preview=true]:overflow-hidden mds:h-378 mds:cursor-pointer mds:hover:bg-interactive-secondary mds:data-dragging:border-border-interactive-neutral mds:active:ring-2 mds:active:ring-border-interactive-neutral-pressed ",
27
- t
33
+ l && "mds:ring-2 mds:bg-surface-error-l1 mds:ring-border-surface-error-l1",
34
+ o
28
35
  ),
29
- ...o,
30
- children: r ? /* @__PURE__ */ c(p, { children: [
36
+ ...a,
37
+ children: r ? /* @__PURE__ */ p(u, { children: [
31
38
  /* @__PURE__ */ e(
32
39
  "img",
33
40
  {
@@ -37,7 +44,7 @@ const w = ({
37
44
  }
38
45
  ),
39
46
  /* @__PURE__ */ e(
40
- v,
47
+ g,
41
48
  {
42
49
  rounded: "sm",
43
50
  size: "tiny",
@@ -46,13 +53,13 @@ const w = ({
46
53
  iconOnly: !0,
47
54
  className: "mds:absolute mds:right-20 mds:top-20 mds:z-10",
48
55
  onClick: () => {
49
- const i = [...m], d = i.findIndex(
50
- (l) => l.id === r.id
56
+ const d = [...m], i = d.findIndex(
57
+ (c) => c.id === r.id
51
58
  );
52
- d > -1 && (i.splice(d, 1), s(i), n(i[0] || null));
59
+ i > -1 && (d.splice(i, 1), t(d), n(d[0] || null));
53
60
  },
54
- children: /* @__PURE__ */ e(u, { children: /* @__PURE__ */ e(
55
- g,
61
+ children: /* @__PURE__ */ e(v, { children: /* @__PURE__ */ e(
62
+ f,
56
63
  {
57
64
  variant: "outlined",
58
65
  className: "mds:h-16 mds:w-16 mds:text-error"
@@ -60,7 +67,7 @@ const w = ({
60
67
  ) })
61
68
  }
62
69
  )
63
- ] }) : a
70
+ ] }) : s
64
71
  }
65
72
  );
66
73
  };
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),j=require("./mainstack-design-system35.cjs"),z=require("./index-C8aODXfJ.cjs"),S=require("./utils-s-0cOrOT.cjs"),o=require("react"),p=({values:m,onValuesChange:f,defaultValues:s=[],isDisabled:r,accept:C={"file/*":[".pdf",".txt",".docx"]},maxFiles:a=4,maxSize:g,multiple:i=!0,onError:t,children:y,className:b,...h})=>{const[n,d]=z.useControllableState({prop:m,defaultProp:s,onChange:f}),[v,l]=o.useState(null),x=o.useCallback(e=>{l(null),d(e)},[d]),U=o.useCallback(e=>{const u=e instanceof Error?e.message:"An error occurred";l(u),t&&t(e)},[t]),F=!i||n.length>=a,q=n.length>0&&F,R=o.Children.map(y,e=>o.isValidElement(e)&&e.type?.displayName==="FileUploaderDropzone"&&q?null:e);return c.jsx(j.FileUploaderContext.Provider,{value:{values:n,defaultValues:s,isDisabled:r,accept:C,maxFiles:a,maxSize:g,multiple:i,error:v,setError:l,onValuesChange:x,onError:U},children:c.jsx("div",{"data-disabled":r,"aria-disabled":r,"data-slot":"file-uploader-root",className:S.cn("mds:relative mds:flex mds:flex-col mds:gap-12 mds:body-font-family",b),...h,children:R})})};p.displayName="FileUploaderRoot";exports.FileUploaderRoot=p;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),z=require("./mainstack-design-system35.cjs"),S=require("./index-C8aODXfJ.cjs"),_=require("./utils-s-0cOrOT.cjs"),o=require("react"),m=({values:f,onValuesChange:C,defaultValues:a=[],isDisabled:r,accept:g={"file/*":[".pdf",".txt",".docx"]},maxFiles:s=4,maxSize:y,multiple:d=!0,onError:t,children:b,className:h,isError:i,...v})=>{const[n,u]=S.useControllableState({prop:f,defaultProp:a,onChange:C}),[x,l]=o.useState(null),U=o.useCallback(e=>{l(null),u(e)},[u]),F=o.useCallback(e=>{const c=e instanceof Error?e.message:"An error occurred";l(c),t&&t(e)},[t]),q=!d||n.length>=s,R=n.length>0&&q,j=o.Children.map(b,e=>o.isValidElement(e)&&e.type?.displayName==="FileUploaderDropzone"&&R?null:e);return p.jsx(z.FileUploaderContext.Provider,{value:{values:n,defaultValues:a,isDisabled:r,accept:g,maxFiles:s,maxSize:y,multiple:d,error:x,setError:l,onValuesChange:U,onError:F,isError:i},children:p.jsx("div",{"data-disabled":r,"aria-disabled":r,"data-error":i,"data-slot":"file-uploader-root",className:_.cn("mds:relative mds:flex mds:flex-col mds:gap-12 mds:body-font-family",h),...v,children:j})})};m.displayName="FileUploaderRoot";exports.FileUploaderRoot=m;
@@ -1,73 +1,76 @@
1
1
  'use client';
2
- import { jsx as p } from "react/jsx-runtime";
3
- import { FileUploaderContext as N } from "./mainstack-design-system35.js";
4
- import { u as R } from "./index-437EL2iq.js";
5
- import { c as V } from "./utils-Z5JtG_Bc.js";
6
- import m, { useState as A, useCallback as c } from "react";
7
- const D = ({
8
- values: u,
9
- onValuesChange: f,
2
+ import { jsx as m } from "react/jsx-runtime";
3
+ import { FileUploaderContext as V } from "./mainstack-design-system35.js";
4
+ import { u as A } from "./index-437EL2iq.js";
5
+ import { c as D } from "./utils-Z5JtG_Bc.js";
6
+ import c, { useState as E, useCallback as u } from "react";
7
+ const P = ({
8
+ values: f,
9
+ onValuesChange: C,
10
10
  defaultValues: n = [],
11
11
  isDisabled: e,
12
- accept: C = { "file/*": [".pdf", ".txt", ".docx"] },
13
- maxFiles: s = 4,
14
- maxSize: g,
15
- multiple: l = !0,
12
+ accept: g = { "file/*": [".pdf", ".txt", ".docx"] },
13
+ maxFiles: l = 4,
14
+ maxSize: h,
15
+ multiple: s = !0,
16
16
  onError: r,
17
- children: h,
18
- className: v,
19
- ...y
17
+ children: v,
18
+ className: y,
19
+ isError: d,
20
+ ...x
20
21
  }) => {
21
- const [t, d] = R({
22
- prop: u,
22
+ const [t, i] = A({
23
+ prop: f,
23
24
  defaultProp: n,
24
- onChange: f
25
- }), [x, a] = A(null), z = c(
25
+ onChange: C
26
+ }), [z, a] = E(null), U = u(
26
27
  (o) => {
27
- a(null), d(o);
28
+ a(null), i(o);
28
29
  },
29
- [d]
30
- ), U = c(
30
+ [i]
31
+ ), b = u(
31
32
  (o) => {
32
- const i = o instanceof Error ? o.message : "An error occurred";
33
- a(i), r && r(o);
33
+ const p = o instanceof Error ? o.message : "An error occurred";
34
+ a(p), r && r(o);
34
35
  },
35
36
  [r]
36
- ), b = !l || t.length >= s, E = t.length > 0 && b, F = m.Children.map(h, (o) => m.isValidElement(o) && o.type?.displayName === "FileUploaderDropzone" && E ? null : o);
37
- return /* @__PURE__ */ p(
38
- N.Provider,
37
+ ), F = !s || t.length >= l, N = t.length > 0 && F, R = c.Children.map(v, (o) => c.isValidElement(o) && o.type?.displayName === "FileUploaderDropzone" && N ? null : o);
38
+ return /* @__PURE__ */ m(
39
+ V.Provider,
39
40
  {
40
41
  value: {
41
42
  values: t,
42
43
  defaultValues: n,
43
44
  isDisabled: e,
44
- accept: C,
45
- maxFiles: s,
46
- maxSize: g,
47
- multiple: l,
48
- error: x,
45
+ accept: g,
46
+ maxFiles: l,
47
+ maxSize: h,
48
+ multiple: s,
49
+ error: z,
49
50
  setError: a,
50
- onValuesChange: z,
51
- onError: U
51
+ onValuesChange: U,
52
+ onError: b,
53
+ isError: d
52
54
  },
53
- children: /* @__PURE__ */ p(
55
+ children: /* @__PURE__ */ m(
54
56
  "div",
55
57
  {
56
58
  "data-disabled": e,
57
59
  "aria-disabled": e,
60
+ "data-error": d,
58
61
  "data-slot": "file-uploader-root",
59
- className: V(
62
+ className: D(
60
63
  "mds:relative mds:flex mds:flex-col mds:gap-12 mds:body-font-family",
61
- v
64
+ y
62
65
  ),
63
- ...y,
64
- children: F
66
+ ...x,
67
+ children: R
65
68
  }
66
69
  )
67
70
  }
68
71
  );
69
72
  };
70
- D.displayName = "FileUploaderRoot";
73
+ P.displayName = "FileUploaderRoot";
71
74
  export {
72
- D as FileUploaderRoot
75
+ P as FileUploaderRoot
73
76
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),q=require("react"),f=require("./utils-s-0cOrOT.cjs"),U=require("./mainstack-design-system629.cjs"),w=require("./mainstack-design-system35.cjs");require("./mainstack-design-system366.cjs");const C=require("./mainstack-design-system55.cjs");require("./player-CocaNyQC.cjs");const g=({className:b,children:v,...h})=>{const{values:t,onValuesChange:m,accept:_,maxSize:a,maxFiles:o,onError:e}=w.useFileUploaderContext(),z=q.useCallback(async(s,i)=>{const x=t.length,u=(o||0)-x;if(s.length>u||i.length>0){if(e){if(s.length>u||i.some(r=>r.errors.some(n=>n.code==="too-many-files")))return e(new Error(`You can only upload a maximum of ${o} images.`));if(i.some(r=>r.errors.some(n=>n.code==="file-too-large"))){const r=a?(a/1048576).toFixed(0):"0";return e(new Error(`Image size exceeds the ${r}MB limit.`))}return e(new Error("Invalid image type or criteria."))}return}try{const r=(await f.getFileMetadata(s)).filter(l=>!t.some(c=>c.fileName===l.fileName&&c.fileSize===l.fileSize&&c.lastModified===l.lastModified)),y=[...t,...r].slice(0,o);m(y)}catch(d){e&&e(d)}},[m,e,t,o,a]);return p.jsxs(U.DropzoneUploadArea,{"data-slot":"file-uploader-dropzone-content",className:f.cn("mds:relative mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-20 mds:bg-surface-neutral-l1 mds:data-[active-preview=true]:overflow-hidden mds:cursor-pointer mds:hover:bg-interactive-secondary mds:data-dragging:border-border-interactive-neutral mds:active:ring-2 mds:active:ring-border-interactive-neutral-pressed mds:p-24 mds:flex mds:flex-col mds:items-center mds:justify-center mds:h-full",b),onDrop:z,accept:_,maxFiles:o,maxSize:a,asChild:!0,...h,children:[p.jsx(C,{variant:"filled"}),v]})};g.displayName="FileUploaderDropzone";exports.FileUploaderDropzone=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),U=require("react"),f=require("./utils-s-0cOrOT.cjs"),w=require("./mainstack-design-system629.cjs"),C=require("./mainstack-design-system35.cjs");require("./mainstack-design-system366.cjs");const D=require("./mainstack-design-system55.cjs");require("./player-CocaNyQC.cjs");const g=({className:b,children:v,...h})=>{const{values:t,onValuesChange:m,accept:_,maxSize:a,maxFiles:o,onError:e,isError:z}=C.useFileUploaderContext(),x=U.useCallback(async(n,i)=>{const y=t.length,u=(o||0)-y;if(n.length>u||i.length>0){if(e){if(n.length>u||i.some(r=>r.errors.some(s=>s.code==="too-many-files")))return e(new Error(`You can only upload a maximum of ${o} images.`));if(i.some(r=>r.errors.some(s=>s.code==="file-too-large"))){const r=a?(a/1048576).toFixed(0):"0";return e(new Error(`Image size exceeds the ${r}MB limit.`))}return e(new Error("Invalid image type or criteria."))}return}try{const r=(await f.getFileMetadata(n)).filter(l=>!t.some(c=>c.fileName===l.fileName&&c.fileSize===l.fileSize&&c.lastModified===l.lastModified)),q=[...t,...r].slice(0,o);m(q)}catch(d){e&&e(d)}},[m,e,t,o,a]);return p.jsxs(w.DropzoneUploadArea,{"data-slot":"file-uploader-dropzone-content",className:f.cn("mds:relative mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-20 mds:bg-surface-neutral-l1 mds:data-[active-preview=true]:overflow-hidden mds:cursor-pointer mds:hover:bg-interactive-secondary mds:data-dragging:border-border-interactive-neutral mds:active:ring-2 mds:active:ring-border-interactive-neutral-pressed mds:p-24 mds:flex mds:flex-col mds:items-center mds:justify-center mds:h-full",z&&"mds:ring-2 mds:bg-surface-error-l1 mds:ring-border-surface-error-l1",b),onDrop:x,accept:_,maxFiles:o,maxSize:a,asChild:!0,...h,children:[p.jsx(D,{variant:"filled"}),v]})};g.displayName="FileUploaderDropzone";exports.FileUploaderDropzone=g;
@@ -1,19 +1,27 @@
1
- import { jsxs as z, jsx as y } from "react/jsx-runtime";
2
- import { useCallback as w } from "react";
3
- import { a as C, c as M } from "./utils-Z5JtG_Bc.js";
1
+ import { jsxs as y, jsx as w } from "react/jsx-runtime";
2
+ import { useCallback as C } from "react";
3
+ import { a as E, c as M } from "./utils-Z5JtG_Bc.js";
4
4
  import { DropzoneUploadArea as N } from "./mainstack-design-system629.js";
5
5
  import { useFileUploaderContext as D } from "./mainstack-design-system35.js";
6
6
  import "./mainstack-design-system366.js";
7
- import E from "./mainstack-design-system55.js";
7
+ import I from "./mainstack-design-system55.js";
8
8
  import "./player-Chgv-hOU.js";
9
- const I = ({
9
+ const S = ({
10
10
  className: f,
11
11
  children: p,
12
12
  ...g
13
13
  }) => {
14
- const { values: t, onValuesChange: c, accept: h, maxSize: a, maxFiles: o, onError: e } = D(), v = w(
14
+ const {
15
+ values: t,
16
+ onValuesChange: c,
17
+ accept: b,
18
+ maxSize: a,
19
+ maxFiles: o,
20
+ onError: e,
21
+ isError: h
22
+ } = D(), v = C(
15
23
  async (i, n) => {
16
- const b = t.length, u = (o || 0) - b;
24
+ const x = t.length, u = (o || 0) - x;
17
25
  if (i.length > u || n.length > 0) {
18
26
  if (e) {
19
27
  if (i.length > u || n.some(
@@ -37,40 +45,41 @@ const I = ({
37
45
  return;
38
46
  }
39
47
  try {
40
- const r = (await C(i)).filter(
48
+ const r = (await E(i)).filter(
41
49
  (m) => !t.some(
42
50
  (l) => l.fileName === m.fileName && l.fileSize === m.fileSize && l.lastModified === m.lastModified
43
51
  )
44
- ), x = [...t, ...r].slice(0, o);
45
- c(x);
52
+ ), z = [...t, ...r].slice(0, o);
53
+ c(z);
46
54
  } catch (d) {
47
55
  e && e(d);
48
56
  }
49
57
  },
50
58
  [c, e, t, o, a]
51
59
  );
52
- return /* @__PURE__ */ z(
60
+ return /* @__PURE__ */ y(
53
61
  N,
54
62
  {
55
63
  "data-slot": "file-uploader-dropzone-content",
56
64
  className: M(
57
65
  "mds:relative mds:border mds:border-dashed mds:border-border-interactive-neutral mds:rounded-20 mds:bg-surface-neutral-l1 mds:data-[active-preview=true]:overflow-hidden mds:cursor-pointer mds:hover:bg-interactive-secondary mds:data-dragging:border-border-interactive-neutral mds:active:ring-2 mds:active:ring-border-interactive-neutral-pressed mds:p-24 mds:flex mds:flex-col mds:items-center mds:justify-center mds:h-full",
66
+ h && "mds:ring-2 mds:bg-surface-error-l1 mds:ring-border-surface-error-l1",
58
67
  f
59
68
  ),
60
69
  onDrop: v,
61
- accept: h,
70
+ accept: b,
62
71
  maxFiles: o,
63
72
  maxSize: a,
64
73
  asChild: !0,
65
74
  ...g,
66
75
  children: [
67
- /* @__PURE__ */ y(E, { variant: "filled" }),
76
+ /* @__PURE__ */ w(I, { variant: "filled" }),
68
77
  p
69
78
  ]
70
79
  }
71
80
  );
72
81
  };
73
- I.displayName = "FileUploaderDropzone";
82
+ S.displayName = "FileUploaderDropzone";
74
83
  export {
75
- I as FileUploaderDropzone
84
+ S as FileUploaderDropzone
76
85
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mainstack-design-system",
3
- "version": "1.16.1",
3
+ "version": "1.16.2",
4
4
  "type": "module",
5
5
  "main": "./dist/mainstack-design-system.cjs",
6
6
  "module": "./dist/mainstack-design-system.js",