@votodigital-onpeui/react 0.1.5 → 0.1.8

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.
@@ -899,38 +899,46 @@ var ModalDnieVersions = ({
899
899
  ),
900
900
  /* @__PURE__ */ jsxs("section", { className: "flex flex-col gap-5 sm:gap-8 items-center mt-[18px] sm:mt-6 text-sm", children: [
901
901
  /* @__PURE__ */ jsxs("article", { className: "flex flex-col sm:flex-row items-center sm:items-start gap-10 w-full", children: [
902
- /* @__PURE__ */ jsxs("div", { className: "flex-1 w-full", children: [
902
+ /* @__PURE__ */ jsxs("div", { className: "w-[233px]", children: [
903
903
  /* @__PURE__ */ jsx("p", { className: "flex-1 mb-4", tabIndex: 0, children: /* @__PURE__ */ jsxs("span", { className: "font-bold", children: [
904
904
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "DNI electr\xF3nico versi\xF3n 1" }),
905
905
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "DNIe versi\xF3n 1" })
906
906
  ] }) }),
907
- /* @__PURE__ */ jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-5", children: [
907
+ /* @__PURE__ */ jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-8", children: [
908
908
  /* @__PURE__ */ jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxs("p", { tabIndex: 0, children: [
909
909
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Chip en la parte delantera del DNI electr\xF3nico." }),
910
910
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "Chip en la parte delantera del DNIe." })
911
911
  ] }) }),
912
912
  /* @__PURE__ */ jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxs("p", { tabIndex: 0, children: [
913
913
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Compatible solo con el lector del DNI electr\xF3nico en PC, Mac o laptop." }),
914
- /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "Compatible solo con el lector del DNIe en PC, Mac o laptop." })
914
+ /* @__PURE__ */ jsxs("span", { "aria-hidden": "true", children: [
915
+ "Compatible solo con el lector del DNIe en ",
916
+ /* @__PURE__ */ jsx("strong", { children: "PC, Mac o laptop" }),
917
+ "."
918
+ ] })
915
919
  ] }) })
916
920
  ] })
917
921
  ] }),
918
- /* @__PURE__ */ jsx("div", { className: "w-[240px] sm:w-[200px] relative", children: iconDnie1 })
922
+ /* @__PURE__ */ jsx("div", { className: "w-[240px] sm:w-[200px] relative flex justify-center", children: iconDnie1 })
919
923
  ] }),
920
924
  /* @__PURE__ */ jsxs("article", { className: "flex flex-col sm:flex-row items-center sm:items-start gap-10 sm:gap-[52px] w-full", children: [
921
- /* @__PURE__ */ jsxs("div", { className: "flex-1 w-full", children: [
925
+ /* @__PURE__ */ jsxs("div", { className: "w-[233px]", children: [
922
926
  /* @__PURE__ */ jsx("p", { className: "flex-1 mb-4", tabIndex: 0, children: /* @__PURE__ */ jsxs("span", { className: "font-bold", children: [
923
927
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "DNI electr\xF3nico versi\xF3n 2 y 3" }),
924
928
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "DNIe versi\xF3n 2 y 3" })
925
929
  ] }) }),
926
- /* @__PURE__ */ jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-5", children: [
930
+ /* @__PURE__ */ jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-8", children: [
927
931
  /* @__PURE__ */ jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxs("p", { tabIndex: 0, children: [
928
932
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Chip en la parte posterior del DNI electr\xF3nico." }),
929
933
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "Chip en la parte posterior del DNIe." })
930
934
  ] }) }),
931
935
  /* @__PURE__ */ jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxs("p", { tabIndex: 0, children: [
932
936
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Compatibles con el lector del DNI electr\xF3nico en PC, Mac o laptop y tecnolog\xEDa NFC (ISO 14443-B) en m\xF3viles." }),
933
- /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "Compatibles con el lector del DNIe en PC, Mac o laptop y tecnolog\xEDa NFC (ISO 14443-B) en m\xF3viles." })
937
+ /* @__PURE__ */ jsxs("span", { "aria-hidden": "true", children: [
938
+ "Compatibles con el lector del DNIe en ",
939
+ /* @__PURE__ */ jsx("strong", { children: " PC, Mac o laptop y tecnolog\xEDa NFC (ISO 14443-B) en m\xF3viles" }),
940
+ "."
941
+ ] })
934
942
  ] }) })
935
943
  ] })
936
944
  ] }),
@@ -994,7 +1002,7 @@ var ModalNfc = ({
994
1002
  /* @__PURE__ */ jsx("div", { className: "pl-3 w-full", children: /* @__PURE__ */ jsxs("ol", { role: "presentation", className: "text-sm text-justify list-decimal list-outside", children: [
995
1003
  /* @__PURE__ */ jsx("li", { role: "presentation", className: "mb-2", children: "Activa el NFC en tu celular." }),
996
1004
  /* @__PURE__ */ jsx("li", { role: "presentation", className: "mb-2", children: "Busca en internet d\xF3nde est\xE1 el lector NFC seg\xFAn tu modelo." }),
997
- /* @__PURE__ */ jsx("li", { role: "presentation", className: "mb-2", children: "Coloca tu DNIe sobre esa zona hasta que recibas una confirmaci\xF3n del sistema." }),
1005
+ /* @__PURE__ */ jsx("li", { role: "presentation", className: "mb-2", children: "Coloca tu DNIe sobre esa zona hasta que recibas la confirmaci\xF3n del sistema." }),
998
1006
  /* @__PURE__ */ jsx("li", { role: "presentation", className: "mb-2", children: 'Puedes consultar los videos "Aprende como leer tu DNIe con NFC":' })
999
1007
  ] }) }),
1000
1008
  /* @__PURE__ */ jsxs("div", { className: "flex flex-row gap-5 justify-center items-center", children: [
@@ -1034,5 +1042,5 @@ var ModalNfc = ({
1034
1042
  };
1035
1043
 
1036
1044
  export { BrowserRecommended, Button, Footer, Modal, ModalBrowserIncompatible, ModalConfirm, ModalDnieVersions, ModalLoading, ModalNfc, ModalSystemIncompatible, NotRecommended, Overlay, Portal, Show };
1037
- //# sourceMappingURL=chunk-RKC5OUWC.mjs.map
1038
- //# sourceMappingURL=chunk-RKC5OUWC.mjs.map
1045
+ //# sourceMappingURL=chunk-S4IO43AI.mjs.map
1046
+ //# sourceMappingURL=chunk-S4IO43AI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Button/Button.tsx","../src/components/BrowserRecommended/BrowserRecommended.tsx","../src/components/Footer/Footer.tsx","../src/components/Portal/Portal.tsx","../src/components/Overlay/Overlay.tsx","../src/components/Show/Show.tsx","../src/components/Modal/Modal.tsx","../src/components/ErrorHandling/ModalBrowserIncompatible/ModalBrowserIncompatible.tsx","../src/components/ErrorHandling/ModalSystemIncompatible/ModalSystemIncompatible.tsx","../src/components/ErrorHandling/NotRecommended/NotRecommended.tsx","../src/components/Feedback/ModalConfirm/ModalConfirm.tsx","../src/components/Feedback/ModalLoading/ModalLoading.tsx","../src/components/Feedback/ModalDnieVersions/ModalDnieVersions.tsx","../src/components/Feedback/ModalNfc/ModalNfc.tsx"],"names":["jsx","jsxs","colorClasses","Fragment","useState","useEffect","activeIndex"],"mappings":"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","file":"chunk-S4IO43AI.mjs","sourcesContent":["type ButtonColor =\n | \"blue\"\n | \"skyblue\"\n | \"skyblue-light\"\n | \"yellow\"\n | \"light-skyblue\"\n | \"gray\"\n | \"gray-light\"\n | \"gray-extra-light\"\n | \"red\"\n | \"dark-gray\"\n | \"green\"\n | \"yellow-light\"\n | \"primary\";\n\ntype ButtonSize = \"small\" | \"normal\" | \"large\";\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n color: ButtonColor;\n title: string;\n size?: ButtonSize;\n}\n\nconst colorClasses: Record<ButtonColor, string> = {\n blue: \"bg-onpe-blue\",\n skyblue: \"bg-onpe-skyblue\",\n \"skyblue-light\": \"bg-onpe-skyblue-light\",\n yellow: \"bg-onpe-yellow\",\n \"light-skyblue\": \"bg-onpe-light-skyblue\",\n gray: \"bg-onpe-gray\",\n \"gray-light\": \"bg-onpe-gray-light\",\n \"gray-extra-light\": \"bg-onpe-gray-extra-light\",\n red: \"bg-onpe-red\",\n \"dark-gray\": \"bg-onpe-dark-gray\",\n green: \"bg-onpe-green\",\n \"yellow-light\": \"bg-onpe-yellow-light\",\n primary: \"bg-onpe-blue\",\n};\n\nconst sizeClasses: Record<ButtonSize, string> = {\n small: \"h-10 text-sm\",\n normal: \"h-12 text-base\",\n large: \"h-14 text-lg\",\n};\n\nexport function Button({\n color,\n title,\n size = \"normal\",\n className = \"\",\n ...props\n}: ButtonProps) {\n return (\n <button\n className={[\n \"inline-flex items-center justify-center\",\n \"min-w-[200px] border-none\",\n \"text-white font-semibold cursor-pointer\",\n \"transition-all duration-300 ease-in-out\",\n \"disabled:cursor-default disabled:!bg-onpe-gray\",\n colorClasses[color],\n sizeClasses[size],\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {title}\n </button>\n );\n}\n\nexport default Button;\n","import { IconChrome } from \"../../icons/Browsers/IconChrome\";\r\nimport { IconSafari } from \"../../icons/Browsers/IconSafari\";\r\nimport { IconEdge } from \"../../icons/Browsers/IconEdge\";\r\n\r\nexport const BrowserRecommended = () => {\r\n return (\r\n <div className=\"flex flex-col lg:flex-row lg:py-2 items-center justify-center gap-6 py-3 pb-6 text-xs text-center text-onpe-blue bg-onpe-skyblue-light/15\">\r\n <p>Navegadores recomendados:</p>\r\n <ul className=\"flex gap-6 lg:gap-8\">\r\n <li className=\"flex items-center gap-2\">\r\n <IconChrome aria-hidden=\"true\" />\r\n <span className=\"sr-only\">Google Chrome</span>\r\n <p className=\"hidden md:block text-left\" aria-hidden=\"true\">\r\n Google Chrome\r\n </p>\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <IconSafari aria-hidden=\"true\" />\r\n <span className=\"sr-only\">Safari</span>\r\n <p className=\"hidden md:block text-left\" aria-hidden=\"true\">\r\n Safari\r\n </p>\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <IconEdge aria-hidden=\"true\" />\r\n <span className=\"sr-only\">Microsoft Edge</span>\r\n <p className=\"hidden md:block text-left\" aria-hidden=\"true\">\r\n Microsoft Edge\r\n </p>\r\n </li>\r\n </ul>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BrowserRecommended;\r\n","import { HTMLAttributes, ReactNode } from \"react\";\r\nimport { BrowserRecommended } from \"../BrowserRecommended/BrowserRecommended\";\r\nimport { FaceBookIcon } from \"../../icons/Redes/FaceBookIcon\";\r\nimport { XIcon } from \"../../icons/Redes/XIcon\";\r\nimport { TikTokIcon } from \"../../icons/Redes/TikTokIcon\";\r\nimport { YoutubeIcon } from \"../../icons/Redes/YoutubeIcon\";\r\nimport { InstagramIcon } from \"../../icons/Redes/InstagramIcon\";\r\n\r\nexport interface FooterProps extends HTMLAttributes<HTMLDivElement> {\r\n showBrowserInfo?: boolean;\r\n showContactInfo?: boolean;\r\n children?: ReactNode;\r\n isDevelopment?: boolean;\r\n showFooterContent?: boolean;\r\n}\r\n\r\nexport const Footer = ({\r\n showBrowserInfo = true,\r\n showContactInfo = true,\r\n children,\r\n showFooterContent = true,\r\n isDevelopment = true,\r\n ...props\r\n}: FooterProps) => {\r\n return (\r\n <footer {...props} tabIndex={0} aria-label=\"\">\r\n {showFooterContent && (\r\n <>\r\n {children && children}\r\n\r\n {showBrowserInfo && <BrowserRecommended />}\r\n {showContactInfo && (\r\n <div className=\"relative z-10 flex w-full min-h-[100px] bg-onpe-blue\">\r\n <div className=\"flex justify-between items-start w-full flex-col gap-6 mx-auto py-14 px-4 max-w-[1460px] md:py-5 md:px-4 lg:flex-row lg:items-center\">\r\n <div tabIndex={0}>\r\n <p className=\"font-semibold text-onpe-yellow mb-1\">\r\n <span className=\"sr-only\">Oficina central</span>\r\n <span aria-hidden=\"true\">Oficina central:</span>\r\n </p>\r\n <p className=\"flex text-sm font-medium text-white\">\r\n <span className=\"sr-only\" lang=\"es-PE\">\r\n Dirección: jiroon Washington 1894, Cercado de Lima\r\n </span>\r\n <span aria-hidden=\"true\">\r\n Jr. Washington 1894, Cercado de Lima\r\n </span>\r\n </p>\r\n <p className=\"flex text-sm font-medium text-white\">\r\n <span className=\"sr-only\">\r\n Horario de atención: Lunes a viernes de 8:30 a. m. a 5:00\r\n p. m.\r\n </span>\r\n <span aria-hidden=\"true\">\r\n Lunes a viernes de 8:30 a. m. a 5:00 p. m.\r\n </span>\r\n </p>\r\n </div>\r\n <div tabIndex={0}>\r\n <p className=\"font-semibold text-onpe-yellow mb-1\">\r\n <span className=\"sr-only\">Contáctanos</span>\r\n <span aria-hidden=\"true\">Contáctanos:</span>\r\n </p>\r\n <p className=\"flex text-sm font-medium text-white\">\r\n <span className=\"sr-only\">\r\n Correo electrónico, informes@onpe punto goob punto pe,\r\n </span>\r\n <span aria-hidden=\"true\">informes@onpe.gob.pe</span>\r\n </p>\r\n <p className=\"flex text-sm font-medium text-white\">\r\n <span className=\"sr-only\">\r\n Número telefónico, (01)4170630,\r\n </span>\r\n <span aria-hidden=\"true\">(01)4170630</span>\r\n </p>\r\n </div>\r\n <div tabIndex={0}>\r\n <p className=\"font-semibold text-onpe-yellow mb-1\">\r\n <span className=\"sr-only\">\r\n Síguenos en nuestras redes sociales\r\n </span>\r\n <span aria-hidden=\"true\">Síguenos:</span>\r\n </p>\r\n <p className=\"flex text-sm font-medium text-white gap-4\">\r\n <a\r\n href=\"https://www.facebook.com/ONPEoficial\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"Facebook de ONPE,\"\r\n className=\"text-onpe-blue-dark\"\r\n >\r\n <span aria-hidden=\"true\">\r\n <FaceBookIcon />\r\n </span>\r\n </a>\r\n <a\r\n href=\"https://x.com/ONPE_oficial\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"X de ONPE (antes Twitter),\"\r\n className=\"text-onpe-blue-dark\"\r\n >\r\n <span aria-hidden=\"true\">\r\n <XIcon />\r\n </span>\r\n </a>\r\n <a\r\n href=\"https://www.tiktok.com/@onpe_oficial\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"TikTok de ONPE,\"\r\n className=\"text-onpe-blue-dark\"\r\n >\r\n <span aria-hidden=\"true\">\r\n <TikTokIcon />\r\n </span>\r\n </a>\r\n <a\r\n href=\"https://www.instagram.com/ONPE_oficial/\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"Instagram de ONPE,\"\r\n className=\"text-onpe-blue-dark\"\r\n >\r\n <span aria-hidden=\"true\">\r\n <InstagramIcon />\r\n </span>\r\n </a>\r\n <a\r\n href=\"https://www.youtube.com/@onpeprensa\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"YouTube de ONPE,\"\r\n className=\"text-onpe-blue-dark\"\r\n >\r\n <span aria-hidden=\"true\">\r\n <YoutubeIcon />\r\n </span>\r\n </a>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n\r\n {isDevelopment && (\r\n <div className=\"h-[93px] w-full text-center flex items-center justify-center bg-onpe-yellow-light/75 fixed z-10 right-0 bottom-0 lg:h-[46px]\">\r\n <p className=\"py-2 px-2 text-2xl text-onpe-blue font-[Consolas,monospace] font-black\">\r\n Versión en Desarrollo - No Oficial\r\n </p>\r\n </div>\r\n )}\r\n </footer>\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import { ReactNode, useEffect, useState } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\n\r\nexport interface PortalProps {\r\n children?: ReactNode;\r\n container?: Element | DocumentFragment | null;\r\n}\r\n\r\nexport const Portal = ({ children, container }: PortalProps) => {\r\n const [mounted, setMounted] = useState(false);\r\n\r\n useEffect(() => {\r\n setMounted(true);\r\n return () => setMounted(false);\r\n }, []);\r\n\r\n if (!mounted) return null;\r\n\r\n let portalElement = container || document.querySelector(\"#portal\");\r\n if (!portalElement) {\r\n portalElement = document.body;\r\n }\r\n\r\n return createPortal(children, portalElement);\r\n};\r\n\r\nexport default Portal;\r\n","type OverlayColor =\r\n | \"blue\"\r\n | \"skyblue\"\r\n | \"skyblue-light\"\r\n | \"yellow\"\r\n | \"light-skyblue\"\r\n | \"gray\"\r\n | \"gray-light\"\r\n | \"gray-extra-light\"\r\n | \"red\"\r\n | \"dark-gray\"\r\n | \"green\"\r\n | \"yellow-light\"\r\n | \"primary\";\r\n\r\nexport interface OverlayProps {\r\n show?: boolean;\r\n onClick?: () => void;\r\n color?: OverlayColor;\r\n}\r\n\r\nconst colorClasses: Record<OverlayColor, string> = {\r\n blue: \"bg-onpe-blue/80\",\r\n skyblue: \"bg-onpe-skyblue/80\",\r\n \"skyblue-light\": \"bg-onpe-skyblue-light/80\",\r\n yellow: \"bg-onpe-yellow/80\",\r\n \"light-skyblue\": \"bg-onpe-light-skyblue/80\",\r\n gray: \"bg-onpe-gray/80\",\r\n \"gray-light\": \"bg-onpe-gray-light/80\",\r\n \"gray-extra-light\": \"bg-onpe-gray-extra-light/80\",\r\n red: \"bg-onpe-red/80\",\r\n \"dark-gray\": \"bg-onpe-dark-gray/80\",\r\n green: \"bg-onpe-green/80\",\r\n \"yellow-light\": \"bg-onpe-yellow-light/80\",\r\n primary: \"bg-onpe-blue/80\",\r\n};\r\n\r\nexport const Overlay = ({ show, onClick, color = \"blue\" }: OverlayProps) => {\r\n return (\r\n <div\r\n onClick={onClick}\r\n className={[\r\n \"absolute inset-0 w-full h-screen z-10 transition-all duration-500\",\r\n show ? \"pointer-events-auto opacity-100\" : \"pointer-events-none opacity-0\",\r\n colorClasses[color],\r\n ].join(\" \")}\r\n />\r\n );\r\n};\r\n\r\nexport default Overlay;\r\n","import { ReactNode } from \"react\";\r\n\r\nexport interface ShowProps {\r\n condition: boolean;\r\n loadingComponent: ReactNode;\r\n children: ReactNode;\r\n}\r\n\r\nexport const Show = ({ condition, loadingComponent, children }: ShowProps) => {\r\n return (\r\n <>\r\n {condition && loadingComponent}\r\n {!condition && children}\r\n </>\r\n );\r\n};\r\n\r\nexport default Show;\r\n","import { HTMLAttributes, ReactNode, useEffect, useRef, useState } from \"react\";\r\nimport { Portal } from \"../Portal/Portal\";\r\nimport { IconCloseRadius } from \"../../icons/Actions/IconCloseRadius\";\r\n\r\nexport interface ModalProps extends HTMLAttributes<HTMLDivElement> {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n children: ReactNode;\r\n whitoutBackground?: boolean;\r\n closeButton?: boolean;\r\n closeDisabled?: boolean;\r\n escapeToClose?: boolean;\r\n disableFocus?: boolean;\r\n disableFocusRestore?: boolean;\r\n existTabIndex?: boolean;\r\n zIndexLevel?: number;\r\n onCloseComplete?: () => void;\r\n overlayColor?:\r\n | \"blue\"\r\n | \"skyblue\"\r\n | \"skyblue-light\"\r\n | \"yellow\"\r\n | \"light-skyblue\"\r\n | \"gray\"\r\n | \"gray-light\"\r\n | \"gray-extra-light\"\r\n | \"red\"\r\n | \"dark-gray\"\r\n | \"green\"\r\n | \"yellow-light\"\r\n | \"primary\";\r\n}\r\n\r\nexport const Modal = ({\r\n isOpen,\r\n onClose,\r\n children,\r\n whitoutBackground = false,\r\n closeButton = false,\r\n closeDisabled = false,\r\n escapeToClose = true,\r\n disableFocus = false,\r\n disableFocusRestore = false,\r\n existTabIndex = true,\r\n zIndexLevel = 100,\r\n onCloseComplete,\r\n overlayColor: _overlayColor = \"blue\",\r\n ...props\r\n}: ModalProps) => {\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const contentRef = useRef<HTMLDivElement>(null);\r\n const previousActiveElement = useRef<HTMLElement | null>(null);\r\n\r\n // CSS animation state (replaces framer-motion AnimatePresence)\r\n const [mounted, setMounted] = useState(false);\r\n const [visible, setVisible] = useState(false);\r\n\r\n // Cache children during exit animation (replicates AnimatePresence behavior):\r\n // when global state clears data before the modal finishes closing, the cached\r\n // children keep the content visible throughout the exit animation.\r\n const [cachedChildren, setCachedChildren] = useState<ReactNode>(children);\r\n useEffect(() => {\r\n if (isOpen) {\r\n setCachedChildren(children);\r\n }\r\n }, [isOpen, children]);\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setMounted(true);\r\n const raf = requestAnimationFrame(() => {\r\n requestAnimationFrame(() => setVisible(true));\r\n });\r\n return () => cancelAnimationFrame(raf);\r\n } else {\r\n setVisible(false);\r\n const timer = setTimeout(() => {\r\n setMounted(false);\r\n onCloseComplete?.();\r\n }, 200);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [isOpen, onCloseComplete]);\r\n\r\n // Body scroll lock\r\n useEffect(() => {\r\n if (isOpen) {\r\n document.body.style.overflow = \"hidden\";\r\n } else {\r\n document.body.style.overflow = \"\";\r\n }\r\n return () => {\r\n document.body.style.overflow = \"\";\r\n };\r\n }, [isOpen]);\r\n\r\n // Scroll reset when opening\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n const resetScroll = () => {\r\n const el = contentRef.current;\r\n if (!el) return;\r\n el.style.scrollBehavior = \"auto\";\r\n el.scrollTop = 0;\r\n requestAnimationFrame(() => {\r\n el.scrollTop = 0;\r\n setTimeout(() => {\r\n el.style.scrollBehavior = \"smooth\";\r\n }, 10);\r\n });\r\n };\r\n resetScroll();\r\n [10, 50, 100, 200].forEach((d) => setTimeout(resetScroll, d));\r\n }, [isOpen]);\r\n\r\n // Keyboard handling and focus trap\r\n useEffect(() => {\r\n const isElementVisible = (element: HTMLElement) => {\r\n const style = window.getComputedStyle(element);\r\n return (\r\n style.visibility !== \"hidden\" &&\r\n style.display !== \"none\" &&\r\n element.offsetParent !== null\r\n );\r\n };\r\n\r\n const getFocusableElements = (wrapper: HTMLElement) => {\r\n const selector = [\r\n \"a[href]\",\r\n \"area[href]\",\r\n \"button:not([disabled])\",\r\n 'input:not([disabled]):not([type=\"hidden\"])',\r\n \"select:not([disabled])\",\r\n \"textarea:not([disabled])\",\r\n \"iframe\",\r\n \"object\",\r\n \"embed\",\r\n '[tabindex]:not([tabindex=\"-1\"])',\r\n '[contenteditable=\"true\"]',\r\n ].join(\",\");\r\n\r\n let focusable = Array.from(\r\n wrapper.querySelectorAll<HTMLElement>(selector)\r\n ).filter((el) => isElementVisible(el) && el.tabIndex !== -1);\r\n\r\n if (wrapper.tabIndex >= 0) {\r\n focusable = [wrapper, ...focusable];\r\n }\r\n return focusable;\r\n };\r\n\r\n const handleFocusOut = (e: FocusEvent) => {\r\n if (!isOpen || disableFocus) return;\r\n const wrapper = modalRef.current;\r\n if (!wrapper) return;\r\n const relatedTarget = e.relatedTarget as HTMLElement;\r\n if (relatedTarget && !wrapper.contains(relatedTarget)) {\r\n setTimeout(() => {\r\n const currentActive = document.activeElement as HTMLElement;\r\n if (!currentActive || !wrapper.contains(currentActive)) {\r\n const focusable = getFocusableElements(wrapper);\r\n if (focusable.length > 0) {\r\n focusable[focusable.length - 1].focus();\r\n } else {\r\n wrapper.focus();\r\n }\r\n }\r\n }, 0);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\" && escapeToClose && !closeDisabled) {\r\n onClose();\r\n return;\r\n }\r\n\r\n if (!isOpen || disableFocus) return;\r\n const wrapper = modalRef.current;\r\n if (!wrapper) return;\r\n\r\n const focusable = getFocusableElements(wrapper);\r\n const active = (document.activeElement as HTMLElement) || null;\r\n\r\n const arrowKeys = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\r\n if (arrowKeys.includes(e.key)) {\r\n if (active && wrapper.contains(active)) {\r\n const activeIndex = focusable.indexOf(active);\r\n if (\r\n (e.key === \"ArrowUp\" || e.key === \"ArrowLeft\") &&\r\n activeIndex === 0\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (focusable.length > 1) focusable[focusable.length - 1].focus();\r\n else active.focus();\r\n return;\r\n }\r\n if (\r\n (e.key === \"ArrowDown\" || e.key === \"ArrowRight\") &&\r\n activeIndex === focusable.length - 1\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (focusable.length > 1) focusable[0].focus();\r\n else active.focus();\r\n return;\r\n }\r\n requestAnimationFrame(() => {\r\n const currentActive = document.activeElement as HTMLElement;\r\n if (!currentActive || !wrapper.contains(currentActive)) {\r\n if (activeIndex !== -1 && focusable[activeIndex])\r\n focusable[activeIndex].focus();\r\n else if (focusable.length > 0) focusable[0].focus();\r\n else wrapper.focus();\r\n }\r\n });\r\n } else {\r\n e.preventDefault();\r\n if (focusable.length > 0) {\r\n if (e.key === \"ArrowUp\" || e.key === \"ArrowLeft\")\r\n focusable[focusable.length - 1].focus();\r\n else focusable[0].focus();\r\n } else {\r\n wrapper.focus();\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if (e.key !== \"Tab\") return;\r\n if (focusable.length === 0) {\r\n e.preventDefault();\r\n wrapper.focus();\r\n return;\r\n }\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n const isShift = e.shiftKey;\r\n\r\n if (!active || !wrapper.contains(active)) {\r\n e.preventDefault();\r\n (isShift ? last : first).focus();\r\n return;\r\n }\r\n\r\n const activeIndex = focusable.indexOf(active);\r\n if (!isShift && (active === last || activeIndex === focusable.length - 1)) {\r\n e.preventDefault();\r\n first.focus();\r\n return;\r\n }\r\n\r\n if (isShift) {\r\n e.preventDefault();\r\n if (active === first || active === wrapper || activeIndex === 0)\r\n last.focus();\r\n else if (activeIndex > 0) focusable[activeIndex - 1].focus();\r\n else last.focus();\r\n }\r\n };\r\n\r\n if (isOpen && !disableFocus) {\r\n previousActiveElement.current = document.activeElement as HTMLElement;\r\n modalRef.current?.focus();\r\n document.addEventListener(\"keydown\", handleKeyDown);\r\n const wrapper = modalRef.current;\r\n if (wrapper) wrapper.addEventListener(\"focusout\", handleFocusOut);\r\n } else if (isOpen && disableFocus) {\r\n document.addEventListener(\"keydown\", handleKeyDown);\r\n }\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", handleKeyDown);\r\n const wrapper = modalRef.current;\r\n if (wrapper) wrapper.removeEventListener(\"focusout\", handleFocusOut);\r\n if (!disableFocus && !disableFocusRestore && previousActiveElement.current) {\r\n previousActiveElement.current.focus();\r\n }\r\n };\r\n }, [isOpen, onClose, closeDisabled, escapeToClose, disableFocus, disableFocusRestore]);\r\n\r\n if (!mounted) return null;\r\n\r\n const contentClass = [\r\n \"relative flex flex-col items-center justify-start\",\r\n whitoutBackground\r\n ? \"bg-transparent\"\r\n : [\r\n \"bg-white\",\r\n \"pt-[25px] px-4 pb-[50px]\",\r\n \"min-w-[320px] w-[95vw] max-w-[95vw] max-h-[90vh]\",\r\n \"overflow-y-auto scroll-smooth\",\r\n \"md:pt-[35px] md:px-8 md:pb-[54px] md:max-w-[1000px]\",\r\n ].join(\" \"),\r\n props.className || \"\",\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <Portal>\r\n {/* Backdrop */}\r\n <div\r\n style={{ zIndex: zIndexLevel }}\r\n className={[\r\n \"fixed inset-0 bg-onpe-blue transition-opacity duration-200\",\r\n visible ? \"opacity-80\" : \"opacity-0\",\r\n ].join(\" \")}\r\n onClick={onClose}\r\n />\r\n\r\n {/* Container */}\r\n <div\r\n style={{ zIndex: zIndexLevel + 10 }}\r\n className={[\r\n \"fixed top-0 w-full h-screen grid place-items-center\",\r\n \"transition-all duration-200\",\r\n visible\r\n ? \"opacity-100 scale-100 translate-y-0\"\r\n : \"opacity-[0.2] scale-95 -translate-y-5\",\r\n ].join(\" \")}\r\n >\r\n <div className=\"relative grid place-items-center\">\r\n <div\r\n ref={modalRef}\r\n onClick={(e) => e.stopPropagation()}\r\n {...(existTabIndex && { tabIndex: disableFocus ? -1 : 0 })}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={props[\"aria-labelledby\"]}\r\n aria-describedby={props[\"aria-describedby\"]}\r\n aria-label={props[\"aria-label\"]}\r\n >\r\n <div ref={contentRef} className={contentClass}>\r\n {cachedChildren}\r\n </div>\r\n {closeButton && (\r\n <button\r\n onClick={onClose}\r\n className=\"absolute top-2.5 right-2.5 text-onpe-red cursor-pointer w-4 h-4 border-none bg-transparent p-0 md:w-8 md:h-8\"\r\n aria-label=\"Cerrar\"\r\n type=\"button\"\r\n >\r\n <IconCloseRadius aria-hidden=\"true\" className=\"w-full h-full\" />\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Portal>\r\n );\r\n};\r\n\r\nexport default Modal;\r\n","import { Modal } from \"../../Modal/Modal\";\r\nimport { IconWarning } from \"../../../icons/Actions/IconWarning\";\r\nimport { IconChromeColor } from \"../../../icons/Browsers/IconChromeColor\";\r\nimport { IconSafariColor } from \"../../../icons/Browsers/IconSafariColor\";\r\nimport { IconEdgeColor } from \"../../../icons/Browsers/IconEdgeColor\";\r\n\r\nexport interface ModalBrowserIncompatibleProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n className?: string;\r\n zIndexLevel?: number;\r\n}\r\n\r\nexport const ModalBrowserIncompatible = ({\r\n isOpen = false,\r\n onClose = () => {},\r\n className = \"\",\r\n zIndexLevel = 100,\r\n}: ModalBrowserIncompatibleProps) => {\r\n return (\r\n <Modal\r\n zIndexLevel={zIndexLevel}\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n className={`!max-w-[680px] ${className}`}\r\n closeButton={true}\r\n >\r\n <div className=\"flex items-center justify-center\">\r\n <IconWarning\r\n className=\"w-16 h-16 sm:w-[84px] sm:h-[84px] text-onpe-skyblue\"\r\n role=\"presentation\"\r\n />\r\n </div>\r\n\r\n <p className=\"mt-1 text-base sm:text-2xl font-semibold text-center text-onpe-skyblue\">\r\n Estás usando un navegador no recomendado\r\n </p>\r\n\r\n <p className=\"mt-6 text-base sm:text-lg text-center sm:px-2\">\r\n Para una mejor experiencia y mayor seguridad, debes ingresar con los\r\n siguientes navegadores:\r\n </p>\r\n\r\n <div className=\"flex items-center justify-center gap-8 mt-[47px] sm:gap-12\">\r\n <IconChromeColor\r\n role=\"img\"\r\n aria-label=\"Google Chrome\"\r\n className=\"w-7 h-7 sm:w-12 sm:h-12\"\r\n />\r\n <IconSafariColor\r\n role=\"img\"\r\n aria-label=\"Safari\"\r\n className=\"w-7 h-7 sm:w-12 sm:h-12\"\r\n />\r\n <IconEdgeColor\r\n role=\"img\"\r\n aria-label=\"Microsoft Edge\"\r\n className=\"w-7 h-7 sm:w-12 sm:h-12\"\r\n />\r\n </div>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default ModalBrowserIncompatible;\r\n","import { Modal } from \"../../Modal/Modal\";\r\nimport { IconWarning } from \"../../../icons/Actions/IconWarning\";\r\nimport { IconWindow } from \"../../../icons/OperatingSystems/IconWindow\";\r\nimport { IconAndroid } from \"../../../icons/OperatingSystems/IconAndroid\";\r\nimport { IconApple } from \"../../../icons/OperatingSystems/IconApple\";\r\n\r\nexport interface ModalSystemIncompatibleProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n className?: string;\r\n zIndexLevel?: number;\r\n}\r\n\r\nexport const ModalSystemIncompatible = ({\r\n isOpen = false,\r\n onClose = () => {},\r\n className = \"\",\r\n zIndexLevel = 1000,\r\n}: ModalSystemIncompatibleProps) => {\r\n return (\r\n <Modal\r\n zIndexLevel={zIndexLevel}\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n className={`!max-w-[680px] ${className}`}\r\n closeButton={true}\r\n closeDisabled\r\n >\r\n <div className=\"flex items-center justify-center\">\r\n <IconWarning\r\n className=\"w-16 h-16 sm:w-[84px] sm:h-[84px] text-onpe-skyblue\"\r\n role=\"presentation\"\r\n />\r\n </div>\r\n\r\n <p className=\"mt-1 text-base sm:text-2xl font-semibold text-center text-onpe-skyblue\">\r\n Sistema Operativo no recomendado\r\n </p>\r\n\r\n <p className=\"mt-6 text-base sm:text-lg text-center sm:px-2\">\r\n Para descargar e instalar el ONPEID utiliza un dispositivo con sistema\r\n operativo Windows, macOS, Android o iOS.\r\n </p>\r\n\r\n <div className=\"flex items-center justify-center gap-8 mt-[47px] sm:gap-12\">\r\n <IconWindow\r\n role=\"img\"\r\n aria-label=\"Windows 10 o superior\"\r\n className=\"w-7 h-7 sm:w-12 sm:h-12 text-onpe-skyblue\"\r\n />\r\n <IconAndroid\r\n role=\"img\"\r\n aria-label=\"Android 7.0 o superior\"\r\n className=\"w-7 h-7 sm:w-12 sm:h-12 text-onpe-skyblue\"\r\n />\r\n <IconApple\r\n role=\"img\"\r\n aria-label=\"macOS 10.12 o superior / iOS 11.0 o superior\"\r\n className=\"w-7 h-7 sm:w-12 sm:h-12 text-onpe-skyblue\"\r\n />\r\n </div>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default ModalSystemIncompatible;\r\n","import { useState } from \"react\";\r\nimport { IconWarningNotRecommended } from \"../../../icons/Actions/IconWarningNotRecommended\";\r\nimport { IconCloseRadius } from \"../../../icons/Actions/IconCloseRadius\";\r\n\r\nexport interface NotRecommendedProps {\r\n isOpenBrowserError?: boolean;\r\n isOpenDeviceError?: boolean;\r\n bottom?: number | string;\r\n right?: number | string;\r\n}\r\n\r\nexport const NotRecommended = ({\r\n isOpenBrowserError = false,\r\n isOpenDeviceError = false,\r\n bottom = 40,\r\n right = 20,\r\n}: NotRecommendedProps) => {\r\n const [isWarningClosed, setIsWarningClosed] = useState(false);\r\n\r\n const handleOpenWarning = () => setIsWarningClosed(false);\r\n const handleCloseWarning = () => setIsWarningClosed(true);\r\n\r\n const getContainerWidth = () => {\r\n if (isWarningClosed) return \"60px\";\r\n if (isOpenDeviceError) return \"365px\";\r\n return \"315px\";\r\n };\r\n\r\n const getMessageWidth = () => {\r\n if (isWarningClosed) return \"0\";\r\n if (isOpenDeviceError) return \"335px\";\r\n return \"285px\";\r\n };\r\n\r\n const getBottomValue = () =>\r\n typeof bottom === \"string\" ? bottom : `${bottom}px`;\r\n\r\n const getRightValue = () =>\r\n typeof right === \"string\" ? right : `${right}px`;\r\n\r\n return (\r\n <div\r\n className=\"fixed z-[99]\"\r\n style={{ bottom: getBottomValue(), right: getRightValue() }}\r\n >\r\n <div\r\n className=\"relative h-[75px] transition-all duration-300\"\r\n style={{ width: getContainerWidth() }}\r\n >\r\n {/* Warning icon */}\r\n {isWarningClosed ? (\r\n <button\r\n onClick={handleOpenWarning}\r\n className=\"absolute left-0 top-0 pb-2 h-[60px] w-[60px] flex items-center justify-center bg-onpe-yellow rounded-full z-10 cursor-pointer border-none transition-transform duration-200 hover:scale-110\"\r\n aria-label=\"Abrir advertencia\"\r\n type=\"button\"\r\n >\r\n <IconWarningNotRecommended className=\"w-10 h-[35px] text-black\" />\r\n </button>\r\n ) : (\r\n <div className=\"absolute left-0 top-0 pb-2 h-[60px] w-[60px] flex items-center justify-center bg-onpe-yellow rounded-full z-10\">\r\n <IconWarningNotRecommended className=\"w-10 h-[35px] text-black\" />\r\n </div>\r\n )}\r\n\r\n {/* Message */}\r\n <div\r\n className={[\r\n \"absolute bg-white left-[30px] top-0 flex flex-col justify-center items-center gap-2\",\r\n \"border-2 border-onpe-yellow rounded-[10px] h-[60px] text-sm\",\r\n \"transition-all duration-300 overflow-hidden\",\r\n isWarningClosed ? \"opacity-0 border-0 pointer-events-none\" : \"opacity-100\",\r\n ].join(\" \")}\r\n style={{ width: getMessageWidth() }}\r\n >\r\n <div className=\"whitespace-nowrap pl-6\">\r\n <p className=\"font-bold text-onpe-yellow m-0\">Estás usando un</p>\r\n {isOpenDeviceError && (\r\n <p className=\"m-0 text-onpe-dark-gray\">\r\n sistema operativo no recomendado\r\n </p>\r\n )}\r\n {isOpenBrowserError && !isOpenDeviceError && (\r\n <p className=\"m-0 text-onpe-dark-gray\">navegador no recomendado</p>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Close button */}\r\n {!isWarningClosed && (\r\n <button\r\n onClick={handleCloseWarning}\r\n className=\"absolute -top-2 -right-2 z-20 rounded-full cursor-pointer border-none bg-transparent p-0 transition-opacity duration-200 hover:opacity-80\"\r\n aria-label=\"Cerrar advertencia\"\r\n type=\"button\"\r\n >\r\n <IconCloseRadius className=\"w-[23px] h-[23px] text-onpe-yellow bg-white rounded-full\" />\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default NotRecommended;\r\n","import { ReactNode } from \"react\";\r\nimport { Modal } from \"../../Modal/Modal\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport { IconWarning } from \"../../../icons/Actions/IconWarning\";\r\nimport { IconCheck } from \"../../../icons/Actions/IconCheck\";\r\n\r\nexport interface ModalConfirmProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n title: string;\r\n message: ReactNode;\r\n icon?: \"warning\" | \"success\";\r\n color?: \"blue\" | \"red\";\r\n onConfirm?: () => void;\r\n onCancel?: () => void;\r\n textButtonConfirm?: string;\r\n textButtonCancel?: string;\r\n twoButtons?: boolean;\r\n className?: string;\r\n zIndexLevel?: number;\r\n withoutAutoClose?: boolean;\r\n}\r\n\r\nexport const ModalConfirm = ({\r\n isOpen = false,\r\n onClose = () => {},\r\n withoutAutoClose = false,\r\n title,\r\n message,\r\n icon = \"warning\",\r\n color = \"blue\",\r\n onConfirm = () => {},\r\n onCancel = () => {},\r\n textButtonConfirm = \"Confirmar\",\r\n textButtonCancel = \"Cancelar\",\r\n twoButtons = true,\r\n className = \"\",\r\n zIndexLevel = 100,\r\n}: ModalConfirmProps) => {\r\n const titleId = \"modal-confirm-title\";\r\n const messageId = \"modal-confirm-message\";\r\n\r\n const handleConfirm = async () => {\r\n try {\r\n onConfirm();\r\n if (!withoutAutoClose) onClose();\r\n } catch (error) {\r\n console.error(\"Error en handleConfirm:\", error);\r\n if (!withoutAutoClose) onClose();\r\n }\r\n };\r\n\r\n const handleCancel = () => {\r\n onCancel();\r\n if (!withoutAutoClose) onClose();\r\n };\r\n\r\n const iconColorClass = color === \"red\" ? \"text-onpe-red\" : \"text-onpe-skyblue\";\r\n const titleColorClass = color === \"red\" ? \"text-onpe-red\" : \"text-onpe-skyblue\";\r\n\r\n return (\r\n <Modal\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n className={`!max-w-[719px] !pt-[30px] !pb-[30px] !px-[30px] ${className}`}\r\n closeButton={false}\r\n closeDisabled\r\n zIndexLevel={zIndexLevel}\r\n aria-labelledby={titleId}\r\n aria-describedby={messageId}\r\n >\r\n <div className=\"flex items-center justify-center\">\r\n {icon === \"warning\" && (\r\n <IconWarning\r\n role=\"presentation\"\r\n className={`w-16 h-16 ${iconColorClass}`}\r\n />\r\n )}\r\n {icon === \"success\" && (\r\n <IconCheck\r\n role=\"presentation\"\r\n className={`w-16 h-16 ${iconColorClass}`}\r\n />\r\n )}\r\n </div>\r\n\r\n <p\r\n id={titleId}\r\n className={[\r\n message ? \"mt-0 md:mt-4\" : \"mt-0\",\r\n \"text-lg md:text-2xl font-semibold text-center\",\r\n titleColorClass,\r\n ].join(\" \")}\r\n >\r\n {title}\r\n </p>\r\n\r\n {message && (\r\n <div\r\n id={messageId}\r\n className=\"mt-7 text-sm md:text-lg text-center max-w-full text-onpe-dark-gray\"\r\n >\r\n {message}\r\n </div>\r\n )}\r\n\r\n {/* Mobile: stacked (confirm first, cancel second) */}\r\n <div className=\"flex flex-col items-center justify-center w-full gap-5 mt-11 md:hidden\">\r\n <Button\r\n className=\"w-full max-w-[200px]\"\r\n color=\"red\"\r\n title={textButtonConfirm}\r\n onClick={handleConfirm}\r\n />\r\n {twoButtons && (\r\n <Button\r\n className=\"w-full max-w-[200px]\"\r\n color=\"skyblue\"\r\n title={textButtonCancel}\r\n onClick={handleCancel}\r\n />\r\n )}\r\n </div>\r\n\r\n {/* Desktop: row (cancel first, confirm second) */}\r\n <div className=\"hidden md:flex md:flex-row items-center justify-center w-full gap-5 mt-11\">\r\n {twoButtons && (\r\n <Button\r\n className=\"w-[200px]\"\r\n color=\"skyblue\"\r\n title={textButtonCancel}\r\n onClick={handleCancel}\r\n />\r\n )}\r\n <Button\r\n className=\"w-[200px]\"\r\n color=\"red\"\r\n title={textButtonConfirm}\r\n onClick={handleConfirm}\r\n />\r\n </div>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default ModalConfirm;\r\n","import { useEffect, useState } from \"react\";\r\nimport { Modal } from \"../../Modal/Modal\";\r\nimport { IconSpinnerDesktop } from \"../../../icons/Actions/IconSpinnerDesktop\";\r\nimport { IconSpinnerMobile } from \"../../../icons/Actions/IconSpinnerMobile\";\r\n\r\nexport interface ModalLoadingProps {\r\n isOpen: boolean;\r\n onClose?: () => void;\r\n message?: string;\r\n className?: string;\r\n zIndexLevel?: number;\r\n}\r\n\r\nexport const ModalLoading = ({\r\n isOpen = false,\r\n onClose = () => {},\r\n message = \"Cargando...\",\r\n className = \"\",\r\n zIndexLevel = 100,\r\n}: ModalLoadingProps) => {\r\n const [announceMessage, setAnnounceMessage] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!isOpen) {\r\n setAnnounceMessage(\"\");\r\n return;\r\n }\r\n setAnnounceMessage(\"\");\r\n const t = globalThis.setTimeout(() => {\r\n setAnnounceMessage(message);\r\n }, 150);\r\n return () => {\r\n globalThis.clearTimeout(t);\r\n };\r\n }, [isOpen, message]);\r\n\r\n return (\r\n <Modal\r\n disableFocus\r\n zIndexLevel={zIndexLevel}\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n className={className}\r\n closeDisabled\r\n whitoutBackground={true}\r\n >\r\n <div className=\"sr-only\" aria-live=\"assertive\" aria-atomic=\"true\">\r\n {announceMessage}\r\n </div>\r\n <IconSpinnerDesktop\r\n className=\"hidden md:block text-white animate-spin\"\r\n aria-hidden=\"true\"\r\n />\r\n <IconSpinnerMobile\r\n className=\"block md:hidden text-white animate-spin\"\r\n aria-hidden=\"true\"\r\n />\r\n <p className=\"text-white leading-normal text-2xl md:text-[64px] text-center mt-10 md:mt-20\">\r\n {message}\r\n </p>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default ModalLoading;\r\n","import { ReactNode } from \"react\";\r\nimport { Modal } from \"../../Modal/Modal\";\r\n\r\nexport interface ModalDnieVersionsProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n className?: string;\r\n iconDnie1: ReactNode;\r\n iconDnie2: ReactNode;\r\n iconDnie3?: ReactNode;\r\n zIndexLevel?: number;\r\n}\r\n\r\nexport const ModalDnieVersions = ({\r\n isOpen = false,\r\n onClose = () => {},\r\n className = \"\",\r\n iconDnie1,\r\n iconDnie2,\r\n iconDnie3,\r\n zIndexLevel = 100,\r\n}: ModalDnieVersionsProps) => {\r\n return (\r\n <Modal\r\n zIndexLevel={zIndexLevel}\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n className={`!max-w-[590px] !pt-[30px] !pb-[38px] ${className}`}\r\n closeButton={true}\r\n >\r\n <h2\r\n className=\"text-center text-onpe-blue font-bold mb-2 text-lg sm:text-xl\"\r\n tabIndex={0}\r\n >\r\n <span className=\"sr-only\">Versiones del DNI electrónico</span>\r\n <span aria-hidden=\"true\">Versiones del DNIe</span>\r\n </h2>\r\n\r\n <section className=\"flex flex-col gap-5 sm:gap-8 items-center mt-[18px] sm:mt-6 text-sm\">\r\n {/* DNIe versión 1 */}\r\n <article className=\"flex flex-col sm:flex-row items-center sm:items-start gap-10 w-full\">\r\n <div className=\"w-[233px]\">\r\n <p className=\"flex-1 mb-4\" tabIndex={0}>\r\n <span className=\"font-bold\">\r\n <span className=\"sr-only\">DNI electrónico versión 1</span>\r\n <span aria-hidden=\"true\">DNIe versión 1</span>\r\n </span>\r\n </p>\r\n <ul role=\"none\" className=\"text-sm list-disc text-justify self-start pl-8\">\r\n <li role=\"none\" className=\"mb-2\">\r\n <p tabIndex={0}>\r\n <span className=\"sr-only\">Chip en la parte delantera del DNI electrónico.</span>\r\n <span aria-hidden=\"true\">Chip en la parte delantera del DNIe.</span>\r\n </p>\r\n </li>\r\n <li role=\"none\" className=\"mb-2\">\r\n <p tabIndex={0}>\r\n <span className=\"sr-only\">Compatible solo con el lector del DNI electrónico en PC, Mac o laptop.</span>\r\n <span aria-hidden=\"true\">Compatible solo con el lector del DNIe en <strong>PC, Mac o laptop</strong>.</span>\r\n </p>\r\n </li>\r\n </ul>\r\n </div>\r\n <div className=\"w-[240px] sm:w-[200px] relative flex justify-center\">\r\n {iconDnie1}\r\n </div>\r\n </article>\r\n\r\n {/* DNIe versión 2 y 3 */}\r\n <article className=\"flex flex-col sm:flex-row items-center sm:items-start gap-10 sm:gap-[52px] w-full\">\r\n <div className=\"w-[233px]\">\r\n <p className=\"flex-1 mb-4\" tabIndex={0}>\r\n <span className=\"font-bold\">\r\n <span className=\"sr-only\">DNI electrónico versión 2 y 3</span>\r\n <span aria-hidden=\"true\">DNIe versión 2 y 3</span>\r\n </span>\r\n </p>\r\n <ul role=\"none\" className=\"text-sm list-disc text-justify self-start pl-8\">\r\n <li role=\"none\" className=\"mb-2\">\r\n <p tabIndex={0}>\r\n <span className=\"sr-only\">Chip en la parte posterior del DNI electrónico.</span>\r\n <span aria-hidden=\"true\">Chip en la parte posterior del DNIe.</span>\r\n </p>\r\n </li>\r\n <li role=\"none\" className=\"mb-2\">\r\n <p tabIndex={0}>\r\n <span className=\"sr-only\">\r\n Compatibles con el lector del DNI electrónico en PC, Mac o laptop y tecnología NFC (ISO 14443-B) en móviles.\r\n </span>\r\n <span aria-hidden=\"true\">\r\n Compatibles con el lector del DNIe en <strong> PC, Mac o laptop y tecnología NFC (ISO 14443-B) en móviles</strong>.\r\n </span>\r\n </p>\r\n </li>\r\n </ul>\r\n </div>\r\n <div className=\"w-[240px] sm:w-[200px] h-[181px] relative\">\r\n {iconDnie2}\r\n {iconDnie3}\r\n </div>\r\n </article>\r\n </section>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default ModalDnieVersions;\r\n","import { ReactNode } from \"react\";\r\nimport { Modal } from \"../../Modal/Modal\";\r\nimport { IconAndroid } from \"../../../icons/OperatingSystems/IconAndroid\";\r\nimport { IconApple } from \"../../../icons/OperatingSystems/IconApple\";\r\n\r\nexport interface ModalNfcProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n className?: string;\r\n iconNfc1: ReactNode;\r\n iconNfc2: ReactNode;\r\n zIndexLevel?: number;\r\n}\r\n\r\nexport const ModalNfc = ({\r\n isOpen = false,\r\n onClose = () => {},\r\n className = \"\",\r\n iconNfc1,\r\n iconNfc2: _iconNfc2,\r\n zIndexLevel = 100,\r\n}: ModalNfcProps) => {\r\n const ANDROID_VIDEO_URL = \"https://www.youtube.com/watch?v=qlVVC9JHSro\";\r\n const IPHONE_VIDEO_URL = \"https://www.youtube.com/watch?v=wjzh_FUVXRE\";\r\n\r\n return (\r\n <Modal\r\n zIndexLevel={zIndexLevel}\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n className={`!max-w-[600px] !pt-[46px] !pb-[46px] !px-[30px] md:!px-[50px] ${className}`}\r\n closeButton={true}\r\n >\r\n <h2 className=\"text-center text-onpe-blue font-bold text-base\" tabIndex={0}>\r\n ¿Cómo saber si tu dispositivo móvil tiene NFC?\r\n </h2>\r\n\r\n <section className=\"flex flex-col gap-6 items-center mt-8 text-sm w-full\">\r\n {/* Android section */}\r\n <div className=\"w-full\">\r\n <p className=\"text-sm text-justify mb-3\" tabIndex={0}>\r\n <span className=\"mr-1\">1.</span>\r\n Celular Android\r\n </p>\r\n <ul role=\"presentation\" className=\"list-disc pl-[26px] mt-2\">\r\n <li role=\"presentation\" className=\"text-sm text-left mb-2 tracking-[0.15px]\">\r\n Desde la barra de notificaciones, simplemente deslizando hacia\r\n abajo desde tu pantalla y buscando el ícono del NFC.\r\n </li>\r\n <li role=\"presentation\" className=\"text-sm text-left mb-2 tracking-[0.15px]\">\r\n Otra forma es ir hacia Ajustes\r\n <span aria-hidden=\"true\">{\" > \"}</span>Conexiones o Redes\r\n Inalámbricas<span aria-hidden=\"true\">{\" > \"}</span>Buscar \"NFC\".\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {iconNfc1}\r\n\r\n {/* iPhone section */}\r\n <div className=\"w-full\">\r\n <p className=\"text-sm text-justify mb-3\" tabIndex={0}>\r\n <span className=\"mr-1\">2.</span>\r\n Celular iPhone\r\n </p>\r\n <ul role=\"presentation\" className=\"list-disc pl-[26px] mt-2\">\r\n <li role=\"presentation\" className=\"text-sm text-left mb-2 tracking-[0.15px]\">\r\n Todos los modelos iPhone 7 en adelante ya cuentan con tecnología\r\n NFC activa.\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* How to use NFC */}\r\n <h2 className=\"text-center text-onpe-blue font-bold my-5 text-base\" tabIndex={0}>\r\n ¿Cómo usar el NFC correctamente?\r\n </h2>\r\n\r\n <div className=\"pl-3 w-full\">\r\n <ol role=\"presentation\" className=\"text-sm text-justify list-decimal list-outside\">\r\n <li role=\"presentation\" className=\"mb-2\">Activa el NFC en tu celular.</li>\r\n <li role=\"presentation\" className=\"mb-2\">\r\n Busca en internet dónde está el lector NFC según tu modelo.\r\n </li>\r\n <li role=\"presentation\" className=\"mb-2\">\r\n Coloca tu DNIe sobre esa zona hasta que recibas la confirmación\r\n del sistema.\r\n </li>\r\n <li role=\"presentation\" className=\"mb-2\">\r\n Puedes consultar los videos \"Aprende como leer tu DNIe con NFC\":\r\n </li>\r\n </ol>\r\n </div>\r\n\r\n {/* OS links */}\r\n <div className=\"flex flex-row gap-5 justify-center items-center\">\r\n <a\r\n className=\"text-onpe-skyblue flex flex-row gap-2.5 justify-center items-center no-underline cursor-pointer rounded-lg px-2.5 py-1.5 transition-colors duration-[120ms] focus-visible:outline-2 focus-visible:outline-onpe-blue focus-visible:outline-offset-2\"\r\n href={ANDROID_VIDEO_URL}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"Ver video para Android en YouTube\"\r\n >\r\n <IconAndroid />\r\n Android\r\n </a>\r\n <a\r\n className=\"text-onpe-skyblue flex flex-row gap-2.5 justify-center items-center no-underline cursor-pointer rounded-lg px-2.5 py-1.5 transition-colors duration-[120ms] focus-visible:outline-2 focus-visible:outline-onpe-blue focus-visible:outline-offset-2\"\r\n href={IPHONE_VIDEO_URL}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n aria-label=\"Ver video para iPhone en YouTube\"\r\n >\r\n <IconApple />\r\n iPhone\r\n </a>\r\n </div>\r\n </section>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default ModalNfc;\r\n"]}
@@ -117,7 +117,7 @@ interface ModalDnieVersionsProps {
117
117
  className?: string;
118
118
  iconDnie1: ReactNode;
119
119
  iconDnie2: ReactNode;
120
- iconDnie3: ReactNode;
120
+ iconDnie3?: ReactNode;
121
121
  zIndexLevel?: number;
122
122
  }
123
123
  declare const ModalDnieVersions: ({ isOpen, onClose, className, iconDnie1, iconDnie2, iconDnie3, zIndexLevel, }: ModalDnieVersionsProps) => react_jsx_runtime.JSX.Element;
@@ -117,7 +117,7 @@ interface ModalDnieVersionsProps {
117
117
  className?: string;
118
118
  iconDnie1: ReactNode;
119
119
  iconDnie2: ReactNode;
120
- iconDnie3: ReactNode;
120
+ iconDnie3?: ReactNode;
121
121
  zIndexLevel?: number;
122
122
  }
123
123
  declare const ModalDnieVersions: ({ isOpen, onClose, className, iconDnie1, iconDnie2, iconDnie3, zIndexLevel, }: ModalDnieVersionsProps) => react_jsx_runtime.JSX.Element;
@@ -1304,38 +1304,46 @@ var ModalDnieVersions = ({
1304
1304
  ),
1305
1305
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col gap-5 sm:gap-8 items-center mt-[18px] sm:mt-6 text-sm", children: [
1306
1306
  /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "flex flex-col sm:flex-row items-center sm:items-start gap-10 w-full", children: [
1307
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 w-full", children: [
1307
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-[233px]", children: [
1308
1308
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "flex-1 mb-4", tabIndex: 0, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold", children: [
1309
1309
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "DNI electr\xF3nico versi\xF3n 1" }),
1310
1310
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "DNIe versi\xF3n 1" })
1311
1311
  ] }) }),
1312
- /* @__PURE__ */ jsxRuntime.jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-5", children: [
1312
+ /* @__PURE__ */ jsxRuntime.jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-8", children: [
1313
1313
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { tabIndex: 0, children: [
1314
1314
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Chip en la parte delantera del DNI electr\xF3nico." }),
1315
1315
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "Chip en la parte delantera del DNIe." })
1316
1316
  ] }) }),
1317
1317
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { tabIndex: 0, children: [
1318
1318
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Compatible solo con el lector del DNI electr\xF3nico en PC, Mac o laptop." }),
1319
- /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "Compatible solo con el lector del DNIe en PC, Mac o laptop." })
1319
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { "aria-hidden": "true", children: [
1320
+ "Compatible solo con el lector del DNIe en ",
1321
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "PC, Mac o laptop" }),
1322
+ "."
1323
+ ] })
1320
1324
  ] }) })
1321
1325
  ] })
1322
1326
  ] }),
1323
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[240px] sm:w-[200px] relative", children: iconDnie1 })
1327
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[240px] sm:w-[200px] relative flex justify-center", children: iconDnie1 })
1324
1328
  ] }),
1325
1329
  /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "flex flex-col sm:flex-row items-center sm:items-start gap-10 sm:gap-[52px] w-full", children: [
1326
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 w-full", children: [
1330
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-[233px]", children: [
1327
1331
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "flex-1 mb-4", tabIndex: 0, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold", children: [
1328
1332
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "DNI electr\xF3nico versi\xF3n 2 y 3" }),
1329
1333
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "DNIe versi\xF3n 2 y 3" })
1330
1334
  ] }) }),
1331
- /* @__PURE__ */ jsxRuntime.jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-5", children: [
1335
+ /* @__PURE__ */ jsxRuntime.jsxs("ul", { role: "none", className: "text-sm list-disc text-justify self-start pl-8", children: [
1332
1336
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { tabIndex: 0, children: [
1333
1337
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Chip en la parte posterior del DNI electr\xF3nico." }),
1334
1338
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "Chip en la parte posterior del DNIe." })
1335
1339
  ] }) }),
1336
1340
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "none", className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { tabIndex: 0, children: [
1337
1341
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Compatibles con el lector del DNI electr\xF3nico en PC, Mac o laptop y tecnolog\xEDa NFC (ISO 14443-B) en m\xF3viles." }),
1338
- /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "Compatibles con el lector del DNIe en PC, Mac o laptop y tecnolog\xEDa NFC (ISO 14443-B) en m\xF3viles." })
1342
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { "aria-hidden": "true", children: [
1343
+ "Compatibles con el lector del DNIe en ",
1344
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: " PC, Mac o laptop y tecnolog\xEDa NFC (ISO 14443-B) en m\xF3viles" }),
1345
+ "."
1346
+ ] })
1339
1347
  ] }) })
1340
1348
  ] })
1341
1349
  ] }),
@@ -1399,7 +1407,7 @@ var ModalNfc = ({
1399
1407
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-3 w-full", children: /* @__PURE__ */ jsxRuntime.jsxs("ol", { role: "presentation", className: "text-sm text-justify list-decimal list-outside", children: [
1400
1408
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "presentation", className: "mb-2", children: "Activa el NFC en tu celular." }),
1401
1409
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "presentation", className: "mb-2", children: "Busca en internet d\xF3nde est\xE1 el lector NFC seg\xFAn tu modelo." }),
1402
- /* @__PURE__ */ jsxRuntime.jsx("li", { role: "presentation", className: "mb-2", children: "Coloca tu DNIe sobre esa zona hasta que recibas una confirmaci\xF3n del sistema." }),
1410
+ /* @__PURE__ */ jsxRuntime.jsx("li", { role: "presentation", className: "mb-2", children: "Coloca tu DNIe sobre esa zona hasta que recibas la confirmaci\xF3n del sistema." }),
1403
1411
  /* @__PURE__ */ jsxRuntime.jsx("li", { role: "presentation", className: "mb-2", children: 'Puedes consultar los videos "Aprende como leer tu DNIe con NFC":' })
1404
1412
  ] }) }),
1405
1413
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row gap-5 justify-center items-center", children: [