@zauru-sdk/components 2.0.46 → 2.0.48
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/CHANGELOG.md +16 -0
- package/dist/Alerts/ComponentError/index.d.ts +4 -0
- package/dist/Alerts/index.d.ts +1 -0
- package/dist/DynamicTable/GenericDynamicTable.d.ts +2 -0
- package/dist/Layouts/errorLayout/index.d.ts +2 -1
- package/dist/SidePanel/index.d.ts +2 -2
- package/dist/esm/Alerts/ComponentError/index.js +6 -0
- package/dist/esm/Alerts/index.js +1 -0
- package/dist/esm/DynamicTable/GenericDynamicTable.js +183 -173
- package/dist/esm/Form/SelectField/index.js +7 -17
- package/dist/esm/Layouts/errorLayout/index.js +7 -3
- package/dist/esm/SidePanel/index.js +1 -2
- package/package.json +3 -3
- package/src/Alerts/ComponentError/index.tsx +48 -0
- package/src/Alerts/index.ts +1 -0
- package/src/DynamicTable/GenericDynamicTable.tsx +388 -368
- package/src/Form/SelectField/index.tsx +7 -18
- package/src/Layouts/errorLayout/index.tsx +28 -3
- package/src/SidePanel/index.tsx +1 -3
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
|
|
3
|
+
export const ComponentError = ({
|
|
4
|
+
error,
|
|
5
|
+
componentName = "",
|
|
6
|
+
}: {
|
|
7
|
+
error: Error;
|
|
8
|
+
componentName?: string;
|
|
9
|
+
}) => {
|
|
10
|
+
const [isDetailsOpen, setIsDetailsOpen] = useState(true);
|
|
11
|
+
return (
|
|
12
|
+
<div
|
|
13
|
+
className="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative"
|
|
14
|
+
role="alert"
|
|
15
|
+
>
|
|
16
|
+
<strong className="font-bold">¡Error!</strong>
|
|
17
|
+
<span className="block sm:inline">
|
|
18
|
+
Ocurrió un problema al cargar el componente
|
|
19
|
+
{componentName ? `: "${componentName}"` : ""}.
|
|
20
|
+
</span>
|
|
21
|
+
<button
|
|
22
|
+
onClick={() => setIsDetailsOpen(!isDetailsOpen)}
|
|
23
|
+
className="mt-2 text-sm underline cursor-pointer"
|
|
24
|
+
>
|
|
25
|
+
{isDetailsOpen ? "Ocultar detalles" : "Ver detalles del error"}
|
|
26
|
+
</button>
|
|
27
|
+
{isDetailsOpen && (
|
|
28
|
+
<div className="mt-2 text-sm">
|
|
29
|
+
<strong>Detalles del error:</strong>
|
|
30
|
+
<pre className="mt-1 whitespace-pre-wrap">
|
|
31
|
+
{error instanceof Error ? error.message : String(error)}
|
|
32
|
+
</pre>
|
|
33
|
+
</div>
|
|
34
|
+
)}
|
|
35
|
+
<span className="absolute top-0 bottom-0 right-0 px-4 py-3">
|
|
36
|
+
<svg
|
|
37
|
+
className="fill-current h-6 w-6 text-red-500"
|
|
38
|
+
role="button"
|
|
39
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
+
viewBox="0 0 20 20"
|
|
41
|
+
>
|
|
42
|
+
<title>Cerrar</title>
|
|
43
|
+
<path d="M14.348 14.849a1.2 1.2 0 0 1-1.697 0L10 11.819l-2.651 3.029a1.2 1.2 0 1 1-1.697-1.697l2.758-3.15-2.759-3.152a1.2 1.2 0 1 1 1.697-1.697L10 8.183l2.651-3.031a1.2 1.2 0 1 1 1.697 1.697l-2.758 3.152 2.758 3.15a1.2 1.2 0 0 1 0 1.698z" />
|
|
44
|
+
</svg>
|
|
45
|
+
</span>
|
|
46
|
+
</div>
|
|
47
|
+
);
|
|
48
|
+
};
|
package/src/Alerts/index.ts
CHANGED