@tecsinapse/cortex-react 1.2.1 → 1.2.2-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 (92) hide show
  1. package/dist/cjs/components/Avatar.js +34 -0
  2. package/dist/cjs/components/BaseSnackbar.js +13 -0
  3. package/dist/cjs/components/BreadcrumbItem.js +27 -0
  4. package/dist/cjs/components/Breadcrumbs.js +22 -0
  5. package/dist/cjs/components/Card.js +2 -10
  6. package/dist/cjs/components/DefaultSnack.js +27 -0
  7. package/dist/cjs/components/Drawer.js +32 -0
  8. package/dist/cjs/components/GroupButton.js +42 -0
  9. package/dist/cjs/components/Input.js +5 -3
  10. package/dist/cjs/components/Modal.js +6 -13
  11. package/dist/cjs/components/ProgressBar.js +70 -0
  12. package/dist/cjs/components/SearchInput.js +9 -3
  13. package/dist/cjs/components/Select.js +4 -4
  14. package/dist/cjs/components/Skeleton.js +22 -0
  15. package/dist/cjs/components/Table.js +11 -13
  16. package/dist/cjs/components/Toggle.js +17 -9
  17. package/dist/cjs/components/utils.js +12 -0
  18. package/dist/cjs/index.js +21 -3
  19. package/dist/cjs/service/SnackbarSonner.js +48 -0
  20. package/dist/cjs/styles/groupButton.js +16 -0
  21. package/dist/cjs/styles/progressBar.js +21 -0
  22. package/dist/esm/components/Avatar.js +32 -0
  23. package/dist/esm/components/BaseSnackbar.js +11 -0
  24. package/dist/esm/components/BreadcrumbItem.js +25 -0
  25. package/dist/esm/components/Breadcrumbs.js +20 -0
  26. package/dist/esm/components/Card.js +2 -10
  27. package/dist/esm/components/DefaultSnack.js +25 -0
  28. package/dist/esm/components/Drawer.js +30 -0
  29. package/dist/esm/components/GroupButton.js +40 -0
  30. package/dist/esm/components/Input.js +5 -3
  31. package/dist/esm/components/Modal.js +6 -13
  32. package/dist/esm/components/ProgressBar.js +68 -0
  33. package/dist/esm/components/SearchInput.js +9 -3
  34. package/dist/esm/components/Select.js +4 -4
  35. package/dist/esm/components/Skeleton.js +20 -0
  36. package/dist/esm/components/Table.js +12 -14
  37. package/dist/esm/components/Toggle.js +17 -9
  38. package/dist/esm/components/utils.js +10 -0
  39. package/dist/esm/index.js +11 -2
  40. package/dist/esm/service/SnackbarSonner.js +46 -0
  41. package/dist/esm/styles/groupButton.js +14 -0
  42. package/dist/esm/styles/progressBar.js +19 -0
  43. package/dist/types/components/Avatar.d.ts +7 -0
  44. package/dist/types/components/BaseSnackbar.d.ts +9 -0
  45. package/dist/types/components/BreadcrumbItem.d.ts +5 -0
  46. package/dist/types/components/Breadcrumbs.d.ts +10 -0
  47. package/dist/types/components/Card.d.ts +1 -1
  48. package/dist/types/components/DefaultSnack.d.ts +6 -0
  49. package/dist/types/components/Drawer.d.ts +9 -0
  50. package/dist/types/components/GroupButton.d.ts +19 -0
  51. package/dist/types/components/Input.d.ts +1 -1
  52. package/dist/types/components/Modal.d.ts +2 -2
  53. package/dist/types/components/ProgressBar.d.ts +9 -0
  54. package/dist/types/components/SearchInput.d.ts +0 -1
  55. package/dist/types/components/Select.d.ts +0 -1
  56. package/dist/types/components/Skeleton.d.ts +4 -0
  57. package/dist/types/components/Table.d.ts +1 -1
  58. package/dist/types/components/index.d.ts +8 -1
  59. package/dist/types/components/utils.d.ts +1 -0
  60. package/dist/types/index.d.ts +2 -0
  61. package/dist/types/provider/SnackbarProvider.d.ts +10 -0
  62. package/dist/types/service/ISnackbar.d.ts +7 -0
  63. package/dist/types/service/SnackbarSonner.d.ts +7 -0
  64. package/dist/types/service/index.d.ts +2 -0
  65. package/dist/types/styles/groupButton.d.ts +77 -0
  66. package/dist/types/styles/index.d.ts +2 -0
  67. package/dist/types/styles/progressBar.d.ts +78 -0
  68. package/dist/types/tests/Avatar.test.d.ts +1 -0
  69. package/dist/types/tests/Badge.test.d.ts +1 -0
  70. package/dist/types/tests/BreadcrumbItem.test.d.ts +1 -0
  71. package/dist/types/tests/Breadcrumbs.test.d.ts +1 -0
  72. package/dist/types/tests/Card.test.d.ts +1 -0
  73. package/dist/types/tests/DefaultSnack.test.d.ts +1 -0
  74. package/dist/types/tests/Drawer.test.d.ts +1 -0
  75. package/dist/types/tests/GroupButton.test.d.ts +1 -0
  76. package/dist/types/tests/Hint.test.d.ts +1 -0
  77. package/dist/types/tests/Input.test.d.ts +1 -0
  78. package/dist/types/tests/Modal.test.d.ts +1 -0
  79. package/dist/types/tests/ProgressBar.test.d.ts +1 -0
  80. package/dist/types/tests/SearchInput.test.d.ts +1 -0
  81. package/dist/types/tests/Select.test.d.ts +1 -0
  82. package/dist/types/tests/Skeleton.test.d.ts +1 -0
  83. package/dist/types/tests/Snackbar.test.d.ts +1 -0
  84. package/dist/types/tests/Table.test.d.ts +1 -0
  85. package/dist/types/tests/Tag.test.d.ts +1 -0
  86. package/dist/types/tests/Toggle.test.d.ts +1 -0
  87. package/dist/types/tests/useDebouncedState.test.d.ts +1 -0
  88. package/dist/types/tests/utils.test.d.ts +1 -0
  89. package/package.json +8 -5
  90. package/dist/cjs/components/Snackbar.js +0 -18
  91. package/dist/esm/components/Snackbar.js +0 -16
  92. package/dist/types/components/Snackbar.d.ts +0 -9
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+ var utils = require('./utils.js');
6
+
7
+ const Avatar = ({ src, name, className, ...rest }) => {
8
+ const [hasError, setHasError] = React.useState(false);
9
+ React.useEffect(() => {
10
+ setHasError(false);
11
+ }, [src]);
12
+ return /* @__PURE__ */ React.createElement(
13
+ "div",
14
+ {
15
+ ...rest,
16
+ className: clsx(
17
+ "rounded-pill bg-secondary-dark w-mega h-mega flex items-center justify-center cursor-pointer",
18
+ className
19
+ )
20
+ },
21
+ src && !hasError ? /* @__PURE__ */ React.createElement(
22
+ "img",
23
+ {
24
+ src,
25
+ alt: name,
26
+ className: "rounded-pill",
27
+ onError: () => setHasError(true),
28
+ "data-testid": "avatar-img"
29
+ }
30
+ ) : /* @__PURE__ */ React.createElement("p", { className: "font-bold text-white text-base", "data-testid": "avatar-p" }, utils.getNameInitials(name))
31
+ );
32
+ };
33
+
34
+ exports.Avatar = Avatar;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var cortexCore = require('@tecsinapse/cortex-core');
5
+
6
+ const BaseSnackbar = React.forwardRef(
7
+ (props, ref) => {
8
+ const { children, show, variants } = props;
9
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, show ? /* @__PURE__ */ React.createElement("div", { className: cortexCore.snackbar(variants), ref, "data-testid": "snackbar" }, children) : /* @__PURE__ */ React.createElement(React.Fragment, null));
10
+ }
11
+ );
12
+
13
+ exports.BaseSnackbar = BaseSnackbar;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var md = require('react-icons/md');
5
+
6
+ const BreadcrumbItem = ({
7
+ isLast,
8
+ Component,
9
+ componentProps,
10
+ title
11
+ }) => {
12
+ return /* @__PURE__ */ React.createElement(Component, { ...componentProps, key: title }, /* @__PURE__ */ React.createElement("div", { className: "flex gap-x-mili items-center" }, /* @__PURE__ */ React.createElement(
13
+ "p",
14
+ {
15
+ className: isLast ? "text-secondary-medium" : "text-secondary-xdark"
16
+ },
17
+ title
18
+ ), !isLast ? /* @__PURE__ */ React.createElement(
19
+ md.MdOutlineKeyboardDoubleArrowRight,
20
+ {
21
+ className: "mt-[0.125rem] text-primary-medium",
22
+ "data-testid": "breadcrumb-item-icon"
23
+ }
24
+ ) : /* @__PURE__ */ React.createElement(React.Fragment, null)));
25
+ };
26
+
27
+ exports.BreadcrumbItem = BreadcrumbItem;
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var BreadcrumbItem = require('./BreadcrumbItem.js');
5
+ var Card = require('./Card.js');
6
+
7
+ const Breadcrumbs = (props) => {
8
+ const { breadcrumbs, ...rest } = props;
9
+ return /* @__PURE__ */ React.createElement(Card.Card, { className: "flex gap-x-mili w-full items-center py-mili", ...rest }, breadcrumbs.map((item, index) => {
10
+ const isLast = index === breadcrumbs.length - 1;
11
+ return /* @__PURE__ */ React.createElement(
12
+ BreadcrumbItem.BreadcrumbItem,
13
+ {
14
+ key: `${item.title}-${index}`,
15
+ ...item,
16
+ isLast
17
+ }
18
+ );
19
+ }));
20
+ };
21
+
22
+ exports.Breadcrumbs = Breadcrumbs;
@@ -1,19 +1,11 @@
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 Card = React.forwardRef((props, ref) => {
7
7
  const { children, className, ...rest } = props;
8
- return /* @__PURE__ */ React.createElement(
9
- "div",
10
- {
11
- className: cortexCore.card({ className }),
12
- ref,
13
- ...rest
14
- },
15
- children
16
- );
8
+ return /* @__PURE__ */ React.createElement("div", { className: cortexCore.card({ className }), ref, ...rest }, children);
17
9
  });
18
10
 
19
11
  exports.Card = Card;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var BaseSnackbar = require('./BaseSnackbar.js');
5
+ var io = require('react-icons/io');
6
+
7
+ const DefaultSnack = ({
8
+ text,
9
+ onDismiss,
10
+ variants
11
+ }) => /* @__PURE__ */ React.createElement(BaseSnackbar.BaseSnackbar, { show: true, variants: { intent: variants?.intent } }, /* @__PURE__ */ React.createElement("div", { className: "flex justify-between items-center flex-row gap-x-mili" }, /* @__PURE__ */ React.createElement(
12
+ io.IoMdInformationCircleOutline,
13
+ {
14
+ className: "w-[20px] h-[20px] shrink-0",
15
+ "data-testid": "icon-info"
16
+ }
17
+ ), /* @__PURE__ */ React.createElement("p", null, text), /* @__PURE__ */ React.createElement(
18
+ io.IoMdClose,
19
+ {
20
+ "data-testid": "icon-close",
21
+ onClick: onDismiss,
22
+ size: 24,
23
+ className: "cursor-pointer w-[20px] h-[20px] shrink-0"
24
+ }
25
+ )));
26
+
27
+ exports.DefaultSnack = DefaultSnack;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var cortexCore = require('@tecsinapse/cortex-core');
5
+
6
+ const Drawer = ({
7
+ children,
8
+ onClose,
9
+ open,
10
+ position = "right"
11
+ }) => {
12
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
13
+ "div",
14
+ {
15
+ "data-testid": "overlay",
16
+ className: cortexCore.overlay({ show: open }),
17
+ onClick: onClose
18
+ }
19
+ ), /* @__PURE__ */ React.createElement(
20
+ "div",
21
+ {
22
+ "data-testid": "drawer",
23
+ className: cortexCore.drawer({
24
+ position,
25
+ open
26
+ })
27
+ },
28
+ children
29
+ ));
30
+ };
31
+
32
+ exports.Drawer = Drawer;
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+ require('../styles/progressBar.js');
6
+ var groupButton = require('../styles/groupButton.js');
7
+
8
+ const { button, container, active, inactive, firstButton, lastButton } = groupButton.groupButton();
9
+ const GroupButton = (props) => {
10
+ const {
11
+ options,
12
+ value,
13
+ renderKey,
14
+ renderOption,
15
+ onChange,
16
+ customStyles,
17
+ disableAllOptions
18
+ } = props;
19
+ return /* @__PURE__ */ React.createElement("div", { className: container(), "data-testid": "group-button-container" }, options.map((option) => {
20
+ const key = renderKey?.(option.value);
21
+ const isActive = key === renderKey?.(value);
22
+ return /* @__PURE__ */ React.createElement(
23
+ "button",
24
+ {
25
+ disabled: disableAllOptions,
26
+ value: String(value),
27
+ onClick: () => onChange(option.value),
28
+ className: clsx(
29
+ button(),
30
+ firstButton({ className: customStyles?.firstButton }),
31
+ lastButton({ className: customStyles?.lastButton }),
32
+ !isActive && inactive({ className: customStyles?.inactive }),
33
+ isActive && active({ className: customStyles?.active })
34
+ ),
35
+ key
36
+ },
37
+ renderOption(option.value)
38
+ );
39
+ }));
40
+ };
41
+
42
+ exports.GroupButton = GroupButton;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
3
  var cortexCore = require('@tecsinapse/cortex-core');
5
4
  var clsx = require('clsx');
5
+ var React = require('react');
6
6
 
7
7
  const getValidChildren = (children) => {
8
8
  return React.Children.toArray(children).filter(
@@ -19,13 +19,15 @@ const Box = React.forwardRef(
19
19
  placeholder: placeholder ?? " ",
20
20
  className: clsx.clsx(cortexCore.inputBox(placeholder, label, className)),
21
21
  ...rest,
22
- ref
22
+ ref,
23
+ "data-testid": "input-input"
23
24
  }
24
25
  ), /* @__PURE__ */ React.createElement(
25
26
  "label",
26
27
  {
27
28
  htmlFor: id ?? name,
28
- className: cortexCore.labelStyle({ intent: variants?.intent, placeholder })
29
+ className: cortexCore.labelStyle({ intent: variants?.intent, placeholder }),
30
+ "data-testid": "input-label"
29
31
  },
30
32
  label
31
33
  ));
@@ -5,21 +5,14 @@ var cortexCore = require('@tecsinapse/cortex-core');
5
5
 
6
6
  const Modal = React.forwardRef((props, ref) => {
7
7
  const { open, onClose, children, className } = props;
8
- return /* @__PURE__ */ React.createElement(
8
+ return /* @__PURE__ */ React.createElement("div", { ref, ...props }, /* @__PURE__ */ React.createElement(
9
9
  "div",
10
10
  {
11
- ref,
12
- ...props
13
- },
14
- /* @__PURE__ */ React.createElement(
15
- "div",
16
- {
17
- className: cortexCore.overlay({ show: open }),
18
- onClick: onClose
19
- }
20
- ),
21
- /* @__PURE__ */ React.createElement("dialog", { className: cortexCore.modal({ open, className }) }, children)
22
- );
11
+ "data-testid": "overlay",
12
+ className: cortexCore.overlay({ show: open }),
13
+ onClick: onClose
14
+ }
15
+ ), /* @__PURE__ */ React.createElement("dialog", { "data-testid": "modal", className: cortexCore.modal({ open, className }) }, children));
23
16
  });
24
17
 
25
18
  exports.Modal = Modal;
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+ var progressBar = require('../styles/progressBar.js');
6
+ require('../styles/groupButton.js');
7
+
8
+ const ProgressBar = ({
9
+ segments: _segments = 1,
10
+ valueMin = 0,
11
+ valueMax = 100,
12
+ valueCurrent = 50,
13
+ intentProgress = "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 progressStyle = React.useCallback(
29
+ (width, index) => {
30
+ return {
31
+ width: `${width}%`,
32
+ transitionDelay: `${showAnimation ? `${index * 1e3}ms` : `0ms`}`
33
+ };
34
+ },
35
+ [showAnimation]
36
+ );
37
+ const totalProgress = (displayedValue - valueMin) / (valueMax - valueMin) * 100;
38
+ const segments = Math.max(1, _segments);
39
+ const lengthSeg = 100 / Math.max(segments);
40
+ const items = [...Array(segments).keys()];
41
+ return /* @__PURE__ */ React.createElement("div", { className: "flex gap-x-nano flex-row" }, items.map((_, index) => {
42
+ const max = lengthSeg * (index + 1);
43
+ const min = lengthSeg * index;
44
+ const minmax = (totalProgress - min) / (max - min);
45
+ const width = (minmax > 1 ? 1 : minmax < 0 ? 0 : minmax) * 100;
46
+ return /* @__PURE__ */ React.createElement(
47
+ "div",
48
+ {
49
+ "data-testid": "progress-bar",
50
+ key: index,
51
+ className: clsx(
52
+ "h-[0.5rem] bg-secondary-light flex flex-1 first:rounded-l-pill last:rounded-r-pill"
53
+ )
54
+ },
55
+ /* @__PURE__ */ React.createElement(
56
+ "div",
57
+ {
58
+ "data-testid": "div-segment-filled",
59
+ style: progressStyle(width, index),
60
+ className: progressBar.progressBarFilled({
61
+ intentProgress,
62
+ showAnimation
63
+ })
64
+ }
65
+ )
66
+ );
67
+ }));
68
+ };
69
+
70
+ exports.ProgressBar = ProgressBar;
@@ -8,11 +8,17 @@ require('./Hint.js');
8
8
  var Input = require('./Input.js');
9
9
  require('./Modal.js');
10
10
  require('./Select.js');
11
- require('./Snackbar.js');
11
+ require('./BaseSnackbar.js');
12
12
  require('./Tag.js');
13
13
  require('./Toggle.js');
14
14
  require('./TextArea.js');
15
15
  require('@tecsinapse/cortex-core');
16
+ require('react-icons/md');
17
+ require('clsx');
18
+ require('../styles/progressBar.js');
19
+ require('../styles/groupButton.js');
20
+ require('./GroupButton.js');
21
+ require('react-icons/io');
16
22
  var ai = require('react-icons/ai');
17
23
  var io5 = require('react-icons/io5');
18
24
  var useDebouncedState = require('../hooks/useDebouncedState.js');
@@ -43,7 +49,7 @@ const SearchInput = ({
43
49
  onClick(searchInput);
44
50
  }
45
51
  };
46
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-row w-full space-x-mili" }, /* @__PURE__ */ React.createElement(Input.Input.Face, { variants: { className: inputFace } }, !onClick && /* @__PURE__ */ React.createElement(Input.Input.Left, { className: inputLeft }, /* @__PURE__ */ React.createElement(io5.IoSearchOutline, null)), /* @__PURE__ */ React.createElement(
52
+ return /* @__PURE__ */ React.createElement("div", { className: "flex flex-row w-full space-x-mili" }, /* @__PURE__ */ React.createElement(Input.Input.Face, { variants: { className: inputFace } }, !onClick && /* @__PURE__ */ React.createElement(Input.Input.Left, { className: inputLeft }, /* @__PURE__ */ React.createElement(io5.IoSearchOutline, { "data-testid": "icon-search-left" })), /* @__PURE__ */ React.createElement(
47
53
  Input.Input.Box,
48
54
  {
49
55
  placeholder,
@@ -63,7 +69,7 @@ const SearchInput = ({
63
69
  onClick: () => onClick(searchInput),
64
70
  disabled: !searchInput || isSubmitting
65
71
  },
66
- isSubmitting ? /* @__PURE__ */ React.createElement("div", { className: "animate-spin" }, /* @__PURE__ */ React.createElement(ai.AiOutlineLoading, null)) : /* @__PURE__ */ React.createElement(io5.IoSearchOutline, null)
72
+ isSubmitting ? /* @__PURE__ */ React.createElement("div", { className: "animate-spin" }, /* @__PURE__ */ React.createElement(ai.AiOutlineLoading, { "data-testid": "icon-loading" })) : /* @__PURE__ */ React.createElement(io5.IoSearchOutline, { "data-testid": "icon-search-button" })
67
73
  ));
68
74
  };
69
75
 
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var cortexCore = require('@tecsinapse/cortex-core');
6
6
  var React = require('react');
7
- var Hint = require('./Hint.js');
8
- var io5 = require('react-icons/io5');
9
7
  var io = require('react-icons/io');
8
+ var io5 = require('react-icons/io5');
9
+ var Hint = require('./Hint.js');
10
10
  var SearchInput = require('./SearchInput.js');
11
11
 
12
12
  const { button, dropdown, groupedTitle, containerGrouped, hintBody } = cortexCore.selectVariants();
@@ -68,7 +68,7 @@ const Select = (props) => {
68
68
  onClick: () => setOpen((prevState) => !prevState),
69
69
  disabled
70
70
  },
71
- /* @__PURE__ */ React.createElement("span", null, placeholder),
71
+ /* @__PURE__ */ React.createElement("span", { "data-testid": "select-placeholder" }, placeholder),
72
72
  /* @__PURE__ */ React.createElement(io5.IoChevronDownOutline, null)
73
73
  ), /* @__PURE__ */ React.createElement(
74
74
  "ul",
@@ -93,7 +93,7 @@ const Select = (props) => {
93
93
  intent: variant
94
94
  }
95
95
  },
96
- /* @__PURE__ */ React.createElement("div", { className: hintBody() }, variant === "error" ? /* @__PURE__ */ React.createElement(io.IoIosCloseCircleOutline, null) : /* @__PURE__ */ React.createElement(React.Fragment, null), /* @__PURE__ */ React.createElement("span", null, hint))
96
+ /* @__PURE__ */ React.createElement("div", { className: hintBody() }, variant === "error" ? /* @__PURE__ */ React.createElement(io.IoIosCloseCircleOutline, { "data-testid": "select-hint-error-icon" }) : /* @__PURE__ */ React.createElement(React.Fragment, null), /* @__PURE__ */ React.createElement("span", null, hint))
97
97
  ));
98
98
  };
99
99
 
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+
6
+ const Skeleton = ({
7
+ className,
8
+ children,
9
+ ...rest
10
+ }) => {
11
+ return /* @__PURE__ */ React.createElement(
12
+ "div",
13
+ {
14
+ ...rest,
15
+ "data-testid": "skeleton",
16
+ className: clsx("animate-pulse bg-secondary-light", className)
17
+ },
18
+ children
19
+ );
20
+ };
21
+
22
+ exports.Skeleton = Skeleton;
@@ -7,47 +7,45 @@ const THead = ({
7
7
  children,
8
8
  className,
9
9
  ...rest
10
- }) => /* @__PURE__ */ React.createElement("thead", { className: cortexCore.tHead({ className }), ...rest }, children);
10
+ }) => /* @__PURE__ */ React.createElement("thead", { className: cortexCore.tHead({ className }), "data-testid": "thead", ...rest }, children);
11
11
  const TRow = ({
12
12
  children,
13
13
  className,
14
14
  ...rest
15
- }) => /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow({ className }), ...rest }, children);
15
+ }) => /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow({ className }), "data-testid": "trow", ...rest }, children);
16
16
  const THeadCell = ({
17
17
  children,
18
18
  className,
19
19
  ...rest
20
- }) => /* @__PURE__ */ React.createElement("th", { className: cortexCore.tHeadCell({ className }), ...rest }, children);
20
+ }) => /* @__PURE__ */ React.createElement("th", { className: cortexCore.tHeadCell({ className }), "data-testid": "thead-cell", ...rest }, children);
21
+ const TRowHeader = ({
22
+ children
23
+ }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow(), "data-testid": "trow-header" }, children), /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow() }, /* @__PURE__ */ React.createElement("td", { colSpan: 99 }, /* @__PURE__ */ React.createElement("hr", { className: cortexCore.hr() }))));
21
24
  const TCell = ({
22
25
  children,
23
26
  className,
24
27
  ...rest
25
- }) => /* @__PURE__ */ React.createElement("td", { className: cortexCore.tCell({ className }), ...rest }, children);
28
+ }) => /* @__PURE__ */ React.createElement("td", { className: cortexCore.tCell({ className }), "data-testid": "tcell", ...rest }, children);
26
29
  const TFoot = ({
27
30
  children,
28
31
  className,
29
32
  ...rest
30
- }) => /* @__PURE__ */ React.createElement("tfoot", { className: cortexCore.tFoot({ className }), ...rest }, children);
33
+ }) => /* @__PURE__ */ React.createElement("tfoot", { className: cortexCore.tFoot({ className }), "data-testid": "tfoot", ...rest }, children);
31
34
  const Table = ({
32
35
  children,
33
36
  className,
34
37
  ...rest
35
- }) => /* @__PURE__ */ React.createElement("table", { className: cortexCore.tRoot({ className }), ...rest }, children);
36
- const Hr = ({
37
- children,
38
- className,
39
- ...rest
40
- }) => /* @__PURE__ */ React.createElement("hr", { className: cortexCore.hr({ className }), ...rest }, children);
38
+ }) => /* @__PURE__ */ React.createElement("table", { className: cortexCore.tRoot({ className }), "data-testid": "table", ...rest }, children);
41
39
  const Td = ({
42
40
  children,
43
41
  ...rest
44
- }) => /* @__PURE__ */ React.createElement("td", { colSpan: 99, ...rest }, children);
42
+ }) => /* @__PURE__ */ React.createElement("td", { ...rest, "data-testid": "td" }, children);
45
43
 
46
- exports.Hr = Hr;
47
44
  exports.TCell = TCell;
48
45
  exports.TFoot = TFoot;
49
46
  exports.THead = THead;
50
47
  exports.THeadCell = THeadCell;
51
48
  exports.TRow = TRow;
49
+ exports.TRowHeader = TRowHeader;
52
50
  exports.Table = Table;
53
51
  exports.Td = Td;
@@ -1,18 +1,26 @@
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 Toggle = React.forwardRef((props, ref) => {
7
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-row items-center gap-x-centi" }, /* @__PURE__ */ React.createElement("label", { className: cortexCore.styleLabelElement() }, /* @__PURE__ */ React.createElement(
8
- "input",
7
+ return /* @__PURE__ */ React.createElement(
8
+ "div",
9
9
  {
10
- type: "checkbox",
11
- className: cortexCore.styleInputElement(),
12
- ref,
13
- ...props
14
- }
15
- ), /* @__PURE__ */ React.createElement("div", { className: cortexCore.toggle() })));
10
+ className: "flex flex-row items-center gap-x-centi",
11
+ "data-testid": "toggle-div"
12
+ },
13
+ /* @__PURE__ */ React.createElement("label", { className: cortexCore.styleLabelElement() }, /* @__PURE__ */ React.createElement(
14
+ "input",
15
+ {
16
+ type: "checkbox",
17
+ className: cortexCore.styleInputElement(),
18
+ ref,
19
+ "data-testid": "toggle-input",
20
+ ...props
21
+ }
22
+ ), /* @__PURE__ */ React.createElement("div", { className: cortexCore.toggle() }))
23
+ );
16
24
  });
17
25
 
18
26
  exports.Toggle = Toggle;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ const getNameInitials = (name) => {
4
+ const nameSplit = name.split(" ");
5
+ const length = nameSplit.length;
6
+ if (length > 1) {
7
+ return `${nameSplit[0][0]}${nameSplit[length - 1][0]}`;
8
+ }
9
+ return name[0];
10
+ };
11
+
12
+ exports.getNameInitials = getNameInitials;
package/dist/cjs/index.js CHANGED
@@ -7,11 +7,20 @@ var Hint = require('./components/Hint.js');
7
7
  var Input = require('./components/Input.js');
8
8
  var Modal = require('./components/Modal.js');
9
9
  var Select = require('./components/Select.js');
10
- var Snackbar = require('./components/Snackbar.js');
10
+ var BaseSnackbar = require('./components/BaseSnackbar.js');
11
11
  var Tag = require('./components/Tag.js');
12
12
  var Toggle = require('./components/Toggle.js');
13
13
  var TextArea = require('./components/TextArea.js');
14
14
  var Table = require('./components/Table.js');
15
+ var Drawer = require('./components/Drawer.js');
16
+ var Breadcrumbs = require('./components/Breadcrumbs.js');
17
+ var Avatar = require('./components/Avatar.js');
18
+ var Skeleton = require('./components/Skeleton.js');
19
+ var ProgressBar = require('./components/ProgressBar.js');
20
+ var GroupButton = require('./components/GroupButton.js');
21
+ var DefaultSnack = require('./components/DefaultSnack.js');
22
+ var SnackbarSonner = require('./service/SnackbarSonner.js');
23
+ var useDebouncedState = require('./hooks/useDebouncedState.js');
15
24
 
16
25
 
17
26
 
@@ -28,15 +37,24 @@ exports.Right = Input.Right;
28
37
  exports.Root = Input.Root;
29
38
  exports.Modal = Modal.Modal;
30
39
  exports.Select = Select.Select;
31
- exports.Snackbar = Snackbar.Snackbar;
40
+ exports.BaseSnackbar = BaseSnackbar.BaseSnackbar;
32
41
  exports.Tag = Tag.Tag;
33
42
  exports.Toggle = Toggle.Toggle;
34
43
  exports.TextArea = TextArea.TextArea;
35
- exports.Hr = Table.Hr;
36
44
  exports.TCell = Table.TCell;
37
45
  exports.TFoot = Table.TFoot;
38
46
  exports.THead = Table.THead;
39
47
  exports.THeadCell = Table.THeadCell;
40
48
  exports.TRow = Table.TRow;
49
+ exports.TRowHeader = Table.TRowHeader;
41
50
  exports.Table = Table.Table;
42
51
  exports.Td = Table.Td;
52
+ exports.Drawer = Drawer.Drawer;
53
+ exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
54
+ exports.Avatar = Avatar.Avatar;
55
+ exports.Skeleton = Skeleton.Skeleton;
56
+ exports.ProgressBar = ProgressBar.ProgressBar;
57
+ exports.GroupButton = GroupButton.GroupButton;
58
+ exports.DefaultSnack = DefaultSnack.DefaultSnack;
59
+ exports.SnackbarSonner = SnackbarSonner.SnackbarSonner;
60
+ exports.useDebouncedState = useDebouncedState.useDebouncedState;
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ var sonner = require('sonner');
4
+ var React = require('react');
5
+ require('../components/Badge.js');
6
+ require('../components/Button.js');
7
+ require('../components/Card.js');
8
+ require('../components/Hint.js');
9
+ require('../components/Input.js');
10
+ require('../components/Modal.js');
11
+ require('../components/Select.js');
12
+ require('../components/BaseSnackbar.js');
13
+ require('../components/Tag.js');
14
+ require('../components/Toggle.js');
15
+ require('../components/TextArea.js');
16
+ require('@tecsinapse/cortex-core');
17
+ require('react-icons/md');
18
+ require('clsx');
19
+ require('../styles/progressBar.js');
20
+ require('../styles/groupButton.js');
21
+ require('../components/GroupButton.js');
22
+ var DefaultSnack = require('../components/DefaultSnack.js');
23
+
24
+ class SnackbarSonner {
25
+ custom(Component, options) {
26
+ return sonner.toast.custom(() => Component, {
27
+ ...options,
28
+ duration: options?.duration ?? 5e3
29
+ });
30
+ }
31
+ show(type, message, options) {
32
+ return sonner.toast.custom(
33
+ (t) => {
34
+ return /* @__PURE__ */ React.createElement(
35
+ DefaultSnack.DefaultSnack,
36
+ {
37
+ text: message,
38
+ variants: { intent: type },
39
+ onDismiss: () => sonner.toast.dismiss(t)
40
+ }
41
+ );
42
+ },
43
+ { ...options, duration: options?.duration ?? 5e3 }
44
+ );
45
+ }
46
+ }
47
+
48
+ exports.SnackbarSonner = SnackbarSonner;