@producteca/producteca-ui-kit 1.21.0 → 1.21.1-beta.0

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 (152) hide show
  1. package/dist/components/alert/alert.js +37 -0
  2. package/dist/components/breadcrumb/breadcrumb.js +33 -0
  3. package/dist/components/breadcrumb/index.js +2 -0
  4. package/dist/components/button/button.js +34 -0
  5. package/dist/components/chip/chip.js +27 -0
  6. package/dist/components/chip/index.js +1 -0
  7. package/dist/components/icons/customIcon/customIcon.js +41 -0
  8. package/dist/components/icons/fileIcon/fileIcon.js +14 -0
  9. package/dist/components/icons/{index.d.ts → index.js} +1 -1
  10. package/dist/components/icons/mailIcon/mailIcon.js +14 -0
  11. package/dist/components/icons/parameters.js +26 -0
  12. package/dist/components/icons/priceCloseIcon/priceCloseIcon.js +14 -0
  13. package/dist/components/icons/priceDownIcon/priceDownIcon.js +14 -0
  14. package/dist/components/icons/searchPublication/searchPublication.js +14 -0
  15. package/dist/components/image/image.js +26 -0
  16. package/dist/components/image/index.js +1 -0
  17. package/dist/components/{index.d.ts → index.js} +1 -1
  18. package/dist/components/inputs/checkboxInput/checkboxInput.js +35 -0
  19. package/dist/components/inputs/checkboxInput/checkboxInputGroup.js +58 -0
  20. package/dist/components/inputs/checkboxInput/{index.d.ts → index.js} +1 -2
  21. package/dist/components/inputs/datePicker/datePicker.js +143 -0
  22. package/dist/components/inputs/datePicker/datePickerCustomStyles.js +145 -0
  23. package/dist/components/inputs/datePicker/datePickerTypes.js +1 -0
  24. package/dist/components/inputs/datePicker/datePickerUtils.js +109 -0
  25. package/dist/components/inputs/datePicker/index.js +2 -0
  26. package/dist/components/inputs/dateRangePicker/dateFormater.js +28 -0
  27. package/dist/components/inputs/dateRangePicker/dateRangePicker.js +118 -0
  28. package/dist/components/inputs/dateRangePicker/dateRangePickerTypes.js +1 -0
  29. package/dist/components/inputs/dateRangePicker/dateRangePickerUtils.js +67 -0
  30. package/dist/components/inputs/dateRangePicker/index.js +2 -0
  31. package/dist/components/inputs/formField/formField.js +35 -0
  32. package/dist/components/inputs/formField/passwordInput.js +22 -0
  33. package/dist/components/inputs/formField/textInput.js +79 -0
  34. package/dist/components/inputs/{index.d.ts → index.js} +1 -1
  35. package/dist/components/inputs/searcher/searcher.js +112 -0
  36. package/dist/components/inputs/selectField/selectField.js +183 -0
  37. package/dist/components/inputs/switchInput/index.js +2 -0
  38. package/dist/components/inputs/switchInput/switchInput.js +77 -0
  39. package/dist/components/loaders/index.js +2 -0
  40. package/dist/components/loaders/progressbar/progressbar.js +37 -0
  41. package/dist/components/loaders/spinner/spinner.js +15 -0
  42. package/dist/components/menuAction/index.js +1 -0
  43. package/dist/components/menuAction/menuAction.js +67 -0
  44. package/dist/components/menuAction/menuActionCustomStyles.js +13 -0
  45. package/dist/components/modals/index.js +1 -0
  46. package/dist/components/modals/warningModal/index.js +1 -0
  47. package/dist/components/modals/warningModal/warningModal.js +41 -0
  48. package/dist/components/patterns/actionBar/actionBar.js +38 -0
  49. package/dist/components/patterns/copyButton/copyButton.js +69 -0
  50. package/dist/components/patterns/copyButton/index.js +1 -0
  51. package/dist/components/patterns/emptyState/emptyState.js +17 -0
  52. package/dist/components/patterns/headerSection/headerSection.js +17 -0
  53. package/dist/components/patterns/headerSection/index.js +1 -0
  54. package/dist/components/patterns/iconWithIdentifier/iconWithIdentifier.js +12 -0
  55. package/dist/components/patterns/iconWithIdentifier/index.js +1 -0
  56. package/dist/components/patterns/{index.d.ts → index.js} +1 -1
  57. package/dist/components/patterns/linkWithIcon/index.js +1 -0
  58. package/dist/components/patterns/linkWithIcon/linkWithIcon.js +26 -0
  59. package/dist/components/tabs/index.js +1 -0
  60. package/dist/components/tabs/tabs.js +70 -0
  61. package/dist/components/tooltip/index.js +2 -0
  62. package/dist/components/tooltip/overflowChecker.js +27 -0
  63. package/dist/components/tooltip/tooltip.js +97 -0
  64. package/dist/hooks/useReduxFormField.js +34 -0
  65. package/dist/{index.d.ts → index.js} +1 -1
  66. package/dist/locales/description.js +15 -0
  67. package/dist/locales/es.js +227 -0
  68. package/dist/locales/index.js +2 -0
  69. package/dist/locales/translator.js +20 -0
  70. package/dist/producteca-ui-kit.cjs.js +3 -0
  71. package/dist/producteca-ui-kit.es.js +3 -53518
  72. package/dist/producteca-ui-kit.umd.js +9 -604
  73. package/dist/styles/colors.js +67 -0
  74. package/dist/styles/styles/colors.tsx +88 -0
  75. package/dist/styles/styles/global.module.scss +85 -0
  76. package/dist/styles/styles/theme.tsx +24 -0
  77. package/dist/styles/styles/variables.module.scss +74 -0
  78. package/dist/styles/theme.js +22 -0
  79. package/dist/validators/errorMessage.js +15 -0
  80. package/dist/validators/index.js +2 -0
  81. package/dist/validators/validation.js +25 -0
  82. package/package.json +42 -4
  83. package/dist/components/alert/alert.d.ts +0 -17
  84. package/dist/components/breadcrumb/breadcrumb.d.ts +0 -15
  85. package/dist/components/breadcrumb/index.d.ts +0 -2
  86. package/dist/components/button/button.d.ts +0 -17
  87. package/dist/components/chip/chip.d.ts +0 -13
  88. package/dist/components/chip/index.d.ts +0 -2
  89. package/dist/components/icons/customIcon/customIcon.d.ts +0 -16
  90. package/dist/components/icons/fileIcon/fileIcon.d.ts +0 -5
  91. package/dist/components/icons/mailIcon/mailIcon.d.ts +0 -5
  92. package/dist/components/icons/parameters.d.ts +0 -51
  93. package/dist/components/icons/priceCloseIcon/priceCloseIcon.d.ts +0 -5
  94. package/dist/components/icons/priceDownIcon/priceDownIcon.d.ts +0 -5
  95. package/dist/components/icons/searchPublication/searchPublication.d.ts +0 -5
  96. package/dist/components/image/image.d.ts +0 -11
  97. package/dist/components/image/index.d.ts +0 -1
  98. package/dist/components/inputs/checkboxInput/checkboxInput.d.ts +0 -9
  99. package/dist/components/inputs/checkboxInput/checkboxInputGroup.d.ts +0 -22
  100. package/dist/components/inputs/datePicker/datePicker.d.ts +0 -5
  101. package/dist/components/inputs/datePicker/datePickerCustomStyles.d.ts +0 -8
  102. package/dist/components/inputs/datePicker/datePickerTypes.d.ts +0 -14
  103. package/dist/components/inputs/datePicker/datePickerUtils.d.ts +0 -68
  104. package/dist/components/inputs/datePicker/index.d.ts +0 -3
  105. package/dist/components/inputs/dateRangePicker/dateFormater.d.ts +0 -7
  106. package/dist/components/inputs/dateRangePicker/dateRangePicker.d.ts +0 -5
  107. package/dist/components/inputs/dateRangePicker/dateRangePickerTypes.d.ts +0 -14
  108. package/dist/components/inputs/dateRangePicker/dateRangePickerUtils.d.ts +0 -9
  109. package/dist/components/inputs/dateRangePicker/index.d.ts +0 -4
  110. package/dist/components/inputs/formField/formField.d.ts +0 -10
  111. package/dist/components/inputs/formField/passwordInput.d.ts +0 -4
  112. package/dist/components/inputs/formField/textInput.d.ts +0 -25
  113. package/dist/components/inputs/searcher/searcher.d.ts +0 -28
  114. package/dist/components/inputs/selectField/selectField.d.ts +0 -42
  115. package/dist/components/inputs/switchInput/index.d.ts +0 -4
  116. package/dist/components/inputs/switchInput/switchInput.d.ts +0 -31
  117. package/dist/components/loaders/index.d.ts +0 -2
  118. package/dist/components/loaders/progressbar/progressbar.d.ts +0 -8
  119. package/dist/components/loaders/spinner/spinner.d.ts +0 -6
  120. package/dist/components/menuAction/index.d.ts +0 -1
  121. package/dist/components/menuAction/menuAction.d.ts +0 -18
  122. package/dist/components/menuAction/menuActionCustomStyles.d.ts +0 -4
  123. package/dist/components/modals/index.d.ts +0 -1
  124. package/dist/components/modals/warningModal/index.d.ts +0 -1
  125. package/dist/components/modals/warningModal/warningModal.d.ts +0 -17
  126. package/dist/components/patterns/actionBar/actionBar.d.ts +0 -26
  127. package/dist/components/patterns/copyButton/copyButton.d.ts +0 -11
  128. package/dist/components/patterns/copyButton/index.d.ts +0 -1
  129. package/dist/components/patterns/emptyState/emptyState.d.ts +0 -11
  130. package/dist/components/patterns/headerSection/headerSection.d.ts +0 -14
  131. package/dist/components/patterns/headerSection/index.d.ts +0 -1
  132. package/dist/components/patterns/iconWithIdentifier/iconWithIdentifier.d.ts +0 -11
  133. package/dist/components/patterns/iconWithIdentifier/index.d.ts +0 -1
  134. package/dist/components/patterns/linkWithIcon/index.d.ts +0 -1
  135. package/dist/components/patterns/linkWithIcon/linkWithIcon.d.ts +0 -14
  136. package/dist/components/tabs/index.d.ts +0 -2
  137. package/dist/components/tabs/tabs.d.ts +0 -17
  138. package/dist/components/tooltip/index.d.ts +0 -3
  139. package/dist/components/tooltip/overflowChecker.d.ts +0 -5
  140. package/dist/components/tooltip/tooltip.d.ts +0 -20
  141. package/dist/favicon.svg +0 -43
  142. package/dist/hooks/useReduxFormField.d.ts +0 -26
  143. package/dist/locales/description.d.ts +0 -15
  144. package/dist/locales/es.d.ts +0 -227
  145. package/dist/locales/index.d.ts +0 -2
  146. package/dist/locales/translator.d.ts +0 -3
  147. package/dist/style.css +0 -1
  148. package/dist/styles/colors.d.ts +0 -25
  149. package/dist/styles/theme.d.ts +0 -2
  150. package/dist/validators/errorMessage.d.ts +0 -5
  151. package/dist/validators/index.d.ts +0 -2
  152. package/dist/validators/validation.d.ts +0 -21
@@ -0,0 +1,69 @@
1
+ import _slicedToArray from "babel-runtime/helpers/slicedToArray";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) {
5
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
+ }
9
+ return t;
10
+ };
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { useState, useEffect } from 'react';
13
+ import { ContentCopy, Check } from '@mui/icons-material';
14
+ import { Button } from '../../button/button';
15
+ import locale from '../../../locales';
16
+ import './copyButton.scss';
17
+ export var CopyButton = function CopyButton(_a) {
18
+ var _onClick = _a.onClick,
19
+ _a$copyText = _a.copyText,
20
+ copyText = _a$copyText === undefined ? locale('copyButton.copy') : _a$copyText,
21
+ _a$copiedText = _a.copiedText,
22
+ copiedText = _a$copiedText === undefined ? locale('copyButton.copied') : _a$copiedText,
23
+ textToCopy = _a.textToCopy,
24
+ _a$resetTime = _a.resetTime,
25
+ resetTime = _a$resetTime === undefined ? 2000 : _a$resetTime,
26
+ props = __rest(_a, ["onClick", "copyText", "copiedText", "textToCopy", "resetTime"]);
27
+
28
+ var _useState = useState(false),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ copied = _useState2[0],
31
+ setCopied = _useState2[1];
32
+
33
+ var _useState3 = useState(false),
34
+ _useState4 = _slicedToArray(_useState3, 2),
35
+ isAnimating = _useState4[0],
36
+ setIsAnimating = _useState4[1];
37
+
38
+ useEffect(function () {
39
+ if (copied) {
40
+ setIsAnimating(true);
41
+ var timer = setTimeout(function () {
42
+ setIsAnimating(false);
43
+ }, resetTime / 2);
44
+ return function () {
45
+ return clearTimeout(timer);
46
+ };
47
+ }
48
+ }, [copied]);
49
+ var defaultCopyFunction = function defaultCopyFunction() {
50
+ if (textToCopy) {
51
+ setCopied(true);
52
+ navigator.clipboard.writeText(textToCopy).then(function () {
53
+ setTimeout(function () {
54
+ return setCopied(false);
55
+ }, resetTime);
56
+ }).catch(function () {
57
+ setCopied(false);
58
+ });
59
+ }
60
+ };
61
+ return _jsx("div", { onClick: function onClick() {
62
+ return _onClick ? _onClick() : defaultCopyFunction();
63
+ }, children: _jsx(Button, Object.assign({ className: "copy-btn " + (copied ? 'copied' : '') + " " + (isAnimating ? 'animating' : ''), outline: true, label: copied ? copiedText : copyText, leftAdornment: _jsx(Icons, { copied: copied }) }, props)) });
64
+ };
65
+ var Icons = function Icons(_ref) {
66
+ var copied = _ref.copied;
67
+ return _jsxs("div", { className: "copy-btn-icons", children: [_jsx("div", { className: "copy-icon " + (copied ? 'hidden' : ''), children: _jsx(ContentCopy, {}) }), _jsx("div", { className: "check-icon " + (!copied ? 'hidden' : ''), children: _jsx(Check, {}) })] });
68
+ };
69
+ export default CopyButton;
@@ -0,0 +1 @@
1
+ export { CopyButton } from './copyButton';
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import locale from '../../../locales';
3
+ import { SearchPublication } from '../../icons';
4
+ import styles from './emptyState.module.scss';
5
+ var DefaultIcon = _jsx(SearchPublication, {});
6
+ export var EmptyState = function EmptyState(_ref) {
7
+ var onActionClick = _ref.onActionClick,
8
+ _ref$icon = _ref.icon,
9
+ icon = _ref$icon === undefined ? DefaultIcon : _ref$icon,
10
+ _ref$actionText = _ref.actionText,
11
+ actionText = _ref$actionText === undefined ? locale('reloadPage') : _ref$actionText,
12
+ _ref$text = _ref.text,
13
+ text = _ref$text === undefined ? locale('noResultsFound') : _ref$text;
14
+
15
+ return _jsxs("div", { className: styles['empty-state-container'], children: [icon, _jsxs("div", { className: styles['link-container'], children: [_jsx("span", { children: text }), onActionClick && _jsx("a", { onClick: onActionClick, children: actionText })] })] });
16
+ };
17
+ export default EmptyState;
@@ -0,0 +1,17 @@
1
+ import _defineProperty from 'babel-runtime/helpers/defineProperty';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import styles from './headerSection.module.scss';
4
+ import clsx from 'clsx';
5
+ export var HeaderSection = function HeaderSection(_ref) {
6
+ var breadcrumb = _ref.breadcrumb,
7
+ image = _ref.image,
8
+ _ref$dense = _ref.dense,
9
+ dense = _ref$dense === undefined ? false : _ref$dense,
10
+ title = _ref.title,
11
+ subtitle = _ref.subtitle,
12
+ link = _ref.link,
13
+ menuAction = _ref.menuAction;
14
+
15
+ return _jsxs("div", { className: clsx(styles['header-section-container'], _defineProperty({}, styles['dense'], dense || !!breadcrumb)), children: [!!breadcrumb && breadcrumb, _jsxs("div", { className: styles['header-section'], children: [!!image && image, _jsxs("div", { className: styles.content, children: [title && _jsx("h3", { className: styles.title, children: title }), !!subtitle && subtitle, !!link && link] }), !!menuAction && menuAction] })] });
16
+ };
17
+ export default HeaderSection;
@@ -0,0 +1 @@
1
+ export { HeaderSection } from './headerSection';
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import clsx from 'clsx';
3
+ import styles from './iconWithIdentifier.module.scss';
4
+ export var IconWithIdentifier = function IconWithIdentifier(_ref) {
5
+ var text = _ref.text,
6
+ _ref$showDivider = _ref.showDivider,
7
+ showDivider = _ref$showDivider === undefined ? true : _ref$showDivider,
8
+ color = _ref.color,
9
+ icon = _ref.icon;
10
+ return _jsxs("div", { className: clsx(styles['icon-with-identifier']), children: [!!icon && icon, showDivider && _jsx("div", { className: styles.divider }), _jsx("span", { className: styles.identifier, style: { color: color }, children: text })] });
11
+ };
12
+ export default IconWithIdentifier;
@@ -0,0 +1 @@
1
+ export { IconWithIdentifier } from './iconWithIdentifier';
@@ -3,4 +3,4 @@ export * from './actionBar/actionBar';
3
3
  export * from './copyButton/copyButton';
4
4
  export * from './headerSection';
5
5
  export * from './linkWithIcon';
6
- export * from './iconWithIdentifier';
6
+ export * from './iconWithIdentifier';
@@ -0,0 +1 @@
1
+ export { LinkWithIcon } from './linkWithIcon';
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import clsx from 'clsx';
3
+ import styles from './linkWithIcon.module.scss';
4
+ import Button from '../../button/button';
5
+ import { getColor } from '../../../styles/colors';
6
+ import CustomIcon from '../../icons/customIcon/customIcon';
7
+ var SIZE_TO_ICON = {
8
+ sm: '8',
9
+ md: '12',
10
+ lg: '12'
11
+ };
12
+ var transformSize = function transformSize(size) {
13
+ return SIZE_TO_ICON[size !== null && size !== void 0 ? size : 'md'];
14
+ };
15
+ export var LinkWithIcon = function LinkWithIcon(_ref) {
16
+ var text = _ref.text,
17
+ icon = _ref.icon,
18
+ onClick = _ref.onClick,
19
+ className = _ref.className,
20
+ _ref$size = _ref.size,
21
+ size = _ref$size === undefined ? 'md' : _ref$size,
22
+ _ref$otherProps = _ref.otherProps,
23
+ otherProps = _ref$otherProps === undefined ? {} : _ref$otherProps;
24
+ return _jsxs("div", { className: clsx(styles.action, className), onClick: onClick, children: [icon && _jsx(CustomIcon, Object.assign({ color: getColor('primary', '500') }, otherProps, { size: transformSize(size), children: icon })), _jsx(Button, Object.assign({ variant: "link", label: text, size: size }, otherProps))] });
25
+ };
26
+ export default LinkWithIcon;
@@ -0,0 +1 @@
1
+ export { Tabs } from './tabs';
@@ -0,0 +1,70 @@
1
+ import _defineProperty from 'babel-runtime/helpers/defineProperty';
2
+ import _slicedToArray from 'babel-runtime/helpers/slicedToArray';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React, { useMemo } from 'react';
5
+ import MuiTabs from '@mui/material/Tabs';
6
+ import MuiTab from '@mui/material/Tab';
7
+ import styles from './tabs.module.scss';
8
+ import clsx from 'clsx';
9
+ import { find, isUndefined, map } from 'lodash';
10
+ export var Tabs = function Tabs(_ref) {
11
+ var items = _ref.items,
12
+ value = _ref.value,
13
+ defaultValue = _ref.defaultValue,
14
+ onChange = _ref.onChange,
15
+ _ref$className = _ref.className,
16
+ className = _ref$className === undefined ? '' : _ref$className;
17
+
18
+ var _React$useState = React.useState(defaultValue),
19
+ _React$useState2 = _slicedToArray(_React$useState, 2),
20
+ internalValue = _React$useState2[0],
21
+ setInternalValue = _React$useState2[1];
22
+
23
+ var activeId = !isUndefined(value) ? value : internalValue;
24
+ var firstEnabledId = useMemo(function () {
25
+ var _a;return (_a = find(items, function (i) {
26
+ return !i.disabled;
27
+ })) === null || _a === void 0 ? void 0 : _a.id;
28
+ }, [items]);
29
+ React.useEffect(function () {
30
+ if (activeId === undefined) {
31
+ setInternalValue(firstEnabledId);
32
+ }
33
+ }, [activeId, firstEnabledId]);
34
+ var handleSelect = function handleSelect(_event, newValue) {
35
+ var _a;
36
+ var selectedId = String(newValue);
37
+ var itemSelected = find(items, function (item) {
38
+ return item.id === selectedId;
39
+ });
40
+ if (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.disabled) return;
41
+ if (value === undefined) setInternalValue(selectedId);
42
+ onChange === null || onChange === void 0 ? void 0 : onChange(selectedId);
43
+ (_a = itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.onClick) === null || _a === void 0 ? void 0 : _a.call(itemSelected);
44
+ };
45
+ return _jsx("div", { className: clsx(styles['tabs'], _defineProperty({}, className, !!className)), children: _jsx(MuiTabs, { value: activeId, onChange: handleSelect, className: styles['list'], "aria-label": "tabs", sx: sxTabs, children: map(items, function (_ref2) {
46
+ var _clsx2;
47
+
48
+ var id = _ref2.id,
49
+ label = _ref2.label,
50
+ disabled = _ref2.disabled;
51
+
52
+ return _jsx(MuiTab, { value: id, label: _jsx("span", { className: styles['label'], children: label }), disabled: disabled, disableRipple: true, sx: sxTab, className: clsx(styles['tab'], (_clsx2 = {}, _defineProperty(_clsx2, styles['active'], id === activeId), _defineProperty(_clsx2, styles['disabled'], disabled), _clsx2)) }, id);
53
+ }) }) });
54
+ };
55
+ var sxTabs = {
56
+ padding: 0,
57
+ minHeight: 0,
58
+ '& .MuiTabs-list': {
59
+ gap: '24px',
60
+ padding: '0 16px'
61
+ },
62
+ '& .MuiTabs-indicator': {
63
+ borderRadius: 8
64
+ }
65
+ };
66
+ var sxTab = {
67
+ padding: 0,
68
+ minHeight: 0
69
+ };
70
+ export default Tabs;
@@ -0,0 +1,2 @@
1
+ export { OverflowChecker } from './overflowChecker';
2
+ export { WithTooltip, WithOverflowTooltip } from './tooltip';
@@ -0,0 +1,27 @@
1
+ import _slicedToArray from 'babel-runtime/helpers/slicedToArray';
2
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
3
+ import { useState, useEffect, useRef } from 'react';
4
+ export var OverflowChecker = function OverflowChecker(_ref) {
5
+ var children = _ref.children;
6
+
7
+ var ref = useRef(null);
8
+
9
+ var _useState = useState(false),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ showTooltip = _useState2[0],
12
+ setShowTooltip = _useState2[1];
13
+
14
+ useEffect(function () {
15
+ var checkOverflow = function checkOverflow() {
16
+ if (ref.current) {
17
+ setShowTooltip(ref.current.scrollWidth > ref.current.offsetWidth);
18
+ }
19
+ };
20
+ checkOverflow();
21
+ window.addEventListener('resize', checkOverflow);
22
+ return function () {
23
+ return window.removeEventListener('resize', checkOverflow);
24
+ };
25
+ }, [children]);
26
+ return _jsx(_Fragment, { children: children(ref, showTooltip) });
27
+ };
@@ -0,0 +1,97 @@
1
+ import _defineProperty from "babel-runtime/helpers/defineProperty";
2
+ import _slicedToArray from "babel-runtime/helpers/slicedToArray";
3
+ var __rest = this && this.__rest || function (s, e) {
4
+ var t = {};
5
+ for (var p in s) {
6
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
7
+ }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import React, { useState } from 'react';
14
+ import Tooltip, { tooltipClasses } from '@mui/material/Tooltip';
15
+ import Zoom from '@mui/material/Zoom';
16
+ import { OverflowChecker } from './overflowChecker';
17
+ export var WithTooltip = function WithTooltip(_a) {
18
+ var _sx;
19
+
20
+ var children = _a.children,
21
+ content = _a.content,
22
+ _a$placement = _a.placement,
23
+ placement = _a$placement === undefined ? 'top' : _a$placement,
24
+ _a$arrow = _a.arrow,
25
+ arrow = _a$arrow === undefined ? false : _a$arrow,
26
+ _a$maxWidth = _a.maxWidth,
27
+ maxWidth = _a$maxWidth === undefined ? '600px' : _a$maxWidth,
28
+ _a$trigger = _a.trigger,
29
+ trigger = _a$trigger === undefined ? 'hover' : _a$trigger,
30
+ _a$shouldShowTooltip = _a.shouldShowTooltip,
31
+ shouldShowTooltip = _a$shouldShowTooltip === undefined ? true : _a$shouldShowTooltip,
32
+ otherProps = __rest(_a, ["children", "content", "placement", "arrow", "maxWidth", "trigger", "shouldShowTooltip"]);
33
+
34
+ var _useState = useState(false),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ open = _useState2[0],
37
+ setOpen = _useState2[1];
38
+
39
+ var enhancedChildren = React.cloneElement(children, Object.assign({ style: Object.assign(Object.assign({}, children.props.style || {}), { cursor: 'pointer' }) }, trigger === 'click' && shouldShowTooltip && {
40
+ onClick: function onClick(e) {
41
+ if (children.props.onClick) {
42
+ children.props.onClick(e);
43
+ }
44
+ setOpen(!open);
45
+ }
46
+ }));
47
+ var tooltipProps = trigger === 'click' ? {
48
+ open: shouldShowTooltip ? open : false,
49
+ onClose: function onClose() {
50
+ return setOpen(false);
51
+ },
52
+ disableHoverListener: true,
53
+ disableFocusListener: true,
54
+ disableTouchListener: true
55
+ } : {};
56
+ var disabledListeners = !shouldShowTooltip ? {
57
+ disableHoverListener: true,
58
+ disableFocusListener: true,
59
+ disableTouchListener: true
60
+ } : {};
61
+ return _jsx(Tooltip, Object.assign({ title: shouldShowTooltip ? content : '', placement: placement, arrow: arrow, slots: {
62
+ transition: Zoom
63
+ }, slotProps: {
64
+ popper: {
65
+ sx: (_sx = {}, _defineProperty(_sx, "&." + tooltipClasses.popper + " ." + tooltipClasses.tooltip, {
66
+ fontFamily: 'Poppins, Open Sans, Helvetica, Arial, sans-serif',
67
+ background: 'rgba(102, 102, 102, 1)',
68
+ padding: '9px 9px 8px 12px',
69
+ fontSize: '12px',
70
+ fontWeight: '400',
71
+ color: 'white !important',
72
+ borderRadius: '4px',
73
+ maxWidth: maxWidth
74
+ }), _defineProperty(_sx, "&." + tooltipClasses.popper + " ." + tooltipClasses.arrow, {
75
+ color: 'rgba(102, 102, 102, 1)'
76
+ }), _defineProperty(_sx, "&." + tooltipClasses.popper + "[data-popper-placement*=\"top\"] ." + tooltipClasses.tooltip, {
77
+ marginBottom: '8px'
78
+ }), _defineProperty(_sx, "&." + tooltipClasses.popper + "[data-popper-placement*=\"bottom\"] ." + tooltipClasses.tooltip, {
79
+ marginTop: '8px'
80
+ }), _defineProperty(_sx, "&." + tooltipClasses.popper + "[data-popper-placement*=\"left\"] ." + tooltipClasses.tooltip, {
81
+ marginRight: '8px'
82
+ }), _defineProperty(_sx, "&." + tooltipClasses.popper + "[data-popper-placement*=\"right\"] ." + tooltipClasses.tooltip, {
83
+ marginLeft: '8px'
84
+ }), _sx)
85
+ }
86
+ } }, tooltipProps, disabledListeners, otherProps, { children: enhancedChildren }));
87
+ };
88
+ export var WithOverflowTooltip = function WithOverflowTooltip(_a) {
89
+ var content = _a.content,
90
+ _children = _a.children,
91
+ tooltipProps = __rest(_a, ["content", "children"]);
92
+
93
+ return _jsx(OverflowChecker, { children: function children(ref, showTooltip) {
94
+ var childrenWithRef = React.cloneElement(_children, { ref: ref });
95
+ return showTooltip && content ? _jsx(WithTooltip, Object.assign({ content: content }, tooltipProps, { children: childrenWithRef })) : childrenWithRef;
96
+ } });
97
+ };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Hook to unify Redux Form and regular form field handling
3
+ *
4
+ * @param params Configuration object containing input, onChange, and transformValue
5
+ * @returns Object with handleChange and handleBlur functions
6
+ */
7
+ export function useReduxFormField(_ref) {
8
+ var input = _ref.input,
9
+ onChange = _ref.onChange,
10
+ onBlur = _ref.onBlur,
11
+ _ref$transformValue = _ref.transformValue,
12
+ transformValue = _ref$transformValue === undefined ? function (value) {
13
+ return value;
14
+ } : _ref$transformValue;
15
+
16
+ var handleChange = function handleChange(event) {
17
+ if (input) {
18
+ // For Redux Form
19
+ var transformedValue = transformValue(event, event);
20
+ input.onChange(transformedValue);
21
+ } else if (onChange) {
22
+ // For regular components
23
+ onChange(event);
24
+ }
25
+ };
26
+ var handleBlur = function handleBlur() {
27
+ if (input) {
28
+ input.onBlur();
29
+ }
30
+ // Call the additional onBlur if provided
31
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur();
32
+ };
33
+ return { handleChange: handleChange, handleBlur: handleBlur };
34
+ }
@@ -1,3 +1,3 @@
1
1
  export * from './components';
2
2
  export * from './styles/colors';
3
- export * from './hooks/useReduxFormField';
3
+ export * from './hooks/useReduxFormField';
@@ -0,0 +1,15 @@
1
+ export var onChangeSelectField = "\n Callback que se dispara cuando cambia el valor del input.\n \n #### Par\xE1metros\n event: `React.ChangeEvent<HTMLInputElement>`\n - `event.target.name`: El nombre del input.\n - `event.target.value`: El valor actual del input, que debe cumplir con la siguiente interfaz:\n \n ```typescript\n interface SelectOption {\n label: string;\n value: string | number;\n [key: string]: any;\n }\n ```\n";
2
+ export var onInputChange = "\n Callback que se ejecuta cuando escribimos algo en el buscador.\n \n #### Par\xE1metros\n event: `React.ChangeEvent<HTMLInputElement>`\n - `event.target.name`: El nombre del input.\n - `event.target.value`: El valor actual del input\n";
3
+ export var onChangeSearcher = "\n Callback que se ejecuta cuando seleccionamos una opcion del buscador.\n \n #### Par\xE1metros\n event: `React.ChangeEvent<HTMLInputElement>`\n - `event.target.name`: El nombre del input.\n - `event.target.value`: El valor actual del input, que debe cumplir con la siguiente interfaz:\n \n ``` typescript\n interface SelectOption {\n label: string;\n value: string | number;\n [key: string]: any;\n }\n ```\n";
4
+ export var onChangeCheckboxInput = "\n Callback que se dispara cuando cambia el valor del input.\n \n #### Par\xE1metros\n event: `React.ChangeEvent<HTMLInputElement>`\n - `event.target.name`: El nombre del input.\n - `event.target.value`: Siempre es \"on\"\n";
5
+ export var onChangeInput = "\n Callback que se dispara cuando cambia el valor del input.\n \n #### Par\xE1metros\n event: `React.ChangeEvent<HTMLInputElement>`\n - `event.target.name`: El nombre del input.\n - `event.target.value`: El valor actual del input, que debe cumplir con la siguiente interfaz:\n \n ``` typescript\n value: string | number; \n ```\n";
6
+ export var isOptionDisabled = " \n Funcion que recibe un valor de tipo SelectOption y deberia devolver un valor booleano\n Si la opci\xF3n tiene definida un tooltipMessage se va a mostrar al hacer hover.\n \n#### Ejemplo\n ``` typescript\n const isOptionDisabled = (option: SelectOption) => option.value === 2;\n ```\n \n #### Interfaz\n ```typescript\n interface SelectOption {\n label: string;\n value: string | number;\n tooltipMessage?: string;\n [key: string]: any;\n }\n ```\n";
7
+ export var selectFieldDescription = "\n #### Ejemplo de uso \n ```typescript\n <SelectField\n name=\"productId\"\n options={[{ label: \"1\", value: 1 }, { label: \"2\", value: 2, tooltipMessage: \"Este valor no es representativo\" }]}\n onChange={(event) => handleChange(event.target.name, event.target.value)}\n isMultiple\n isClearable={false}\n label={localize('product')}\n isOptionDisabled={(option) => option.value == 2}\n rightModifier={shouldShowLoader && <Spinner />}\n />\n ```\n";
8
+ export var formFieldExample = "\n #### Ejemplo de uso\n \n ``` typescript\n <FormField\n label=\"T\xEDtulo\"\n name=\"textInput\"\n onChange={(event) => handleChange(event.target.name, event.target.value)}\n placeholder=\"Placeholder\"\n size=\"md\"\n type=\"text\"\n isValid={(inputValue) => _.isNumber(inputValue)}\n />\n ```\n";
9
+ export var isValidInput = "\n Funcion que recibe un valor de tipo inputValue y deberia devolver un valor booleano.\n \n #### Por ejemplo: (inputValue) => _.isNumber(inputValue)\n \n ``` typescript\n type inputValue = string | number; \n ```\n";
10
+ export var checkboxInputGroupExample = "\n #### Ejemplo de uso\n \n ``` typescript\n <CheckboxInput\n items={[\n {\n id: '1',\n label: 'Opci\xF3n 1'\n },\n {\n id: '2',\n label: 'Opci\xF3n 2'\n },\n {\n disabled: true,\n id: '3',\n label: 'Opci\xF3n 3'\n }\n ]}\n name=\"CheckboxList\"\n onChange={(event) => handleChange(event.target.name, event.target.value)}\n size=\"lg\"\n title=\"Selecciona una opci\xF3n\"\n type=\"checkbox\"\n />\n ```\n";
11
+ export var checkboxInputExample = " \n Versi\xF3n con una sola opci\xF3n tipo checkbox y un label personalizado:\n \n ```typescript\n const [checked, setChecked] = React.useState(false)\n <CheckboxInput\n name=\"Toggle\"\n checked={checked}\n onChange={setChecked}\n label={\"Amazon\"}\n title={locale('syncStockFromChannel')}\n />\n ```\n";
12
+ export var searcherExample = " \n Note la diferencia entre onChange y onInputChange (oficia de onSearch):\n \n ```typescript\n <Searcher\n label=\"Search label\"\n name=\"Searcher\"\n onChange={(event) => onSelectOption(event.target.value)}\n onInputChange={(event) => handleSearch(event.target.value)}\n options={[{ label: 'text', value: 1 }]}\n />\n ```\n";
13
+ export var saveBarExample = "\n #### Uso b\xE1sico\n ```typescript\n <SaveBar\n saveProps={{\n onSave: () => handleSave(),\n label: 'Save'\n }}\n cancelProps={{\n onCancel: () => handleCancel(),\n label: 'Cancel'\n }}\n />\n ```\n #### Con bot\xF3n de navegaci\xF3n\n ```typescript\n <SaveBar\n saveProps={{\n onSave: () => handleSave(),\n label: 'Save',\n variant: 'primary'\n }}\n cancelProps={{\n onCancel: () => handleCancel(),\n label: 'Cancel'\n }}\n previousProps={{\n onPrevious: () => handlePrevious(),\n label: 'Previous'\n }}\n />\n ```\n #### Ejemplo completo\n ```typescript\n <SaveBar\n saveProps={{\n onSave: () => handleSave(),\n label: 'Guardar cambios',\n variant: 'success',\n disabled: false,\n onClick: () => {},\n }}\n cancelProps={{\n onCancel: () => handleCancel(),\n label: 'Descartar',\n }}\n previousProps={{\n onPrevious: () => handlePrevious(),\n label: 'Anterior',\n variant: 'primary',\n outline: true,\n disabled: false,\n onClick: () => console.log('Previous clicked'),\n }}\n />\n ```\n";
14
+ export var checkboxInputReduxFormExample = "\n #### Ejemplo de uso con Redux Form - CheckboxInput\n \n ```typescript\n <Field\n name=\"salesSync\"\n component={CheckboxInput}\n classComponent={'decrease-stock'}\n props={{\n name: 'cancelSales',\n value: this.salesSync().cancelSales,\n checked: this.salesSync().cancelSales,\n label: this.context.localize('settings.cancelSales')\n }}\n />\n ```\n";
15
+ export var breadcrumbItemFormat = "\n ## Formato de BreadcrumbItem\n\n El componente Breadcrumb acepta un array de objetos `BreadcrumbItem` con las siguientes propiedades:\n\n ### Propiedades disponibles:\n\n - **`text`** (string, requerido): El texto que se muestra para el item del breadcrumb\n - **`onClick`** (function, opcional): Funci\xF3n que se ejecuta al hacer click en el item\n - **`isActive`** (boolean, opcional): Indica si el item est\xE1 activo. Por defecto, el \xFAltimo item se considera activo\n - **`href`** (string, opcional): URL del enlace (actualmente no implementado en el renderizado)\n\n ### Comportamiento:\n\n - Los items con `onClick` se renderizan como botones clickeables\n - Los items sin `onClick` se renderizan como texto est\xE1tico\n - El \xFAltimo item siempre se considera activo (a menos que se especifique `isActive: true` en otro item)\n - Cada item se separa autom\xE1ticamente con el s\xEDmbolo \">\"\n\n ### Ejemplo de uso:\n\n ```tsx\n const breadcrumbItems = [\n { text: 'Dashboard' },\n { text: 'Productos', onClick: () => navigate('/products') },\n { text: 'Detalles', isActive: true }\n ]\n\n <Breadcrumb items={breadcrumbItems} />\n ```\n";