react-ecosistema-unp 1.0.0-pre-release.1 → 1.0.0-pre-release.4

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/README.md CHANGED
@@ -1 +1,52 @@
1
- # Librería React para el Ecosistema de Información de la UNP
1
+ # Librería React para el Ecosistema de Información de la UNP
2
+
3
+ <span align="center">
4
+ <a href="https://www.npmjs.com/package/react-ecosistema-unp"><img title="npm version" src="https://badgen.net/npm/v/react-ecosistema-unp?label=latest"></a>
5
+ <a href="https://www.npmjs.com/package/react-ecosistema-unp"><img title="npm version" src="https://badgen.net/npm/v/react-ecosistema-unp?label=pre"></a>
6
+ </span>
7
+
8
+ La Librería del Ecosistema de Información es una colección de componentes reutilizables y modulares para crear y gestionar el entorno digital de la Unidad Nacional de Protección. Esta librería proporciona componentes para facilitar la integración de diversas funcionalidades dentro de las aplicaciones del ecosistema.
9
+
10
+
11
+ ### Migración
12
+
13
+ Todos los proyectos que utilizan la librería [eco-unp](https://www.npmjs.com/package/eco-unp) deben realizar la migración a [react-ecosistema-unp](https://www.npmjs.com/package/react-ecosistema-unp). Para ello deben seguir los siguientes pasos:
14
+ * Desinstalar eco-unp: ```npm uninstall eco-unp```
15
+ * Cambiar el Module Resolution en los proyectos React TS a *bundler* ```"moduleResolution": "bundler"```
16
+ * Instalar la última versión de react-ecosistema-unp: ```npm install react-ecosistema-unp@latest```
17
+ * Realizar el cambio en las siguientes importaciones:
18
+ ```tsx
19
+ import { AuthProvider } from 'eco-unp/Utils'; -> import { AuthProvider } from 'react-ecosistema-unp/utils';
20
+ import { UserRoute, ProtectedRoute } from 'eco-unp/Utils'; -> import { ProtectedRoute, UserRoute } from 'react-ecosistema-unp/utils';
21
+
22
+ import { VentanaLienzo } from 'eco-unp/Ui'; -> import { VentanaLienzo } from 'react-ecosistema-unp/shared';
23
+ import { VentanaUsuario } from 'eco-unp/Ui'; -> import { VentanaTabs } from 'react-ecosistema-unp/shared';
24
+ import { TabVentana } from 'eco-unp/Ui'; -> import { VentanaTabs } from 'react-ecosistema-unp/shared';
25
+
26
+ import { SubtituloForm } from 'eco-unp/Ui'; -> import { Subtitulo } from "react-ecosistema-unp/ui";
27
+
28
+ import { CardForm } from 'eco-unp/Ui'; -> import { Tarjeta } from 'react-ecosistema-unp/cards';
29
+
30
+ import { BootstrapTable } from 'eco-unp/Tables'; -> import { TablaRegistros } from 'react-ecosistema-unp/tables';
31
+ ```
32
+
33
+ > El componente Subtitulo cambia el prop subtitulo a subtitle
34
+
35
+
36
+ ## Instalación
37
+
38
+ ```bash
39
+ npm install react-ecosistema-unp@latest
40
+ ```
41
+ > Nota: El Module Resolution del proyecto debe ser *bundler* para su correcto funcionamiento
42
+ ```json
43
+ "moduleResolution": "bundler"
44
+ ```
45
+
46
+
47
+ ## Uso
48
+
49
+ * [Elementos UI](docs/ui.md)
50
+ * [Tarjetas](docs/cards.md)
51
+ * [Tabla y modal](docs/table.md)
52
+ * [Utilidades](docs/utils.md)
@@ -1 +1 @@
1
- .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:flex-end;align-items:center;transition:opacity .4s ease;opacity:0;visibility:hidden;z-index:1000}.modal-overlay.show{opacity:1;visibility:visible}.modal-overlay.hide{opacity:0;visibility:none}.modal-container{width:42%;height:95vh;background:#fff;box-shadow:0 4px 8px #0003;position:relative;transform:translate(100%);transition:transform .4s ease,opacity .4s ease;border-radius:12px;margin:1.75em}.modal-container.show{transform:translate(0);opacity:1}.modal-container.hide{transform:translate(100%);opacity:0}@media (max-width: 1920px){.modal-container{width:40%!important}}@media (max-width: 1800px){.modal-container{width:42.5%!important}}@media (max-width: 1650px){.modal-container{width:45%!important}}@media (max-width: 1500px){.modal-container{width:50%!important}}@media (max-width: 1425px){.modal-container{width:55%!important}}@media (max-width: 1275px){.modal-container{width:57.5%!important}}@media (max-width: 1150px){.modal-container{width:60%!important}}@media (max-width: 992px){.modal-container{width:70%!important}}@media (max-width: 768px){.modal-container{width:80%!important}}.modal_header{display:flex;justify-content:space-between;align-items:center;padding:10px 30px;background-color:#303d50;color:#fff;font-weight:500;font-size:16px;border-radius:12px 12px 0 0}.modal_body{padding:1rem;height:calc(100% - 56px);border-radius:0 0 12px 12px;overflow-y:auto}.close_button{background:none;border:none;font-size:1.5em;cursor:pointer;color:#fff}.close_button:hover{color:#d36269}.unp-row-subtitle{margin-bottom:4rem}.modal_subtitle_container{display:flex;gap:.5rem;font-size:18px;font-weight:400;align-items:center}.modal_body::-webkit-scrollbar{width:10px}.modal_body::-webkit-scrollbar-track{background:transparent}.modal_body::-webkit-scrollbar-thumb{background-color:#303d50;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
1
+ .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:flex-end;align-items:center;transition:opacity .4s ease;opacity:0;visibility:hidden;z-index:1000}.modal-overlay.show{opacity:1;visibility:visible}.modal-overlay.hide{opacity:0;visibility:none}.modal-container{width:42%;height:95vh;background:#fff;box-shadow:0 4px 8px #0003;position:relative;transform:translate(100%);transition:transform .4s ease,opacity .4s ease;border-radius:12px;margin:1.75em}.modal-container.show{transform:translate(0);opacity:1}.modal-container.hide{transform:translate(100%);opacity:0}@media (max-width: 1920px){.modal-container{width:40%!important}}@media (max-width: 1800px){.modal-container{width:42.5%!important}}@media (max-width: 1650px){.modal-container{width:45%!important}}@media (max-width: 1500px){.modal-container{width:50%!important}}@media (max-width: 1425px){.modal-container{width:55%!important}}@media (max-width: 1275px){.modal-container{width:57.5%!important}}@media (max-width: 1150px){.modal-container{width:60%!important}}@media (max-width: 992px){.modal-container{width:70%!important}}@media (max-width: 768px){.modal-container{width:80%!important}}.modal_header{display:flex;justify-content:space-between;align-items:center;padding:10px 30px;background-color:#303d50;color:#fff;font-weight:500;font-size:16px;border-radius:12px 12px 0 0}.modal_body{padding:1.25rem 1.75rem 1rem;height:calc(100% - 56px);border-radius:0 0 12px 12px;overflow-y:auto}.close_button{background:none;border:none;font-size:1.5em;cursor:pointer;color:#fff}.close_button:hover{color:#d36269}.unp-row-subtitle{margin-bottom:4rem}.modal_subtitle_container{display:flex;gap:.5rem;font-size:18px;font-weight:400;align-items:center}.modal_body::-webkit-scrollbar{width:10px}.modal_body::-webkit-scrollbar-track{background:transparent}.modal_body::-webkit-scrollbar-thumb{background-color:#303d50;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
@@ -1,23 +1,24 @@
1
1
  import { jsxs as p, jsx as s } from "react/jsx-runtime";
2
2
  import e from "react";
3
3
  import '../../assets/Bootstrap.css';import '../../assets/Tarjeta.css';/* empty css */
4
- import { C, a as j } from "../../Card-BXqmurzN.js";
4
+ import { C as j, a as g } from "../../Card-BXqmurzN.js";
5
5
  import { C as S } from "../../CardBody-RoDe1y90.js";
6
- import { B as g } from "../../Button-DMwpnJlD.js";
7
- const x = {
6
+ import { B as x } from "../../Button-DMwpnJlD.js";
7
+ const N = {
8
8
  marginBottom: "20px",
9
9
  width: "100px"
10
- }, v = ({
10
+ }, V = ({
11
11
  title: m,
12
- header: a,
12
+ header: a = !1,
13
13
  children: n,
14
- method: i,
14
+ method: i = "get",
15
15
  validated: d = !1,
16
- onSubmit: c
16
+ onSubmit: c,
17
+ hasPaddingTop: y = !0
17
18
  }) => {
18
- const r = e.Children.toArray(n), y = r[0] && e.isValidElement(r[0]) && r[0].type.displayName === "Subtitulo", o = r.filter(
19
+ const r = e.Children.toArray(n), f = r[0] && e.isValidElement(r[0]) && r[0].type.displayName === "Subtitulo", o = r.filter(
19
20
  (t) => e.isValidElement(t) && t.type.displayName === "SeccionTarjeta"
20
- ), f = o.length > 0, u = e.Children.map(n, (t, l) => e.isValidElement(t) && t.type.displayName === "SeccionTarjeta" ? e.cloneElement(t, {
21
+ ), u = o.length > 0, C = e.Children.map(n, (t, l) => e.isValidElement(t) && t.type.displayName === "SeccionTarjeta" ? e.cloneElement(t, {
21
22
  isGray: t.props.isGray ?? l % 2 === 1,
22
23
  isLast: t.props.isLast ?? l === o.length - 1
23
24
  }) : t);
@@ -29,15 +30,15 @@ const x = {
29
30
  onSubmit: c,
30
31
  className: d ? "was-validated" : "",
31
32
  children: [
32
- /* @__PURE__ */ p(C, { className: "border-0 tarjeta-unp", children: [
33
+ /* @__PURE__ */ p(j, { className: "border-0 tarjeta-unp", children: [
33
34
  /* @__PURE__ */ s(
34
- j,
35
+ g,
35
36
  {
36
37
  className: "bg-unp text-light tarjeta-header-unp",
37
38
  style: {
38
39
  paddingTop: "1rem",
39
40
  paddingBottom: "1rem",
40
- fontSize: a ? "1.1rem" : "1.075rem",
41
+ fontSize: a ? "1.125rem" : "1.075rem",
41
42
  fontWeight: a ? 500 : "",
42
43
  display: a ? "flex" : "",
43
44
  justifyContent: a ? "center" : ""
@@ -45,13 +46,13 @@ const x = {
45
46
  children: m
46
47
  }
47
48
  ),
48
- f ? u : /* @__PURE__ */ s(S, { className: `${y ? "pt-0" : ""}`, children: n })
49
+ u ? C : /* @__PURE__ */ s(S, { className: `${f || !y ? "pt-0" : ""}`, children: n })
49
50
  ] }),
50
- i === "POST" || i === "post" && /* @__PURE__ */ s("div", { style: { display: "flex", justifyContent: "end" }, children: /* @__PURE__ */ s(g, { variant: "unp_send", style: x, type: "submit", children: "Enviar" }) })
51
+ i === "post" && /* @__PURE__ */ s("div", { style: { display: "flex", justifyContent: "end" }, children: /* @__PURE__ */ s(x, { variant: "unp_send", style: N, type: "submit", children: "Enviar" }) })
51
52
  ]
52
53
  }
53
54
  );
54
55
  };
55
56
  export {
56
- v as Tarjeta
57
+ V as Tarjeta
57
58
  };
@@ -1,12 +1,16 @@
1
- import { jsxs as n, Fragment as d, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as d, Fragment as l, jsx as r } from "react/jsx-runtime";
2
2
  import i from "react";
3
- import '../../../assets/SeccionTarjetaLectura.css';const o = ({ title: a, children: t }) => {
4
- const e = i.Children.toArray(t), s = e[0] && i.isValidElement(e[0]) && e[0].type.displayName === "Subtitulo";
5
- return /* @__PURE__ */ n(d, { children: [
3
+ import '../../../assets/SeccionTarjetaLectura.css';const c = ({
4
+ title: a,
5
+ children: t,
6
+ hasPaddingTop: s = !0
7
+ }) => {
8
+ const e = i.Children.toArray(t), n = e[0] && i.isValidElement(e[0]) && e[0].type.displayName === "Subtitulo";
9
+ return /* @__PURE__ */ d(l, { children: [
6
10
  /* @__PURE__ */ r("div", { className: "section_header_qy", children: /* @__PURE__ */ r("span", { children: a }) }),
7
- /* @__PURE__ */ r("div", { style: { padding: `${s ? "0rem" : "1.25rem"} 1.25rem 1.25rem 1.25rem` }, children: t })
11
+ /* @__PURE__ */ r("div", { style: { padding: `${n || !s ? "0rem" : "1.25rem"} 1.25rem 1.25rem 1.25rem` }, children: t })
8
12
  ] });
9
13
  };
10
14
  export {
11
- o as SeccionTarjetaLectura
15
+ c as SeccionTarjetaLectura
12
16
  };
@@ -1,11 +1,13 @@
1
1
  import { default as React } from 'react';
2
+ type MethodType = 'get' | 'post' | 'put';
2
3
  interface TarjetaProps {
3
4
  title: string;
4
5
  header?: boolean;
5
6
  children: React.ReactNode;
6
- method?: string;
7
+ method?: MethodType;
7
8
  validated?: boolean;
8
9
  onSubmit?: (...args: any[]) => any;
10
+ hasPaddingTop?: boolean;
9
11
  }
10
12
  declare const Tarjeta: React.FC<TarjetaProps>;
11
13
  export { Tarjeta };
@@ -1,6 +1,7 @@
1
1
  import { default as React } from 'react';
2
+ import { IconType } from 'react-icons';
2
3
  interface TarjetaInfoProps {
3
- icon: any;
4
+ icon: IconType;
4
5
  label: string;
5
6
  children: React.ReactNode;
6
7
  show?: boolean;
@@ -2,6 +2,7 @@ import { default as React } from 'react';
2
2
  interface SeccionTarjetaLecturaProps {
3
3
  title: string;
4
4
  children: React.ReactNode;
5
+ hasPaddingTop?: boolean;
5
6
  }
6
7
  declare const SeccionTarjetaLectura: React.FC<SeccionTarjetaLecturaProps>;
7
8
  export { SeccionTarjetaLectura };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "react-ecosistema-unp",
3
3
  "author": "Ecosistema de Información - Unidad Nacional de Protección",
4
4
  "private": false,
5
- "version": "1.0.0-pre-release.1",
5
+ "version": "1.0.0-pre-release.4",
6
6
  "type": "module",
7
7
  "exports": {
8
8
  ".": {