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

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.
@@ -33,7 +33,8 @@ const useFileUpload = ({
33
33
  files,
34
34
  setFiles,
35
35
  isOpen: isManagerOpen,
36
- setIsOpen: setIsManagerOpen
36
+ setIsOpen: setIsManagerOpen,
37
+ uploadFiles
37
38
  } = ManagerContext.useManager();
38
39
  const [duplicates, setDuplicates] = React.useState([]);
39
40
  const [isOpen, setIsOpen] = React.useState(false);
@@ -83,31 +84,17 @@ const useFileUpload = ({
83
84
  uid: uuid.v4(),
84
85
  isFolder
85
86
  }));
86
- try {
87
- setFiles((prevFiles) => [...prevFiles, ...newFiles]);
88
- if (onAccept) {
89
- const updatedFiles = await onAccept(newFiles);
90
- setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
91
- }
92
- } catch (e) {
93
- const updatedFiles = newFiles.map((f) => ({
94
- ...f,
95
- status: types.FileStatus.ERROR
96
- }));
97
- setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
98
- }
87
+ uploadFiles({ onAccept, newFiles, updateFiles });
99
88
  };
100
89
  React.useEffect(() => {
101
90
  if (hasManager) {
102
91
  showManager?.({
103
- files,
104
92
  onClose: closeManager,
105
93
  onDelete: handleRemoveFile,
106
- open: isManagerOpen,
107
94
  uploadProgressText
108
95
  });
109
96
  }
110
- }, [isManagerOpen, files, handleRemoveFile, closeManager]);
97
+ }, [handleRemoveFile, closeManager]);
111
98
  const addMimeTypes = (key, acc) => {
112
99
  types.AcceptSpecificMap[key].forEach((mimeType) => {
113
100
  acc[mimeType] = [];
@@ -3,22 +3,112 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var Manager = require('../components/Uploader/Manager.js');
6
+ require('clsx');
7
+ require('../components/Accordion/context.js');
8
+ require('react-icons/lia');
9
+ require('@internationalized/date');
10
+ require('../components/Badge.js');
11
+ require('react-icons/md');
12
+ require('../components/Card.js');
13
+ require('../components/Button.js');
14
+ require('react-aria');
15
+ require('react-stately');
16
+ require('./MenubarContext.js');
17
+ require('./SnackbarProvider.js');
18
+ require('./CalendarProvider.js');
19
+ require('../components/Popover/Context.js');
20
+ require('react-dropzone');
21
+ require('uuid');
22
+ var types = require('../components/Uploader/types.js');
23
+ require('@floating-ui/react');
24
+ require('currency.js');
25
+ require('../components/Calendar/CalendarCell.js');
26
+ require('@tecsinapse/cortex-core');
27
+ require('react-icons/fa');
28
+ require('react-icons/io');
29
+ require('embla-carousel-react');
30
+ require('embla-carousel-autoplay');
31
+ require('../components/Checkbox.js');
32
+ require('../components/ColorPicker.js');
33
+ require('../components/DatePicker/DateSegment.js');
34
+ require('../components/DatePicker/DatePickerInputBase.js');
35
+ require('../components/GroupButton.js');
36
+ require('../components/Hint.js');
37
+ require('../components/Input/Box.js');
38
+ require('../components/Input/Face.js');
39
+ require('../components/Input/Left.js');
40
+ require('../components/Input/Mask.js');
41
+ require('../components/Input/Right.js');
42
+ require('../components/Input/Root.js');
43
+ require('../components/Input/Search.js');
44
+ require('../components/Menubar/Left.js');
45
+ require('../styles/menubar.js');
46
+ require('../components/Menubar/Right.js');
47
+ require('../components/Menubar/Dropdown.js');
48
+ require('../components/Menubar/MostUsed.js');
49
+ require('../components/Menubar/MostUsedItem.js');
50
+ require('../components/Menubar/Header.js');
51
+ require('../components/Menubar/Item.js');
52
+ require('./CategoriesContext.js');
53
+ require('../components/Menubar/SubItem.js');
54
+ require('../components/Modal.js');
55
+ require('../components/ProgressBar/Progress.js');
56
+ require('../components/RadioButton.js');
57
+ require('../components/Select/GroupedOptions.js');
58
+ require('../components/Select/context.js');
59
+ require('../components/Select/MultiGroupedOptions.js');
60
+ require('../components/Select/MultiOptions.js');
61
+ require('../components/Select/Options.js');
62
+ require('../components/Select/Trigger.js');
63
+ require('../components/Snackbar/BaseSnackbar.js');
64
+ require('../styles/stepNodeVariants.js');
65
+ require('../components/Tag.js');
66
+ require('../components/TextArea/Box.js');
67
+ require('../components/TextArea/Face.js');
68
+ require('../components/TextArea/Left.js');
69
+ require('../components/TextArea/Right.js');
70
+ require('../components/TextArea/Root.js');
71
+ require('../components/TimePicker/TimeFieldInput.js');
72
+ require('../components/Toggle.js');
73
+ require('../components/Tooltip.js');
74
+ require('react-icons/hi2');
75
+ require('react-icons/fa6');
76
+ require('react-dom');
6
77
 
7
78
  const ManagerContext = React.createContext(null);
8
79
  const ManagerProvider = ({ children }) => {
9
80
  const [props, setProps] = React.useState({});
10
81
  const [files, setFiles] = React.useState([]);
11
82
  const [isOpen, setIsOpen] = React.useState(false);
83
+ const uploadFiles = async ({
84
+ onAccept,
85
+ newFiles,
86
+ updateFiles
87
+ }) => {
88
+ try {
89
+ setFiles((prevFiles) => [...prevFiles, ...newFiles]);
90
+ if (onAccept) {
91
+ const updatedFiles = await onAccept(newFiles);
92
+ setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
93
+ }
94
+ } catch (e) {
95
+ const updatedFiles = newFiles.map((f) => ({
96
+ ...f,
97
+ status: types.FileStatus.ERROR
98
+ }));
99
+ setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
100
+ }
101
+ };
12
102
  const showManager = (_props) => {
13
103
  setProps(_props);
14
104
  };
15
105
  return /* @__PURE__ */ jsxRuntime.jsxs(
16
106
  ManagerContext.Provider,
17
107
  {
18
- value: { showManager, files, setFiles, isOpen, setIsOpen },
108
+ value: { showManager, files, setFiles, isOpen, setIsOpen, uploadFiles },
19
109
  children: [
20
110
  children,
21
- /* @__PURE__ */ jsxRuntime.jsx(Manager.Manager, { ...props })
111
+ /* @__PURE__ */ jsxRuntime.jsx(Manager.Manager, { files, open: isOpen, ...props })
22
112
  ]
23
113
  }
24
114
  );
@@ -31,7 +31,8 @@ const useFileUpload = ({
31
31
  files,
32
32
  setFiles,
33
33
  isOpen: isManagerOpen,
34
- setIsOpen: setIsManagerOpen
34
+ setIsOpen: setIsManagerOpen,
35
+ uploadFiles
35
36
  } = useManager();
36
37
  const [duplicates, setDuplicates] = useState([]);
37
38
  const [isOpen, setIsOpen] = useState(false);
@@ -81,31 +82,17 @@ const useFileUpload = ({
81
82
  uid: v4(),
82
83
  isFolder
83
84
  }));
84
- try {
85
- setFiles((prevFiles) => [...prevFiles, ...newFiles]);
86
- if (onAccept) {
87
- const updatedFiles = await onAccept(newFiles);
88
- setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
89
- }
90
- } catch (e) {
91
- const updatedFiles = newFiles.map((f) => ({
92
- ...f,
93
- status: FileStatus.ERROR
94
- }));
95
- setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
96
- }
85
+ uploadFiles({ onAccept, newFiles, updateFiles });
97
86
  };
98
87
  useEffect(() => {
99
88
  if (hasManager) {
100
89
  showManager?.({
101
- files,
102
90
  onClose: closeManager,
103
91
  onDelete: handleRemoveFile,
104
- open: isManagerOpen,
105
92
  uploadProgressText
106
93
  });
107
94
  }
108
- }, [isManagerOpen, files, handleRemoveFile, closeManager]);
95
+ }, [handleRemoveFile, closeManager]);
109
96
  const addMimeTypes = (key, acc) => {
110
97
  AcceptSpecificMap[key].forEach((mimeType) => {
111
98
  acc[mimeType] = [];
@@ -1,22 +1,112 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { createContext, useState, useContext } from 'react';
3
3
  import { Manager } from '../components/Uploader/Manager.js';
4
+ import 'clsx';
5
+ import '../components/Accordion/context.js';
6
+ import 'react-icons/lia';
7
+ import '@internationalized/date';
8
+ import '../components/Badge.js';
9
+ import 'react-icons/md';
10
+ import '../components/Card.js';
11
+ import '../components/Button.js';
12
+ import 'react-aria';
13
+ import 'react-stately';
14
+ import './MenubarContext.js';
15
+ import './SnackbarProvider.js';
16
+ import './CalendarProvider.js';
17
+ import '../components/Popover/Context.js';
18
+ import 'react-dropzone';
19
+ import 'uuid';
20
+ import { FileStatus } from '../components/Uploader/types.js';
21
+ import '@floating-ui/react';
22
+ import 'currency.js';
23
+ import '../components/Calendar/CalendarCell.js';
24
+ import '@tecsinapse/cortex-core';
25
+ import 'react-icons/fa';
26
+ import 'react-icons/io';
27
+ import 'embla-carousel-react';
28
+ import 'embla-carousel-autoplay';
29
+ import '../components/Checkbox.js';
30
+ import '../components/ColorPicker.js';
31
+ import '../components/DatePicker/DateSegment.js';
32
+ import '../components/DatePicker/DatePickerInputBase.js';
33
+ import '../components/GroupButton.js';
34
+ import '../components/Hint.js';
35
+ import '../components/Input/Box.js';
36
+ import '../components/Input/Face.js';
37
+ import '../components/Input/Left.js';
38
+ import '../components/Input/Mask.js';
39
+ import '../components/Input/Right.js';
40
+ import '../components/Input/Root.js';
41
+ import '../components/Input/Search.js';
42
+ import '../components/Menubar/Left.js';
43
+ import '../styles/menubar.js';
44
+ import '../components/Menubar/Right.js';
45
+ import '../components/Menubar/Dropdown.js';
46
+ import '../components/Menubar/MostUsed.js';
47
+ import '../components/Menubar/MostUsedItem.js';
48
+ import '../components/Menubar/Header.js';
49
+ import '../components/Menubar/Item.js';
50
+ import './CategoriesContext.js';
51
+ import '../components/Menubar/SubItem.js';
52
+ import '../components/Modal.js';
53
+ import '../components/ProgressBar/Progress.js';
54
+ import '../components/RadioButton.js';
55
+ import '../components/Select/GroupedOptions.js';
56
+ import '../components/Select/context.js';
57
+ import '../components/Select/MultiGroupedOptions.js';
58
+ import '../components/Select/MultiOptions.js';
59
+ import '../components/Select/Options.js';
60
+ import '../components/Select/Trigger.js';
61
+ import '../components/Snackbar/BaseSnackbar.js';
62
+ import '../styles/stepNodeVariants.js';
63
+ import '../components/Tag.js';
64
+ import '../components/TextArea/Box.js';
65
+ import '../components/TextArea/Face.js';
66
+ import '../components/TextArea/Left.js';
67
+ import '../components/TextArea/Right.js';
68
+ import '../components/TextArea/Root.js';
69
+ import '../components/TimePicker/TimeFieldInput.js';
70
+ import '../components/Toggle.js';
71
+ import '../components/Tooltip.js';
72
+ import 'react-icons/hi2';
73
+ import 'react-icons/fa6';
74
+ import 'react-dom';
4
75
 
5
76
  const ManagerContext = createContext(null);
6
77
  const ManagerProvider = ({ children }) => {
7
78
  const [props, setProps] = useState({});
8
79
  const [files, setFiles] = useState([]);
9
80
  const [isOpen, setIsOpen] = useState(false);
81
+ const uploadFiles = async ({
82
+ onAccept,
83
+ newFiles,
84
+ updateFiles
85
+ }) => {
86
+ try {
87
+ setFiles((prevFiles) => [...prevFiles, ...newFiles]);
88
+ if (onAccept) {
89
+ const updatedFiles = await onAccept(newFiles);
90
+ setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
91
+ }
92
+ } catch (e) {
93
+ const updatedFiles = newFiles.map((f) => ({
94
+ ...f,
95
+ status: FileStatus.ERROR
96
+ }));
97
+ setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
98
+ }
99
+ };
10
100
  const showManager = (_props) => {
11
101
  setProps(_props);
12
102
  };
13
103
  return /* @__PURE__ */ jsxs(
14
104
  ManagerContext.Provider,
15
105
  {
16
- value: { showManager, files, setFiles, isOpen, setIsOpen },
106
+ value: { showManager, files, setFiles, isOpen, setIsOpen, uploadFiles },
17
107
  children: [
18
108
  children,
19
- /* @__PURE__ */ jsx(Manager, { ...props })
109
+ /* @__PURE__ */ jsx(Manager, { files, open: isOpen, ...props })
20
110
  ]
21
111
  }
22
112
  );
@@ -8,7 +8,7 @@ interface UseFileUploadOptions<T> {
8
8
  VIDEO?: (typeof AcceptSpecificMap.VIDEO)[number][];
9
9
  TEXT?: (typeof AcceptSpecificMap.TEXT)[number][];
10
10
  };
11
- onAccept?: (files: FileUpload<T>[]) => Promise<FileUpload<T>[]>;
11
+ onAccept?: (files: FileUpload<T | unknown>[]) => Promise<FileUpload<T>[]>;
12
12
  onFileRejected?: (fileRejections: FileRejection[], event: DropEvent) => void;
13
13
  maxSize?: number;
14
14
  allowMultiple?: boolean;
@@ -1,11 +1,17 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { FileUpload, ManagerProps } from '../components';
3
+ interface UploadFilesProps<T> {
4
+ onAccept?: (files: FileUpload<T>[]) => Promise<FileUpload<T>[]>;
5
+ newFiles: FileUpload<T>[];
6
+ updateFiles: any;
7
+ }
3
8
  interface ManagerContextProps<T> {
4
9
  showManager: (props: ManagerProps<unknown>) => void;
5
10
  files: FileUpload<T>[];
6
11
  setFiles: React.Dispatch<React.SetStateAction<FileUpload<unknown>[]>>;
7
12
  isOpen: boolean;
8
13
  setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
14
+ uploadFiles: (props: UploadFilesProps<T>) => void;
9
15
  }
10
16
  export declare const ManagerProvider: ({ children }: {
11
17
  children: ReactNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tecsinapse/cortex-react",
3
- "version": "1.15.0-beta.11",
3
+ "version": "1.15.0-beta.12",
4
4
  "description": "React components based in @tecsinapse/cortex-core",
5
5
  "license": "MIT",
6
6
  "main": "dist/esm/index.js",
@@ -48,5 +48,5 @@
48
48
  "react-icons": ">=5.2.0",
49
49
  "tailwind": ">=3.3.0"
50
50
  },
51
- "gitHead": "eaf3ff909acf671349c31b4b9f2e070cf07d0f0e"
51
+ "gitHead": "88be974ff93d865dacc62c3b0700a7f5bebb630b"
52
52
  }