@tecsinapse/cortex-react 1.15.0-beta.2 → 1.15.0-beta.21
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/Dropzone.js +23 -7
- package/dist/cjs/components/Uploader/Manager.js +26 -20
- package/dist/cjs/components/Uploader/Modal.js +1 -2
- package/dist/cjs/components/Uploader/Root.js +10 -14
- package/dist/cjs/components/Uploader/Upload.js +74 -2
- package/dist/cjs/hooks/useCalendarCell.js +1 -0
- package/dist/cjs/hooks/useFileUpload.js +56 -28
- package/dist/cjs/hooks/useManagerHelpers.js +29 -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/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/Dropzone.js +23 -7
- package/dist/esm/components/Uploader/Manager.js +28 -22
- package/dist/esm/components/Uploader/Modal.js +1 -2
- package/dist/esm/components/Uploader/Root.js +11 -15
- package/dist/esm/components/Uploader/Upload.js +75 -5
- package/dist/esm/hooks/useCalendarCell.js +1 -0
- package/dist/esm/hooks/useFileUpload.js +57 -29
- package/dist/esm/hooks/useManagerHelpers.js +27 -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/esm/styles/progressBar.js +1 -1
- package/dist/types/components/Uploader/Dropzone.d.ts +1 -1
- package/dist/types/components/Uploader/Root.d.ts +1 -1
- package/dist/types/components/Uploader/Upload.d.ts +3 -1
- package/dist/types/components/Uploader/index.d.ts +2 -2
- package/dist/types/components/Uploader/types.d.ts +31 -7
- package/dist/types/hooks/useFileUpload.d.ts +8 -4
- package/dist/types/hooks/useManagerHelpers.d.ts +14 -0
- package/dist/types/provider/ManagerContext.d.ts +20 -0
- package/dist/types/provider/index.d.ts +1 -0
- package/package.json +3 -3
|
@@ -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');
|
|
@@ -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
|
}
|
|
@@ -5,10 +5,10 @@ var reactDom = require('react-dom');
|
|
|
5
5
|
var Upload = require('./Upload.js');
|
|
6
6
|
var Button = require('../Button.js');
|
|
7
7
|
var io = require('react-icons/io');
|
|
8
|
-
var React = require('react');
|
|
9
8
|
var clsx = require('clsx');
|
|
10
9
|
var io5 = require('react-icons/io5');
|
|
11
10
|
var cortexCore = require('@tecsinapse/cortex-core');
|
|
11
|
+
var useManagerHelpers = require('../../hooks/useManagerHelpers.js');
|
|
12
12
|
|
|
13
13
|
const Manager = ({
|
|
14
14
|
open,
|
|
@@ -17,13 +17,15 @@ const Manager = ({
|
|
|
17
17
|
uploadProgressText = "Upload(s) in progress",
|
|
18
18
|
onClose
|
|
19
19
|
}) => {
|
|
20
|
-
const
|
|
20
|
+
const { min, setMin, regularFiles, folderFiles, totalLength, setFolders } = useManagerHelpers.useManagerHelpers({
|
|
21
|
+
files
|
|
22
|
+
});
|
|
21
23
|
return reactDom.createPortal(
|
|
22
24
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23
25
|
"div",
|
|
24
26
|
{
|
|
25
27
|
className: cortexCore.manager({
|
|
26
|
-
className: "h-auto max-h-[350px] w-[450px] overflow-hidden
|
|
28
|
+
className: "h-auto max-h-[350px] w-[450px] overflow-hidden",
|
|
27
29
|
open
|
|
28
30
|
}),
|
|
29
31
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col w-full h-full gap-mili items-center", children: [
|
|
@@ -31,9 +33,9 @@ const Manager = ({
|
|
|
31
33
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32
34
|
Button.Button,
|
|
33
35
|
{
|
|
34
|
-
variants: { variant: "
|
|
36
|
+
variants: { variant: "text", size: "square" },
|
|
35
37
|
onClick: () => setMin((min2) => !min2),
|
|
36
|
-
children: min ? /* @__PURE__ */ jsxRuntime.jsx(io5.
|
|
38
|
+
children: min ? /* @__PURE__ */ jsxRuntime.jsx(io5.IoChevronUp, {}) : /* @__PURE__ */ jsxRuntime.jsx(io5.IoChevronDown, {})
|
|
37
39
|
}
|
|
38
40
|
),
|
|
39
41
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { "data-testid": "upload-progress", children: uploadProgressText }),
|
|
@@ -46,23 +48,27 @@ const Manager = ({
|
|
|
46
48
|
}
|
|
47
49
|
)
|
|
48
50
|
] }),
|
|
49
|
-
/* @__PURE__ */ jsxRuntime.
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
50
52
|
"div",
|
|
51
53
|
{
|
|
52
|
-
className: clsx.clsx(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
className: clsx.clsx("w-full h-auto max-h-[300px] gap-mili", {
|
|
55
|
+
hidden: min,
|
|
56
|
+
"flex flex-col": !min,
|
|
57
|
+
"pb-kilo overflow-scroll pr-deca": totalLength > 3
|
|
58
|
+
}),
|
|
59
|
+
children: [
|
|
60
|
+
regularFiles.length > 0 ? regularFiles.map((file, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
61
|
+
Upload.File,
|
|
62
|
+
{
|
|
63
|
+
file,
|
|
64
|
+
index,
|
|
65
|
+
onDelete,
|
|
66
|
+
showDelete: false
|
|
67
|
+
},
|
|
68
|
+
file.uid
|
|
69
|
+
)) : null,
|
|
70
|
+
folderFiles.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Upload.FolderList, { files: folderFiles, setFolders }) : null
|
|
71
|
+
]
|
|
66
72
|
}
|
|
67
73
|
)
|
|
68
74
|
] })
|
|
@@ -21,8 +21,7 @@ const Modal = ({
|
|
|
21
21
|
className: "flex flex-col bg-secondary-xlight rounded-mili min-w-[70vw] max-w-[95vh] max-h-[95vh] overflow-auto",
|
|
22
22
|
children: [
|
|
23
23
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between mb-deca", children: [
|
|
24
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-deca font-semibold", children: title }),
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-deca font-semibold ml-tera flex-1 text-center", children: title }),
|
|
26
25
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27
26
|
"button",
|
|
28
27
|
{
|
|
@@ -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;
|
|
@@ -2,10 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var cortexCore = require('@tecsinapse/cortex-core');
|
|
5
|
+
var React = require('react');
|
|
5
6
|
var fa6 = require('react-icons/fa6');
|
|
6
7
|
var md = require('react-icons/md');
|
|
7
8
|
var ProgressBar = require('../ProgressBar/ProgressBar.js');
|
|
8
9
|
|
|
10
|
+
const recursiveCountFolderElements = (node) => {
|
|
11
|
+
let count = 0;
|
|
12
|
+
for (const key in node) {
|
|
13
|
+
count++;
|
|
14
|
+
count += recursiveCountFolderElements(node[key]);
|
|
15
|
+
}
|
|
16
|
+
return count;
|
|
17
|
+
};
|
|
18
|
+
const countFolderElements = (paths, root) => {
|
|
19
|
+
if (!paths.length) return 0;
|
|
20
|
+
const tree = {};
|
|
21
|
+
for (const path of paths) {
|
|
22
|
+
const parts = path.replace(root + "/", "").split("/").filter(Boolean);
|
|
23
|
+
let current = tree;
|
|
24
|
+
for (const part of parts) {
|
|
25
|
+
if (!current[part]) current[part] = {};
|
|
26
|
+
current = current[part];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return recursiveCountFolderElements(tree);
|
|
30
|
+
};
|
|
9
31
|
const File = ({
|
|
10
32
|
file,
|
|
11
33
|
index,
|
|
@@ -22,7 +44,7 @@ const File = ({
|
|
|
22
44
|
return "info";
|
|
23
45
|
}
|
|
24
46
|
}
|
|
25
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
47
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col w-full", children: [
|
|
26
48
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border rounded-t-mili shadow p-mili", children: [
|
|
27
49
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-centi", children: [
|
|
28
50
|
file.file && file.file.type.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -44,7 +66,7 @@ const File = ({
|
|
|
44
66
|
file.status === "success" && showDelete ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
67
|
"button",
|
|
46
68
|
{
|
|
47
|
-
onClick: () => onDelete(index),
|
|
69
|
+
onClick: () => onDelete?.(index),
|
|
48
70
|
"data-testid": "remove-button",
|
|
49
71
|
className: cortexCore.button({
|
|
50
72
|
className: " bg-inherit border-2 border-primary-light text-primary-light",
|
|
@@ -63,5 +85,55 @@ const File = ({
|
|
|
63
85
|
)
|
|
64
86
|
] }, index);
|
|
65
87
|
};
|
|
88
|
+
const Folder = ({ name, subItems }) => {
|
|
89
|
+
const size = React.useMemo(
|
|
90
|
+
() => countFolderElements(
|
|
91
|
+
subItems.map((it) => it.path),
|
|
92
|
+
name
|
|
93
|
+
),
|
|
94
|
+
[subItems, name]
|
|
95
|
+
);
|
|
96
|
+
const loading = React.useMemo(
|
|
97
|
+
() => subItems.some((it) => it.status === "uploading"),
|
|
98
|
+
[subItems]
|
|
99
|
+
);
|
|
100
|
+
const intent = React.useMemo(() => {
|
|
101
|
+
if (loading) return "info";
|
|
102
|
+
if ((subItems ?? []).some((item) => item.status === "error") && (subItems ?? []).some((item) => item.status === "success")) {
|
|
103
|
+
return "warning";
|
|
104
|
+
}
|
|
105
|
+
return "success";
|
|
106
|
+
}, [subItems]);
|
|
107
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col w-full", children: [
|
|
108
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between border rounded-t-mili shadow p-mili", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-centi", children: [
|
|
109
|
+
/* @__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.FaRegFolder, {}) }),
|
|
110
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-col", children: [
|
|
111
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: name }),
|
|
112
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-gray-500", children: [
|
|
113
|
+
size,
|
|
114
|
+
" ",
|
|
115
|
+
size > 1 ? "itens" : "item"
|
|
116
|
+
] })
|
|
117
|
+
] })
|
|
118
|
+
] }) }),
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProgressBar.ProgressBar, { intent, infinite: loading })
|
|
120
|
+
] });
|
|
121
|
+
};
|
|
122
|
+
const FolderList = ({ files, setFolders }) => {
|
|
123
|
+
const folders = React.useMemo(() => {
|
|
124
|
+
const segments = {};
|
|
125
|
+
files.forEach((file) => {
|
|
126
|
+
const path = file.file.relativePath.replace(/^\//, "");
|
|
127
|
+
const root = path.split("/")[0];
|
|
128
|
+
const current = Array.from(segments?.[root] ?? []);
|
|
129
|
+
segments[root] = [...current, { path, status: file.status }];
|
|
130
|
+
});
|
|
131
|
+
return segments;
|
|
132
|
+
}, [files]);
|
|
133
|
+
React.useEffect(() => setFolders(Object.entries(folders)), [folders, setFolders]);
|
|
134
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Object.entries(folders).map(([name, children], index) => /* @__PURE__ */ jsxRuntime.jsx(Folder, { name, subItems: children }, index)) });
|
|
135
|
+
};
|
|
66
136
|
|
|
67
137
|
exports.File = File;
|
|
138
|
+
exports.Folder = Folder;
|
|
139
|
+
exports.FolderList = FolderList;
|
|
@@ -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();
|