@tecsinapse/cortex-react 1.15.0-beta.0 → 1.15.0-beta.10
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/cjs/components/Calendar/Calendar.js +1 -0
- package/dist/cjs/components/Calendar/CalendarCell.js +4 -0
- package/dist/cjs/components/Calendar/CalendarGrid.js +1 -0
- package/dist/cjs/components/Calendar/RangeCalendar.js +1 -0
- package/dist/cjs/components/DatePicker/DatePickerInput.js +1 -0
- package/dist/cjs/components/DatePicker/DateRangePickerInput.js +1 -0
- package/dist/cjs/components/Input/Mask.js +1 -0
- package/dist/cjs/components/Input/Search.js +1 -0
- package/dist/cjs/components/Menubar/Categories.js +1 -0
- package/dist/cjs/components/Menubar/Dropdown.js +1 -0
- package/dist/cjs/components/Menubar/Header.js +1 -0
- package/dist/cjs/components/Menubar/Item.js +1 -0
- package/dist/cjs/components/Menubar/MostUsed.js +1 -0
- package/dist/cjs/components/Menubar/Root.js +1 -0
- package/dist/cjs/components/Menubar/Search.js +1 -0
- package/dist/cjs/components/Menubar/SubItem.js +1 -0
- package/dist/cjs/components/Popover/Provider.js +1 -0
- package/dist/cjs/components/Select/GroupedOptions.js +1 -0
- package/dist/cjs/components/Select/MultiGroupedOptions.js +1 -0
- package/dist/cjs/components/Select/MultiOptions.js +1 -0
- package/dist/cjs/components/Select/Options.js +1 -0
- package/dist/cjs/components/TimePicker/TimePickerInput.js +1 -0
- package/dist/cjs/components/Tooltip.js +1 -0
- package/dist/cjs/components/Uploader/Manager.js +41 -23
- package/dist/cjs/components/Uploader/Modal.js +1 -2
- package/dist/cjs/components/Uploader/Upload.js +78 -5
- package/dist/cjs/components/Uploader/index.js +3 -1
- package/dist/cjs/hooks/useCalendarCell.js +1 -0
- package/dist/cjs/hooks/useFileUpload.js +44 -11
- package/dist/cjs/hooks/useManagerHelpers.js +25 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/provider/ManagerContext.js +27 -0
- package/dist/cjs/provider/MenubarProvider.js +1 -0
- package/dist/cjs/styles/progressBar.js +1 -1
- package/dist/esm/components/Calendar/Calendar.js +1 -0
- package/dist/esm/components/Calendar/CalendarCell.js +4 -0
- package/dist/esm/components/Calendar/CalendarGrid.js +1 -0
- package/dist/esm/components/Calendar/RangeCalendar.js +1 -0
- package/dist/esm/components/DatePicker/DatePickerInput.js +1 -0
- package/dist/esm/components/DatePicker/DateRangePickerInput.js +1 -0
- package/dist/esm/components/Input/Mask.js +1 -0
- package/dist/esm/components/Input/Search.js +1 -0
- package/dist/esm/components/Menubar/Categories.js +1 -0
- package/dist/esm/components/Menubar/Dropdown.js +1 -0
- package/dist/esm/components/Menubar/Header.js +1 -0
- package/dist/esm/components/Menubar/Item.js +1 -0
- package/dist/esm/components/Menubar/MostUsed.js +1 -0
- package/dist/esm/components/Menubar/Root.js +1 -0
- package/dist/esm/components/Menubar/Search.js +1 -0
- package/dist/esm/components/Menubar/SubItem.js +1 -0
- package/dist/esm/components/Popover/Provider.js +1 -0
- package/dist/esm/components/Select/GroupedOptions.js +1 -0
- package/dist/esm/components/Select/MultiGroupedOptions.js +1 -0
- package/dist/esm/components/Select/MultiOptions.js +1 -0
- package/dist/esm/components/Select/Options.js +1 -0
- package/dist/esm/components/TimePicker/TimePickerInput.js +1 -0
- package/dist/esm/components/Tooltip.js +1 -0
- package/dist/esm/components/Uploader/Manager.js +42 -24
- package/dist/esm/components/Uploader/Modal.js +1 -2
- package/dist/esm/components/Uploader/Upload.js +79 -8
- package/dist/esm/components/Uploader/index.js +3 -1
- package/dist/esm/hooks/useCalendarCell.js +1 -0
- package/dist/esm/hooks/useFileUpload.js +45 -12
- package/dist/esm/hooks/useManagerHelpers.js +23 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/provider/ManagerContext.js +24 -0
- package/dist/esm/provider/MenubarProvider.js +1 -0
- package/dist/esm/styles/progressBar.js +1 -1
- package/dist/types/components/Uploader/Manager.d.ts +1 -9
- package/dist/types/components/Uploader/Upload.d.ts +4 -2
- package/dist/types/components/Uploader/index.d.ts +1 -0
- package/dist/types/components/Uploader/types.d.ts +26 -1
- package/dist/types/hooks/useFileUpload.d.ts +5 -1
- package/dist/types/hooks/useManagerHelpers.d.ts +9 -0
- package/dist/types/provider/ManagerContext.d.ts +10 -0
- package/dist/types/provider/index.d.ts +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useState, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
const useManagerHelpers = ({
|
|
4
|
+
files
|
|
5
|
+
}) => {
|
|
6
|
+
const [min, setMin] = useState(false);
|
|
7
|
+
const folderFiles = useMemo(
|
|
8
|
+
() => files?.filter((file) => file.isFolder) ?? [],
|
|
9
|
+
[files]
|
|
10
|
+
);
|
|
11
|
+
const regularFiles = useMemo(
|
|
12
|
+
() => files?.filter((file) => !file.isFolder) ?? [],
|
|
13
|
+
[files]
|
|
14
|
+
);
|
|
15
|
+
return {
|
|
16
|
+
min,
|
|
17
|
+
setMin,
|
|
18
|
+
folderFiles,
|
|
19
|
+
regularFiles
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { useManagerHelpers };
|
package/dist/esm/index.js
CHANGED
|
@@ -65,6 +65,7 @@ export { SnackbarProvider, useSnackbar } from './provider/SnackbarProvider.js';
|
|
|
65
65
|
export { MenubarContext } from './provider/MenubarContext.js';
|
|
66
66
|
export { useMenubar } from './provider/useMenubar.js';
|
|
67
67
|
export { CalendarProvider, useCalendarContext } from './provider/CalendarProvider.js';
|
|
68
|
+
export { ManagerProvider, useManager } from './provider/ManagerContext.js';
|
|
68
69
|
export { Context, useAccordionContext } from './components/Accordion/context.js';
|
|
69
70
|
export { BRLMask, CurrencyIMask, ExpressionMasks, Masks, NumberIMask, PercentageIMask, PercentageMask } from './components/Input/masks.js';
|
|
70
71
|
export { Root } from './components/Uploader/Root.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useState, useContext } from 'react';
|
|
3
|
+
import { Manager } from '../components/Uploader/Manager.js';
|
|
4
|
+
|
|
5
|
+
const ManagerContext = createContext(null);
|
|
6
|
+
const ManagerProvider = ({ children }) => {
|
|
7
|
+
const [props, setProps] = useState({});
|
|
8
|
+
const showManager = (_props) => {
|
|
9
|
+
setProps(_props);
|
|
10
|
+
};
|
|
11
|
+
return /* @__PURE__ */ jsxs(ManagerContext.Provider, { value: { showManager }, children: [
|
|
12
|
+
children,
|
|
13
|
+
/* @__PURE__ */ jsx(Manager, { ...props })
|
|
14
|
+
] });
|
|
15
|
+
};
|
|
16
|
+
const useManager = () => {
|
|
17
|
+
const context = useContext(ManagerContext);
|
|
18
|
+
if (!context) {
|
|
19
|
+
throw new Error("useManager must be used within a ManagerProvider");
|
|
20
|
+
}
|
|
21
|
+
return context;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { ManagerProvider, useManager };
|
|
@@ -6,6 +6,7 @@ import 'react-stately';
|
|
|
6
6
|
import { MenubarContext } from './MenubarContext.js';
|
|
7
7
|
import './SnackbarProvider.js';
|
|
8
8
|
import './CalendarProvider.js';
|
|
9
|
+
import './ManagerContext.js';
|
|
9
10
|
import '../components/Popover/Context.js';
|
|
10
11
|
import 'react-dropzone';
|
|
11
12
|
import 'uuid';
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
interface ManagerProps<T> {
|
|
3
|
-
open: boolean;
|
|
4
|
-
files: FileUpload<T>[];
|
|
5
|
-
onDelete: (index: number) => void;
|
|
6
|
-
uploadProgressText?: string;
|
|
7
|
-
onClose: () => void;
|
|
8
|
-
}
|
|
1
|
+
import { ManagerProps } from './types';
|
|
9
2
|
export declare const Manager: <T>({ open, files, onDelete, uploadProgressText, onClose, }: ManagerProps<T>) => any;
|
|
10
|
-
export {};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import { FileProps } from './types';
|
|
2
|
-
export declare const File: <T>({ file, index, onDelete }: FileProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { FileProps, FolderListProps, FolderProps } from './types';
|
|
2
|
+
export declare const File: <T>({ file, index, onDelete, showDelete, }: FileProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const Folder: ({ name, subItems }: FolderProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const FolderList: <T>({ files }: FolderListProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,4 +5,5 @@ export declare const Uploader: {
|
|
|
5
5
|
Files: <T>({ files, onDelete, uploadProgressText, }: import("./types").FilesProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
Modal: ({ open, onClose, children, title, }: import("./types").ModalProps) => any;
|
|
7
7
|
Root: <T>({ open, onClose, files, onDelete, dropzoneProps, selectFileText, dropText, buttonText, uploadProgressText, titleModal, isManagerOpen, closeManager, }: import("./types").RootUploaderProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
Manager: <T>({ open, files, onDelete, uploadProgressText, onClose, }: import("./types").ManagerProps<T>) => any;
|
|
8
9
|
};
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { DropzoneInputProps, DropzoneRootProps, type FileError, type FileRejection, type FileWithPath } from 'react-dropzone';
|
|
2
|
+
declare global {
|
|
3
|
+
interface File {
|
|
4
|
+
relativePath: string;
|
|
5
|
+
path?: string;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
2
8
|
export interface FileItem {
|
|
3
9
|
file: File;
|
|
4
10
|
loading: 'loading' | 'success' | 'error';
|
|
@@ -6,7 +12,18 @@ export interface FileItem {
|
|
|
6
12
|
export interface FileProps<T> {
|
|
7
13
|
file: FileUpload<T>;
|
|
8
14
|
index: number;
|
|
9
|
-
onDelete
|
|
15
|
+
onDelete?: (index: number) => void;
|
|
16
|
+
showDelete?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface FolderProps {
|
|
19
|
+
name: string;
|
|
20
|
+
subItems: {
|
|
21
|
+
status: string;
|
|
22
|
+
path: string;
|
|
23
|
+
}[];
|
|
24
|
+
}
|
|
25
|
+
export interface FolderListProps<T> {
|
|
26
|
+
files: FileUpload<T>[];
|
|
10
27
|
}
|
|
11
28
|
export interface FilesProps<T> {
|
|
12
29
|
files: FileUpload<T>[];
|
|
@@ -42,6 +59,7 @@ export type FileUpload<T> = {
|
|
|
42
59
|
metadata?: T;
|
|
43
60
|
uid: string;
|
|
44
61
|
status: 'success' | 'error' | 'uploading';
|
|
62
|
+
isFolder?: boolean;
|
|
45
63
|
};
|
|
46
64
|
export interface RootUploaderProps<T> {
|
|
47
65
|
open: boolean;
|
|
@@ -57,6 +75,13 @@ export interface RootUploaderProps<T> {
|
|
|
57
75
|
uploadProgressText?: string;
|
|
58
76
|
titleModal?: string;
|
|
59
77
|
}
|
|
78
|
+
export interface ManagerProps<T> {
|
|
79
|
+
open?: boolean;
|
|
80
|
+
files?: FileUpload<T>[];
|
|
81
|
+
onDelete?: (index: number) => void;
|
|
82
|
+
uploadProgressText?: string;
|
|
83
|
+
onClose?: () => void;
|
|
84
|
+
}
|
|
60
85
|
export declare const AcceptSpecificMap: {
|
|
61
86
|
readonly APPLICATION: readonly ["application/pdf", "application/zip", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/x-rar-compressed", "application/x-7z-compressed", "application/json", "application/xml", "application/rtf", "application/x-tar", "application/x-httpd-php", "application/octet-stream"];
|
|
62
87
|
readonly IMAGE: readonly ["image/jpeg", "image/png", "image/gif", "image/bmp", "image/svg+xml", "image/tiff", "image/webp", "image/x-icon"];
|
|
@@ -14,13 +14,17 @@ interface UseFileUploadOptions<T> {
|
|
|
14
14
|
allowMultiple?: boolean;
|
|
15
15
|
preventDuplicates?: boolean;
|
|
16
16
|
onDuplicate?: (duplicates: File[]) => void;
|
|
17
|
+
hasManager?: boolean;
|
|
18
|
+
isFolder?: boolean;
|
|
19
|
+
uploadProgressText?: string;
|
|
17
20
|
}
|
|
18
|
-
export declare const useFileUpload: <T>({ accept, onAccept, onFileRejected, maxSize, allowMultiple, preventDuplicates, onDuplicate, }: UseFileUploadOptions<T>) => {
|
|
21
|
+
export declare const useFileUpload: <T>({ accept, onAccept, onFileRejected, maxSize, allowMultiple, preventDuplicates, onDuplicate, hasManager, isFolder, uploadProgressText, }: UseFileUploadOptions<T>) => {
|
|
19
22
|
onOpen: () => void;
|
|
20
23
|
onClose: () => void;
|
|
21
24
|
onDelete: (index: number) => void;
|
|
22
25
|
dropzoneProps: UseDropzoneProps;
|
|
23
26
|
open: boolean;
|
|
27
|
+
openManager: () => void;
|
|
24
28
|
closeManager: () => void;
|
|
25
29
|
isManagerOpen: boolean;
|
|
26
30
|
files: FileUpload<T>[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FileUpload } from '../components';
|
|
2
|
+
export declare const useManagerHelpers: <T>({ files, }: {
|
|
3
|
+
files?: FileUpload<T>[];
|
|
4
|
+
}) => {
|
|
5
|
+
min: boolean;
|
|
6
|
+
setMin: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
7
|
+
folderFiles: FileUpload<T>[];
|
|
8
|
+
regularFiles: FileUpload<T>[];
|
|
9
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ManagerProps } from '../components';
|
|
3
|
+
interface ManagerContextProps {
|
|
4
|
+
showManager: (props: ManagerProps<unknown>) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const ManagerProvider: ({ children }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const useManager: () => ManagerContextProps;
|
|
10
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tecsinapse/cortex-react",
|
|
3
|
-
"version": "1.15.0-beta.
|
|
3
|
+
"version": "1.15.0-beta.10",
|
|
4
4
|
"description": "React components based in @tecsinapse/cortex-core",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@floating-ui/react": "^0.26.18",
|
|
22
22
|
"@internationalized/date": "3.7.0",
|
|
23
|
-
"@tecsinapse/cortex-core": "1.
|
|
23
|
+
"@tecsinapse/cortex-core": "1.2.0-beta.6",
|
|
24
24
|
"clsx": "2.1.1",
|
|
25
25
|
"currency.js": "2.0.4",
|
|
26
26
|
"embla-carousel-autoplay": "^8.0.0",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"react-icons": ">=5.2.0",
|
|
49
49
|
"tailwind": ">=3.3.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "24b04598996ccf898eadde9e374f8da3045117e1"
|
|
52
52
|
}
|