{"_id":"@aaroncode/iframe-bridge","_rev":"11-8b8f5db5a1208954b797a427c8a9856a","name":"@aaroncode/iframe-bridge","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.0":{"name":"@aaroncode/iframe-bridge","version":"0.1.0","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.0","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"4f5a8bcc1d17c155c85ce4e8725cc9bfe882960c","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.0.tgz","fileCount":4,"integrity":"sha512-aqf2VhEVkzZbFAfix8YYa2UmnB7SfwjwZJgWYpKFsNi8gHscfgX4YQK5l5+hm6FdYF3Uls8DHx2bdlcEcay6hw==","signatures":[{"sig":"MEUCIQCrXdE7osKr8JrBLrnygdULHF3j4iKtrEJzwmhKlwERvQIgNz7tOPhPXf6kfC+TEF51YB+/MK0YuvN0Mbct089Gw38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7325},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"23.5.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.0_1750646302859_0.3713136418255947","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aaroncode/iframe-bridge","version":"0.1.1","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.1","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"96fdd23a93a1ef79b787c9a2655ccab51c55deb9","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.1.tgz","fileCount":4,"integrity":"sha512-02xH3PZTmV1KFFGseG3yiuEvRvbpOjDJc/bATpKw3myKqjROFLwk0QqTZ7aWqiukFDLN3fJlkBPZ98Etsj2wwQ==","signatures":[{"sig":"MEYCIQCG2dlMhftvc9QAa5kYjjXUPGD7jf42qU01lzTSb2rmLwIhAORWgjQg59Z3l/WtbLx4AB7G+7HP7t6u3iPAW/YLJDVh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2114},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.1_1750723643826_0.7802818029090086","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aaroncode/iframe-bridge","version":"0.1.2","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.2","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"592cf50d3a503b84e225701768c7dfcfbe86d814","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.2.tgz","fileCount":4,"integrity":"sha512-Ox15AnOQG9KIUKy15r5rcsgwOP3OOeBXYk/UMlIVpERNxVA/u80D3VXTXiF3cGcLCMjVwGi7/aqko2ugIVT1Vw==","signatures":[{"sig":"MEUCIQDk/ej42O9ZkFIxM+175nBWlU21OYCwDxf+SW8arf9dwQIgYBko23yf0m1Oq1gNWSypEacooybUzMHeYuvP7f1JOik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2508},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.2_1750728158941_0.32611142881307487","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aaroncode/iframe-bridge","version":"0.1.3","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.3","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"1fe8cda001e2be69812c8735f4b9c8ff4aa5f928","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.3.tgz","fileCount":4,"integrity":"sha512-8ddFcat5ZzEAV+c90PO3Bchy3cah4hgDtKqfliRE3ifQHGKztZMFgExsnKt/F4k8gUgwe6jOJ7P1oQ0pLSZBXA==","signatures":[{"sig":"MEQCIBC+ESu3fCifNben39IuCEheji9fZhcHy/BriyJQjvlEAiBrrtt0/jp0c8x/8xLnou9C9YCowmhlK3QVvfdl6mAl4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.3_1750884020942_0.879756336892273","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aaroncode/iframe-bridge","version":"0.1.4","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.4","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"a8af9c1c90e0d2c68d8155429df6d81e38cd5da9","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.4.tgz","fileCount":4,"integrity":"sha512-1ZZk+2ASearO9Y6ShzjcjKBHFEB892C2jd0KaH2vIJGx1f+8ISIypUn1UJ6/UNqnRFK7GUxyM8itbBXKjpR4PQ==","signatures":[{"sig":"MEUCIHipZ1SVDcCKmuknbS424d2xIwxCrC/Xb1F5hoWt7nk5AiEAoUrrhuHnckAlFA/kdVL9lYKg1pJQBAiPfMhyJKE2RiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1223},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.4_1750884541640_0.8616840191344168","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aaroncode/iframe-bridge","version":"0.1.5","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.5","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"fb252f5d4efabd3d3229f14ab541c559bdd0d61a","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.5.tgz","fileCount":4,"integrity":"sha512-52VijogDDIbz8ThkRG7JYBEKTnWJfQWuMnmi9M1UR13MAqD8PDnLvYhEaqnX8qH/90KPBu+D8bLT3sJ9wFtZoA==","signatures":[{"sig":"MEUCIBV2xyXJiJZdbwGNPNvHqq2uqTkrzo6K7Yl10ivg7kMCAiEA/kpv4nB0v4H/9qIyQN6SnGHCcrhYQeqNelHrFVVTzlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4610},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.5_1751027218184_0.25086208726594883","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aaroncode/iframe-bridge","version":"0.1.6","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.6","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"7227b39485a41a7140bfef9fa3f6e95cd3c258ae","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.6.tgz","fileCount":4,"integrity":"sha512-xaXX17HtwqfZloSHniNK+EROICcIkF6kd1q7t/8arRqfE/ICaTgjFNDiGgCmN/ou3hx3QkDeqjTOQHodmxtw8w==","signatures":[{"sig":"MEUCIGgdR8+hq5amZTyNLOdvtwFYjnvIk99aSuan3/P8bV+BAiEAtMJeKteVhPqGqTfh/rzaTpZxJ+6IQi6h5tVxi/RqmBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3654},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.6_1751037743586_0.5398357270089718","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@aaroncode/iframe-bridge","version":"0.1.7","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.7","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"d968c0d3d26040bffe0ac927cee5a14416c01a31","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.7.tgz","fileCount":4,"integrity":"sha512-YiBcEoELg4oeMnAe2EOv9AGw8WI5ZrOsRNy5bZhm9Zmsuf+twZDeYiUqQN+4Qxn/FIvgRJNPEbmZLORCEBVleQ==","signatures":[{"sig":"MEYCIQDUf8/vf7Fe/XfNLPq2PF9WJ5l9DSHpo+cg58nT6VEWGAIhAK75YN19+CXCDLyfOIGrWzyzo8dcZSrJ2fr5KY7AJQfE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3873},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.7_1751039144838_0.11694879949576031","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@aaroncode/iframe-bridge","version":"0.1.8","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.8","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"ec46ab8e9a154a70d382f0e75f0574140da3f65c","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.8.tgz","fileCount":4,"integrity":"sha512-22tMfilr2GRCiWb/FonnZraFMzRwvK9Bqly8p8CvcXdtiSUilDwFAgFbA6Q4DMxLujQtmcKpGZ9g1lJ50hJ0ew==","signatures":[{"sig":"MEUCIQD0rh0orI+f8pu1bH886xIbkrJ1/7u1Si+umqrZrwM8gQIgPq2TYhWhjfczIkvEL8Vms5a1412b5xoIuEWidtBZ5Pw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3879},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.8_1751039925770_0.7273553446205456","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@aaroncode/iframe-bridge","version":"0.1.9","keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","_id":"@aaroncode/iframe-bridge@0.1.9","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"dist":{"shasum":"93a61a7aeadbcda20e2e923bae0ec1de022216e9","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.9.tgz","fileCount":4,"integrity":"sha512-+JAsW/hESCbEt/3Loy0NAD6+ydJJ3REdEKPlMaaJyHQQApxeOBGM2o7LpREs9Dki3aTE2vXL0k3fQQmCRZQ+kA==","signatures":[{"sig":"MEUCIQCyoPe53Yg+Ud37ZOGlhxy5MuwKUKydQPheFTpvdsCPnAIgMm/hqOKPVqjeg8Q1k2HGfpaPp1Cc0JYF0rqmTDI7R5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6384},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"aaroncode","actor":{"name":"aaroncode","type":"user","email":"aaronfabricio00@gmail.com"},"email":"aaronfabricio00@gmail.com"},"_npmVersion":"10.9.2","description":"Librería para comunicación entre app y iframe","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/iframe-bridge_0.1.9_1751041469272_0.11219793913267484","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@aaroncode/iframe-bridge","version":"0.1.10","description":"Librería para comunicación entre app y iframe","main":"dist/index.js","module":"dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"keywords":["iframe","postMessage"],"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","types":"./dist/index.d.ts","_id":"@aaroncode/iframe-bridge@0.1.10","gitHead":"64d2eed54a5d6a855c9efe9d98cada27ae1dfb1b","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Hjwz4Cnzbs6sZi227lKN1tJ8daDGRgpKQF2Q34IpTQS0FiDWDW1kg90jG7VseG291GZkjJm1HzX3PZ/YNNb2Cg==","shasum":"b84bd3d57e1bf4ffa77858c7c2cf865967700311","tarball":"https://registry.npmjs.org/@aaroncode/iframe-bridge/-/iframe-bridge-0.1.10.tgz","fileCount":4,"unpackedSize":6712,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIESARJ0mRVHWIIuub2hbAh+e9Yqg7frbqZ3RS5HvS30+AiEAqUrC1qsygvz+n9h6XTNR8BdB1vtxbxIuO7hpNnpdMPc="}]},"_npmUser":{"name":"aaroncode","email":"aaronfabricio00@gmail.com","actor":{"name":"aaroncode","email":"aaronfabricio00@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/iframe-bridge_0.1.10_1751042557704_0.41799648792558486"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-23T02:38:22.752Z","modified":"2025-06-27T16:42:38.064Z","0.1.0":"2025-06-23T02:38:23.071Z","0.1.1":"2025-06-24T00:07:24.044Z","0.1.2":"2025-06-24T01:22:39.100Z","0.1.3":"2025-06-25T20:40:21.102Z","0.1.4":"2025-06-25T20:49:01.790Z","0.1.5":"2025-06-27T12:26:58.366Z","0.1.6":"2025-06-27T15:22:23.750Z","0.1.7":"2025-06-27T15:45:45.000Z","0.1.8":"2025-06-27T15:58:45.924Z","0.1.9":"2025-06-27T16:24:29.447Z","0.1.10":"2025-06-27T16:42:37.880Z"},"author":{"name":"Aaron Fabricio Santa Cruz Valdez"},"license":"MIT","keywords":["iframe","postMessage"],"description":"Librería para comunicación entre app y iframe","maintainers":[{"name":"aaroncode","email":"aaronfabricio00@gmail.com"}],"readme":"# @aaroncode/iframe-bridge\n\nLibrería para facilitar la comunicación segura entre una aplicación padre y un iframe usando `postMessage`.\n\n## Instalación\n\n```bash\nnpm install @aaroncode/iframe-bridge\n```\n\n## Uso básico\n\n### 1. Agrega los elementos en tu HTML\n\n```html\n<button id=\"openKycBtn\">Abrir KYC</button>\n<iframe id=\"kycIframe\" style=\"display:none;width:600px;height:400px;\"></iframe>\n<div id=\"mensaje\"></div>\n```\n\n### 2. Usa la librería en tu JS\n\n#### Opción A: Busca el archivo index.js dentro de la carpeta node_modules/@aaroncode/iframe-bridge/dist/ Copia este archivo a tu proyecto (por ejemplo, al mismo nivel que tu archivo de ejemplo) y renómbralo si lo deseas.\n\n```js\nimport { KycIframeBridge } from \"./index.js\";\n\n\n\n```\n\n#### Opción B: Importando desde npm (con bundler)\n\n```js\nimport { KycIframeBridge } from \"@aaroncode/iframe-bridge\";\n```\n\n#### Opción C: Importando desde CDN (jsDelivr)\n\n```js\nimport { KycIframeBridge } from \"https://cdn.jsdelivr.net/npm/@aaroncode/iframe-bridge/+esm\";\n\n```\n### Ejemplo de uso:\n\n```js\n\n    \n    const bridge = new KycIframeBridge({\n    iframeId: \"kycIframe\",\n    buttonId: \"openKycBtn\",\n    allowedOrigins: [\"http://localhost:45679\"],\n    iframeUrl: \"http://localhost:45679/kyc\",\n    entity: {\n        id: \"usuario-123\",\n        apiKey: \"api-key-xyz\"\n    },\n    onExit: (data) => {\n        document.getElementById(\"mensaje\").textContent = \"KYC cerrado: \" + (data?.message || \"\");\n    },\n    onError: (data) => {\n        document.getElementById(\"mensaje\").textContent = \"Error: \" + (data?.message || \"\");\n    }\n    });\n```\n\n## Opciones del constructor\n\n| Opción         | Tipo     | Descripción                                        |\n| -------------- | -------- | -------------------------------------------------- |\n| iframeId       | string   | ID del iframe en el DOM                            |\n| buttonId       | string   | ID del botón que abre el iframe                    |\n| allowedOrigins | string[] | Lista de orígenes permitidos para recibir mensajes |\n| iframeUrl      | string   | URL que se cargará en el iframe                    |\n| entity         | object   | Datos que se enviarán al iframe                    |\n| onExit         | function | Callback al cerrar el iframe                       |\n| onError        | function | Callback para errores                              |\n\n## Notas\n\n- Solo se permite comunicación por `postMessage` (no acceso directo al DOM del iframe si es cross-origin).\n- Si tienes una app sin usar herramientas de empaquetado la mejor forma es usando  la libreria es descargandolo desde npm usando npm install @aaroncode/iframe-bridge luego buscar la carpeta dentro de node_modules el archivo index.js en la carpeta @aaroncode/iframe-bridge/dist/index.js y copear lo que existe en este archivo en un archivo js\n\n---","readmeFilename":"README.md"}