@verdocs/web-sdk 6.10.7 → 6.12.1

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 (140) hide show
  1. package/dist/cjs/{Icons-TVvtZ5iL.js → Icons-Zdy_DFce.js} +16 -2
  2. package/dist/{esm/Icons-BU5rnXp2.js.map → cjs/Icons-Zdy_DFce.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-auth.cjs.entry.js +271 -15
  6. package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
  7. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-preview_6.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  13. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.css +45 -1
  14. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +302 -19
  15. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  16. package/dist/collection/utils/Icons.js +12 -0
  17. package/dist/collection/utils/Icons.js.map +1 -1
  18. package/dist/components/{p-bPe0_Dsn.js → p-B8R4luxA.js} +2 -2
  19. package/dist/components/{p-D-TexkaT.js → p-BXaR1BSS.js} +2 -2
  20. package/dist/components/{p-DL4-aTsZ.js → p-BYLm9aol.js} +2 -2
  21. package/dist/components/{p-DiYuPnJJ.js → p-Bp88Loqg.js} +2 -2
  22. package/dist/components/{p-BYVQkYYg.js → p-C7JN32A9.js} +2 -2
  23. package/dist/components/{p-BDv5kBUR.js → p-C7k2AOsW.js} +2 -2
  24. package/dist/components/p-C7k2AOsW.js.map +1 -0
  25. package/dist/components/{p-DKKsPZnz.js → p-CCr_gliS.js} +2 -2
  26. package/dist/components/{p-BELGzhZw.js → p-CFau7OiC.js} +2 -2
  27. package/dist/components/{p-CYvB5bYX.js → p-CtNpZzq1.js} +2 -2
  28. package/dist/components/{p-B6aUlIQe.js → p-CzKj8wD_.js} +2 -2
  29. package/dist/components/{p-CZwyK_uo.js → p-DLo5dMNn.js} +2 -2
  30. package/dist/components/{p-D1cSgqut.js → p-D_FNSGtS.js} +2 -2
  31. package/dist/components/{p-K_PKw6bs.js → p-DmxiVavg.js} +2 -2
  32. package/dist/components/{p-D7oMWhqM.js → p-DrNmI7Wz.js} +2 -2
  33. package/dist/components/{p-DfIxVX8-.js → p-DubfX0n1.js} +2 -2
  34. package/dist/components/{p-CAGp0qKc.js → p-hxWwaOcD.js} +2 -2
  35. package/dist/components/{p-BQUZjuoP.js → p-vcHtLpWY.js} +2 -2
  36. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  37. package/dist/components/verdocs-auth.js +1 -1
  38. package/dist/components/verdocs-auth.js.map +1 -1
  39. package/dist/components/verdocs-build.js +1 -1
  40. package/dist/components/verdocs-field-attachment.js +1 -1
  41. package/dist/components/verdocs-field-checkbox.js +1 -1
  42. package/dist/components/verdocs-field-date.js +1 -1
  43. package/dist/components/verdocs-field-dropdown.js +1 -1
  44. package/dist/components/verdocs-field-initial.js +1 -1
  45. package/dist/components/verdocs-field-payment.js +1 -1
  46. package/dist/components/verdocs-field-radio.js +1 -1
  47. package/dist/components/verdocs-field-signature.js +1 -1
  48. package/dist/components/verdocs-field-textarea.js +1 -1
  49. package/dist/components/verdocs-field-textbox.js +1 -1
  50. package/dist/components/verdocs-field-timestamp.js +1 -1
  51. package/dist/components/verdocs-file-chooser.js +1 -1
  52. package/dist/components/verdocs-preview.js +1 -1
  53. package/dist/components/verdocs-sign.js +1 -1
  54. package/dist/components/verdocs-template-attachments.js +1 -1
  55. package/dist/components/verdocs-template-document-page.js +1 -1
  56. package/dist/components/verdocs-template-fields.js +1 -1
  57. package/dist/custom-elements.json +2508 -0
  58. package/dist/esm/{Icons-BU5rnXp2.js → Icons-DobS6Y7w.js} +15 -3
  59. package/dist/{cjs/Icons-TVvtZ5iL.js.map → esm/Icons-DobS6Y7w.js.map} +1 -1
  60. package/dist/esm/loader.js +1 -1
  61. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  62. package/dist/esm/verdocs-auth.entry.js +273 -17
  63. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  64. package/dist/esm/verdocs-field-attachment_11.entry.js +1 -1
  65. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  66. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  67. package/dist/esm/verdocs-preview_6.entry.js +1 -1
  68. package/dist/esm/verdocs-sign.entry.js +1 -1
  69. package/dist/esm/verdocs-web-sdk.js +1 -1
  70. package/dist/esm-es5/{Icons-BU5rnXp2.js → Icons-DobS6Y7w.js} +2 -2
  71. package/dist/esm-es5/{Icons-BU5rnXp2.js.map → Icons-DobS6Y7w.js.map} +1 -1
  72. package/dist/esm-es5/loader.js +1 -1
  73. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  74. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  75. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  76. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  77. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  78. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  79. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
  80. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  81. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  82. package/dist/types/components/embeds/verdocs-auth/verdocs-auth.d.ts +31 -3
  83. package/dist/types/components.d.ts +18 -7
  84. package/dist/types/utils/Icons.d.ts +2 -0
  85. package/dist/verdocs-web-sdk/{p-869024e0.system.entry.js → p-09f5670e.system.entry.js} +2 -2
  86. package/dist/verdocs-web-sdk/p-0fb8e6e0.system.entry.js +2 -0
  87. package/dist/verdocs-web-sdk/p-0fb8e6e0.system.entry.js.map +1 -0
  88. package/dist/verdocs-web-sdk/{p-fad90cf9.system.entry.js → p-298d799f.system.entry.js} +3 -3
  89. package/dist/verdocs-web-sdk/{p-734c8a8b.entry.js → p-2a6a3bc6.entry.js} +2 -2
  90. package/dist/verdocs-web-sdk/{p-62464041.system.entry.js → p-439d36b0.system.entry.js} +2 -2
  91. package/dist/verdocs-web-sdk/{p-d95705c6.entry.js → p-4930b31d.entry.js} +2 -2
  92. package/dist/verdocs-web-sdk/{p-c86111fd.system.entry.js → p-5404f6bf.system.entry.js} +2 -2
  93. package/dist/verdocs-web-sdk/{p-10d47bbd.entry.js → p-5cad2422.entry.js} +2 -2
  94. package/dist/verdocs-web-sdk/{p-4e091415.entry.js → p-932e8b9b.entry.js} +2 -2
  95. package/dist/verdocs-web-sdk/{p-6e8ce989.system.entry.js → p-99f7a0fa.system.entry.js} +2 -2
  96. package/dist/verdocs-web-sdk/{p-GqS1qR-V.system.js → p-BHF3ByWV.system.js} +2 -2
  97. package/dist/verdocs-web-sdk/{p-GqS1qR-V.system.js.map → p-BHF3ByWV.system.js.map} +1 -1
  98. package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
  99. package/dist/verdocs-web-sdk/{p-BU5rnXp2.js → p-DobS6Y7w.js} +2 -2
  100. package/dist/verdocs-web-sdk/{p-BU5rnXp2.js.map → p-DobS6Y7w.js.map} +1 -1
  101. package/dist/verdocs-web-sdk/p-c3e9634c.entry.js +2 -0
  102. package/dist/verdocs-web-sdk/p-c3e9634c.entry.js.map +1 -0
  103. package/dist/verdocs-web-sdk/{p-7e1f895c.entry.js → p-dd59aa9a.entry.js} +2 -2
  104. package/dist/verdocs-web-sdk/{p-ceda04bc.system.entry.js → p-f7b14409.system.entry.js} +2 -2
  105. package/dist/verdocs-web-sdk/{p-ee92c074.entry.js → p-fe404347.entry.js} +2 -2
  106. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  107. package/package.json +4 -4
  108. package/dist/components/p-BDv5kBUR.js.map +0 -1
  109. package/dist/verdocs-web-sdk/p-16d655d4.system.entry.js +0 -2
  110. package/dist/verdocs-web-sdk/p-16d655d4.system.entry.js.map +0 -1
  111. package/dist/verdocs-web-sdk/p-43ee0267.entry.js +0 -2
  112. package/dist/verdocs-web-sdk/p-43ee0267.entry.js.map +0 -1
  113. /package/dist/components/{p-bPe0_Dsn.js.map → p-B8R4luxA.js.map} +0 -0
  114. /package/dist/components/{p-D-TexkaT.js.map → p-BXaR1BSS.js.map} +0 -0
  115. /package/dist/components/{p-DL4-aTsZ.js.map → p-BYLm9aol.js.map} +0 -0
  116. /package/dist/components/{p-DiYuPnJJ.js.map → p-Bp88Loqg.js.map} +0 -0
  117. /package/dist/components/{p-BYVQkYYg.js.map → p-C7JN32A9.js.map} +0 -0
  118. /package/dist/components/{p-DKKsPZnz.js.map → p-CCr_gliS.js.map} +0 -0
  119. /package/dist/components/{p-BELGzhZw.js.map → p-CFau7OiC.js.map} +0 -0
  120. /package/dist/components/{p-CYvB5bYX.js.map → p-CtNpZzq1.js.map} +0 -0
  121. /package/dist/components/{p-B6aUlIQe.js.map → p-CzKj8wD_.js.map} +0 -0
  122. /package/dist/components/{p-CZwyK_uo.js.map → p-DLo5dMNn.js.map} +0 -0
  123. /package/dist/components/{p-D1cSgqut.js.map → p-D_FNSGtS.js.map} +0 -0
  124. /package/dist/components/{p-K_PKw6bs.js.map → p-DmxiVavg.js.map} +0 -0
  125. /package/dist/components/{p-D7oMWhqM.js.map → p-DrNmI7Wz.js.map} +0 -0
  126. /package/dist/components/{p-DfIxVX8-.js.map → p-DubfX0n1.js.map} +0 -0
  127. /package/dist/components/{p-CAGp0qKc.js.map → p-hxWwaOcD.js.map} +0 -0
  128. /package/dist/components/{p-BQUZjuoP.js.map → p-vcHtLpWY.js.map} +0 -0
  129. /package/dist/verdocs-web-sdk/{p-869024e0.system.entry.js.map → p-09f5670e.system.entry.js.map} +0 -0
  130. /package/dist/verdocs-web-sdk/{p-fad90cf9.system.entry.js.map → p-298d799f.system.entry.js.map} +0 -0
  131. /package/dist/verdocs-web-sdk/{p-734c8a8b.entry.js.map → p-2a6a3bc6.entry.js.map} +0 -0
  132. /package/dist/verdocs-web-sdk/{p-62464041.system.entry.js.map → p-439d36b0.system.entry.js.map} +0 -0
  133. /package/dist/verdocs-web-sdk/{p-d95705c6.entry.js.map → p-4930b31d.entry.js.map} +0 -0
  134. /package/dist/verdocs-web-sdk/{p-c86111fd.system.entry.js.map → p-5404f6bf.system.entry.js.map} +0 -0
  135. /package/dist/verdocs-web-sdk/{p-10d47bbd.entry.js.map → p-5cad2422.entry.js.map} +0 -0
  136. /package/dist/verdocs-web-sdk/{p-4e091415.entry.js.map → p-932e8b9b.entry.js.map} +0 -0
  137. /package/dist/verdocs-web-sdk/{p-6e8ce989.system.entry.js.map → p-99f7a0fa.system.entry.js.map} +0 -0
  138. /package/dist/verdocs-web-sdk/{p-7e1f895c.entry.js.map → p-dd59aa9a.entry.js.map} +0 -0
  139. /package/dist/verdocs-web-sdk/{p-ceda04bc.system.entry.js.map → p-f7b14409.system.entry.js.map} +0 -0
  140. /package/dist/verdocs-web-sdk/{p-ee92c074.entry.js.map → p-fe404347.entry.js.map} +0 -0
@@ -65,7 +65,7 @@ export namespace Components {
65
65
  * view for the application.
66
66
  * To simplify UI development, a visibility flag can force this component to never display. This
67
67
  * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.
68
- * This embed is responsive / mobile-friendly, but the calling application should provide at
68
+ * This embed is responsive and mobile-friendly, but the calling application should provide at
69
69
  * least a 300px wide container to allow sufficient space for the required forms.
70
70
  * ```ts
71
71
  * <verdocs-auth
@@ -79,7 +79,7 @@ export namespace Components {
79
79
  * The display mode to start in.
80
80
  * @default 'login'
81
81
  */
82
- "displayMode": 'login' | 'forgot' | 'reset' | 'signup' | 'verify';
82
+ "displayMode": 'login' | 'forgot' | 'reset' | 'signup' | 'verify' | 'mfa';
83
83
  /**
84
84
  * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
85
85
  * @default VerdocsEndpoint.getDefault()
@@ -90,6 +90,11 @@ export namespace Components {
90
90
  * @default 'https://app.verdocs.com/assets/blue-logo.svg'
91
91
  */
92
92
  "logo": string;
93
+ /**
94
+ * Social auth is disabled by default because these are redirect flows that require allowable redirect_uri destinations be pre-registered. These will only work on Verdocs sites/apps, so third-party developers should not turn this on unless instructed to by Verdocs Support.
95
+ * @default false
96
+ */
97
+ "showSocialLogins": boolean;
93
98
  /**
94
99
  * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.
95
100
  * @default true
@@ -2887,7 +2892,7 @@ declare global {
2887
2892
  * view for the application.
2888
2893
  * To simplify UI development, a visibility flag can force this component to never display. This
2889
2894
  * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.
2890
- * This embed is responsive / mobile-friendly, but the calling application should provide at
2895
+ * This embed is responsive and mobile-friendly, but the calling application should provide at
2891
2896
  * least a 300px wide container to allow sufficient space for the required forms.
2892
2897
  * ```ts
2893
2898
  * <verdocs-auth
@@ -4795,7 +4800,7 @@ declare namespace LocalJSX {
4795
4800
  * view for the application.
4796
4801
  * To simplify UI development, a visibility flag can force this component to never display. This
4797
4802
  * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.
4798
- * This embed is responsive / mobile-friendly, but the calling application should provide at
4803
+ * This embed is responsive and mobile-friendly, but the calling application should provide at
4799
4804
  * least a 300px wide container to allow sufficient space for the required forms.
4800
4805
  * ```ts
4801
4806
  * <verdocs-auth
@@ -4809,7 +4814,7 @@ declare namespace LocalJSX {
4809
4814
  * The display mode to start in.
4810
4815
  * @default 'login'
4811
4816
  */
4812
- "displayMode"?: 'login' | 'forgot' | 'reset' | 'signup' | 'verify';
4817
+ "displayMode"?: 'login' | 'forgot' | 'reset' | 'signup' | 'verify' | 'mfa';
4813
4818
  /**
4814
4819
  * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
4815
4820
  * @default VerdocsEndpoint.getDefault()
@@ -4828,6 +4833,11 @@ declare namespace LocalJSX {
4828
4833
  * Event fired if an error occurs. The event details will contain information about the error. Most errors will terminate the process, and the calling application should correct the condition and re-render the component.
4829
4834
  */
4830
4835
  "onSdkError"?: (event: VerdocsAuthCustomEvent<SDKError>) => void;
4836
+ /**
4837
+ * Social auth is disabled by default because these are redirect flows that require allowable redirect_uri destinations be pre-registered. These will only work on Verdocs sites/apps, so third-party developers should not turn this on unless instructed to by Verdocs Support.
4838
+ * @default false
4839
+ */
4840
+ "showSocialLogins"?: boolean;
4831
4841
  /**
4832
4842
  * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.
4833
4843
  * @default true
@@ -7964,7 +7974,8 @@ declare namespace LocalJSX {
7964
7974
  interface VerdocsAuthAttributes {
7965
7975
  "visible": boolean;
7966
7976
  "logo": string;
7967
- "displayMode": 'login' | 'forgot' | 'reset' | 'signup' | 'verify';
7977
+ "displayMode": 'login' | 'forgot' | 'reset' | 'signup' | 'verify' | 'mfa';
7978
+ "showSocialLogins": boolean;
7968
7979
  }
7969
7980
  interface VerdocsBuildAttributes {
7970
7981
  "templateId": string | null;
@@ -8515,7 +8526,7 @@ declare module "@stencil/core" {
8515
8526
  * view for the application.
8516
8527
  * To simplify UI development, a visibility flag can force this component to never display. This
8517
8528
  * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.
8518
- * This embed is responsive / mobile-friendly, but the calling application should provide at
8529
+ * This embed is responsive and mobile-friendly, but the calling application should provide at
8519
8530
  * least a 300px wide container to allow sufficient space for the required forms.
8520
8531
  * ```ts
8521
8532
  * <verdocs-auth
@@ -12,3 +12,5 @@ export declare const EraserIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" wid
12
12
  export declare const SignatureXIcon = "<svg width=\"25\" height=\"28\" viewBox=\"0 0 25 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M24.0625 28.0078H18.4961L12.7539 17.7344C12.5846 17.4219 12.3958 16.9792 12.1875 16.4062H12.1094C11.9922 16.6927 11.7969 17.1354 11.5234 17.7344L5.60547 28.0078H0L9.17969 13.9258L0.742188 0H6.42578L11.4844 9.45312C11.8099 10.0781 12.1029 10.7031 12.3633 11.3281H12.4219C12.7995 10.5078 13.125 9.85677 13.3984 9.375L18.6523 0H23.8867L15.2539 13.8867L24.0625 28.0078Z\" fill=\"#E0E0E0\"/></svg>";
13
13
  export declare const DocumentPageIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"/><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"/><path d=\"M10 9H8\"/><path d=\"M16 13H8\"/><path d=\"M16 17H8\"/></svg>";
14
14
  export declare const CheckCircleIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#4caf50\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M9 12l2 2 4-4\"/></svg>";
15
+ export declare const GoogleIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\" width=\"18\" height=\"18\" aria-hidden=\"true\" focusable=\"false\">\n<path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"/>\n<path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"/>\n<path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"/>\n<path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"/>\n</svg>";
16
+ export declare const MicrosoftIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 23 23\" width=\"18\" height=\"18\" aria-hidden=\"true\" focusable=\"false\">\n<path fill=\"#F25022\" d=\"M1 1h10v10H1z\"/>\n<path fill=\"#7FBA00\" d=\"M12 1h10v10H12z\"/>\n<path fill=\"#00A4EF\" d=\"M1 12h10v10H1z\"/>\n<path fill=\"#FFB900\" d=\"M12 12h10v10H12z\"/>\n</svg>";
@@ -1,2 +1,2 @@
1
- System.register(["./p-De3fNE_u.system.js","@verdocs/js-sdk","./p-GqS1qR-V.system.js"],(function(e){"use strict";var o,i,s,r,c,l;return{setters:[function(e){o=e.r;i=e.c;s=e.h;r=e.H},function(e){c=e.VerdocsEndpoint},function(e){l=e.u}],execute:function(){var d=function(){return'verdocs-file-chooser{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#ffffff;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-file-chooser .upload-box{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 15px;color:rgba(0, 0, 0, 0.54)}verdocs-file-chooser .upload-box svg{width:64px;height:64px;fill:#5c6575}verdocs-file-chooser .selected-filename{font-size:20px;font-weight:bold;overflow-wrap:anywhere}verdocs-file-chooser .or-prefer{height:20px;margin:20px 0;font-size:16px}'};var f=e("verdocs_file_chooser",function(){function e(e){o(this,e);this.fileSelected=i(this,"fileSelected");this.endpoint=c.getDefault()}e.prototype.handleFileChanged=function(e){var o,i;this.file=((o=e.target.files)===null||o===void 0?void 0:o[0])||null;(i=this.fileSelected)===null||i===void 0?void 0:i.emit({file:this.file});console.debug("[CHOOSER] Selected file",this.file)};e.prototype.handleSelectFile=function(e){var o,i;e.stopPropagation();this.file=null;(o=this.fileSelected)===null||o===void 0?void 0:o.emit({file:null});(i=document.getElementById("verdocs-file-chooser"))===null||i===void 0?void 0:i.click()};e.prototype.render=function(){var e=this;var o=this.file?"Select a different file":"Select a file from your computer";return s(r,{key:"04f01fdca80085a2d8179417ceaf8afd7c4e43cb"},s("input",{key:"8bd641145a77509a8209ccfed37362bd39caa17c",type:"file",multiple:true,id:"verdocs-file-chooser",accept:"application/pdf,.pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:function(o){return e.handleFileChanged(o)}}),s("div",{key:"8779cc881738518f8c09d2abed9c80300a8c3b47",class:"upload-box"},s("div",{key:"742f112e6eec697f287e983da1f44f15af70560f",class:"selected-filename"},this.file?this.file.name:"Drag a file here"),s("div",{key:"80c984e9331d5fc0eb57d5d0934314c42ce42e7e",class:"or-prefer"},this.file?l:"Or, if you prefer..."),s("verdocs-button",{key:"e6f2a7f3e6bdd78ff8eff3673618a309e7dc7fa6",label:o,size:"small",onClick:function(o){return e.handleSelectFile(o)}})))};return e}());f.style=d();var t=function(){return'verdocs-progress-bar{font-family:"Inter", "Barlow", sans-serif;width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-progress-bar .labels{display:-ms-flexbox;display:flex;margin:0 0 8px 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}verdocs-progress-bar .labels .label{display:-ms-flexbox;display:flex;font-size:14px;font-weight:600;margin-right:8px;color:#33364b}verdocs-progress-bar .bar{display:-ms-flexbox;display:flex;-ms-flex:0 0 10px;flex:0 0 10px;border-radius:5px;background-color:#cccccc}verdocs-progress-bar .bar .slider{display:-ms-flexbox;display:flex;border-radius:5px;background-color:#55bc81}'};var a=e("verdocs_progress_bar",function(){function e(e){o(this,e);this.label="";this.showPercent=false;this.percent=0}e.prototype.render=function(){var e=Math.ceil(100*Math.min(this.percent,100)/100);console.log("Rendering progress bar",{widthPercent:e,label:this.label,showPercent:this.showPercent,percent:this.percent});return s(r,{key:"ca28969762f15a6ddb083f86296979a635ddbe92"},s("div",{key:"d2c05b4b9fc013901273469a893317a23e02b4d1",class:"labels"},this.label&&s("div",{key:"d29687e1d4f4d7fd03bd2144ce5a5d4e4b0faed2",class:"label"},this.label),this.showPercent&&s("div",{key:"0bef61601b1eee8285b1c10fe7d1b56c7d62b27f",class:"label"},this.percent,"%")),s("div",{key:"d62b3d0a340511710d7df7ccef4f82e76bda0418",class:"bar"},s("div",{key:"89f6604bcb0517c92f3070227db374a97738c16e",class:"slider",style:{width:"".concat(e,"%")}})))};return e}());a.style=t()}}}));
2
- //# sourceMappingURL=p-869024e0.system.entry.js.map
1
+ System.register(["./p-De3fNE_u.system.js","@verdocs/js-sdk","./p-BHF3ByWV.system.js"],(function(e){"use strict";var o,i,s,r,c,l;return{setters:[function(e){o=e.r;i=e.c;s=e.h;r=e.H},function(e){c=e.VerdocsEndpoint},function(e){l=e.u}],execute:function(){var d=function(){return'verdocs-file-chooser{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#ffffff;font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif)}verdocs-file-chooser .upload-box{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 15px;color:rgba(0, 0, 0, 0.54)}verdocs-file-chooser .upload-box svg{width:64px;height:64px;fill:#5c6575}verdocs-file-chooser .selected-filename{font-size:20px;font-weight:bold;overflow-wrap:anywhere}verdocs-file-chooser .or-prefer{height:20px;margin:20px 0;font-size:16px}'};var f=e("verdocs_file_chooser",function(){function e(e){o(this,e);this.fileSelected=i(this,"fileSelected");this.endpoint=c.getDefault()}e.prototype.handleFileChanged=function(e){var o,i;this.file=((o=e.target.files)===null||o===void 0?void 0:o[0])||null;(i=this.fileSelected)===null||i===void 0?void 0:i.emit({file:this.file});console.debug("[CHOOSER] Selected file",this.file)};e.prototype.handleSelectFile=function(e){var o,i;e.stopPropagation();this.file=null;(o=this.fileSelected)===null||o===void 0?void 0:o.emit({file:null});(i=document.getElementById("verdocs-file-chooser"))===null||i===void 0?void 0:i.click()};e.prototype.render=function(){var e=this;var o=this.file?"Select a different file":"Select a file from your computer";return s(r,{key:"04f01fdca80085a2d8179417ceaf8afd7c4e43cb"},s("input",{key:"8bd641145a77509a8209ccfed37362bd39caa17c",type:"file",multiple:true,id:"verdocs-file-chooser",accept:"application/pdf,.pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:function(o){return e.handleFileChanged(o)}}),s("div",{key:"8779cc881738518f8c09d2abed9c80300a8c3b47",class:"upload-box"},s("div",{key:"742f112e6eec697f287e983da1f44f15af70560f",class:"selected-filename"},this.file?this.file.name:"Drag a file here"),s("div",{key:"80c984e9331d5fc0eb57d5d0934314c42ce42e7e",class:"or-prefer"},this.file?l:"Or, if you prefer..."),s("verdocs-button",{key:"e6f2a7f3e6bdd78ff8eff3673618a309e7dc7fa6",label:o,size:"small",onClick:function(o){return e.handleSelectFile(o)}})))};return e}());f.style=d();var t=function(){return'verdocs-progress-bar{font-family:"Inter", "Barlow", sans-serif;width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-progress-bar .labels{display:-ms-flexbox;display:flex;margin:0 0 8px 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}verdocs-progress-bar .labels .label{display:-ms-flexbox;display:flex;font-size:14px;font-weight:600;margin-right:8px;color:#33364b}verdocs-progress-bar .bar{display:-ms-flexbox;display:flex;-ms-flex:0 0 10px;flex:0 0 10px;border-radius:5px;background-color:#cccccc}verdocs-progress-bar .bar .slider{display:-ms-flexbox;display:flex;border-radius:5px;background-color:#55bc81}'};var a=e("verdocs_progress_bar",function(){function e(e){o(this,e);this.label="";this.showPercent=false;this.percent=0}e.prototype.render=function(){var e=Math.ceil(100*Math.min(this.percent,100)/100);console.log("Rendering progress bar",{widthPercent:e,label:this.label,showPercent:this.showPercent,percent:this.percent});return s(r,{key:"ca28969762f15a6ddb083f86296979a635ddbe92"},s("div",{key:"d2c05b4b9fc013901273469a893317a23e02b4d1",class:"labels"},this.label&&s("div",{key:"d29687e1d4f4d7fd03bd2144ce5a5d4e4b0faed2",class:"label"},this.label),this.showPercent&&s("div",{key:"0bef61601b1eee8285b1c10fe7d1b56c7d62b27f",class:"label"},this.percent,"%")),s("div",{key:"d62b3d0a340511710d7df7ccef4f82e76bda0418",class:"bar"},s("div",{key:"89f6604bcb0517c92f3070227db374a97738c16e",class:"slider",style:{width:"".concat(e,"%")}})))};return e}());a.style=t()}}}));
2
+ //# sourceMappingURL=p-09f5670e.system.entry.js.map
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,i,r){function n(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,s){function o(t){try{u(r.next(t))}catch(t){s(t)}}function a(t){try{u(r["throw"](t))}catch(t){s(t)}}function u(t){t.done?i(t.value):n(t.value).then(o,a)}u((r=r.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,n,s,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(t){return function(e){return u([t,e])}}function u(a){if(r)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(r=1,n&&(s=a[0]&2?n["return"]:a[0]?n["throw"]||((s=n["return"])&&s.call(n),0):n.next)&&!(s=s.call(n,a[1])).done)return s;if(n=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=e.call(t,i)}catch(t){a=[6,t];n=0}finally{r=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-De3fNE_u.system.js","@verdocs/js-sdk","./p-BHF3ByWV.system.js","./p-Dj475wLP.system.js","./p-7Iu0_GGa.system.js"],(function(t){"use strict";var e,i,r,n,s,o,a,u,c,l,d,h,f,v,p,m,b,g,y,x,w;return{setters:[function(t){e=t.r;i=t.c;r=t.h;n=t.g},function(t){s=t.VerdocsEndpoint;o=t.getSocialProviders;a=t.convertToE164;u=t.createProfile;c=t.verifyEmail;l=t.getMyUser;d=t.authenticate;h=t.isMFARequired;f=t.createCodeVerifier;v=t.createCodeChallenge;p=t.getSocialLoginUrl;m=t.resendVerification;b=t.resetPassword},function(t){g=t.M;y=t.G},function(t){x=t.V},function(t){w=t.S}],execute:function(){var k=function(){return'verdocs-auth{font-family:var(--verdocs-primary-font, "Inter", "Barlow", sans-serif);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}verdocs-auth .form{width:350px;display:-ms-flexbox;display:flex;padding:20px;max-width:90%;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-pack:center;justify-content:center;background:#ffffff}verdocs-auth .logo{width:128px;max-width:100%;margin:20px 0 30px}verdocs-auth h3{color:#092c4c;text-align:center;font-weight:400;font-size:18px;line-height:1.75;margin:0 0 20px 0}verdocs-auth em{font-size:14px;margin:15px 0}verdocs-auth .buttons{gap:20px;margin:20px 0 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center}verdocs-auth .status-result{display:none}verdocs-auth .status-result.debug{white-space:pre-wrap;font-size:14px;background:#fff;padding:10px;display:block;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center}verdocs-auth form{width:100%}verdocs-auth verdocs-text-input{margin-bottom:10px}verdocs-auth .account-option{gap:8px;margin:20px 0 8px 0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-auth p{color:#092c4c;margin:1em 0;font-size:14px}verdocs-auth p+p{margin-top:0}verdocs-auth verdocs-help-icon{margin-top:18px;display:-ms-flexbox;display:flex;width:32px;height:32px;-ms-flex:0 0 32px;flex:0 0 32px}verdocs-auth .already-have{color:#092c4c;margin:0.5em 0;font-size:14px;text-align:center}verdocs-auth .service-agreement{font-size:12px;color:#777}verdocs-auth .service-agreement a{color:#092c4c}verdocs-auth .providers{width:100%}verdocs-auth .providers verdocs-button{display:block;margin-bottom:10px}verdocs-auth .providers verdocs-button button.outline{position:relative;border-color:#aeb4bf}verdocs-auth .providers verdocs-button button.outline:disabled{border-color:#aeb4bf}verdocs-auth .providers verdocs-button .icon.start{position:absolute;left:16px;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}verdocs-auth .providers verdocs-button .icon.start svg{width:18px;height:18px}verdocs-auth .divider{gap:8px;color:#777;display:-ms-flexbox;display:flex;font-size:12px;margin:28px 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-auth .divider .divider-line{-ms-flex:1;flex:1;height:1px;background:#aeb4bf}verdocs-auth .mfa-error{color:#cc0000;font-size:14px;margin:0 0 8px}'};var _="Invalid code. Please try again.";var C="Unable to start sign-in sequence. Please try again.";var P="vdocs-social-login";var U={email_unverified:"That account does not have a verified email address.",corporate_email_required:"Please use your corporate email address to create an account.",account_locked:"That account is locked. Please contact support@verdocs.com.",provider_error:"That provider could not sign you in. Please try again.",access_denied:"Sign-in was canceled."};var I=function(t){return U[t]||"Unable to sign in. Please try again."};var T=function(){try{var t=window.sessionStorage.getItem(P);return t?JSON.parse(t):null}catch(t){return null}};var A=function(){try{window.sessionStorage.removeItem(P)}catch(t){}};var S=function(t){var e=new URL(window.location.href);t.forEach((function(t){return e.searchParams.delete(t)}));window.history.replaceState({},"","".concat(e.pathname).concat(e.search).concat(e.hash))};var q=function(){return"".concat(window.location.origin).concat(window.location.pathname)};var j=function(t){var e=t.toLowerCase().replace(/[^a-z0-9]/g,"").slice(0,8);return e.length>4?"".concat(e.slice(0,4),"-").concat(e.slice(4)):e};var z=t("verdocs_auth",function(){function t(t){var r=this;e(this,t);this.authenticated=i(this,"authenticated");this.sdkError=i(this,"sdkError");this.endpoint=s.getDefault();this.visible=true;this.logo="https://app.verdocs.com/assets/blue-logo.svg";this.displayMode="login";this.showSocialLogins=false;this.org_name="";this.first_name="";this.last_name="";this.email="";this.phone="";this.verificationCode="";this.newPassword="";this.password="";this.confirmpass="";this.submitting=false;this.resendDisabled=false;this.session=null;this.profile=null;this.providers={google:false,microsoft:false};this.mfaToken="";this.mfaCode="";this.recoveryCode="";this.useRecoveryCode=false;this.mfaError="";this.resendDisabledTimer=null;this.mfaFocusPending=false;this.tempAuthEndpoint=new s({baseURL:s.getDefault().getBaseURL(),persist:false});this.handleHashChange=function(){r.applyHashDisplayMode()}}t.prototype.componentWillLoad=function(){var t=this;this.endpoint.loadSession();this.applyHashDisplayMode();if(typeof window!=="undefined"){window.addEventListener("hashchange",this.handleHashChange)}s.getDefault().onSessionChanged((function(e,i,r){var n,s;t.session=i;t.profile=r;if(i){(n=t.authenticated)===null||n===void 0?void 0:n.emit({authenticated:true,session:i,profile:r})}else{(s=t.authenticated)===null||s===void 0?void 0:s.emit({authenticated:false,session:i,profile:r})}}));if(this.showSocialLogins){o(this.endpoint).then((function(e){t.providers=e})).catch((function(){return undefined}))}this.handleSocialLoginReturn()};t.prototype.componentDidRender=function(){if(this.displayMode!=="mfa"){return}var t=this.el.querySelector(".mfa-input input");if(!t){return}if(!this.useRecoveryCode){t.setAttribute("inputmode","numeric")}else{t.removeAttribute("inputmode")}if(this.mfaFocusPending){this.mfaFocusPending=false;t.focus()}};t.prototype.disconnectedCallback=function(){if(typeof window!=="undefined"){window.removeEventListener("hashchange",this.handleHashChange)}};t.prototype.applyHashDisplayMode=function(){if(typeof window==="undefined"){return}var t=(window.location.hash||"").replace(/^#/,"").toLowerCase();if(t==="forgot"){this.displayMode="forgot"}};t.prototype.isPasswordComplex=function(t){var e=function(t){return/[A-Z]/.test(t)};var i=function(t){return/[a-z]/.test(t)};var r=function(t){return/[`!@#$%^&*()_\-+=\[\]{};':"\\|,.<>\/?~ ]/.test(t)};var n=0,s=0,o=0;for(var a=0;a<t.length;a++){var u=t.charAt(a);if(e(u))n++;else if(i(u))s++;else if(r(u))o++}return t.length>=8&&s>0&&n>0&&o>0};t.prototype.handleSignup=function(){var t=this;if(!this.isPasswordComplex(this.password)){x("Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.",{style:"error"});return}if(this.password!==this.confirmpass){x("Passwords do not match.",{style:"error"});return}this.submitting=true;this.tempAuthEndpoint.clearSession();var e=a(this.phone);var i=Intl.DateTimeFormat().resolvedOptions();u(this.tempAuthEndpoint,{email:this.email,password:this.password,first_name:this.first_name,last_name:this.last_name,org_name:this.org_name,phone:e,timezone:i.timeZone,locale:i.locale}).then((function(e){console.log("[AUTH] Profile creation result",e);t.tempAuthEndpoint.setToken(e.access_token);t.password="";t.phone="";t.first_name="";t.last_name="";t.org_name="";t.displayMode="verify";t.submitting=false})).catch((function(e){var i,r,n,s,o,a;console.log("[AUTH] Signup error",e.response);t.submitting=false;(i=t.authenticated)===null||i===void 0?void 0:i.emit({authenticated:false,profile:null,session:null});(r=t.sdkError)===null||r===void 0?void 0:r.emit(new w(e.message,(n=e.response)===null||n===void 0?void 0:n.status,(s=e.response)===null||s===void 0?void 0:s.data));x("Signup failed: "+((a=(o=e.response)===null||o===void 0?void 0:o.data)===null||a===void 0?void 0:a.error)||"Unknown Error",{style:"error"})}))};t.prototype.handleVerification=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:this.submitting=true;i.label=1;case 1:i.trys.push([1,3,,4]);this.submitting=false;return[4,c(this.tempAuthEndpoint,{email:this.email,token:this.verificationCode})];case 2:t=i.sent();x("Thank you for verifying your email address.",{style:"success"});this.completeLogin(t);return[3,4];case 3:e=i.sent();this.submitting=false;console.log("Verification error",e);x("Verification error, please check the code and try again.");return[3,4];case 4:return[2]}}))}))};t.prototype.completeLogin=function(t){this.clearForms();this.displayMode="login";this.tempAuthEndpoint.clearSession();this.endpoint.setToken(t.access_token)};t.prototype.finishLogin=function(t){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){switch(i.label){case 0:console.log("[AUTH] Authenticated, checking email verification");this.tempAuthEndpoint.setToken(t.access_token);return[4,l(this.tempAuthEndpoint)];case 1:e=i.sent();this.submitting=false;if(!e.email_verified){console.log("[AUTH] Logged in, pending email address verification");this.displayMode="verify"}else{console.log("[AUTH] Email address is verified, completing login");this.completeLogin(t)}return[2]}}))}))};t.prototype.loginAndCheckVerification=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,i;return __generator(this,(function(r){switch(r.label){case 0:if(this.submitting){return[2]}this.submitting=true;this.tempAuthEndpoint.clearSession();r.label=1;case 1:r.trys.push([1,4,,5]);return[4,d(this.tempAuthEndpoint,{username:this.email.trim(),password:this.password,grant_type:"password"})];case 2:e=r.sent();return[4,this.finishLogin(e)];case 3:r.sent();return[3,5];case 4:i=r.sent();if(h(i)){this.startMFA(i.response.data.mfa_token);return[2]}this.submitting=false;console.log("[AUTH] Auth failure",((t=i.response)===null||t===void 0?void 0:t.data)||i);x("Login failed. Please check your credentials and try again.",{style:"error"});return[3,5];case 5:return[2]}}))}))};t.prototype.startMFA=function(t){this.mfaToken=t;this.mfaCode="";this.recoveryCode="";this.useRecoveryCode=false;this.mfaError="";this.submitting=false;this.mfaFocusPending=true;this.displayMode="mfa"};t.prototype.returnToLogin=function(){this.mfaToken="";this.mfaCode="";this.recoveryCode="";this.useRecoveryCode=false;this.mfaError="";this.password="";this.submitting=false;this.displayMode="login"};t.prototype.handleMFAFailure=function(t){var e;this.submitting=false;this.mfaCode="";this.recoveryCode="";if(h(t)){this.mfaToken=t.response.data.mfa_token;this.mfaError=_;return}if(((e=t===null||t===void 0?void 0:t.response)===null||e===void 0?void 0:e.status)===401){this.returnToLogin();x("Your sign-in timed out. Enter your password again.",{style:"error"});return}this.mfaError=_};t.prototype.submitMFA=function(t,e){return __awaiter(this,void 0,void 0,(function(){var i,r;return __generator(this,(function(n){switch(n.label){case 0:if(this.submitting||!t){return[2]}this.submitting=true;this.mfaError="";this.tempAuthEndpoint.clearSession();n.label=1;case 1:n.trys.push([1,4,,5]);return[4,d(this.tempAuthEndpoint,e?{grant_type:"urn:verdocs:params:oauth:grant-type:mfa-recovery-code",mfa_token:this.mfaToken,recovery_code:t}:{grant_type:"urn:verdocs:params:oauth:grant-type:mfa-otp",mfa_token:this.mfaToken,otp:t})];case 2:i=n.sent();return[4,this.finishLogin(i)];case 3:n.sent();return[3,5];case 4:r=n.sent();this.handleMFAFailure(r);return[3,5];case 5:return[2]}}))}))};t.prototype.handleVerifyMFA=function(){this.submitMFA(this.useRecoveryCode?this.recoveryCode:this.mfaCode,this.useRecoveryCode).catch((function(){return undefined}))};t.prototype.handleMFACodeInput=function(t){var e=(t.value||"").replace(/\D/g,"").slice(0,6);if(t.value!==e){t.value=e}this.mfaCode=e;if(e.length===6){this.submitMFA(e,false).catch((function(){return undefined}))}};t.prototype.handleRecoveryCodeInput=function(t){var e=j(t.value||"");if(t.value!==e){t.value=e}this.recoveryCode=e};t.prototype.toggleRecoveryCode=function(){this.useRecoveryCode=!this.useRecoveryCode;this.mfaCode="";this.recoveryCode="";this.mfaError="";this.mfaFocusPending=true};t.prototype.handleSocialLogin=function(t){var e=this;try{var i=f();var r=f();v(i).then((function(n){var s={verifier:i,state:r,provider:t};window.sessionStorage.setItem(P,JSON.stringify(s));window.location.assign(p(e.endpoint,t,{returnUri:q(),codeChallenge:n,state:r}))})).catch((function(){return x(C,{style:"error"})}))}catch(t){x(C,{style:"error"})}};t.prototype.handleSocialLoginReturn=function(){if(typeof window==="undefined"){return}var t=new URLSearchParams(window.location.search);var e=t.get("login_code");var i=t.get("state");var r=t.get("error");if(!e&&!r){return}var n=T();if(!e&&!n){return}A();S(e?["login_code","state"]:["error"]);if(r){x(I(r),{style:"error"});return}if(!n||n.state!==i){x("Sign-in could not be verified. Try again.",{style:"error"});return}this.exchangeLoginCode(e,n.verifier)};t.prototype.exchangeLoginCode=function(t,e){var i=this;this.submitting=true;this.tempAuthEndpoint.clearSession();d(this.tempAuthEndpoint,{grant_type:"urn:verdocs:params:oauth:grant-type:login-code",login_code:t,code_verifier:e}).then((function(t){return i.finishLogin(t)})).catch((function(t){var e;if(h(t)){i.startMFA(t.response.data.mfa_token);return}i.submitting=false;console.log("[AUTH] Social login failure",((e=t.response)===null||e===void 0?void 0:e.data)||t);x("Sign-in failed. Please try again.",{style:"error"})}))};t.prototype.clearForms=function(){this.submitting=false;this.resendDisabled=false;this.mfaToken="";this.mfaCode="";this.recoveryCode="";this.useRecoveryCode=false;this.mfaError="";this.email="";this.phone="";this.password="";this.newPassword="";this.confirmpass="";this.verificationCode="";this.first_name="";this.last_name="";this.org_name=""};t.prototype.handleLogout=function(){console.log("logging out");this.endpoint.clearSession();this.tempAuthEndpoint.clearSession();this.clearForms();this.displayMode="login"};t.prototype.handleResendVerification=function(){var t=this;this.resendDisabled=true;this.resendDisabledTimer=setTimeout((function(){t.resendDisabled=false;t.resendDisabledTimer=null}),3e4);m(this.tempAuthEndpoint).then((function(t){console.log("[AUTH] Verification request resent",t);x("Please check your email for a verification code.",{style:"info"})})).catch((function(t){console.log("[AUTH] Unable to resend verification",t);x("Unable to resend code. Please try again later.",{style:"error"})}))};t.prototype.handleResendReset=function(){var t=this;this.resendDisabled=true;this.resendDisabledTimer=setTimeout((function(){t.resendDisabled=false;t.resendDisabledTimer=null}),3e4);b(this.tempAuthEndpoint,{email:this.email}).then((function(t){console.log("[AUTH] Resend-code request resent",t);x("Please check your email again for a verification code.",{style:"info"})})).catch((function(t){console.log("[AUTH] Unable to resend reset request",t);x("Unable to resend code. Please try again later.",{style:"error"})}))};t.prototype.handleResetGetCode=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:this.submitting=true;this.confirmpass="";this.newPassword="";i.label=1;case 1:i.trys.push([1,3,,4]);this.submitting=false;return[4,b(this.endpoint,{email:this.email})];case 2:t=i.sent();console.log("[AUTH] Reset result",t);x("Please check your email inbox for a password reset code.",{style:"success"});this.verificationCode="";this.confirmpass="";this.newPassword="";this.displayMode="reset";return[3,4];case 3:e=i.sent();this.submitting=false;console.log("Reset request error",e);x("Request failed. Please check your email address and try again.");return[3,4];case 4:return[2]}}))}))};t.prototype.handleResetPassword=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:if(!this.isPasswordComplex(this.newPassword)){x("Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.",{style:"error"});return[2]}if(this.newPassword!==this.confirmpass){x("Passwords do not match.",{style:"error"});return[2]}this.submitting=true;i.label=1;case 1:i.trys.push([1,3,,4]);this.submitting=false;return[4,b(this.endpoint,{email:this.email,code:this.verificationCode,new_password:this.newPassword})];case 2:t=i.sent();console.log("reset result",t);x("Your password has been reset. You may now use your new password to login.",{style:"success"});this.verificationCode="";this.confirmpass="";this.newPassword="";this.password="";this.displayMode="login";return[3,4];case 3:e=i.sent();this.submitting=false;console.log("Verification error",e);x("Verification error, please check the code and try again.");return[3,4];case 4:return[2]}}))}))};t.prototype.handleReset=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:this.submitting=true;i.label=1;case 1:i.trys.push([1,3,,4]);return[4,b(this.endpoint,{email:this.email})];case 2:t=i.sent();console.log("[AUTH] Reset sent",t);this.submitting=false;this.displayMode="login";x("If your email address is registered, you will receive instructions on resetting your password shortly.",{style:"info"});return[3,4];case 3:e=i.sent();console.log("[AUTH] Unable to reset password",e);this.submitting=false;x("Unable to reset password. Please check your email address and try again.",{style:"error"});return[3,4];case 4:return[2]}}))}))};t.prototype.renderProviderButtons=function(){var t=this;if(!this.showSocialLogins||!this.providers.google&&!this.providers.microsoft){return null}return r("div",{class:"providers"},this.providers.google&&r("verdocs-button",{label:"Continue with Google",variant:"outline",class:"provider-google",startIcon:y,disabled:this.submitting,onClick:function(){return t.handleSocialLogin("google")}}),this.providers.microsoft&&r("verdocs-button",{label:"Continue with Microsoft",variant:"outline",class:"provider-microsoft",startIcon:g,disabled:this.submitting,onClick:function(){return t.handleSocialLogin("microsoft")}}),r("div",{class:"divider"},r("div",{class:"divider-line"}),"or",r("div",{class:"divider-line"})))};t.prototype.render=function(){var t=this;if(!this.visible){return r("div",{style:{display:"none"}},"Authenticated")}if(this.session){return r("verdocs-button",{label:"Sign Out",disabled:this.submitting,onClick:function(){return t.handleLogout()},style:{display:"flex",justifyContent:"center",margin:"30px auto 0"}})}if(this.displayMode==="mfa"){var e=this.useRecoveryCode?this.recoveryCode:this.mfaCode;var i=this.useRecoveryCode?this.recoveryCode.replace("-","").length===8:this.mfaCode.length===6;return r("div",{class:"form"},r("a",{href:"https://verdocs.com/en/"},r("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"})),r("h3",null,"Two-factor authentication"),r("p",null,this.useRecoveryCode?"Enter one of the backup codes you saved when you turned on multi-factor authentication.":"Enter the six-digit code from your authenticator app."),r("form",{onSubmit:function(e){e.preventDefault();t.handleVerifyMFA()}},this.useRecoveryCode?r("verdocs-text-input",{class:"mfa-input",label:"Backup code",placeholder:"xxxx-xxxx",autocomplete:"one-time-code",value:this.recoveryCode,onInput:function(e){return t.handleRecoveryCodeInput(e.target)},disabled:this.submitting}):r("verdocs-text-input",{class:"mfa-input",label:"Authentication code",autocomplete:"one-time-code",value:this.mfaCode,onInput:function(e){return t.handleMFACodeInput(e.target)},disabled:this.submitting}),this.mfaError&&r("div",{role:"alert",class:"mfa-error"},this.mfaError),r("div",{class:"buttons"},r("verdocs-button",{label:"Cancel",variant:"outline",disabled:this.submitting,onClick:function(){return t.returnToLogin()}}),r("verdocs-button",{label:"Verify",disabled:this.submitting||!i||!e,onClick:function(){return t.handleVerifyMFA()}})),r("div",{class:"buttons"},r("verdocs-button",{variant:"text",size:"small",label:this.useRecoveryCode?"Use your authenticator app instead":"Use a backup code instead",disabled:this.submitting,onClick:function(){return t.toggleRecoveryCode()}}))))}if(this.displayMode==="signup"){var n=this.submitting||!this.first_name||!this.last_name||!this.email||!this.password||!this.confirmpass||!this.org_name;return r("div",{class:"form"},r("a",{href:"https://verdocs.com/en/"},r("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"})),r("h3",null,"Sign up for a free account"),r("div",{class:"already-have"},"Already have an account?",r("verdocs-button",{label:"Log In",variant:"text",onClick:function(){return t.displayMode="login"},disabled:this.submitting})),this.renderProviderButtons(),r("form",{onSubmit:function(){return t.handleSignup()}},r("div",{style:{display:"flex",flexDirection:"row",columnGap:"20px"}},r("verdocs-text-input",{label:"First Name",autocomplete:"first",required:true,value:this.first_name,onInput:function(e){return t.first_name=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Last Name",autocomplete:"last",required:true,value:this.last_name,onInput:function(e){return t.last_name=e.target.value},disabled:this.submitting})),r("verdocs-text-input",{label:"Email Address",autocomplete:"email",required:true,value:this.email,onInput:function(e){return t.email=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Password",type:"password",required:true,autocomplete:"new-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Confirm Password",type:"password",required:true,autocomplete:"off",value:this.confirmpass,onInput:function(e){return t.confirmpass=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Phone Number",type:"tel",required:true,autocomplete:"phone",value:this.phone,onInput:function(e){return t.phone=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Organization Name",autocomplete:"org",required:true,value:this.org_name,onInput:function(e){return t.org_name=e.target.value},disabled:this.submitting,style:{flex:"1"}}),r("div",{class:"service-agreement"},"By clicking the Create Account button, you agree to the"," ",r("a",{href:"https://verdocs.com/eula",target:"_blank"},"End User License Agreement"),". Learn about how we use and protect your data and how you can opt-out in our"," ",r("a",{href:"https://verdocs.com/privacy-policy",target:"_blank"},"Privacy Policy"),"."),r("div",{style:{marginTop:"30px"}}),r("verdocs-button",{label:"Next",disabled:n,onClick:n?function(){}:function(){return t.handleSignup()},style:{display:"flex",justifyContent:"center",margin:"30px auto 0"}})))}if(this.displayMode==="verify"){return r("div",{class:"form"},r("form",{onSubmit:function(){return t.handleVerification()}},r("p",null,"Please check your e-mail inbox for a verification code and enter it below."),r("verdocs-text-input",{label:"Verification Code",required:true,value:this.verificationCode,onInput:function(e){return t.verificationCode=e.target.value},disabled:this.submitting}),r("div",{class:"buttons"},r("verdocs-button",{label:"Sign Out",variant:"outline",disabled:this.submitting,onClick:function(){return t.handleLogout()}}),r("verdocs-button",{label:"Verify",disabled:this.submitting||!this.verificationCode||this.verificationCode.length!==6,onClick:function(){return t.handleVerification()}})),r("div",{class:"buttons"},r("verdocs-button",{variant:"text",label:"Resend Code",disabled:this.resendDisabled||this.submitting,onClick:function(){return t.handleResendVerification()}}))))}if(this.displayMode==="forgot"){return r("div",{class:"form"},r("a",{href:"https://verdocs.com/en/"},r("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"})),r("h3",null,"Forgot your password?"),r("p",null,"Enter your e-mail address below. If the e-mail address is valid, a password reset code will be sent to your inbox. Please allow up to 15 minutes to arrive, and check your spam folder if you do not receive the message."),r("form",{onSubmit:function(){return t.handleResetGetCode()}},r("verdocs-text-input",{label:"Email Address",autocomplete:"email",required:true,value:this.email,onInput:function(e){return t.email=e.target.value},disabled:this.submitting}),r("div",{style:{marginTop:"30px"}}),r("div",{class:"buttons"},r("verdocs-button",{size:"small",label:"Cancel",variant:"outline",disabled:this.submitting,onClick:function(){return t.displayMode="login"}}),r("verdocs-button",{size:"small",label:"Request Code",disabled:this.submitting,onClick:function(){return t.handleResetGetCode()}}))))}if(this.displayMode==="reset"){return r("div",{class:"form"},r("a",{href:"https://verdocs.com/en/"},r("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"})),r("h3",null,"Forgot your password?"),r("p",null,"Enter your e-mail address below, and reset instructions will be sent to your Inbox. Please allow up to 15 minutes to arrive. Check your spam folder if you do not receive the message."),r("form",{onSubmit:function(){return t.handleResetPassword()}},r("verdocs-text-input",{label:"Verification Code",required:true,value:this.verificationCode,onInput:function(e){return t.verificationCode=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Password",type:"password",required:true,autocomplete:"off",value:this.newPassword,onInput:function(e){return t.newPassword=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Confirm Password",type:"password",required:true,autocomplete:"off",value:this.confirmpass,onInput:function(e){return t.confirmpass=e.target.value},disabled:this.submitting}),r("div",{style:{marginTop:"30px"}}),r("div",{class:"buttons"},r("verdocs-button",{label:"Cancel",variant:"outline",disabled:this.submitting,onClick:function(){return t.displayMode="login"}}),r("verdocs-button",{label:"Reset",disabled:this.submitting,onClick:function(){return t.handleResetPassword()}})),r("div",{class:"buttons"},r("verdocs-button",{variant:"text",label:"Resend Code",disabled:this.resendDisabled||this.submitting,onClick:function(){return t.handleResendReset()}}))))}return r("div",{class:"form"},r("a",{href:"https://verdocs.com/en/"},r("img",{src:this.logo,alt:"Verdocs Logo",class:"logo"})),r("h3",null,"Log in to your account"),this.renderProviderButtons(),r("form",{onSubmit:function(){return t.loginAndCheckVerification()}},r("verdocs-text-input",{label:"Email",autocomplete:"username",value:this.email,onInput:function(e){return t.email=e.target.value},disabled:this.submitting}),r("verdocs-text-input",{label:"Password",type:"password",autocomplete:"current-password",value:this.password,onInput:function(e){return t.password=e.target.value},disabled:this.submitting}),r("verdocs-button",{label:"Forgot Your Password?",variant:"text",onClick:function(){return t.displayMode="forgot"},disabled:this.submitting,style:{display:"flex",justifyContent:"center",margin:"0 auto 20px"}}),r("verdocs-button",{label:"Login",disabled:this.submitting,onClick:function(){return t.loginAndCheckVerification()},style:{display:"flex",justifyContent:"center",margin:"10px auto 0"}}),r("verdocs-button",{label:"Sign Up",variant:"outline",disabled:this.submitting,onClick:function(){return t.displayMode="signup"},style:{display:"flex",justifyContent:"center",margin:"10px auto 0"}})))};Object.defineProperty(t.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});return t}());z.style=k()}}}));
2
+ //# sourceMappingURL=p-0fb8e6e0.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["verdocsAuthCss","MFA_CODE_ERROR","SOCIAL_START_ERROR","SOCIAL_LOGIN_KEY","SOCIAL_ERROR_MESSAGES","email_unverified","corporate_email_required","account_locked","provider_error","access_denied","socialErrorMessage","code","readSocialLoginAttempt","stored","window","sessionStorage","getItem","JSON","parse","_a","clearSocialLoginAttempt","removeItem","cleanSocialLoginParams","names","url","URL","location","href","forEach","name","searchParams","delete","history","replaceState","concat","pathname","search","hash","currentReturnUri","origin","formatRecoveryCode","value","cleaned","toLowerCase","replace","slice","length","VerdocsAuth","exports","class_1","hostRef","_this","this","endpoint","VerdocsEndpoint","getDefault","visible","logo","displayMode","showSocialLogins","org_name","first_name","last_name","email","phone","verificationCode","newPassword","password","confirmpass","submitting","resendDisabled","session","profile","providers","google","microsoft","mfaToken","mfaCode","recoveryCode","useRecoveryCode","mfaError","resendDisabledTimer","mfaFocusPending","tempAuthEndpoint","baseURL","getBaseURL","persist","handleHashChange","applyHashDisplayMode","prototype","componentWillLoad","loadSession","addEventListener","onSessionChanged","_endpoint","authenticated","emit","_b","getSocialProviders","then","catch","undefined","handleSocialLoginReturn","componentDidRender","input","el","querySelector","setAttribute","removeAttribute","focus","disconnectedCallback","removeEventListener","isPasswordComplex","isUppercase","ch","test","isLowercase","isSpecialChar","countOfUpperCase","countOfLowerCase","countOfSpecialChar","i","charAt","handleSignup","VerdocsToast","style","clearSession","formattedPhone","convertToE164","localeData","Intl","DateTimeFormat","resolvedOptions","createProfile","timezone","timeZone","locale","r","console","log","setToken","access_token","e","response","sdkError","SDKError","message","_c","status","_d","data","_f","_e","error","handleVerification","verifyEmail","token","verificationResult","_g","sent","completeLogin","e_1","result","clearForms","finishLogin","authResult","getMyUser","user","email_verified","loginAndCheckVerification","authenticate","username","trim","grant_type","isMFARequired","e_2","startMFA","mfa_token","returnToLogin","handleMFAFailure","submitMFA","isRecoveryCode","recovery_code","otp","e_3","handleVerifyMFA","handleMFACodeInput","target","digits","handleRecoveryCodeInput","formatted","toggleRecoveryCode","handleSocialLogin","provider","verifier_1","createCodeVerifier","state_1","createCodeChallenge","codeChallenge","attempt","verifier","state","setItem","stringify","assign","getSocialLoginUrl","returnUri","params","URLSearchParams","loginCode","get","exchangeLoginCode","codeVerifier","login_code","code_verifier","handleLogout","handleResendVerification","setTimeout","resendVerification","handleResendReset","resetPassword","handleResetGetCode","e_4","handleResetPassword","new_password","resetResult","e_5","handleReset","e_6","renderProviderButtons","h","class","label","variant","startIcon","GoogleIcon","disabled","onClick","MicrosoftIcon","render","display","justifyContent","margin","enteredCode","codeComplete","src","alt","onSubmit","preventDefault","placeholder","autocomplete","onInput","role","size","invalid","flexDirection","columnGap","required","type","flex","marginTop"],"sources":["src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n\n .form {\n width: 350px;\n display: flex;\n padding: 20px;\n max-width: 90%;\n align-items: center;\n flex-direction: column;\n box-sizing: border-box;\n justify-content: center;\n background: $verdocs-grey-4;\n }\n\n .logo {\n width: 128px;\n max-width: 100%;\n margin: 20px 0 30px;\n }\n\n h3 {\n color: $verdocs-grey-0;\n text-align: center;\n font-weight: 400;\n font-size: 18px;\n line-height: 1.75;\n margin: 0 0 20px 0;\n }\n\n em {\n font-size: 14px;\n margin: 15px 0;\n }\n\n .buttons {\n gap: 20px;\n margin: 20px 0 0 0;\n display: flex;\n flex-direction: row;\n justify-content: center;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n\n .account-option {\n gap: 8px;\n margin: 20px 0 8px 0;\n display: flex;\n flex-direction: row;\n }\n\n p {\n color: $verdocs-grey-0;\n margin: 1em 0;\n font-size: 14px;\n }\n\n // Our <p>s are in a flex layout which prevents margins from collapsing because each item creates its own row\n p + p {\n margin-top: 0;\n }\n\n verdocs-help-icon {\n margin-top: 18px;\n display: flex;\n width: 32px;\n height: 32px;\n flex: 0 0 32px;\n }\n\n .already-have {\n color: $verdocs-grey-0;\n margin: 0.5em 0;\n font-size: 14px;\n text-align: center;\n }\n\n .service-agreement {\n font-size: 12px;\n color: #777;\n\n a {\n color: $verdocs-grey-0;\n }\n }\n\n .providers {\n width: 100%;\n\n verdocs-button {\n display: block;\n margin-bottom: 10px;\n\n button.outline {\n position: relative;\n border-color: $verdocs-grey-2;\n\n &:disabled {\n border-color: $verdocs-grey-2;\n }\n }\n\n .icon.start {\n position: absolute;\n left: 16px;\n margin: 0;\n display: flex;\n align-items: center;\n\n svg {\n width: 18px;\n height: 18px;\n }\n }\n }\n }\n\n .divider {\n gap: 8px;\n color: #777;\n display: flex;\n font-size: 12px;\n margin: 28px 0;\n align-items: center;\n flex-direction: row;\n\n .divider-line {\n flex: 1;\n height: 1px;\n background: $verdocs-grey-2;\n }\n }\n\n .mfa-error {\n color: $verdocs-red-1;\n font-size: 14px;\n margin: 0 0 8px;\n }\n}\n","import {Component, Prop, State, h, Event, EventEmitter, Element} from '@stencil/core';\nimport {TSession, VerdocsEndpoint, createProfile, authenticate, resendVerification, resetPassword} from '@verdocs/js-sdk';\nimport {isMFARequired, getSocialProviders, getSocialLoginUrl, createCodeVerifier, createCodeChallenge} from '@verdocs/js-sdk';\nimport {verifyEmail, IAuthenticateResponse, getMyUser, IProfile, convertToE164, ISocialProviders, TSocialLoginProvider} from '@verdocs/js-sdk';\nimport {GoogleIcon, MicrosoftIcon} from '../../../utils/Icons';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n profile: IProfile | null;\n}\n\nconst MFA_CODE_ERROR = 'Invalid code. Please try again.';\nconst SOCIAL_START_ERROR = 'Unable to start sign-in sequence. Please try again.';\nconst SOCIAL_LOGIN_KEY = 'vdocs-social-login';\n\ninterface ISocialLoginAttempt {\n verifier: string;\n state: string;\n provider: TSocialLoginProvider;\n}\n\nconst SOCIAL_ERROR_MESSAGES: Record<string, string> = {\n email_unverified: 'That account does not have a verified email address.',\n corporate_email_required: 'Please use your corporate email address to create an account.',\n account_locked: 'That account is locked. Please contact support@verdocs.com.',\n provider_error: 'That provider could not sign you in. Please try again.',\n access_denied: 'Sign-in was canceled.',\n};\n\nconst socialErrorMessage = (code: string) => SOCIAL_ERROR_MESSAGES[code] || 'Unable to sign in. Please try again.';\n\nconst readSocialLoginAttempt = (): ISocialLoginAttempt | null => {\n try {\n const stored = window.sessionStorage.getItem(SOCIAL_LOGIN_KEY);\n return stored ? (JSON.parse(stored) as ISocialLoginAttempt) : null;\n } catch {\n return null;\n }\n};\n\nconst clearSocialLoginAttempt = () => {\n try {\n window.sessionStorage.removeItem(SOCIAL_LOGIN_KEY);\n } catch {\n // Third-party embeds may block sessionStorage. It's OK.\n }\n};\n\n// Prevent replays on a reload\nconst cleanSocialLoginParams = (names: string[]) => {\n const url = new URL(window.location.href);\n names.forEach(name => url.searchParams.delete(name));\n window.history.replaceState({}, '', `${url.pathname}${url.search}${url.hash}`);\n};\n\nconst currentReturnUri = () => `${window.location.origin}${window.location.pathname}`;\n\nconst formatRecoveryCode = (value: string) => {\n const cleaned = value\n .toLowerCase()\n .replace(/[^a-z0-9]/g, '')\n .slice(0, 8);\n return cleaned.length > 4 ? `${cleaned.slice(0, 4)}-${cleaned.slice(4)}` : cleaned;\n};\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. If the user is\n * already authenticated with a valid session, this component will hide itself and fire the\n * success callback immediately. It is up to the host application to render the next appropriate\n * view for the application.\n *\n * To simplify UI development, a visibility flag can force this component to never display. This\n * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.\n *\n * This embed is responsive and mobile-friendly, but the calling application should provide at\n * least a 300px wide container to allow sufficient space for the required forms.\n *\n * ```ts\n * <verdocs-auth\n * onAuthenticated={({ detail }) => console.log('Authentication state:', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\n @Element() el: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://app.verdocs.com/assets/blue-logo.svg';\n\n /**\n * The display mode to start in.\n */\n @Prop({mutable: true}) displayMode: 'login' | 'forgot' | 'reset' | 'signup' | 'verify' | 'mfa' = 'login';\n\n /**\n * Social auth is disabled by default because these are redirect flows that require allowable redirect_uri\n * destinations be pre-registered. These will only work on Verdocs sites/apps, so third-party developers\n * should not turn this on unless instructed to by Verdocs Support.\n */\n @Prop() showSocialLogins: boolean = false;\n\n /**\n * Event fired when session authentication process has completed. Check the event\n * contents for completion status. This event will always be called at least once,\n * when the component is first rendered.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() org_name: string = '';\n @State() first_name: string = '';\n @State() last_name: string = '';\n @State() email: string = '';\n @State() phone: string = '';\n @State() verificationCode: string = '';\n @State() newPassword: string = '';\n @State() password: string = '';\n @State() confirmpass: string = '';\n @State() submitting: boolean = false;\n @State() resendDisabled = false;\n @State() session: TSession = null;\n @State() profile: IProfile | null = null;\n @State() providers: ISocialProviders = {google: false, microsoft: false};\n @State() mfaToken: string = '';\n @State() mfaCode: string = '';\n @State() recoveryCode: string = '';\n @State() useRecoveryCode: boolean = false;\n @State() mfaError: string = '';\n\n resendDisabledTimer = null;\n mfaFocusPending = false;\n\n // We can't instantly log in on the default endpoint because other listeners might see\n // its events and incorrectly trigger before we're done. So we manage our own temp\n // endpoint and pass the final tokens to the default once we're ready.\n tempAuthEndpoint = new VerdocsEndpoint({\n baseURL: VerdocsEndpoint.getDefault().getBaseURL(),\n persist: false,\n });\n\n componentWillLoad() {\n this.endpoint.loadSession();\n this.applyHashDisplayMode();\n\n // We need to listen to the hashchange to know when we're being sent to #forgot\n if (typeof window !== 'undefined') {\n window.addEventListener('hashchange', this.handleHashChange);\n }\n\n VerdocsEndpoint.getDefault().onSessionChanged((_endpoint, session, profile) => {\n this.session = session;\n this.profile = profile;\n if (session) {\n this.authenticated?.emit({authenticated: true, session, profile});\n } else {\n this.authenticated?.emit({authenticated: false, session, profile});\n }\n });\n\n if (this.showSocialLogins) {\n getSocialProviders(this.endpoint)\n .then(providers => {\n this.providers = providers;\n })\n .catch(() => undefined);\n }\n\n this.handleSocialLoginReturn();\n }\n\n componentDidRender() {\n if (this.displayMode !== 'mfa') {\n return;\n }\n\n const input = this.el.querySelector('.mfa-input input') as HTMLInputElement | null;\n if (!input) {\n return;\n }\n\n if (!this.useRecoveryCode) {\n input.setAttribute('inputmode', 'numeric');\n } else {\n input.removeAttribute('inputmode');\n }\n\n if (this.mfaFocusPending) {\n this.mfaFocusPending = false;\n input.focus();\n }\n }\n\n disconnectedCallback() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n }\n\n handleHashChange = () => {\n this.applyHashDisplayMode();\n };\n\n applyHashDisplayMode() {\n if (typeof window === 'undefined') {\n return;\n }\n\n const hash = (window.location.hash || '').replace(/^#/, '').toLowerCase();\n if (hash === 'forgot') {\n this.displayMode = 'forgot';\n }\n }\n\n isPasswordComplex(password: string) {\n const isUppercase = (ch: string) => /[A-Z]/.test(ch);\n const isLowercase = (ch: string) => /[a-z]/.test(ch);\n const isSpecialChar = (ch: string) => /[`!@#$%^&*()_\\-+=\\[\\]{};':\"\\\\|,.<>\\/?~ ]/.test(ch);\n let countOfUpperCase = 0,\n countOfLowerCase = 0,\n countOfSpecialChar = 0;\n for (let i = 0; i < password.length; i++) {\n let ch = password.charAt(i);\n if (isUppercase(ch)) countOfUpperCase++;\n else if (isLowercase(ch)) countOfLowerCase++;\n else if (isSpecialChar(ch)) countOfSpecialChar++;\n }\n return password.length >= 8 && countOfLowerCase > 0 && countOfUpperCase > 0 && countOfSpecialChar > 0;\n }\n\n handleSignup() {\n if (!this.isPasswordComplex(this.password)) {\n VerdocsToast('Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.', {style: 'error'});\n return;\n }\n\n if (this.password !== this.confirmpass) {\n VerdocsToast('Passwords do not match.', {style: 'error'});\n return;\n }\n\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n const formattedPhone = convertToE164(this.phone);\n const localeData = Intl.DateTimeFormat().resolvedOptions();\n\n createProfile(this.tempAuthEndpoint, {\n email: this.email,\n password: this.password,\n first_name: this.first_name,\n last_name: this.last_name,\n org_name: this.org_name,\n phone: formattedPhone,\n timezone: localeData.timeZone,\n locale: localeData.locale,\n })\n .then(r => {\n console.log('[AUTH] Profile creation result', r);\n this.tempAuthEndpoint.setToken(r.access_token);\n // We can't clearForms because we need email to stick around\n this.password = '';\n this.phone = '';\n this.first_name = '';\n this.last_name = '';\n this.org_name = '';\n this.displayMode = 'verify';\n this.submitting = false;\n })\n .catch(e => {\n console.log('[AUTH] Signup error', e.response);\n this.submitting = false;\n this.authenticated?.emit({authenticated: false, profile: null, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n VerdocsToast('Signup failed: ' + e.response?.data?.error || 'Unknown Error', {style: 'error'});\n });\n }\n\n async handleVerification() {\n this.submitting = true;\n\n try {\n this.submitting = false;\n const verificationResult = await verifyEmail(this.tempAuthEndpoint, {email: this.email, token: this.verificationCode});\n VerdocsToast('Thank you for verifying your email address.', {style: 'success'});\n this.completeLogin(verificationResult);\n } catch (e) {\n this.submitting = false;\n console.log('Verification error', e);\n VerdocsToast('Verification error, please check the code and try again.');\n }\n }\n\n completeLogin(result: IAuthenticateResponse) {\n this.clearForms();\n this.displayMode = 'login';\n this.tempAuthEndpoint.clearSession();\n this.endpoint.setToken(result.access_token);\n }\n\n async finishLogin(authResult: IAuthenticateResponse) {\n console.log('[AUTH] Authenticated, checking email verification');\n this.tempAuthEndpoint.setToken(authResult.access_token);\n\n const user = await getMyUser(this.tempAuthEndpoint);\n this.submitting = false;\n\n if (!user.email_verified) {\n console.log('[AUTH] Logged in, pending email address verification');\n this.displayMode = 'verify';\n } else {\n console.log('[AUTH] Email address is verified, completing login');\n this.completeLogin(authResult);\n }\n }\n\n async loginAndCheckVerification() {\n if (this.submitting) {\n return;\n }\n\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n\n try {\n const authResult = await authenticate(this.tempAuthEndpoint, {username: this.email.trim(), password: this.password, grant_type: 'password'});\n await this.finishLogin(authResult);\n } catch (e) {\n if (isMFARequired(e)) {\n this.startMFA(e.response.data.mfa_token);\n return;\n }\n\n this.submitting = false;\n console.log('[AUTH] Auth failure', e.response?.data || e);\n VerdocsToast('Login failed. Please check your credentials and try again.', {style: 'error'});\n }\n }\n\n startMFA(token: string) {\n this.mfaToken = token;\n this.mfaCode = '';\n this.recoveryCode = '';\n this.useRecoveryCode = false;\n this.mfaError = '';\n this.submitting = false;\n this.mfaFocusPending = true;\n this.displayMode = 'mfa';\n }\n\n returnToLogin() {\n this.mfaToken = '';\n this.mfaCode = '';\n this.recoveryCode = '';\n this.useRecoveryCode = false;\n this.mfaError = '';\n this.password = '';\n this.submitting = false;\n this.displayMode = 'login';\n }\n\n handleMFAFailure(e: any) {\n this.submitting = false;\n this.mfaCode = '';\n this.recoveryCode = '';\n\n // Failed attempts require a fresh token\n if (isMFARequired(e)) {\n this.mfaToken = e.response.data.mfa_token;\n this.mfaError = MFA_CODE_ERROR;\n return;\n }\n\n if (e?.response?.status === 401) {\n this.returnToLogin();\n VerdocsToast('Your sign-in timed out. Enter your password again.', {style: 'error'});\n return;\n }\n\n this.mfaError = MFA_CODE_ERROR;\n }\n\n async submitMFA(code: string, isRecoveryCode: boolean) {\n if (this.submitting || !code) {\n return;\n }\n\n this.submitting = true;\n this.mfaError = '';\n this.tempAuthEndpoint.clearSession();\n\n try {\n const authResult = await authenticate(\n this.tempAuthEndpoint,\n isRecoveryCode\n ? {grant_type: 'urn:verdocs:params:oauth:grant-type:mfa-recovery-code', mfa_token: this.mfaToken, recovery_code: code}\n : {grant_type: 'urn:verdocs:params:oauth:grant-type:mfa-otp', mfa_token: this.mfaToken, otp: code},\n );\n await this.finishLogin(authResult);\n } catch (e) {\n this.handleMFAFailure(e);\n }\n }\n\n handleVerifyMFA() {\n this.submitMFA(this.useRecoveryCode ? this.recoveryCode : this.mfaCode, this.useRecoveryCode).catch(() => undefined);\n }\n\n handleMFACodeInput(target: HTMLInputElement) {\n const digits = (target.value || '').replace(/\\D/g, '').slice(0, 6);\n if (target.value !== digits) {\n target.value = digits;\n }\n this.mfaCode = digits;\n\n // Auto-submit once 6 digits are entered\n if (digits.length === 6) {\n this.submitMFA(digits, false).catch(() => undefined);\n }\n }\n\n handleRecoveryCodeInput(target: HTMLInputElement) {\n const formatted = formatRecoveryCode(target.value || '');\n if (target.value !== formatted) {\n target.value = formatted;\n }\n this.recoveryCode = formatted;\n }\n\n toggleRecoveryCode() {\n this.useRecoveryCode = !this.useRecoveryCode;\n this.mfaCode = '';\n this.recoveryCode = '';\n this.mfaError = '';\n this.mfaFocusPending = true;\n }\n\n handleSocialLogin(provider: TSocialLoginProvider) {\n try {\n const verifier = createCodeVerifier();\n const state = createCodeVerifier();\n\n createCodeChallenge(verifier)\n .then(codeChallenge => {\n const attempt: ISocialLoginAttempt = {verifier, state, provider};\n window.sessionStorage.setItem(SOCIAL_LOGIN_KEY, JSON.stringify(attempt));\n window.location.assign(getSocialLoginUrl(this.endpoint, provider, {returnUri: currentReturnUri(), codeChallenge, state}));\n })\n .catch(() => VerdocsToast(SOCIAL_START_ERROR, {style: 'error'}));\n } catch {\n VerdocsToast(SOCIAL_START_ERROR, {style: 'error'});\n }\n }\n\n handleSocialLoginReturn() {\n if (typeof window === 'undefined') {\n return;\n }\n\n const params = new URLSearchParams(window.location.search);\n const loginCode = params.get('login_code');\n const state = params.get('state');\n const error = params.get('error');\n\n if (!loginCode && !error) {\n return;\n }\n\n const attempt = readSocialLoginAttempt();\n\n // `error` doesn't give us the whole picture\n if (!loginCode && !attempt) {\n return;\n }\n\n clearSocialLoginAttempt();\n cleanSocialLoginParams(loginCode ? ['login_code', 'state'] : ['error']);\n\n if (error) {\n VerdocsToast(socialErrorMessage(error), {style: 'error'});\n return;\n }\n\n if (!attempt || attempt.state !== state) {\n VerdocsToast('Sign-in could not be verified. Try again.', {style: 'error'});\n return;\n }\n\n this.exchangeLoginCode(loginCode, attempt.verifier);\n }\n\n exchangeLoginCode(loginCode: string, codeVerifier: string) {\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n\n authenticate(this.tempAuthEndpoint, {grant_type: 'urn:verdocs:params:oauth:grant-type:login-code', login_code: loginCode, code_verifier: codeVerifier})\n .then(authResult => this.finishLogin(authResult))\n .catch(e => {\n if (isMFARequired(e)) {\n this.startMFA(e.response.data.mfa_token);\n return;\n }\n\n this.submitting = false;\n console.log('[AUTH] Social login failure', e.response?.data || e);\n VerdocsToast('Sign-in failed. Please try again.', {style: 'error'});\n });\n }\n\n clearForms() {\n this.submitting = false;\n this.resendDisabled = false;\n this.mfaToken = '';\n this.mfaCode = '';\n this.recoveryCode = '';\n this.useRecoveryCode = false;\n this.mfaError = '';\n this.email = '';\n this.phone = '';\n this.password = '';\n this.newPassword = '';\n this.confirmpass = '';\n this.verificationCode = '';\n this.first_name = '';\n this.last_name = '';\n this.org_name = '';\n }\n\n handleLogout() {\n console.log('logging out');\n this.endpoint.clearSession();\n this.tempAuthEndpoint.clearSession();\n this.clearForms();\n this.displayMode = 'login';\n }\n\n handleResendVerification() {\n // Avoid the user just click-spamming this pathway. The server rate-limits this anyway so it's not a\n // security issue but it's a poor user experience to allow it.\n this.resendDisabled = true;\n this.resendDisabledTimer = setTimeout(() => {\n this.resendDisabled = false;\n this.resendDisabledTimer = null;\n }, 30000);\n\n resendVerification(this.tempAuthEndpoint)\n .then(r => {\n console.log('[AUTH] Verification request resent', r);\n VerdocsToast('Please check your email for a verification code.', {style: 'info'});\n })\n .catch((e: any) => {\n console.log('[AUTH] Unable to resend verification', e);\n VerdocsToast('Unable to resend code. Please try again later.', {style: 'error'});\n });\n }\n\n handleResendReset() {\n // Avoid the user just click-spamming this pathway. The server rate-limits this anyway so it's not a\n // security issue but it's a poor user experience to allow it.\n this.resendDisabled = true;\n this.resendDisabledTimer = setTimeout(() => {\n this.resendDisabled = false;\n this.resendDisabledTimer = null;\n }, 30000);\n\n resetPassword(this.tempAuthEndpoint, {email: this.email})\n .then(r => {\n console.log('[AUTH] Resend-code request resent', r);\n VerdocsToast('Please check your email again for a verification code.', {style: 'info'});\n })\n .catch((e: any) => {\n console.log('[AUTH] Unable to resend reset request', e);\n VerdocsToast('Unable to resend code. Please try again later.', {style: 'error'});\n });\n }\n\n async handleResetGetCode() {\n this.submitting = true;\n this.confirmpass = '';\n this.newPassword = '';\n\n try {\n this.submitting = false;\n const result = await resetPassword(this.endpoint, {email: this.email});\n console.log('[AUTH] Reset result', result);\n VerdocsToast('Please check your email inbox for a password reset code.', {style: 'success'});\n this.verificationCode = '';\n this.confirmpass = '';\n this.newPassword = '';\n this.displayMode = 'reset';\n } catch (e) {\n this.submitting = false;\n console.log('Reset request error', e);\n VerdocsToast('Request failed. Please check your email address and try again.');\n }\n }\n\n async handleResetPassword() {\n if (!this.isPasswordComplex(this.newPassword)) {\n VerdocsToast('Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.', {style: 'error'});\n return;\n }\n\n if (this.newPassword !== this.confirmpass) {\n VerdocsToast('Passwords do not match.', {style: 'error'});\n return;\n }\n\n this.submitting = true;\n try {\n this.submitting = false;\n const resetResult = await resetPassword(this.endpoint, {email: this.email, code: this.verificationCode, new_password: this.newPassword});\n console.log('reset result', resetResult);\n VerdocsToast('Your password has been reset. You may now use your new password to login.', {style: 'success'});\n this.verificationCode = '';\n this.confirmpass = '';\n this.newPassword = '';\n this.password = '';\n this.displayMode = 'login';\n } catch (e) {\n this.submitting = false;\n console.log('Verification error', e);\n VerdocsToast('Verification error, please check the code and try again.');\n }\n }\n\n async handleReset() {\n this.submitting = true;\n\n try {\n const result = await resetPassword(this.endpoint, {email: this.email});\n console.log('[AUTH] Reset sent', result);\n this.submitting = false;\n this.displayMode = 'login';\n VerdocsToast('If your email address is registered, you will receive instructions on resetting your password shortly.', {style: 'info'});\n } catch (e) {\n console.log('[AUTH] Unable to reset password', e);\n this.submitting = false;\n VerdocsToast('Unable to reset password. Please check your email address and try again.', {style: 'error'});\n }\n }\n\n renderProviderButtons() {\n if (!this.showSocialLogins || (!this.providers.google && !this.providers.microsoft)) {\n return null;\n }\n\n return (\n <div class=\"providers\">\n {this.providers.google && (\n <verdocs-button\n label=\"Continue with Google\"\n variant=\"outline\"\n class=\"provider-google\"\n startIcon={GoogleIcon}\n disabled={this.submitting}\n onClick={() => this.handleSocialLogin('google')}\n />\n )}\n {this.providers.microsoft && (\n <verdocs-button\n label=\"Continue with Microsoft\"\n variant=\"outline\"\n class=\"provider-microsoft\"\n startIcon={MicrosoftIcon}\n disabled={this.submitting}\n onClick={() => this.handleSocialLogin('microsoft')}\n />\n )}\n\n <div class=\"divider\">\n <div class=\"divider-line\" />\n or\n <div class=\"divider-line\" />\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Authenticated</div>;\n }\n\n if (this.session) {\n return (\n <verdocs-button\n label=\"Sign Out\"\n disabled={this.submitting}\n onClick={() => this.handleLogout()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n );\n }\n\n if (this.displayMode === 'mfa') {\n const enteredCode = this.useRecoveryCode ? this.recoveryCode : this.mfaCode;\n const codeComplete = this.useRecoveryCode ? this.recoveryCode.replace('-', '').length === 8 : this.mfaCode.length === 6;\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Two-factor authentication</h3>\n\n <p>\n {this.useRecoveryCode\n ? 'Enter one of the backup codes you saved when you turned on multi-factor authentication.'\n : 'Enter the six-digit code from your authenticator app.'}\n </p>\n\n <form\n onSubmit={(e: Event) => {\n e.preventDefault();\n this.handleVerifyMFA();\n }}\n >\n {this.useRecoveryCode ? (\n <verdocs-text-input\n class=\"mfa-input\"\n label=\"Backup code\"\n placeholder=\"xxxx-xxxx\"\n autocomplete=\"one-time-code\"\n value={this.recoveryCode}\n onInput={(e: any) => this.handleRecoveryCodeInput(e.target)}\n disabled={this.submitting}\n />\n ) : (\n <verdocs-text-input\n class=\"mfa-input\"\n label=\"Authentication code\"\n autocomplete=\"one-time-code\"\n value={this.mfaCode}\n onInput={(e: any) => this.handleMFACodeInput(e.target)}\n disabled={this.submitting}\n />\n )}\n\n {this.mfaError && (\n <div role=\"alert\" class=\"mfa-error\">\n {this.mfaError}\n </div>\n )}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => this.returnToLogin()} />\n <verdocs-button label=\"Verify\" disabled={this.submitting || !codeComplete || !enteredCode} onClick={() => this.handleVerifyMFA()} />\n </div>\n\n <div class=\"buttons\">\n <verdocs-button\n variant=\"text\"\n size=\"small\"\n label={this.useRecoveryCode ? 'Use your authenticator app instead' : 'Use a backup code instead'}\n disabled={this.submitting}\n onClick={() => this.toggleRecoveryCode()}\n />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'signup') {\n const invalid = this.submitting || !this.first_name || !this.last_name || !this.email || !this.password || !this.confirmpass || !this.org_name;\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Sign up for a free account</h3>\n <div class=\"already-have\">\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.submitting} />\n </div>\n\n {this.renderProviderButtons()}\n\n <form onSubmit={() => this.handleSignup()}>\n <div style={{display: 'flex', flexDirection: 'row', columnGap: '20px'}}>\n <verdocs-text-input\n label=\"First Name\"\n autocomplete=\"first\"\n required={true}\n value={this.first_name}\n onInput={(e: any) => (this.first_name = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Last Name\"\n autocomplete=\"last\"\n required={true}\n value={this.last_name}\n onInput={(e: any) => (this.last_name = e.target.value)}\n disabled={this.submitting}\n />\n </div>\n <verdocs-text-input\n label=\"Email Address\"\n autocomplete=\"email\"\n required={true}\n value={this.email}\n onInput={(e: any) => (this.email = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n required={true}\n autocomplete=\"new-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Confirm Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.confirmpass}\n onInput={(e: any) => (this.confirmpass = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Phone Number\"\n type=\"tel\"\n required={true}\n autocomplete=\"phone\"\n value={this.phone}\n onInput={(e: any) => (this.phone = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Organization Name\"\n autocomplete=\"org\"\n required={true}\n value={this.org_name}\n onInput={(e: any) => (this.org_name = e.target.value)}\n disabled={this.submitting}\n style={{flex: '1'}}\n />\n\n <div class=\"service-agreement\">\n By clicking the Create Account button, you agree to the{' '}\n <a href=\"https://verdocs.com/eula\" target=\"_blank\">\n End User License Agreement\n </a>\n . Learn about how we use and protect your data and how you can opt-out in our{' '}\n <a href=\"https://verdocs.com/privacy-policy\" target=\"_blank\">\n Privacy Policy\n </a>\n .\n </div>\n\n <div style={{marginTop: '30px'}} />\n\n <verdocs-button\n label=\"Next\"\n disabled={invalid}\n onClick={invalid ? () => {} : () => this.handleSignup()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'verify') {\n return (\n <div class=\"form\">\n <form onSubmit={() => this.handleVerification()}>\n <p>Please check your e-mail inbox for a verification code and enter it below.</p>\n\n <verdocs-text-input\n label=\"Verification Code\"\n required={true}\n value={this.verificationCode}\n onInput={(e: any) => (this.verificationCode = e.target.value)}\n disabled={this.submitting}\n />\n\n <div class=\"buttons\">\n <verdocs-button label=\"Sign Out\" variant=\"outline\" disabled={this.submitting} onClick={() => this.handleLogout()} />\n <verdocs-button label=\"Verify\" disabled={this.submitting || !this.verificationCode || this.verificationCode.length !== 6} onClick={() => this.handleVerification()} />\n </div>\n <div class=\"buttons\">\n <verdocs-button variant=\"text\" label=\"Resend Code\" disabled={this.resendDisabled || this.submitting} onClick={() => this.handleResendVerification()} />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'forgot') {\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Forgot your password?</h3>\n\n <p>\n Enter your e-mail address below. If the e-mail address is valid, a password reset code will be sent to your inbox. Please allow up to 15 minutes to arrive, and check\n your spam folder if you do not receive the message.\n </p>\n\n <form onSubmit={() => this.handleResetGetCode()}>\n <verdocs-text-input\n label=\"Email Address\"\n autocomplete=\"email\"\n required={true}\n value={this.email}\n onInput={(e: any) => (this.email = e.target.value)}\n disabled={this.submitting}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <div class=\"buttons\">\n <verdocs-button size=\"small\" label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => (this.displayMode = 'login')} />\n <verdocs-button size=\"small\" label=\"Request Code\" disabled={this.submitting} onClick={() => this.handleResetGetCode()} />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'reset') {\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Forgot your password?</h3>\n\n <p>\n Enter your e-mail address below, and reset instructions will be sent to your Inbox. Please allow up to 15 minutes to arrive. Check your spam folder if you do not\n receive the message.\n </p>\n\n <form onSubmit={() => this.handleResetPassword()}>\n <verdocs-text-input\n label=\"Verification Code\"\n required={true}\n value={this.verificationCode}\n onInput={(e: any) => (this.verificationCode = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.newPassword}\n onInput={(e: any) => (this.newPassword = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Confirm Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.confirmpass}\n onInput={(e: any) => (this.confirmpass = e.target.value)}\n disabled={this.submitting}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => (this.displayMode = 'login')} />\n <verdocs-button label=\"Reset\" disabled={this.submitting} onClick={() => this.handleResetPassword()} />\n </div>\n\n <div class=\"buttons\">\n <verdocs-button variant=\"text\" label=\"Resend Code\" disabled={this.resendDisabled || this.submitting} onClick={() => this.handleResendReset()} />\n </div>\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Log in to your account</h3>\n\n {this.renderProviderButtons()}\n\n <form onSubmit={() => this.loginAndCheckVerification()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.email} onInput={(e: any) => (this.email = e.target.value)} disabled={this.submitting} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.submitting}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'forgot')}\n disabled={this.submitting}\n style={{display: 'flex', justifyContent: 'center', margin: '0 auto 20px'}}\n />\n\n <verdocs-button\n label=\"Login\"\n disabled={this.submitting}\n onClick={() => this.loginAndCheckVerification()}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}}\n />\n\n <verdocs-button\n label=\"Sign Up\"\n variant=\"outline\"\n disabled={this.submitting}\n onClick={() => (this.displayMode = 'signup')}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}}\n />\n </form>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}