@yeverlibs/ds 1.1.13 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -14
- package/dist/index.d.ts +1 -14
- package/dist/index.js +448 -610
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +448 -610
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,21 +6,19 @@ var React107 = require('react');
|
|
|
6
6
|
var navigation = require('next/navigation');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
var tw5 = require('tailwind-styled-components');
|
|
9
|
-
var
|
|
9
|
+
var Image3 = require('next/image');
|
|
10
10
|
var ReactDOM = require('react-dom');
|
|
11
|
-
var sonner = require('sonner');
|
|
12
|
-
var cache = require('next/cache');
|
|
13
|
-
var headers = require('next/headers');
|
|
14
|
-
var Cookies = require('js-cookie');
|
|
15
11
|
var Select = require('react-select');
|
|
16
12
|
var dateFns = require('date-fns');
|
|
17
13
|
var locale = require('date-fns/locale');
|
|
18
14
|
var reactHookForm = require('react-hook-form');
|
|
19
15
|
var Link2 = require('next/link');
|
|
20
16
|
var framerMotion = require('framer-motion');
|
|
17
|
+
var sonner = require('sonner');
|
|
21
18
|
var bar = require('@nivo/bar');
|
|
22
19
|
var line = require('@nivo/line');
|
|
23
20
|
var pie = require('@nivo/pie');
|
|
21
|
+
var Cookies = require('js-cookie');
|
|
24
22
|
var currency = require('currency.js');
|
|
25
23
|
|
|
26
24
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -45,11 +43,11 @@ function _interopNamespace(e) {
|
|
|
45
43
|
|
|
46
44
|
var React107__namespace = /*#__PURE__*/_interopNamespace(React107);
|
|
47
45
|
var tw5__default = /*#__PURE__*/_interopDefault(tw5);
|
|
48
|
-
var
|
|
46
|
+
var Image3__default = /*#__PURE__*/_interopDefault(Image3);
|
|
49
47
|
var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
|
|
50
|
-
var Cookies__default = /*#__PURE__*/_interopDefault(Cookies);
|
|
51
48
|
var Select__default = /*#__PURE__*/_interopDefault(Select);
|
|
52
49
|
var Link2__default = /*#__PURE__*/_interopDefault(Link2);
|
|
50
|
+
var Cookies__default = /*#__PURE__*/_interopDefault(Cookies);
|
|
53
51
|
var currency__default = /*#__PURE__*/_interopDefault(currency);
|
|
54
52
|
|
|
55
53
|
// src/lib/utils.ts
|
|
@@ -3435,7 +3433,7 @@ var Avatar = ({ name, src, size = "large", className }) => {
|
|
|
3435
3433
|
size === "xlarge" && "h-[44px] min-w-[44px]",
|
|
3436
3434
|
className
|
|
3437
3435
|
),
|
|
3438
|
-
children: src ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3436
|
+
children: src ? /* @__PURE__ */ jsxRuntime.jsx(Image3__default.default, { src, alt: name || "Avatar", layout: "fill", className: "object-cover" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("font-medium text-white", size === "small" && "text-xs", size === "large" && "text-2xl"), children: getInitials(name) }) })
|
|
3439
3437
|
}
|
|
3440
3438
|
);
|
|
3441
3439
|
};
|
|
@@ -3960,603 +3958,142 @@ var CheckboxGroup = ({
|
|
|
3960
3958
|
] });
|
|
3961
3959
|
};
|
|
3962
3960
|
var checkbox_group_default = CheckboxGroup;
|
|
3963
|
-
var
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3961
|
+
var DropdownContext = React107.createContext({
|
|
3962
|
+
isOpen: false,
|
|
3963
|
+
toggleDropdown: () => void 0,
|
|
3964
|
+
closeDropdown: () => void 0
|
|
3965
|
+
});
|
|
3966
|
+
var DropdownContainer = ({ children, ...props }) => {
|
|
3967
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "relative", ...props, children });
|
|
3968
|
+
};
|
|
3969
|
+
var ButtonAction = ({ children, ...props }) => {
|
|
3970
|
+
const context = React107.useContext(DropdownContext);
|
|
3971
|
+
if (!context) {
|
|
3972
|
+
throw new Error("Button must be used within a ButtonTrigger");
|
|
3973
|
+
}
|
|
3974
|
+
const { toggleDropdown } = context;
|
|
3975
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3976
|
+
Button,
|
|
3977
|
+
{
|
|
3978
|
+
$variant: "tertiary",
|
|
3979
|
+
className: "hover:bg-transparent min-h-8 min-w-8 border-none p-0",
|
|
3980
|
+
onClick: toggleDropdown,
|
|
3981
|
+
...props,
|
|
3982
|
+
children
|
|
3976
3983
|
}
|
|
3977
|
-
|
|
3984
|
+
);
|
|
3985
|
+
};
|
|
3986
|
+
var DropdownContent = ({ children, ...props }) => {
|
|
3987
|
+
const { className } = props;
|
|
3988
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...props, className: cn("absolute right-0 overflow-x-hidden !p-0", className), children });
|
|
3989
|
+
};
|
|
3990
|
+
var DropdownContentHeader = ({ children, ...props }) => {
|
|
3991
|
+
const { className } = props;
|
|
3992
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: cn("border-b border-gray-300", className), children });
|
|
3993
|
+
};
|
|
3994
|
+
var DropdownContentFooter = ({ children, ...props }) => {
|
|
3995
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, children });
|
|
3996
|
+
};
|
|
3997
|
+
var DropdownTrigger = ({ children, ...props }) => {
|
|
3998
|
+
const [isOpen, setIsOpen] = React107.useState(false);
|
|
3999
|
+
const containerRef = React107.useRef(null);
|
|
4000
|
+
const toggleDropdown = () => {
|
|
4001
|
+
setIsOpen((prev) => !prev);
|
|
4002
|
+
};
|
|
4003
|
+
const closeDropdown = () => {
|
|
4004
|
+
setIsOpen(false);
|
|
4005
|
+
};
|
|
3978
4006
|
React107.useEffect(() => {
|
|
3979
|
-
const
|
|
3980
|
-
if (
|
|
3981
|
-
|
|
4007
|
+
const handleClickOutside = (event) => {
|
|
4008
|
+
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
4009
|
+
closeDropdown();
|
|
3982
4010
|
}
|
|
3983
4011
|
};
|
|
3984
|
-
|
|
4012
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
3985
4013
|
return () => {
|
|
3986
|
-
|
|
4014
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
3987
4015
|
};
|
|
3988
|
-
}, [
|
|
3989
|
-
|
|
3990
|
-
const portalContainer = document.getElementById("portal-root");
|
|
3991
|
-
if (!portalContainer) return null;
|
|
3992
|
-
return ReactDOM__default.default.createPortal(
|
|
3993
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3994
|
-
"div",
|
|
3995
|
-
{
|
|
3996
|
-
className: cn(
|
|
3997
|
-
"fixed inset-0 z-[60] flex items-center justify-center",
|
|
3998
|
-
isOpen ? "opacity-100" : "opacity-0",
|
|
3999
|
-
isVisible ? "pointer-events-auto" : "pointer-events-none",
|
|
4000
|
-
"transition-opacity duration-300 md:mx-auto",
|
|
4001
|
-
className
|
|
4002
|
-
),
|
|
4003
|
-
children: [
|
|
4004
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 bg-black bg-opacity-50", onClick: onClose }),
|
|
4005
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4006
|
-
"div",
|
|
4007
|
-
{
|
|
4008
|
-
className: cn(
|
|
4009
|
-
"shadow-lg z-10 w-full transform overflow-hidden rounded-lg bg-white transition-transform duration-300",
|
|
4010
|
-
isOpen ? "scale-100" : "scale-95",
|
|
4011
|
-
className ? className : "max-w-lg"
|
|
4012
|
-
),
|
|
4013
|
-
style: { margin: "1rem" },
|
|
4014
|
-
children
|
|
4015
|
-
}
|
|
4016
|
-
)
|
|
4017
|
-
]
|
|
4018
|
-
}
|
|
4019
|
-
),
|
|
4020
|
-
portalContainer
|
|
4021
|
-
);
|
|
4016
|
+
}, [containerRef]);
|
|
4017
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownContext.Provider, { value: { isOpen, toggleDropdown, closeDropdown }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: containerRef, className: "relative w-full", ...props, children }) });
|
|
4022
4018
|
};
|
|
4023
|
-
var
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4019
|
+
var DrowpdownButton = {
|
|
4020
|
+
Container: DropdownContainer,
|
|
4021
|
+
Button: ButtonAction,
|
|
4022
|
+
Content: DropdownContent,
|
|
4023
|
+
Header: DropdownContentHeader,
|
|
4024
|
+
Footer: DropdownContentFooter
|
|
4025
|
+
};
|
|
4026
|
+
var DropdownItens = ({ items }) => {
|
|
4027
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex w-full min-w-[230px] flex-col justify-end p-0 shadow-base", children: items.map((item, index) => {
|
|
4028
|
+
const isFirst = index === 0;
|
|
4029
|
+
const isLast = index === items.length - 1;
|
|
4030
|
+
const borderRadiusClass = isFirst ? "rounded-t-md" : isLast ? "rounded-b-md" : "!rounded-none";
|
|
4031
|
+
return React107__namespace.default.cloneElement(item, {
|
|
4032
|
+
className: `${item.props.className} ${borderRadiusClass} border-b border-gray-200`,
|
|
4033
|
+
key: index
|
|
4034
|
+
});
|
|
4035
|
+
}) });
|
|
4036
|
+
};
|
|
4037
|
+
var FeedbackBadge = ({
|
|
4038
|
+
children,
|
|
4039
|
+
$variant,
|
|
4040
|
+
customClassName,
|
|
4041
|
+
tagColor,
|
|
4042
|
+
tagTextColor,
|
|
4043
|
+
...props
|
|
4044
|
+
}) => {
|
|
4045
|
+
const { onClick } = props;
|
|
4046
|
+
const inlineStyles = {
|
|
4047
|
+
backgroundColor: tagColor,
|
|
4048
|
+
color: tagTextColor,
|
|
4049
|
+
borderColor: tagColor
|
|
4050
|
+
};
|
|
4051
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4052
|
+
"div",
|
|
4027
4053
|
{
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4054
|
+
className: cn(
|
|
4055
|
+
"flex w-fit items-center justify-center rounded border px-2 py-1 text-xs font-medium",
|
|
4056
|
+
onClick && "cursor-pointer",
|
|
4057
|
+
customClassName,
|
|
4058
|
+
{
|
|
4059
|
+
"border-green-100 bg-green-0 text-green-800": $variant === "success",
|
|
4060
|
+
"border-orange-100 bg-orange-0 text-orange-800": $variant === "warning",
|
|
4061
|
+
"border-yellow-600 bg-orange-0 text-orange-100": $variant === "risk",
|
|
4062
|
+
"border-red-100 bg-red-0 text-red-800": $variant === "error",
|
|
4063
|
+
"border-gray-300 bg-gray-0 text-black": $variant === "default",
|
|
4064
|
+
"cursor-pointer border-orange-1000 bg-orange-1000 font-bold text-white": $variant === "ribbon"
|
|
4065
|
+
}
|
|
4066
|
+
),
|
|
4067
|
+
onClick,
|
|
4068
|
+
style: inlineStyles,
|
|
4069
|
+
...props,
|
|
4070
|
+
children
|
|
4033
4071
|
}
|
|
4034
|
-
)
|
|
4035
|
-
] });
|
|
4036
|
-
var ModalContent = ({ children, className = "" }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-8 py-6", className), children });
|
|
4037
|
-
var ModalFooter = ({ children, className = "" }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex border-t border-gray-300 px-6 py-4", className), children });
|
|
4038
|
-
var Modal = {
|
|
4039
|
-
Container: ModalContainer,
|
|
4040
|
-
Header: ModalHeader,
|
|
4041
|
-
Content: ModalContent,
|
|
4042
|
-
Footer: ModalFooter
|
|
4043
|
-
};
|
|
4044
|
-
|
|
4045
|
-
// src/_design-system/typography/heading/styles.ts
|
|
4046
|
-
var headingStyles = {
|
|
4047
|
-
h1: "text-2xl font-semibold text-black",
|
|
4048
|
-
h2: "text-lg font-semibold text-black",
|
|
4049
|
-
h3: "text-lg font-semibold text-black",
|
|
4050
|
-
h4: "text-base font-semibold text-black",
|
|
4051
|
-
h5: "text-sm font-semibold text-black",
|
|
4052
|
-
h6: ""
|
|
4072
|
+
);
|
|
4053
4073
|
};
|
|
4054
|
-
var
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4074
|
+
var FilterListContext = React107.createContext({
|
|
4075
|
+
isOpen: false,
|
|
4076
|
+
toggleDropdown: () => void 0,
|
|
4077
|
+
closeDropdown: () => void 0
|
|
4078
|
+
});
|
|
4079
|
+
var FilterContainer = ({ children }) => {
|
|
4080
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full p-0", children });
|
|
4059
4081
|
};
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
var textStyles = {
|
|
4063
|
-
p: "text-base font-normal text-gray-600",
|
|
4064
|
-
span: "text-sm font-medium text-gray-600",
|
|
4065
|
-
div: "",
|
|
4066
|
-
small: "text-sm font-normal text-gray-600",
|
|
4067
|
-
label: "text-sm font-medium text-gray-600"
|
|
4082
|
+
var FilterHeader = ({ children }) => {
|
|
4083
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between rounded-t-lg border-b border-gray-300 bg-gray-0 p-4", children });
|
|
4068
4084
|
};
|
|
4069
|
-
var
|
|
4070
|
-
|
|
4071
|
-
className: cn(textStyles[Tag], className),
|
|
4072
|
-
...props
|
|
4073
|
-
};
|
|
4074
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Tag, { ...elementProps, children });
|
|
4085
|
+
var FilterContent = ({ children }) => {
|
|
4086
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { id: "select-filters", className: "z-10 flex max-h-[280px] flex-col gap-4 overflow-y-auto p-6", children });
|
|
4075
4087
|
};
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
let message = null;
|
|
4086
|
-
if (customAction) {
|
|
4087
|
-
result = await customAction();
|
|
4088
|
-
message = successMessages?.custom || "";
|
|
4089
|
-
} else {
|
|
4090
|
-
if (id) {
|
|
4091
|
-
if (updateAction) {
|
|
4092
|
-
result = await updateAction();
|
|
4093
|
-
message = successMessages?.update || "";
|
|
4094
|
-
}
|
|
4095
|
-
} else {
|
|
4096
|
-
if (createAction) {
|
|
4097
|
-
result = await createAction();
|
|
4098
|
-
message = successMessages?.create || "";
|
|
4099
|
-
}
|
|
4100
|
-
}
|
|
4101
|
-
}
|
|
4102
|
-
if (result && typeof result === "object") {
|
|
4103
|
-
const errorData = result.props?.error || result.error;
|
|
4104
|
-
if (errorData) {
|
|
4105
|
-
if (errorData?.status === 422 && errorData?.errors) {
|
|
4106
|
-
Object.values(errorData.errors).forEach((errorMessages) => {
|
|
4107
|
-
if (Array.isArray(errorMessages)) {
|
|
4108
|
-
errorMessages.forEach((message2) => {
|
|
4109
|
-
if (message2.trim()) {
|
|
4110
|
-
sonner.toast.error(message2.trim());
|
|
4111
|
-
}
|
|
4112
|
-
});
|
|
4113
|
-
} else if (typeof errorMessages === "string") {
|
|
4114
|
-
sonner.toast.error(errorMessages);
|
|
4115
|
-
}
|
|
4116
|
-
});
|
|
4117
|
-
return null;
|
|
4118
|
-
}
|
|
4119
|
-
if (errorData?.message) {
|
|
4120
|
-
sonner.toast.error(errorData.message);
|
|
4121
|
-
return null;
|
|
4122
|
-
}
|
|
4123
|
-
}
|
|
4124
|
-
}
|
|
4125
|
-
if (message) {
|
|
4126
|
-
sonner.toast.success(message);
|
|
4127
|
-
}
|
|
4128
|
-
if (onSuccess) {
|
|
4129
|
-
onSuccess(result);
|
|
4130
|
-
}
|
|
4131
|
-
return result;
|
|
4132
|
-
}
|
|
4133
|
-
async function getCsrfToken() {
|
|
4134
|
-
const baseURL = process.env.NEXT_PUBLIC_API_URL ?? "http://api.yever.local";
|
|
4135
|
-
const response = await fetch(`${baseURL}/sanctum/csrf-cookie`, {
|
|
4136
|
-
credentials: "include",
|
|
4137
|
-
headers: {
|
|
4138
|
-
"X-Requested-With": "XMLHttpRequest"
|
|
4139
|
-
}
|
|
4140
|
-
});
|
|
4141
|
-
if (!response.ok) {
|
|
4142
|
-
throw new Error("Falha ao obter token CSRF");
|
|
4143
|
-
}
|
|
4144
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
4145
|
-
}
|
|
4146
|
-
async function apiFetch(options) {
|
|
4147
|
-
const baseURL = process.env.NEXT_PUBLIC_API_URL ?? "";
|
|
4148
|
-
const isAbsolute = /^https?:\/\//i.test(options.url);
|
|
4149
|
-
const url = isAbsolute ? options.url : `${baseURL}${options.url}`;
|
|
4150
|
-
const method = (options.method ?? "GET").toString().toLowerCase();
|
|
4151
|
-
const needsCSRFToken = ["post", "put", "delete"].includes(method);
|
|
4152
|
-
const hasCSRFCookie = Cookies__default.default.get("XSRF-TOKEN");
|
|
4153
|
-
if (needsCSRFToken && !hasCSRFCookie) {
|
|
4154
|
-
await getCsrfToken();
|
|
4155
|
-
}
|
|
4156
|
-
const defaultHeaders = {
|
|
4157
|
-
"X-Requested-With": "XMLHttpRequest",
|
|
4158
|
-
Accept: "application/json"
|
|
4159
|
-
};
|
|
4160
|
-
if (!(options.body instanceof FormData)) {
|
|
4161
|
-
defaultHeaders["Content-Type"] = "application/json";
|
|
4162
|
-
}
|
|
4163
|
-
const finalHeaders = new Headers(defaultHeaders);
|
|
4164
|
-
if (options.headers) {
|
|
4165
|
-
if (options.headers instanceof Headers) {
|
|
4166
|
-
options.headers.forEach((v, k) => finalHeaders.set(k, v));
|
|
4167
|
-
} else {
|
|
4168
|
-
Object.entries(options.headers).forEach(([k, v]) => {
|
|
4169
|
-
if (v !== void 0) finalHeaders.set(k, v);
|
|
4170
|
-
});
|
|
4171
|
-
}
|
|
4172
|
-
}
|
|
4173
|
-
const csrfToken = Cookies__default.default.get("XSRF-TOKEN");
|
|
4174
|
-
if (csrfToken) {
|
|
4175
|
-
finalHeaders.set("X-XSRF-TOKEN", csrfToken);
|
|
4176
|
-
}
|
|
4177
|
-
let finalOptions = options;
|
|
4178
|
-
if (options.body) {
|
|
4179
|
-
finalOptions = {
|
|
4180
|
-
...options,
|
|
4181
|
-
body: options.body instanceof FormData ? options.body : JSON.stringify(options.body)
|
|
4182
|
-
};
|
|
4183
|
-
}
|
|
4184
|
-
let response = await fetch(url, {
|
|
4185
|
-
credentials: "include",
|
|
4186
|
-
headers: finalHeaders,
|
|
4187
|
-
...finalOptions
|
|
4188
|
-
});
|
|
4189
|
-
if (response.status === 419) {
|
|
4190
|
-
Cookies__default.default.remove("XSRF-TOKEN");
|
|
4191
|
-
await getCsrfToken();
|
|
4192
|
-
const newToken = Cookies__default.default.get("XSRF-TOKEN");
|
|
4193
|
-
if (newToken) {
|
|
4194
|
-
finalHeaders.set("X-XSRF-TOKEN", newToken);
|
|
4195
|
-
}
|
|
4196
|
-
response = await fetch(url, {
|
|
4197
|
-
credentials: "include",
|
|
4198
|
-
headers: finalHeaders,
|
|
4199
|
-
...options
|
|
4200
|
-
});
|
|
4201
|
-
if (!response.ok) {
|
|
4202
|
-
Cookies__default.default.remove("XSRF-TOKEN");
|
|
4203
|
-
Cookies__default.default.remove("yeverClientUser");
|
|
4204
|
-
window.location.href = "/login";
|
|
4205
|
-
return Promise.reject(new Error("CSRF token expirado"));
|
|
4206
|
-
}
|
|
4207
|
-
}
|
|
4208
|
-
const headers2 = {};
|
|
4209
|
-
response.headers.forEach((value, key) => {
|
|
4210
|
-
headers2[key] = value;
|
|
4211
|
-
});
|
|
4212
|
-
if (!response.ok) {
|
|
4213
|
-
const data2 = await response.json().catch(() => null);
|
|
4214
|
-
const errorMessage = typeof data2 === "object" && data2 !== null && "message" in data2 ? data2.message : "Request failed";
|
|
4215
|
-
const error = new Error(errorMessage);
|
|
4216
|
-
error.status = response.status;
|
|
4217
|
-
error.response = {
|
|
4218
|
-
data: data2,
|
|
4219
|
-
status: response.status
|
|
4220
|
-
};
|
|
4221
|
-
throw error;
|
|
4222
|
-
}
|
|
4223
|
-
let data = null;
|
|
4224
|
-
if (options.responseType === "blob") {
|
|
4225
|
-
data = await response.blob().catch(() => null);
|
|
4226
|
-
} else {
|
|
4227
|
-
data = await response.json().catch(() => null);
|
|
4228
|
-
}
|
|
4229
|
-
return {
|
|
4230
|
-
status: response.status,
|
|
4231
|
-
statusText: response.statusText,
|
|
4232
|
-
data,
|
|
4233
|
-
headers: headers2
|
|
4234
|
-
};
|
|
4235
|
-
}
|
|
4236
|
-
|
|
4237
|
-
// src/utils/parse-parameters-into-url/index.tsx
|
|
4238
|
-
var parseParametersIntoUrl = (url, query, filtersAllowed) => {
|
|
4239
|
-
let urlFiltered = url;
|
|
4240
|
-
for (const key in query) {
|
|
4241
|
-
if (query && Object.keys(query).length > 0) {
|
|
4242
|
-
urlFiltered = urlFiltered.replace(`/${key}/`, `/${query[key]}/`);
|
|
4243
|
-
urlFiltered = urlFiltered.replace(`/${key}`, `/${query[key]}`);
|
|
4244
|
-
if (filtersAllowed && filtersAllowed.includes(key)) {
|
|
4245
|
-
if (urlFiltered.includes("?")) {
|
|
4246
|
-
if (key === "searchNew") {
|
|
4247
|
-
urlFiltered = urlFiltered + `&${key}=${atob(query[key])}`;
|
|
4248
|
-
} else {
|
|
4249
|
-
urlFiltered = urlFiltered + `&${key}=${query[key]}`;
|
|
4250
|
-
}
|
|
4251
|
-
} else {
|
|
4252
|
-
if (key === "searchNew") {
|
|
4253
|
-
urlFiltered = urlFiltered + `?${key}=${atob(query[key])}`;
|
|
4254
|
-
} else {
|
|
4255
|
-
urlFiltered = urlFiltered + `?${key}=${query[key]}`;
|
|
4256
|
-
}
|
|
4257
|
-
}
|
|
4258
|
-
}
|
|
4259
|
-
}
|
|
4260
|
-
}
|
|
4261
|
-
return urlFiltered;
|
|
4262
|
-
};
|
|
4263
|
-
|
|
4264
|
-
// src/lib/fetch-server-side/index.ts
|
|
4265
|
-
var fetchServerSide = async ({
|
|
4266
|
-
urlRequest,
|
|
4267
|
-
parseData,
|
|
4268
|
-
filtersAllowed,
|
|
4269
|
-
method = "GET",
|
|
4270
|
-
body
|
|
4271
|
-
}) => {
|
|
4272
|
-
"use server";
|
|
4273
|
-
try {
|
|
4274
|
-
const headersObject = Object.fromEntries((await headers.headers()).entries());
|
|
4275
|
-
const searchParams = new URLSearchParams(headersObject.referer ? new URL(headersObject.referer).search : "");
|
|
4276
|
-
const query = Array.from(searchParams.entries()).reduce((acc, [key, value]) => {
|
|
4277
|
-
acc[key] = value;
|
|
4278
|
-
return acc;
|
|
4279
|
-
}, {});
|
|
4280
|
-
const url = parseParametersIntoUrl(urlRequest, query, filtersAllowed);
|
|
4281
|
-
const origin = headersObject.host;
|
|
4282
|
-
const cookie = headersObject.cookie;
|
|
4283
|
-
const xsrfToken = cookie?.match(/XSRF-TOKEN=([^;]+)/)?.[1];
|
|
4284
|
-
const requestHeaders = {
|
|
4285
|
-
Cookie: cookie,
|
|
4286
|
-
origin
|
|
4287
|
-
};
|
|
4288
|
-
if (xsrfToken) {
|
|
4289
|
-
requestHeaders["X-XSRF-TOKEN"] = decodeURIComponent(xsrfToken);
|
|
4290
|
-
}
|
|
4291
|
-
let pagination;
|
|
4292
|
-
const res = await apiFetch({
|
|
4293
|
-
url,
|
|
4294
|
-
method,
|
|
4295
|
-
body,
|
|
4296
|
-
headers: requestHeaders,
|
|
4297
|
-
cache: "no-store"
|
|
4298
|
-
});
|
|
4299
|
-
if (res?.data && typeof res.data === "object" && "paginate" in res.data) {
|
|
4300
|
-
pagination = res.data.paginate;
|
|
4301
|
-
}
|
|
4302
|
-
const parsedData = parseData ? parseData(res) : res;
|
|
4303
|
-
return {
|
|
4304
|
-
props: {
|
|
4305
|
-
pagination,
|
|
4306
|
-
data: parsedData
|
|
4307
|
-
}
|
|
4308
|
-
};
|
|
4309
|
-
} catch (error) {
|
|
4310
|
-
const apiError = error;
|
|
4311
|
-
switch (apiError.response?.status) {
|
|
4312
|
-
case 401:
|
|
4313
|
-
navigation.redirect("/login");
|
|
4314
|
-
case 403:
|
|
4315
|
-
return {
|
|
4316
|
-
props: {
|
|
4317
|
-
error: {
|
|
4318
|
-
status: 403,
|
|
4319
|
-
message: "Voc\xEA n\xE3o tem permiss\xE3o para executar essa a\xE7\xE3o",
|
|
4320
|
-
errors: {}
|
|
4321
|
-
},
|
|
4322
|
-
data: null
|
|
4323
|
-
}
|
|
4324
|
-
};
|
|
4325
|
-
case 404:
|
|
4326
|
-
return {
|
|
4327
|
-
props: {
|
|
4328
|
-
error: {
|
|
4329
|
-
status: 404,
|
|
4330
|
-
message: apiError.response.data?.message || "Recurso n\xE3o encontrado",
|
|
4331
|
-
errors: apiError.response?.data?.errors || {}
|
|
4332
|
-
},
|
|
4333
|
-
data: null
|
|
4334
|
-
}
|
|
4335
|
-
};
|
|
4336
|
-
case 422:
|
|
4337
|
-
return {
|
|
4338
|
-
props: {
|
|
4339
|
-
error: {
|
|
4340
|
-
status: 422,
|
|
4341
|
-
message: apiError.response.data?.message || "Erro de valida\xE7\xE3o",
|
|
4342
|
-
errors: apiError.response?.data?.errors
|
|
4343
|
-
}
|
|
4344
|
-
}
|
|
4345
|
-
};
|
|
4346
|
-
case 500:
|
|
4347
|
-
return {
|
|
4348
|
-
props: {
|
|
4349
|
-
error: {
|
|
4350
|
-
status: 500,
|
|
4351
|
-
message: apiError.response.data?.message || "Ocorreu um erro durante o processamento dessa requisi\xE7\xE3o. A Yever foi notificada e estamos atuando para sanar o problema.",
|
|
4352
|
-
errors: {}
|
|
4353
|
-
}
|
|
4354
|
-
}
|
|
4355
|
-
};
|
|
4356
|
-
default:
|
|
4357
|
-
if (apiError.response?.data?.errors || apiError.response?.data?.message) {
|
|
4358
|
-
return {
|
|
4359
|
-
props: {
|
|
4360
|
-
error: {
|
|
4361
|
-
status: apiError.response.status,
|
|
4362
|
-
message: apiError.response.data?.message,
|
|
4363
|
-
errors: apiError.response.data?.errors
|
|
4364
|
-
}
|
|
4365
|
-
}
|
|
4366
|
-
};
|
|
4367
|
-
}
|
|
4368
|
-
navigation.redirect("/500");
|
|
4369
|
-
}
|
|
4370
|
-
}
|
|
4371
|
-
};
|
|
4372
|
-
|
|
4373
|
-
// src/_design-system/delete-modal/_actions/index.ts
|
|
4374
|
-
async function deleteFunc(endpoint, location) {
|
|
4375
|
-
const response = await fetchServerSide({
|
|
4376
|
-
urlRequest: endpoint,
|
|
4377
|
-
method: "DELETE"
|
|
4378
|
-
});
|
|
4379
|
-
cache.revalidatePath(location);
|
|
4380
|
-
return response;
|
|
4381
|
-
}
|
|
4382
|
-
var DeleteModal = ({
|
|
4383
|
-
isModalOpen,
|
|
4384
|
-
setIsModalOpen,
|
|
4385
|
-
endpoint,
|
|
4386
|
-
successMessage,
|
|
4387
|
-
location,
|
|
4388
|
-
title,
|
|
4389
|
-
message,
|
|
4390
|
-
onSuccess
|
|
4391
|
-
}) => {
|
|
4392
|
-
const [loading, setLoading] = React107.useState(false);
|
|
4393
|
-
const router = navigation.useRouter();
|
|
4394
|
-
const handleSubmit = async () => {
|
|
4395
|
-
setLoading(true);
|
|
4396
|
-
await handleFormSubmission({
|
|
4397
|
-
customAction: () => deleteFunc(endpoint, location),
|
|
4398
|
-
successMessages: {
|
|
4399
|
-
custom: successMessage || "Item deletado com sucesso"
|
|
4400
|
-
},
|
|
4401
|
-
onSuccess: () => {
|
|
4402
|
-
setIsModalOpen(false);
|
|
4403
|
-
if (onSuccess) {
|
|
4404
|
-
onSuccess();
|
|
4405
|
-
} else {
|
|
4406
|
-
router.push(location);
|
|
4407
|
-
}
|
|
4408
|
-
}
|
|
4409
|
-
});
|
|
4410
|
-
setLoading(false);
|
|
4411
|
-
};
|
|
4412
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Modal.Container, { isOpen: isModalOpen, onClose: () => setIsModalOpen(false), className: "max-w-[590px]", children: [
|
|
4413
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Modal.Header, { onClose: () => setIsModalOpen(false), children: [
|
|
4414
|
-
/* @__PURE__ */ jsxRuntime.jsx(Image4__default.default, { src: "/images/modal-delete-icon.svg", alt: "Secure", width: 40, height: 40 }),
|
|
4415
|
-
/* @__PURE__ */ jsxRuntime.jsx(Heading, { $as: "h3", children: title })
|
|
4416
|
-
] }),
|
|
4417
|
-
/* @__PURE__ */ jsxRuntime.jsx(Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxRuntime.jsx(Text, { $as: "p", children: message }) }) }),
|
|
4418
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Modal.Footer, { className: "flex items-center justify-end gap-4", children: [
|
|
4419
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { $variant: "tertiary", onClick: () => setIsModalOpen(false), className: "w-fit", disabled: loading, children: "Cancelar" }),
|
|
4420
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { className: "w-fit", $variant: "warning", onClick: handleSubmit, disabled: loading, $isLoading: loading, children: "Remover" })
|
|
4421
|
-
] })
|
|
4422
|
-
] });
|
|
4423
|
-
};
|
|
4424
|
-
var DropdownContext = React107.createContext({
|
|
4425
|
-
isOpen: false,
|
|
4426
|
-
toggleDropdown: () => void 0,
|
|
4427
|
-
closeDropdown: () => void 0
|
|
4428
|
-
});
|
|
4429
|
-
var DropdownContainer = ({ children, ...props }) => {
|
|
4430
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "relative", ...props, children });
|
|
4431
|
-
};
|
|
4432
|
-
var ButtonAction = ({ children, ...props }) => {
|
|
4433
|
-
const context = React107.useContext(DropdownContext);
|
|
4434
|
-
if (!context) {
|
|
4435
|
-
throw new Error("Button must be used within a ButtonTrigger");
|
|
4436
|
-
}
|
|
4437
|
-
const { toggleDropdown } = context;
|
|
4438
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4439
|
-
Button,
|
|
4440
|
-
{
|
|
4441
|
-
$variant: "tertiary",
|
|
4442
|
-
className: "hover:bg-transparent min-h-8 min-w-8 border-none p-0",
|
|
4443
|
-
onClick: toggleDropdown,
|
|
4444
|
-
...props,
|
|
4445
|
-
children
|
|
4446
|
-
}
|
|
4447
|
-
);
|
|
4448
|
-
};
|
|
4449
|
-
var DropdownContent = ({ children, ...props }) => {
|
|
4450
|
-
const { className } = props;
|
|
4451
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...props, className: cn("absolute right-0 overflow-x-hidden !p-0", className), children });
|
|
4452
|
-
};
|
|
4453
|
-
var DropdownContentHeader = ({ children, ...props }) => {
|
|
4454
|
-
const { className } = props;
|
|
4455
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: cn("border-b border-gray-300", className), children });
|
|
4456
|
-
};
|
|
4457
|
-
var DropdownContentFooter = ({ children, ...props }) => {
|
|
4458
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, children });
|
|
4459
|
-
};
|
|
4460
|
-
var DropdownTrigger = ({ children, ...props }) => {
|
|
4461
|
-
const [isOpen, setIsOpen] = React107.useState(false);
|
|
4462
|
-
const containerRef = React107.useRef(null);
|
|
4463
|
-
const toggleDropdown = () => {
|
|
4464
|
-
setIsOpen((prev) => !prev);
|
|
4465
|
-
};
|
|
4466
|
-
const closeDropdown = () => {
|
|
4467
|
-
setIsOpen(false);
|
|
4468
|
-
};
|
|
4469
|
-
React107.useEffect(() => {
|
|
4470
|
-
const handleClickOutside = (event) => {
|
|
4471
|
-
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
4472
|
-
closeDropdown();
|
|
4473
|
-
}
|
|
4474
|
-
};
|
|
4475
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
4476
|
-
return () => {
|
|
4477
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
4478
|
-
};
|
|
4479
|
-
}, [containerRef]);
|
|
4480
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownContext.Provider, { value: { isOpen, toggleDropdown, closeDropdown }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: containerRef, className: "relative w-full", ...props, children }) });
|
|
4481
|
-
};
|
|
4482
|
-
var DrowpdownButton = {
|
|
4483
|
-
Container: DropdownContainer,
|
|
4484
|
-
Button: ButtonAction,
|
|
4485
|
-
Content: DropdownContent,
|
|
4486
|
-
Header: DropdownContentHeader,
|
|
4487
|
-
Footer: DropdownContentFooter
|
|
4488
|
-
};
|
|
4489
|
-
var DropdownItens = ({ items }) => {
|
|
4490
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex w-full min-w-[230px] flex-col justify-end p-0 shadow-base", children: items.map((item, index) => {
|
|
4491
|
-
const isFirst = index === 0;
|
|
4492
|
-
const isLast = index === items.length - 1;
|
|
4493
|
-
const borderRadiusClass = isFirst ? "rounded-t-md" : isLast ? "rounded-b-md" : "!rounded-none";
|
|
4494
|
-
return React107__namespace.default.cloneElement(item, {
|
|
4495
|
-
className: `${item.props.className} ${borderRadiusClass} border-b border-gray-200`,
|
|
4496
|
-
key: index
|
|
4497
|
-
});
|
|
4498
|
-
}) });
|
|
4499
|
-
};
|
|
4500
|
-
var FeedbackBadge = ({
|
|
4501
|
-
children,
|
|
4502
|
-
$variant,
|
|
4503
|
-
customClassName,
|
|
4504
|
-
tagColor,
|
|
4505
|
-
tagTextColor,
|
|
4506
|
-
...props
|
|
4507
|
-
}) => {
|
|
4508
|
-
const { onClick } = props;
|
|
4509
|
-
const inlineStyles = {
|
|
4510
|
-
backgroundColor: tagColor,
|
|
4511
|
-
color: tagTextColor,
|
|
4512
|
-
borderColor: tagColor
|
|
4513
|
-
};
|
|
4514
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4515
|
-
"div",
|
|
4516
|
-
{
|
|
4517
|
-
className: cn(
|
|
4518
|
-
"flex w-fit items-center justify-center rounded border px-2 py-1 text-xs font-medium",
|
|
4519
|
-
onClick && "cursor-pointer",
|
|
4520
|
-
customClassName,
|
|
4521
|
-
{
|
|
4522
|
-
"border-green-100 bg-green-0 text-green-800": $variant === "success",
|
|
4523
|
-
"border-orange-100 bg-orange-0 text-orange-800": $variant === "warning",
|
|
4524
|
-
"border-yellow-600 bg-orange-0 text-orange-100": $variant === "risk",
|
|
4525
|
-
"border-red-100 bg-red-0 text-red-800": $variant === "error",
|
|
4526
|
-
"border-gray-300 bg-gray-0 text-black": $variant === "default",
|
|
4527
|
-
"cursor-pointer border-orange-1000 bg-orange-1000 font-bold text-white": $variant === "ribbon"
|
|
4528
|
-
}
|
|
4529
|
-
),
|
|
4530
|
-
onClick,
|
|
4531
|
-
style: inlineStyles,
|
|
4532
|
-
...props,
|
|
4533
|
-
children
|
|
4534
|
-
}
|
|
4535
|
-
);
|
|
4536
|
-
};
|
|
4537
|
-
var FilterListContext = React107.createContext({
|
|
4538
|
-
isOpen: false,
|
|
4539
|
-
toggleDropdown: () => void 0,
|
|
4540
|
-
closeDropdown: () => void 0
|
|
4541
|
-
});
|
|
4542
|
-
var FilterContainer = ({ children }) => {
|
|
4543
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full p-0", children });
|
|
4544
|
-
};
|
|
4545
|
-
var FilterHeader = ({ children }) => {
|
|
4546
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between rounded-t-lg border-b border-gray-300 bg-gray-0 p-4", children });
|
|
4547
|
-
};
|
|
4548
|
-
var FilterContent = ({ children }) => {
|
|
4549
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { id: "select-filters", className: "z-10 flex max-h-[280px] flex-col gap-4 overflow-y-auto p-6", children });
|
|
4550
|
-
};
|
|
4551
|
-
var FilterFooter = ({ children, className }) => {
|
|
4552
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4553
|
-
"div",
|
|
4554
|
-
{
|
|
4555
|
-
className: cn(
|
|
4556
|
-
"flex flex-col justify-between gap-3 rounded-b-lg border-t border-gray-300 bg-gray-0 p-4 px-6",
|
|
4557
|
-
className
|
|
4558
|
-
),
|
|
4559
|
-
children
|
|
4088
|
+
var FilterFooter = ({ children, className }) => {
|
|
4089
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4090
|
+
"div",
|
|
4091
|
+
{
|
|
4092
|
+
className: cn(
|
|
4093
|
+
"flex flex-col justify-between gap-3 rounded-b-lg border-t border-gray-300 bg-gray-0 p-4 px-6",
|
|
4094
|
+
className
|
|
4095
|
+
),
|
|
4096
|
+
children
|
|
4560
4097
|
}
|
|
4561
4098
|
);
|
|
4562
4099
|
};
|
|
@@ -5537,6 +5074,38 @@ var SlidingPanel = {
|
|
|
5537
5074
|
Footer: SlidingPanelFooter
|
|
5538
5075
|
};
|
|
5539
5076
|
|
|
5077
|
+
// src/_design-system/typography/heading/styles.ts
|
|
5078
|
+
var headingStyles = {
|
|
5079
|
+
h1: "text-2xl font-semibold text-black",
|
|
5080
|
+
h2: "text-lg font-semibold text-black",
|
|
5081
|
+
h3: "text-lg font-semibold text-black",
|
|
5082
|
+
h4: "text-base font-semibold text-black",
|
|
5083
|
+
h5: "text-sm font-semibold text-black",
|
|
5084
|
+
h6: ""
|
|
5085
|
+
};
|
|
5086
|
+
var Heading = ({ $as: Tag, children, className = "", tooltip }) => {
|
|
5087
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Tag, { className: cn(headingStyles[Tag], className, tooltip ? "flex items-center gap-2" : ""), children: [
|
|
5088
|
+
children,
|
|
5089
|
+
tooltip ? /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { text: tooltip }) : null
|
|
5090
|
+
] });
|
|
5091
|
+
};
|
|
5092
|
+
|
|
5093
|
+
// src/_design-system/typography/text/styles.ts
|
|
5094
|
+
var textStyles = {
|
|
5095
|
+
p: "text-base font-normal text-gray-600",
|
|
5096
|
+
span: "text-sm font-medium text-gray-600",
|
|
5097
|
+
div: "",
|
|
5098
|
+
small: "text-sm font-normal text-gray-600",
|
|
5099
|
+
label: "text-sm font-medium text-gray-600"
|
|
5100
|
+
};
|
|
5101
|
+
var Text = ({ $as: Tag, children, className = "", ...props }) => {
|
|
5102
|
+
const elementProps = {
|
|
5103
|
+
className: cn(textStyles[Tag], className),
|
|
5104
|
+
...props
|
|
5105
|
+
};
|
|
5106
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tag, { ...elementProps, children });
|
|
5107
|
+
};
|
|
5108
|
+
|
|
5540
5109
|
// src/utils/next-replace-url/index.ts
|
|
5541
5110
|
var nextReplaceUrl = (key, value, pathname) => {
|
|
5542
5111
|
const params = new URLSearchParams(window.location.search);
|
|
@@ -6113,6 +5682,87 @@ var Link4 = ({
|
|
|
6113
5682
|
}
|
|
6114
5683
|
);
|
|
6115
5684
|
};
|
|
5685
|
+
var ModalContainer = ({ isOpen, onClose, className, children }) => {
|
|
5686
|
+
const [isVisible, setIsVisible] = React107.useState(false);
|
|
5687
|
+
const [isMounted, setIsMounted] = React107.useState(false);
|
|
5688
|
+
React107.useEffect(() => {
|
|
5689
|
+
setIsMounted(true);
|
|
5690
|
+
}, []);
|
|
5691
|
+
React107.useEffect(() => {
|
|
5692
|
+
if (isOpen) {
|
|
5693
|
+
document.documentElement.classList.add("no-scroll-modal");
|
|
5694
|
+
setIsVisible(true);
|
|
5695
|
+
} else {
|
|
5696
|
+
document.documentElement.classList.remove("no-scroll-modal");
|
|
5697
|
+
setIsVisible(false);
|
|
5698
|
+
}
|
|
5699
|
+
}, [isOpen]);
|
|
5700
|
+
React107.useEffect(() => {
|
|
5701
|
+
const handleEsc = (event) => {
|
|
5702
|
+
if (event.key === "Escape") {
|
|
5703
|
+
onClose();
|
|
5704
|
+
}
|
|
5705
|
+
};
|
|
5706
|
+
window.addEventListener("keydown", handleEsc);
|
|
5707
|
+
return () => {
|
|
5708
|
+
window.removeEventListener("keydown", handleEsc);
|
|
5709
|
+
};
|
|
5710
|
+
}, [onClose]);
|
|
5711
|
+
if (!isMounted) return null;
|
|
5712
|
+
const portalContainer = document.getElementById("portal-root");
|
|
5713
|
+
if (!portalContainer) return null;
|
|
5714
|
+
return ReactDOM__default.default.createPortal(
|
|
5715
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5716
|
+
"div",
|
|
5717
|
+
{
|
|
5718
|
+
className: cn(
|
|
5719
|
+
"fixed inset-0 z-[60] flex items-center justify-center",
|
|
5720
|
+
isOpen ? "opacity-100" : "opacity-0",
|
|
5721
|
+
isVisible ? "pointer-events-auto" : "pointer-events-none",
|
|
5722
|
+
"transition-opacity duration-300 md:mx-auto",
|
|
5723
|
+
className
|
|
5724
|
+
),
|
|
5725
|
+
children: [
|
|
5726
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 bg-black bg-opacity-50", onClick: onClose }),
|
|
5727
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5728
|
+
"div",
|
|
5729
|
+
{
|
|
5730
|
+
className: cn(
|
|
5731
|
+
"shadow-lg z-10 w-full transform overflow-hidden rounded-lg bg-white transition-transform duration-300",
|
|
5732
|
+
isOpen ? "scale-100" : "scale-95",
|
|
5733
|
+
className ? className : "max-w-lg"
|
|
5734
|
+
),
|
|
5735
|
+
style: { margin: "1rem" },
|
|
5736
|
+
children
|
|
5737
|
+
}
|
|
5738
|
+
)
|
|
5739
|
+
]
|
|
5740
|
+
}
|
|
5741
|
+
),
|
|
5742
|
+
portalContainer
|
|
5743
|
+
);
|
|
5744
|
+
};
|
|
5745
|
+
var ModalHeader = ({ children, onClose, className = "" }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative flex items-center justify-between border-b border-gray-300 px-6 pb-4 pt-6", className), children: [
|
|
5746
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between gap-3", children }),
|
|
5747
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5748
|
+
Button,
|
|
5749
|
+
{
|
|
5750
|
+
onClick: onClose,
|
|
5751
|
+
$variant: "tertiary",
|
|
5752
|
+
className: "absolute right-4 top-4 w-auto border-none p-0",
|
|
5753
|
+
type: "button",
|
|
5754
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon_default, {})
|
|
5755
|
+
}
|
|
5756
|
+
)
|
|
5757
|
+
] });
|
|
5758
|
+
var ModalContent = ({ children, className = "" }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-8 py-6", className), children });
|
|
5759
|
+
var ModalFooter = ({ children, className = "" }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex border-t border-gray-300 px-6 py-4", className), children });
|
|
5760
|
+
var Modal = {
|
|
5761
|
+
Container: ModalContainer,
|
|
5762
|
+
Header: ModalHeader,
|
|
5763
|
+
Content: ModalContent,
|
|
5764
|
+
Footer: ModalFooter
|
|
5765
|
+
};
|
|
6116
5766
|
|
|
6117
5767
|
// src/_design-system/helpers/formatDateAndReturnPassedHours.ts
|
|
6118
5768
|
var formatDateAndReturnPassedHours = (date) => {
|
|
@@ -6123,7 +5773,7 @@ var formatDateAndReturnPassedHours = (date) => {
|
|
|
6123
5773
|
var NotificationItem = ({ user, message, date }) => {
|
|
6124
5774
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex cursor-pointer items-start gap-4 px-6 py-4 hover:bg-gray-0", children: [
|
|
6125
5775
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6126
|
-
|
|
5776
|
+
Image3__default.default,
|
|
6127
5777
|
{
|
|
6128
5778
|
src: "/images/yever-notification-avatar.svg",
|
|
6129
5779
|
width: 49,
|
|
@@ -6182,7 +5832,7 @@ var PaymentCard = ({
|
|
|
6182
5832
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-black", children: paymentDate })
|
|
6183
5833
|
] })
|
|
6184
5834
|
] }),
|
|
6185
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full justify-center sm:w-auto sm:justify-end", children: brand ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5835
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full justify-center sm:w-auto sm:justify-end", children: brand ? /* @__PURE__ */ jsxRuntime.jsx(Image3__default.default, { src: `/images/payments/${brand}.svg`, alt: "brand", width: 60, height: 47 }) : /* @__PURE__ */ jsxRuntime.jsx(Image3__default.default, { src: `/images/payments/others.svg`, alt: "brand", width: 60, height: 47 }) })
|
|
6186
5836
|
] });
|
|
6187
5837
|
};
|
|
6188
5838
|
var PreviewPhone = ({ children, cartPosition = "bottom", bodyColor }) => {
|
|
@@ -6739,7 +6389,7 @@ var TableContent = ({
|
|
|
6739
6389
|
rowIndex
|
|
6740
6390
|
)) : /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: columns.length + (selectable ? 1 : 0), style: { textAlign: "center" }, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-6", children: [
|
|
6741
6391
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6742
|
-
|
|
6392
|
+
Image3__default.default,
|
|
6743
6393
|
{
|
|
6744
6394
|
src: "/empty-table.svg",
|
|
6745
6395
|
width: 666,
|
|
@@ -6813,15 +6463,15 @@ var TableContent = ({
|
|
|
6813
6463
|
var Table = (props) => {
|
|
6814
6464
|
return /* @__PURE__ */ jsxRuntime.jsx(React107.Suspense, { fallback: null, children: /* @__PURE__ */ jsxRuntime.jsx(TableContent, { ...props }) });
|
|
6815
6465
|
};
|
|
6816
|
-
var Tabs = ({ headers
|
|
6466
|
+
var Tabs = ({ headers, children, noGap, active, alignDiv = "full" }) => {
|
|
6817
6467
|
const [activeTab, setActiveTab] = React107.useState(active || 0);
|
|
6818
|
-
const flattenHeaders = (
|
|
6819
|
-
if (Array.isArray(
|
|
6820
|
-
return
|
|
6468
|
+
const flattenHeaders = (headers2) => {
|
|
6469
|
+
if (Array.isArray(headers2[0])) {
|
|
6470
|
+
return headers2.flat();
|
|
6821
6471
|
}
|
|
6822
|
-
return
|
|
6472
|
+
return headers2;
|
|
6823
6473
|
};
|
|
6824
|
-
const flattenedHeaders = flattenHeaders(
|
|
6474
|
+
const flattenedHeaders = flattenHeaders(headers);
|
|
6825
6475
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col", noGap ? "" : "gap-4"), children: [
|
|
6826
6476
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 overflow-x-auto overflow-y-hidden border-b border-gray-300", children: flattenedHeaders.map((header, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6827
6477
|
"button",
|
|
@@ -7204,7 +6854,7 @@ var MultiSelect = ({
|
|
|
7204
6854
|
onSelect(newValue);
|
|
7205
6855
|
};
|
|
7206
6856
|
const formatOptionLabel = (option) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
|
|
7207
|
-
option.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mr-2 flex h-[24px] max-h-[24px] w-[24px] max-w-[24px] items-center justify-center rounded border border-gray-300", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6857
|
+
option.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mr-2 flex h-[24px] max-h-[24px] w-[24px] max-w-[24px] items-center justify-center rounded border border-gray-300", children: /* @__PURE__ */ jsxRuntime.jsx(Image3__default.default, { src: option.icon, alt: option.label, fill: true, className: "p-1", quality: 100 }) }),
|
|
7208
6858
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: option.label })
|
|
7209
6859
|
] });
|
|
7210
6860
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative w-full", className), children: [
|
|
@@ -7292,7 +6942,7 @@ var CustomSelect = ({
|
|
|
7292
6942
|
onSelect(option);
|
|
7293
6943
|
};
|
|
7294
6944
|
const formatOptionLabel = (option) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
|
|
7295
|
-
option.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mr-2 flex h-[24px] max-h-[24px] w-[24px] max-w-[24px] items-center justify-center rounded border border-gray-300", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6945
|
+
option.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mr-2 flex h-[24px] max-h-[24px] w-[24px] max-w-[24px] items-center justify-center rounded border border-gray-300", children: /* @__PURE__ */ jsxRuntime.jsx(Image3__default.default, { src: option.icon, alt: option.label, fill: true, className: "p-1", quality: 100 }) }),
|
|
7296
6946
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: option.label })
|
|
7297
6947
|
] });
|
|
7298
6948
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative w-full", className), children: [
|
|
@@ -8102,7 +7752,7 @@ function FileUploadComponent({
|
|
|
8102
7752
|
}
|
|
8103
7753
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex h-full w-full items-center justify-center", children: filePreview && isImagePreview(filePreview) ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8104
7754
|
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: `${name}-input`, className: "block h-full w-full cursor-pointer", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8105
|
-
|
|
7755
|
+
Image3__default.default,
|
|
8106
7756
|
{
|
|
8107
7757
|
src: filePreview,
|
|
8108
7758
|
alt: "Preview",
|
|
@@ -8129,7 +7779,7 @@ function FileUploadComponent({
|
|
|
8129
7779
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between gap-4 rounded-md border border-gray-200 bg-white p-4", children: [
|
|
8130
7780
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
8131
7781
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8132
|
-
|
|
7782
|
+
Image3__default.default,
|
|
8133
7783
|
{
|
|
8134
7784
|
src: isPdfFile ? "/icons/pdf.png" : "/icons/xlsx.png",
|
|
8135
7785
|
alt: "Preview",
|
|
@@ -8342,6 +7992,138 @@ var PieChart = ({
|
|
|
8342
7992
|
}
|
|
8343
7993
|
);
|
|
8344
7994
|
};
|
|
7995
|
+
async function getCsrfToken() {
|
|
7996
|
+
const baseURL = process.env.NEXT_PUBLIC_API_URL ?? "http://api.yever.local";
|
|
7997
|
+
const response = await fetch(`${baseURL}/sanctum/csrf-cookie`, {
|
|
7998
|
+
credentials: "include",
|
|
7999
|
+
headers: {
|
|
8000
|
+
"X-Requested-With": "XMLHttpRequest"
|
|
8001
|
+
}
|
|
8002
|
+
});
|
|
8003
|
+
if (!response.ok) {
|
|
8004
|
+
throw new Error("Falha ao obter token CSRF");
|
|
8005
|
+
}
|
|
8006
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
8007
|
+
}
|
|
8008
|
+
async function apiFetch(options) {
|
|
8009
|
+
const baseURL = process.env.NEXT_PUBLIC_API_URL ?? "";
|
|
8010
|
+
const isAbsolute = /^https?:\/\//i.test(options.url);
|
|
8011
|
+
const url = isAbsolute ? options.url : `${baseURL}${options.url}`;
|
|
8012
|
+
const method = (options.method ?? "GET").toString().toLowerCase();
|
|
8013
|
+
const needsCSRFToken = ["post", "put", "delete"].includes(method);
|
|
8014
|
+
const hasCSRFCookie = Cookies__default.default.get("XSRF-TOKEN");
|
|
8015
|
+
if (needsCSRFToken && !hasCSRFCookie) {
|
|
8016
|
+
await getCsrfToken();
|
|
8017
|
+
}
|
|
8018
|
+
const defaultHeaders = {
|
|
8019
|
+
"X-Requested-With": "XMLHttpRequest",
|
|
8020
|
+
Accept: "application/json"
|
|
8021
|
+
};
|
|
8022
|
+
if (!(options.body instanceof FormData)) {
|
|
8023
|
+
defaultHeaders["Content-Type"] = "application/json";
|
|
8024
|
+
}
|
|
8025
|
+
const finalHeaders = new Headers(defaultHeaders);
|
|
8026
|
+
if (options.headers) {
|
|
8027
|
+
if (options.headers instanceof Headers) {
|
|
8028
|
+
options.headers.forEach((v, k) => finalHeaders.set(k, v));
|
|
8029
|
+
} else {
|
|
8030
|
+
Object.entries(options.headers).forEach(([k, v]) => {
|
|
8031
|
+
if (v !== void 0) finalHeaders.set(k, v);
|
|
8032
|
+
});
|
|
8033
|
+
}
|
|
8034
|
+
}
|
|
8035
|
+
const csrfToken = Cookies__default.default.get("XSRF-TOKEN");
|
|
8036
|
+
if (csrfToken) {
|
|
8037
|
+
finalHeaders.set("X-XSRF-TOKEN", csrfToken);
|
|
8038
|
+
}
|
|
8039
|
+
let finalOptions = options;
|
|
8040
|
+
if (options.body) {
|
|
8041
|
+
finalOptions = {
|
|
8042
|
+
...options,
|
|
8043
|
+
body: options.body instanceof FormData ? options.body : JSON.stringify(options.body)
|
|
8044
|
+
};
|
|
8045
|
+
}
|
|
8046
|
+
let response = await fetch(url, {
|
|
8047
|
+
credentials: "include",
|
|
8048
|
+
headers: finalHeaders,
|
|
8049
|
+
...finalOptions
|
|
8050
|
+
});
|
|
8051
|
+
if (response.status === 419) {
|
|
8052
|
+
Cookies__default.default.remove("XSRF-TOKEN");
|
|
8053
|
+
await getCsrfToken();
|
|
8054
|
+
const newToken = Cookies__default.default.get("XSRF-TOKEN");
|
|
8055
|
+
if (newToken) {
|
|
8056
|
+
finalHeaders.set("X-XSRF-TOKEN", newToken);
|
|
8057
|
+
}
|
|
8058
|
+
response = await fetch(url, {
|
|
8059
|
+
credentials: "include",
|
|
8060
|
+
headers: finalHeaders,
|
|
8061
|
+
...options
|
|
8062
|
+
});
|
|
8063
|
+
if (!response.ok) {
|
|
8064
|
+
Cookies__default.default.remove("XSRF-TOKEN");
|
|
8065
|
+
Cookies__default.default.remove("yeverClientUser");
|
|
8066
|
+
window.location.href = "/login";
|
|
8067
|
+
return Promise.reject(new Error("CSRF token expirado"));
|
|
8068
|
+
}
|
|
8069
|
+
}
|
|
8070
|
+
const headers = {};
|
|
8071
|
+
response.headers.forEach((value, key) => {
|
|
8072
|
+
headers[key] = value;
|
|
8073
|
+
});
|
|
8074
|
+
if (!response.ok) {
|
|
8075
|
+
const data2 = await response.json().catch(() => null);
|
|
8076
|
+
const errorMessage = typeof data2 === "object" && data2 !== null && "message" in data2 ? data2.message : "Request failed";
|
|
8077
|
+
const error = new Error(errorMessage);
|
|
8078
|
+
error.status = response.status;
|
|
8079
|
+
error.response = {
|
|
8080
|
+
data: data2,
|
|
8081
|
+
status: response.status
|
|
8082
|
+
};
|
|
8083
|
+
throw error;
|
|
8084
|
+
}
|
|
8085
|
+
let data = null;
|
|
8086
|
+
if (options.responseType === "blob") {
|
|
8087
|
+
data = await response.blob().catch(() => null);
|
|
8088
|
+
} else {
|
|
8089
|
+
data = await response.json().catch(() => null);
|
|
8090
|
+
}
|
|
8091
|
+
return {
|
|
8092
|
+
status: response.status,
|
|
8093
|
+
statusText: response.statusText,
|
|
8094
|
+
data,
|
|
8095
|
+
headers
|
|
8096
|
+
};
|
|
8097
|
+
}
|
|
8098
|
+
|
|
8099
|
+
// src/utils/parse-parameters-into-url/index.tsx
|
|
8100
|
+
var parseParametersIntoUrl = (url, query, filtersAllowed) => {
|
|
8101
|
+
let urlFiltered = url;
|
|
8102
|
+
for (const key in query) {
|
|
8103
|
+
if (query && Object.keys(query).length > 0) {
|
|
8104
|
+
urlFiltered = urlFiltered.replace(`/${key}/`, `/${query[key]}/`);
|
|
8105
|
+
urlFiltered = urlFiltered.replace(`/${key}`, `/${query[key]}`);
|
|
8106
|
+
if (filtersAllowed && filtersAllowed.includes(key)) {
|
|
8107
|
+
if (urlFiltered.includes("?")) {
|
|
8108
|
+
if (key === "searchNew") {
|
|
8109
|
+
urlFiltered = urlFiltered + `&${key}=${atob(query[key])}`;
|
|
8110
|
+
} else {
|
|
8111
|
+
urlFiltered = urlFiltered + `&${key}=${query[key]}`;
|
|
8112
|
+
}
|
|
8113
|
+
} else {
|
|
8114
|
+
if (key === "searchNew") {
|
|
8115
|
+
urlFiltered = urlFiltered + `?${key}=${atob(query[key])}`;
|
|
8116
|
+
} else {
|
|
8117
|
+
urlFiltered = urlFiltered + `?${key}=${query[key]}`;
|
|
8118
|
+
}
|
|
8119
|
+
}
|
|
8120
|
+
}
|
|
8121
|
+
}
|
|
8122
|
+
}
|
|
8123
|
+
return urlFiltered;
|
|
8124
|
+
};
|
|
8125
|
+
|
|
8126
|
+
// src/hooks/use-fetch-client-side/index.tsx
|
|
8345
8127
|
var noopLoading = {
|
|
8346
8128
|
loadingActions: {
|
|
8347
8129
|
setLoading: () => {
|
|
@@ -8402,22 +8184,22 @@ function useFetchClientSide({
|
|
|
8402
8184
|
if (body instanceof FormData) {
|
|
8403
8185
|
delete configHeaders["Content-Type"];
|
|
8404
8186
|
}
|
|
8405
|
-
const
|
|
8187
|
+
const headers = {
|
|
8406
8188
|
"X-Requested-With": "XMLHttpRequest",
|
|
8407
8189
|
Accept: "application/json",
|
|
8408
8190
|
...configHeaders
|
|
8409
8191
|
};
|
|
8410
8192
|
if (body && !(body instanceof FormData)) {
|
|
8411
|
-
|
|
8193
|
+
headers["Content-Type"] = "application/json";
|
|
8412
8194
|
}
|
|
8413
8195
|
if (csrfToken) {
|
|
8414
|
-
|
|
8196
|
+
headers["X-XSRF-TOKEN"] = decodeURIComponent(csrfToken);
|
|
8415
8197
|
}
|
|
8416
8198
|
const response = await apiFetch({
|
|
8417
8199
|
url: customUrl || urlFiltered,
|
|
8418
8200
|
method: customMethod || method,
|
|
8419
8201
|
body,
|
|
8420
|
-
headers
|
|
8202
|
+
headers,
|
|
8421
8203
|
credentials: "include",
|
|
8422
8204
|
signal,
|
|
8423
8205
|
responseType: config?.responseType
|
|
@@ -10057,6 +9839,63 @@ var shadow = {
|
|
|
10057
9839
|
store: "0px 4px 8px 3px rgba(0, 0, 0, 0.04)"
|
|
10058
9840
|
};
|
|
10059
9841
|
var shadow_default = shadow;
|
|
9842
|
+
async function handleFormSubmission({
|
|
9843
|
+
id,
|
|
9844
|
+
createAction,
|
|
9845
|
+
updateAction,
|
|
9846
|
+
customAction,
|
|
9847
|
+
successMessages,
|
|
9848
|
+
onSuccess
|
|
9849
|
+
}) {
|
|
9850
|
+
let result = null;
|
|
9851
|
+
let message = null;
|
|
9852
|
+
if (customAction) {
|
|
9853
|
+
result = await customAction();
|
|
9854
|
+
message = successMessages?.custom || "";
|
|
9855
|
+
} else {
|
|
9856
|
+
if (id) {
|
|
9857
|
+
if (updateAction) {
|
|
9858
|
+
result = await updateAction();
|
|
9859
|
+
message = successMessages?.update || "";
|
|
9860
|
+
}
|
|
9861
|
+
} else {
|
|
9862
|
+
if (createAction) {
|
|
9863
|
+
result = await createAction();
|
|
9864
|
+
message = successMessages?.create || "";
|
|
9865
|
+
}
|
|
9866
|
+
}
|
|
9867
|
+
}
|
|
9868
|
+
if (result && typeof result === "object") {
|
|
9869
|
+
const errorData = result.props?.error || result.error;
|
|
9870
|
+
if (errorData) {
|
|
9871
|
+
if (errorData?.status === 422 && errorData?.errors) {
|
|
9872
|
+
Object.values(errorData.errors).forEach((errorMessages) => {
|
|
9873
|
+
if (Array.isArray(errorMessages)) {
|
|
9874
|
+
errorMessages.forEach((message2) => {
|
|
9875
|
+
if (message2.trim()) {
|
|
9876
|
+
sonner.toast.error(message2.trim());
|
|
9877
|
+
}
|
|
9878
|
+
});
|
|
9879
|
+
} else if (typeof errorMessages === "string") {
|
|
9880
|
+
sonner.toast.error(errorMessages);
|
|
9881
|
+
}
|
|
9882
|
+
});
|
|
9883
|
+
return null;
|
|
9884
|
+
}
|
|
9885
|
+
if (errorData?.message) {
|
|
9886
|
+
sonner.toast.error(errorData.message);
|
|
9887
|
+
return null;
|
|
9888
|
+
}
|
|
9889
|
+
}
|
|
9890
|
+
}
|
|
9891
|
+
if (message) {
|
|
9892
|
+
sonner.toast.success(message);
|
|
9893
|
+
}
|
|
9894
|
+
if (onSuccess) {
|
|
9895
|
+
onSuccess(result);
|
|
9896
|
+
}
|
|
9897
|
+
return result;
|
|
9898
|
+
}
|
|
10060
9899
|
var useCopyToClipboard = (successMessage) => {
|
|
10061
9900
|
const copyToClipboard = (initialText) => {
|
|
10062
9901
|
const textArea = document.createElement("textarea");
|
|
@@ -10114,7 +9953,6 @@ exports.CurrencyInput = CurrencyInput;
|
|
|
10114
9953
|
exports.CustomSelect = CustomSelect;
|
|
10115
9954
|
exports.Dashboard = Dashboard_default;
|
|
10116
9955
|
exports.DatePicker = datapicker_default;
|
|
10117
|
-
exports.DeleteModal = DeleteModal;
|
|
10118
9956
|
exports.Delivery = Delivery_default;
|
|
10119
9957
|
exports.Depoimentos = Depoimentos_default;
|
|
10120
9958
|
exports.Distribuicao = Distribuicao_default;
|