@tecsinapse/cortex-react 1.15.0-beta.9 → 1.15.1
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/MultiOption.js +1 -1
- package/dist/cjs/components/Select/MultiOptions.js +1 -0
- package/dist/cjs/components/Select/Options.js +1 -0
- package/dist/cjs/components/Select/Trigger.js +1 -1
- package/dist/cjs/components/TimePicker/TimePickerInput.js +1 -0
- package/dist/cjs/components/Tooltip.js +1 -0
- package/dist/cjs/components/Uploader/Dropzone.js +23 -7
- package/dist/cjs/components/Uploader/Manager.js +17 -5
- package/dist/cjs/components/Uploader/Root.js +10 -14
- package/dist/cjs/components/Uploader/Upload.js +19 -9
- package/dist/cjs/hooks/useCalendarCell.js +1 -0
- package/dist/cjs/hooks/useFileUpload.js +42 -19
- package/dist/cjs/hooks/useManagerHelpers.js +34 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/provider/ManagerContext.js +125 -0
- package/dist/cjs/provider/MenubarProvider.js +1 -0
- 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/MultiOption.js +1 -1
- package/dist/esm/components/Select/MultiOptions.js +1 -0
- package/dist/esm/components/Select/Options.js +1 -0
- package/dist/esm/components/Select/Trigger.js +1 -1
- package/dist/esm/components/TimePicker/TimePickerInput.js +1 -0
- package/dist/esm/components/Tooltip.js +1 -0
- package/dist/esm/components/Uploader/Dropzone.js +23 -7
- package/dist/esm/components/Uploader/Manager.js +17 -5
- package/dist/esm/components/Uploader/Root.js +11 -15
- package/dist/esm/components/Uploader/Upload.js +20 -10
- package/dist/esm/hooks/useCalendarCell.js +1 -0
- package/dist/esm/hooks/useFileUpload.js +43 -20
- package/dist/esm/hooks/useManagerHelpers.js +32 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/provider/ManagerContext.js +122 -0
- package/dist/esm/provider/MenubarProvider.js +1 -0
- package/dist/types/components/Uploader/Dropzone.d.ts +1 -1
- package/dist/types/components/Uploader/Manager.d.ts +1 -1
- package/dist/types/components/Uploader/Root.d.ts +1 -1
- package/dist/types/components/Uploader/Upload.d.ts +1 -1
- package/dist/types/components/Uploader/index.d.ts +3 -3
- package/dist/types/components/Uploader/types.d.ts +15 -8
- package/dist/types/hooks/useFileUpload.d.ts +8 -4
- package/dist/types/hooks/useManagerHelpers.d.ts +15 -0
- package/dist/types/provider/ManagerContext.d.ts +20 -0
- package/dist/types/provider/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/hooks/useManager.js +0 -23
- package/dist/esm/hooks/useManager.js +0 -21
- package/dist/types/hooks/useManager.d.ts +0 -9
|
@@ -8,6 +8,7 @@ require('react-aria');
|
|
|
8
8
|
require('../../provider/MenubarContext.js');
|
|
9
9
|
require('../../provider/SnackbarProvider.js');
|
|
10
10
|
var CalendarProvider = require('../../provider/CalendarProvider.js');
|
|
11
|
+
require('../../provider/ManagerContext.js');
|
|
11
12
|
require('react-stately');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
require('react-dropzone');
|
|
@@ -9,6 +9,10 @@ var useCalendarCell = require('../../hooks/useCalendarCell.js');
|
|
|
9
9
|
require('../Popover/Context.js');
|
|
10
10
|
require('react-dropzone');
|
|
11
11
|
require('uuid');
|
|
12
|
+
require('../../provider/MenubarContext.js');
|
|
13
|
+
require('../../provider/SnackbarProvider.js');
|
|
14
|
+
require('../../provider/CalendarProvider.js');
|
|
15
|
+
require('../../provider/ManagerContext.js');
|
|
12
16
|
require('@floating-ui/react');
|
|
13
17
|
require('currency.js');
|
|
14
18
|
var calendarCell = require('../../styles/calendar-cell.js');
|
|
@@ -8,6 +8,7 @@ require('react');
|
|
|
8
8
|
require('../../provider/MenubarContext.js');
|
|
9
9
|
require('../../provider/SnackbarProvider.js');
|
|
10
10
|
require('../../provider/CalendarProvider.js');
|
|
11
|
+
require('../../provider/ManagerContext.js');
|
|
11
12
|
var useCalendarGrid = require('../../hooks/useCalendarGrid.js');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
require('react-dropzone');
|
|
@@ -8,6 +8,7 @@ require('react');
|
|
|
8
8
|
require('../../provider/MenubarContext.js');
|
|
9
9
|
require('../../provider/SnackbarProvider.js');
|
|
10
10
|
var CalendarProvider = require('../../provider/CalendarProvider.js');
|
|
11
|
+
require('../../provider/ManagerContext.js');
|
|
11
12
|
require('../Popover/Context.js');
|
|
12
13
|
require('react-dropzone');
|
|
13
14
|
require('uuid');
|
|
@@ -9,6 +9,7 @@ require('react');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
var useDatePickerInput = require('../../hooks/useDatePickerInput.js');
|
|
13
14
|
var useDatePickerInputCommon = require('../../hooks/useDatePickerInputCommon.js');
|
|
14
15
|
require('react-dropzone');
|
|
@@ -9,6 +9,7 @@ require('react');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
var useDatePickerInputCommon = require('../../hooks/useDatePickerInputCommon.js');
|
|
13
14
|
var useDateRangePickerInput = require('../../hooks/useDateRangePickerInput.js');
|
|
14
15
|
require('react-dropzone');
|
|
@@ -8,6 +8,7 @@ require('react-stately');
|
|
|
8
8
|
require('../../provider/MenubarContext.js');
|
|
9
9
|
require('../../provider/SnackbarProvider.js');
|
|
10
10
|
require('../../provider/CalendarProvider.js');
|
|
11
|
+
require('../../provider/ManagerContext.js');
|
|
11
12
|
require('../Popover/Context.js');
|
|
12
13
|
require('react-dropzone');
|
|
13
14
|
require('uuid');
|
|
@@ -9,6 +9,7 @@ require('react-stately');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
var useDebouncedState = require('../../hooks/useDebouncedState.js');
|
|
14
15
|
require('react-dropzone');
|
|
@@ -9,6 +9,7 @@ require('react');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
var useDimensions = require('../../hooks/useDimensions.js');
|
|
14
15
|
require('react-dropzone');
|
|
@@ -16,6 +16,7 @@ require('../../provider/MenubarContext.js');
|
|
|
16
16
|
require('../../provider/SnackbarProvider.js');
|
|
17
17
|
var useMenubar = require('../../provider/useMenubar.js');
|
|
18
18
|
require('../../provider/CalendarProvider.js');
|
|
19
|
+
require('../../provider/ManagerContext.js');
|
|
19
20
|
|
|
20
21
|
const { dropdown } = menubar.menubar();
|
|
21
22
|
const Dropdown = ({ children, ...rest }) => {
|
|
@@ -15,6 +15,7 @@ require('../../provider/MenubarContext.js');
|
|
|
15
15
|
require('../../provider/SnackbarProvider.js');
|
|
16
16
|
var useMenubar = require('../../provider/useMenubar.js');
|
|
17
17
|
require('../../provider/CalendarProvider.js');
|
|
18
|
+
require('../../provider/ManagerContext.js');
|
|
18
19
|
var menubar = require('../../styles/menubar.js');
|
|
19
20
|
var Button = require('../Button.js');
|
|
20
21
|
|
|
@@ -15,6 +15,7 @@ require('../../provider/MenubarContext.js');
|
|
|
15
15
|
require('../../provider/SnackbarProvider.js');
|
|
16
16
|
var useMenubar = require('../../provider/useMenubar.js');
|
|
17
17
|
require('../../provider/CalendarProvider.js');
|
|
18
|
+
require('../../provider/ManagerContext.js');
|
|
18
19
|
var menubar = require('../../styles/menubar.js');
|
|
19
20
|
var IconControlSubItem = require('./IconControlSubItem.js');
|
|
20
21
|
var ItemLink = require('./ItemLink.js');
|
|
@@ -9,6 +9,7 @@ require('react');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
var useDimensions = require('../../hooks/useDimensions.js');
|
|
14
15
|
require('react-dropzone');
|
|
@@ -6,6 +6,7 @@ require('../../provider/SnackbarProvider.js');
|
|
|
6
6
|
require('../../provider/MenubarContext.js');
|
|
7
7
|
require('react');
|
|
8
8
|
require('../../provider/CalendarProvider.js');
|
|
9
|
+
require('../../provider/ManagerContext.js');
|
|
9
10
|
|
|
10
11
|
const Root = ({ children }) => {
|
|
11
12
|
return /* @__PURE__ */ jsxRuntime.jsx(MenubarProvider.MenubarProvider, { children });
|
|
@@ -17,6 +17,7 @@ require('../../provider/MenubarContext.js');
|
|
|
17
17
|
require('../../provider/SnackbarProvider.js');
|
|
18
18
|
var useMenubar = require('../../provider/useMenubar.js');
|
|
19
19
|
require('../../provider/CalendarProvider.js');
|
|
20
|
+
require('../../provider/ManagerContext.js');
|
|
20
21
|
|
|
21
22
|
const Search = (props) => {
|
|
22
23
|
const [show] = useMenubar.useMenubar();
|
|
@@ -16,6 +16,7 @@ require('../../provider/MenubarContext.js');
|
|
|
16
16
|
require('../../provider/SnackbarProvider.js');
|
|
17
17
|
var useMenubar = require('../../provider/useMenubar.js');
|
|
18
18
|
require('../../provider/CalendarProvider.js');
|
|
19
|
+
require('../../provider/ManagerContext.js');
|
|
19
20
|
|
|
20
21
|
const { container } = menubar.subItem();
|
|
21
22
|
const SubItem = ({
|
|
@@ -8,6 +8,7 @@ require('react');
|
|
|
8
8
|
require('../../provider/MenubarContext.js');
|
|
9
9
|
require('../../provider/SnackbarProvider.js');
|
|
10
10
|
require('../../provider/CalendarProvider.js');
|
|
11
|
+
require('../../provider/ManagerContext.js');
|
|
11
12
|
var Context = require('./Context.js');
|
|
12
13
|
require('react-dropzone');
|
|
13
14
|
require('uuid');
|
|
@@ -9,6 +9,7 @@ require('react-stately');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
var Context = require('../Popover/Context.js');
|
|
13
14
|
require('react-dropzone');
|
|
14
15
|
require('uuid');
|
|
@@ -9,6 +9,7 @@ require('react-stately');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
require('react-dropzone');
|
|
14
15
|
require('uuid');
|
|
@@ -9,6 +9,7 @@ require('react-stately');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
require('../Popover/Context.js');
|
|
13
14
|
require('react-dropzone');
|
|
14
15
|
require('uuid');
|
|
@@ -9,6 +9,7 @@ require('react-stately');
|
|
|
9
9
|
require('../../provider/MenubarContext.js');
|
|
10
10
|
require('../../provider/SnackbarProvider.js');
|
|
11
11
|
require('../../provider/CalendarProvider.js');
|
|
12
|
+
require('../../provider/ManagerContext.js');
|
|
12
13
|
var Context = require('../Popover/Context.js');
|
|
13
14
|
require('react-dropzone');
|
|
14
15
|
require('uuid');
|
|
@@ -45,7 +45,7 @@ const SelectTrigger = ({
|
|
|
45
45
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
46
46
|
"span",
|
|
47
47
|
{
|
|
48
|
-
className: clsx({ "mt-mili": hasValue && label }),
|
|
48
|
+
className: clsx("truncate", { "mt-mili": hasValue && label }),
|
|
49
49
|
"data-testid": "select-placeholder",
|
|
50
50
|
children: _placeholder
|
|
51
51
|
}
|
|
@@ -8,6 +8,7 @@ require('react');
|
|
|
8
8
|
require('../../provider/MenubarContext.js');
|
|
9
9
|
require('../../provider/SnackbarProvider.js');
|
|
10
10
|
require('../../provider/CalendarProvider.js');
|
|
11
|
+
require('../../provider/ManagerContext.js');
|
|
11
12
|
require('../Popover/Context.js');
|
|
12
13
|
require('react-dropzone');
|
|
13
14
|
require('uuid');
|
|
@@ -10,6 +10,7 @@ var react = require('../utils/react.js');
|
|
|
10
10
|
require('../provider/MenubarContext.js');
|
|
11
11
|
require('../provider/SnackbarProvider.js');
|
|
12
12
|
require('../provider/CalendarProvider.js');
|
|
13
|
+
require('../provider/ManagerContext.js');
|
|
13
14
|
require('./Popover/Context.js');
|
|
14
15
|
require('react-dropzone');
|
|
15
16
|
require('uuid');
|
|
@@ -10,7 +10,8 @@ const Dropzone = ({
|
|
|
10
10
|
dropzoneProps,
|
|
11
11
|
selectFileText = "Select a file to start",
|
|
12
12
|
dropText = "By dragging and dropping it here or clicking the button below",
|
|
13
|
-
buttonText = "Select File"
|
|
13
|
+
buttonText = "Select File",
|
|
14
|
+
hasButton = true
|
|
14
15
|
}) => {
|
|
15
16
|
const { getRootProps, getInputProps, isDragActive, isFileLimitReached } = dropzoneProps;
|
|
16
17
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -25,13 +26,28 @@ const Dropzone = ({
|
|
|
25
26
|
),
|
|
26
27
|
children: [
|
|
27
28
|
/* @__PURE__ */ jsxRuntime.jsx("input", { ...getInputProps() }),
|
|
28
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center text-center items-center
|
|
29
|
-
/* @__PURE__ */ jsxRuntime.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center text-center items-center", children: [
|
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
+
hi2.HiOutlineCloudArrowUp,
|
|
33
|
+
{
|
|
34
|
+
className: "text-primary-medium mb-nano",
|
|
35
|
+
size: 35
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg font-semibold", "data-testid": "select-dropzone", children: selectFileText })
|
|
33
39
|
] }),
|
|
34
|
-
|
|
40
|
+
hasButton ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-centi", children: [
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-secondary-medium", children: dropText }),
|
|
42
|
+
isFileLimitReached ? /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { text: "Voc\xEA s\xF3 pode selecionar um \xFAnico arquivo.", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
43
|
+
"button",
|
|
44
|
+
{
|
|
45
|
+
disabled: true,
|
|
46
|
+
className: clsx(cortexCore.button(), "cursor-not-allowed"),
|
|
47
|
+
children: buttonText
|
|
48
|
+
}
|
|
49
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsx("button", { className: cortexCore.button(), children: buttonText })
|
|
50
|
+
] }) : null
|
|
35
51
|
] })
|
|
36
52
|
]
|
|
37
53
|
}
|
|
@@ -8,16 +8,27 @@ var io = require('react-icons/io');
|
|
|
8
8
|
var clsx = require('clsx');
|
|
9
9
|
var io5 = require('react-icons/io5');
|
|
10
10
|
var cortexCore = require('@tecsinapse/cortex-core');
|
|
11
|
-
var
|
|
11
|
+
var useManagerHelpers = require('../../hooks/useManagerHelpers.js');
|
|
12
12
|
|
|
13
13
|
const Manager = ({
|
|
14
14
|
open,
|
|
15
15
|
files,
|
|
16
16
|
onDelete,
|
|
17
17
|
uploadProgressText = "Upload(s) in progress",
|
|
18
|
+
uploadSuccessText = "Upload(s) completed",
|
|
18
19
|
onClose
|
|
19
20
|
}) => {
|
|
20
|
-
const {
|
|
21
|
+
const {
|
|
22
|
+
min,
|
|
23
|
+
setMin,
|
|
24
|
+
regularFiles,
|
|
25
|
+
folderFiles,
|
|
26
|
+
totalLength,
|
|
27
|
+
setFolders,
|
|
28
|
+
isLoading
|
|
29
|
+
} = useManagerHelpers.useManagerHelpers({
|
|
30
|
+
files
|
|
31
|
+
});
|
|
21
32
|
return reactDom.createPortal(
|
|
22
33
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23
34
|
"div",
|
|
@@ -36,12 +47,13 @@ const Manager = ({
|
|
|
36
47
|
children: min ? /* @__PURE__ */ jsxRuntime.jsx(io5.IoChevronUp, {}) : /* @__PURE__ */ jsxRuntime.jsx(io5.IoChevronDown, {})
|
|
37
48
|
}
|
|
38
49
|
),
|
|
39
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { "data-testid": "upload-progress", children: uploadProgressText }),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { "data-testid": "upload-progress", children: isLoading ? uploadProgressText : uploadSuccessText }),
|
|
40
51
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41
52
|
Button.Button,
|
|
42
53
|
{
|
|
43
54
|
variants: { variant: "filled", size: "square" },
|
|
44
55
|
onClick: onClose,
|
|
56
|
+
disabled: isLoading,
|
|
45
57
|
children: /* @__PURE__ */ jsxRuntime.jsx(io.IoMdClose, {})
|
|
46
58
|
}
|
|
47
59
|
)
|
|
@@ -52,7 +64,7 @@ const Manager = ({
|
|
|
52
64
|
className: clsx.clsx("w-full h-auto max-h-[300px] gap-mili", {
|
|
53
65
|
hidden: min,
|
|
54
66
|
"flex flex-col": !min,
|
|
55
|
-
"pb-kilo overflow-scroll pr-deca":
|
|
67
|
+
"pb-kilo overflow-scroll pr-deca": totalLength > 3
|
|
56
68
|
}),
|
|
57
69
|
children: [
|
|
58
70
|
regularFiles.length > 0 ? regularFiles.map((file, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -65,7 +77,7 @@ const Manager = ({
|
|
|
65
77
|
},
|
|
66
78
|
file.uid
|
|
67
79
|
)) : null,
|
|
68
|
-
folderFiles.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Upload.FolderList, { files: folderFiles }) : null
|
|
80
|
+
folderFiles.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Upload.FolderList, { files: folderFiles, setFolders }) : null
|
|
69
81
|
]
|
|
70
82
|
}
|
|
71
83
|
)
|
|
@@ -3,24 +3,22 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var Modal = require('./Modal.js');
|
|
5
5
|
var Dropzone = require('./Dropzone.js');
|
|
6
|
-
var
|
|
6
|
+
var Files = require('./Files.js');
|
|
7
7
|
|
|
8
8
|
const Root = ({
|
|
9
9
|
open,
|
|
10
10
|
onClose,
|
|
11
|
-
files,
|
|
12
|
-
onDelete,
|
|
13
11
|
dropzoneProps,
|
|
14
12
|
selectFileText,
|
|
15
13
|
dropText,
|
|
16
14
|
buttonText,
|
|
17
|
-
uploadProgressText,
|
|
18
15
|
titleModal,
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
onDelete,
|
|
17
|
+
uploadProgressText,
|
|
18
|
+
files
|
|
21
19
|
}) => {
|
|
22
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
23
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(Modal.Modal, { onClose, open, title: titleModal, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 flex-col w-full gap-deca md:flex-row", children: [
|
|
21
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24
22
|
Dropzone.Dropzone,
|
|
25
23
|
{
|
|
26
24
|
dropzoneProps,
|
|
@@ -28,18 +26,16 @@ const Root = ({
|
|
|
28
26
|
dropText,
|
|
29
27
|
buttonText
|
|
30
28
|
}
|
|
31
|
-
)
|
|
29
|
+
),
|
|
32
30
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
-
|
|
31
|
+
Files.Files,
|
|
34
32
|
{
|
|
35
|
-
open: isManagerOpen,
|
|
36
33
|
files,
|
|
37
34
|
onDelete,
|
|
38
|
-
uploadProgressText
|
|
39
|
-
onClose: closeManager
|
|
35
|
+
uploadProgressText
|
|
40
36
|
}
|
|
41
37
|
)
|
|
42
|
-
] });
|
|
38
|
+
] }) }) });
|
|
43
39
|
};
|
|
44
40
|
|
|
45
41
|
exports.Root = Root;
|
|
@@ -44,6 +44,15 @@ const File = ({
|
|
|
44
44
|
return "info";
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
const formatFileSize = (size) => {
|
|
48
|
+
const units = ["B", "KB", "MB", "GB"];
|
|
49
|
+
let i = 0;
|
|
50
|
+
while (size >= 1024 && i < units.length - 1) {
|
|
51
|
+
size /= 1024;
|
|
52
|
+
i++;
|
|
53
|
+
}
|
|
54
|
+
return `${size.toFixed(2)} ${units[i]}`;
|
|
55
|
+
};
|
|
47
56
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col w-full", children: [
|
|
48
57
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border rounded-t-mili shadow p-mili", children: [
|
|
49
58
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-centi", children: [
|
|
@@ -57,16 +66,13 @@ const File = ({
|
|
|
57
66
|
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "border-2 text-kilo text-primary-medium w-tera h-tera flex items-center justify-center rounded-mili", children: /* @__PURE__ */ jsxRuntime.jsx(fa6.FaRegFileLines, {}) }),
|
|
58
67
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-col", children: [
|
|
59
68
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: file.file.name }),
|
|
60
|
-
/* @__PURE__ */ jsxRuntime.
|
|
61
|
-
(file.file.size / 1024).toFixed(2),
|
|
62
|
-
" KB"
|
|
63
|
-
] })
|
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500", children: formatFileSize(file.file.size) })
|
|
64
70
|
] })
|
|
65
71
|
] }),
|
|
66
72
|
file.status === "success" && showDelete ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
67
73
|
"button",
|
|
68
74
|
{
|
|
69
|
-
onClick: () => onDelete(index),
|
|
75
|
+
onClick: () => onDelete?.(index),
|
|
70
76
|
"data-testid": "remove-button",
|
|
71
77
|
className: cortexCore.button({
|
|
72
78
|
className: " bg-inherit border-2 border-primary-light text-primary-light",
|
|
@@ -86,9 +92,12 @@ const File = ({
|
|
|
86
92
|
] }, index);
|
|
87
93
|
};
|
|
88
94
|
const Folder = ({ name, subItems }) => {
|
|
89
|
-
const size =
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
const size = React.useMemo(
|
|
96
|
+
() => countFolderElements(
|
|
97
|
+
subItems.map((it) => it.path),
|
|
98
|
+
name
|
|
99
|
+
),
|
|
100
|
+
[subItems, name]
|
|
92
101
|
);
|
|
93
102
|
const loading = React.useMemo(
|
|
94
103
|
() => subItems.some((it) => it.status === "uploading"),
|
|
@@ -116,7 +125,7 @@ const Folder = ({ name, subItems }) => {
|
|
|
116
125
|
/* @__PURE__ */ jsxRuntime.jsx(ProgressBar.ProgressBar, { intent, infinite: loading })
|
|
117
126
|
] });
|
|
118
127
|
};
|
|
119
|
-
const FolderList = ({ files }) => {
|
|
128
|
+
const FolderList = ({ files, setFolders }) => {
|
|
120
129
|
const folders = React.useMemo(() => {
|
|
121
130
|
const segments = {};
|
|
122
131
|
files.forEach((file) => {
|
|
@@ -127,6 +136,7 @@ const FolderList = ({ files }) => {
|
|
|
127
136
|
});
|
|
128
137
|
return segments;
|
|
129
138
|
}, [files]);
|
|
139
|
+
React.useEffect(() => setFolders(Object.entries(folders)), [folders, setFolders]);
|
|
130
140
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Object.entries(folders).map(([name, children], index) => /* @__PURE__ */ jsxRuntime.jsx(Folder, { name, subItems: children }, index)) });
|
|
131
141
|
};
|
|
132
142
|
|
|
@@ -13,6 +13,7 @@ require('currency.js');
|
|
|
13
13
|
require('../provider/MenubarContext.js');
|
|
14
14
|
require('../provider/SnackbarProvider.js');
|
|
15
15
|
var CalendarProvider = require('../provider/CalendarProvider.js');
|
|
16
|
+
require('../provider/ManagerContext.js');
|
|
16
17
|
|
|
17
18
|
const useCalendarCell = ({ state, date: date$1 }) => {
|
|
18
19
|
const { isTodayHighlited } = CalendarProvider.useCalendarContext();
|
|
@@ -4,22 +4,43 @@ var React = require('react');
|
|
|
4
4
|
var reactDropzone = require('react-dropzone');
|
|
5
5
|
var uuid = require('uuid');
|
|
6
6
|
var types = require('../components/Uploader/types.js');
|
|
7
|
+
require('react/jsx-runtime');
|
|
8
|
+
require('@internationalized/date');
|
|
9
|
+
require('react-aria');
|
|
10
|
+
require('react-stately');
|
|
11
|
+
require('../components/Popover/Context.js');
|
|
12
|
+
require('@floating-ui/react');
|
|
13
|
+
require('currency.js');
|
|
14
|
+
require('../provider/MenubarContext.js');
|
|
15
|
+
require('../provider/SnackbarProvider.js');
|
|
16
|
+
require('../provider/CalendarProvider.js');
|
|
17
|
+
var ManagerContext = require('../provider/ManagerContext.js');
|
|
7
18
|
|
|
8
19
|
const useFileUpload = ({
|
|
9
20
|
accept = {},
|
|
10
21
|
onAccept,
|
|
22
|
+
onOpenManager,
|
|
11
23
|
onFileRejected,
|
|
12
24
|
maxSize,
|
|
13
25
|
allowMultiple = true,
|
|
14
26
|
preventDuplicates = false,
|
|
15
27
|
onDuplicate,
|
|
16
28
|
hasManager = true,
|
|
17
|
-
isFolder = false
|
|
29
|
+
isFolder = false,
|
|
30
|
+
noClick = false,
|
|
31
|
+
ignoreRejections = false,
|
|
32
|
+
uploadProgressText
|
|
18
33
|
}) => {
|
|
19
|
-
const
|
|
34
|
+
const {
|
|
35
|
+
showManager,
|
|
36
|
+
files,
|
|
37
|
+
setFiles,
|
|
38
|
+
isOpen: isManagerOpen,
|
|
39
|
+
setIsOpen: setIsManagerOpen,
|
|
40
|
+
uploadFiles
|
|
41
|
+
} = ManagerContext.useManager();
|
|
20
42
|
const [duplicates, setDuplicates] = React.useState([]);
|
|
21
43
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
22
|
-
const [isManagerOpen, setIsManagerOpen] = React.useState(false);
|
|
23
44
|
const onOpen = React.useCallback(() => setIsOpen(true), []);
|
|
24
45
|
const onClose = React.useCallback(() => setIsOpen(false), []);
|
|
25
46
|
const handleRemoveFile = React.useCallback((index) => {
|
|
@@ -28,7 +49,10 @@ const useFileUpload = ({
|
|
|
28
49
|
const handleClearFiles = React.useCallback(() => {
|
|
29
50
|
setFiles([]);
|
|
30
51
|
}, []);
|
|
31
|
-
const openManager = React.useCallback(() =>
|
|
52
|
+
const openManager = React.useCallback(() => {
|
|
53
|
+
setIsManagerOpen(true);
|
|
54
|
+
onOpenManager?.();
|
|
55
|
+
}, []);
|
|
32
56
|
const closeManager = React.useCallback(() => {
|
|
33
57
|
handleClearFiles();
|
|
34
58
|
setIsManagerOpen(false);
|
|
@@ -41,7 +65,8 @@ const useFileUpload = ({
|
|
|
41
65
|
},
|
|
42
66
|
[]
|
|
43
67
|
);
|
|
44
|
-
const onDrop = async (acceptedFiles) => {
|
|
68
|
+
const onDrop = async (acceptedFiles, fileRejections) => {
|
|
69
|
+
if (fileRejections.length > 0 && !ignoreRejections) return;
|
|
45
70
|
if (hasManager) {
|
|
46
71
|
openManager();
|
|
47
72
|
onClose();
|
|
@@ -66,20 +91,17 @@ const useFileUpload = ({
|
|
|
66
91
|
uid: uuid.v4(),
|
|
67
92
|
isFolder
|
|
68
93
|
}));
|
|
69
|
-
|
|
70
|
-
setFiles((prevFiles) => [...prevFiles, ...newFiles]);
|
|
71
|
-
if (onAccept) {
|
|
72
|
-
const updatedFiles = await onAccept(newFiles);
|
|
73
|
-
setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
|
|
74
|
-
}
|
|
75
|
-
} catch (e) {
|
|
76
|
-
const updatedFiles = newFiles.map((f) => ({
|
|
77
|
-
...f,
|
|
78
|
-
status: types.FileStatus.ERROR
|
|
79
|
-
}));
|
|
80
|
-
setFiles((prevFiles) => updateFiles(prevFiles, updatedFiles));
|
|
81
|
-
}
|
|
94
|
+
uploadFiles({ onAccept, newFiles, updateFiles });
|
|
82
95
|
};
|
|
96
|
+
React.useEffect(() => {
|
|
97
|
+
if (hasManager) {
|
|
98
|
+
showManager?.({
|
|
99
|
+
onClose: closeManager,
|
|
100
|
+
onDelete: handleRemoveFile,
|
|
101
|
+
uploadProgressText
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, [handleRemoveFile, closeManager]);
|
|
83
105
|
const addMimeTypes = (key, acc) => {
|
|
84
106
|
types.AcceptSpecificMap[key].forEach((mimeType) => {
|
|
85
107
|
acc[mimeType] = [];
|
|
@@ -101,7 +123,8 @@ const useFileUpload = ({
|
|
|
101
123
|
accept: mappedAccept,
|
|
102
124
|
multiple: allowMultiple,
|
|
103
125
|
maxSize,
|
|
104
|
-
onDropRejected: onFileRejected
|
|
126
|
+
onDropRejected: onFileRejected,
|
|
127
|
+
noClick
|
|
105
128
|
});
|
|
106
129
|
const isFileLimitReached = !allowMultiple && files.length > 0;
|
|
107
130
|
return {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
const useManagerHelpers = ({
|
|
6
|
+
files
|
|
7
|
+
}) => {
|
|
8
|
+
const [min, setMin] = React.useState(false);
|
|
9
|
+
const [folders, setFolders] = React.useState();
|
|
10
|
+
const folderFiles = React.useMemo(
|
|
11
|
+
() => files?.filter((file) => file.isFolder) ?? [],
|
|
12
|
+
[files]
|
|
13
|
+
);
|
|
14
|
+
const regularFiles = React.useMemo(
|
|
15
|
+
() => files?.filter((file) => !file.isFolder) ?? [],
|
|
16
|
+
[files]
|
|
17
|
+
);
|
|
18
|
+
const totalLength = (regularFiles ?? []).length + (folders ?? []).length;
|
|
19
|
+
const isLoading = React.useMemo(
|
|
20
|
+
() => files?.some((file) => file.status === "uploading"),
|
|
21
|
+
[files]
|
|
22
|
+
);
|
|
23
|
+
return {
|
|
24
|
+
min,
|
|
25
|
+
setMin,
|
|
26
|
+
folderFiles,
|
|
27
|
+
regularFiles,
|
|
28
|
+
totalLength,
|
|
29
|
+
setFolders,
|
|
30
|
+
isLoading
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
exports.useManagerHelpers = useManagerHelpers;
|
package/dist/cjs/index.js
CHANGED
|
@@ -67,6 +67,7 @@ var SnackbarProvider = require('./provider/SnackbarProvider.js');
|
|
|
67
67
|
var MenubarContext = require('./provider/MenubarContext.js');
|
|
68
68
|
var useMenubar = require('./provider/useMenubar.js');
|
|
69
69
|
var CalendarProvider = require('./provider/CalendarProvider.js');
|
|
70
|
+
var ManagerContext = require('./provider/ManagerContext.js');
|
|
70
71
|
var context = require('./components/Accordion/context.js');
|
|
71
72
|
var masks = require('./components/Input/masks.js');
|
|
72
73
|
var Root = require('./components/Uploader/Root.js');
|
|
@@ -156,6 +157,8 @@ exports.MenubarContext = MenubarContext.MenubarContext;
|
|
|
156
157
|
exports.useMenubar = useMenubar.useMenubar;
|
|
157
158
|
exports.CalendarProvider = CalendarProvider.CalendarProvider;
|
|
158
159
|
exports.useCalendarContext = CalendarProvider.useCalendarContext;
|
|
160
|
+
exports.ManagerProvider = ManagerContext.ManagerProvider;
|
|
161
|
+
exports.useManager = ManagerContext.useManager;
|
|
159
162
|
exports.Context = context.Context;
|
|
160
163
|
exports.useAccordionContext = context.useAccordionContext;
|
|
161
164
|
exports.BRLMask = masks.BRLMask;
|