@sekyro/elements 0.0.0-stage → 0.1.0-rc.0
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 +1 -0
- package/LICENSE +29 -0
- package/README.md +247 -2
- package/custom-elements.json +355 -0
- package/dist/cdn/chunks/background-monitor-GCMNCJMG-UXYQ5GX7.js +1 -0
- package/dist/cdn/chunks/camera-trait-HVV5ZEDI-JB4HN6S3.js +1 -0
- package/dist/cdn/chunks/capture-session-doc-K6LVXAGQ-SY3B27LY.js +1 -0
- package/dist/cdn/chunks/chunk-2SENV5CV.js +1 -0
- package/dist/cdn/chunks/chunk-2ZVKLBJD.js +14 -0
- package/dist/cdn/chunks/chunk-3KIFGAEK.js +1 -0
- package/dist/cdn/chunks/chunk-3VYQXVW4.js +1 -0
- package/dist/cdn/chunks/chunk-4FHWXBOB.js +1 -0
- package/dist/cdn/chunks/chunk-562ANROG.js +1 -0
- package/dist/cdn/chunks/chunk-6MEPT5ZS.js +1 -0
- package/dist/cdn/chunks/chunk-7HJH5Q4M.js +1 -0
- package/dist/cdn/chunks/chunk-7XAIG23G.js +1 -0
- package/dist/cdn/chunks/chunk-C66GZ7NN.js +1 -0
- package/dist/cdn/chunks/chunk-CMDITVXF.js +1 -0
- package/dist/cdn/chunks/chunk-CMS5FVGM.js +1 -0
- package/dist/cdn/chunks/chunk-D334IAZJ.js +1 -0
- package/dist/cdn/chunks/chunk-ET7NCKUV.js +1 -0
- package/dist/cdn/chunks/chunk-FAIDO3QL.js +1 -0
- package/dist/cdn/chunks/chunk-HDJ6JFXX.js +1 -0
- package/dist/cdn/chunks/chunk-HODE7UDG.js +1 -0
- package/dist/cdn/chunks/chunk-IBOJTLL7.js +1 -0
- package/dist/cdn/chunks/chunk-IFGPCCJH.js +1 -0
- package/dist/cdn/chunks/chunk-JM3CYFFZ.js +1 -0
- package/dist/cdn/chunks/chunk-JOZCJGRV.js +1 -0
- package/dist/cdn/chunks/chunk-KPGTFHQU.js +1 -0
- package/dist/cdn/chunks/chunk-OBPBHX2J.js +1 -0
- package/dist/cdn/chunks/chunk-OIJVTJML.js +1 -0
- package/dist/cdn/chunks/chunk-RK4HVNRS.js +1 -0
- package/dist/cdn/chunks/chunk-RRLXNT33.js +1 -0
- package/dist/cdn/chunks/chunk-SK6UAYX2.js +1 -0
- package/dist/cdn/chunks/chunk-T4M2J44L.js +1 -0
- package/dist/cdn/chunks/chunk-TCW6XNLI.js +1 -0
- package/dist/cdn/chunks/chunk-UYAVCSQ4.js +25 -0
- package/dist/cdn/chunks/chunk-UZWMCNZI.js +1 -0
- package/dist/cdn/chunks/chunk-X767DBO7.js +1 -0
- package/dist/cdn/chunks/chunk-XYQGAQBQ.js +1 -0
- package/dist/cdn/chunks/chunk-YEPHU5PX.js +1 -0
- package/dist/cdn/chunks/chunk-YMGCOMYZ.js +1 -0
- package/dist/cdn/chunks/chunk-Z3EEB4CI.js +1 -0
- package/dist/cdn/chunks/chunk-ZKEOHGBY.js +33 -0
- package/dist/cdn/chunks/clip-inspect-HZ7N2YOP-DCDXB76T.js +1 -0
- package/dist/cdn/chunks/create-document-capture-LNX6NFSK-A4LP25Y5.js +1 -0
- package/dist/cdn/chunks/create-portrait-capture-VRZZOMJS-I4FBRNBP.js +1 -0
- package/dist/cdn/chunks/detector-scanic-F3Y5X3DF-FGVR4NEM.js +1 -0
- package/dist/cdn/chunks/document-capture-view-JIKJWCFG-MMCEL43X.js +1 -0
- package/dist/cdn/chunks/eid-view-IW2ZP2NG-EB5SCHBD.js +1 -0
- package/dist/cdn/chunks/email-otp-view-VDTMZ4R5-Y5QHQDIB.js +1 -0
- package/dist/cdn/chunks/flow-views-N4FMOYIR-FDN6ATHN.js +1 -0
- package/dist/cdn/chunks/icao-gate-SO6YJ7RV-MPW6W3QN.js +1 -0
- package/dist/cdn/chunks/icao-tuning-DCZCMCEQ-ZQSK7ZOV.js +1 -0
- package/dist/cdn/chunks/keyframe-rank-R4NPQGN3-VRURE6OQ.js +1 -0
- package/dist/cdn/chunks/landmarker-3BBP3RBY-DDXMOLGK.js +1 -0
- package/dist/cdn/chunks/mrz-band-DCXFWDBD-OPMO6HYS.js +1 -0
- package/dist/cdn/chunks/overlay-de-F7GCMCGJ-FBTP3BSM.js +1 -0
- package/dist/cdn/chunks/overlay-es-HIO7CIKS-GDHVHUQW.js +1 -0
- package/dist/cdn/chunks/overlay-pt-YC4HRHKL-J3TGRZRW.js +1 -0
- package/dist/cdn/chunks/plan-runner-DIRERYBF-FANNXQNO.js +1 -0
- package/dist/cdn/chunks/portrait-capture-view-LWESDZPM-SEOHMLJQ.js +1 -0
- package/dist/cdn/chunks/portrait-review-view-FU3QSO4K-DZHDIMQX.js +1 -0
- package/dist/cdn/chunks/print-4WOMNRBE-DNXJ7ERA.js +11 -0
- package/dist/cdn/chunks/scanic-ml-stub-XPNKT2N3-YSXFN7KY.js +1 -0
- package/dist/cdn/chunks/segmenter-3CVPTZMM-WGI6XGWN.js +1 -0
- package/dist/cdn/chunks/turnstile-N4K4U2AI-SLP55XAA.js +1 -0
- package/dist/cdn/chunks/upload-file-C4MFKLT3-DXCNEDXP.js +1 -0
- package/dist/cdn/chunks/vision_bundle-WBHR7TEE.js +41 -0
- package/dist/cdn/define.js +1 -0
- package/dist/cdn/index.js +1 -0
- package/dist/chunk-43YHL2WG.js +1 -0
- package/dist/chunk-4QI2LTJD.js +1 -0
- package/dist/chunk-73JRPFCO.js +33 -0
- package/dist/chunk-HSQWGTF7.js +1 -0
- package/dist/chunk-JJNFGW3A.js +25 -0
- package/dist/chunk-JQ3ANVKN.js +1 -0
- package/dist/chunk-KU4DZ3OQ.js +1 -0
- package/dist/chunk-OSBGOI4W.js +14 -0
- package/dist/chunk-RPLVIGTS.js +1 -0
- package/dist/chunk-SEE6MST7.js +1 -0
- package/dist/chunk-TPIBYY2S.js +1 -0
- package/dist/chunk-UT2KIR2K.js +1 -0
- package/dist/chunk-W2UTL5PI.js +1 -0
- package/dist/chunk-WWGJDMZQ.js +1 -0
- package/dist/chunk-X5K27NXI.js +1 -0
- package/dist/chunk-X5WMOOH2.js +1 -0
- package/dist/define.cjs +66 -0
- package/dist/define.d.cts +7 -0
- package/dist/define.d.ts +7 -0
- package/dist/define.js +1 -0
- package/dist/document-capture-view-JIKJWCFG-OWMTF5A3.js +1 -0
- package/dist/eid-view-IW2ZP2NG-SKEYTRTX.js +1 -0
- package/dist/email-otp-view-VDTMZ4R5-EO7T6SL4.js +1 -0
- package/dist/flow-views-N4FMOYIR-J54ADNRO.js +1 -0
- package/dist/fonts/Cairo-OFL.txt +93 -0
- package/dist/fonts/Geist-OFL.txt +93 -0
- package/dist/fonts/Inter-OFL.txt +93 -0
- package/dist/fonts/SekyroCairo-Bold.woff2 +0 -0
- package/dist/fonts/SekyroCairo-Regular.woff2 +0 -0
- package/dist/fonts/SekyroCairo-SemiBold.woff2 +0 -0
- package/dist/fonts/SekyroGeist-Bold.woff2 +0 -0
- package/dist/fonts/SekyroGeist-SemiBold.woff2 +0 -0
- package/dist/fonts/SekyroInter-Medium.woff2 +0 -0
- package/dist/fonts/SekyroInter-Regular.woff2 +0 -0
- package/dist/fonts/SekyroInter-SemiBold.woff2 +0 -0
- package/dist/index.cjs +66 -0
- package/dist/index.d.cts +1099 -0
- package/dist/index.d.ts +1099 -0
- package/dist/index.js +1 -0
- package/dist/overlay-de-F7GCMCGJ-7OI7SGX4.js +1 -0
- package/dist/overlay-es-HIO7CIKS-LXC2SFGY.js +1 -0
- package/dist/overlay-pt-YC4HRHKL-2QCRICEV.js +1 -0
- package/dist/portrait-capture-view-LWESDZPM-XZOM6LXG.js +1 -0
- package/dist/portrait-review-view-FU3QSO4K-AGWEX2EQ.js +1 -0
- package/dist/styles.css +1475 -0
- package/package.json +117 -4
- package/sbom.cdx.json +153 -0
- package/types/empty.js +2 -0
- package/types/events.d.ts +9 -0
- package/types/jsx.d.ts +15 -0
- package/types/svelte.d.ts +16 -0
- package/types/vue.d.ts +15 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines `<sekyro-verification>`. Idempotent: a second call, or a tag another copy of the package already defined,
|
|
3
|
+
* changes nothing. Returns whether the tag is defined after the call (false without a DOM).
|
|
4
|
+
*/
|
|
5
|
+
declare function defineSekyroElements(): boolean;
|
|
6
|
+
|
|
7
|
+
export { defineSekyroElements };
|
package/dist/define.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines `<sekyro-verification>`. Idempotent: a second call, or a tag another copy of the package already defined,
|
|
3
|
+
* changes nothing. Returns whether the tag is defined after the call (false without a DOM).
|
|
4
|
+
*/
|
|
5
|
+
declare function defineSekyroElements(): boolean;
|
|
6
|
+
|
|
7
|
+
export { defineSekyroElements };
|
package/dist/define.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as e}from"./chunk-73JRPFCO.js";import"./chunk-4QI2LTJD.js";import"./chunk-X5K27NXI.js";import"./chunk-X5WMOOH2.js";import"./chunk-OSBGOI4W.js";import"./chunk-KU4DZ3OQ.js";import"./chunk-UT2KIR2K.js";import"./chunk-WWGJDMZQ.js";import"./chunk-SEE6MST7.js";import"./chunk-43YHL2WG.js";import"./chunk-HSQWGTF7.js";import"./chunk-JJNFGW3A.js";import"./chunk-RPLVIGTS.js";e();export{e as defineSekyroElements};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{a as Ge}from"./chunk-W2UTL5PI.js";import{d as Be}from"./chunk-X5K27NXI.js";import{a as Ie,b as Oe,c as Ee}from"./chunk-KU4DZ3OQ.js";import"./chunk-UT2KIR2K.js";import{a as Ve}from"./chunk-43YHL2WG.js";import"./chunk-HSQWGTF7.js";import{E as Ae,F as Re,G as Pe,I as Ue,K as pe,L as me,a as ct,b as dt,c as O,o as He,q as De,v as Y,w as ue,y as he}from"./chunk-JJNFGW3A.js";import{a as c,c as _e,i as h}from"./chunk-RPLVIGTS.js";var i=_e(ct(),1),e=_e(dt(),1);var ut={image:'<path d="M2 12C2 7.29 2 4.93 3.46 3.46C4.93 2 7.29 2 12 2C16.71 2 19.07 2 20.54 3.46C22 4.93 22 7.29 22 12C22 16.71 22 19.07 20.54 20.54C19.07 22 16.71 22 12 22C7.29 22 4.93 22 3.46 20.54C2 19.07 2 16.71 2 12Z" stroke="currentColor"/><path d="M14 8A2 2 0 1 0 18 8A2 2 0 1 0 14 8Z" stroke="currentColor"/><path d="M2 12.5L3.75 10.97C4.66 10.17 6.04 10.22 6.89 11.07L11.18 15.36C11.87 16.05 12.95 16.14 13.75 15.58L14.04 15.37C15.19 14.57 16.74 14.66 17.78 15.6L21 18.5" stroke="currentColor" stroke-linecap="round"/>',flashlight:'<path d="M9 11.66V19C9 19.93 9 20.4 9.15 20.77C9.36 21.26 9.74 21.64 10.23 21.85C10.6 22 11.07 22 12 22C12.93 22 13.4 22 13.77 21.85C14.26 21.64 14.64 21.26 14.85 20.77C15 20.4 15 19.93 15 19V11.66C15 10.84 15 10.43 15.15 10.06C15.3 9.7 15.59 9.41 16.17 8.83L16.17 8.83L19.41 5.59C19.7 5.3 19.85 5.15 19.92 4.97C20 4.78 20 4.58 20 4.17V4C20 3.06 20 2.59 19.71 2.29C19.41 2 18.94 2 18 2H6C5.06 2 4.59 2 4.29 2.29C4 2.59 4 3.06 4 4V4.17C4 4.58 4 4.78 4.08 4.97C4.15 5.15 4.3 5.3 4.59 5.59L7.83 8.83C8.41 9.41 8.7 9.7 8.85 10.06C9 10.43 9 10.84 9 11.66Z" stroke="currentColor" stroke-linecap="round"/><path d="M15 10H9" stroke="currentColor" stroke-linecap="round"/><path d="M12 13V15" stroke="currentColor" stroke-linecap="round"/><path d="M4.5 5H19.5" stroke="currentColor" stroke-linecap="round"/>'},ht={"dcv3.mrz.searching":"ضع صفحة جواز السفر كاملة داخل الإطار","dcv3.mrz.showMrzSide":"اعرض الوجه الذي يحتوي على سطرين أو ثلاثة أسطر من الحروف","dcv3.mrz.reading":"جارٍ قراءة الوثيقة… ثبّتها","dcv3.mrz.moveCloser":"اقترب حتى تملأ أسطر الحروف الإطار","dcv3.mrz.turnSideways":"أدر هاتفك أفقيًا لقراءة أسطر الحروف","dcv3.mrz.glare":"أمِل الوثيقة لإزالة الانعكاس","dcv3.mrz.holdStill":"لا تتحرك","dcv3.mrz.valid":"تمت قراءة الوثيقة. جارٍ التقاط الصورة","dcv3.mrz.looksLikePassport":"يبدو أن هذا جواز سفر","dcv3.mrz.looksLikeCard":"يبدو أن هذه بطاقة تعريف أو بطاقة إقامة"},ee={"dcv3.mrz.searching":"Fit the whole passport page in the frame","dcv3.mrz.showMrzSide":"Show the side with the two or three lines of characters","dcv3.mrz.reading":"Reading the document… hold it steady","dcv3.mrz.moveCloser":"Move closer so the lines of characters fill the frame","dcv3.mrz.turnSideways":"Turn your phone sideways to read the lines of characters","dcv3.mrz.glare":"Tilt the document to remove the reflection","dcv3.mrz.holdStill":"Hold still","dcv3.mrz.valid":"Document read. Taking the photo","dcv3.mrz.looksLikePassport":"This looks like a passport","dcv3.mrz.looksLikeCard":"This looks like an identity card or residence permit"},pt={"dcv3.mrz.searching":"Cadrez toute la page du passeport","dcv3.mrz.showMrzSide":"Montrez la face avec les deux ou trois lignes de caractères","dcv3.mrz.reading":"Lecture du document… tenez-le immobile","dcv3.mrz.moveCloser":"Rapprochez-vous pour que les lignes de caractères remplissent le cadre","dcv3.mrz.turnSideways":"Tournez votre téléphone à l’horizontale pour lire les lignes de caractères","dcv3.mrz.glare":"Inclinez le document pour supprimer le reflet","dcv3.mrz.holdStill":"Ne bougez plus","dcv3.mrz.valid":"Document lu. Prise de la photo","dcv3.mrz.looksLikePassport":"Ceci ressemble à un passeport","dcv3.mrz.looksLikeCard":"Ceci ressemble à une carte d’identité ou un titre de séjour"},mt={"doc.uploadInstead":"رفع صورة بدلًا من ذلك","doc.uploadTitle":"ارفع صورة لوثيقتك","doc.uploadHint":"صورة واضحة للوثيقة كاملة، ملتقطة بكاميرا.","doc.uploadUnsupported":"اختر صورة للوثيقة بصيغة JPEG أو PNG أو HEIC.","doc.uploadFailed":"تعذّر إرسال هذه الصورة. أعد المحاولة.","doc.source.title":"كيف تريد إضافة وثيقتك؟","doc.source.description":"التقط صورة بالكاميرا، أو ارفع صورة للوثيقة من هذا الجهاز.","doc.source.camera":"التقاط صورة","doc.source.upload":"رفع صورة"},te={"doc.uploadInstead":"Upload a photo instead","doc.uploadTitle":"Upload a photo of your document","doc.uploadHint":"A clear photo of the whole document, taken with a camera.","doc.uploadUnsupported":"Choose a JPEG, PNG or HEIC photo of the document.","doc.uploadFailed":"We could not send this photo. Try again.","doc.source.title":"How do you want to add your document?","doc.source.description":"Take a photo with the camera, or upload a photo of the document from this device.","doc.source.camera":"Take a photo","doc.source.upload":"Upload a photo"},vt={"doc.uploadInstead":"Téléverser une photo à la place","doc.uploadTitle":"Téléversez une photo de votre document","doc.uploadHint":"Une photo nette du document entier, prise avec un appareil photo.","doc.uploadUnsupported":"Choisissez une photo JPEG, PNG ou HEIC du document.","doc.uploadFailed":"Nous n'avons pas pu envoyer cette photo. Réessayez.","doc.source.title":"Comment voulez-vous ajouter votre document ?","doc.source.description":"Prenez une photo avec la caméra, ou importez une photo du document depuis cet appareil.","doc.source.camera":"Prendre une photo","doc.source.upload":"Importer une photo"},ft={"native.doc.introTitle":"سنلتقط صورة لوثيقتك","native.doc.introLead":"ستُفتح كاميرا هاتفك، وتُلتقط الصورة تلقائيًا بمجرد أن تكون الوثيقة داخل الإطار.","native.doc.tip.flat":"ضع الوثيقة مسطحة على سطح داكن.","native.doc.tip.glare":"تجنّب انعكاسات المصابيح أو الشمس.","native.doc.tip.frame":"أبقِ الوثيقة كاملة داخل الإطار.","native.doc.openCamera":"افتح الكاميرا","native.doc.changeDocument":"تغيير الوثيقة","native.scan.closer":"اقترب قليلًا","native.scan.farther":"ابتعد قليلًا","native.scan.glare":"أمِل البطاقة قليلًا","native.scan.dark":"الإضاءة ضعيفة. شغّل المصباح.","native.scan.blurry":"الصورة غير واضحة. ثبّت الهاتف.","native.scan.holdStill":"لا تتحرك","native.scan.reading":"جارٍ التحقق من وثيقتك…","native.scan.putDown":"يمكنك وضع وثيقتك جانبًا.","native.scan.retry":"لنحاول مرة أخرى"},ae={"native.doc.introTitle":"Photograph your document","native.doc.introLead":"Your phone's camera will open. The photo is taken by itself as soon as the document is well framed.","native.doc.tip.flat":"Lay the document flat on a dark surface.","native.doc.tip.glare":"Avoid glare from lamps or sunlight.","native.doc.tip.frame":"Keep the whole document in the frame.","native.doc.openCamera":"Open the camera","native.doc.changeDocument":"Change document","native.scan.closer":"Move a little closer","native.scan.farther":"Move back a little","native.scan.glare":"Tilt the card a little","native.scan.dark":"Too dark. Turn on the light.","native.scan.blurry":"Blurry image. Hold the phone still.","native.scan.holdStill":"Hold still","native.scan.reading":"Checking your document…","native.scan.putDown":"You can put your document down.","native.scan.retry":"Let's try that again"},kt={"native.doc.introTitle":"Photographiez votre pièce","native.doc.introLead":"La caméra de votre téléphone va s'ouvrir. La photo est prise automatiquement dès que la pièce est bien cadrée.","native.doc.tip.flat":"Posez la pièce à plat, sur une surface sombre.","native.doc.tip.glare":"Évitez les reflets de lampe ou de soleil.","native.doc.tip.frame":"Gardez toute la pièce dans le cadre.","native.doc.openCamera":"Ouvrir la caméra","native.doc.changeDocument":"Changer de document","native.scan.closer":"Approchez un peu","native.scan.farther":"Reculez un peu","native.scan.glare":"Inclinez un peu la carte","native.scan.dark":"Trop sombre. Allumez la lampe.","native.scan.blurry":"Image floue. Tenez le téléphone immobile.","native.scan.holdStill":"Ne bougez plus","native.scan.reading":"Vérification de votre document…","native.scan.putDown":"Vous pouvez poser votre pièce.","native.scan.retry":"Réessayons"},gt=["locking","capturing"],W,Ye=(W=class{constructor(){this.shown={hint:null,locking:!1,card:null,manualShutter:!1},this.candidate=null,this.candidateSince=0,this.hintShownAt=0,this.lockLostAt=null,this.detectedSince=null,this.lostSince=null,this.shutterSince=null}present(t,n){return this.presentHint(t,n),this.presentLock(t,n),this.presentCard(t,n),this.shutterSince=t.manualShutter?this.shutterSince??n:null,this.shown={...this.shown,manualShutter:this.shutterSince!==null&&n-this.shutterSince>=1e3},this.shown}presentHint(t,n){let o=t.phase==="framing"&&!(t.hint==="blurry"&&t.card===null)?t.hint:null;if(t.phase!=="framing"){this.shown={...this.shown,hint:null},this.candidate=null;return}if(o!==this.candidate&&(this.candidate=o,this.candidateSince=n),o===this.shown.hint)return;let r=n-this.candidateSince>=(o===null?0:350),f=this.shown.hint===null||n-this.hintShownAt>=1200;r&&f&&(this.shown={...this.shown,hint:o},this.hintShownAt=n)}presentLock(t,n){if(gt.includes(t.phase)){this.shown={...this.shown,locking:!0},this.lockLostAt=null;return}if(this.shown.locking){if(t.phase!=="framing"){this.shown={...this.shown,locking:!1},this.lockLostAt=null;return}this.lockLostAt??(this.lockLostAt=n),n-this.lockLostAt>=300&&(this.shown={...this.shown,locking:!1},this.lockLostAt=null)}}presentCard(t,n){let o=t.card;if(o===null||t.phase!=="framing"){if(t.phase!=="framing"){this.shown={...this.shown,card:null},this.detectedSince=null,this.lostSince=null;return}this.detectedSince=null,this.lostSince??(this.lostSince=n),n-this.lostSince>=300&&(this.shown={...this.shown,card:null});return}if(this.lostSince=null,this.detectedSince??(this.detectedSince=n),n-this.detectedSince<250)return;let r=this.shown.card;if(r===null){this.shown={...this.shown,card:{...o}};return}let f=.35;this.shown={...this.shown,card:{fill:r.fill+(o.fill-r.fill)*f,offsetX:r.offsetX+(o.offsetX-r.offsetX)*f,offsetY:r.offsetY+(o.offsetY-r.offsetY)*f}}}},c(W,"fe"),W);h(Ye,"ScanPresenter");var yt=Ye,wt={en:ae,fr:kt,ar:ft,es:ae,pt:ae,de:ae},Ct=450,fe=h(a=>t=>Ve(a.strings[t]??wt[a.locale][t]??""),"useScanCopy");function j({name:a}){return(0,e.jsx)("svg",{className:"sekyro-glyph",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:ut[a]}})}c(j,"ae");h(j,"ScanGlyph");var zt={en:ee,fr:pt,ar:ht,es:ee,pt:ee,de:ee},bt={en:te,fr:vt,ar:mt,es:te,pt:te,de:te},St="image/jpeg,image/png,image/heic,image/heif";function E(a){let t=a.strings,n=h(o=>t[o]??bt[a.locale][o],"text");return{t:h(o=>n(o)??"","t")}}c(E,"F");h(E,"uploadCopy");function We(a,t){return a===null||a.state==="fallback"||a.state==="mismatch"?null:a.state==="searching"?t?"dcv3.mrz.searching":"dcv3.mrz.showMrzSide":a.state==="valid"?"dcv3.mrz.valid":a.coach!==void 0?`dcv3.mrz.${a.coach}`:"dcv3.mrz.reading"}c(We,"vt");h(We,"mrzInstruction");function ne(a){return a.reason==="unreadable"?"doc.reason_unreadable":a.reason==="tester_document_mismatch"?"reasons.tester_document_mismatch":a.reason!==void 0&&a.reason!=="side_missing"?De(a.reason):null}c(ne,"ve");h(ne,"reasonOf");var Nt=new Set(["document_type_not_accepted","tester_document_mismatch"]);function xt({step:a,i18n:t,liveMrz:n,ageLead:o,...r}){let[f,g]=(0,i.useState)(!1),y=(0,i.useRef)(-1),[v,k]=(0,i.useState)("idle"),w=(0,i.useRef)(null),x=typeof a.uploadDocument=="function",z=x?a.photo?.source??"camera":"camera",M=x&&z!=="camera"&&a.photo?.uploadOffered===!0,[C,V]=(0,i.useState)(null),_=z==="upload"?"upload":z==="choice"?C??a.photo?.pick??"source":"camera",H=v==="sending"?void 0:()=>w.current?.click(),m=h(async D=>{let q=D.currentTarget.files?.[0];if(D.currentTarget.value="",q!==void 0){g(!1),k("sending");try{await a.uploadDocument(q),k("idle")}catch(F){k(F instanceof TypeError&&F.message==="unsupported_file"?"unsupported":"failed")}}},"onFile"),Q=M?(0,e.jsx)("input",{ref:w,type:"file",accept:St,hidden:!0,"data-testid":"sekyro-doc-upload","aria-label":E(t).t("doc.uploadTitle"),onChange:c(D=>{m(D)},"onChange")}):null,b=E(t),X=a.photo?.cameraOnPhone===!0;return _==="camera"&&X?(0,e.jsx)(Be,{i18n:t,lead:t.t("handoff.lead.document"),refresh:a.refresh,actions:(0,e.jsx)(O,{kind:"ghost",full:!0,onClick:c(()=>V("upload"),"onClick"),children:b.t("doc.source.upload")})}):_==="source"?(0,e.jsx)(Ge,{testId:"sekyro-doc-source",title:b.t("doc.source.title"),lead:b.t("doc.source.description"),cameraLabel:X?t.t("capture.source.phone"):b.t("doc.source.camera"),onPhone:X,uploadLabel:b.t("doc.source.upload"),notice:(0,e.jsx)(oe,{step:a,i18n:t}),onCamera:c(()=>V("camera"),"onCamera"),onUpload:c(()=>V("upload"),"onUpload")}):_==="upload"?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(je,{step:a,i18n:t,ageLead:o===!0,upload:v,offered:M,onPick:c(()=>w.current?.click(),"onPick"),...z==="choice"?{onCamera:h(()=>V("camera"),"onCamera")}:{},...r}),Q]}):(0,e.jsxs)(e.Fragment,{children:[f?(0,e.jsx)(Qe,{step:a,i18n:t,attempts:y,...n!==void 0?{liveMrz:n}:{},...M&&H!==void 0?{onUpload:H}:{},onClose:c(()=>g(!1),"onClose")}):(0,e.jsx)(Fe,{step:a,i18n:t,ageLead:o===!0,onOpen:c(()=>g(!0),"onOpen"),upload:v,...M&&H!==void 0?{onUpload:H}:{},...r}),Q]})}c(xt,"ln");h(xt,"DocumentCaptureView");function ke({passport:a}){let t=Math.round(228/(a?1.42:1.586));return(0,e.jsxs)("svg",{className:"sekyro-mark sekyro-mark--card",viewBox:`-12 -12 252 ${t+24}`,"aria-hidden":"true",focusable:"false",children:[(0,e.jsx)("defs",{children:(0,e.jsx)("clipPath",{id:"sekyro-card-clip",children:(0,e.jsx)("rect",{width:228,height:t,rx:"12.5"})})}),(0,e.jsx)("rect",{className:"sekyro-mark__card",width:228,height:t,rx:"12.5"}),(0,e.jsx)("rect",{className:"sekyro-mark__photo",x:"17",y:"17",width:"55",height:t*.52,rx:"6"}),[0,1,2].map(n=>(0,e.jsx)("rect",{className:"sekyro-mark__text",x:"88",y:23+n*t*.12,width:100-n*20,height:"6",rx:"3"},n)),[0,1].map(n=>(0,e.jsx)("rect",{className:"sekyro-mark__text",x:"17",y:t*.74+n*9,width:194,height:"4",rx:"2"},n)),(0,e.jsx)("g",{clipPath:"url(#sekyro-card-clip)",children:(0,e.jsx)("g",{className:"sekyro-mark__read",style:{"--sekyro-read-w":"228px"},children:(0,e.jsx)("rect",{x:"-1",width:"2",height:t,className:"sekyro-mark__beam"})})}),(0,e.jsx)("path",{className:"sekyro-mark__brackets",d:Xe(-10,-10,248,t+20,16,30)})]})}c(ke,"qe");h(ke,"ScanMark");function Xe(a,t,n,o,r,f){let g=Math.min(r,f*.6);return[[a,t,1,1],[a+n,t,-1,1],[a,t+o,1,-1],[a+n,t+o,-1,-1]].map(([y,v,k,w])=>`M${y} ${v+w*f}V${v+w*g}Q${y} ${v} ${y+k*g} ${v}H${y+k*f}`).join("")}c(Xe,"kt");h(Xe,"brackets");function Fe({step:a,i18n:t,ageLead:n,onOpen:o,onChangeCountry:r,onChangeDocument:f,upload:g,onUpload:y}){let v=fe(t),k=E(t),w=a.documentType==="passport",x=ne(a),z=g==="sending",M=(0,i.useContext)(Re)?.busy===!0;return(0,e.jsxs)("section",{className:"sekyro-step","data-testid":"sekyro-document",children:[(0,e.jsx)(ke,{passport:w}),(0,e.jsx)(ue,{title:v("native.doc.introTitle"),lead:n?t.t("doc.ageStepUp"):v("native.doc.introLead")}),(0,e.jsx)(oe,{step:a,i18n:t}),a.reason!==void 0&&Nt.has(a.reason)?null:(0,e.jsxs)("ul",{className:"sekyro-tiprows",children:[(0,e.jsxs)("li",{children:[(0,e.jsx)(Y,{name:w?"passport":"card"}),v("native.doc.tip.flat")]}),(0,e.jsxs)("li",{children:[(0,e.jsx)(Y,{name:"light"}),v("native.doc.tip.glare")]}),(0,e.jsxs)("li",{children:[(0,e.jsx)(j,{name:"image"}),v("native.doc.tip.frame")]})]}),(0,e.jsx)(ge,{i18n:t,...f!==void 0?{onChangeDocument:f}:{},...r!==void 0?{onChangeCountry:r}:{}}),(0,e.jsx)(ye,{i18n:t,upload:g}),z?(0,e.jsx)("p",{className:"sekyro-text-muted",role:"status",children:t.t("doc.uploading")}):y!==void 0?(0,e.jsx)("p",{className:"sekyro-text-muted",children:k.t("doc.uploadHint")}):null,(0,e.jsxs)(he,{children:[(0,e.jsxs)(O,{full:!0,onClick:o,disabled:z||M,children:[(0,e.jsx)(Y,{name:"camera"}),v("native.doc.openCamera")]}),y!==void 0?(0,e.jsxs)(O,{full:!0,kind:"ghost",onClick:y,children:[(0,e.jsx)(j,{name:"image"}),k.t("doc.uploadInstead")]}):null]})]})}c(Fe,"bt");h(Fe,"DocumentIntro");function oe({step:a,i18n:t}){let n=ne(a);return n===null?null:(0,e.jsxs)(pe,{tone:"warning",children:[(0,e.jsx)("span",{children:t.t(n)}),(0,e.jsx)("span",{children:me(t,a.attemptsRemaining,a.attemptsExhausted)})]})}c(oe,"ye");h(oe,"ReasonNotice");function ge({i18n:a,onChangeCountry:t,onChangeDocument:n}){let o=fe(a);return n===void 0&&t===void 0?null:(0,e.jsxs)("div",{className:"sekyro-links",children:[n!==void 0?(0,e.jsx)("button",{type:"button",className:"sekyro-link",onClick:n,children:o("native.doc.changeDocument")}):null,t!==void 0?(0,e.jsx)("button",{type:"button",className:"sekyro-link",onClick:t,children:a.t("native.doc.changeCountry")}):null]})}c(ge,"Je");h(ge,"ChangeLinks");function ye({i18n:a,upload:t}){return t!=="unsupported"&&t!=="failed"?null:(0,e.jsx)(pe,{tone:"warning",children:(0,e.jsx)("span",{children:E(a).t(t==="unsupported"?"doc.uploadUnsupported":"doc.uploadFailed")})})}c(ye,"et");h(ye,"UploadNotice");function je({step:a,i18n:t,ageLead:n,upload:o,offered:r,onPick:f,onCamera:g,onChangeCountry:y,onChangeDocument:v}){let k=E(t),w=o==="sending";return(0,e.jsxs)("section",{className:"sekyro-step","data-testid":"sekyro-doc-upload-screen",children:[(0,e.jsx)(ke,{passport:a.documentType==="passport"}),(0,e.jsx)(ue,{title:k.t("doc.uploadTitle"),lead:n?t.t("doc.ageStepUp"):k.t("doc.uploadHint")}),n?(0,e.jsx)("p",{className:"sekyro-text-muted",children:k.t("doc.uploadHint")}):null,(0,e.jsx)(oe,{step:a,i18n:t}),(0,e.jsx)(ge,{i18n:t,...v!==void 0?{onChangeDocument:v}:{},...y!==void 0?{onChangeCountry:y}:{}}),(0,e.jsx)(ye,{i18n:t,upload:o}),w?(0,e.jsx)("p",{className:"sekyro-text-muted",role:"status",children:t.t("doc.uploading")}):null,(0,e.jsxs)(he,{children:[(0,e.jsxs)(O,{full:!0,onClick:f,disabled:w||!r||a.attemptsExhausted,children:[(0,e.jsx)(j,{name:"image"}),k.t("doc.source.upload")]}),g!==void 0?(0,e.jsxs)(O,{full:!0,kind:"ghost",onClick:g,disabled:w,children:[(0,e.jsx)(Y,{name:"camera"}),k.t("doc.source.camera")]}):null]})]})}c(je,"wt");h(je,"DocumentUploadScreen");function ve(a,t,n){let o=a*.88,r=o/n;return{x:(a-o)/2,y:t*.42-r/2,w:o,h:r}}c(ve,"Qe");h(ve,"guideRect");var $t={too_far:"native.scan.closer",too_close:"native.scan.farther",focus_far:"native.scan.farther",glare:"native.scan.glare",too_bright:"native.scan.glare",too_dark:"native.scan.dark",blurry:"native.scan.blurry"},Lt=h(()=>typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches===!0,"reduceMotion");function Qe({step:a,i18n:t,liveMrz:n,onClose:o,attempts:r,onUpload:f}){let g=fe(t),y=(0,i.useContext)(Ie),v=(0,i.useRef)(y);v.current=y;let k=(0,i.useRef)(null),w=(0,i.useRef)(null),x=(0,i.useRef)(null),[z,M]=(0,i.useState)("idle"),[C,V]=(0,i.useState)(null),[_,H]=(0,i.useState)(null),[m,Q]=(0,i.useState)({w:0,h:0}),[b,X]=(0,i.useState)({hint:null,locking:!1,card:null,manualShutter:!1}),[D,q]=(0,i.useState)({}),[F,Ke]=(0,i.useState)(null),[we,et]=(0,i.useState)(null),[Ce,ze]=(0,i.useState)(0),[be,Se]=(0,i.useState)(null),[Z,Ne]=(0,i.useState)(null),A=a.documentType==="passport",J=A?1.42:1.586;Ae(!0),(0,i.useLayoutEffect)(()=>{let s=k.current;if(s===null)return;let u=h(()=>Q({w:s.clientWidth,h:s.clientHeight}),"measure");if(u(),typeof ResizeObserver>"u")return;let d=new ResizeObserver(u);return d.observe(s),()=>d.disconnect()},[]);let l=ve(m.w,m.h,J);(0,i.useEffect)(()=>{m.w===0||m.h===0||x.current?.setGuide?.({viewAspect:m.w/m.h,rect:{x:l.x/m.w,y:l.y/m.h,width:l.w/m.w,height:l.h/m.h}})},[m.w,m.h,l.x,l.y,l.w,l.h]),(0,i.useEffect)(()=>{let s=w.current;if(s===null)return;let u=a.capture({video:s,...n!==void 0?{liveMrz:n}:{}});x.current=u;let d=k.current;if(d!==null&&d.clientWidth>0&&d.clientHeight>0){let p=ve(d.clientWidth,d.clientHeight,J);u.setGuide?.({viewAspect:d.clientWidth/d.clientHeight,rect:{x:p.x/d.clientWidth,y:p.y/d.clientHeight,width:p.w/d.clientWidth,height:p.h/d.clientHeight}})}let T=new yt,N={scan:null,feedback:null,gate:null},P=h(p=>{N={...N,...p};let L=N.gate?.guide,st={phase:N.scan?.phase??"framing",hint:N.feedback?.reticle==="coaching"?N.feedback.key:null,card:L?.detected?{fill:L.fill,offsetX:L.offsetX,offsetY:L.offsetY}:null,manualShutter:N.scan?.manualShutter??!1},U=T.present(st,performance.now());X(I=>I.hint===U.hint&&I.locking===U.locking&&I.manualShutter===U.manualShutter&&I.card?.fill===U.card?.fill&&I.card?.offsetX===U.card?.offsetX&&I.card?.offsetY===U.card?.offsetY?I:U)},"present"),it=[u.on("state",M),u.on("feedback",p=>P({feedback:p})),u.on("gate",p=>P({gate:p})),u.on("scan",p=>{V(p),P({scan:p})}),u.on("captured",p=>{q(L=>({...L,[qe(p.side,A,L)]:p.previewDataUrl})),Ke(p.previewDataUrl),et(Je(s))}),u.on("error",p=>{H(p);let L=v.current;L!==null&&Ee(L,Oe("document",p,Math.max(0,r.current)))}),u.on("mrz",p=>{p.state==="mismatch"?Ne(p.format??null):Se(p)})];return r.current+=1,u.start().catch(()=>{}),()=>{for(let p of it)p();u.destroy(),x.current=null}},[a.issuer,a.documentType]);let $=C?.phase??"framing",R=$==="reading"||$==="result",re=$==="flipCue"||$==="reaskRecto",B=b.locking,xe=C?.captured.length??0;(0,i.useEffect)(()=>{B&&ze(s=>s+1)},[B]),(0,i.useEffect)(()=>{xe>0&&ze(s=>s+1)},[xe]);let tt=C?.expected??null;(0,i.useEffect)(()=>{Se(null)},[tt]),(0,i.useEffect)(()=>{if(Z===null)return;let s=setTimeout(()=>Ne(null),2e3);return()=>clearTimeout(s)},[Z]);let $e=re||R?null:We(be,A),le=Z!==null?Z==="TD3"?"dcv3.mrz.looksLikePassport":"dcv3.mrz.looksLikeCard":$e,at=le===null?null:t.strings[le]??zt[t.locale][le],ie=ne(a),Le=b.hint===null?null:$t[b.hint]??`dcv2.${b.hint}`,nt=Le??($==="flipCue"?C?.notice==="same_face"?"doc.sameFace":"doc.flip":$==="reaskRecto"?"doc.reaskRecto":R?"native.scan.reading":$==="locking"||$==="capturing"||B?"native.scan.holdStill":C?.notice==="reread"?ie??"doc.reread":C?.notice==="technical"?"native.scan.retry":C?.notice==="blurry"?"native.scan.blurry":ie??(A?"doc.showPage":"doc.showSide")),se=at??g(nt),G=b.card,S=l;if(!B&&G!==null&&G.fill>=.45&&G.fill<=1.25&&!Lt()){let s=l.w*G.fill,u=s/J,d=l.x+l.w/2+l.w*Math.max(-.25,Math.min(.25,G.offsetX)),T=l.y+l.h/2+l.h*Math.max(-.25,Math.min(.25,G.offsetY));S={x:d-s/2,y:T-u/2,w:s,h:u}}let K=l.w*.045,ce=28,Me=Math.min(K,ce*.6),ot=[[S.x,S.y,1,1],[S.x+S.w,S.y,-1,1],[S.x,S.y+S.h,1,-1],[S.x+S.w,S.y+S.h,-1,-1]],rt=B?"is-locked":b.hint!==null?"is-coaching":"",lt=A?[{side:"single",label:"doc.progressPage"}]:[{side:"recto",label:"doc.progressFront"},{side:"verso",label:"doc.progressBack"}],Te=l.y+l.h+48,de={insetInlineStart:l.x,insetBlockStart:l.y,inlineSize:l.w,blockSize:l.h,borderRadius:K};return(0,e.jsx)("section",{className:"sekyro-lm","aria-label":se,"data-testid":"sekyro-document",children:(0,e.jsxs)("div",{ref:k,className:`sekyro-lm-stage${R?" is-reading":""}${re?" is-flip":""}`,style:{"--sekyro-guide-w":`${l.w}px`},children:[(0,e.jsx)("video",{ref:w,className:"sekyro-lm-video",playsInline:!0,muted:!0,autoPlay:!0,"aria-hidden":"true",onPointerUp:c(s=>{let u=s.currentTarget,d=u.getBoundingClientRect(),T=Math.max(d.width/(u.videoWidth||1),d.height/(u.videoHeight||1)),N=u.videoWidth*T,P=u.videoHeight*T;N>0&&P>0&&x.current?.focusAt((s.clientX-d.left+(N-d.width)/2)/N,(s.clientY-d.top+(P-d.height)/2)/P)},"onPointerUp")}),m.w>0?(0,e.jsxs)(e.Fragment,{children:[R&&we!==null?(0,e.jsx)("img",{className:"sekyro-lm-scene",src:we,alt:""}):null,R&&F!==null?(0,e.jsx)("img",{className:"sekyro-lm-frozen",src:F,alt:"",style:de}):null,(0,e.jsxs)("svg",{className:"sekyro-lm-overlay",viewBox:`0 0 ${m.w} ${m.h}`,"aria-hidden":"true",focusable:"false",children:[(0,e.jsxs)("defs",{children:[(0,e.jsxs)("linearGradient",{id:"sekyro-lm-top",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,e.jsx)("stop",{offset:"0",className:"sekyro-lm-ink",stopOpacity:"0.85"}),(0,e.jsx)("stop",{offset:"1",className:"sekyro-lm-ink",stopOpacity:"0"})]}),(0,e.jsxs)("linearGradient",{id:"sekyro-lm-bottom",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,e.jsx)("stop",{offset:"0",className:"sekyro-lm-ink",stopOpacity:"0"}),(0,e.jsx)("stop",{offset:"1",className:"sekyro-lm-ink",stopOpacity:"0.9"})]})]}),(0,e.jsx)("path",{className:"sekyro-lm-scrim",fillRule:"evenodd",d:`M0 0H${m.w}V${m.h}H0Z${Ze(l,K)}`}),(0,e.jsx)("rect",{width:m.w,height:Math.max(0,l.y),fill:"url(#sekyro-lm-top)"}),(0,e.jsx)("rect",{y:l.y+l.h,width:m.w,height:Math.max(0,m.h-l.y-l.h),fill:"url(#sekyro-lm-bottom)"}),(0,e.jsx)("g",{className:`sekyro-lm-brackets ${rt}`,children:ot.map(([s,u,d,T],N)=>(0,e.jsx)("path",{style:{transform:`translate(${s}px, ${u}px) scale(${d}, ${T})`},d:`M0 ${ce}V${Me}Q0 0 ${Me} 0H${ce}`},N))}),B?(0,e.jsx)("rect",{className:"sekyro-lm-trace",x:l.x,y:l.y,width:l.w,height:l.h,rx:K,pathLength:"1",style:{animationDuration:`${Ct}ms`}}):null]}),(0,e.jsx)("div",{className:"sekyro-lm-slot",style:de,"aria-hidden":"true",children:R?(0,e.jsx)("span",{className:"sekyro-lm-read is-repeating"}):Ce>0?(0,e.jsx)("span",{className:"sekyro-lm-read"},Ce):null})]}):null,$e!==null?(0,e.jsx)("div",{className:"sekyro-lm-slot",style:de,"aria-hidden":"true",children:(0,e.jsx)("span",{"data-testid":"sekyro-mrz-strip",className:`sekyro-lm-mrz${A?" is-page":""}${be?.state==="valid"?" is-valid":""}`})}):null,(0,e.jsxs)("div",{className:"sekyro-lm-instruction",style:{insetBlockStart:l.y-64},children:[(0,e.jsx)("div",{role:"status","aria-live":"polite",children:(0,e.jsx)(Ue,{swapKey:se,className:"sekyro-lm-line",children:se})}),ie!==null&&$==="framing"&&Le===null?(0,e.jsx)("p",{className:"sekyro-lm-attempts",children:me(t,a.attemptsRemaining,a.attemptsExhausted)}):null]}),R?(0,e.jsxs)("p",{className:"sekyro-lm-under sekyro-lm-note",style:{insetBlockStart:Te-12},children:[(0,e.jsx)("span",{className:"sekyro-lm-spinner","aria-hidden":"true"}),g("native.scan.putDown")]}):re?(0,e.jsx)("div",{className:`sekyro-lm-under sekyro-lm-flip${$==="reaskRecto"?" is-toFront":""}`,style:{insetBlockStart:Te-20},"data-testid":"sekyro-flip-cue","aria-hidden":"true",children:(0,e.jsxs)("span",{className:"sekyro-lm-flip-card",style:{aspectRatio:String(J)},children:[(0,e.jsx)("span",{className:"sekyro-lm-flip-front"}),(0,e.jsx)("span",{className:"sekyro-lm-flip-back"})]})}):null,(0,e.jsxs)("div",{className:"sekyro-lm-controls",children:[(0,e.jsxs)("div",{className:"sekyro-lm-bar",children:[(0,e.jsx)("button",{type:"button",className:"sekyro-glass","aria-label":t.t("native.close"),onClick:o,children:(0,e.jsx)(Y,{name:"close"})}),C?.torchAvailable?(0,e.jsx)("button",{type:"button",className:`sekyro-glass${C.torch?" is-on":""}`,"aria-label":t.t("doc.torchOn"),"aria-pressed":C.torch,onClick:c(()=>x.current?.setTorch(!C.torch),"onClick"),children:(0,e.jsx)(j,{name:"flashlight"})}):null]}),_!==null?(0,e.jsxs)("div",{className:"sekyro-lm-error",role:"alert",children:[(0,e.jsx)("p",{children:t.t("doc.cameraBlocked")}),(0,e.jsx)("p",{children:t.t(_.kind==="permission"?"doc.cameraBlockedHint":He(_.kind))}),(0,e.jsx)(O,{onClick:c(()=>{H(null),r.current+=1,x.current?.retry()},"onClick"),children:t.t("doc.retryCamera")})]}):null,b.manualShutter?(0,e.jsx)("button",{type:"button",className:"sekyro-shutter","aria-label":t.t("doc.shutter"),onClick:c(()=>x.current?.shutter(),"onClick")}):null,(0,e.jsx)("ol",{className:"sekyro-lm-tray",children:lt.map(({side:s,label:u})=>{let d=C?.captured.includes(s)??!1;return(0,e.jsxs)("li",{className:d?"is-done":void 0,"aria-current":!d&&(A||C?.expected===s)?"step":void 0,children:[d?(0,e.jsxs)("span",{className:"sekyro-lm-thumb",children:[D[s]!==void 0?(0,e.jsx)("img",{src:D[s],alt:""}):null,(0,e.jsx)("svg",{className:"sekyro-lm-check",viewBox:"0 0 18 18","aria-hidden":"true",children:(0,e.jsx)("path",{d:"M5 9.2l2.6 2.6L13 6.4"})})]}):null,g(u)]},s)})}),f!==void 0?(0,e.jsx)("button",{type:"button",className:"sekyro-lm-upload",onClick:f,children:E(t).t("doc.uploadInstead")}):null,z==="uploading"||z==="checking"?null:(0,e.jsx)(Pe,{onStop:o})]}),z==="uploading"||z==="checking"?(0,e.jsx)("span",{className:"sekyro-visually-hidden",role:"status",children:z==="uploading"?t.t("doc.uploading"):g("native.scan.reading")}):null]})})}c(Qe,"Nt");h(Qe,"LumiereScan");function qe(a,t,n){return t?"single":a==="recto"||a==="verso"?a:n.recto===void 0?"recto":"verso"}c(qe,"Lt");h(qe,"slotOf");function Ze({x:a,y:t,w:n,h:o},r){return`M${a+r} ${t}H${a+n-r}Q${a+n} ${t} ${a+n} ${t+r}V${t+o-r}Q${a+n} ${t+o} ${a+n-r} ${t+o}H${a+r}Q${a} ${t+o} ${a} ${t+o-r}V${t+r}Q${a} ${t} ${a+r} ${t}Z`}c(Ze,"zt");h(Ze,"roundedRect");function Je(a){let t=Math.round(a.videoWidth/4),n=Math.round(a.videoHeight/4);if(t===0||n===0||typeof document>"u")return null;try{let o=document.createElement("canvas");o.width=t,o.height=n;let r=o.getContext("2d");return r===null?null:(r.drawImage(a,0,0,t,n),o.toDataURL("image/jpeg",.7))}catch{return null}}c(Je,"xt");h(Je,"sceneSnapshot");export{xt as DocumentCaptureView,Ct as LOCK_TRACE_MS,St as UPLOAD_ACCEPT,ve as guideRect,We as mrzInstruction,qe as slotOf};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{a as j,b as v,c as z}from"./chunk-TPIBYY2S.js";import{a as O,b as W,c as q}from"./chunk-WWGJDMZQ.js";import{a as U}from"./chunk-SEE6MST7.js";import{a as E}from"./chunk-43YHL2WG.js";import"./chunk-HSQWGTF7.js";import{H as T,K as R,a as te,b as oe,c as N,t as P,y as A}from"./chunk-JJNFGW3A.js";import{a as u,c as L,i as o}from"./chunk-RPLVIGTS.js";var a=L(te(),1),i=L(oe(),1);import{isValidNni as ce,normalizeNni as J}from"@sekyro/web";var K={en:v,fr:z,ar:j,es:v,pt:v,de:v},w=6,pe=new Set(["eid_identifier_invalid","eid_code_invalid","eid_locked","eid_not_enrolled"]),Q=o((e,d)=>{if(e===void 0)return 0;let h=Date.parse(e)-d;return Number.isFinite(h)?Math.max(0,Math.ceil(h/1e3)):0},"secondsUntil"),me=o(e=>`${Math.floor(e/60)}:${String(e%60).padStart(2,"0")}`,"mmss");function ue({step:e,i18n:d,className:h,onError:X}){let C=d.strings,r=o((n,t)=>E(C[n]??K[d.locale][n]??"",t),"t"),I=o((n,t)=>{let se=new Intl.PluralRules(d.locale).select(t),G=`${n}.${se}`,le=C[G]??K[d.locale][G]??r(`${n}.other`);return E(le,{count:new Intl.NumberFormat(d.locale).format(t)})},"plural"),y=o(n=>e.providerName?r(`eid.${n}`,{provider:e.providerName}):r(`eid.${n}Generic`),"named"),[B,Y]=(0,a.useState)(""),[f,_]=(0,a.useState)(""),[c,S]=(0,a.useState)(!1),[b,p]=(0,a.useState)(null),s=e.phase==="code",D=q(s),l=(0,a.useId)(),Z=P(),[ee,ie]=O(e.reason==="eid_code_invalid",e.codeAttemptsRemaining??0,()=>_("")),m=o(async n=>{S(!0),p(null);try{await n()}catch(t){p(U(t,d.strings)),X?.(t)}finally{S(!1)}},"run"),F=(0,a.useRef)(!1);(0,a.useEffect)(()=>{!e.identifierBound||s||e.reason!==void 0||F.current||(F.current=!0,m(()=>e.start()))},[e.identifierBound,s,e.reason]),(0,a.useEffect)(()=>{(e.reason==="eid_code_invalid"||e.codeExpiresAt!==void 0)&&_("")},[e.reason,e.codeExpiresAt,e.codeAttemptsRemaining]);let M=(0,a.useRef)(s);(0,a.useEffect)(()=>{s&&!M.current&&document.getElementById(`${l}-code`)?.focus(),M.current=s},[s,l]);let k=e.reason==="eid_locked",H=Q(e.codeExpiresAt,D),x=s&&e.codeExpiresAt!==void 0&&H===0,$=Q(e.resendAvailableAt,D),V=e.resendsRemaining===0||e.reason==="eid_resend_limit",ne=o(n=>{if(n.preventDefault(),s){f.length===w&&!k&&m(()=>e.verify(f));return}if(e.identifierBound){m(()=>e.start());return}let t=J(B);if(e.country==="MR"){if(!/^\d{10}$/.test(t))return p("population.invalid");if(!ce(t))return p("population.reason_nni_invalid")}m(()=>e.start(t))},"onSubmit"),g=e.reason?.startsWith("eid_")?e.reason:void 0,re=(0,i.jsxs)(i.Fragment,{children:[g!==void 0?(0,i.jsxs)(R,{tone:pe.has(g)?"danger":"warning",children:[(0,i.jsx)("span",{children:r(`reasons.${g}`)}),g==="eid_code_invalid"&&e.codeAttemptsRemaining!==void 0?(0,i.jsx)("span",{children:I("eid.codeAttemptsRemaining",e.codeAttemptsRemaining)}):null,e.canUseCamera?(0,i.jsx)(N,{kind:"secondary",disabled:c,onClick:u(()=>{m(()=>e.useCamera())},"onClick"),children:r("eid.useCamera")}):null]}):null,b!==null?(0,i.jsx)(R,{tone:"danger",children:(0,i.jsx)("span",{children:d.t(b)})}):null]}),[ae,de]=s?[y("codeTitle"),y("codeHelp")]:[y("identifierTitle"),y(e.identifierBound?"boundDescription":"identifierDescription")];return(0,i.jsxs)("form",{className:`sekyro-step sekyro-otp${h?` ${h}`:""}`,"aria-labelledby":l,onSubmit:ne,noValidate:!0,"data-testid":"sekyro-eid",children:[(0,i.jsxs)("div",{className:"sekyro-heading",children:[(0,i.jsx)("h2",{id:l,ref:Z,tabIndex:-1,className:"sekyro-text-body",children:ae}),(0,i.jsx)("p",{className:"sekyro-text-muted",children:s&&e.context.simulation!==void 0?(0,i.jsx)(T,{template:d.t("sandbox.otpHint"),code:e.context.simulation.otpCode}):de}),e.afterPass==="continue"?(0,i.jsx)("p",{className:"sekyro-text-muted","data-testid":"sekyro-eid-continue",children:e.providerName?r("eid.continueHint",{provider:e.providerName}):r("eid.continueHintGeneric")}):null]}),re,s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"sekyro-field",children:[(0,i.jsx)("label",{className:"sekyro-label",htmlFor:`${l}-code`,children:r("eid.codeLabel")}),k?(0,i.jsx)("input",{id:`${l}-code`,className:"sekyro-input sekyro-input--number",dir:"ltr",value:f,disabled:!0,readOnly:!0}):(0,i.jsx)(W,{id:`${l}-code`,value:f,length:w,invalid:ee,onChange:u(n=>{p(null),n!==""&&ie(),_(n)},"onChange")}),e.codeExpiresAt!==void 0?(0,i.jsx)("span",{className:`sekyro-help sekyro-otp-expiry${x?" is-danger":""}`,children:x?r("eid.expired"):r("eid.expiresIn",{time:me(H)})}):null]}),(0,i.jsx)("span",{className:"sekyro-visually-hidden",role:"status","aria-live":"polite",children:x?r("eid.expired"):""}),(0,i.jsxs)(A,{children:[(0,i.jsx)(N,{type:"submit",full:!0,disabled:c||f.length!==w||k,"aria-busy":c||void 0,children:r("eid.verify")}),(0,i.jsx)("div",{className:"sekyro-resend-row",children:V?(0,i.jsx)("p",{className:"sekyro-resend is-waiting",children:r("eid.noResendsLeft")}):(0,i.jsx)("button",{type:"button",className:"sekyro-link sekyro-resend",disabled:c||$>0||k,onClick:u(()=>{m(()=>e.resend())},"onClick"),children:$>0?r("eid.resendIn",{seconds:$}):r("eid.resend")})}),!V&&e.resendsRemaining!==void 0?(0,i.jsx)("p",{className:"sekyro-help sekyro-center",children:I("eid.resendsRemaining",e.resendsRemaining)}):null]})]}):(0,i.jsxs)(i.Fragment,{children:[e.identifierBound?null:(0,i.jsxs)("div",{className:"sekyro-field",children:[(0,i.jsx)("label",{className:"sekyro-label",htmlFor:`${l}-nni`,children:d.t("population.label")}),(0,i.jsx)("input",{id:`${l}-nni`,className:"sekyro-input sekyro-input--number",dir:"ltr",inputMode:"numeric",autoComplete:"off",placeholder:d.t("population.placeholder"),value:B,"aria-describedby":`${l}-nni-help`,"aria-invalid":b==="population.invalid"||b==="population.reason_nni_invalid"||void 0,onChange:u(n=>{p(null),Y(J(n.target.value).replace(/\D/g,"").slice(0,10))},"onChange")}),(0,i.jsx)("span",{id:`${l}-nni-help`,className:"sekyro-help",children:d.t("population.helper")})]}),(0,i.jsx)(A,{children:(0,i.jsx)(N,{type:"submit",full:!0,disabled:c,"aria-busy":c||void 0,children:r("eid.start")})})]})]})}u(ue,"Ae");o(ue,"EidView");export{ue as EidView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{a as G,b as J,c as K}from"./chunk-WWGJDMZQ.js";import{a as Y}from"./chunk-SEE6MST7.js";import{a as B}from"./chunk-43YHL2WG.js";import"./chunk-HSQWGTF7.js";import{A as F,H as j,K as f,L as U,a as de,b as me,c as N,w as P,y as E}from"./chunk-JJNFGW3A.js";import{a as p,c as q,i as n}from"./chunk-RPLVIGTS.js";var t=q(de(),1),e=q(me(),1);import{OtpInputError as pe}from"@sekyro/web";var ce={"emailOtp.reason_otp_daily_cap_reached":"لا يمكننا إرسال رمز إلى بريدك الإلكتروني اليوم. اختر طريقة أخرى للتحقق إن كانت متاحة، أو حاول مرة أخرى لاحقًا.","emailOtp.sendTitle":"تحقّق من بريدك الإلكتروني","emailOtp.sendDescription":"سنرسل إليك عبر البريد الإلكتروني رمزًا يُستخدم مرة واحدة لتأكيد أن هذا العنوان يخصّك","emailOtp.prefilledNotice":"سنرسل رمز تحقّق إلى بريدك الإلكتروني المسجّل.","emailOtp.emailLabel":"البريد الإلكتروني","emailOtp.emailHelper":"سنرسل رمزًا يُستخدم مرة واحدة إلى هذا العنوان","emailOtp.emailPlaceholder":"عنوان بريدك الإلكتروني","emailOtp.emailInvalid":"أدخل عنوان بريد إلكتروني صالحًا","emailOtp.send":"أرسل لي رمزًا عبر البريد الإلكتروني","emailOtp.verifyTitle":"أدخل الرمز","emailOtp.verifyDescription":"أدخل الرمز المكوّن من 6 أرقام الذي أرسلناه إلى بريدك الإلكتروني لإتمام التحقّق من عنوانك","emailOtp.sentTo":"أرسلنا رمزًا مكوّنًا من 6 أرقام إلى {email}","emailOtp.codeLabel":"رمز التحقّق","emailOtp.codeHelper":"أدخل الرمز المكوّن من 6 أرقام الوارد في الرسالة","emailOtp.verify":"تحقّق من الرمز","emailOtp.resend":"إعادة إرسال الرمز","emailOtp.resendIn":"إعادة إرسال الرمز خلال {seconds} ثانية","emailOtp.expiresIn":"ينتهي الرمز خلال {time}","emailOtp.expired":"انتهت صلاحية الرمز. أعد إرسال رمز جديد","emailOtp.reason_otp_mismatch":"الرمز غير صحيح. تحقّق منه وأعد إدخاله","emailOtp.reason_otp_expired":"انتهت صلاحية الرمز. أعد إرسال رمز جديد للمتابعة","emailOtp.reason_otp_send_failed":"تعذّر إرسال الرسالة. أعد المحاولة بعد قليل","emailOtp.reason_otp_rate_limited":"طلبت رموزًا كثيرة. انتظر قليلًا ثم أعد المحاولة","emailOtp.reason_email_invalid":"لا يمكننا الإرسال إلى هذا العنوان. تحقّق منه أو أدخل عنوانًا آخر","emailOtp.reason_email_disposable":"استخدم بريدًا إلكترونيًا دائمًا، وليس عنوانًا مؤقتًا","emailOtp.changeEmail":"تغيير البريد الإلكتروني","emailOtp.backToCode":"العودة إلى الرمز","emailOtp.reason_otp_resend_limit":"لا يمكنك طلب رموز أخرى. أدخل آخر رمز وصلك"},b={"emailOtp.reason_otp_daily_cap_reached":"We can't email you a code today. Choose another way to verify if one is offered, or try again later.","emailOtp.sendTitle":"Verify your email address","emailOtp.sendDescription":"We'll email you a one-time code to confirm this address is yours","emailOtp.prefilledNotice":"We'll send a verification code to your registered email address.","emailOtp.emailLabel":"Email address","emailOtp.emailHelper":"We'll send a one-time code to this address","emailOtp.emailPlaceholder":"Your email address","emailOtp.emailInvalid":"Enter a valid email address","emailOtp.send":"Email me a code","emailOtp.verifyTitle":"Enter the code","emailOtp.verifyDescription":"Type the 6-digit code we emailed you to finish verifying your address","emailOtp.sentTo":"We sent a 6-digit code to {email}","emailOtp.codeLabel":"Verification code","emailOtp.codeHelper":"Enter the 6-digit code from the email","emailOtp.verify":"Verify code","emailOtp.resend":"Resend code","emailOtp.resendIn":"Resend code in {seconds}s","emailOtp.expiresIn":"Code expires in {time}","emailOtp.expired":"That code has expired. Resend a new one","emailOtp.reason_otp_mismatch":"That code was incorrect. Check it and enter it again","emailOtp.reason_otp_expired":"That code has expired. Resend a new code to continue","emailOtp.reason_otp_send_failed":"We couldn't send the email. Try again in a moment","emailOtp.reason_otp_rate_limited":"Too many codes requested. Wait a moment, then try again","emailOtp.reason_email_invalid":"We can't send to this address. Check it or enter another one","emailOtp.reason_email_disposable":"Use a permanent email address, not a temporary one","emailOtp.changeEmail":"Change email","emailOtp.backToCode":"Back to code","emailOtp.reason_otp_resend_limit":"You can't get more codes. Enter the last code you received"},ue={"emailOtp.reason_otp_daily_cap_reached":"Nous ne pouvons pas vous envoyer de code par e-mail aujourd'hui. Choisissez une autre méthode si elle est proposée, ou réessayez plus tard.","emailOtp.sendTitle":"Vérifiez votre e-mail","emailOtp.sendDescription":"Nous vous enverrons par e-mail un code à usage unique pour confirmer que cette adresse vous appartient","emailOtp.prefilledNotice":"Nous enverrons un code de vérification à votre adresse e-mail enregistrée.","emailOtp.emailLabel":"Adresse e-mail","emailOtp.emailHelper":"Nous enverrons un code à usage unique à cette adresse","emailOtp.emailPlaceholder":"Votre adresse e-mail","emailOtp.emailInvalid":"Saisissez une adresse e-mail valide","emailOtp.send":"M'envoyer un code par e-mail","emailOtp.verifyTitle":"Saisissez le code","emailOtp.verifyDescription":"Saisissez le code à 6 chiffres que nous vous avons envoyé par e-mail pour finaliser la vérification de votre adresse","emailOtp.sentTo":"Nous avons envoyé un code à 6 chiffres à {email}","emailOtp.codeLabel":"Code de vérification","emailOtp.codeHelper":"Saisissez le code à 6 chiffres reçu par e-mail","emailOtp.verify":"Vérifier le code","emailOtp.resend":"Renvoyer le code","emailOtp.resendIn":"Renvoyer le code dans {seconds} s","emailOtp.expiresIn":"Le code expire dans {time}","emailOtp.expired":"Ce code a expiré. Renvoyez-en un nouveau","emailOtp.reason_otp_mismatch":"Ce code est incorrect. Vérifiez-le et saisissez-le à nouveau","emailOtp.reason_otp_expired":"Ce code a expiré. Renvoyez un nouveau code pour continuer","emailOtp.reason_otp_send_failed":"Nous n'avons pas pu envoyer l'e-mail. Réessayez dans un instant","emailOtp.reason_otp_rate_limited":"Trop de codes demandés. Patientez un instant, puis réessayez","emailOtp.reason_email_invalid":"Nous ne pouvons pas envoyer à cette adresse. Vérifiez-la ou saisissez-en une autre","emailOtp.reason_email_disposable":"Utilisez une adresse e-mail permanente, pas une adresse temporaire","emailOtp.changeEmail":"Changer d'adresse e-mail","emailOtp.backToCode":"Retour au code","emailOtp.reason_otp_resend_limit":"Vous ne pouvez plus demander de code. Saisissez le dernier code reçu"},Oe={en:b,fr:ue,ar:ce,es:b,pt:b,de:b},Q=n((a,o,O)=>{if(a===void 0)return 0;let h=Date.parse(a)-o;return Number.isFinite(h)?Math.min(O,Math.max(0,Math.ceil(h/1e3))):0},"secondsUntil"),he=600,ye=60,ve=n(a=>`${Math.floor(a/60)}:${String(a%60).padStart(2,"0")}`,"mmss"),X=new Set(["otp_expired","otp_send_failed","otp_rate_limited","otp_resend_limit","email_invalid","email_disposable","otp_daily_cap_reached"]);function _e({step:a,i18n:o,className:O,defaultEmail:h="",onError:Z}){let i=n((l,s)=>B(o.strings[l]??Oe[o.locale][l],s),"t"),[C,ee]=(0,t.useState)(h),[y,T]=(0,t.useState)(""),[r,z]=(0,t.useState)(!1),[I,w]=(0,t.useState)(null),[k,c]=(0,t.useState)(!1),[R,ae]=(0,t.useState)(null),u=(0,t.useRef)(null),v=a.phase==="verify",m=v&&!k,V=K(v),d=(0,t.useId)(),[ie,le]=G(a.reason==="otp_mismatch",a.attemptsRemaining,()=>T("")),$=v?a.codeExpiresAt??"sent":null;(0,t.useEffect)(()=>{$!==null&&(c(!1),u.current!==null&&!X.has(a.reason??"")&&ae(u.current),u.current=null)},[$]);let S=n(async l=>{z(!0),w(null);try{await l()}catch(s){w(s instanceof pe&&s.field==="email"?i("emailOtp.emailInvalid"):o.t(Y(s,o.strings))),Z?.(s)}finally{z(!1)}},"run"),D=n(l=>{let s=a.needsEmail?l?R:C.trim():null;u.current=s,S(async()=>{try{await a.send(s!==null?{email:s}:{})}catch(oe){throw u.current=null,oe}})},"send"),L=n(l=>{S(()=>a.verify(l))},"submitCode"),te=n(l=>{l.preventDefault(),m?L(y):D(!1)},"onSubmit"),g=Q(a.codeExpiresAt,V,he),x=Q(a.resendAvailableAt,V,ye),_=m&&a.codeExpiresAt!==void 0&&g===0,A=a.needsEmail&&!a.attemptsExhausted,H=v&&(a.codeExpiresAt===void 0||g>0),W=m&&A?()=>c(!0):k&&H?()=>c(!1):null;F(W===null?null:r?()=>{}:W);let[se,re]=i("emailOtp.sentTo").split("{email}"),M=a.context.simulation?.otpCode,ne=a.reason==="otp_mismatch"?(0,e.jsxs)(f,{tone:"danger",children:[(0,e.jsx)("span",{children:i("emailOtp.reason_otp_mismatch")}),(0,e.jsx)("span",{children:U(o,a.attemptsRemaining,a.attemptsExhausted)})]}):a.reason!==void 0&&X.has(a.reason)?(0,e.jsx)(f,{tone:"warning",children:(0,e.jsx)("span",{children:i(`emailOtp.reason_${a.reason}`)})}):null;return(0,e.jsxs)("form",{className:`sekyro-step sekyro-otp${O?` ${O}`:""}`,"aria-labelledby":d,onSubmit:te,noValidate:!0,children:[(0,e.jsx)(P,{id:d,title:i(m?"emailOtp.verifyTitle":"emailOtp.sendTitle"),lead:m&&M!==void 0?(0,e.jsx)(j,{template:o.t("sandbox.otpHint"),code:M}):m?(0,e.jsxs)(e.Fragment,{children:[se,(0,e.jsx)("bdi",{dir:"ltr",className:"sekyro-mono",children:R??a.sentToMasked}),re]}):i("emailOtp.sendDescription")}),ne,I!==null?(0,e.jsx)(f,{tone:"danger",children:(0,e.jsx)("span",{children:I})}):null,m?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"sekyro-field",children:[(0,e.jsx)("label",{className:"sekyro-label",htmlFor:`${d}-code`,children:i("emailOtp.codeLabel")}),(0,e.jsx)(J,{id:`${d}-code`,value:y,invalid:ie,onChange:p(l=>{l!==""&&le(),T(l),l.length===6&&y.length!==6&&!r&&!a.attemptsExhausted&&L(l)},"onChange")}),(0,e.jsx)("span",{className:`sekyro-help sekyro-otp-expiry${_?" is-danger":""}`,"aria-hidden":!_||void 0,children:_?i("emailOtp.expired"):i("emailOtp.expiresIn",{time:ve(g)})})]}),(0,e.jsx)("span",{className:"sekyro-visually-hidden",role:"status","aria-live":"polite",children:_?i("emailOtp.expired"):""}),(0,e.jsxs)(E,{children:[(0,e.jsx)(N,{type:"submit",full:!0,disabled:r||y.length!==6,"aria-busy":r||void 0,children:i("emailOtp.verify")}),(0,e.jsxs)("div",{className:"sekyro-resend-row",children:[(0,e.jsx)("button",{type:"button",className:"sekyro-link sekyro-resend",disabled:r||x>0,onClick:p(()=>D(!0),"onClick"),children:x>0?i("emailOtp.resendIn",{seconds:x}):i("emailOtp.resend")}),A?(0,e.jsx)("button",{type:"button",className:"sekyro-link sekyro-resend",disabled:r,onClick:p(()=>c(!0),"onClick"),"data-testid":"sekyro-otp-change",children:i("emailOtp.changeEmail")}):null]})]})]}):(0,e.jsxs)(e.Fragment,{children:[a.needsEmail?(0,e.jsxs)("div",{className:"sekyro-field",children:[(0,e.jsx)("label",{className:"sekyro-label",htmlFor:`${d}-email`,children:i("emailOtp.emailLabel")}),(0,e.jsx)("input",{id:`${d}-email`,className:"sekyro-input",type:"email",dir:"ltr",inputMode:"email",autoComplete:"email",autoCapitalize:"none",spellCheck:!1,placeholder:i("emailOtp.emailPlaceholder"),value:C,"aria-describedby":`${d}-email-help`,onChange:p(l=>ee(l.target.value),"onChange")}),(0,e.jsx)("span",{id:`${d}-email-help`,className:"sekyro-help",children:i("emailOtp.emailHelper")})]}):(0,e.jsx)("p",{className:"sekyro-text-muted",children:i("emailOtp.prefilledNotice")}),(0,e.jsxs)(E,{children:[(0,e.jsx)(N,{type:"submit",full:!0,disabled:r,"aria-busy":r||void 0,children:i("emailOtp.send")}),k&&H?(0,e.jsx)("button",{type:"button",className:"sekyro-link sekyro-resend",disabled:r,onClick:p(()=>c(!1),"onClick"),"data-testid":"sekyro-otp-back-to-code",children:i("emailOtp.backToCode")}):null]})]})]})}p(_e,"Ae");n(_e,"EmailOtpView");export{_e as EmailOtpView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{a as q,e as Q,f as G,g as P,h as M,i as K,j as J,l as X}from"./chunk-X5WMOOH2.js";import"./chunk-OSBGOI4W.js";import"./chunk-KU4DZ3OQ.js";import{a as V}from"./chunk-UT2KIR2K.js";import{a as ee,b as $,c as te}from"./chunk-TPIBYY2S.js";import"./chunk-SEE6MST7.js";import{a as H}from"./chunk-43YHL2WG.js";import"./chunk-HSQWGTF7.js";import{K as z,a as Ce,b as Ae,c as N,t as D,v as R,y as T}from"./chunk-JJNFGW3A.js";import{a as y,c as W,i as m}from"./chunk-RPLVIGTS.js";var v=W(Ce(),1),c=W(Ae(),1);import{HostedApiError as Ne}from"@sekyro/web";import{detectIsMobile as ae}from"@sekyro/web/core";var Ie={"consent.human.terms.intro":"تؤكد Sekyro AI أن شخصًا حقيقيًا يُجري هذه الخطوة، نيابةً عن الجهة التي طلبتها.","consent.human.terms.data":"تلتقط Sekyro AI تسجيلًا قصيرًا لوجهك.","consent.human.terms.processing":"يُفحص هذا التسجيل للتأكد من أنك شخص حقيقي وحاضر، وقد يُقارَن بالوجوه التي سبق التحقق منها لدى هذه الجهة.","consent.human.terms.sharing":"تُبلَّغ الجهة التي طلبت هذا التحقق بنتيجته.","consent.human.terms.retention":"تُخزَّن بياناتك مشفّرة ولا يُحتفظ بها إلا للمدة التي يقتضيها القانون وإعدادات الجهة. لممارسة حقوقك المتعلقة بحماية البيانات، تواصل مع الجهة التي طلبت هذا التحقق.","capture.noCamera.title":"تتطلب هذه الخطوة كاميرا","capture.noCamera.body":"اسمح بالوصول إلى الكاميرا وحاول مرة أخرى، أو تابع على هاتف مزوّد بكاميرا.","capture.noCamera.continue":"المتابعة بدون كاميرا","capture.noCamera.deniedTitle":"اسمح بالوصول إلى الكاميرا","capture.noCamera.deniedBody":"حظر متصفحك الوصول إلى الكاميرا في هذه الصفحة. اسمح به من إعدادات الموقع ثم أعد المحاولة.","choice.title":"كيف تريد المتابعة؟","choice.description":"اختر خيارًا واحدًا.","choice.switch":"استخدم خيارًا آخر","contact.title":"كيف تريد استلام الرمز؟","contact.description":"اختر خيارًا واحدًا.","contact.phone":"عبر الهاتف (واتساب أو رسالة نصية)","contact.email":"عبر البريد الإلكتروني","contact.switch":"استخدم خيارًا آخر","summary.title":"تحقق من بياناتك","summary.description":"تأكد من أن هذه بياناتك قبل الصورة الحية.","summary.fullName":"الاسم الكامل","summary.birthDate":"تاريخ الميلاد","summary.nationality":"الجنسية","summary.documentType":"الوثيقة","summary.documentNumber":"رقم الوثيقة","summary.nni":"الرقم الوطني للتعريف الموريتاني (NNI)","summary.id_number":"رقم الهوية","summary.expiryDate":"تاريخ الانتهاء","summary.portraitAlt":"الصورة المسجلة","summary.source.registry":"من سجل الحالة المدنية","summary.source.document":"مقروءة من وثيقتك","summary.source.chip":"مقروءة من شريحة وثيقتك","summary.name":"الاسم","summary.birthYear":"سنة الميلاد","summary.confirm":"تأكيد ومتابعة","summary.retakeDocument":"مسح وثيقتي مرة أخرى","summary.retakeNationalNumber":"إدخال رقمي مرة أخرى","summary.noRetake":"لم يعد بإمكانك إعادة المحاولة. تواصل مع {org} إذا كانت هذه البيانات غير صحيحة","capture.tipsIcao.title":"لصورة الهوية:","capture.tipsIcao.glasses":"انزع نظارتك","capture.tipsIcao.headwear":"انزع القبعة. يُقبل غطاء الرأس الديني إذا كان الوجه ظاهرًا بالكامل","capture.tipsIcao.expression":"حافظ على تعبير محايد وفمك مغلق","capture.tipsIcao.faceCamera":"انظر مباشرة إلى الكاميرا وعيناك مفتوحتان","capture.tipsIcao.background":"قف أمام خلفية سادة فاتحة اللون","capture.tipsIcao.lighting":"استخدم إضاءة متساوية على وجهك: دون ظلال","capture.tipsIcao.hair":"أبعد شعرك عن وجهك وعينيك","capture.tipsIcao.summary":"قف أمام جدار سادة فاتح اللون مع إضاءة متساوية على وجهك. انزع نظارتك وأي قبعة. أبعد شعرك عن وجهك، وانظر مباشرة إلى الكاميرا وعيناك مفتوحتان، وحافظ على تعبير محايد وفمك مغلق، وابقَ ثابتًا.","portrait.retakeOnly":"نجح التحقق الحي. الصورة فقط تحتاج إلى محاولة أخرى","portrait.keepCamera":"ابقَ أمام الكاميرا","handoff.description":"امسح الرمز بهاتفك للمتابعة","handoff.qrAlt":"رمز QR يفتح عملية التحقق هذه على هاتفك","handoff.copyLink":"نسخ الرابط","handoff.copyFailed":"تعذّر نسخ الرابط. انسخ عنوان هذه الصفحة من متصفحك بدلًا من ذلك","handoff.waiting":"ستنتقل هذه الصفحة تلقائيًا بعد أن تُكمل الخطوة على هاتفك","inApp.title":"افتح الصفحة في متصفحك","inApp.description":"لا تعمل الكاميرا جيدًا داخل هذا التطبيق. افتح الرابط في Chrome أو Safari للمتابعة.","inApp.copyLink":"نسخ الرابط","inApp.copied":"تم نسخ الرابط. الصقه في متصفحك","inApp.copyFailed":"تعذّر نسخ الرابط. انسخ عنوان هذه الصفحة بدلًا من ذلك","inApp.continueAnyway":"المتابعة هنا على أي حال","inApp.openBrowser":"افتح في المتصفح"},L={"consent.human.terms.intro":"Sekyro AI confirms that a real person is completing this step, on behalf of the organization that asked for it.","consent.human.terms.data":"Sekyro AI collects a short capture of your face.","consent.human.terms.processing":"The capture is checked to confirm that you are a real person who is present. It may be compared with faces already verified for this organization.","consent.human.terms.sharing":"The organization that requested this verification learns its outcome.","consent.human.terms.retention":"Your data is stored encrypted and kept only as long as the law and the organization's settings require. To exercise your data-protection rights, contact the organization that requested this verification.","capture.noCamera.title":"This step needs a camera","capture.noCamera.body":"Allow camera access and try again, or continue on a phone with a camera.","capture.noCamera.continue":"Continue without a camera","capture.noCamera.deniedTitle":"Allow camera access","capture.noCamera.deniedBody":"Your browser blocked the camera for this page. Allow it in the site settings, then try again.","choice.title":"Choose how to continue","choice.description":"Choose one option.","choice.switch":"Use another option","contact.title":"Where to send your code","contact.description":"Choose one option.","contact.phone":"By phone (WhatsApp or SMS)","contact.email":"By email","contact.switch":"Use another option","summary.title":"Check your details","summary.description":"Make sure this is you before the live photo.","summary.fullName":"Full name","summary.birthDate":"Date of birth","summary.nationality":"Nationality","summary.documentType":"Document","summary.documentNumber":"Document number","summary.nni":"Mauritanian national ID number (NNI)","summary.id_number":"ID number","summary.expiryDate":"Expiry date","summary.portraitAlt":"Photo on record","summary.source.registry":"From the civil registry","summary.source.document":"Read from your document","summary.source.chip":"Read from your document's chip","summary.name":"Name","summary.birthYear":"Year of birth","summary.confirm":"Confirm and continue","summary.retakeDocument":"Scan my document again","summary.retakeNationalNumber":"Enter my number again","summary.noRetake":"You can't try again. Contact {org} if these details are wrong","capture.tipsIcao.title":"For your ID photo:","capture.tipsIcao.glasses":"Remove your glasses","capture.tipsIcao.headwear":"Remove hats and caps. A religious head covering is fine if your whole face shows","capture.tipsIcao.expression":"Keep a neutral expression with your mouth closed","capture.tipsIcao.faceCamera":"Look straight at the camera with your eyes open","capture.tipsIcao.background":"Stand in front of a plain, light background","capture.tipsIcao.lighting":"Use even light on your face: no shadows","capture.tipsIcao.hair":"Keep your hair away from your face and eyes","capture.tipsIcao.summary":"Stand in front of a plain, light wall with even light on your face. Remove your glasses and any hat. Keep your hair off your face, look straight at the camera with your eyes open, keep a neutral expression with your mouth closed, and hold still.","portrait.retakeOnly":"Your live check passed. Only the photo needs another try","portrait.keepCamera":"Stay in front of the camera","handoff.description":"Scan with your phone to continue","handoff.qrAlt":"QR code that opens this verification on your phone","handoff.copyLink":"Copy link","handoff.copyFailed":"We couldn't copy the link. Copy this page's address from your browser instead","handoff.waiting":"This page moves on by itself once you finish on your phone","inApp.title":"Open in your browser","inApp.description":"The camera doesn't work well inside this app. Open the link in Chrome or Safari to continue.","inApp.copyLink":"Copy link","inApp.copied":"Link copied. Paste it in your browser","inApp.copyFailed":"We couldn't copy the link. Copy this page's address instead","inApp.continueAnyway":"Continue here anyway","inApp.openBrowser":"Open in browser"},xe={"consent.human.terms.intro":"Sekyro AI confirme qu'une personne réelle effectue cette étape, pour le compte de l'organisme qui l'a demandée.","consent.human.terms.data":"Sekyro AI recueille une courte capture de votre visage.","consent.human.terms.processing":"La capture est analysée pour confirmer que vous êtes une personne réelle et présente. Elle peut être comparée aux visages déjà vérifiés pour cet organisme.","consent.human.terms.sharing":"L'organisme qui a demandé cette vérification est informé de son résultat.","consent.human.terms.retention":"Vos données sont stockées chiffrées et conservées uniquement pendant la durée exigée par la loi et les paramètres de l'organisme. Pour exercer vos droits en matière de protection des données, contactez l'organisme qui a demandé cette vérification.","capture.noCamera.title":"Une caméra est nécessaire","capture.noCamera.body":"Autorisez l'accès à la caméra et réessayez, ou continuez sur un téléphone équipé d'une caméra.","capture.noCamera.continue":"Continuer sans caméra","capture.noCamera.deniedTitle":"Autorisez la caméra","capture.noCamera.deniedBody":"Votre navigateur a bloqué la caméra pour cette page. Autorisez-la dans les paramètres du site, puis réessayez.","choice.title":"Comment continuer ?","choice.description":"Choisissez une option.","choice.switch":"Utiliser une autre option","contact.title":"Où envoyer votre code ?","contact.description":"Choisissez une option.","contact.phone":"Par téléphone (WhatsApp ou SMS)","contact.email":"Par e-mail","contact.switch":"Utiliser une autre option","summary.title":"Vérifiez vos informations","summary.description":"Assurez-vous qu'il s'agit bien de vous avant la photo en direct.","summary.fullName":"Nom complet","summary.birthDate":"Date de naissance","summary.nationality":"Nationalité","summary.documentType":"Document","summary.documentNumber":"Numéro du document","summary.nni":"Numéro national d'identification mauritanien (NNI)","summary.id_number":"Numéro d'identité","summary.expiryDate":"Date d'expiration","summary.portraitAlt":"Photo enregistrée","summary.source.registry":"Issu de l'état civil","summary.source.document":"Lu sur votre document","summary.source.chip":"Lu sur la puce de votre document","summary.name":"Nom","summary.birthYear":"Année de naissance","summary.confirm":"Confirmer et continuer","summary.retakeDocument":"Scanner à nouveau mon document","summary.retakeNationalNumber":"Saisir à nouveau mon numéro","summary.noRetake":"Vous ne pouvez plus réessayer. Contactez {org} si ces informations sont incorrectes","capture.tipsIcao.title":"Pour votre photo d'identité :","capture.tipsIcao.glasses":"Retirez vos lunettes","capture.tipsIcao.headwear":"Retirez chapeau et casquette. Un couvre-chef religieux est accepté si tout le visage est visible","capture.tipsIcao.expression":"Gardez une expression neutre, la bouche fermée","capture.tipsIcao.faceCamera":"Regardez la caméra bien en face, les yeux ouverts","capture.tipsIcao.background":"Placez-vous devant un fond uni et clair","capture.tipsIcao.lighting":"Éclairez votre visage de façon uniforme : sans ombres","capture.tipsIcao.hair":"Dégagez vos cheveux du visage et des yeux","capture.tipsIcao.summary":"Placez-vous devant un mur uni et clair, le visage éclairé de façon uniforme. Retirez vos lunettes et tout chapeau. Dégagez vos cheveux du visage, regardez la caméra bien en face, les yeux ouverts, gardez une expression neutre, la bouche fermée, et ne bougez plus.","portrait.retakeOnly":"Votre vérification en direct est validée. Seule la photo est à refaire","portrait.keepCamera":"Restez face à la caméra","handoff.description":"Scannez avec votre téléphone pour continuer","handoff.qrAlt":"Code QR qui ouvre cette vérification sur votre téléphone","handoff.copyLink":"Copier le lien","handoff.copyFailed":"Nous n'avons pas pu copier le lien. Copiez plutôt l'adresse de cette page depuis votre navigateur","handoff.waiting":"Cette page avancera d’elle-même une fois l’étape terminée sur votre téléphone","inApp.title":"Ouvrez dans le navigateur","inApp.description":"La caméra fonctionne mal dans cette application. Ouvrez le lien dans Chrome ou Safari pour continuer.","inApp.copyLink":"Copier le lien","inApp.copied":"Lien copié. Collez-le dans votre navigateur","inApp.copyFailed":"Impossible de copier le lien. Copiez plutôt l'adresse de cette page","inApp.continueAnyway":"Continuer ici quand même","inApp.openBrowser":"Ouvrir dans le navigateur"},oe={M:{perBlock:[10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26],blocks:[1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16],formatBits:0},H:{perBlock:[17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28],blocks:[1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25],formatBits:2}},re=20;function ne(e){let t=(16*e+128)*e+64;if(e>=2){let a=Math.floor(e/7)+2;t-=(25*a-10)*a-55,e>=7&&(t-=36)}return t}y(ne,"he");m(ne,"rawDataModules");function O(e,t){let{perBlock:a,blocks:r}=oe[t],o=a[e-1],n=r[e-1],l=Math.floor(ne(e)/8),s=n-l%n,i=Math.floor(l/n)-o;return[o,s===n?[[n,i]]:[[s,i],[n-s,i+1]]]}y(O,"oe");m(O,"blockLayout");var B=m((e,t)=>O(e,t)[1].reduce((a,[r,o])=>a+r*o,0),"dataCapacity");function S(e,t){let a=0;for(let r=7;r>=0;r-=1)a=a<<1^(a>>>7)*285,a^=(t>>>r&1)*e;return a&255}y(S,"B");m(S,"gfMul");function ie(e){let t=new Array(e).fill(0);t[e-1]=1;let a=1;for(let r=0;r<e;r+=1){for(let o=0;o<e;o+=1)t[o]=S(t[o],a),o+1<e&&(t[o]=t[o]^t[o+1]);a=S(a,2)}return t}y(ie,"be");m(ie,"rsDivisor");function se(e,t){let a=t.map(()=>0);for(let r of e){let o=r^a.shift();a.push(0),t.forEach((n,l)=>{a[l]=a[l]^S(n,o)})}return a}y(se,"ge");m(se,"rsRemainder");function ce(e,t,a){let r=[],o=m((u,d)=>{for(let k=d-1;k>=0;k-=1)r.push(u>>>k&1)},"put");o(4,4),o(e.length,t<10?8:16);for(let u of e)o(u,8);let n=B(t,a)*8;o(0,Math.min(4,n-r.length)),o(0,(8-r.length%8)%8);let l=[];for(let u=0;u<r.length;u+=8)l.push(r.slice(u,u+8).reduce((d,k)=>d<<1|k,0));for(let u=236;l.length<B(t,a);u^=253)l.push(u);let[s,i]=O(t,a),h=ie(s),p=[],f=0;for(let[u,d]of i)for(let k=0;k<u;k+=1){let w=l.slice(f,f+d);f+=d,p.push({data:w,ec:se(w,h)})}let g=[],C=Math.max(...p.map(u=>u.data.length));for(let u=0;u<C;u+=1)for(let d of p)u<d.data.length&&g.push(d.data[u]);for(let u=0;u<s;u+=1)for(let d of p)g.push(d.ec[u]);return g}y(ce,"ke");m(ce,"codewords");function E(e){if(e===1)return[];let t=Math.floor(e/7)+2,a=Math.ceil((e*4+4)/(t*2-2))*2,r=[6];for(let o=e*4+10;r.length<t;o-=a)r.splice(1,0,o);return r}y(E,"re");m(E,"alignmentPositions");var ze=[(e,t)=>(e+t)%2===0,e=>e%2===0,(e,t)=>t%3===0,(e,t)=>(e+t)%3===0,(e,t)=>(Math.floor(e/2)+Math.floor(t/3))%2===0,(e,t)=>e*t%2+e*t%3===0,(e,t)=>(e*t%2+e*t%3)%2===0,(e,t)=>((e+t)%2+e*t%3)%2===0],x,le=(x=class{constructor(t){this.size=t,this.dark=new Array(t*t).fill(!1),this.fixed=new Array(t*t).fill(!1)}set(t,a,r){this.dark[t*this.size+a]=r,this.fixed[t*this.size+a]=!0}get(t,a){return this.dark[t*this.size+a]===!0}},y(x,"U"),x);m(le,"Grid");var Me=le;function ue(e,t){let a=e.size;for(let n=0;n<a;n+=1)e.set(6,n,n%2===0),e.set(n,6,n%2===0);for(let[n,l]of[[3,3],[3,a-4],[a-4,3]])for(let s=-4;s<=4;s+=1)for(let i=-4;i<=4;i+=1){let h=n+s,p=l+i;if(h<0||h>=a||p<0||p>=a)continue;let f=Math.max(Math.abs(s),Math.abs(i));e.set(h,p,f!==2&&f!==4)}let r=E(t),o=r.length-1;if(r.forEach((n,l)=>r.forEach((s,i)=>{if(!(l===0&&i===0||l===0&&i===o||l===o&&i===0))for(let h=-2;h<=2;h+=1)for(let p=-2;p<=2;p+=1)e.set(n+h,s+p,Math.max(Math.abs(h),Math.abs(p))!==1)})),U(e,0),t>=7){let n=t;for(let s=0;s<12;s+=1)n=n<<1^(n>>>11)*7973;let l=t<<12|n;for(let s=0;s<18;s+=1){let i=(l>>>s&1)===1,h=a-11+s%3,p=Math.floor(s/3);e.set(h,p,i),e.set(p,h,i)}}}y(ue,"ve");m(ue,"drawFunctionPatterns");function U(e,t,a=0){let r=e.size,o=a<<3|t,n=o;for(let i=0;i<10;i+=1)n=n<<1^(n>>>9)*1335;let l=(o<<10|n)^21522,s=m(i=>(l>>>i&1)===1,"bit");for(let i=0;i<=5;i+=1)e.set(i,8,s(i));e.set(7,8,s(6)),e.set(8,8,s(7)),e.set(8,7,s(8));for(let i=9;i<15;i+=1)e.set(8,14-i,s(i));for(let i=0;i<8;i+=1)e.set(8,r-1-i,s(i));for(let i=8;i<15;i+=1)e.set(r-15+i,8,s(i));e.set(r-8,8,!0)}y(U,"ae");m(U,"drawFormat");function de(e,t){let a=e.size,r=0;for(let o=a-1;o>=1;o-=2){o===6&&(o=5);for(let n=0;n<a;n+=1)for(let l=0;l<2;l+=1){let s=o-l,i=(o+1&2)===0?a-1-n:n;e.fixed[i*a+s]!==!0&&(r<t.length*8&&(e.dark[i*a+s]=(t[r>>>3]>>>7-(r&7)&1)===1),r+=1)}}}y(de,"Se");m(de,"placeData");function me(e,t){let a=ze[t];for(let r=0;r<e.size;r+=1)for(let o=0;o<e.size;o+=1)e.fixed[r*e.size+o]!==!0&&a(r,o)&&(e.dark[r*e.size+o]=!e.dark[r*e.size+o])}y(me,"Ce");m(me,"applyMask");function pe(e){let t=e.size,a=0,r=m(n=>{let l=1;for(let s=1;s<=t;s+=1)s<t&&n(s)===n(s-1)?l+=1:(l>=5&&(a+=3+(l-5)),l=1);for(let s=0;s+10<t;s+=1){let i=[!0,!1,!0,!0,!0,!1,!0];if(!(i.every((f,g)=>n(s+g)===f)||i.every((f,g)=>n(s+4+g)===f)))continue;let h=[0,1,2,3].every(f=>!n(s+f))&&i.every((f,g)=>n(s+4+g)===f),p=i.every((f,g)=>n(s+g)===f)&&[7,8,9,10].every(f=>!n(s+f));h&&(a+=40),p&&(a+=40)}},"line");for(let n=0;n<t;n+=1)r(l=>e.get(n,l));for(let n=0;n<t;n+=1)r(l=>e.get(l,n));for(let n=0;n+1<t;n+=1)for(let l=0;l+1<t;l+=1){let s=e.get(n,l);s===e.get(n,l+1)&&s===e.get(n+1,l)&&s===e.get(n+1,l+1)&&(a+=3)}let o=e.dark.filter(Boolean).length;return a+=Math.floor(Math.abs(o*20-t*t*10)/(t*t))*10,a}y(pe,"Ae");m(pe,"penalty");function he(e,t={}){let a=t.ecl??"M",r=new TextEncoder().encode(e),o=1;for(;o<=re&&!(4+(o<10?8:16)+r.length*8<=B(o,a)*8);o+=1);if(o>re)throw new RangeError("text too long for a QR code");let n=ce(r,o,a),l=m(h=>{let p=new Me(o*4+17);return ue(p,o),de(p,n),me(p,h),U(p,h,oe[a].formatBits),p},"build"),s=null;if(t.mask!==void 0)s=l(t.mask);else{let h=Number.POSITIVE_INFINITY;for(let p=0;p<8;p+=1){let f=l(p),g=pe(f);g<h&&(h=g,s=f)}}let i=s;return{size:i.size,get:m((h,p)=>i.get(h,p),"get")}}y(he,"ie");m(he,"encodeQr");var $e={viewBox:"0 0 100 100",d:"M22.37,0H77.63A22.37,22.37 0 0 1 100,22.37V77.63A22.37,22.37 0 0 1 77.63,100H22.37A22.37,22.37 0 0 1 0,77.63V22.37A22.37,22.37 0 0 1 22.37,0ZM48.067,21H38.308A17.308,17.308 0 0 0 21,38.308V42.543A19.886,19.886 0 0 0 40.886,62.429H60.219V57.641A4.419,4.419 0 0 0 55.8,53.222H43.463A11.416,11.416 0 0 1 32.048,41.806V38.308A8.102,8.102 0 0 1 40.149,30.206H43.648A4.419,4.419 0 0 0 48.067,25.787ZM38.676,79H59.114A19.886,19.886 0 0 0 79,59.114V57.457A19.886,19.886 0 0 0 59.114,37.571H38.676V42.359A4.419,4.419 0 0 0 43.095,46.778H56.537A11.416,11.416 0 0 1 67.952,58.194V58.378A11.416,11.416 0 0 1 56.537,69.794H43.095A4.419,4.419 0 0 0 38.676,74.213ZM51.933,21H79V37.571H69.794V30.206H51.933ZM21,71.543A7.457,7.457 0 1 0 35.914,71.543A7.457,7.457 0 1 0 21,71.543Z"},_=.42,_e=.2,b=m(e=>{let t=Math.round(e*1e3)/1e3;return String(t===0?0:t)},"num");function I(e,t,a,r){let o=`A${b(r)} ${b(r)} 0 0 1 `;return`M${b(e+r)} ${b(t)}H${b(e+a-r)}${o}${b(e+a)} ${b(t+r)}V${b(t+a-r)}${o}${b(e+a-r)} ${b(t+a)}H${b(e+r)}${o}${b(e)} ${b(t+a-r)}V${b(t+r)}${o}${b(e+r)} ${b(t)}Z`}y(I,"x");m(I,"roundedSquare");function ye(e){let t=(e-17)/4,a=E(t),r=a.length-1,o=[];return a.forEach((n,l)=>a.forEach((s,i)=>{l===0&&i===0||l===0&&i===r||l===r&&i===0||o.push([n,s])})),o}y(ye,"Ie");m(ye,"alignmentCentres");function fe(e,{quiet:t=4,logo:a=!1}={}){let r=e.size,o=m((u,d)=>u<7&&d<7||u<7&&d>=r-7||u>=r-7&&d<7,"isFinder"),n=Math.floor(r*_e),l=a?n%2===0?n-1:n:0,s=(r-l)/2,i=m((u,d)=>l>0&&u>=s&&u<s+l&&d>=s&&d<s+l,"inZone"),h=ye(r).filter(([u,d])=>!i(u,d)),p=m((u,d)=>h.some(([k,w])=>Math.abs(u-k)<=2&&Math.abs(d-w)<=2),"isAlign"),f=`a${b(_)} ${b(_)} 0 1 0 `,g="";for(let u=0;u<r;u+=1)for(let d=0;d<r;d+=1)!e.get(u,d)||o(u,d)||p(u,d)||i(u,d)||(g+=`M${b(d+t+.5-_)} ${b(u+t+.5)}${f}${b(2*_)} 0${f}${b(-2*_)} 0Z`);let C="";for(let[u,d]of[[0,0],[0,r-7],[r-7,0]]){let k=d+t,w=u+t;C+=I(k,w,7,1.6)+I(k+1,w+1,5,.6)+I(k+2,w+2,3,.6)}for(let[u,d]of h){let k=d-2+t,w=u-2+t;C+=I(k,w,5,1.2)+I(k+1,w+1,3,.5)+I(k+2,w+2,1,.5)}return{size:r+t*2,dots:g,finders:C,logo:l>0?{x:s+t+.5,y:s+t+.5,size:l-1}:null}}y(fe,"ce");m(fe,"styledQr");function ge(e){let t=Math.round(e.size/100*1e5)/1e5;return`translate(${b(e.x)} ${b(e.y)}) scale(${t})`}y(ge,"ue");m(ge,"qrLogoTransform");var De={en:L,fr:xe,ar:Ie,es:L,pt:L,de:L},ke={en:$,fr:te,ar:ee,es:$,pt:$,de:$};function A(e){let t=e.strings;return(a,r)=>H(t[a]??De[e.locale][a]??"",r)}y(A,"S");m(A,"flowT");function F(e,t){let a=A(t);return e.flatMap(r=>{let o=r.service==="phone_otp"?a("contact.phone"):r.service==="email_otp"?a("contact.email"):P(r,t),n=G[r.service];return o===null?[]:[{id:r.id,label:o,...n!==void 0?{glyph:(0,c.jsx)(R,{name:n})}:{}}]})}y(F,"de");m(F,"labelled");function Y({step:e,i18n:t,onError:a}){let r=A(t),{busy:o,error:n,run:l}=M(t,a),s=e.kind==="contact_choice";return(0,c.jsx)(q,{title:r(s?"contact.title":"choice.title"),description:r(s?"contact.description":"choice.description"),options:F(e.choice.options,t),busy:o,error:n,focus:!0,testId:s?"sekyro-contact-choice":"sekyro-choice",onChoose:y(i=>l(()=>e.choose(i)),"onChoose")})}y(Y,"pe");m(Y,"PlanChoiceView");var rt=Y,at=Y;function Le({step:e,i18n:t,onError:a,onOpen:r}){let o=A(t),{busy:n,error:l,run:s}=M(t,a),i=e,h=e.context.switchable,p=h===void 0?[]:h.options.filter(k=>k.id!==h.current),f=i.kind==="registry"&&(i.reason==="nni_not_found"||i.reason==="registry_record_not_found")&&i.canUseDocument||i.kind==="eid"&&i.reason?.startsWith("eid_")&&i.canUseCamera,g=p.length===1?p[0]:void 0,C=g!==void 0&&(g.service==="phone_otp"||g.service==="email_otp"),u=C&&i.canSwitch&&i.switchTo!==void 0?()=>i.switchTo.call(e):i.chooseOption===void 0||g===void 0?void 0:()=>i.chooseOption.call(e,g.id);if(p.length===0||f||g!==void 0&&(u===void 0||d()===null)||g===void 0&&i.chooseOption===void 0)return null;function d(){return g===void 0?o("choice.switch"):g.service==="phone_otp"||g.service==="email_otp"?o("contact.switch"):i.kind==="registry"&&g.service==="document"?t.t("population.useDocument"):i.kind==="eid"?t.strings["eid.useCamera"]??ke[t.locale]["eid.useCamera"]:P(g,t)}return y(d,"l"),m(d,"labelOf"),(0,c.jsxs)("div",{className:"sekyro-stack sekyro-stack--1",children:[l!==null?(0,c.jsx)(z,{tone:"danger",children:(0,c.jsx)("span",{children:l})}):null,(0,c.jsx)(N,{kind:"secondary",disabled:n,"aria-busy":n||void 0,onClick:y(()=>u===void 0?r():s(u),"onClick"),"data-testid":C?"sekyro-contact-switch":"sekyro-lane-switch",children:d()})]})}y(Le,"dt");m(Le,"LaneSwitch");function Se({step:e,i18n:t,onError:a,onClose:r}){let o=A(t),{busy:n,error:l,run:s}=M(t,a),i=e.context.switchable,h=e.chooseOption;return i===void 0||h===void 0?null:(0,c.jsx)(q,{title:o("choice.title"),description:o("choice.description"),options:F(i.options,t),...i.current!==null?{marked:i.current}:{},busy:n,error:l,focus:!0,testId:"sekyro-lane-choice",onChoose:y(p=>p===i.current?r():s(()=>h.call(e,p)),"onChoose")})}y(Se,"pt");m(Se,"LaneChoiceView");var Re=[["fullName","summary.fullName",!1],["birthDate","summary.birthDate",!0],["birthYear","summary.birthYear",!0],["nationality","summary.nationality",!0],["documentType","summary.documentType",!1],["documentNumberMasked","summary.documentNumber",!0],["idNumberMasked","summary.id_number",!0],["expiryDate","summary.expiryDate",!0]];function ve(e){let[t,a]=(0,v.useState)(null);return(0,v.useEffect)(()=>{if(!e.portraitAvailable)return;let r=!0,o=null;return e.portrait().then(n=>{!r||n===null||!n.type.startsWith("image/")||typeof URL.createObjectURL!="function"||(o=URL.createObjectURL(n),a(o))}),()=>{r=!1,o!==null&&URL.revokeObjectURL(o)}},[e.portraitAvailable]),t}y(ve,"Fe");m(ve,"usePortraitUrl");var Te=m(e=>/^\d{4}-\d{2}-\d{2}$/.test(e),"isoDate");function be(e,t){try{return new Intl.DateTimeFormat(t==="ar"?"ar-u-nu-latn":t,{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}).format(new Date(`${e}T00:00:00Z`))}catch{return e}}y(be,"Le");m(be,"formatDate");function Ve({step:e,i18n:t,onError:a}){let r=A(t),o=(0,v.useId)(),n=D(),l=ve(e),{busy:s,error:i,run:h}=M(t,a),p=e.context.orgName,f=["registry","document","chip"].find(u=>u===e.source),g=e.summaryKind==="partial",C=m(u=>t.strings[`doc.type.${u}`]??u,"documentLabel");return(0,c.jsxs)("section",{className:"sekyro-step","aria-labelledby":o,"data-testid":"sekyro-identity-summary",children:[(0,c.jsxs)("div",{className:"sekyro-heading",children:[(0,c.jsx)("h2",{id:o,ref:n,tabIndex:-1,className:"sekyro-text-body",children:r("summary.title")}),(0,c.jsx)("p",{className:"sekyro-text-muted",children:r("summary.description")})]}),f!==void 0?(0,c.jsx)("p",{className:"sekyro-summary__source",children:r(`summary.source.${f}`)}):null,(0,c.jsxs)("div",{className:"sekyro-summary",children:[l!==null?(0,c.jsx)("img",{className:"sekyro-summary__portrait",src:l,alt:r("summary.portraitAlt")}):null,(0,c.jsx)("dl",{className:"sekyro-summary__list",children:Re.map(([u,d,k])=>{let w=u==="idNumberMasked"?e.idNumberMasked??e.nniMasked:e[u];return w===void 0?null:(0,c.jsxs)("div",{className:"sekyro-summary__row",children:[(0,c.jsx)("dt",{className:"sekyro-text-muted",children:r(u==="fullName"&&g?"summary.name":d)}),(0,c.jsx)("dd",{children:Te(w)?be(w,t.locale):k?(0,c.jsx)("bdi",{dir:"ltr",children:w}):u==="documentType"?C(w):w})]},u)})})]}),i!==null?(0,c.jsx)(z,{tone:"danger",children:(0,c.jsx)("span",{children:i})}):null,e.retakeAvailable?null:(0,c.jsx)("p",{className:"sekyro-text-muted",children:r("summary.noRetake",{org:p})}),(0,c.jsxs)(T,{children:[(0,c.jsx)(N,{full:!0,disabled:s,"aria-busy":s||void 0,onClick:y(()=>h(()=>e.confirm()),"onClick"),children:r("summary.confirm")}),e.retakeAvailable?(0,c.jsx)(N,{kind:"secondary",full:!0,disabled:s,onClick:y(()=>h(()=>e.retake()),"onClick"),children:r(e.retakeTarget==="national_number"?"summary.retakeNationalNumber":"summary.retakeDocument")}):null]})]})}y(Ve,"ft");m(Ve,"IdentitySummaryView");var qe=["glasses","headwear","expression","faceCamera","background","lighting","hair"];function He({step:e,i18n:t,livenessProps:a,sekyroIntro:r}){let o=A(t),[n,l]=(0,v.useState)(null);(0,v.useEffect)(()=>e.onLivePhoto(d=>{let k=d.update?.coach;l(d.holding||k===void 0?null:t.t(`portrait.coach.${k}`))}),[e,t]);let s=e.instructions==="icao",i=(0,v.useMemo)(()=>K(e),[e]),h=e.icao?.profile==="selfie",p=(0,v.useMemo)(()=>s?qe.filter(d=>!h||d!=="background").map(d=>({id:d,text:o(`capture.tipsIcao.${d}`)})):void 0,[s,h,t]),f=(0,v.useMemo)(()=>s&&!h?{...a.strings,"capture.tips.title":o("capture.tipsIcao.title")}:a.strings,[s,h,a.strings,t]),g=h?void 0:o("capture.tipsIcao.title"),C=(0,v.useMemo)(()=>r===!0&&p!==void 0?{...a.slots,intro:m((d,k)=>(0,c.jsx)(J,{start:d,context:k,tips:p,...g!==void 0?{tipsTitle:g}:{},...i!==void 0?{retry:i}:{}}),"intro")}:a.slots,[r,p,g,i,a.slots,t]),u=h?`${(p??[]).map(d=>d.text).join(". ")}.`:o("capture.tipsIcao.summary");return(0,c.jsx)(Q,{...a,...C!==void 0?{slots:C}:{},...f!==void 0?{strings:f}:{},...p!==void 0?{tips:p,tipsSummary:u}:{},coach:n})}y(He,"yt");m(He,"LivePhotoLiveness");function Pe({i18n:e}){let t=A(e);return(0,c.jsxs)(z,{tone:"info",children:[(0,c.jsx)("strong",{children:t("portrait.retakeOnly")}),(0,c.jsx)("span",{children:t("portrait.keepCamera")})]})}y(Pe,"ht");m(Pe,"PortraitRetakeNotice");function Be({i18n:e,provider:t}){let a=e.strings,r=m(o=>a[o]??ke[e.locale][o]??"","pick");return(0,c.jsx)("p",{className:"sekyro-text-muted","data-testid":"sekyro-eid-continue",children:t?H(r("eid.continueHint"),{provider:t}):r("eid.continueHintGeneric")})}y(Be,"bt");m(Be,"EidContinueHint");async function we(e){try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}y(we,"Pe");m(we,"copy");function Z({url:e,i18n:t,label:a,primary:r}){let o=A(t),[n,l]=(0,v.useState)("idle"),s=a.startsWith("inApp.")?"inApp":"handoff";return(0,c.jsxs)("div",{className:"sekyro-stack sekyro-stack--1",children:[(0,c.jsx)(N,{kind:r?"primary":"secondary",full:!0,onClick:y(()=>{we(e).then(i=>l(i?"copied":"failed"))},"onClick"),children:o(a)}),(0,c.jsx)("p",{role:"status","aria-live":"polite",className:"sekyro-text-muted",children:n==="idle"?"":o(`${s}.${n==="copied"?"copied":"copyFailed"}`)})]})}y(Z,"fe");m(Z,"CopyLink");function j({url:e,i18n:t,refresh:a,footer:r,lead:o}){let n=A(t),l=(0,v.useId)(),s=(0,v.useMemo)(()=>{try{return fe(he(e,{ecl:"H"}),{logo:!0})}catch{return null}},[e]),i=(0,v.useRef)(a);i.current=a;let h=D();return(0,v.useEffect)(()=>{let p=setInterval(()=>{(typeof document>"u"||document.visibilityState!=="hidden")&&i.current?.().catch(()=>{})},5e3);return()=>clearInterval(p)},[]),(0,c.jsxs)("section",{className:"sekyro-step sekyro-handoff","aria-labelledby":l,"data-testid":"sekyro-handoff",children:[(0,c.jsxs)("div",{className:"sekyro-heading",children:[(0,c.jsx)("h2",{id:l,ref:h,tabIndex:-1,className:"sekyro-text-body",children:t.t("handoff.title")}),o!==void 0?(0,c.jsx)("p",{children:o}):null,(0,c.jsx)("p",{className:"sekyro-text-muted",children:n("handoff.description")})]}),s!==null?(0,c.jsxs)("svg",{className:"sekyro-qr",viewBox:`0 0 ${s.size} ${s.size}`,role:"img","aria-label":n("handoff.qrAlt"),children:[(0,c.jsx)("rect",{width:s.size,height:s.size,className:"sekyro-qr__bg"}),(0,c.jsx)("path",{d:s.dots,className:"sekyro-qr__fg"}),(0,c.jsx)("path",{d:s.finders,className:"sekyro-qr__fg",fillRule:"evenodd"}),s.logo!==null?(0,c.jsx)("path",{d:$e.d,className:"sekyro-qr__fg",fillRule:"evenodd",transform:ge(s.logo),"data-qr-mark":""}):null]}):null,(0,c.jsxs)("p",{className:"sekyro-handoff__waiting",role:"status",children:[(0,c.jsx)("span",{className:"sekyro-handoff__pulse","aria-hidden":"true"}),n("handoff.waiting")]}),(0,c.jsxs)(T,{children:[(0,c.jsx)(Z,{url:e,i18n:t,label:"handoff.copyLink"}),r??null]})]})}y(j,"ye");m(j,"HandoffView");var Oe=["intro","data","processing","sharing","retention"];function Ee({i18n:e}){let t=A(e);return(0,c.jsx)(c.Fragment,{children:Oe.map(a=>(0,c.jsx)("p",{children:t(`consent.human.terms.${a}`)},a))})}y(Ee,"gt");m(Ee,"HumanConsentTerms");function Ue({url:e,i18n:t}){return(0,v.useMemo)(()=>!ae(),[])?(0,c.jsx)(j,{url:e,i18n:t}):null}y(Ue,"kt");m(Ue,"DesktopHandoffView");function Fe({i18n:e,cause:t,onRetry:a,onContinue:r,handoffUrl:o}){let n=A(e),l=(0,v.useId)(),s=D(),[i,h]=(0,v.useState)("idle"),p=(0,v.useMemo)(()=>o!==void 0&&!ae(),[o]),f=t==="denied",g=m(()=>{r!==void 0&&(h("busy"),r(t).then(()=>h("idle"),d=>h(d instanceof Ne&&d.code==="check_out_of_order"?"idle":"failed")))},"end"),C=(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(N,{full:!0,kind:f||r===void 0?"primary":"secondary",onClick:a,children:e.t("common.retry")}),r!==void 0?(0,c.jsx)(N,{full:!0,kind:f?"secondary":"primary",disabled:i==="busy","aria-busy":i==="busy"||void 0,onClick:g,children:n("capture.noCamera.continue")}):null]}),u=i==="failed"?(0,c.jsx)(z,{tone:"danger",children:(0,c.jsx)("span",{children:e.t("errors.network_error")})}):null;return p&&o!==void 0?(0,c.jsxs)("section",{className:"sekyro-stack sekyro-stack--4","aria-labelledby":l,"data-testid":"sekyro-no-camera","data-cause":t,children:[(0,c.jsx)(j,{url:o,i18n:e}),(0,c.jsx)("h2",{id:l,ref:s,tabIndex:-1,className:"sekyro-text-body",children:n(f?"capture.noCamera.deniedTitle":"capture.noCamera.title")}),(0,c.jsx)("p",{className:"sekyro-text-muted",children:n(f?"capture.noCamera.deniedBody":"capture.noCamera.body")}),u,(0,c.jsx)("div",{className:"sekyro-stack sekyro-stack--3",children:C})]}):(0,c.jsxs)(V,{tone:f?"warning":"neutral",icon:"camera",titleId:l,title:n(f?"capture.noCamera.deniedTitle":"capture.noCamera.title"),testId:"sekyro-no-camera",actions:C,children:[(0,c.jsx)("p",{children:n(f?"capture.noCamera.deniedBody":"capture.noCamera.body")}),u]})}y(Fe,"wt");m(Fe,"NoCameraView");function Ye({url:e,i18n:t,onContinue:a}){let r=A(t),o=(0,v.useId)(),n=(0,v.useMemo)(()=>X(e),[e]);return(0,c.jsx)(V,{tone:"brand",icon:"external",titleId:o,title:r("inApp.title"),testId:"sekyro-in-app",actions:(0,c.jsxs)(c.Fragment,{children:[n!==null?(0,c.jsxs)("a",{className:"sekyro-btn sekyro-btn--primary sekyro-btn--full",href:n,"data-testid":"sekyro-open-browser",children:[(0,c.jsx)(R,{name:"external"}),r("inApp.openBrowser")]}):null,(0,c.jsx)(Z,{url:e,i18n:t,label:"inApp.copyLink",primary:n===null}),(0,c.jsx)(N,{kind:"ghost",full:!0,onClick:a,children:r("inApp.continueAnyway")})]}),children:(0,c.jsx)("p",{children:r("inApp.description")})})}y(Ye,"vt");m(Ye,"InAppBrowserPrompt");export{rt as ContactChoiceView,Ue as DesktopHandoffView,Be as EidContinueHint,at as GenericChoiceView,j as HandoffView,Ee as HumanConsentTerms,Ve as IdentitySummaryView,Ye as InAppBrowserPrompt,Se as LaneChoiceView,Le as LaneSwitch,He as LivePhotoLiveness,Fe as NoCameraView,Pe as PortraitRetakeNotice};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2009 The Cairo Project Authors (https://github.com/Gue3bara/Cairo)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
http://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font.git)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://openfontlicense.org
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|