@tecsinapse/cortex-react 1.6.0 → 1.7.0-beta.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.
Files changed (119) hide show
  1. package/dist/cjs/components/Avatar.js +3 -2
  2. package/dist/cjs/components/Calendar/Calendar.js +2 -0
  3. package/dist/cjs/components/Calendar/CalendarCell.js +2 -0
  4. package/dist/cjs/components/Calendar/CalendarGrid.js +2 -0
  5. package/dist/cjs/components/Calendar/RangeCalendar.js +2 -0
  6. package/dist/cjs/components/DatePicker/DatePickerInput.js +6 -4
  7. package/dist/cjs/components/DatePicker/DateRangePickerInput.js +9 -7
  8. package/dist/cjs/components/Input/Mask.js +2 -0
  9. package/dist/cjs/components/Input/Search.js +2 -0
  10. package/dist/cjs/components/Input/index.js +2 -0
  11. package/dist/cjs/components/Input/masks.js +4 -2
  12. package/dist/cjs/components/Menubar/Dropdown.js +2 -0
  13. package/dist/cjs/components/Menubar/Header.js +2 -0
  14. package/dist/cjs/components/Menubar/ItemLink.js +2 -0
  15. package/dist/cjs/components/Menubar/Search.js +2 -0
  16. package/dist/cjs/components/Popover/Provider.js +4 -2
  17. package/dist/cjs/components/Popover/Trigger.js +3 -2
  18. package/dist/cjs/components/ProgressBar/ProgressBar.js +41 -0
  19. package/dist/cjs/components/ProgressBar/ProgressBarInfinite.js +15 -0
  20. package/dist/cjs/components/ProgressBar/ProgressBarSegments.js +48 -0
  21. package/dist/cjs/components/Select/GroupedOptions.js +2 -0
  22. package/dist/cjs/components/Select/MultiGroupedOptions.js +2 -0
  23. package/dist/cjs/components/Select/MultiOptions.js +2 -0
  24. package/dist/cjs/components/Select/Options.js +2 -0
  25. package/dist/cjs/components/Tooltip.js +15 -10
  26. package/dist/cjs/components/Uploader/Dropzone.js +30 -0
  27. package/dist/cjs/components/Uploader/Files.js +14 -0
  28. package/dist/cjs/components/Uploader/Modal.js +38 -0
  29. package/dist/cjs/components/Uploader/Root.js +38 -0
  30. package/dist/cjs/components/Uploader/Upload.js +31 -0
  31. package/dist/cjs/components/Uploader/index.js +16 -0
  32. package/dist/cjs/components/Uploader/types.js +70 -0
  33. package/dist/cjs/hooks/useCalendar.js +4 -3
  34. package/dist/cjs/hooks/useDatePickerInput.js +3 -3
  35. package/dist/cjs/hooks/useDateRangePickerInput.js +5 -5
  36. package/dist/cjs/hooks/useFileUpload.js +85 -0
  37. package/dist/cjs/hooks/{useFloatingLogic.js → useFloatingElement.js} +8 -12
  38. package/dist/cjs/hooks/useNumberMask.js +3 -2
  39. package/dist/cjs/hooks/useRangeCalendar.js +5 -5
  40. package/dist/cjs/index.js +12 -3
  41. package/dist/cjs/provider/MenubarProvider.js +2 -0
  42. package/dist/cjs/styles/progressBar.js +32 -1
  43. package/dist/cjs/{components/utils.js → utils/date.js} +0 -14
  44. package/dist/cjs/utils/react.js +9 -0
  45. package/dist/cjs/utils/string.js +12 -0
  46. package/dist/esm/components/Avatar.js +2 -1
  47. package/dist/esm/components/Calendar/Calendar.js +2 -0
  48. package/dist/esm/components/Calendar/CalendarCell.js +2 -0
  49. package/dist/esm/components/Calendar/CalendarGrid.js +2 -0
  50. package/dist/esm/components/Calendar/RangeCalendar.js +2 -0
  51. package/dist/esm/components/DatePicker/DatePickerInput.js +5 -3
  52. package/dist/esm/components/DatePicker/DateRangePickerInput.js +5 -3
  53. package/dist/esm/components/Input/Mask.js +2 -0
  54. package/dist/esm/components/Input/Search.js +2 -0
  55. package/dist/esm/components/Input/index.js +2 -0
  56. package/dist/esm/components/Input/masks.js +3 -1
  57. package/dist/esm/components/Menubar/Dropdown.js +2 -0
  58. package/dist/esm/components/Menubar/Header.js +2 -0
  59. package/dist/esm/components/Menubar/ItemLink.js +2 -0
  60. package/dist/esm/components/Menubar/Search.js +2 -0
  61. package/dist/esm/components/Popover/Provider.js +4 -2
  62. package/dist/esm/components/Popover/Trigger.js +2 -1
  63. package/dist/esm/components/ProgressBar/ProgressBar.js +39 -0
  64. package/dist/esm/components/ProgressBar/ProgressBarInfinite.js +13 -0
  65. package/dist/esm/components/ProgressBar/ProgressBarSegments.js +46 -0
  66. package/dist/esm/components/Select/GroupedOptions.js +2 -0
  67. package/dist/esm/components/Select/MultiGroupedOptions.js +2 -0
  68. package/dist/esm/components/Select/MultiOptions.js +2 -0
  69. package/dist/esm/components/Select/Options.js +2 -0
  70. package/dist/esm/components/Tooltip.js +12 -7
  71. package/dist/esm/components/Uploader/Dropzone.js +28 -0
  72. package/dist/esm/components/Uploader/Files.js +12 -0
  73. package/dist/esm/components/Uploader/Modal.js +36 -0
  74. package/dist/esm/components/Uploader/Root.js +36 -0
  75. package/dist/esm/components/Uploader/Upload.js +29 -0
  76. package/dist/esm/components/Uploader/index.js +13 -0
  77. package/dist/esm/components/Uploader/types.js +67 -0
  78. package/dist/esm/hooks/useCalendar.js +2 -1
  79. package/dist/esm/hooks/useDatePickerInput.js +1 -1
  80. package/dist/esm/hooks/useDateRangePickerInput.js +1 -1
  81. package/dist/esm/hooks/useFileUpload.js +83 -0
  82. package/dist/esm/hooks/{useFloatingLogic.js → useFloatingElement.js} +8 -12
  83. package/dist/esm/hooks/useNumberMask.js +2 -1
  84. package/dist/esm/hooks/useRangeCalendar.js +1 -1
  85. package/dist/esm/index.js +6 -2
  86. package/dist/esm/provider/MenubarProvider.js +2 -0
  87. package/dist/esm/styles/progressBar.js +32 -2
  88. package/dist/esm/utils/date.js +14 -0
  89. package/dist/esm/utils/react.js +7 -0
  90. package/dist/esm/utils/string.js +10 -0
  91. package/dist/types/components/{ProgressBar.d.ts → ProgressBar/ProgressBar.d.ts} +4 -3
  92. package/dist/types/components/ProgressBar/ProgressBarInfinite.d.ts +6 -0
  93. package/dist/types/components/ProgressBar/ProgressBarSegments.d.ts +9 -0
  94. package/dist/types/components/ProgressBar/index.d.ts +1 -0
  95. package/dist/types/components/Tooltip.d.ts +2 -0
  96. package/dist/types/components/Uploader/Dropzone.d.ts +3 -0
  97. package/dist/types/components/Uploader/Files.d.ts +3 -0
  98. package/dist/types/components/Uploader/Modal.d.ts +2 -0
  99. package/dist/types/components/Uploader/Root.d.ts +3 -0
  100. package/dist/types/components/Uploader/Upload.d.ts +3 -0
  101. package/dist/types/components/Uploader/index.d.ts +9 -0
  102. package/dist/types/components/Uploader/types.d.ts +63 -0
  103. package/dist/types/components/index.d.ts +1 -0
  104. package/dist/types/hooks/index.d.ts +2 -1
  105. package/dist/types/hooks/useFileUpload.d.ts +23 -0
  106. package/dist/types/hooks/{useFloatingLogic.d.ts → useFloatingElement.d.ts} +8 -6
  107. package/dist/types/styles/progressBar.d.ts +167 -0
  108. package/dist/types/utils/date.d.ts +3 -0
  109. package/dist/types/utils/index.d.ts +4 -1
  110. package/dist/types/utils/react.d.ts +2 -0
  111. package/dist/types/utils/string.d.ts +1 -0
  112. package/package.json +6 -4
  113. package/dist/cjs/components/ProgressBar.js +0 -71
  114. package/dist/esm/components/ProgressBar.js +0 -69
  115. package/dist/esm/components/utils.js +0 -26
  116. package/dist/types/components/utils.d.ts +0 -6
  117. /package/dist/cjs/utils/{extractNumbersFromString.js → extractors.js} +0 -0
  118. /package/dist/esm/utils/{extractNumbersFromString.js → extractors.js} +0 -0
  119. /package/dist/types/utils/{extractNumbersFromString.d.ts → extractors.d.ts} +0 -0
@@ -2,7 +2,8 @@
2
2
 
3
3
  var clsx = require('clsx');
4
4
  var React = require('react');
5
- var utils = require('./utils.js');
5
+ require('@internationalized/date');
6
+ var string = require('../utils/string.js');
6
7
 
7
8
  const Avatar = ({ src, name, className, ...rest }) => {
8
9
  const [hasError, setHasError] = React.useState(false);
@@ -27,7 +28,7 @@ const Avatar = ({ src, name, className, ...rest }) => {
27
28
  onError: () => setHasError(true),
28
29
  "data-testid": "avatar-img"
29
30
  }
30
- ) : /* @__PURE__ */ React.createElement("p", { className: "font-bold text-white text-base", "data-testid": "avatar-p" }, utils.getNameInitials(name))
31
+ ) : /* @__PURE__ */ React.createElement("p", { className: "font-bold text-white text-base", "data-testid": "avatar-p" }, string.getNameInitials(name))
31
32
  );
32
33
  };
33
34
 
@@ -7,6 +7,8 @@ require('react-aria');
7
7
  require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  var CalendarGrid = require('./CalendarGrid.js');
11
13
  var CalendarHeader = require('./CalendarHeader.js');
12
14
 
@@ -7,6 +7,8 @@ require('react-stately');
7
7
  var useCalendarCell = require('../../hooks/useCalendarCell.js');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  var calendarCell = require('../../styles/calendar-cell.js');
11
13
  require('../../styles/groupButton.js');
12
14
  require('../../styles/progressBar.js');
@@ -7,6 +7,8 @@ require('react-stately');
7
7
  var useCalendarGrid = require('../../hooks/useCalendarGrid.js');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  var CalendarGridBodyRows = require('./CalendarGridBodyRows.js');
11
13
  var CalendarGridHeaderRow = require('./CalendarGridHeaderRow.js');
12
14
 
@@ -7,6 +7,8 @@ require('react-stately');
7
7
  require('@floating-ui/react');
8
8
  require('currency.js');
9
9
  var useRangeCalendar = require('../../hooks/useRangeCalendar.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  var CalendarGrid = require('./CalendarGrid.js');
11
13
  var CalendarHeader = require('./CalendarHeader.js');
12
14
 
@@ -4,16 +4,18 @@ var React = require('react');
4
4
  require('@internationalized/date');
5
5
  require('react-aria');
6
6
  require('react-stately');
7
- var utils = require('../utils.js');
7
+ var date = require('../../utils/date.js');
8
8
  var useDatePickerInput = require('../../hooks/useDatePickerInput.js');
9
9
  require('@floating-ui/react');
10
10
  require('currency.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var Calendar = require('../Calendar/Calendar.js');
12
- var DateField = require('./DateField.js');
13
- var DatePickerInputBase = require('./DatePickerInputBase.js');
14
14
  var index = require('../Popover/index.js');
15
15
  var Context = require('../Popover/Context.js');
16
16
  var Content = require('./Content.js');
17
+ var DateField = require('./DateField.js');
18
+ var DatePickerInputBase = require('./DatePickerInputBase.js');
17
19
 
18
20
  const DatePickerInputWithPopover = (props) => {
19
21
  const { setIsOpen } = Context.usePopoverContext();
@@ -43,7 +45,7 @@ const DatePickerInputWithPopover = (props) => {
43
45
  value,
44
46
  onChange: (value2) => {
45
47
  setIsOpen(false);
46
- state.setDateValue(utils.dateToCalendarDate(value2));
48
+ state.setDateValue(date.dateToCalendarDate(value2));
47
49
  }
48
50
  }
49
51
  )));
@@ -4,16 +4,18 @@ var React = require('react');
4
4
  require('@internationalized/date');
5
5
  require('react-aria');
6
6
  require('react-stately');
7
- var utils = require('../utils.js');
7
+ var date = require('../../utils/date.js');
8
8
  var useDateRangePickerInput = require('../../hooks/useDateRangePickerInput.js');
9
9
  require('@floating-ui/react');
10
10
  require('currency.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var RangeCalendar = require('../Calendar/RangeCalendar.js');
12
- var DateField = require('./DateField.js');
13
- var DatePickerInputBase = require('./DatePickerInputBase.js');
14
14
  var index = require('../Popover/index.js');
15
15
  var Context = require('../Popover/Context.js');
16
16
  var Content = require('./Content.js');
17
+ var DateField = require('./DateField.js');
18
+ var DatePickerInputBase = require('./DatePickerInputBase.js');
17
19
 
18
20
  const DateRangePickerInputWithPopover = (props) => {
19
21
  const { setIsOpen } = Context.usePopoverContext();
@@ -32,7 +34,7 @@ const DateRangePickerInputWithPopover = (props) => {
32
34
  DateField.DateField,
33
35
  {
34
36
  ...startFieldProps,
35
- value: utils.dateToCalendarDate(value?.start),
37
+ value: date.dateToCalendarDate(value?.start),
36
38
  onChange: (value2) => {
37
39
  state.setDate("start", value2);
38
40
  }
@@ -41,7 +43,7 @@ const DateRangePickerInputWithPopover = (props) => {
41
43
  DateField.DateField,
42
44
  {
43
45
  ...endFieldProps,
44
- value: utils.dateToCalendarDate(value?.end),
46
+ value: date.dateToCalendarDate(value?.end),
45
47
  onChange: (value2) => {
46
48
  state.setDate("end", value2);
47
49
  }
@@ -54,8 +56,8 @@ const DateRangePickerInputWithPopover = (props) => {
54
56
  onChange: (value2) => {
55
57
  setIsOpen?.(false);
56
58
  state.setDateRange({
57
- start: utils.dateToCalendarDate(value2.start),
58
- end: utils.dateToCalendarDate(value2.end)
59
+ start: date.dateToCalendarDate(value2.start),
60
+ end: date.dateToCalendarDate(value2.end)
59
61
  });
60
62
  }
61
63
  }
@@ -7,6 +7,8 @@ require('react-stately');
7
7
  require('@floating-ui/react');
8
8
  var useNumberMask = require('../../hooks/useNumberMask.js');
9
9
  var useStringMask = require('../../hooks/useStringMask.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  var Root = require('./Root.js');
11
13
 
12
14
  const InputMask = React.forwardRef(
@@ -8,6 +8,8 @@ require('react-stately');
8
8
  var useDebouncedState = require('../../hooks/useDebouncedState.js');
9
9
  require('@floating-ui/react');
10
10
  require('currency.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var Box = require('./Box.js');
12
14
  var Face = require('./Face.js');
13
15
  var Left = require('./Left.js');
@@ -7,6 +7,8 @@ var Mask = require('./Mask.js');
7
7
  var Right = require('./Right.js');
8
8
  var Root = require('./Root.js');
9
9
  var Search = require('./Search.js');
10
+ require('@internationalized/date');
11
+ require('react');
10
12
 
11
13
  const Input = {
12
14
  Root: Root.InputRoot,
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var extractNumbersFromString = require('../../utils/extractNumbersFromString.js');
3
+ require('@internationalized/date');
4
+ var extractors = require('../../utils/extractors.js');
5
+ require('react');
4
6
 
5
7
  const ExpressionMasks = {
6
8
  CPF: "000.000.000-00",
@@ -48,7 +50,7 @@ const Masks = {
48
50
  PHONE: ["(99) 9999-9999"],
49
51
  PHONE_EXTENDED: ["(99) 99999-9999"],
50
52
  COMBINED_PHONE: (value) => {
51
- const onlyNumbers = extractNumbersFromString.extractDigitsFromString(value);
53
+ const onlyNumbers = extractors.extractDigitsFromString(value);
52
54
  const isCellPhoneExtended = onlyNumbers.length === 11;
53
55
  return value?.length <= 14 && !isCellPhoneExtended ? Masks.PHONE : Masks.PHONE_EXTENDED;
54
56
  },
@@ -8,6 +8,8 @@ require('react-aria');
8
8
  require('react-stately');
9
9
  require('@floating-ui/react');
10
10
  require('currency.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  require('../../provider/MenubarContext.js');
12
14
  require('../../provider/SnackbarProvider.js');
13
15
  var useMenubar = require('../../provider/useMenubar.js');
@@ -7,6 +7,8 @@ require('react-aria');
7
7
  require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  require('../../provider/MenubarContext.js');
11
13
  require('../../provider/SnackbarProvider.js');
12
14
  var useMenubar = require('../../provider/useMenubar.js');
@@ -7,6 +7,8 @@ require('react-aria');
7
7
  require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
+ require('react-dropzone');
11
+ require('uuid');
10
12
  require('../../provider/MenubarContext.js');
11
13
  require('../../provider/SnackbarProvider.js');
12
14
  var useMenubar = require('../../provider/useMenubar.js');
@@ -9,6 +9,8 @@ require('react-aria');
9
9
  require('react-stately');
10
10
  require('@floating-ui/react');
11
11
  require('currency.js');
12
+ require('react-dropzone');
13
+ require('uuid');
12
14
  require('../../provider/MenubarContext.js');
13
15
  require('../../provider/SnackbarProvider.js');
14
16
  var useMenubar = require('../../provider/useMenubar.js');
@@ -4,8 +4,10 @@ var React = require('react');
4
4
  require('@internationalized/date');
5
5
  require('react-aria');
6
6
  require('react-stately');
7
- var useFloatingLogic = require('../../hooks/useFloatingLogic.js');
7
+ var useFloatingElement = require('../../hooks/useFloatingElement.js');
8
8
  require('currency.js');
9
+ require('react-dropzone');
10
+ require('uuid');
9
11
  var Context = require('./Context.js');
10
12
 
11
13
  const PopoverProvider = ({
@@ -13,7 +15,7 @@ const PopoverProvider = ({
13
15
  placement,
14
16
  trigger
15
17
  }) => {
16
- const floatingLogic = useFloatingLogic.useFloatingLogic({ placement, trigger });
18
+ const floatingLogic = useFloatingElement.useFloatingElement({ placement, trigger });
17
19
  return /* @__PURE__ */ React.createElement(Context.Context.Provider, { value: { ...floatingLogic } }, children);
18
20
  };
19
21
 
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('../utils.js');
3
+ require('@internationalized/date');
4
+ var react = require('../../utils/react.js');
4
5
  var Context = require('./Context.js');
5
6
 
6
7
  const PopoverTrigger = ({ children }) => {
7
8
  const { triggerProps } = Context.usePopoverContext();
8
9
  const isDisabled = children.props?.disabled;
9
- return utils.cloneWithProps(children, isDisabled ? {} : triggerProps);
10
+ return react.cloneWithProps(children, isDisabled ? {} : triggerProps);
10
11
  };
11
12
 
12
13
  exports.PopoverTrigger = PopoverTrigger;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ProgressBarInfinite = require('./ProgressBarInfinite.js');
5
+ var ProgressBarSegments = require('./ProgressBarSegments.js');
6
+
7
+ const ProgressBar = ({
8
+ segments: _segments = 1,
9
+ valueMin = 0,
10
+ valueMax = 100,
11
+ valueCurrent = 50,
12
+ intentProgress = "default",
13
+ type = "default",
14
+ animated = true
15
+ }) => {
16
+ const [displayedValue, setDisplayedValue] = React.useState(0);
17
+ const [showAnimation, setShowAnimation] = React.useState(true);
18
+ React.useEffect(() => {
19
+ const timeout = setTimeout(() => {
20
+ if (valueCurrent < displayedValue) {
21
+ setShowAnimation(false);
22
+ }
23
+ if (animated && valueCurrent > displayedValue) setShowAnimation(true);
24
+ setDisplayedValue(valueCurrent);
25
+ }, 0);
26
+ return () => clearTimeout(timeout);
27
+ }, [valueCurrent]);
28
+ const totalProgress = (displayedValue - valueMin) / (valueMax - valueMin) * 100;
29
+ const segments = Math.max(1, _segments);
30
+ return type === "infinite" ? /* @__PURE__ */ React.createElement(ProgressBarInfinite.ProgressBarInfinite, { intentProgress }) : /* @__PURE__ */ React.createElement(
31
+ ProgressBarSegments.ProgressBarSegments,
32
+ {
33
+ segments,
34
+ totalProgress,
35
+ intentProgress,
36
+ showAnimation
37
+ }
38
+ );
39
+ };
40
+
41
+ exports.ProgressBar = ProgressBar;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ require('../../styles/calendar-cell.js');
5
+ require('../../styles/groupButton.js');
6
+ var progressBar = require('../../styles/progressBar.js');
7
+
8
+ const { container, bar, progress } = progressBar.progressBarInfiniteVariants();
9
+ const ProgressBarInfinite = ({
10
+ intentProgress
11
+ }) => {
12
+ return /* @__PURE__ */ React.createElement("div", { className: container() }, /* @__PURE__ */ React.createElement("div", { className: bar(), "data-testid": "infinite-progress-bar" }, /* @__PURE__ */ React.createElement("div", { className: progress({ status: intentProgress }) })));
13
+ };
14
+
15
+ exports.ProgressBarInfinite = ProgressBarInfinite;
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ require('../../styles/calendar-cell.js');
5
+ require('../../styles/groupButton.js');
6
+ var progressBar = require('../../styles/progressBar.js');
7
+
8
+ const ProgressBarSegments = ({
9
+ segments,
10
+ totalProgress,
11
+ intentProgress,
12
+ showAnimation
13
+ }) => {
14
+ const lengthSeg = 100 / segments;
15
+ const items = [...Array(segments).keys()];
16
+ const progressStyle = React.useCallback(
17
+ (width, index) => {
18
+ return {
19
+ width: `${width}%`,
20
+ transitionDelay: `${showAnimation ? `${index * 1e3}ms` : `0ms`}`
21
+ };
22
+ },
23
+ [showAnimation]
24
+ );
25
+ return /* @__PURE__ */ React.createElement("div", { className: "flex gap-x-nano flex-row", "data-testid": "progress-bar" }, items.map((_, index) => {
26
+ const max = lengthSeg * (index + 1);
27
+ const min = lengthSeg * index;
28
+ const minmax = (totalProgress - min) / (max - min);
29
+ const width = (minmax > 1 ? 1 : minmax < 0 ? 0 : minmax) * 100;
30
+ return /* @__PURE__ */ React.createElement(
31
+ "div",
32
+ {
33
+ key: index,
34
+ className: "h-[0.5rem] bg-secondary-light flex flex-1 first:rounded-l-pill last:rounded-r-pill"
35
+ },
36
+ /* @__PURE__ */ React.createElement(
37
+ "div",
38
+ {
39
+ style: progressStyle(width, index),
40
+ "data-testid": "div-segment-filled",
41
+ className: progressBar.progressBarFilled({ intentProgress, showAnimation })
42
+ }
43
+ )
44
+ );
45
+ }));
46
+ };
47
+
48
+ exports.ProgressBarSegments = ProgressBarSegments;
@@ -8,6 +8,8 @@ require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
10
  var useSelectGroupedOptions = require('../../hooks/useSelectGroupedOptions.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var Context = require('../Popover/Context.js');
12
14
  var Option = require('./Option.js');
13
15
  var SkeletonOptions = require('./SkeletonOptions.js');
@@ -8,6 +8,8 @@ require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
10
  var useSelectGroupedOptions = require('../../hooks/useSelectGroupedOptions.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var MultiOption = require('./MultiOption.js');
12
14
  var SkeletonOptions = require('./SkeletonOptions.js');
13
15
  var context = require('./context.js');
@@ -8,6 +8,8 @@ require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
10
  var useSelectOptions = require('../../hooks/useSelectOptions.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var MultiOption = require('./MultiOption.js');
12
14
  var SkeletonOptions = require('./SkeletonOptions.js');
13
15
  var context = require('./context.js');
@@ -8,6 +8,8 @@ require('react-stately');
8
8
  require('@floating-ui/react');
9
9
  require('currency.js');
10
10
  var useSelectOptions = require('../../hooks/useSelectOptions.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
  var Context = require('../Popover/Context.js');
12
14
  var Option = require('./Option.js');
13
15
  var SkeletonOptions = require('./SkeletonOptions.js');
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var react = require('@floating-ui/react');
3
+ var react$1 = require('@floating-ui/react');
4
4
  var React = require('react');
5
5
  require('@internationalized/date');
6
6
  require('react-aria');
7
7
  require('react-stately');
8
- var utils = require('./utils.js');
9
- var useFloatingLogic = require('../hooks/useFloatingLogic.js');
8
+ var react = require('../utils/react.js');
9
+ var useFloatingElement = require('../hooks/useFloatingElement.js');
10
10
  require('currency.js');
11
+ require('react-dropzone');
12
+ require('uuid');
11
13
 
12
14
  const Tooltip = React.forwardRef(
13
15
  (props, ref) => {
@@ -17,7 +19,8 @@ const Tooltip = React.forwardRef(
17
19
  trigger = "hover",
18
20
  placement = "top",
19
21
  width,
20
- height
22
+ height,
23
+ delay = { open: 500, close: 0 }
21
24
  } = props;
22
25
  const arrowRef = React.useRef(null);
23
26
  const {
@@ -28,9 +31,10 @@ const Tooltip = React.forwardRef(
28
31
  strategy,
29
32
  refs,
30
33
  context,
31
- floatingStyles
32
- } = useFloatingLogic.useFloatingLogic({ placement, arrowRef, trigger });
33
- return /* @__PURE__ */ React.createElement(React.Fragment, null, utils.cloneWithProps(children, triggerProps), isOpen ? /* @__PURE__ */ React.createElement(
34
+ floatingStyles,
35
+ getFloatingProps
36
+ } = useFloatingElement.useFloatingElement({ placement, arrowRef, trigger, delay });
37
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, react.cloneWithProps(children, triggerProps), isOpen ? /* @__PURE__ */ React.createElement(
34
38
  "div",
35
39
  {
36
40
  ref: ref || refs.setFloating,
@@ -42,11 +46,12 @@ const Tooltip = React.forwardRef(
42
46
  width,
43
47
  height,
44
48
  ...floatingStyles
45
- }
49
+ },
50
+ ...getFloatingProps()
46
51
  },
47
52
  text,
48
- /* @__PURE__ */ React.createElement(react.FloatingArrow, { ref: arrowRef, context, fill: "black" })
49
- ) : /* @__PURE__ */ React.createElement(React.Fragment, null));
53
+ /* @__PURE__ */ React.createElement(react$1.FloatingArrow, { ref: arrowRef, context, fill: "black" })
54
+ ) : null);
50
55
  }
51
56
  );
52
57
 
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var hi2 = require('react-icons/hi2');
5
+ var cortexCore = require('@tecsinapse/cortex-core');
6
+ var clsx = require('clsx');
7
+
8
+ const Dropzone = ({
9
+ dropzoneProps,
10
+ selectFileText = "Select a file to start",
11
+ dropText = "By dragging and dropping it here or clicking the button below",
12
+ buttonText = "Select File"
13
+ }) => {
14
+ return /* @__PURE__ */ React.createElement(
15
+ "div",
16
+ {
17
+ ...dropzoneProps.getRootProps(),
18
+ className: clsx(
19
+ "bg-white w-full border-dashed border-2 p-deca flex flex-col justify-center rounded-mili",
20
+ {
21
+ "border-success-medium bg-gray-100": dropzoneProps.isDragActive
22
+ }
23
+ )
24
+ },
25
+ /* @__PURE__ */ React.createElement("input", { ...dropzoneProps.getInputProps() }),
26
+ /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center text-center items-center gap-deca" }, /* @__PURE__ */ React.createElement(hi2.HiOutlineCloudArrowUp, { className: "text-primary-medium", size: 35 }), /* @__PURE__ */ React.createElement("div", { className: "gap-mili" }, /* @__PURE__ */ React.createElement("p", { className: "text-lg font-semibold", "data-testid": "select-dropzone" }, selectFileText), /* @__PURE__ */ React.createElement("p", { className: "text-sm text-secondary-medium" }, dropText)), /* @__PURE__ */ React.createElement("button", { className: cortexCore.button() }, buttonText))
27
+ );
28
+ };
29
+
30
+ exports.Dropzone = Dropzone;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var Upload = require('./Upload.js');
5
+
6
+ const Files = ({
7
+ files,
8
+ onDelete,
9
+ uploadProgressText = "Upload(s) in progress"
10
+ }) => {
11
+ return /* @__PURE__ */ React.createElement("div", { className: "bg-white w-full border-2 p-deca flex flex-col overflow-y-auto rounded-mili" }, /* @__PURE__ */ React.createElement("div", { className: "flex gap-mili items-center mb-deca" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-center w-deca h-deca bg-primary-medium rounded-full text-micro text-white" }, `${files.length}`), /* @__PURE__ */ React.createElement("h2", { className: "text-md font-semibold", "data-testid": "upload-progress" }, uploadProgressText)), files.map((file, index) => /* @__PURE__ */ React.createElement(Upload.File, { key: file.uid, file, index, onDelete })));
12
+ };
13
+
14
+ exports.Files = Files;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var md = require('react-icons/md');
5
+ var cortexCore = require('@tecsinapse/cortex-core');
6
+ var Modal$1 = require('../Modal.js');
7
+ var reactDom = require('react-dom');
8
+
9
+ const Modal = ({
10
+ open,
11
+ onClose,
12
+ children,
13
+ title = "File Upload"
14
+ }) => {
15
+ return reactDom.createPortal(
16
+ /* @__PURE__ */ React.createElement(
17
+ Modal$1.Modal,
18
+ {
19
+ open,
20
+ onClose,
21
+ className: "flex-col w-[70%] h-[50%] bg-secondary-xlight rounded-mili"
22
+ },
23
+ /* @__PURE__ */ React.createElement("div", { className: "flex w-full items-center justify-between mb-deca" }, /* @__PURE__ */ React.createElement("div", null), /* @__PURE__ */ React.createElement("h2", { className: "text-deca font-semibold" }, title), /* @__PURE__ */ React.createElement(
24
+ "button",
25
+ {
26
+ className: cortexCore.button({ size: "square" }),
27
+ onClick: onClose,
28
+ "data-testid": "close-button"
29
+ },
30
+ /* @__PURE__ */ React.createElement(md.MdClose, { size: 20 })
31
+ )),
32
+ /* @__PURE__ */ React.createElement("div", { className: "flex flex-col md:flex-row w-full h-full max-h-[85%] gap-deca" }, children)
33
+ ),
34
+ document.body
35
+ );
36
+ };
37
+
38
+ exports.Modal = Modal;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var Modal = require('./Modal.js');
5
+ var Dropzone = require('./Dropzone.js');
6
+ var Files = require('./Files.js');
7
+
8
+ const Root = ({
9
+ open,
10
+ onClose,
11
+ files,
12
+ onDelete,
13
+ dropzoneProps,
14
+ selectFileText,
15
+ dropText,
16
+ buttonText,
17
+ uploadProgressText,
18
+ titleModal
19
+ }) => {
20
+ return /* @__PURE__ */ React.createElement(Modal.Modal, { onClose, open, title: titleModal }, /* @__PURE__ */ React.createElement(
21
+ Dropzone.Dropzone,
22
+ {
23
+ dropzoneProps,
24
+ selectFileText,
25
+ dropText,
26
+ buttonText
27
+ }
28
+ ), /* @__PURE__ */ React.createElement(
29
+ Files.Files,
30
+ {
31
+ files,
32
+ onDelete,
33
+ uploadProgressText
34
+ }
35
+ ));
36
+ };
37
+
38
+ exports.Root = Root;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var fa6 = require('react-icons/fa6');
5
+ var cortexCore = require('@tecsinapse/cortex-core');
6
+ var md = require('react-icons/md');
7
+ var ProgressBar = require('../ProgressBar/ProgressBar.js');
8
+
9
+ const File = ({ file, index, onDelete }) => {
10
+ return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col", key: index }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between border rounded-t-mili shadow p-mili" }, /* @__PURE__ */ React.createElement("div", { className: "flex gap-centi" }, file.file && file.file.type.startsWith("image/") ? /* @__PURE__ */ React.createElement(
11
+ "img",
12
+ {
13
+ src: URL.createObjectURL(file.file),
14
+ alt: "Preview",
15
+ className: "w-tera h-tera rounded-mili"
16
+ }
17
+ ) : /* @__PURE__ */ React.createElement("span", { className: "border-2 text-kilo text-primary-medium w-tera h-tera flex items-center justify-center rounded-mili" }, /* @__PURE__ */ React.createElement(fa6.FaRegFileLines, null)), /* @__PURE__ */ React.createElement("div", { className: "flex-col" }, /* @__PURE__ */ React.createElement("p", { className: "font-semibold truncate max-w-[200px]" }, file.file.name), /* @__PURE__ */ React.createElement("p", { className: "text-sm text-gray-500" }, (file.file.size / 1024).toFixed(2), " KB"))), file.status === "success" && /* @__PURE__ */ React.createElement(
18
+ "button",
19
+ {
20
+ onClick: () => onDelete(index),
21
+ "data-testid": "remove-button",
22
+ className: cortexCore.button({
23
+ className: " bg-inherit border-2 border-primary-light text-primary-light",
24
+ size: "small"
25
+ })
26
+ },
27
+ /* @__PURE__ */ React.createElement(md.MdClose, { size: 20 })
28
+ )), /* @__PURE__ */ React.createElement(ProgressBar.ProgressBar, { intentProgress: file.status, type: "infinite" }));
29
+ };
30
+
31
+ exports.File = File;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var Dropzone = require('./Dropzone.js');
4
+ var Files = require('./Files.js');
5
+ var Modal = require('./Modal.js');
6
+ var Root = require('./Root.js');
7
+
8
+ const Uploader = {
9
+ Dropzone: Dropzone.Dropzone,
10
+ Files: Files.Files,
11
+ Modal: Modal.Modal,
12
+ Root: Root.Root
13
+ };
14
+
15
+ exports.Root = Root.Root;
16
+ exports.Uploader = Uploader;