@alfadocs/ui-kit-debug 1.112.1 → 1.113.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.
Files changed (228) hide show
  1. package/dist/_chunks/{ai-prompt-input-CG9BEggs.js → ai-prompt-input-JIPbrTF3.js} +2 -2
  2. package/dist/_chunks/{ai-prompt-input-CG9BEggs.js.map → ai-prompt-input-JIPbrTF3.js.map} +1 -1
  3. package/dist/_chunks/{anamnesis-summary-rows-BrTx7diS.js → anamnesis-summary-rows-DfDulR_c.js} +3 -3
  4. package/dist/_chunks/{anamnesis-summary-rows-BrTx7diS.js.map → anamnesis-summary-rows-DfDulR_c.js.map} +1 -1
  5. package/dist/_chunks/{audio-recorder-BlDozxdU.js → audio-recorder-CsnM_WDy.js} +2 -2
  6. package/dist/_chunks/{audio-recorder-BlDozxdU.js.map → audio-recorder-CsnM_WDy.js.map} +1 -1
  7. package/dist/_chunks/{balance-badge-cell-wJ6cTD_h.js → balance-badge-cell-BAZynD--.js} +4 -4
  8. package/dist/_chunks/{balance-badge-cell-wJ6cTD_h.js.map → balance-badge-cell-BAZynD--.js.map} +1 -1
  9. package/dist/_chunks/{bishop-score-BhMomGcX.js → bishop-score-CnIft4eV.js} +2 -2
  10. package/dist/_chunks/{bishop-score-BhMomGcX.js.map → bishop-score-CnIft4eV.js.map} +1 -1
  11. package/dist/_chunks/{calendar-appointment-editor-dialog-Oc3Df8O3.js → calendar-appointment-editor-dialog-CaZm5wGR.js} +5 -5
  12. package/dist/_chunks/{calendar-appointment-editor-dialog-Oc3Df8O3.js.map → calendar-appointment-editor-dialog-CaZm5wGR.js.map} +1 -1
  13. package/dist/_chunks/{data-table-zXBxFYpJ.js → data-table-C9idMvs0.js} +2 -2
  14. package/dist/_chunks/{data-table-zXBxFYpJ.js.map → data-table-C9idMvs0.js.map} +1 -1
  15. package/dist/_chunks/{document-preview-BalyZqnn.js → document-preview-5xs64jME.js} +2 -2
  16. package/dist/_chunks/{document-preview-BalyZqnn.js.map → document-preview-5xs64jME.js.map} +1 -1
  17. package/dist/_chunks/email-input-DxwbREpx.js +156 -0
  18. package/dist/_chunks/email-input-DxwbREpx.js.map +1 -0
  19. package/dist/_chunks/{file-manager-CVxBE4yy.js → file-manager-LG7B_UHB.js} +2 -2
  20. package/dist/_chunks/{file-manager-CVxBE4yy.js.map → file-manager-LG7B_UHB.js.map} +1 -1
  21. package/dist/_chunks/{forgot-password-form-vfCO2-Tt.js → forgot-password-form-YQVzSskq.js} +8 -7
  22. package/dist/_chunks/{forgot-password-form-vfCO2-Tt.js.map → forgot-password-form-YQVzSskq.js.map} +1 -1
  23. package/dist/_chunks/{gestational-age-calculator-AnaH00nk.js → gestational-age-calculator-Dv3IePb-.js} +2 -2
  24. package/dist/_chunks/{gestational-age-calculator-AnaH00nk.js.map → gestational-age-calculator-Dv3IePb-.js.map} +1 -1
  25. package/dist/_chunks/{heatmap-D4qqpCEj.js → heatmap-BiwC7Gdx.js} +2 -2
  26. package/dist/_chunks/{heatmap-D4qqpCEj.js.map → heatmap-BiwC7Gdx.js.map} +1 -1
  27. package/dist/_chunks/isEmail-BfVspSvV.js +248 -0
  28. package/dist/_chunks/isEmail-BfVspSvV.js.map +1 -0
  29. package/dist/_chunks/{kit-extensions-VaJ-u44J.js → kit-extensions-BOsUgWnE.js} +3 -3
  30. package/dist/_chunks/{kit-extensions-VaJ-u44J.js.map → kit-extensions-BOsUgWnE.js.map} +1 -1
  31. package/dist/_chunks/{link-cell-renderer-C8vfCOEp.js → link-cell-renderer-_Fv3WEmb.js} +2 -2
  32. package/dist/_chunks/{link-cell-renderer-C8vfCOEp.js.map → link-cell-renderer-_Fv3WEmb.js.map} +1 -1
  33. package/dist/_chunks/{login-dev-card-Cz1Clugq.js → login-dev-card-B6-zCFq3.js} +47 -46
  34. package/dist/_chunks/{login-dev-card-Cz1Clugq.js.map → login-dev-card-B6-zCFq3.js.map} +1 -1
  35. package/dist/_chunks/{muscle-scheme-1BZd1-RE.js → muscle-scheme-BkmDUTmk.js} +2 -2
  36. package/dist/_chunks/{muscle-scheme-1BZd1-RE.js.map → muscle-scheme-BkmDUTmk.js.map} +1 -1
  37. package/dist/_chunks/{optical-prescription-BGVeDVSP.js → optical-prescription-CvbN8yD2.js} +2 -2
  38. package/dist/_chunks/{optical-prescription-BGVeDVSP.js.map → optical-prescription-CvbN8yD2.js.map} +1 -1
  39. package/dist/_chunks/{patient-details-wMgTFtpp.js → patient-details-RsT3SaYh.js} +2 -2
  40. package/dist/_chunks/{patient-details-wMgTFtpp.js.map → patient-details-RsT3SaYh.js.map} +1 -1
  41. package/dist/_chunks/{patient-field-row-Bhm2Ig1P.js → patient-field-row-D9rb-QJH.js} +3 -3
  42. package/dist/_chunks/{patient-field-row-Bhm2Ig1P.js.map → patient-field-row-D9rb-QJH.js.map} +1 -1
  43. package/dist/_chunks/{patient-summary-card-DMdPPG3n.js → patient-summary-card-BjZErlbt.js} +2 -2
  44. package/dist/_chunks/{patient-summary-card-DMdPPG3n.js.map → patient-summary-card-BjZErlbt.js.map} +1 -1
  45. package/dist/_chunks/{practice-results-BOpaPaav.js → practice-results-BByRCIuR.js} +620 -566
  46. package/dist/_chunks/practice-results-BByRCIuR.js.map +1 -0
  47. package/dist/_chunks/{pregnancy-dating-D6dLkMpl.js → pregnancy-dating-Cs8xpZA8.js} +2 -2
  48. package/dist/_chunks/{pregnancy-dating-D6dLkMpl.js.map → pregnancy-dating-Cs8xpZA8.js.map} +1 -1
  49. package/dist/_chunks/{registration-form-CEJRUS9G.js → registration-form-Cq5_OSIL.js} +8 -7
  50. package/dist/_chunks/{registration-form-CEJRUS9G.js.map → registration-form-Cq5_OSIL.js.map} +1 -1
  51. package/dist/_chunks/{reserved.agent-C-C9cvO5.js → reserved.agent-BMkapgom.js} +3 -3
  52. package/dist/_chunks/{reserved.agent-C-C9cvO5.js.map → reserved.agent-BMkapgom.js.map} +1 -1
  53. package/dist/_chunks/{reset-password-form-B0acanDD.js → reset-password-form-BVsL2fOJ.js} +2 -2
  54. package/dist/_chunks/{reset-password-form-B0acanDD.js.map → reset-password-form-BVsL2fOJ.js.map} +1 -1
  55. package/dist/_chunks/{select-BBDRYxJl.js → select-uESzXTX6.js} +42 -39
  56. package/dist/_chunks/select-uESzXTX6.js.map +1 -0
  57. package/dist/_chunks/{send-registration-link-form-Nn0jf65G.js → send-registration-link-form-OgPomrZN.js} +8 -7
  58. package/dist/_chunks/{send-registration-link-form-Nn0jf65G.js.map → send-registration-link-form-OgPomrZN.js.map} +1 -1
  59. package/dist/_chunks/{signature-request-DJwdPji_.js → signature-request-BnTihryS.js} +2 -2
  60. package/dist/_chunks/{signature-request-DJwdPji_.js.map → signature-request-BnTihryS.js.map} +1 -1
  61. package/dist/_chunks/{tabs-DYHgRVSJ.js → tabs-CXYjr_8O.js} +2 -2
  62. package/dist/_chunks/{tabs-DYHgRVSJ.js.map → tabs-CXYjr_8O.js.map} +1 -1
  63. package/dist/_chunks/{task-editor-jqRf2JP6.js → task-editor-gqWF1jI6.js} +2 -2
  64. package/dist/_chunks/{task-editor-jqRf2JP6.js.map → task-editor-gqWF1jI6.js.map} +1 -1
  65. package/dist/_chunks/{tasks-panel-CFo5uIHx.js → tasks-panel-OuIaydK5.js} +2 -2
  66. package/dist/_chunks/{tasks-panel-CFo5uIHx.js.map → tasks-panel-OuIaydK5.js.map} +1 -1
  67. package/dist/_chunks/{unit-converter-C95sa5y8.js → unit-converter-D77vmlzN.js} +2 -2
  68. package/dist/_chunks/{unit-converter-C95sa5y8.js.map → unit-converter-D77vmlzN.js.map} +1 -1
  69. package/dist/_chunks/{use-appointment-details-read-VI26Z-pc.js → use-appointment-details-read-DvK7Looa.js} +2 -2
  70. package/dist/_chunks/{use-appointment-details-read-VI26Z-pc.js.map → use-appointment-details-read-DvK7Looa.js.map} +1 -1
  71. package/dist/_chunks/verify-identity-types-C85EXNzy.js +707 -0
  72. package/dist/_chunks/verify-identity-types-C85EXNzy.js.map +1 -0
  73. package/dist/_chunks/{voice-control-panel-B0TUZAiP.js → voice-control-panel-BGiX4sqB.js} +2 -2
  74. package/dist/_chunks/{voice-control-panel-B0TUZAiP.js.map → voice-control-panel-BGiX4sqB.js.map} +1 -1
  75. package/dist/agent-catalog.json +106 -2
  76. package/dist/agent-i18n/en.json +11 -0
  77. package/dist/components/ai-prompt-input/index.js +1 -1
  78. package/dist/components/appointment-details-panel/index.js +1 -1
  79. package/dist/components/audio-recorder/index.js +1 -1
  80. package/dist/components/bishop-score/index.js +1 -1
  81. package/dist/components/booking/index.js +1 -1
  82. package/dist/components/data-table/index.js +2 -2
  83. package/dist/components/document-preview/index.js +1 -1
  84. package/dist/components/email-input/index.js +1 -1
  85. package/dist/components/file-manager/index.js +1 -1
  86. package/dist/components/gestational-age-calculator/index.js +1 -1
  87. package/dist/components/heatmap/index.js +1 -1
  88. package/dist/components/index.d.ts +1 -0
  89. package/dist/components/index.d.ts.map +1 -1
  90. package/dist/components/muscle-scheme/index.js +1 -1
  91. package/dist/components/optical-prescription/index.js +1 -1
  92. package/dist/components/patient-details/index.js +1 -1
  93. package/dist/components/patient-summary-card/index.js +1 -1
  94. package/dist/components/patient-table/index.js +1 -1
  95. package/dist/components/practice-results/index.js +1 -1
  96. package/dist/components/practice-results/practice-results.d.ts +28 -0
  97. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  98. package/dist/components/pregnancy-dating/index.js +1 -1
  99. package/dist/components/rich-text-editor/index.js +1 -1
  100. package/dist/components/select/index.js +1 -1
  101. package/dist/components/select/select.d.ts.map +1 -1
  102. package/dist/components/skeleton-scheme/index.js +1 -1
  103. package/dist/components/tabs/index.js +1 -1
  104. package/dist/components/task-editor/index.js +1 -1
  105. package/dist/components/tasks-panel/index.js +1 -1
  106. package/dist/components/unit-converter/index.js +1 -1
  107. package/dist/components/voice-control-panel/index.js +1 -1
  108. package/dist/core.css +1 -1
  109. package/dist/i18n/locales/ar.d.ts +67 -0
  110. package/dist/i18n/locales/ar.d.ts.map +1 -1
  111. package/dist/i18n/locales/ar.js +68 -1
  112. package/dist/i18n/locales/ar.js.map +1 -1
  113. package/dist/i18n/locales/de.d.ts +67 -0
  114. package/dist/i18n/locales/de.d.ts.map +1 -1
  115. package/dist/i18n/locales/de.js +68 -1
  116. package/dist/i18n/locales/de.js.map +1 -1
  117. package/dist/i18n/locales/el.d.ts +67 -0
  118. package/dist/i18n/locales/el.d.ts.map +1 -1
  119. package/dist/i18n/locales/el.js +68 -1
  120. package/dist/i18n/locales/el.js.map +1 -1
  121. package/dist/i18n/locales/en.d.ts +67 -0
  122. package/dist/i18n/locales/en.d.ts.map +1 -1
  123. package/dist/i18n/locales/en.js +67 -0
  124. package/dist/i18n/locales/en.js.map +1 -1
  125. package/dist/i18n/locales/es.d.ts +67 -0
  126. package/dist/i18n/locales/es.d.ts.map +1 -1
  127. package/dist/i18n/locales/es.js +68 -1
  128. package/dist/i18n/locales/es.js.map +1 -1
  129. package/dist/i18n/locales/fr.d.ts +67 -0
  130. package/dist/i18n/locales/fr.d.ts.map +1 -1
  131. package/dist/i18n/locales/fr.js +68 -1
  132. package/dist/i18n/locales/fr.js.map +1 -1
  133. package/dist/i18n/locales/hi.d.ts +67 -0
  134. package/dist/i18n/locales/hi.d.ts.map +1 -1
  135. package/dist/i18n/locales/hi.js +68 -1
  136. package/dist/i18n/locales/hi.js.map +1 -1
  137. package/dist/i18n/locales/it.d.ts +67 -0
  138. package/dist/i18n/locales/it.d.ts.map +1 -1
  139. package/dist/i18n/locales/it.js +68 -1
  140. package/dist/i18n/locales/it.js.map +1 -1
  141. package/dist/i18n/locales/ja.d.ts +67 -0
  142. package/dist/i18n/locales/ja.d.ts.map +1 -1
  143. package/dist/i18n/locales/ja.js +68 -1
  144. package/dist/i18n/locales/ja.js.map +1 -1
  145. package/dist/i18n/locales/nl.d.ts +67 -0
  146. package/dist/i18n/locales/nl.d.ts.map +1 -1
  147. package/dist/i18n/locales/nl.js +68 -1
  148. package/dist/i18n/locales/nl.js.map +1 -1
  149. package/dist/i18n/locales/pl.d.ts +67 -0
  150. package/dist/i18n/locales/pl.d.ts.map +1 -1
  151. package/dist/i18n/locales/pl.js +68 -1
  152. package/dist/i18n/locales/pl.js.map +1 -1
  153. package/dist/i18n/locales/pt.d.ts +67 -0
  154. package/dist/i18n/locales/pt.d.ts.map +1 -1
  155. package/dist/i18n/locales/pt.js +68 -1
  156. package/dist/i18n/locales/pt.js.map +1 -1
  157. package/dist/i18n/locales/ro.d.ts +67 -0
  158. package/dist/i18n/locales/ro.d.ts.map +1 -1
  159. package/dist/i18n/locales/ro.js +68 -1
  160. package/dist/i18n/locales/ro.js.map +1 -1
  161. package/dist/i18n/locales/ru.d.ts +67 -0
  162. package/dist/i18n/locales/ru.d.ts.map +1 -1
  163. package/dist/i18n/locales/ru.js +68 -1
  164. package/dist/i18n/locales/ru.js.map +1 -1
  165. package/dist/i18n/locales/sq.d.ts +67 -0
  166. package/dist/i18n/locales/sq.d.ts.map +1 -1
  167. package/dist/i18n/locales/sq.js +68 -1
  168. package/dist/i18n/locales/sq.js.map +1 -1
  169. package/dist/i18n/locales/sv.d.ts +67 -0
  170. package/dist/i18n/locales/sv.d.ts.map +1 -1
  171. package/dist/i18n/locales/sv.js +68 -1
  172. package/dist/i18n/locales/sv.js.map +1 -1
  173. package/dist/i18n/locales/tr.d.ts +67 -0
  174. package/dist/i18n/locales/tr.d.ts.map +1 -1
  175. package/dist/i18n/locales/tr.js +68 -1
  176. package/dist/i18n/locales/tr.js.map +1 -1
  177. package/dist/i18n/locales/zh.d.ts +67 -0
  178. package/dist/i18n/locales/zh.d.ts.map +1 -1
  179. package/dist/i18n/locales/zh.js +68 -1
  180. package/dist/i18n/locales/zh.js.map +1 -1
  181. package/dist/index.js +352 -347
  182. package/dist/index.js.map +1 -1
  183. package/dist/locales/ar.json +68 -1
  184. package/dist/locales/de.json +68 -1
  185. package/dist/locales/el.json +68 -1
  186. package/dist/locales/en.json +67 -0
  187. package/dist/locales/es.json +68 -1
  188. package/dist/locales/fr.json +68 -1
  189. package/dist/locales/hi.json +68 -1
  190. package/dist/locales/it.json +68 -1
  191. package/dist/locales/ja.json +68 -1
  192. package/dist/locales/nl.json +68 -1
  193. package/dist/locales/pl.json +68 -1
  194. package/dist/locales/pt.json +68 -1
  195. package/dist/locales/ro.json +68 -1
  196. package/dist/locales/ru.json +68 -1
  197. package/dist/locales/sq.json +68 -1
  198. package/dist/locales/sv.json +68 -1
  199. package/dist/locales/tr.json +68 -1
  200. package/dist/locales/zh.json +68 -1
  201. package/dist/patterns/anamnesis/index.js +1 -1
  202. package/dist/patterns/calendar/index.js +1 -1
  203. package/dist/patterns/forgot-password-form/index.js +1 -1
  204. package/dist/patterns/login-form/index.js +1 -1
  205. package/dist/patterns/registration-form/index.js +1 -1
  206. package/dist/patterns/reset-password-form/index.js +1 -1
  207. package/dist/patterns/send-registration-link-form/index.js +1 -1
  208. package/dist/patterns/signature-request/index.js +1 -1
  209. package/dist/patterns/verify-identity/change-email-dialog.d.ts +26 -0
  210. package/dist/patterns/verify-identity/change-email-dialog.d.ts.map +1 -0
  211. package/dist/patterns/verify-identity/index.d.ts +7 -0
  212. package/dist/patterns/verify-identity/index.d.ts.map +1 -0
  213. package/dist/patterns/verify-identity/index.js +8 -0
  214. package/dist/patterns/verify-identity/index.js.map +1 -0
  215. package/dist/patterns/verify-identity/use-countdown.d.ts +12 -0
  216. package/dist/patterns/verify-identity/use-countdown.d.ts.map +1 -0
  217. package/dist/patterns/verify-identity/verify-identity-steps.d.ts +21 -0
  218. package/dist/patterns/verify-identity/verify-identity-steps.d.ts.map +1 -0
  219. package/dist/patterns/verify-identity/verify-identity-types.d.ts +47 -0
  220. package/dist/patterns/verify-identity/verify-identity-types.d.ts.map +1 -0
  221. package/dist/patterns/verify-identity/verify-identity.d.ts +54 -0
  222. package/dist/patterns/verify-identity/verify-identity.d.ts.map +1 -0
  223. package/dist/tokens.css +1 -1
  224. package/package.json +5 -1
  225. package/dist/_chunks/email-input-BEO3vonE.js +0 -399
  226. package/dist/_chunks/email-input-BEO3vonE.js.map +0 -1
  227. package/dist/_chunks/practice-results-BOpaPaav.js.map +0 -1
  228. package/dist/_chunks/select-BBDRYxJl.js.map +0 -1
@@ -2694,7 +2694,8 @@
2694
2694
  "book": "Rezervo",
2695
2695
  "firstVisitPrice": "Kostoja e vizitës së parë",
2696
2696
  "priceFrom": "nga {{price}}",
2697
- "priceRange": "nga {{min}} deri në {{max}}"
2697
+ "priceRange": "nga {{min}} deri në {{max}}",
2698
+ "latestReview": "Vlerësimi i fundit:"
2698
2699
  },
2699
2700
  "sheet": {
2700
2701
  "title_one": "{{count}} klinikë",
@@ -5922,6 +5923,72 @@
5922
5923
  "sentTitle": "Kontrolloni kutinë hyrëse",
5923
5924
  "sentDescription": "Nëse ekziston një llogari për këtë adresë, kemi dërguar një lidhje për rivendosjen e fjalëkalimit."
5924
5925
  },
5926
+ "verifyIdentity": {
5927
+ "title": "Verifikoni që jeni ju",
5928
+ "description": "Për sigurinë tuaj, duhet të kontrollojmë që jeni ju.",
5929
+ "progress": "Hapi {{current}} nga {{total}}",
5930
+ "cancel": "Anulo",
5931
+ "continue": "Vazhdo",
5932
+ "verify": "Verifiko",
5933
+ "verified": "Jeni verifikuar",
5934
+ "verifiedDescription": "Identiteti juaj u konfirmua.",
5935
+ "genericError": "Diçka shkoi keq. Provoni përsëri.",
5936
+ "password": {
5937
+ "title": "Futni fjalëkalimin tuaj",
5938
+ "description": "Përdorni fjalëkalimin me të cilin hyni.",
5939
+ "label": "Fjalëkalimi",
5940
+ "required": "Futni fjalëkalimin tuaj.",
5941
+ "invalid": "Ky fjalëkalim nuk është i saktë. Kontrollojeni dhe provoni përsëri."
5942
+ },
5943
+ "authenticator": {
5944
+ "title": "Futni kodin e autentikuesit",
5945
+ "description": "Hapni aplikacionin e autentikimit dhe futni kodin që shfaq."
5946
+ },
5947
+ "sms": {
5948
+ "title": "Futni kodin që dërguam me SMS",
5949
+ "description": "Dërguam një kod me SMS te {{phone}}.",
5950
+ "descriptionNoPhone": "Dërguam një kod me SMS te celulari juaj i konfirmuar."
5951
+ },
5952
+ "email": {
5953
+ "title": "Futni kodin që dërguam me email",
5954
+ "description": "Dërguam një kod te {{email}}, emaili juaj aktual i hyrjes.",
5955
+ "descriptionNoEmail": "Dërguam një kod te emaili juaj aktual i hyrjes."
5956
+ },
5957
+ "codeLabel": "Kodi",
5958
+ "sending": "Po dërgohet kodi...",
5959
+ "expiresIn": "Kodi skadon pas {{time}}.",
5960
+ "invalidCode": "Ky kod nuk është i saktë. Kontrollojeni dhe provoni përsëri.",
5961
+ "expiredCode": "Ky kod ka skaduar. Dërgoni një të ri.",
5962
+ "verifyRateLimited": "Shumë përpjekje. Provoni përsëri pas {{seconds}} sekondash.",
5963
+ "sendFailed": "Nuk e dërguam dot kodin.",
5964
+ "sendRateLimited": "Janë kërkuar shumë kode. Provoni përsëri pas {{seconds}} sekondash.",
5965
+ "sendRateLimitedOver": "Tani mund të kërkoni një kod të ri.",
5966
+ "resend": "Dërgo një kod të ri",
5967
+ "resendIn": "Dërgo një kod të ri pas {{seconds}} s",
5968
+ "tryAgain": "Provo përsëri",
5969
+ "missingMobile": {
5970
+ "title": "Së pari konfirmoni një numër celulari",
5971
+ "description": "Dërgojmë një kod me SMS për të kontrolluar që jeni ju.",
5972
+ "reason": "Ndryshimi i fjalëkalimit ose i emailit, krijimi i një qasjeje të re dhe shkarkimi i një kopjeje rezervë kërkojnë një nivel më të lartë sigurie. Konfirmoni një numër celulari për të vazhduar.",
5973
+ "action": "Konfirmo një numër celulari"
5974
+ },
5975
+ "changeEmail": {
5976
+ "title": "Ndrysho emailin e hyrjes",
5977
+ "description": "Kontrolloni që jeni ju para se të ndryshoni emailin me të cilin hyni.",
5978
+ "newTitle": "Futni emailin tuaj të ri",
5979
+ "newDescription": "Ky është emaili që do të përdorni për të hyrë.",
5980
+ "newLabel": "Emaili i ri",
5981
+ "confirmLabel": "Konfirmoni emailin e ri",
5982
+ "required": "Futni emailin tuaj të ri.",
5983
+ "mismatch": "Dy emailet nuk përputhen.",
5984
+ "alreadyInUse": "Ky email është tashmë në përdorim.",
5985
+ "invalid": "Ky email nuk mund të përdoret. Kontrollojeni dhe provoni përsëri.",
5986
+ "submit": "Ndrysho emailin",
5987
+ "doneTitle": "Kontrolloni kutinë tuaj postare të re",
5988
+ "doneDescription": "Dërguam një paralajmërim te adresa juaj aktuale, me një lidhje për të anuluar ndryshimin.",
5989
+ "close": "Mbyll"
5990
+ }
5991
+ },
5925
5992
  "resetPasswordForm": {
5926
5993
  "title": "Zgjidhni një fjalëkalim të ri",
5927
5994
  "description": "Vendosni një fjalëkalim të ri për llogarinë tuaj.",
@@ -2694,7 +2694,8 @@
2694
2694
  "book": "Boka",
2695
2695
  "firstVisitPrice": "Kostnad för första besöket",
2696
2696
  "priceFrom": "från {{price}}",
2697
- "priceRange": "{{min}} till {{max}}"
2697
+ "priceRange": "{{min}} till {{max}}",
2698
+ "latestReview": "Senaste omdöme:"
2698
2699
  },
2699
2700
  "sheet": {
2700
2701
  "title_one": "{{count}} mottagning",
@@ -5922,6 +5923,72 @@
5922
5923
  "sentTitle": "Kontrollera din inkorg",
5923
5924
  "sentDescription": "Om det finns ett konto för den här adressen har vi skickat en länk för att återställa lösenordet."
5924
5925
  },
5926
+ "verifyIdentity": {
5927
+ "title": "Bekräfta att det är du",
5928
+ "description": "För din säkerhet behöver vi kontrollera att det är du.",
5929
+ "progress": "Steg {{current}} av {{total}}",
5930
+ "cancel": "Avbryt",
5931
+ "continue": "Fortsätt",
5932
+ "verify": "Verifiera",
5933
+ "verified": "Du är verifierad",
5934
+ "verifiedDescription": "Din identitet är bekräftad.",
5935
+ "genericError": "Något gick fel. Försök igen.",
5936
+ "password": {
5937
+ "title": "Ange ditt lösenord",
5938
+ "description": "Använd lösenordet du loggar in med.",
5939
+ "label": "Lösenord",
5940
+ "required": "Ange ditt lösenord.",
5941
+ "invalid": "Lösenordet är inte korrekt. Kontrollera det och försök igen."
5942
+ },
5943
+ "authenticator": {
5944
+ "title": "Ange din autentiseringskod",
5945
+ "description": "Öppna din autentiseringsapp och ange koden som visas."
5946
+ },
5947
+ "sms": {
5948
+ "title": "Ange koden vi skickade via sms",
5949
+ "description": "Vi skickade en kod via sms till {{phone}}.",
5950
+ "descriptionNoPhone": "Vi skickade en kod via sms till ditt bekräftade mobilnummer."
5951
+ },
5952
+ "email": {
5953
+ "title": "Ange koden vi skickade via e-post",
5954
+ "description": "Vi skickade en kod till {{email}}, din nuvarande inloggnings-e-postadress.",
5955
+ "descriptionNoEmail": "Vi skickade en kod till din nuvarande inloggnings-e-postadress."
5956
+ },
5957
+ "codeLabel": "Kod",
5958
+ "sending": "Skickar koden...",
5959
+ "expiresIn": "Koden går ut om {{time}}.",
5960
+ "invalidCode": "Koden är inte korrekt. Kontrollera den och försök igen.",
5961
+ "expiredCode": "Koden har gått ut. Skicka en ny.",
5962
+ "verifyRateLimited": "För många försök. Försök igen om {{seconds}} sekunder.",
5963
+ "sendFailed": "Vi kunde inte skicka koden.",
5964
+ "sendRateLimited": "För många koder har begärts. Försök igen om {{seconds}} sekunder.",
5965
+ "sendRateLimitedOver": "Du kan nu begära en ny kod.",
5966
+ "resend": "Skicka en ny kod",
5967
+ "resendIn": "Skicka en ny kod om {{seconds}} s",
5968
+ "tryAgain": "Försök igen",
5969
+ "missingMobile": {
5970
+ "title": "Bekräfta ett mobilnummer först",
5971
+ "description": "Vi skickar en kod via sms för att kontrollera att det är du.",
5972
+ "reason": "Att ändra lösenord eller e-postadress, skapa en ny åtkomst och ladda ned en säkerhetskopia kräver en högre säkerhetsnivå. Bekräfta ett mobilnummer för att fortsätta.",
5973
+ "action": "Bekräfta ett mobilnummer"
5974
+ },
5975
+ "changeEmail": {
5976
+ "title": "Ändra inloggnings-e-post",
5977
+ "description": "Bekräfta att det är du innan du ändrar e-postadressen du loggar in med.",
5978
+ "newTitle": "Ange din nya e-postadress",
5979
+ "newDescription": "Det här är e-postadressen du kommer att logga in med.",
5980
+ "newLabel": "Ny e-postadress",
5981
+ "confirmLabel": "Bekräfta ny e-postadress",
5982
+ "required": "Ange din nya e-postadress.",
5983
+ "mismatch": "De två e-postadresserna matchar inte.",
5984
+ "alreadyInUse": "Den e-postadressen används redan.",
5985
+ "invalid": "Den e-postadressen kan inte användas. Kontrollera den och försök igen.",
5986
+ "submit": "Ändra e-postadress",
5987
+ "doneTitle": "Kontrollera din nya inkorg",
5988
+ "doneDescription": "Vi skickade en varning till din nuvarande adress, med en länk för att avbryta ändringen.",
5989
+ "close": "Stäng"
5990
+ }
5991
+ },
5925
5992
  "resetPasswordForm": {
5926
5993
  "title": "Välj ett nytt lösenord",
5927
5994
  "description": "Ange ett nytt lösenord för ditt konto.",
@@ -2694,7 +2694,8 @@
2694
2694
  "book": "Randevu alın",
2695
2695
  "firstVisitPrice": "İlk ziyaret ücreti",
2696
2696
  "priceFrom": "{{price}} ve üzeri",
2697
- "priceRange": "{{min}} ile {{max}} arası"
2697
+ "priceRange": "{{min}} ile {{max}} arası",
2698
+ "latestReview": "Son değerlendirme:"
2698
2699
  },
2699
2700
  "sheet": {
2700
2701
  "title_one": "{{count}} klinik",
@@ -5922,6 +5923,72 @@
5922
5923
  "sentTitle": "Gelen kutunuzu kontrol edin",
5923
5924
  "sentDescription": "Bu adres için bir hesap varsa, şifreyi sıfırlamak için bir bağlantı gönderdik."
5924
5925
  },
5926
+ "verifyIdentity": {
5927
+ "title": "Siz olduğunuzu doğrulayın",
5928
+ "description": "Güvenliğiniz için sizin olduğunuzu kontrol etmemiz gerekiyor.",
5929
+ "progress": "Adım {{current}} / {{total}}",
5930
+ "cancel": "İptal",
5931
+ "continue": "Devam",
5932
+ "verify": "Doğrula",
5933
+ "verified": "Doğrulandınız",
5934
+ "verifiedDescription": "Kimliğiniz doğrulandı.",
5935
+ "genericError": "Bir şeyler ters gitti. Tekrar deneyin.",
5936
+ "password": {
5937
+ "title": "Şifrenizi girin",
5938
+ "description": "Oturum açarken kullandığınız şifreyi kullanın.",
5939
+ "label": "Şifre",
5940
+ "required": "Şifrenizi girin.",
5941
+ "invalid": "Bu şifre doğru değil. Kontrol edip tekrar deneyin."
5942
+ },
5943
+ "authenticator": {
5944
+ "title": "Kimlik doğrulama uygulamanızdaki kodu girin",
5945
+ "description": "Kimlik doğrulama uygulamanızı açın ve gösterdiği kodu girin."
5946
+ },
5947
+ "sms": {
5948
+ "title": "SMS ile gönderdiğimiz kodu girin",
5949
+ "description": "{{phone}} numarasına SMS ile bir kod gönderdik.",
5950
+ "descriptionNoPhone": "Onaylı cep telefonunuza SMS ile bir kod gönderdik."
5951
+ },
5952
+ "email": {
5953
+ "title": "E-posta ile gönderdiğimiz kodu girin",
5954
+ "description": "Mevcut giriş e-posta adresiniz olan {{email}} adresine bir kod gönderdik.",
5955
+ "descriptionNoEmail": "Mevcut giriş e-posta adresinize bir kod gönderdik."
5956
+ },
5957
+ "codeLabel": "Kod",
5958
+ "sending": "Kod gönderiliyor...",
5959
+ "expiresIn": "Kodun süresi {{time}} içinde dolacak.",
5960
+ "invalidCode": "Bu kod doğru değil. Kontrol edip tekrar deneyin.",
5961
+ "expiredCode": "Bu kodun süresi doldu. Yeni bir kod gönderin.",
5962
+ "verifyRateLimited": "Çok fazla deneme yapıldı. {{seconds}} saniye sonra tekrar deneyin.",
5963
+ "sendFailed": "Kodu gönderemedik.",
5964
+ "sendRateLimited": "Çok fazla kod istendi. {{seconds}} saniye sonra tekrar deneyin.",
5965
+ "sendRateLimitedOver": "Artık yeni bir kod isteyebilirsiniz.",
5966
+ "resend": "Yeni kod gönder",
5967
+ "resendIn": "{{seconds}} sn sonra yeni kod gönder",
5968
+ "tryAgain": "Tekrar dene",
5969
+ "missingMobile": {
5970
+ "title": "Önce bir cep telefonu numarası onaylayın",
5971
+ "description": "Sizin olduğunuzu kontrol etmek için SMS ile bir kod gönderiyoruz.",
5972
+ "reason": "Şifrenizi veya e-postanızı değiştirmek, yeni bir erişim oluşturmak ve yedeği indirmek daha yüksek bir güvenlik düzeyi gerektirir. Devam etmek için bir cep telefonu numarası onaylayın.",
5973
+ "action": "Cep telefonu numarasını onayla"
5974
+ },
5975
+ "changeEmail": {
5976
+ "title": "Giriş e-postasını değiştir",
5977
+ "description": "Oturum açtığınız e-posta adresini değiştirmeden önce sizin olduğunuzu doğrulayın.",
5978
+ "newTitle": "Yeni e-posta adresinizi girin",
5979
+ "newDescription": "Oturum açmak için kullanacağınız e-posta adresi budur.",
5980
+ "newLabel": "Yeni e-posta",
5981
+ "confirmLabel": "Yeni e-postayı onaylayın",
5982
+ "required": "Yeni e-posta adresinizi girin.",
5983
+ "mismatch": "İki e-posta adresi eşleşmiyor.",
5984
+ "alreadyInUse": "Bu e-posta adresi zaten kullanımda.",
5985
+ "invalid": "Bu e-posta adresi kullanılamaz. Kontrol edip tekrar deneyin.",
5986
+ "submit": "E-postayı değiştir",
5987
+ "doneTitle": "Yeni gelen kutunuzu kontrol edin",
5988
+ "doneDescription": "Mevcut adresinize, değişikliği iptal etmek için bir bağlantı içeren bir uyarı gönderdik.",
5989
+ "close": "Kapat"
5990
+ }
5991
+ },
5925
5992
  "resetPasswordForm": {
5926
5993
  "title": "Yeni şifre belirleyin",
5927
5994
  "description": "Hesabınız için yeni bir şifre girin.",
@@ -2694,7 +2694,8 @@
2694
2694
  "book": "预约",
2695
2695
  "firstVisitPrice": "首诊费用",
2696
2696
  "priceFrom": "{{price}}起",
2697
- "priceRange": "{{min}}至{{max}}"
2697
+ "priceRange": "{{min}}至{{max}}",
2698
+ "latestReview": "最新评价:"
2698
2699
  },
2699
2700
  "sheet": {
2700
2701
  "title_one": "{{count}}家诊所",
@@ -5922,6 +5923,72 @@
5922
5923
  "sentTitle": "请查收邮件",
5923
5924
  "sentDescription": "如果该地址对应的账户存在,我们已发送重置密码的链接。"
5924
5925
  },
5926
+ "verifyIdentity": {
5927
+ "title": "验证是您本人",
5928
+ "description": "为了您的安全,我们需要确认是您本人。",
5929
+ "progress": "第 {{current}} 步,共 {{total}} 步",
5930
+ "cancel": "取消",
5931
+ "continue": "继续",
5932
+ "verify": "验证",
5933
+ "verified": "您已通过验证",
5934
+ "verifiedDescription": "您的身份已确认。",
5935
+ "genericError": "出了点问题。请重试。",
5936
+ "password": {
5937
+ "title": "输入您的密码",
5938
+ "description": "请使用您登录时的密码。",
5939
+ "label": "密码",
5940
+ "required": "请输入您的密码。",
5941
+ "invalid": "密码不正确。请检查后重试。"
5942
+ },
5943
+ "authenticator": {
5944
+ "title": "输入验证器代码",
5945
+ "description": "打开您的验证器应用,输入其显示的代码。"
5946
+ },
5947
+ "sms": {
5948
+ "title": "输入我们通过短信发送的验证码",
5949
+ "description": "我们已通过短信向 {{phone}} 发送了验证码。",
5950
+ "descriptionNoPhone": "我们已通过短信向您已确认的手机发送了验证码。"
5951
+ },
5952
+ "email": {
5953
+ "title": "输入我们通过电子邮件发送的验证码",
5954
+ "description": "我们已向 {{email}}(您当前的登录电子邮件地址)发送了验证码。",
5955
+ "descriptionNoEmail": "我们已向您当前的登录电子邮件地址发送了验证码。"
5956
+ },
5957
+ "codeLabel": "验证码",
5958
+ "sending": "正在发送验证码...",
5959
+ "expiresIn": "验证码将在 {{time}} 后过期。",
5960
+ "invalidCode": "验证码不正确。请检查后重试。",
5961
+ "expiredCode": "验证码已过期。请重新发送。",
5962
+ "verifyRateLimited": "尝试次数过多。请在 {{seconds}} 秒后重试。",
5963
+ "sendFailed": "我们无法发送验证码。",
5964
+ "sendRateLimited": "请求验证码次数过多。请在 {{seconds}} 秒后重试。",
5965
+ "sendRateLimitedOver": "您现在可以重新获取验证码。",
5966
+ "resend": "发送新验证码",
5967
+ "resendIn": "{{seconds}} 秒后发送新验证码",
5968
+ "tryAgain": "重试",
5969
+ "missingMobile": {
5970
+ "title": "请先确认手机号码",
5971
+ "description": "我们会通过短信发送验证码,以确认是您本人。",
5972
+ "reason": "更改密码或电子邮件、创建新的访问权限以及下载备份,需要更高级别的安全验证。请确认手机号码以继续。",
5973
+ "action": "确认手机号码"
5974
+ },
5975
+ "changeEmail": {
5976
+ "title": "更改登录电子邮件地址",
5977
+ "description": "更改登录电子邮件地址之前,请先验证是您本人。",
5978
+ "newTitle": "输入您的新电子邮件",
5979
+ "newDescription": "这是您今后登录时使用的电子邮件。",
5980
+ "newLabel": "新电子邮件",
5981
+ "confirmLabel": "确认新电子邮件",
5982
+ "required": "请输入您的新电子邮件。",
5983
+ "mismatch": "两次输入的电子邮件地址不一致。",
5984
+ "alreadyInUse": "该电子邮件已被使用。",
5985
+ "invalid": "无法使用该电子邮件。请检查后重试。",
5986
+ "submit": "更改电子邮件",
5987
+ "doneTitle": "请查看新的收件箱",
5988
+ "doneDescription": "我们已向您当前的电子邮件地址发送了警告邮件,其中包含取消更改的链接。",
5989
+ "close": "关闭"
5990
+ }
5991
+ },
5925
5992
  "resetPasswordForm": {
5926
5993
  "title": "设置新密码",
5927
5994
  "description": "请为您的账户输入新密码。",
@@ -1,4 +1,4 @@
1
- import { A as e, a as i, L as r, P as n, S as o, T as t, b as l, c as d, d as g, e as A, f as m, g as c, h as E, i as P, j as f, k as S, l as h, m as u, n as T, o as I, p as N, r as R, q as _, s as C, t as L, u as b } from "../../_chunks/anamnesis-summary-rows-BrTx7diS.js";
1
+ import { A as e, a as i, L as r, P as n, S as o, T as t, b as l, c as d, d as g, e as A, f as m, g as c, h as E, i as P, j as f, k as S, l as h, m as u, n as T, o as I, p as N, r as R, q as _, s as C, t as L, u as b } from "../../_chunks/anamnesis-summary-rows-DfDulR_c.js";
2
2
  export {
3
3
  e as Anamnesis,
4
4
  i as AnamnesisConfigEditor,
@@ -1,4 +1,4 @@
1
- import { A as s, C as r, a as o, b as t, c as E, D as P, d as S, S as i, V as A, W as C, e as d, i as n, m as D, r as l, u as p, f as W, g as _ } from "../../_chunks/calendar-appointment-editor-dialog-Oc3Df8O3.js";
1
+ import { A as s, C as r, a as o, b as t, c as E, D as P, d as S, S as i, V as A, W as C, e as d, i as n, m as D, r as l, u as p, f as W, g as _ } from "../../_chunks/calendar-appointment-editor-dialog-CaZm5wGR.js";
2
2
  export {
3
3
  s as AppointmentEditorDialog,
4
4
  r as CALENDAR_PREFERENCE_KEYS,
@@ -1,4 +1,4 @@
1
- import { F as r, a } from "../../_chunks/forgot-password-form-vfCO2-Tt.js";
1
+ import { F as r, a } from "../../_chunks/forgot-password-form-YQVzSskq.js";
2
2
  export {
3
3
  r as FORGOT_PASSWORD_FORM_FIELDS,
4
4
  a as ForgotPasswordForm
@@ -1,4 +1,4 @@
1
- import { L, a as r, b as s } from "../../_chunks/login-dev-card-Cz1Clugq.js";
1
+ import { L, a as r, b as s } from "../../_chunks/login-dev-card-B6-zCFq3.js";
2
2
  export {
3
3
  L as LOGIN_FORM_FIELDS,
4
4
  r as LoginDevCard,
@@ -1,4 +1,4 @@
1
- import { R as o, a as r } from "../../_chunks/registration-form-CEJRUS9G.js";
1
+ import { R as o, a as r } from "../../_chunks/registration-form-Cq5_OSIL.js";
2
2
  export {
3
3
  o as REGISTRATION_FORM_FIELDS,
4
4
  r as RegistrationForm
@@ -1,4 +1,4 @@
1
- import { R as a, a as o } from "../../_chunks/reset-password-form-B0acanDD.js";
1
+ import { R as a, a as o } from "../../_chunks/reset-password-form-BVsL2fOJ.js";
2
2
  export {
3
3
  a as RESET_PASSWORD_FORM_FIELDS,
4
4
  o as ResetPasswordForm
@@ -1,4 +1,4 @@
1
- import { S as o, a as r } from "../../_chunks/send-registration-link-form-Nn0jf65G.js";
1
+ import { S as o, a as r } from "../../_chunks/send-registration-link-form-OgPomrZN.js";
2
2
  export {
3
3
  o as SEND_REGISTRATION_LINK_FIELDS,
4
4
  r as SendRegistrationLinkForm
@@ -1,4 +1,4 @@
1
- import { S as o } from "../../_chunks/signature-request-DJwdPji_.js";
1
+ import { S as o } from "../../_chunks/signature-request-BnTihryS.js";
2
2
  export {
3
3
  o as SignatureRequestModal
4
4
  };
@@ -0,0 +1,26 @@
1
+ import { type VerifyIdentityProps } from './verify-identity';
2
+ /** What the host answers once it has tried to change the email. */
3
+ export type ChangeEmailResult = {
4
+ status: 'ok';
5
+ } | {
6
+ status: 'already-in-use';
7
+ } | {
8
+ status: 'invalid';
9
+ } | {
10
+ status: 'error';
11
+ /** Already translated. Shown in place of the kit's own line. */
12
+ message?: string;
13
+ };
14
+ export interface ChangeEmailDialogProps extends Omit<VerifyIdentityProps, 'hideHeader' | 'headingLevel' | 'onCancel' | 'onVerified'> {
15
+ open: boolean;
16
+ onOpenChange: (open: boolean) => void;
17
+ /** Called with the new address once both entries match and look like an
18
+ * email. The host checks it for real. */
19
+ onSubmitNewEmail: (email: string) => Promise<ChangeEmailResult>;
20
+ }
21
+ /**
22
+ * Change the login email: the "Verify it's you" steps, then the new
23
+ * address twice, then a confirmation. Closing the dialog starts again.
24
+ */
25
+ export declare function ChangeEmailDialog({ open, onOpenChange, title, description, ...body }: ChangeEmailDialogProps): import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=change-email-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-email-dialog.d.ts","sourceRoot":"","sources":["../../../src/patterns/verify-identity/change-email-dialog.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAClD,mBAAmB,EACnB,YAAY,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAC1D;IACC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;8CAC0C;IAC1C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACjE;AAiND;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,GAAG,IAAI,EACR,EAAE,sBAAsB,2CAmBxB"}
@@ -0,0 +1,7 @@
1
+ export { VerifyIdentity, VerifyIdentityDialog } from './verify-identity';
2
+ export type { VerifyIdentityProps, VerifyIdentityDialogProps, } from './verify-identity';
3
+ export { ChangeEmailDialog } from './change-email-dialog';
4
+ export type { ChangeEmailDialogProps, ChangeEmailResult, } from './change-email-dialog';
5
+ export { VERIFY_IDENTITY_STEPS } from './verify-identity-types';
6
+ export type { VerifyIdentityStep, VerifyIdentityCallbacks, VerifyResult, SendCodeResult, } from './verify-identity-types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/verify-identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EACV,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACV,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { C as e, V as t, a as I, b as o } from "../../_chunks/verify-identity-types-C85EXNzy.js";
2
+ export {
3
+ e as ChangeEmailDialog,
4
+ t as VERIFY_IDENTITY_STEPS,
5
+ I as VerifyIdentity,
6
+ o as VerifyIdentityDialog
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,12 @@
1
+ export interface Countdown {
2
+ /** Whole seconds left. 0 when idle or finished. */
3
+ remaining: number;
4
+ /** True once a countdown has run to zero since the last `start`. */
5
+ finished: boolean;
6
+ start: (seconds: number) => void;
7
+ stop: () => void;
8
+ }
9
+ export declare function useCountdown(): Countdown;
10
+ /** 272 -> "4:32". */
11
+ export declare function formatClock(seconds: number): string;
12
+ //# sourceMappingURL=use-countdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-countdown.d.ts","sourceRoot":"","sources":["../../../src/patterns/verify-identity/use-countdown.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,YAAY,IAAI,SAAS,CAwCxC;AAED,qBAAqB;AACrB,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAInD"}
@@ -0,0 +1,21 @@
1
+ import type { SendCodeResult, VerifyResult } from './verify-identity-types';
2
+ interface StepProps {
3
+ /** Called once the host says the proof is good. */
4
+ onDone: () => void;
5
+ /** Reports whether a call to the host is out, for `data-submitting`. */
6
+ onBusyChange: (busy: boolean) => void;
7
+ }
8
+ interface PasswordStepProps extends StepProps {
9
+ verify?: (password: string) => Promise<VerifyResult>;
10
+ }
11
+ export declare function PasswordStep({ verify, onDone, onBusyChange, }: PasswordStepProps): import("react/jsx-runtime").JSX.Element;
12
+ interface CodeStepProps extends StepProps {
13
+ kind: 'authenticator' | 'sms' | 'email';
14
+ codeLength: number;
15
+ /** Absent for the authenticator: the app makes its own codes. */
16
+ send?: () => Promise<SendCodeResult>;
17
+ verify?: (code: string) => Promise<VerifyResult>;
18
+ }
19
+ export declare function CodeStep({ kind, codeLength, send, verify, onDone, onBusyChange, }: CodeStepProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=verify-identity-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-identity-steps.d.ts","sourceRoot":"","sources":["../../../src/patterns/verify-identity/verify-identity-steps.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkE5E,UAAU,SAAS;IACjB,mDAAmD;IACnD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,wEAAwE;IACxE,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAMD,UAAU,iBAAkB,SAAQ,SAAS;IAC3C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACtD;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,MAAM,EACN,YAAY,GACb,EAAE,iBAAiB,2CA6EnB;AAQD,UAAU,aAAc,SAAQ,SAAS;IACvC,IAAI,EAAE,eAAe,GAAG,KAAK,GAAG,OAAO,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAClD;AAID,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,YAAY,GACb,EAAE,aAAa,2CAiNf"}
@@ -0,0 +1,47 @@
1
+ /** One proof the user gives. The server decides the order. */
2
+ export declare const VERIFY_IDENTITY_STEPS: readonly ["password", "authenticator", "sms", "email"];
3
+ export type VerifyIdentityStep = (typeof VERIFY_IDENTITY_STEPS)[number];
4
+ /** What a check of a password or a code answers. */
5
+ export type VerifyResult = {
6
+ status: 'ok';
7
+ } | {
8
+ status: 'invalid';
9
+ } | {
10
+ status: 'expired';
11
+ } | {
12
+ status: 'rate-limited';
13
+ waitSeconds: number;
14
+ } | {
15
+ status: 'error';
16
+ /** Already translated. Shown in place of the kit's own line. */
17
+ message?: string;
18
+ };
19
+ /** What sending an SMS or email code answers. */
20
+ export type SendCodeResult = {
21
+ status: 'sent';
22
+ /** How long the code lives. Shown as a countdown when given. */
23
+ expiresInSeconds?: number;
24
+ /** How long until the user may ask for another. Default 30. */
25
+ resendAfterSeconds?: number;
26
+ } | {
27
+ status: 'rate-limited';
28
+ waitSeconds: number;
29
+ } | {
30
+ status: 'error';
31
+ /** Already translated. Shown in place of the kit's own line. */
32
+ message?: string;
33
+ };
34
+ /** The host's checks. Each one is called by the UI, never by the kit
35
+ * itself: the kit makes no request. The password and the codes are
36
+ * passed to these and nowhere else; the kit never logs or stores them. */
37
+ export interface VerifyIdentityCallbacks {
38
+ onVerifyPassword?: (password: string) => Promise<VerifyResult>;
39
+ onVerifyAuthenticator?: (code: string) => Promise<VerifyResult>;
40
+ /** Called once when the SMS step opens, and again on resend. */
41
+ onSendSmsCode?: () => Promise<SendCodeResult>;
42
+ onVerifySmsCode?: (code: string) => Promise<VerifyResult>;
43
+ /** Called once when the email step opens, and again on resend. */
44
+ onSendEmailCode?: () => Promise<SendCodeResult>;
45
+ onVerifyEmailCode?: (code: string) => Promise<VerifyResult>;
46
+ }
47
+ //# sourceMappingURL=verify-identity-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-identity-types.d.ts","sourceRoot":"","sources":["../../../src/patterns/verify-identity/verify-identity-types.ts"],"names":[],"mappings":"AASA,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,wDAKxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,oDAAoD;AACpD,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,iDAAiD;AACjD,MAAM,MAAM,cAAc,GACtB;IACE,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GACD;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN;;2EAE2E;AAC3E,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChE,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAC7D"}
@@ -0,0 +1,54 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import type { VerifyIdentityCallbacks, VerifyIdentityStep } from './verify-identity-types';
3
+ export interface VerifyIdentityProps extends VerifyIdentityCallbacks, Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
4
+ /**
5
+ * The proofs to ask for, in order. The server decides both; the UI
6
+ * renders them as given.
7
+ */
8
+ steps: readonly VerifyIdentityStep[];
9
+ /** What the user is about to do, such as "Change login email". Pass it
10
+ * translated. Default "Verify it's you". */
11
+ title?: string;
12
+ /** The line under the title, such as "Confirm it is you before you change
13
+ * your login email." Pass it translated. */
14
+ description?: string;
15
+ /** Level of the title. Default 2; each step heading is one deeper. */
16
+ headingLevel?: 2 | 3;
17
+ /** The phone the SMS goes to, already masked: "+39 ••• ••• 4567". The kit
18
+ * never builds a masked number itself. */
19
+ maskedPhone?: string;
20
+ /** The current login email, already masked: "m••••@example.com". */
21
+ maskedEmail?: string;
22
+ /** Digits in a code. Default 6. */
23
+ codeLength?: number;
24
+ /**
25
+ * True when the user has no confirmed mobile. The steps do not run:
26
+ * the card explains why one is needed and offers to set it up.
27
+ */
28
+ missingMobile?: boolean;
29
+ /** Called by the set-up button of the missing-mobile card. */
30
+ onSetUpMobile?: () => void;
31
+ /** Where the set-up button leads instead. A path on the same site, or an
32
+ * address written in full. */
33
+ setUpMobileHref?: string;
34
+ /** Called after the last step is right. */
35
+ onVerified: () => void;
36
+ /** Adds a Cancel button. */
37
+ onCancel?: () => void;
38
+ /** Hides the title and description, for a host that draws its own, such as
39
+ * a dialog. */
40
+ hideHeader?: boolean;
41
+ }
42
+ /**
43
+ * The "Verify it's you" step-up flow, inline. Use `VerifyIdentityDialog`
44
+ * for a dialog. The server decides the steps and checks every answer: this
45
+ * only renders them.
46
+ */
47
+ export declare const VerifyIdentity: import("react").ForwardRefExoticComponent<VerifyIdentityProps & import("react").RefAttributes<HTMLDivElement>>;
48
+ export interface VerifyIdentityDialogProps extends Omit<VerifyIdentityProps, 'hideHeader' | 'headingLevel' | 'onCancel'> {
49
+ open: boolean;
50
+ onOpenChange: (open: boolean) => void;
51
+ }
52
+ /** `VerifyIdentity` in a dialog. Closing it starts the flow again next time. */
53
+ export declare function VerifyIdentityDialog({ open, onOpenChange, title, description, ...flow }: VerifyIdentityDialogProps): import("react/jsx-runtime").JSX.Element;
54
+ //# sourceMappingURL=verify-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-identity.d.ts","sourceRoot":"","sources":["../../../src/patterns/verify-identity/verify-identity.tsx"],"names":[],"mappings":"AAWA,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,WAAW,mBACf,SACE,uBAAuB,EACvB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC/C;;;OAGG;IACH,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrC;iDAC6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;iDAC6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB;+CAC2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;mCAC+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;oBACgB;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA2RD;;;;GAIG;AACH,eAAO,MAAM,cAAc,gHAS1B,CAAC;AAOF,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CACrD,mBAAmB,EACnB,YAAY,GAAG,cAAc,GAAG,UAAU,CAC3C;IACC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,GAAG,IAAI,EACR,EAAE,yBAAyB,2CAqB3B"}