@mage-ui/components 1.0.115 → 1.0.117
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/components/controls/dropzone/Dropzone.d.mts +2 -0
- package/dist/components/controls/dropzone/Dropzone.d.mts.map +1 -1
- package/dist/components/controls/dropzone/Dropzone.mjs +1 -1
- package/dist/components/controls/dropzone/Dropzone.mjs.map +1 -1
- package/dist/components/controls/dropzone/upload-service.mjs +1 -1
- package/dist/components/controls/dropzone/upload-service.mjs.map +1 -1
- package/dist/components/controls/dropzone/use-dropzone-state.mjs +1 -1
- package/dist/components/controls/dropzone/use-dropzone-state.mjs.map +1 -1
- package/dist/components/data-display/index.d.mts +2 -1
- package/dist/components/data-display/uploading-files/UploadingFiles.d.mts +49 -0
- package/dist/components/data-display/uploading-files/UploadingFiles.d.mts.map +1 -0
- package/dist/components/data-display/uploading-files/UploadingFiles.mjs +2 -0
- package/dist/components/data-display/uploading-files/UploadingFiles.mjs.map +1 -0
- package/dist/components/index.d.mts +1 -0
- package/dist/index.d.mts +2 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
|
@@ -28,6 +28,7 @@ type DropzoneProps = {
|
|
|
28
28
|
initialFiles?: Record<string, FileData>;
|
|
29
29
|
maxFiles?: number;
|
|
30
30
|
data?: Record<string, unknown>;
|
|
31
|
+
headers?: Record<string, string>;
|
|
31
32
|
url: string;
|
|
32
33
|
accept?: string[];
|
|
33
34
|
preventDropOnDocument?: boolean;
|
|
@@ -54,6 +55,7 @@ type DropzoneProps = {
|
|
|
54
55
|
};
|
|
55
56
|
declare const Dropzone: ({
|
|
56
57
|
data,
|
|
58
|
+
headers,
|
|
57
59
|
children,
|
|
58
60
|
initialFiles,
|
|
59
61
|
maxFiles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropzone.d.mts","names":[],"sources":["../../../../src/components/controls/dropzone/Dropzone.tsx"],"mappings":";;;;;;KA2BY,QAAA;EACV,IAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;EACA,QAAA;EACA,OAAA;EACA,GAAA;EACA,KAAA;EACA,QAAA;AAAA;AAAA,KAGU,aAAA;EACV,QAAA;IACE,KAAA;IACA,WAAA;IACA;EAAA;IAEA,KAAA,EAAO,MAAA,SAAe,QAAA;IACtB,WAAA;IACA,UAAA,GAAa,QAAA;EAAA,MACT,SAAA;EACN,YAAA,GAAe,MAAA,SAAe,QAAA;EAC9B,QAAA;EACA,IAAA,GAAO,MAAA;EACP,GAAA;EACA,MAAA;EACA,qBAAA;EACA,KAAA,GAAQ,SAAA;EACR,QAAA,GAAW,SAAA;EACX,IAAA,GAAO,SAAA;EACP,OAAA;EACA,cAAA,IAAkB,IAAA,EAAM,QAAA;EACxB,UAAA;IACE,QAAA;IACA,IAAA;IACA,gBAAA;MACE,IAAA;MACA,KAAA;IAAA;IAEF,QAAA;IACA,YAAA,GAAe,SAAA;IACf,MAAA,GAAS,eAAA;IACT,QAAA;IACA,KAAA;IACA,QAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAIS,QAAA;EAAY,IAAA;EAAA,QAAA;EAAA,YAAA;EAAA,QAAA;EAAA,MAAA;EAAA,GAAA;EAAA,KAAA;EAAA,QAAA;EAAA,IAAA;EAAA,OAAA;EAAA,cAAA;EAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"Dropzone.d.mts","names":[],"sources":["../../../../src/components/controls/dropzone/Dropzone.tsx"],"mappings":";;;;;;KA2BY,QAAA;EACV,IAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;EACA,QAAA;EACA,OAAA;EACA,GAAA;EACA,KAAA;EACA,QAAA;AAAA;AAAA,KAGU,aAAA;EACV,QAAA;IACE,KAAA;IACA,WAAA;IACA;EAAA;IAEA,KAAA,EAAO,MAAA,SAAe,QAAA;IACtB,WAAA;IACA,UAAA,GAAa,QAAA;EAAA,MACT,SAAA;EACN,YAAA,GAAe,MAAA,SAAe,QAAA;EAC9B,QAAA;EACA,IAAA,GAAO,MAAA;EACP,OAAA,GAAU,MAAA;EACV,GAAA;EACA,MAAA;EACA,qBAAA;EACA,KAAA,GAAQ,SAAA;EACR,QAAA,GAAW,SAAA;EACX,IAAA,GAAO,SAAA;EACP,OAAA;EACA,cAAA,IAAkB,IAAA,EAAM,QAAA;EACxB,UAAA;IACE,QAAA;IACA,IAAA;IACA,gBAAA;MACE,IAAA;MACA,KAAA;IAAA;IAEF,QAAA;IACA,YAAA,GAAe,SAAA;IACf,MAAA,GAAS,eAAA;IACT,QAAA;IACA,KAAA;IACA,QAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAIS,QAAA;EAAY,IAAA;EAAA,OAAA;EAAA,QAAA;EAAA,YAAA;EAAA,QAAA;EAAA,MAAA;EAAA,GAAA;EAAA,KAAA;EAAA,QAAA;EAAA,IAAA;EAAA,OAAA;EAAA,cAAA;EAAA;AAAA,GActB,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{LoaderOval as t}from"../../data-display/loader-oval/LoaderOval.mjs";import{useDropzoneState as n}from"./use-dropzone-state.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{dropzone as i,dropzoneDropzoneInner as a,dropzoneDropzoneRoot as o,dropzoneHint as s,dropzoneIcon as c,dropzoneIconSlot as l,dropzoneLoader as u,dropzoneLoaderRoot as d,dropzoneRoot as f,dropzoneSubtitle as p,dropzoneTextSlot as m,dropzoneTitle as h}from"@mage-ui/styled-system/recipes";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{useCallback as y,useRef as b}from"react";import{Dropzone as x}from"@mantine/dropzone";const S=({data:S,
|
|
1
|
+
import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{LoaderOval as t}from"../../data-display/loader-oval/LoaderOval.mjs";import{useDropzoneState as n}from"./use-dropzone-state.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{dropzone as i,dropzoneDropzoneInner as a,dropzoneDropzoneRoot as o,dropzoneHint as s,dropzoneIcon as c,dropzoneIconSlot as l,dropzoneLoader as u,dropzoneLoaderRoot as d,dropzoneRoot as f,dropzoneSubtitle as p,dropzoneTextSlot as m,dropzoneTitle as h}from"@mage-ui/styled-system/recipes";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{useCallback as y,useRef as b}from"react";import{Dropzone as x}from"@mantine/dropzone";const S=({data:S,headers:C,children:w,initialFiles:T={},maxFiles:E,accept:D,url:O,title:k,subtitle:A,hint:j,inputId:M,onFileUploaded:N,classNames:P})=>{let F=b(null),{files:I,isUploading:L,uploadMultipleFiles:R,removeFile:z}=n(O,T,N,C),B=y(async e=>{let t=Object.keys(I).length,n=(E??1/0)-t;n<=0||await R(e.slice(0,n),S)},[R,S,I,E]);return v(`div`,{className:r(P?.dropzone??i(),P?.root??f()),children:[v(x,{ref:F,onDrop:B,disabled:Object.keys(I).length>=(E??1/0),loading:L,accept:D,preventDropOnDocument:!0,inputProps:{id:M},classNames:{root:P?.dropzoneDropzone?.root??r(o(),`group`),inner:P?.dropzoneDropzone?.inner??a()},children:[_(`div`,{className:P?.iconSlot??l(),children:L?_(t,{classNames:{loader:P?.loader?.loader??u(),root:P?.loader?.root??d()}}):v(g,{children:[_(x.Idle,{children:_(e,{name:`mage-dropzone-upload-01`,path:`/icons/sprite-mage.svg`,classNames:{icon:P?.dropzoneIcon?.icon??c()}})}),_(x.Accept,{children:_(e,{name:`mage-dropzone-thumbs-up`,path:`/icons/sprite-mage.svg`,classNames:{icon:P?.dropzoneIcon?.icon??c()}})}),_(x.Reject,{children:_(e,{name:`mage-dropzone-thumbs-down`,path:`/icons/sprite-mage.svg`,classNames:{icon:P?.dropzoneIcon?.icon??c()}})})]})}),v(`div`,{className:P?.textSlot??m(),children:[_(`span`,{className:P?.title??h(),children:k||`Upload files`}),_(`span`,{className:P?.subtitle??p(),children:A||`Drag images here or click to select files`}),_(`span`,{className:P?.hint??s(),children:j||`Attach as many files as you like, each file should not exceed 5mb`})]})]}),w({files:I,isUploading:L,removeFile:z})]})};export{S as Dropzone};
|
|
2
2
|
//# sourceMappingURL=Dropzone.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropzone.mjs","names":["Dropzone","MantineDropzone"],"sources":["../../../../src/components/controls/dropzone/Dropzone.tsx"],"sourcesContent":["import { type ReactNode, useCallback, useRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dropzone,\n dropzoneDropzoneInner,\n dropzoneDropzoneRoot,\n dropzoneHint,\n dropzoneIcon,\n dropzoneIconSlot,\n dropzoneLoader,\n dropzoneLoaderRoot,\n dropzoneRoot,\n dropzoneSubtitle,\n dropzoneTextSlot,\n dropzoneTitle,\n} from '@mage-ui/styled-system/recipes';\nimport { Dropzone as MantineDropzone } from '@mantine/dropzone';\nimport {\n Icon,\n type IconProps,\n LoaderOval,\n type LoaderOvalProps,\n} from '@/components/data-display';\n\nimport { useDropzoneState } from './use-dropzone-state';\n\nexport type FileData = {\n name: string;\n size: number;\n type: string;\n date: string;\n uploaded: boolean;\n loading: boolean;\n url: string;\n error?: string;\n progress?: number; // (0-100)\n};\n\nexport type DropzoneProps = {\n children: ({\n files,\n isUploading,\n removeFile,\n }: {\n files: Record<string, FileData>;\n isUploading: boolean;\n removeFile: (fileName: string) => void;\n }) => ReactNode;\n initialFiles?: Record<string, FileData>;\n maxFiles?: number;\n data?: Record<string, unknown>;\n url: string;\n accept?: string[];\n preventDropOnDocument?: boolean;\n title?: ReactNode;\n subtitle?: ReactNode;\n hint?: ReactNode;\n inputId?: string;\n onFileUploaded?: (file: FileData) => void;\n classNames?: {\n dropzone?: string;\n root?: string;\n dropzoneDropzone?: {\n root?: string;\n inner?: string;\n };\n iconSlot?: string;\n dropzoneIcon?: IconProps['classNames'];\n loader?: LoaderOvalProps['classNames'];\n textSlot?: string;\n title?: string;\n subtitle?: string;\n hint?: string;\n };\n};\n\nexport const Dropzone = ({\n data,\n children,\n initialFiles = {},\n maxFiles,\n accept,\n url,\n title,\n subtitle,\n hint,\n inputId,\n onFileUploaded,\n classNames,\n}: DropzoneProps) => {\n const dropzoneRef = useRef<HTMLDivElement>(null);\n const { files, isUploading, uploadMultipleFiles, removeFile } =\n useDropzoneState(url, initialFiles, onFileUploaded);\n const handleDrop = useCallback(\n async (acceptedFiles: File[]) => {\n const currentCount = Object.keys(files).length;\n const max = maxFiles ?? Number.POSITIVE_INFINITY;\n const remainingSlots = max - currentCount;\n if (remainingSlots <= 0) {\n return;\n }\n const filesToUpload = acceptedFiles.slice(0, remainingSlots);\n await uploadMultipleFiles(filesToUpload, data);\n },\n [uploadMultipleFiles, data, files, maxFiles],\n );\n\n return (\n <div\n className={cx(\n classNames?.dropzone ?? dropzone(),\n classNames?.root ?? dropzoneRoot(),\n )}\n >\n <MantineDropzone\n ref={dropzoneRef}\n onDrop={handleDrop}\n disabled={\n Object.keys(files).length >= (maxFiles ?? Number.POSITIVE_INFINITY)\n }\n loading={isUploading}\n accept={accept}\n preventDropOnDocument\n inputProps={{ id: inputId }}\n classNames={{\n root:\n classNames?.dropzoneDropzone?.root ??\n cx(dropzoneDropzoneRoot(), 'group'),\n inner: classNames?.dropzoneDropzone?.inner ?? dropzoneDropzoneInner(),\n }}\n >\n <div className={classNames?.iconSlot ?? dropzoneIconSlot()}>\n {isUploading ? (\n <LoaderOval\n classNames={{\n loader: classNames?.loader?.loader ?? dropzoneLoader(),\n root: classNames?.loader?.root ?? dropzoneLoaderRoot(),\n }}\n />\n ) : (\n <>\n <MantineDropzone.Idle>\n <Icon\n name='mage-dropzone-upload-01'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.dropzoneIcon?.icon ?? dropzoneIcon(),\n }}\n />\n </MantineDropzone.Idle>\n <MantineDropzone.Accept>\n <Icon\n name='mage-dropzone-thumbs-up'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.dropzoneIcon?.icon ?? dropzoneIcon(),\n }}\n />\n </MantineDropzone.Accept>\n <MantineDropzone.Reject>\n <Icon\n name='mage-dropzone-thumbs-down'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.dropzoneIcon?.icon ?? dropzoneIcon(),\n }}\n />\n </MantineDropzone.Reject>\n </>\n )}\n </div>\n <div className={classNames?.textSlot ?? dropzoneTextSlot()}>\n <span className={classNames?.title ?? dropzoneTitle()}>\n {title || 'Upload files'}\n </span>\n <span className={classNames?.subtitle ?? dropzoneSubtitle()}>\n {subtitle || 'Drag images here or click to select files'}\n </span>\n <span className={classNames?.hint ?? dropzoneHint()}>\n {hint ||\n 'Attach as many files as you like, each file should not exceed 5mb'}\n </span>\n </div>\n </MantineDropzone>\n {children({ files, isUploading, removeFile })}\n </div>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dropzone.mjs","names":["Dropzone","MantineDropzone"],"sources":["../../../../src/components/controls/dropzone/Dropzone.tsx"],"sourcesContent":["import { type ReactNode, useCallback, useRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dropzone,\n dropzoneDropzoneInner,\n dropzoneDropzoneRoot,\n dropzoneHint,\n dropzoneIcon,\n dropzoneIconSlot,\n dropzoneLoader,\n dropzoneLoaderRoot,\n dropzoneRoot,\n dropzoneSubtitle,\n dropzoneTextSlot,\n dropzoneTitle,\n} from '@mage-ui/styled-system/recipes';\nimport { Dropzone as MantineDropzone } from '@mantine/dropzone';\nimport {\n Icon,\n type IconProps,\n LoaderOval,\n type LoaderOvalProps,\n} from '@/components/data-display';\n\nimport { useDropzoneState } from './use-dropzone-state';\n\nexport type FileData = {\n name: string;\n size: number;\n type: string;\n date: string;\n uploaded: boolean;\n loading: boolean;\n url: string;\n error?: string;\n progress?: number; // (0-100)\n};\n\nexport type DropzoneProps = {\n children: ({\n files,\n isUploading,\n removeFile,\n }: {\n files: Record<string, FileData>;\n isUploading: boolean;\n removeFile: (fileName: string) => void;\n }) => ReactNode;\n initialFiles?: Record<string, FileData>;\n maxFiles?: number;\n data?: Record<string, unknown>;\n headers?: Record<string, string>;\n url: string;\n accept?: string[];\n preventDropOnDocument?: boolean;\n title?: ReactNode;\n subtitle?: ReactNode;\n hint?: ReactNode;\n inputId?: string;\n onFileUploaded?: (file: FileData) => void;\n classNames?: {\n dropzone?: string;\n root?: string;\n dropzoneDropzone?: {\n root?: string;\n inner?: string;\n };\n iconSlot?: string;\n dropzoneIcon?: IconProps['classNames'];\n loader?: LoaderOvalProps['classNames'];\n textSlot?: string;\n title?: string;\n subtitle?: string;\n hint?: string;\n };\n};\n\nexport const Dropzone = ({\n data,\n headers,\n children,\n initialFiles = {},\n maxFiles,\n accept,\n url,\n title,\n subtitle,\n hint,\n inputId,\n onFileUploaded,\n classNames,\n}: DropzoneProps) => {\n const dropzoneRef = useRef<HTMLDivElement>(null);\n const { files, isUploading, uploadMultipleFiles, removeFile } =\n useDropzoneState(url, initialFiles, onFileUploaded, headers);\n const handleDrop = useCallback(\n async (acceptedFiles: File[]) => {\n const currentCount = Object.keys(files).length;\n const max = maxFiles ?? Number.POSITIVE_INFINITY;\n const remainingSlots = max - currentCount;\n if (remainingSlots <= 0) {\n return;\n }\n const filesToUpload = acceptedFiles.slice(0, remainingSlots);\n await uploadMultipleFiles(filesToUpload, data);\n },\n [uploadMultipleFiles, data, files, maxFiles],\n );\n\n return (\n <div\n className={cx(\n classNames?.dropzone ?? dropzone(),\n classNames?.root ?? dropzoneRoot(),\n )}\n >\n <MantineDropzone\n ref={dropzoneRef}\n onDrop={handleDrop}\n disabled={\n Object.keys(files).length >= (maxFiles ?? Number.POSITIVE_INFINITY)\n }\n loading={isUploading}\n accept={accept}\n preventDropOnDocument\n inputProps={{ id: inputId }}\n classNames={{\n root:\n classNames?.dropzoneDropzone?.root ??\n cx(dropzoneDropzoneRoot(), 'group'),\n inner: classNames?.dropzoneDropzone?.inner ?? dropzoneDropzoneInner(),\n }}\n >\n <div className={classNames?.iconSlot ?? dropzoneIconSlot()}>\n {isUploading ? (\n <LoaderOval\n classNames={{\n loader: classNames?.loader?.loader ?? dropzoneLoader(),\n root: classNames?.loader?.root ?? dropzoneLoaderRoot(),\n }}\n />\n ) : (\n <>\n <MantineDropzone.Idle>\n <Icon\n name='mage-dropzone-upload-01'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.dropzoneIcon?.icon ?? dropzoneIcon(),\n }}\n />\n </MantineDropzone.Idle>\n <MantineDropzone.Accept>\n <Icon\n name='mage-dropzone-thumbs-up'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.dropzoneIcon?.icon ?? dropzoneIcon(),\n }}\n />\n </MantineDropzone.Accept>\n <MantineDropzone.Reject>\n <Icon\n name='mage-dropzone-thumbs-down'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.dropzoneIcon?.icon ?? dropzoneIcon(),\n }}\n />\n </MantineDropzone.Reject>\n </>\n )}\n </div>\n <div className={classNames?.textSlot ?? dropzoneTextSlot()}>\n <span className={classNames?.title ?? dropzoneTitle()}>\n {title || 'Upload files'}\n </span>\n <span className={classNames?.subtitle ?? dropzoneSubtitle()}>\n {subtitle || 'Drag images here or click to select files'}\n </span>\n <span className={classNames?.hint ?? dropzoneHint()}>\n {hint ||\n 'Attach as many files as you like, each file should not exceed 5mb'}\n </span>\n </div>\n </MantineDropzone>\n {children({ files, isUploading, removeFile })}\n </div>\n );\n};\n"],"mappings":"wrBA8EA,MAAaA,GAAY,CACvB,OACA,UACA,WACA,eAAe,EAAE,CACjB,WACA,SACA,MACA,QACA,WACA,OACA,UACA,iBACA,gBACmB,CACnB,IAAM,EAAc,EAAuB,KAAK,CAC1C,CAAE,QAAO,cAAa,sBAAqB,cAC/C,EAAiB,EAAK,EAAc,EAAgB,EAAQ,CACxD,EAAa,EACjB,KAAO,IAA0B,CAC/B,IAAM,EAAe,OAAO,KAAK,EAAM,CAAC,OAElC,GADM,GAAY,KACK,EACzB,GAAkB,GAItB,MAAM,EADgB,EAAc,MAAM,EAAG,EAAe,CACnB,EAAK,EAEhD,CAAC,EAAqB,EAAM,EAAO,EAAS,CAC7C,CAED,OACE,EAAC,MAAD,CACE,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,UAJH,CAME,EAACC,EAAD,CACE,IAAK,EACL,OAAQ,EACR,SACE,OAAO,KAAK,EAAM,CAAC,SAAW,GAAY,KAE5C,QAAS,EACD,SACR,sBAAA,GACA,WAAY,CAAE,GAAI,EAAS,CAC3B,WAAY,CACV,KACE,GAAY,kBAAkB,MAC9B,EAAG,GAAsB,CAAE,QAAQ,CACrC,MAAO,GAAY,kBAAkB,OAAS,GAAuB,CACtE,UAfH,CAiBE,EAAC,MAAD,CAAK,UAAW,GAAY,UAAY,GAAkB,UACvD,EACC,EAAC,EAAD,CACE,WAAY,CACV,OAAQ,GAAY,QAAQ,QAAU,GAAgB,CACtD,KAAM,GAAY,QAAQ,MAAQ,GAAoB,CACvD,CACD,CAAA,CAEF,EAAA,EAAA,CAAA,SAAA,CACE,EAACA,EAAgB,KAAjB,CAAA,SACE,EAAC,EAAD,CACE,KAAK,0BACL,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,cAAc,MAAQ,GAAc,CACvD,CACD,CAAA,CACmB,CAAA,CACvB,EAACA,EAAgB,OAAjB,CAAA,SACE,EAAC,EAAD,CACE,KAAK,0BACL,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,cAAc,MAAQ,GAAc,CACvD,CACD,CAAA,CACqB,CAAA,CACzB,EAACA,EAAgB,OAAjB,CAAA,SACE,EAAC,EAAD,CACE,KAAK,4BACL,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,cAAc,MAAQ,GAAc,CACvD,CACD,CAAA,CACqB,CAAA,CACxB,CAAA,CAAA,CAED,CAAA,CACN,EAAC,MAAD,CAAK,UAAW,GAAY,UAAY,GAAkB,UAA1D,CACE,EAAC,OAAD,CAAM,UAAW,GAAY,OAAS,GAAe,UAClD,GAAS,eACL,CAAA,CACP,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,GAAY,4CACR,CAAA,CACP,EAAC,OAAD,CAAM,UAAW,GAAY,MAAQ,GAAc,UAChD,GACC,oEACG,CAAA,CACH,GACU,GACjB,EAAS,CAAE,QAAO,cAAa,aAAY,CAAC,CACzC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=async(e,t,n,r)=>{let
|
|
1
|
+
const e=async(e,t,n,r,i)=>{let a=new FormData;a.append(`file`,t),n&&Object.entries(n).forEach(([e,t])=>{a.append(e,t)});let o=new XMLHttpRequest;return new Promise((t,n)=>{if(o.readyState!==0){n(Error(`Ya hay una solicitud en progreso`));return}o.upload.addEventListener(`progress`,e=>{e.lengthComputable&&r&&r({loaded:e.loaded,total:e.total,percentage:Math.round(e.loaded/e.total*100)})}),o.addEventListener(`load`,()=>{if(o.status>=200&&o.status<300)try{t(JSON.parse(o.responseText))}catch{n(Error(`Error al parsear la respuesta`))}else try{let e=JSON.parse(o.responseText);n(Error(e.error||`Error al subir el archivo`))}catch{n(Error(`Error ${o.status}: ${o.statusText}`))}}),o.addEventListener(`error`,()=>{n(Error(`Error de red al subir el archivo`))}),o.addEventListener(`abort`,()=>{n(Error(`Subida cancelada`))}),o.timeout=3e4,o.addEventListener(`timeout`,()=>{n(Error(`Tiempo de espera agotado`))});try{o.open(`POST`,e),i&&Object.entries(i).forEach(([e,t])=>{o.setRequestHeader(e,t)}),o.send(a)}catch{n(Error(`Error al iniciar la solicitud`))}})};export{e as uploadFile};
|
|
2
2
|
//# sourceMappingURL=upload-service.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-service.mjs","names":[],"sources":["../../../../src/components/controls/dropzone/upload-service.ts"],"sourcesContent":["export type UploadResponse = {\n body: {\n url: string;\n };\n};\n\nexport type UploadProgress = {\n loaded: number;\n total: number;\n percentage: number;\n};\n\nexport const uploadFile = async (\n url: string,\n file: File,\n data?: Record<string, unknown>,\n onProgress?: (progress: UploadProgress) => void,\n): Promise<UploadResponse> => {\n const formData = new FormData();\n formData.append('file', file);\n if (data) {\n Object.entries(data).forEach(([key, value]) => {\n formData.append(key, value as string);\n });\n }\n const xhr = new XMLHttpRequest();\n\n return new Promise((resolve, reject) => {\n // Prevenir múltiples solicitudes simultáneas\n if (xhr.readyState !== 0) {\n reject(new Error('Ya hay una solicitud en progreso'));\n return;\n }\n\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable && onProgress) {\n const progress: UploadProgress = {\n loaded: event.loaded,\n total: event.total,\n percentage: Math.round((event.loaded / event.total) * 100),\n };\n onProgress(progress);\n }\n });\n\n xhr.addEventListener('load', () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n try {\n const response = JSON.parse(xhr.responseText);\n resolve(response);\n } catch (_) {\n reject(new Error('Error al parsear la respuesta'));\n }\n } else {\n try {\n const errorData = JSON.parse(xhr.responseText);\n reject(new Error(errorData.error || 'Error al subir el archivo'));\n } catch {\n reject(new Error(`Error ${xhr.status}: ${xhr.statusText}`));\n }\n }\n });\n\n xhr.addEventListener('error', () => {\n reject(new Error('Error de red al subir el archivo'));\n });\n\n xhr.addEventListener('abort', () => {\n reject(new Error('Subida cancelada'));\n });\n\n // Configurar timeout para evitar solicitudes colgadas\n xhr.timeout = 30000; // 30 segundos\n xhr.addEventListener('timeout', () => {\n reject(new Error('Tiempo de espera agotado'));\n });\n\n try {\n xhr.open('POST', url);\n xhr.send(formData);\n } catch (_) {\n reject(new Error('Error al iniciar la solicitud'));\n }\n });\n};\n"],"mappings":"AAYA,MAAa,EAAa,MACxB,EACA,EACA,EACA,IAC4B,CAC5B,IAAM,EAAW,IAAI,SACrB,EAAS,OAAO,OAAQ,EAAK,CACzB,GACF,OAAO,QAAQ,EAAK,CAAC,SAAS,CAAC,EAAK,KAAW,CAC7C,EAAS,OAAO,EAAK,EAAgB,EACrC,CAEJ,IAAM,EAAM,IAAI,eAEhB,OAAO,IAAI,SAAS,EAAS,IAAW,CAEtC,GAAI,EAAI,aAAe,EAAG,CACxB,EAAW,MAAM,mCAAmC,CAAC,CACrD,OAGF,EAAI,OAAO,iBAAiB,WAAa,GAAU,CAC7C,EAAM,kBAAoB,GAM5B,EALiC,CAC/B,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,WAAY,KAAK,MAAO,EAAM,OAAS,EAAM,MAAS,IAAI,CAC3D,CACmB,EAEtB,CAEF,EAAI,iBAAiB,WAAc,CACjC,GAAI,EAAI,QAAU,KAAO,EAAI,OAAS,IACpC,GAAI,CAEF,EADiB,KAAK,MAAM,EAAI,aAAa,CAC5B,MACP,CACV,EAAW,MAAM,gCAAgC,CAAC,MAGpD,GAAI,CACF,IAAM,EAAY,KAAK,MAAM,EAAI,aAAa,CAC9C,EAAW,MAAM,EAAU,OAAS,4BAA4B,CAAC,MAC3D,CACN,EAAW,MAAM,SAAS,EAAI,OAAO,IAAI,EAAI,aAAa,CAAC,GAG/D,CAEF,EAAI,iBAAiB,YAAe,CAClC,EAAW,MAAM,mCAAmC,CAAC,EACrD,CAEF,EAAI,iBAAiB,YAAe,CAClC,EAAW,MAAM,mBAAmB,CAAC,EACrC,CAGF,EAAI,QAAU,IACd,EAAI,iBAAiB,cAAiB,CACpC,EAAW,MAAM,2BAA2B,CAAC,EAC7C,CAEF,GAAI,CACF,EAAI,KAAK,OAAQ,EAAI,
|
|
1
|
+
{"version":3,"file":"upload-service.mjs","names":[],"sources":["../../../../src/components/controls/dropzone/upload-service.ts"],"sourcesContent":["export type UploadResponse = {\n body: {\n url: string;\n };\n};\n\nexport type UploadProgress = {\n loaded: number;\n total: number;\n percentage: number;\n};\n\nexport const uploadFile = async (\n url: string,\n file: File,\n data?: Record<string, unknown>,\n onProgress?: (progress: UploadProgress) => void,\n headers?: Record<string, string>,\n): Promise<UploadResponse> => {\n const formData = new FormData();\n formData.append('file', file);\n if (data) {\n Object.entries(data).forEach(([key, value]) => {\n formData.append(key, value as string);\n });\n }\n const xhr = new XMLHttpRequest();\n\n return new Promise((resolve, reject) => {\n // Prevenir múltiples solicitudes simultáneas\n if (xhr.readyState !== 0) {\n reject(new Error('Ya hay una solicitud en progreso'));\n return;\n }\n\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable && onProgress) {\n const progress: UploadProgress = {\n loaded: event.loaded,\n total: event.total,\n percentage: Math.round((event.loaded / event.total) * 100),\n };\n onProgress(progress);\n }\n });\n\n xhr.addEventListener('load', () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n try {\n const response = JSON.parse(xhr.responseText);\n resolve(response);\n } catch (_) {\n reject(new Error('Error al parsear la respuesta'));\n }\n } else {\n try {\n const errorData = JSON.parse(xhr.responseText);\n reject(new Error(errorData.error || 'Error al subir el archivo'));\n } catch {\n reject(new Error(`Error ${xhr.status}: ${xhr.statusText}`));\n }\n }\n });\n\n xhr.addEventListener('error', () => {\n reject(new Error('Error de red al subir el archivo'));\n });\n\n xhr.addEventListener('abort', () => {\n reject(new Error('Subida cancelada'));\n });\n\n // Configurar timeout para evitar solicitudes colgadas\n xhr.timeout = 30000; // 30 segundos\n xhr.addEventListener('timeout', () => {\n reject(new Error('Tiempo de espera agotado'));\n });\n\n try {\n xhr.open('POST', url);\n if (headers) {\n Object.entries(headers).forEach(([key, value]) => {\n xhr.setRequestHeader(key, value);\n });\n }\n xhr.send(formData);\n } catch (_) {\n reject(new Error('Error al iniciar la solicitud'));\n }\n });\n};\n"],"mappings":"AAYA,MAAa,EAAa,MACxB,EACA,EACA,EACA,EACA,IAC4B,CAC5B,IAAM,EAAW,IAAI,SACrB,EAAS,OAAO,OAAQ,EAAK,CACzB,GACF,OAAO,QAAQ,EAAK,CAAC,SAAS,CAAC,EAAK,KAAW,CAC7C,EAAS,OAAO,EAAK,EAAgB,EACrC,CAEJ,IAAM,EAAM,IAAI,eAEhB,OAAO,IAAI,SAAS,EAAS,IAAW,CAEtC,GAAI,EAAI,aAAe,EAAG,CACxB,EAAW,MAAM,mCAAmC,CAAC,CACrD,OAGF,EAAI,OAAO,iBAAiB,WAAa,GAAU,CAC7C,EAAM,kBAAoB,GAM5B,EALiC,CAC/B,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,WAAY,KAAK,MAAO,EAAM,OAAS,EAAM,MAAS,IAAI,CAC3D,CACmB,EAEtB,CAEF,EAAI,iBAAiB,WAAc,CACjC,GAAI,EAAI,QAAU,KAAO,EAAI,OAAS,IACpC,GAAI,CAEF,EADiB,KAAK,MAAM,EAAI,aAAa,CAC5B,MACP,CACV,EAAW,MAAM,gCAAgC,CAAC,MAGpD,GAAI,CACF,IAAM,EAAY,KAAK,MAAM,EAAI,aAAa,CAC9C,EAAW,MAAM,EAAU,OAAS,4BAA4B,CAAC,MAC3D,CACN,EAAW,MAAM,SAAS,EAAI,OAAO,IAAI,EAAI,aAAa,CAAC,GAG/D,CAEF,EAAI,iBAAiB,YAAe,CAClC,EAAW,MAAM,mCAAmC,CAAC,EACrD,CAEF,EAAI,iBAAiB,YAAe,CAClC,EAAW,MAAM,mBAAmB,CAAC,EACrC,CAGF,EAAI,QAAU,IACd,EAAI,iBAAiB,cAAiB,CACpC,EAAW,MAAM,2BAA2B,CAAC,EAC7C,CAEF,GAAI,CACF,EAAI,KAAK,OAAQ,EAAI,CACjB,GACF,OAAO,QAAQ,EAAQ,CAAC,SAAS,CAAC,EAAK,KAAW,CAChD,EAAI,iBAAiB,EAAK,EAAM,EAChC,CAEJ,EAAI,KAAK,EAAS,MACR,CACV,EAAW,MAAM,gCAAgC,CAAC,GAEpD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{uploadFile as e}from"./upload-service.mjs";import{useCallback as t,useRef as n,useState as r}from"react";const i=(i,a={},o)=>{let[
|
|
1
|
+
import{uploadFile as e}from"./upload-service.mjs";import{useCallback as t,useRef as n,useState as r}from"react";const i=(i,a={},o,s)=>{let[c,l]=r((()=>{if(!a)return{};if(typeof a==`object`&&!(`name`in a))return a;if(typeof a==`object`&&`name`in a){let e=a;return{[e.name]:{name:e.name,size:e.size,type:e.type,date:e.date,uploaded:e.uploaded??!0,loading:e.loading??!1,url:e.url,error:e.error,progress:e.progress}}}return{}})()),[u,d]=r(!1),f=n(new Set),p=t((e,t)=>{let n={name:e.name,size:e.size,type:e.type,url:``,uploaded:!1,loading:!1,progress:0,date:t??new Date().toLocaleString(`es-ES`,{timeZone:`Europe/Madrid`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})};return l(t=>({...t,[e.name]:n})),e.name},[]),m=t((e,t)=>{l(n=>({...n,[e]:{...n[e],progress:t,loading:t<100}}))},[]),h=t((e,t)=>{l(n=>({...n,[e]:{...n[e],uploaded:!0,loading:!1,progress:100,url:t}}))},[]),g=t((e,t)=>{l(n=>({...n,[e]:{...n[e],uploaded:!1,loading:!1,progress:0,error:t}}))},[]),_=t(e=>{l(t=>{let n={...t};return delete n[e],n}),f.current.delete(e)},[]),v=t(()=>{l({}),f.current.clear()},[]),y=t(e=>f.current.has(e),[]),b=t(e=>{f.current.add(e)},[]),x=t(e=>{f.current.delete(e)},[]),S=t(async(t,n)=>{let r=new Date().toLocaleString(`es-ES`,{timeZone:`Europe/Madrid`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),a=p(t,r);b(a);try{let{body:c}=await e(i,t,n,e=>{m(a,e.percentage)},s);h(a,c.url),o?.({name:t.name,size:t.size,type:t.type,date:r,uploaded:!0,loading:!1,progress:100,url:c.url})}catch(e){console.error(`Error al subir archivo:`,e),g(a,e instanceof Error?e.message:`Error desconocido`)}finally{x(a)}},[p,b,m,h,g,x,o,i,s]);return{files:c,isUploading:u,setIsUploading:d,addFile:p,updateFileProgress:m,markFileAsUploaded:h,markFileAsError:g,removeFile:_,clearFiles:v,isFileUploading:y,addToUploadQueue:b,removeFromUploadQueue:x,uploadFileToServer:S,uploadMultipleFiles:t(async(e,t)=>{if(u){console.warn(`Ya hay una subida en progreso`);return}d(!0);try{for(let n of e)await S(n,t)}finally{d(!1)}},[u,d,S])}};export{i as useDropzoneState};
|
|
2
2
|
//# sourceMappingURL=use-dropzone-state.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dropzone-state.mjs","names":[],"sources":["../../../../src/components/controls/dropzone/use-dropzone-state.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport type { FileData } from './Dropzone';\nimport { uploadFile } from './upload-service';\n\nexport const useDropzoneState = (\n url: string,\n initialFiles: Record<string, FileData> | FileData | null | undefined = {},\n onFileUploaded?: (file: FileData) => void,\n) => {\n const normalizeInitialFiles = (): Record<string, FileData> => {\n if (!initialFiles) return {};\n\n if (typeof initialFiles === 'object' && !('name' in initialFiles)) {\n return initialFiles as Record<string, FileData>;\n }\n\n if (typeof initialFiles === 'object' && 'name' in initialFiles) {\n const fileData = initialFiles as FileData;\n return {\n [fileData.name]: {\n name: fileData.name,\n size: fileData.size,\n type: fileData.type,\n date: fileData.date,\n uploaded: fileData.uploaded ?? true,\n loading: fileData.loading ?? false,\n url: fileData.url,\n error: fileData.error,\n progress: fileData.progress,\n },\n };\n }\n\n return {};\n };\n\n const [files, setFiles] = useState<Record<string, FileData>>(\n normalizeInitialFiles(),\n );\n const [isUploading, setIsUploading] = useState(false);\n const uploadQueue = useRef<Set<string>>(new Set());\n\n const addFile = useCallback((file: File, date?: string) => {\n const fileData: FileData = {\n name: file.name,\n size: file.size,\n type: file.type,\n url: '',\n uploaded: false,\n loading: false,\n progress: 0,\n date:\n date ??\n new Date().toLocaleString('es-ES', {\n timeZone: 'Europe/Madrid',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n }),\n };\n\n setFiles((prev) => ({\n ...prev,\n [file.name]: fileData,\n }));\n\n return file.name;\n }, []);\n\n const updateFileProgress = useCallback(\n (fileName: string, progress: number) => {\n setFiles((prev) => ({\n ...prev,\n [fileName]: {\n ...prev[fileName],\n progress,\n loading: progress < 100,\n },\n }));\n },\n [],\n );\n\n const markFileAsUploaded = useCallback((fileName: string, url: string) => {\n setFiles((prev) => ({\n ...prev,\n [fileName]: {\n ...prev[fileName],\n uploaded: true,\n loading: false,\n progress: 100,\n url,\n },\n }));\n }, []);\n\n const markFileAsError = useCallback((fileName: string, error: string) => {\n setFiles((prev) => ({\n ...prev,\n [fileName]: {\n ...prev[fileName],\n uploaded: false,\n loading: false,\n progress: 0,\n error,\n },\n }));\n }, []);\n\n const removeFile = useCallback((fileName: string) => {\n setFiles((prev) => {\n const newFiles = { ...prev };\n delete newFiles[fileName];\n return newFiles;\n });\n uploadQueue.current.delete(fileName);\n }, []);\n\n const clearFiles = useCallback(() => {\n setFiles({});\n uploadQueue.current.clear();\n }, []);\n\n const isFileUploading = useCallback((fileName: string) => {\n return uploadQueue.current.has(fileName);\n }, []);\n\n const addToUploadQueue = useCallback((fileName: string) => {\n uploadQueue.current.add(fileName);\n }, []);\n\n const removeFromUploadQueue = useCallback((fileName: string) => {\n uploadQueue.current.delete(fileName);\n }, []);\n\n const uploadFileToServer = useCallback(\n async (file: File, data?: Record<string, unknown>) => {\n const date = new Date().toLocaleString('es-ES', {\n timeZone: 'Europe/Madrid',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n });\n const fileName = addFile(file, date);\n addToUploadQueue(fileName);\n\n try {\n const { body } = await uploadFile(url
|
|
1
|
+
{"version":3,"file":"use-dropzone-state.mjs","names":[],"sources":["../../../../src/components/controls/dropzone/use-dropzone-state.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport type { FileData } from './Dropzone';\nimport { uploadFile } from './upload-service';\n\nexport const useDropzoneState = (\n url: string,\n initialFiles: Record<string, FileData> | FileData | null | undefined = {},\n onFileUploaded?: (file: FileData) => void,\n headers?: Record<string, string>,\n) => {\n const normalizeInitialFiles = (): Record<string, FileData> => {\n if (!initialFiles) return {};\n\n if (typeof initialFiles === 'object' && !('name' in initialFiles)) {\n return initialFiles as Record<string, FileData>;\n }\n\n if (typeof initialFiles === 'object' && 'name' in initialFiles) {\n const fileData = initialFiles as FileData;\n return {\n [fileData.name]: {\n name: fileData.name,\n size: fileData.size,\n type: fileData.type,\n date: fileData.date,\n uploaded: fileData.uploaded ?? true,\n loading: fileData.loading ?? false,\n url: fileData.url,\n error: fileData.error,\n progress: fileData.progress,\n },\n };\n }\n\n return {};\n };\n\n const [files, setFiles] = useState<Record<string, FileData>>(\n normalizeInitialFiles(),\n );\n const [isUploading, setIsUploading] = useState(false);\n const uploadQueue = useRef<Set<string>>(new Set());\n\n const addFile = useCallback((file: File, date?: string) => {\n const fileData: FileData = {\n name: file.name,\n size: file.size,\n type: file.type,\n url: '',\n uploaded: false,\n loading: false,\n progress: 0,\n date:\n date ??\n new Date().toLocaleString('es-ES', {\n timeZone: 'Europe/Madrid',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n }),\n };\n\n setFiles((prev) => ({\n ...prev,\n [file.name]: fileData,\n }));\n\n return file.name;\n }, []);\n\n const updateFileProgress = useCallback(\n (fileName: string, progress: number) => {\n setFiles((prev) => ({\n ...prev,\n [fileName]: {\n ...prev[fileName],\n progress,\n loading: progress < 100,\n },\n }));\n },\n [],\n );\n\n const markFileAsUploaded = useCallback((fileName: string, url: string) => {\n setFiles((prev) => ({\n ...prev,\n [fileName]: {\n ...prev[fileName],\n uploaded: true,\n loading: false,\n progress: 100,\n url,\n },\n }));\n }, []);\n\n const markFileAsError = useCallback((fileName: string, error: string) => {\n setFiles((prev) => ({\n ...prev,\n [fileName]: {\n ...prev[fileName],\n uploaded: false,\n loading: false,\n progress: 0,\n error,\n },\n }));\n }, []);\n\n const removeFile = useCallback((fileName: string) => {\n setFiles((prev) => {\n const newFiles = { ...prev };\n delete newFiles[fileName];\n return newFiles;\n });\n uploadQueue.current.delete(fileName);\n }, []);\n\n const clearFiles = useCallback(() => {\n setFiles({});\n uploadQueue.current.clear();\n }, []);\n\n const isFileUploading = useCallback((fileName: string) => {\n return uploadQueue.current.has(fileName);\n }, []);\n\n const addToUploadQueue = useCallback((fileName: string) => {\n uploadQueue.current.add(fileName);\n }, []);\n\n const removeFromUploadQueue = useCallback((fileName: string) => {\n uploadQueue.current.delete(fileName);\n }, []);\n\n const uploadFileToServer = useCallback(\n async (file: File, data?: Record<string, unknown>) => {\n const date = new Date().toLocaleString('es-ES', {\n timeZone: 'Europe/Madrid',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n });\n const fileName = addFile(file, date);\n addToUploadQueue(fileName);\n\n try {\n const { body } = await uploadFile(\n url,\n file,\n data,\n (progress) => {\n updateFileProgress(fileName, progress.percentage);\n },\n headers,\n );\n\n markFileAsUploaded(fileName, body.url);\n onFileUploaded?.({\n name: file.name,\n size: file.size,\n type: file.type,\n date,\n uploaded: true,\n loading: false,\n progress: 100,\n url: body.url,\n });\n } catch (error) {\n console.error('Error al subir archivo:', error);\n markFileAsError(\n fileName,\n error instanceof Error ? error.message : 'Error desconocido',\n );\n } finally {\n removeFromUploadQueue(fileName);\n }\n },\n [\n addFile,\n addToUploadQueue,\n updateFileProgress,\n markFileAsUploaded,\n markFileAsError,\n removeFromUploadQueue,\n onFileUploaded,\n url,\n headers,\n ],\n );\n\n const uploadMultipleFiles = useCallback(\n async (acceptedFiles: File[], data?: Record<string, unknown>) => {\n if (isUploading) {\n console.warn('Ya hay una subida en progreso');\n return;\n }\n\n setIsUploading(true);\n\n try {\n for (const file of acceptedFiles) {\n await uploadFileToServer(file, data);\n }\n } finally {\n setIsUploading(false);\n }\n },\n [isUploading, setIsUploading, uploadFileToServer],\n );\n\n return {\n files,\n isUploading,\n setIsUploading,\n addFile,\n updateFileProgress,\n markFileAsUploaded,\n markFileAsError,\n removeFile,\n clearFiles,\n isFileUploading,\n addToUploadQueue,\n removeFromUploadQueue,\n uploadFileToServer,\n uploadMultipleFiles,\n };\n};\n"],"mappings":"gHAKA,MAAa,GACX,EACA,EAAuE,EAAE,CACzE,EACA,IACG,CA4BH,GAAM,CAAC,EAAO,GAAY,OA3BoC,CAC5D,GAAI,CAAC,EAAc,MAAO,EAAE,CAE5B,GAAI,OAAO,GAAiB,UAAY,EAAE,SAAU,GAClD,OAAO,EAGT,GAAI,OAAO,GAAiB,UAAY,SAAU,EAAc,CAC9D,IAAM,EAAW,EACjB,MAAO,EACJ,EAAS,MAAO,CACf,KAAM,EAAS,KACf,KAAM,EAAS,KACf,KAAM,EAAS,KACf,KAAM,EAAS,KACf,SAAU,EAAS,UAAY,GAC/B,QAAS,EAAS,SAAW,GAC7B,IAAK,EAAS,IACd,MAAO,EAAS,MAChB,SAAU,EAAS,SACpB,CACF,CAGH,MAAO,EAAE,IAIc,CACxB,CACK,CAAC,EAAa,GAAkB,EAAS,GAAM,CAC/C,EAAc,EAAoB,IAAI,IAAM,CAE5C,EAAU,GAAa,EAAY,IAAkB,CACzD,IAAM,EAAqB,CACzB,KAAM,EAAK,KACX,KAAM,EAAK,KACX,KAAM,EAAK,KACX,IAAK,GACL,SAAU,GACV,QAAS,GACT,SAAU,EACV,KACE,GACA,IAAI,MAAM,CAAC,eAAe,QAAS,CACjC,SAAU,gBACV,KAAM,UACN,MAAO,UACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,UACT,CAAC,CACL,CAOD,OALA,EAAU,IAAU,CAClB,GAAG,GACF,EAAK,MAAO,EACd,EAAE,CAEI,EAAK,MACX,EAAE,CAAC,CAEA,EAAqB,GACxB,EAAkB,IAAqB,CACtC,EAAU,IAAU,CAClB,GAAG,GACF,GAAW,CACV,GAAG,EAAK,GACR,WACA,QAAS,EAAW,IACrB,CACF,EAAE,EAEL,EAAE,CACH,CAEK,EAAqB,GAAa,EAAkB,IAAgB,CACxE,EAAU,IAAU,CAClB,GAAG,GACF,GAAW,CACV,GAAG,EAAK,GACR,SAAU,GACV,QAAS,GACT,SAAU,IACV,MACD,CACF,EAAE,EACF,EAAE,CAAC,CAEA,EAAkB,GAAa,EAAkB,IAAkB,CACvE,EAAU,IAAU,CAClB,GAAG,GACF,GAAW,CACV,GAAG,EAAK,GACR,SAAU,GACV,QAAS,GACT,SAAU,EACV,QACD,CACF,EAAE,EACF,EAAE,CAAC,CAEA,EAAa,EAAa,GAAqB,CACnD,EAAU,GAAS,CACjB,IAAM,EAAW,CAAE,GAAG,EAAM,CAE5B,OADA,OAAO,EAAS,GACT,GACP,CACF,EAAY,QAAQ,OAAO,EAAS,EACnC,EAAE,CAAC,CAEA,EAAa,MAAkB,CACnC,EAAS,EAAE,CAAC,CACZ,EAAY,QAAQ,OAAO,EAC1B,EAAE,CAAC,CAEA,EAAkB,EAAa,GAC5B,EAAY,QAAQ,IAAI,EAAS,CACvC,EAAE,CAAC,CAEA,EAAmB,EAAa,GAAqB,CACzD,EAAY,QAAQ,IAAI,EAAS,EAChC,EAAE,CAAC,CAEA,EAAwB,EAAa,GAAqB,CAC9D,EAAY,QAAQ,OAAO,EAAS,EACnC,EAAE,CAAC,CAEA,EAAqB,EACzB,MAAO,EAAY,IAAmC,CACpD,IAAM,EAAO,IAAI,MAAM,CAAC,eAAe,QAAS,CAC9C,SAAU,gBACV,KAAM,UACN,MAAO,UACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,UACT,CAAC,CACI,EAAW,EAAQ,EAAM,EAAK,CACpC,EAAiB,EAAS,CAE1B,GAAI,CACF,GAAM,CAAE,QAAS,MAAM,EACrB,EACA,EACA,EACC,GAAa,CACZ,EAAmB,EAAU,EAAS,WAAW,EAEnD,EACD,CAED,EAAmB,EAAU,EAAK,IAAI,CACtC,IAAiB,CACf,KAAM,EAAK,KACX,KAAM,EAAK,KACX,KAAM,EAAK,KACX,OACA,SAAU,GACV,QAAS,GACT,SAAU,IACV,IAAK,EAAK,IACX,CAAC,OACK,EAAO,CACd,QAAQ,MAAM,0BAA2B,EAAM,CAC/C,EACE,EACA,aAAiB,MAAQ,EAAM,QAAU,oBAC1C,QACO,CACR,EAAsB,EAAS,GAGnC,CACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CACF,CAsBD,MAAO,CACL,QACA,cACA,iBACA,UACA,qBACA,qBACA,kBACA,aACA,aACA,kBACA,mBACA,wBACA,qBACA,oBAlC0B,EAC1B,MAAO,EAAuB,IAAmC,CAC/D,GAAI,EAAa,CACf,QAAQ,KAAK,gCAAgC,CAC7C,OAGF,EAAe,GAAK,CAEpB,GAAI,CACF,IAAK,IAAM,KAAQ,EACjB,MAAM,EAAmB,EAAM,EAAK,QAE9B,CACR,EAAe,GAAM,GAGzB,CAAC,EAAa,EAAgB,EAAmB,CAClD,CAiBA"}
|
|
@@ -34,4 +34,5 @@ import { RemovableItem, RemovableItemProps } from "./removable-item/RemovableIte
|
|
|
34
34
|
import { Tag, TagProps } from "./tag/Tag.mjs";
|
|
35
35
|
import { TagGroup, TagGroupProps } from "./tag-group/TagGroup.mjs";
|
|
36
36
|
import { UploadedFile, UploadedFileProps } from "./uploaded-file/UploadedFile.mjs";
|
|
37
|
-
import { UploadedFileDetails, UploadedFileDetailsProps } from "./uploaded-file/UploadedFileDetails.mjs";
|
|
37
|
+
import { UploadedFileDetails, UploadedFileDetailsProps } from "./uploaded-file/UploadedFileDetails.mjs";
|
|
38
|
+
import { UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps } from "./uploading-files/UploadingFiles.mjs";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/data-display/uploading-files/UploadingFiles.d.ts
|
|
4
|
+
type UploadingFilesClassNames = {
|
|
5
|
+
uploadingFiles?: string;
|
|
6
|
+
root?: string;
|
|
7
|
+
};
|
|
8
|
+
type UploadingFilesProps = {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
classNames?: UploadingFilesClassNames;
|
|
11
|
+
};
|
|
12
|
+
type UploadingFilesItemClassNames = {
|
|
13
|
+
root?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
progress?: string;
|
|
16
|
+
};
|
|
17
|
+
type UploadingFilesItemProps = {
|
|
18
|
+
name: string;
|
|
19
|
+
progress: number;
|
|
20
|
+
classNames?: UploadingFilesItemClassNames;
|
|
21
|
+
};
|
|
22
|
+
type UploadingFilesItemErrorClassNames = {
|
|
23
|
+
root?: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
message?: string;
|
|
26
|
+
};
|
|
27
|
+
type UploadingFilesItemErrorProps = {
|
|
28
|
+
name: string;
|
|
29
|
+
message: string;
|
|
30
|
+
classNames?: UploadingFilesItemErrorClassNames;
|
|
31
|
+
};
|
|
32
|
+
declare const UploadingFiles: (({
|
|
33
|
+
children,
|
|
34
|
+
classNames
|
|
35
|
+
}: UploadingFilesProps) => ReactNode) & {
|
|
36
|
+
Item: ({
|
|
37
|
+
name,
|
|
38
|
+
progress,
|
|
39
|
+
classNames
|
|
40
|
+
}: UploadingFilesItemProps) => ReactNode;
|
|
41
|
+
ItemError: ({
|
|
42
|
+
name,
|
|
43
|
+
message,
|
|
44
|
+
classNames
|
|
45
|
+
}: UploadingFilesItemErrorProps) => ReactNode;
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
export { UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps };
|
|
49
|
+
//# sourceMappingURL=UploadingFiles.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadingFiles.d.mts","names":[],"sources":["../../../../src/components/data-display/uploading-files/UploadingFiles.tsx"],"mappings":";;;KAkBY,wBAAA;EACV,cAAA;EACA,IAAA;AAAA;AAAA,KAGU,mBAAA;EACV,QAAA,EAAU,SAAA;EACV,UAAA,GAAa,wBAAA;AAAA;AAAA,KAGH,4BAAA;EACV,IAAA;EACA,IAAA;EACA,QAAA;AAAA;AAAA,KAGU,uBAAA;EACV,IAAA;EACA,QAAA;EACA,UAAA,GAAa,4BAAA;AAAA;AAAA,KAGH,iCAAA;EACV,IAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,KAGU,4BAAA;EACV,IAAA;EACA,OAAA;EACA,UAAA,GAAa,iCAAA;AAAA;AAAA,cAqEF,cAAA;EAAc,QAAA;EAAA;AAAA,GA/DxB,mBAAA,KAAsB,SAAA;;;;;KAetB,uBAAA,KAA0B,SAAA;;;;;KAuC1B,4BAAA,KAA+B,SAAA;AAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cx as e}from"@mage-ui/styled-system/css";import{uploadingFiles as t,uploadingFilesItem as n,uploadingFilesItemErrorMessage as r,uploadingFilesItemName as i,uploadingFilesItemProgress as a,uploadingFilesItemProgressFill as o,uploadingFilesItemProgressRing as s,uploadingFilesItemProgressTrack as c,uploadingFilesRoot as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";const f=2*Math.PI*8,p=Object.assign(({children:n,classNames:r})=>u(`ul`,{className:e(r?.uploadingFiles??t(),r?.root??l()),children:n}),{Item:({name:e,progress:t,classNames:r})=>{let l=f*(1-t/100);return d(`li`,{className:r?.root??n(),children:[u(`span`,{className:r?.name??i(),children:e}),d(`span`,{className:r?.progress??a(),children:[d(`svg`,{className:s(),viewBox:`0 0 20 20`,"aria-hidden":`true`,children:[u(`circle`,{className:c(),cx:`10`,cy:`10`,r:8}),u(`circle`,{className:o(),cx:`10`,cy:`10`,r:8,strokeDasharray:f,strokeDashoffset:l})]}),t,`%`]})]})},ItemError:({name:e,message:t,classNames:a})=>d(`li`,{className:a?.root??n(),"data-error":`true`,children:[u(`span`,{className:a?.name??i(),children:e}),u(`span`,{className:a?.message??r(),children:t})]})});export{p as UploadingFiles};
|
|
2
|
+
//# sourceMappingURL=UploadingFiles.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadingFiles.mjs","names":[],"sources":["../../../../src/components/data-display/uploading-files/UploadingFiles.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n uploadingFiles,\n uploadingFilesItem,\n uploadingFilesItemErrorMessage,\n uploadingFilesItemName,\n uploadingFilesItemProgress,\n uploadingFilesItemProgressFill,\n uploadingFilesItemProgressRing,\n uploadingFilesItemProgressTrack,\n uploadingFilesRoot,\n} from '@mage-ui/styled-system/recipes';\n\nconst RADIUS = 8;\nconst CIRCUMFERENCE = 2 * Math.PI * RADIUS;\n\nexport type UploadingFilesClassNames = {\n uploadingFiles?: string;\n root?: string;\n};\n\nexport type UploadingFilesProps = {\n children: ReactNode;\n classNames?: UploadingFilesClassNames;\n};\n\nexport type UploadingFilesItemClassNames = {\n root?: string;\n name?: string;\n progress?: string;\n};\n\nexport type UploadingFilesItemProps = {\n name: string;\n progress: number;\n classNames?: UploadingFilesItemClassNames;\n};\n\nexport type UploadingFilesItemErrorClassNames = {\n root?: string;\n name?: string;\n message?: string;\n};\n\nexport type UploadingFilesItemErrorProps = {\n name: string;\n message: string;\n classNames?: UploadingFilesItemErrorClassNames;\n};\n\nconst UploadingFilesRoot = ({\n children,\n classNames,\n}: UploadingFilesProps): ReactNode => (\n <ul\n className={cx(\n classNames?.uploadingFiles ?? uploadingFiles(),\n classNames?.root ?? uploadingFilesRoot(),\n )}\n >\n {children}\n </ul>\n);\n\nconst Item = ({\n name,\n progress,\n classNames,\n}: UploadingFilesItemProps): ReactNode => {\n const offset = CIRCUMFERENCE * (1 - progress / 100);\n\n return (\n <li className={classNames?.root ?? uploadingFilesItem()}>\n <span className={classNames?.name ?? uploadingFilesItemName()}>\n {name}\n </span>\n <span className={classNames?.progress ?? uploadingFilesItemProgress()}>\n <svg\n className={uploadingFilesItemProgressRing()}\n viewBox='0 0 20 20'\n aria-hidden='true'\n >\n <circle\n className={uploadingFilesItemProgressTrack()}\n cx='10'\n cy='10'\n r={RADIUS}\n />\n <circle\n className={uploadingFilesItemProgressFill()}\n cx='10'\n cy='10'\n r={RADIUS}\n strokeDasharray={CIRCUMFERENCE}\n strokeDashoffset={offset}\n />\n </svg>\n {progress}%\n </span>\n </li>\n );\n};\n\nconst ItemError = ({\n name,\n message,\n classNames,\n}: UploadingFilesItemErrorProps): ReactNode => (\n <li className={classNames?.root ?? uploadingFilesItem()} data-error='true'>\n <span className={classNames?.name ?? uploadingFilesItemName()}>{name}</span>\n <span className={classNames?.message ?? uploadingFilesItemErrorMessage()}>\n {message}\n </span>\n </li>\n);\n\nexport const UploadingFiles = Object.assign(UploadingFilesRoot, {\n Item,\n ItemError,\n});\n"],"mappings":"+ZAeA,MACM,EAAgB,EAAI,KAAK,GAAK,EAsGvB,EAAiB,OAAO,QAlET,CAC1B,WACA,gBAEA,EAAC,KAAD,CACE,UAAW,EACT,GAAY,gBAAkB,GAAgB,CAC9C,GAAY,MAAQ,GAAoB,CACzC,CAEA,WACE,CAAA,CAuDyD,CAC9D,MArDY,CACZ,OACA,WACA,gBACwC,CACxC,IAAM,EAAS,GAAiB,EAAI,EAAW,KAE/C,OACE,EAAC,KAAD,CAAI,UAAW,GAAY,MAAQ,GAAoB,UAAvD,CACE,EAAC,OAAD,CAAM,UAAW,GAAY,MAAQ,GAAwB,UAC1D,EACI,CAAA,CACP,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAA4B,UAArE,CACE,EAAC,MAAD,CACE,UAAW,GAAgC,CAC3C,QAAQ,YACR,cAAY,gBAHd,CAKE,EAAC,SAAD,CACE,UAAW,GAAiC,CAC5C,GAAG,KACH,GAAG,KACH,EAAG,EACH,CAAA,CACF,EAAC,SAAD,CACE,UAAW,GAAgC,CAC3C,GAAG,KACH,GAAG,KACH,EAAG,EACH,gBAAiB,EACjB,iBAAkB,EAClB,CAAA,CACE,GACL,EAAS,IACL,GACJ,IAmBP,WAfiB,CACjB,OACA,UACA,gBAEA,EAAC,KAAD,CAAI,UAAW,GAAY,MAAQ,GAAoB,CAAE,aAAW,gBAApE,CACE,EAAC,OAAD,CAAM,UAAW,GAAY,MAAQ,GAAwB,UAAG,EAAY,CAAA,CAC5E,EAAC,OAAD,CAAM,UAAW,GAAY,SAAW,GAAgC,UACrE,EACI,CAAA,CACJ,GAMN,CAAC"}
|
|
@@ -43,6 +43,7 @@ import { Tag, TagProps } from "./data-display/tag/Tag.mjs";
|
|
|
43
43
|
import { TagGroup, TagGroupProps } from "./data-display/tag-group/TagGroup.mjs";
|
|
44
44
|
import { UploadedFile, UploadedFileProps } from "./data-display/uploaded-file/UploadedFile.mjs";
|
|
45
45
|
import { UploadedFileDetails, UploadedFileDetailsProps } from "./data-display/uploaded-file/UploadedFileDetails.mjs";
|
|
46
|
+
import { UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps } from "./data-display/uploading-files/UploadingFiles.mjs";
|
|
46
47
|
import { AvatarDropzone, AvatarDropzoneProps } from "./controls/avatar-dropzone/AvatarDropzone.mjs";
|
|
47
48
|
import { AvatarUpload, AvatarUploadProps } from "./controls/avatar-upload/AvatarUpload.mjs";
|
|
48
49
|
import { Checkbox, CheckboxProps } from "./controls/checkbox/Checkbox.mjs";
|
package/dist/index.d.mts
CHANGED
|
@@ -43,6 +43,7 @@ import { Tag, TagProps } from "./components/data-display/tag/Tag.mjs";
|
|
|
43
43
|
import { TagGroup, TagGroupProps } from "./components/data-display/tag-group/TagGroup.mjs";
|
|
44
44
|
import { UploadedFile, UploadedFileProps } from "./components/data-display/uploaded-file/UploadedFile.mjs";
|
|
45
45
|
import { UploadedFileDetails, UploadedFileDetailsProps } from "./components/data-display/uploaded-file/UploadedFileDetails.mjs";
|
|
46
|
+
import { UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps } from "./components/data-display/uploading-files/UploadingFiles.mjs";
|
|
46
47
|
import { AvatarDropzone, AvatarDropzoneProps } from "./components/controls/avatar-dropzone/AvatarDropzone.mjs";
|
|
47
48
|
import { AvatarUpload, AvatarUploadProps } from "./components/controls/avatar-upload/AvatarUpload.mjs";
|
|
48
49
|
import { Checkbox, CheckboxProps } from "./components/controls/checkbox/Checkbox.mjs";
|
|
@@ -84,4 +85,4 @@ import { Modals } from "./components/overlays/modal/index.mjs";
|
|
|
84
85
|
import { Toast, ToastIntent, ToastOptions, ToastProviderProps } from "./components/overlays/toast/Toast.mjs";
|
|
85
86
|
import { Tooltip, TooltipProps } from "./components/overlays/tooltip/Tooltip.mjs";
|
|
86
87
|
import { MageUiProvider, MageUiProviderProps } from "./providers/MageUiProvider.mjs";
|
|
87
|
-
export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarDropzone, AvatarDropzoneProps, AvatarProps, AvatarUpload, AvatarUploadProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarView, Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot, Checkbox, CheckboxProps, ColumnDef, Combobox, ComboboxProps, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableErrorState, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerProps, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, ExpandedState, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NavigationMenu, NavigationMenuProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, RowSelectionState, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastIntent, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, useDataTableContext, usePasswordRules, z };
|
|
88
|
+
export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarDropzone, AvatarDropzoneProps, AvatarProps, AvatarUpload, AvatarUploadProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarView, Card, CardBase, CardBody, CardClassNames, CardFooter, CardHeader, CardProps, CardRoot, Checkbox, CheckboxProps, ColumnDef, Combobox, ComboboxProps, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableErrorState, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerProps, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, ExpandedState, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NavigationMenu, NavigationMenuProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, RowSelectionState, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastIntent, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UploadingFiles, UploadingFilesClassNames, UploadingFilesItemClassNames, UploadingFilesItemErrorClassNames, UploadingFilesItemErrorProps, UploadingFilesItemProps, UploadingFilesProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, useDataTableContext, usePasswordRules, z };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Tooltip as s}from"./components/overlays/tooltip/Tooltip.mjs";import{Calendar as c}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as l}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as u}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as d}from"./components/data-display/table/Table.mjs";import{IconRaw as f}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as p}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as m,DataTableContextProvider as h,useDataTableContext as g}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as _}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as v}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as y}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as b}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as x}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as S}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as C}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as w}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as T}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as E}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as D}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableErrorState as O}from"./components/data-display/datatables/DataTableErrorState.mjs";import{DataTableTopSlot as k}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as A}from"./components/data-display/description-list/DescriptionList.mjs";import{IconSvg as j}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{Indicator as M}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as N}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as P}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as F}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as I}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as L}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as R}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as z}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as B}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as V}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as H}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{
|
|
1
|
+
import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Tooltip as s}from"./components/overlays/tooltip/Tooltip.mjs";import{Calendar as c}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as l}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as u}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as d}from"./components/data-display/table/Table.mjs";import{IconRaw as f}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as p}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as m,DataTableContextProvider as h,useDataTableContext as g}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as _}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as v}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as y}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as b}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as x}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as S}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as C}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as w}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as T}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as E}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as D}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableErrorState as O}from"./components/data-display/datatables/DataTableErrorState.mjs";import{DataTableTopSlot as k}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as A}from"./components/data-display/description-list/DescriptionList.mjs";import{IconSvg as j}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{Indicator as M}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as N}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as P}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as F}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as I}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as L}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as R}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as z}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as B}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as V}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as H}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{UploadingFiles as U}from"./components/data-display/uploading-files/UploadingFiles.mjs";import{ButtonIcon as W}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as G}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as K}from"./components/buttons/button-visual/ButtonVisual.mjs";import{AvatarDropzone as q}from"./components/controls/avatar-dropzone/AvatarDropzone.mjs";import{Modal as J}from"./components/overlays/modal/Modal.mjs";import{Modals as Y}from"./components/overlays/modal/index.mjs";import{Toast as X}from"./components/overlays/toast/Toast.mjs";import{AvatarUpload as Z}from"./components/controls/avatar-upload/AvatarUpload.mjs";import{DatePicker as Q}from"./components/controls/date-picker/DatePicker.mjs";import{Autocomplete as $}from"./components/controls/dropdown/autocomplete/Autocomplete.mjs";import{Combobox as ee}from"./components/controls/dropdown/combobox/Combobox.mjs";import{Dropzone as te}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneFiles as ne}from"./components/controls/dropzone-files/DropzoneFiles.mjs";import{FileInput as re}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as ie}from"./components/controls/file-input/FileInputMultiple.mjs";import{PasswordInput as ae}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as oe}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as se}from"./components/controls/password-input/usePasswordRules.mjs";import{Radio as ce}from"./components/controls/radio/Radio.mjs";import{SwitchGroup as le}from"./components/controls/switch-group/SwitchGroup.mjs";import{Switch as ue}from"./components/controls/switch/Switch.mjs";import{Textarea as de}from"./components/controls/textarea/Textarea.mjs";import{PASSWORD_RULES as fe}from"./components/forms/rules/password-rules.mjs";import{z as pe}from"./components/forms/rules/zod.mjs";import{Form as me}from"./components/forms/Form.mjs";import{Card as he,CardBase as ge,CardBody as _e,CardFooter as ve,CardHeader as ye,CardRoot as be}from"./components/layouts/card/Card.mjs";import{FluidGrid as xe}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as Se}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as Ce}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Menu as we}from"./components/navigations/menu/Menu.mjs";import{NavigationMenu as Te}from"./components/navigations/navigation-menu/NavigationMenu.mjs";import{Sidebar as Ee}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as De}from"./providers/MageUiProvider.mjs";export{i as AssignedUser,$ as Autocomplete,a as Avatar,q as AvatarDropzone,Z as AvatarUpload,o as Badge,Ce as Breadcrumbs,e as Button,n as ButtonAction,W as ButtonIcon,G as ButtonIconVisual,r as ButtonLoader,K as ButtonVisual,c as Calendar,he as Card,ge as CardBase,_e as CardBody,ve as CardFooter,ye as CardHeader,be as CardRoot,_ as Checkbox,ee as Combobox,m as DEFAULT_DATA_TABLE_LABELS,v as DataTable,D as DataTableBottomSlot,h as DataTableContextProvider,O as DataTableErrorState,w as DataTablePageSize,E as DataTablePagination,k as DataTableTopSlot,Q as DatePicker,A as DescriptionList,te as Dropzone,ne as DropzoneFiles,re as FileInput,ie as FileInputMultiple,xe as FluidGrid,me as Form,Se as Grid,y as HorizontalDivider,p as Icon,f as IconRaw,j as IconSvg,S as IconWrapped,M as Indicator,N as LoaderDot,P as LoaderOval,F as LogoImage,I as LogoSvg,De as MageUiProvider,we as Menu,J as Modal,Y as Modals,Te as NavigationMenu,L as NotificationBanner,fe as PASSWORD_RULES,T as Pagination,ae as PasswordInput,oe as PasswordStrengthInput,ce as Radio,R as RemovableItem,u as ScrollArea,b as ScrollAreaAutosize,C as Select,Ee as Sidebar,ue as Switch,le as SwitchGroup,d as Table,B as Tag,z as TagGroup,x as TextInput,de as Textarea,X as Toast,s as Tooltip,V as UploadedFile,H as UploadedFileDetails,U as UploadingFiles,l as Virtual,t as VisuallyHidden,g as useDataTableContext,se as usePasswordRules,pe as z};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mage-ui/components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.117",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [],
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"rimraf": "^6.1.3",
|
|
26
26
|
"tsdown": "^0.21.4",
|
|
27
27
|
"typescript": "^5.9.3",
|
|
28
|
-
"@mage-ui/preset": "1.0.
|
|
28
|
+
"@mage-ui/preset": "1.0.117",
|
|
29
29
|
"@mage-ui/styled-system": "1.0.8"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|