@tecsinapse/cortex-react 1.3.0-beta.25 → 1.3.0-beta.27

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 (145) hide show
  1. package/dist/cjs/components/Badge.js +21 -2
  2. package/dist/cjs/components/Calendar/RangeCalendar.js +1 -1
  3. package/dist/cjs/components/Input/Mask.js +13 -33
  4. package/dist/cjs/components/Input/index.js +1 -3
  5. package/dist/cjs/components/Input/masks.js +43 -0
  6. package/dist/cjs/components/Menubar/Header.js +2 -2
  7. package/dist/cjs/components/Menubar/Item.js +1 -1
  8. package/dist/cjs/components/Menubar/MostUsedList.js +5 -1
  9. package/dist/cjs/components/Popover/Trigger.js +1 -1
  10. package/dist/cjs/components/Select/Content.js +1 -1
  11. package/dist/cjs/components/Select/GroupedOptions.js +8 -1
  12. package/dist/cjs/components/Select/MultiCheckAllOptions.js +1 -1
  13. package/dist/cjs/components/Select/MultiGroupedOptions.js +12 -5
  14. package/dist/cjs/components/Select/MultiOptions.js +8 -1
  15. package/dist/cjs/components/Select/Options.js +8 -1
  16. package/dist/cjs/components/Select/SkeletonOptions.js +11 -0
  17. package/dist/cjs/components/Skeleton.js +1 -5
  18. package/dist/cjs/components/Snackbar/BaseSnackbar.js +1 -1
  19. package/dist/cjs/components/TextArea/Box.js +47 -0
  20. package/dist/cjs/components/TextArea/Face.js +27 -0
  21. package/dist/cjs/components/TextArea/Left.js +10 -0
  22. package/dist/cjs/components/TextArea/Right.js +10 -0
  23. package/dist/cjs/components/TextArea/Root.js +11 -0
  24. package/dist/cjs/components/TextArea/index.js +17 -0
  25. package/dist/cjs/components/TextArea/utils.js +11 -0
  26. package/dist/cjs/hooks/useSelectGroupedOptions.js +35 -0
  27. package/dist/cjs/hooks/useSelectOptions.js +35 -0
  28. package/dist/cjs/index.js +13 -4
  29. package/dist/cjs/service/SnackbarSonner.js +5 -1
  30. package/dist/esm/components/Avatar.js +6 -6
  31. package/dist/esm/components/Badge.js +2 -1
  32. package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +4 -4
  33. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +3 -3
  34. package/dist/esm/components/Button.js +2 -2
  35. package/dist/esm/components/Calendar/Calendar.js +3 -3
  36. package/dist/esm/components/Calendar/CalendarCell.js +3 -3
  37. package/dist/esm/components/Calendar/CalendarGrid.js +3 -3
  38. package/dist/esm/components/Calendar/CalendarGridBodyRows.js +3 -3
  39. package/dist/esm/components/Calendar/CalendarGridHeaderRow.js +2 -2
  40. package/dist/esm/components/Calendar/CalendarHeader.js +7 -7
  41. package/dist/esm/components/Calendar/RangeCalendar.js +5 -5
  42. package/dist/esm/components/Card.js +2 -2
  43. package/dist/esm/components/DatePicker/DateField.js +3 -3
  44. package/dist/esm/components/DatePicker/DatePickerInput.js +5 -5
  45. package/dist/esm/components/DatePicker/DatePickerInputBase.js +2 -2
  46. package/dist/esm/components/DatePicker/DateRangePickerInput.js +6 -6
  47. package/dist/esm/components/DatePicker/DateSegment.js +3 -3
  48. package/dist/esm/components/Divider.js +2 -2
  49. package/dist/esm/components/Drawer.js +3 -3
  50. package/dist/esm/components/GroupButton.js +3 -3
  51. package/dist/esm/components/Hint.js +2 -2
  52. package/dist/esm/components/Input/Box.js +4 -4
  53. package/dist/esm/components/Input/Face.js +6 -6
  54. package/dist/esm/components/Input/Left.js +3 -3
  55. package/dist/esm/components/Input/Mask.js +14 -32
  56. package/dist/esm/components/Input/Right.js +3 -3
  57. package/dist/esm/components/Input/Root.js +3 -3
  58. package/dist/esm/components/Input/Search.js +3 -3
  59. package/dist/esm/components/Input/index.js +2 -4
  60. package/dist/esm/components/Input/masks.js +38 -0
  61. package/dist/esm/components/Masonry.js +6 -6
  62. package/dist/esm/components/Menubar/Categories.js +2 -2
  63. package/dist/esm/components/Menubar/Category.js +2 -2
  64. package/dist/esm/components/Menubar/Dropdown.js +2 -2
  65. package/dist/esm/components/Menubar/DropdownRoot.js +4 -4
  66. package/dist/esm/components/Menubar/Header.js +5 -5
  67. package/dist/esm/components/Menubar/IconControlSubItem.js +2 -2
  68. package/dist/esm/components/Menubar/Item.js +3 -3
  69. package/dist/esm/components/Menubar/ItemLink.js +2 -2
  70. package/dist/esm/components/Menubar/Left.js +2 -2
  71. package/dist/esm/components/Menubar/MostUsed.js +2 -2
  72. package/dist/esm/components/Menubar/MostUsedItem.js +4 -4
  73. package/dist/esm/components/Menubar/MostUsedList.js +9 -5
  74. package/dist/esm/components/Menubar/Right.js +2 -2
  75. package/dist/esm/components/Menubar/Root.js +2 -2
  76. package/dist/esm/components/Menubar/Search.js +2 -2
  77. package/dist/esm/components/Menubar/SubItem.js +2 -2
  78. package/dist/esm/components/Modal.js +3 -3
  79. package/dist/esm/components/Popover/Content.js +3 -3
  80. package/dist/esm/components/Popover/Provider.js +2 -2
  81. package/dist/esm/components/Popover/Root.js +2 -2
  82. package/dist/esm/components/Popover/Trigger.js +1 -1
  83. package/dist/esm/components/ProgressBar.js +4 -4
  84. package/dist/esm/components/RadioButton.js +4 -4
  85. package/dist/esm/components/Select/Content.js +3 -3
  86. package/dist/esm/components/Select/GroupedOptions.js +9 -2
  87. package/dist/esm/components/Select/MultiCheckAllOptions.js +4 -4
  88. package/dist/esm/components/Select/MultiGroupedOptions.js +13 -6
  89. package/dist/esm/components/Select/MultiOption.js +3 -3
  90. package/dist/esm/components/Select/MultiOptions.js +9 -2
  91. package/dist/esm/components/Select/Option.js +2 -2
  92. package/dist/esm/components/Select/Options.js +9 -2
  93. package/dist/esm/components/Select/Popover.js +2 -2
  94. package/dist/esm/components/Select/Root.js +2 -2
  95. package/dist/esm/components/Select/SkeletonOptions.js +9 -0
  96. package/dist/esm/components/Select/Trigger.js +4 -4
  97. package/dist/esm/components/Skeleton.js +3 -7
  98. package/dist/esm/components/Snackbar/BaseSnackbar.js +2 -2
  99. package/dist/esm/components/Snackbar/DefaultSnack.js +3 -3
  100. package/dist/esm/components/Table.js +9 -9
  101. package/dist/esm/components/Tag.js +2 -2
  102. package/dist/esm/components/TextArea/Box.js +45 -0
  103. package/dist/esm/components/TextArea/Face.js +25 -0
  104. package/dist/esm/components/TextArea/Left.js +8 -0
  105. package/dist/esm/components/TextArea/Right.js +8 -0
  106. package/dist/esm/components/TextArea/Root.js +9 -0
  107. package/dist/esm/components/TextArea/index.js +15 -0
  108. package/dist/esm/components/TextArea/utils.js +9 -0
  109. package/dist/esm/components/TimeField/TimeField.js +2 -2
  110. package/dist/esm/components/TimeField/TimeFieldInput.js +4 -4
  111. package/dist/esm/components/Toggle.js +4 -4
  112. package/dist/esm/components/Tooltip.js +4 -4
  113. package/dist/esm/components/utils.js +2 -2
  114. package/dist/esm/hooks/useSelectGroupedOptions.js +33 -0
  115. package/dist/esm/hooks/useSelectOptions.js +33 -0
  116. package/dist/esm/hooks/useTimeField.js +2 -2
  117. package/dist/esm/index.js +5 -2
  118. package/dist/esm/provider/MenubarProvider.js +3 -3
  119. package/dist/esm/provider/SnackbarProvider.js +2 -2
  120. package/dist/esm/service/SnackbarSonner.js +7 -3
  121. package/dist/types/components/Badge.d.ts +4 -5
  122. package/dist/types/components/Input/Mask.d.ts +2 -4
  123. package/dist/types/components/Input/index.d.ts +2 -3
  124. package/dist/types/components/Input/masks.d.ts +39 -0
  125. package/dist/types/components/Input/types.d.ts +11 -4
  126. package/dist/types/components/Popover/Provider.d.ts +1 -1
  127. package/dist/types/components/Select/SkeletonOptions.d.ts +1 -0
  128. package/dist/types/components/Select/types.d.ts +4 -4
  129. package/dist/types/components/Skeleton.d.ts +6 -4
  130. package/dist/types/components/Snackbar/BaseSnackbar.d.ts +1 -1
  131. package/dist/types/components/TextArea/Box.d.ts +3 -0
  132. package/dist/types/components/TextArea/Face.d.ts +3 -0
  133. package/dist/types/components/TextArea/Left.d.ts +3 -0
  134. package/dist/types/components/TextArea/Right.d.ts +3 -0
  135. package/dist/types/components/TextArea/Root.d.ts +3 -0
  136. package/dist/types/components/TextArea/index.d.ts +8 -0
  137. package/dist/types/components/TextArea/types.d.ts +15 -0
  138. package/dist/types/components/TextArea/utils.d.ts +2 -0
  139. package/dist/types/hooks/index.d.ts +3 -1
  140. package/dist/types/hooks/useSelectGroupedOptions.d.ts +9 -0
  141. package/dist/types/hooks/useSelectOptions.d.ts +9 -0
  142. package/package.json +2 -2
  143. package/dist/cjs/components/TextArea.js +0 -83
  144. package/dist/esm/components/TextArea.js +0 -81
  145. package/dist/types/components/TextArea.d.ts +0 -24
@@ -3,9 +3,28 @@
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
5
 
6
+ function _interopNamespaceDefault(e) {
7
+ var n = Object.create(null);
8
+ if (e) {
9
+ Object.keys(e).forEach(function (k) {
10
+ if (k !== 'default') {
11
+ var d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: function () { return e[k]; }
15
+ });
16
+ }
17
+ });
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+
23
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
24
+
6
25
  const Badge = React.forwardRef((props, ref) => {
7
26
  const { value, variants, ...rest } = props;
8
- return /* @__PURE__ */ React.createElement(
27
+ return /* @__PURE__ */ React__namespace.createElement(
9
28
  "div",
10
29
  {
11
30
  ref,
@@ -20,7 +39,7 @@ const Badge = React.forwardRef((props, ref) => {
20
39
  });
21
40
  const BadgeAnchor = React.forwardRef((props, ref) => {
22
41
  const { value, variants, children, ...rest } = props;
23
- return /* @__PURE__ */ React.createElement("div", { className: cortexCore.containerBadge() }, children, /* @__PURE__ */ React.createElement("div", { ref, className: cortexCore.badge(variants), ...rest }, value));
42
+ return /* @__PURE__ */ React__namespace.createElement("div", { className: cortexCore.containerBadge() }, children, /* @__PURE__ */ React__namespace.createElement("div", { ref, className: cortexCore.badge(variants), ...rest }, value));
24
43
  });
25
44
 
26
45
  exports.Badge = Badge;
@@ -4,8 +4,8 @@ var React = require('react');
4
4
  require('@internationalized/date');
5
5
  require('react-aria');
6
6
  require('react-stately');
7
- var useRangeCalendar = require('../../hooks/useRangeCalendar.js');
8
7
  require('@floating-ui/react');
8
+ var useRangeCalendar = require('../../hooks/useRangeCalendar.js');
9
9
  var CalendarGrid = require('./CalendarGrid.js');
10
10
  var CalendarHeader = require('./CalendarHeader.js');
11
11
 
@@ -4,11 +4,13 @@ var React = require('react');
4
4
  var reactImask = require('react-imask');
5
5
  var index = require('./index.js');
6
6
 
7
- const useIMaskLocal = (mask, inputProps, ref, unmaskedRef) => {
7
+ const useIMaskLocal = (mask, inputProps, ref, onChangeMask) => {
8
8
  const { ref: iMaskRef, maskRef } = reactImask.useIMask(mask, {
9
- onAccept: () => {
10
- if (unmaskedRef) unmaskedRef.current = maskRef.current.unmaskedValue;
11
- return inputProps.onChange?.(maskRef.current);
9
+ onAccept: (value, mask2) => {
10
+ onChangeMask?.({
11
+ unmaskedValue: mask2._unmaskedValue,
12
+ value
13
+ });
12
14
  },
13
15
  ref: ref ? ref : React.createRef()
14
16
  });
@@ -21,33 +23,11 @@ const useIMaskLocal = (mask, inputProps, ref, unmaskedRef) => {
21
23
  iMaskRef
22
24
  };
23
25
  };
24
- const InputMaskExpression = React.forwardRef(({ mask, unmaskedRef, ...rest }, ref) => {
25
- const { iMaskRef } = useIMaskLocal({ mask }, rest, ref, unmaskedRef);
26
- return /* @__PURE__ */ React.createElement(index.Input.Root, { ...rest, ref: iMaskRef });
27
- });
28
- const InputMaskNumber = React.forwardRef(({ unmaskedRef, ...rest }, ref) => {
29
- const mask = { mask: Number, scale: 2 };
30
- const { iMaskRef } = useIMaskLocal(mask, rest, ref, unmaskedRef);
31
- return /* @__PURE__ */ React.createElement(index.Input.Root, { ...rest, ref: iMaskRef });
32
- });
33
- const InputMaskCurrency = React.forwardRef(({ unmaskedRef, ...rest }, ref) => {
34
- const mask = {
35
- mask: "R$ num",
36
- blocks: {
37
- num: {
38
- mask: Number,
39
- scale: 2,
40
- thousandsSeparator: ".",
41
- padFractionalZeros: true,
42
- radix: ",",
43
- mapToRadix: ["."]
44
- }
45
- }
46
- };
47
- const { iMaskRef } = useIMaskLocal(mask, rest, ref, unmaskedRef);
48
- return /* @__PURE__ */ React.createElement(index.Input.Root, { ...rest, ref: iMaskRef });
49
- });
26
+ const InputMask = React.forwardRef(
27
+ ({ mask, onChange, ...rest }, ref) => {
28
+ const { iMaskRef } = useIMaskLocal(mask, rest, ref, onChange);
29
+ return /* @__PURE__ */ React.createElement(index.Input.Root, { ...rest, ref: iMaskRef });
30
+ }
31
+ );
50
32
 
51
- exports.InputMaskCurrency = InputMaskCurrency;
52
- exports.InputMaskExpression = InputMaskExpression;
53
- exports.InputMaskNumber = InputMaskNumber;
33
+ exports.InputMask = InputMask;
@@ -15,9 +15,7 @@ const Input = {
15
15
  Left: Left.InputLeft,
16
16
  Right: Right.InputRight,
17
17
  Search: Search.InputSearch,
18
- MaskCurrency: Mask.InputMaskCurrency,
19
- MaskNumber: Mask.InputMaskNumber,
20
- MaskExpression: Mask.InputMaskExpression
18
+ Mask: Mask.InputMask
21
19
  };
22
20
 
23
21
  exports.Input = Input;
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ const ExpressionMasks = {
4
+ CPF: "000.000.000-00",
5
+ CNPJ: "00.000.000/0000-00",
6
+ PHONE: "(00) 0000-0000",
7
+ PHONE_EXTENDED: "(00) 00000-0000",
8
+ DATE: "00/00/0000",
9
+ CEP: "00000-000"
10
+ };
11
+ const NumberIMask = { mask: Number, scale: 2 };
12
+ const CurrencyIMask = {
13
+ mask: "R$ num",
14
+ blocks: {
15
+ num: {
16
+ mask: Number,
17
+ scale: 2,
18
+ thousandsSeparator: ".",
19
+ padFractionalZeros: true,
20
+ radix: ",",
21
+ mapToRadix: ["."]
22
+ }
23
+ }
24
+ };
25
+ const PercentageIMask = {
26
+ mask: "num %",
27
+ lazy: false,
28
+ blocks: {
29
+ num: {
30
+ mask: Number,
31
+ scale: 2,
32
+ thousandsSeparator: ".",
33
+ padFractionalZeros: true,
34
+ radix: ",",
35
+ mapToRadix: ["."]
36
+ }
37
+ }
38
+ };
39
+
40
+ exports.CurrencyIMask = CurrencyIMask;
41
+ exports.ExpressionMasks = ExpressionMasks;
42
+ exports.NumberIMask = NumberIMask;
43
+ exports.PercentageIMask = PercentageIMask;
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var menubar = require('../../styles/menubar.js');
5
- var Button = require('../Button.js');
6
4
  var io5 = require('react-icons/io5');
7
5
  var MenubarProvider = require('../../provider/MenubarProvider.js');
8
6
  require('../../provider/SnackbarProvider.js');
7
+ var menubar = require('../../styles/menubar.js');
8
+ var Button = require('../Button.js');
9
9
 
10
10
  const { header } = menubar.menubar();
11
11
  const Header = ({ children, className, ...rest }) => {
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var IconControlSubItem = require('./IconControlSubItem.js');
5
4
  var menubar = require('../../styles/menubar.js');
5
+ var IconControlSubItem = require('./IconControlSubItem.js');
6
6
  var ItemLink = require('./ItemLink.js');
7
7
 
8
8
  const { container, text } = menubar.item();
@@ -39,7 +39,11 @@ require('../Select/Trigger.js');
39
39
  require('../Snackbar/BaseSnackbar.js');
40
40
  require('react-icons/io');
41
41
  require('../Tag.js');
42
- require('../TextArea.js');
42
+ require('../TextArea/Box.js');
43
+ require('../TextArea/Face.js');
44
+ require('../TextArea/Left.js');
45
+ require('../TextArea/Right.js');
46
+ require('../TextArea/Root.js');
43
47
  require('../Toggle.js');
44
48
  require('../Tooltip.js');
45
49
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var Context = require('./Context.js');
4
3
  var utils = require('../utils.js');
4
+ var Context = require('./Context.js');
5
5
 
6
6
  const PopoverTrigger = ({ children }) => {
7
7
  const { triggerProps } = Context.usePopoverContext();
@@ -4,8 +4,8 @@ var React = require('react');
4
4
  require('@internationalized/date');
5
5
  require('react-aria');
6
6
  require('react-stately');
7
- var useOutsideClickListener = require('../../hooks/useOutsideClickListener.js');
8
7
  require('@floating-ui/react');
8
+ var useOutsideClickListener = require('../../hooks/useOutsideClickListener.js');
9
9
  var Context = require('../Popover/Context.js');
10
10
 
11
11
  const Content = ({ children }) => {
@@ -3,7 +3,13 @@
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
5
  var index = require('./index.js');
6
+ require('@internationalized/date');
7
+ require('react-aria');
8
+ require('react-stately');
9
+ require('@floating-ui/react');
10
+ var useSelectGroupedOptions = require('../../hooks/useSelectGroupedOptions.js');
6
11
  var Context = require('../Popover/Context.js');
12
+ var SkeletonOptions = require('./SkeletonOptions.js');
7
13
  var context = require('./context.js');
8
14
 
9
15
  const { groupedTitle, list } = cortexCore.selectVariants();
@@ -14,6 +20,7 @@ const SelectGroupedOptions = ({
14
20
  }) => {
15
21
  const { keyExtractor } = React.useContext(context.SelectContext);
16
22
  const { setIsOpen } = Context.usePopoverContext();
23
+ const { options: _options, isLoading } = useSelectGroupedOptions.useSelectGroupedOptions({ options });
17
24
  const handleSelect = React.useCallback(
18
25
  (option) => {
19
26
  onSelect(option);
@@ -21,7 +28,7 @@ const SelectGroupedOptions = ({
21
28
  },
22
29
  [onSelect]
23
30
  );
24
- return /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, [...options ?? []].map(([key, value]) => /* @__PURE__ */ React.createElement("div", { key }, /* @__PURE__ */ React.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React.createElement(
31
+ return isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, [..._options ?? []].map(([key, value]) => /* @__PURE__ */ React.createElement("div", { key }, /* @__PURE__ */ React.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React.createElement(
25
32
  index.Select.Option,
26
33
  {
27
34
  grouped: true,
@@ -38,7 +38,7 @@ const SelectMultiCheckAllOptions = ({
38
38
  {
39
39
  type: "checkbox",
40
40
  className: cortexCore.checkbox(),
41
- onChange: checkAll,
41
+ onChange: () => void 0,
42
42
  checked: isChecked
43
43
  }
44
44
  ), /* @__PURE__ */ React.createElement("span", null, checkAllLabel)) : /* @__PURE__ */ React.createElement(React.Fragment, null);
@@ -3,6 +3,12 @@
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
5
  var index = require('./index.js');
6
+ require('@internationalized/date');
7
+ require('react-aria');
8
+ require('react-stately');
9
+ require('@floating-ui/react');
10
+ var useSelectGroupedOptions = require('../../hooks/useSelectGroupedOptions.js');
11
+ var SkeletonOptions = require('./SkeletonOptions.js');
6
12
  var context = require('./context.js');
7
13
  var utils = require('./utils.js');
8
14
 
@@ -14,17 +20,18 @@ const SelectMultiGroupedOptions = ({
14
20
  children
15
21
  }) => {
16
22
  const { value: currentValue = [], keyExtractor } = React.useContext(context.SelectContext);
23
+ const { options: _options, isLoading } = useSelectGroupedOptions.useSelectGroupedOptions({ options });
17
24
  const flattenMap = React.useMemo(
18
- () => options ? Array.from(options?.values()).flatMap((value) => value) : [],
25
+ () => _options ? Array.from(_options?.values()).flatMap((value) => value) : [],
19
26
  [options]
20
27
  );
21
- return /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, /* @__PURE__ */ React.createElement(
28
+ return /* @__PURE__ */ React.createElement(
22
29
  context.SelectMultiOptionsContext.Provider,
23
30
  {
24
31
  value: { onSelect, options: flattenMap }
25
32
  },
26
33
  children,
27
- [...options ?? []].map(([key, value]) => /* @__PURE__ */ React.createElement("div", { key }, /* @__PURE__ */ React.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React.createElement(
34
+ isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, [..._options ?? []].map(([key, value]) => /* @__PURE__ */ React.createElement("div", { key }, /* @__PURE__ */ React.createElement("span", { className: groupedTitle() }, groupedLabelExtractor?.(key)), value.map((option) => /* @__PURE__ */ React.createElement(
28
35
  index.Select.MultiOption,
29
36
  {
30
37
  grouped: true,
@@ -37,8 +44,8 @@ const SelectMultiGroupedOptions = ({
37
44
  keyExtractor
38
45
  )
39
46
  }
40
- ))))
41
- ));
47
+ )))))
48
+ );
42
49
  };
43
50
 
44
51
  exports.SelectMultiGroupedOptions = SelectMultiGroupedOptions;
@@ -3,6 +3,12 @@
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
5
  var index = require('./index.js');
6
+ require('@internationalized/date');
7
+ require('react-aria');
8
+ require('react-stately');
9
+ require('@floating-ui/react');
10
+ var useSelectOptions = require('../../hooks/useSelectOptions.js');
11
+ var SkeletonOptions = require('./SkeletonOptions.js');
6
12
  var context = require('./context.js');
7
13
  var utils = require('./utils.js');
8
14
 
@@ -13,7 +19,8 @@ const SelectMultiOptions = ({
13
19
  children
14
20
  }) => {
15
21
  const { keyExtractor, value: currentValue = [] } = React.useContext(context.SelectContext);
16
- return /* @__PURE__ */ React.createElement(context.SelectMultiOptionsContext.Provider, { value: { onSelect, options } }, /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, children, (options ?? []).map((option) => /* @__PURE__ */ React.createElement(
22
+ const { options: _options, isLoading } = useSelectOptions.useSelectOptions({ options });
23
+ return /* @__PURE__ */ React.createElement(context.SelectMultiOptionsContext.Provider, { value: { onSelect, options: _options } }, isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, children, _options?.map((option) => /* @__PURE__ */ React.createElement(
17
24
  index.Select.MultiOption,
18
25
  {
19
26
  option,
@@ -3,7 +3,13 @@
3
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
4
  var React = require('react');
5
5
  var index = require('./index.js');
6
+ require('@internationalized/date');
7
+ require('react-aria');
8
+ require('react-stately');
9
+ require('@floating-ui/react');
10
+ var useSelectOptions = require('../../hooks/useSelectOptions.js');
6
11
  var Context = require('../Popover/Context.js');
12
+ var SkeletonOptions = require('./SkeletonOptions.js');
7
13
  var context = require('./context.js');
8
14
 
9
15
  const { list } = cortexCore.selectVariants();
@@ -13,6 +19,7 @@ const SelectOptions = ({
13
19
  }) => {
14
20
  const { keyExtractor } = React.useContext(context.SelectContext);
15
21
  const { setIsOpen } = Context.usePopoverContext();
22
+ const { options: _options, isLoading } = useSelectOptions.useSelectOptions({ options });
16
23
  const handleSelect = React.useCallback(
17
24
  (option) => {
18
25
  onSelect(option);
@@ -20,7 +27,7 @@ const SelectOptions = ({
20
27
  },
21
28
  [onSelect]
22
29
  );
23
- return /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, (options ?? []).map((option) => /* @__PURE__ */ React.createElement(
30
+ return isLoading ? /* @__PURE__ */ React.createElement(SkeletonOptions.SkeletonOptions, null) : /* @__PURE__ */ React.createElement("ul", { role: "select", className: list() }, _options?.map((option) => /* @__PURE__ */ React.createElement(
24
31
  index.Select.Option,
25
32
  {
26
33
  option,
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var Skeleton = require('../Skeleton.js');
5
+
6
+ const optionSkeletonStyle = "w-full px-deca my-nano h-[30px]";
7
+ const SkeletonOptions = () => {
8
+ return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-y-nano" }, Array.from(Array(10).keys()).map((value) => /* @__PURE__ */ React.createElement(Skeleton.Skeleton, { key: value }, /* @__PURE__ */ React.createElement("div", { className: optionSkeletonStyle }))));
9
+ };
10
+
11
+ exports.SkeletonOptions = SkeletonOptions;
@@ -3,11 +3,7 @@
3
3
  var clsx = require('clsx');
4
4
  var React = require('react');
5
5
 
6
- const Skeleton = ({
7
- className,
8
- children,
9
- ...rest
10
- }) => {
6
+ const Skeleton = ({ className, children, ...rest }) => {
11
7
  return /* @__PURE__ */ React.createElement(
12
8
  "div",
13
9
  {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
+ var React = require('react');
5
5
 
6
6
  const BaseSnackbar = React.forwardRef(
7
7
  (props, ref) => {
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var cortexCore = require('@tecsinapse/cortex-core');
4
+ var clsx = require('clsx');
5
+ var React = require('react');
6
+
7
+ const TextAreaBox = React.forwardRef(
8
+ ({
9
+ id,
10
+ name,
11
+ variants,
12
+ label,
13
+ placeholder,
14
+ rows,
15
+ className,
16
+ ...rest
17
+ }, ref) => {
18
+ return /* @__PURE__ */ React.createElement("div", { className: "flex w-full flex-col" }, /* @__PURE__ */ React.createElement(
19
+ "textarea",
20
+ {
21
+ "data-testid": "textarea-box",
22
+ ref,
23
+ id: id ?? name,
24
+ name,
25
+ placeholder: placeholder ?? " ",
26
+ className: clsx(
27
+ cortexCore.inputBox(placeholder, label, className),
28
+ "resize-none mt-mili"
29
+ ),
30
+ rows,
31
+ ...rest
32
+ }
33
+ ), /* @__PURE__ */ React.createElement(
34
+ "label",
35
+ {
36
+ htmlFor: id ?? name,
37
+ className: cortexCore.labelStyle({
38
+ intent: variants?.intent,
39
+ placeholder
40
+ })
41
+ },
42
+ label
43
+ ));
44
+ }
45
+ );
46
+
47
+ exports.TextAreaBox = TextAreaBox;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var cortexCore = require('@tecsinapse/cortex-core');
4
+ var clsx = require('clsx');
5
+ var React = require('react');
6
+ var utils = require('./utils.js');
7
+
8
+ const TextAreaFace = React.forwardRef(
9
+ ({ children, variants, className, ...rest }, ref) => {
10
+ const clones = utils.getValidChildren(children).map((el) => {
11
+ return React.cloneElement(el, { ...el.props, variants });
12
+ });
13
+ return /* @__PURE__ */ React.createElement(
14
+ "div",
15
+ {
16
+ ref,
17
+ className: clsx(cortexCore.input(variants), className),
18
+ "data-testid": "textarea-face",
19
+ id: "textarea-face",
20
+ ...rest
21
+ },
22
+ clones
23
+ );
24
+ }
25
+ );
26
+
27
+ exports.TextAreaFace = TextAreaFace;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+
6
+ const TextAreaLeft = React.forwardRef(({ children, className, ...rest }, ref) => {
7
+ return /* @__PURE__ */ React.createElement("div", { className: clsx(className, "mr-2.5"), ...rest, ref }, children);
8
+ });
9
+
10
+ exports.TextAreaLeft = TextAreaLeft;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+
6
+ const TextAreaRight = React.forwardRef(({ children, className, ...rest }, ref) => {
7
+ return /* @__PURE__ */ React.createElement("div", { className: clsx(className, "ml-2.5"), ...rest, ref }, children);
8
+ });
9
+
10
+ exports.TextAreaRight = TextAreaRight;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var Box = require('./Box.js');
5
+ var Face = require('./Face.js');
6
+
7
+ const TextAreaRoot = React.forwardRef(({ variants, className, ...rest }, ref) => {
8
+ return /* @__PURE__ */ React.createElement(Face.TextAreaFace, { variants, className }, /* @__PURE__ */ React.createElement(Box.TextAreaBox, { ref, ...rest }));
9
+ });
10
+
11
+ exports.TextAreaRoot = TextAreaRoot;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var Box = require('./Box.js');
4
+ var Face = require('./Face.js');
5
+ var Left = require('./Left.js');
6
+ var Right = require('./Right.js');
7
+ var Root = require('./Root.js');
8
+
9
+ const TextArea = {
10
+ Root: Root.TextAreaRoot,
11
+ Face: Face.TextAreaFace,
12
+ Box: Box.TextAreaBox,
13
+ Left: Left.TextAreaLeft,
14
+ Right: Right.TextAreaRight
15
+ };
16
+
17
+ exports.TextArea = TextArea;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const getValidChildren = (children) => {
6
+ return React.Children.toArray(children).filter(
7
+ (el) => React.isValidElement(el)
8
+ );
9
+ };
10
+
11
+ exports.getValidChildren = getValidChildren;
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const useSelectGroupedOptions = ({
6
+ options: _options
7
+ }) => {
8
+ const [options, setOptions] = React.useState();
9
+ const [isLoading, setIsLoading] = React.useState();
10
+ const [error, setError] = React.useState();
11
+ const initData = async (fetch) => {
12
+ setIsLoading(true);
13
+ try {
14
+ const result = await fetch();
15
+ if (result) {
16
+ setOptions(result ?? []);
17
+ }
18
+ } catch (e) {
19
+ setError(String(e));
20
+ } finally {
21
+ setIsLoading(false);
22
+ }
23
+ };
24
+ React.useEffect(() => {
25
+ if (typeof _options === "function") initData(_options);
26
+ else setOptions(_options);
27
+ }, [_options]);
28
+ return {
29
+ isLoading,
30
+ options,
31
+ error
32
+ };
33
+ };
34
+
35
+ exports.useSelectGroupedOptions = useSelectGroupedOptions;
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const useSelectOptions = ({
6
+ options: _options
7
+ }) => {
8
+ const [options, setOptions] = React.useState();
9
+ const [isLoading, setIsLoading] = React.useState();
10
+ const [error, setError] = React.useState();
11
+ const initData = React.useCallback(async (fetch) => {
12
+ setIsLoading(true);
13
+ try {
14
+ const result = await fetch();
15
+ if (result) {
16
+ setOptions(result ?? []);
17
+ }
18
+ } catch (e) {
19
+ setError(String(e));
20
+ } finally {
21
+ setIsLoading(false);
22
+ }
23
+ }, []);
24
+ React.useEffect(() => {
25
+ if (typeof _options === "function") initData(_options);
26
+ else setOptions(_options);
27
+ }, [_options]);
28
+ return {
29
+ isLoading,
30
+ options,
31
+ error
32
+ };
33
+ };
34
+
35
+ exports.useSelectOptions = useSelectOptions;