@tecsinapse/cortex-react 1.15.0-beta.1 → 1.15.0-beta.11

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.
Files changed (73) hide show
  1. package/dist/cjs/components/Calendar/Calendar.js +1 -0
  2. package/dist/cjs/components/Calendar/CalendarCell.js +4 -0
  3. package/dist/cjs/components/Calendar/CalendarGrid.js +1 -0
  4. package/dist/cjs/components/Calendar/RangeCalendar.js +1 -0
  5. package/dist/cjs/components/DatePicker/DatePickerInput.js +1 -0
  6. package/dist/cjs/components/DatePicker/DateRangePickerInput.js +1 -0
  7. package/dist/cjs/components/Input/Mask.js +1 -0
  8. package/dist/cjs/components/Input/Search.js +1 -0
  9. package/dist/cjs/components/Menubar/Categories.js +1 -0
  10. package/dist/cjs/components/Menubar/Dropdown.js +1 -0
  11. package/dist/cjs/components/Menubar/Header.js +1 -0
  12. package/dist/cjs/components/Menubar/Item.js +1 -0
  13. package/dist/cjs/components/Menubar/MostUsed.js +1 -0
  14. package/dist/cjs/components/Menubar/Root.js +1 -0
  15. package/dist/cjs/components/Menubar/Search.js +1 -0
  16. package/dist/cjs/components/Menubar/SubItem.js +1 -0
  17. package/dist/cjs/components/Popover/Provider.js +1 -0
  18. package/dist/cjs/components/Select/GroupedOptions.js +1 -0
  19. package/dist/cjs/components/Select/MultiGroupedOptions.js +1 -0
  20. package/dist/cjs/components/Select/MultiOptions.js +1 -0
  21. package/dist/cjs/components/Select/Options.js +1 -0
  22. package/dist/cjs/components/TimePicker/TimePickerInput.js +1 -0
  23. package/dist/cjs/components/Tooltip.js +1 -0
  24. package/dist/cjs/components/Uploader/Manager.js +41 -23
  25. package/dist/cjs/components/Uploader/Modal.js +1 -2
  26. package/dist/cjs/components/Uploader/Upload.js +78 -5
  27. package/dist/cjs/hooks/useCalendarCell.js +1 -0
  28. package/dist/cjs/hooks/useFileUpload.js +50 -13
  29. package/dist/cjs/hooks/useManagerHelpers.js +25 -0
  30. package/dist/cjs/index.js +3 -0
  31. package/dist/cjs/provider/ManagerContext.js +35 -0
  32. package/dist/cjs/provider/MenubarProvider.js +1 -0
  33. package/dist/cjs/styles/progressBar.js +1 -1
  34. package/dist/esm/components/Calendar/Calendar.js +1 -0
  35. package/dist/esm/components/Calendar/CalendarCell.js +4 -0
  36. package/dist/esm/components/Calendar/CalendarGrid.js +1 -0
  37. package/dist/esm/components/Calendar/RangeCalendar.js +1 -0
  38. package/dist/esm/components/DatePicker/DatePickerInput.js +1 -0
  39. package/dist/esm/components/DatePicker/DateRangePickerInput.js +1 -0
  40. package/dist/esm/components/Input/Mask.js +1 -0
  41. package/dist/esm/components/Input/Search.js +1 -0
  42. package/dist/esm/components/Menubar/Categories.js +1 -0
  43. package/dist/esm/components/Menubar/Dropdown.js +1 -0
  44. package/dist/esm/components/Menubar/Header.js +1 -0
  45. package/dist/esm/components/Menubar/Item.js +1 -0
  46. package/dist/esm/components/Menubar/MostUsed.js +1 -0
  47. package/dist/esm/components/Menubar/Root.js +1 -0
  48. package/dist/esm/components/Menubar/Search.js +1 -0
  49. package/dist/esm/components/Menubar/SubItem.js +1 -0
  50. package/dist/esm/components/Popover/Provider.js +1 -0
  51. package/dist/esm/components/Select/GroupedOptions.js +1 -0
  52. package/dist/esm/components/Select/MultiGroupedOptions.js +1 -0
  53. package/dist/esm/components/Select/MultiOptions.js +1 -0
  54. package/dist/esm/components/Select/Options.js +1 -0
  55. package/dist/esm/components/TimePicker/TimePickerInput.js +1 -0
  56. package/dist/esm/components/Tooltip.js +1 -0
  57. package/dist/esm/components/Uploader/Manager.js +42 -24
  58. package/dist/esm/components/Uploader/Modal.js +1 -2
  59. package/dist/esm/components/Uploader/Upload.js +79 -8
  60. package/dist/esm/hooks/useCalendarCell.js +1 -0
  61. package/dist/esm/hooks/useFileUpload.js +51 -14
  62. package/dist/esm/hooks/useManagerHelpers.js +23 -0
  63. package/dist/esm/index.js +1 -0
  64. package/dist/esm/provider/ManagerContext.js +32 -0
  65. package/dist/esm/provider/MenubarProvider.js +1 -0
  66. package/dist/esm/styles/progressBar.js +1 -1
  67. package/dist/types/components/Uploader/Upload.d.ts +4 -2
  68. package/dist/types/components/Uploader/types.d.ts +23 -5
  69. package/dist/types/hooks/useFileUpload.d.ts +6 -2
  70. package/dist/types/hooks/useManagerHelpers.d.ts +9 -0
  71. package/dist/types/provider/ManagerContext.d.ts +14 -0
  72. package/dist/types/provider/index.d.ts +1 -0
  73. package/package.json +3 -3
@@ -0,0 +1,32 @@
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 [files, setFiles] = useState([]);
9
+ const [isOpen, setIsOpen] = useState(false);
10
+ const showManager = (_props) => {
11
+ setProps(_props);
12
+ };
13
+ return /* @__PURE__ */ jsxs(
14
+ ManagerContext.Provider,
15
+ {
16
+ value: { showManager, files, setFiles, isOpen, setIsOpen },
17
+ children: [
18
+ children,
19
+ /* @__PURE__ */ jsx(Manager, { ...props })
20
+ ]
21
+ }
22
+ );
23
+ };
24
+ const useManager = () => {
25
+ const context = useContext(ManagerContext);
26
+ if (!context) {
27
+ throw new Error("useManager must be used within a ManagerProvider");
28
+ }
29
+ return context;
30
+ };
31
+
32
+ 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';
@@ -2,7 +2,7 @@ import { tv } from 'tailwind-variants';
2
2
 
3
3
  const ProgressVariants = tv({
4
4
  slots: {
5
- container: "relative mb-mili",
5
+ container: "relative",
6
6
  bar: "h-1.5 w-full overflow-hidden bg-secondary-xlight",
7
7
  progress: "w-full h-full rounded-mili"
8
8
  },
@@ -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;
@@ -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: (index: number) => void;
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;
@@ -58,11 +76,11 @@ export interface RootUploaderProps<T> {
58
76
  titleModal?: string;
59
77
  }
60
78
  export interface ManagerProps<T> {
61
- open: boolean;
62
- files: FileUpload<T>[];
63
- onDelete: (index: number) => void;
79
+ open?: boolean;
80
+ files?: FileUpload<T>[];
81
+ onDelete?: (index: number) => void;
64
82
  uploadProgressText?: string;
65
- onClose: () => void;
83
+ onClose?: () => void;
66
84
  }
67
85
  export declare const AcceptSpecificMap: {
68
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"];
@@ -14,16 +14,20 @@ 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
- files: FileUpload<T>[];
30
+ files: FileUpload<unknown>[];
27
31
  duplicates: File[];
28
32
  onClearFiles: () => void;
29
33
  };
@@ -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,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { FileUpload, ManagerProps } from '../components';
3
+ interface ManagerContextProps<T> {
4
+ showManager: (props: ManagerProps<unknown>) => void;
5
+ files: FileUpload<T>[];
6
+ setFiles: React.Dispatch<React.SetStateAction<FileUpload<unknown>[]>>;
7
+ isOpen: boolean;
8
+ setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
9
+ }
10
+ export declare const ManagerProvider: ({ children }: {
11
+ children: ReactNode;
12
+ }) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const useManager: () => ManagerContextProps<unknown>;
14
+ export {};
@@ -3,3 +3,4 @@ export * from './SnackbarProvider';
3
3
  export * from './MenubarContext';
4
4
  export * from './useMenubar';
5
5
  export * from './CalendarProvider';
6
+ export * from './ManagerContext';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tecsinapse/cortex-react",
3
- "version": "1.15.0-beta.1",
3
+ "version": "1.15.0-beta.11",
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.1.3",
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": "c289efa1599f7a3d08c5e9a8353ec8915cb42b1f"
51
+ "gitHead": "eaf3ff909acf671349c31b4b9f2e070cf07d0f0e"
52
52
  }