@verdocs/web-sdk 6.5.0-beta.2 → 6.5.0-beta.3

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 (177) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{utils-4rWXSNpE.js → utils-LPO6l9nR.js} +2 -3
  3. package/dist/{components/p-Btmt1DxH.js.map → cjs/utils-LPO6l9nR.js.map} +1 -1
  4. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +1 -1
  5. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +11 -10
  6. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-envelope-document-page_3.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +39 -2
  10. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-sign.cjs.entry.js +76 -17
  13. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  14. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  16. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +11 -10
  17. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -1
  18. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +1 -1
  19. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +77 -17
  20. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  21. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +38 -1
  22. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  23. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +39 -1
  24. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  25. package/dist/collection/utils/utils.js +0 -1
  26. package/dist/collection/utils/utils.js.map +1 -1
  27. package/dist/components/{p-kbW0me2Y.js → p-0lrmfxFN.js} +3 -3
  28. package/dist/components/{p-kbW0me2Y.js.map → p-0lrmfxFN.js.map} +1 -1
  29. package/dist/components/{p-Btmt1DxH.js → p-B3TbYvlU.js} +2 -3
  30. package/dist/components/p-B3TbYvlU.js.map +1 -0
  31. package/dist/components/{p-0p8NaKpS.js → p-B9DM7wD0.js} +23 -3
  32. package/dist/components/p-B9DM7wD0.js.map +1 -0
  33. package/dist/components/{p-C5xpynM2.js → p-BXwiCpEb.js} +3 -3
  34. package/dist/components/{p-C5xpynM2.js.map → p-BXwiCpEb.js.map} +1 -1
  35. package/dist/components/{p-QjwQw9ZJ.js → p-C7xRBNX9.js} +3 -3
  36. package/dist/components/{p-QjwQw9ZJ.js.map → p-C7xRBNX9.js.map} +1 -1
  37. package/dist/components/{p-DqqO4T0y.js → p-DCXdeiPc.js} +13 -12
  38. package/dist/components/p-DCXdeiPc.js.map +1 -0
  39. package/dist/components/{p-C1KzzI_w.js → p-DNGq3wZS.js} +3 -3
  40. package/dist/components/{p-C1KzzI_w.js.map → p-DNGq3wZS.js.map} +1 -1
  41. package/dist/components/{p-Z1wZ6-IT.js → p-DZv79sQs.js} +5 -5
  42. package/dist/components/{p-Z1wZ6-IT.js.map → p-DZv79sQs.js.map} +1 -1
  43. package/dist/components/{p-BToCx2ri.js → p-Dl45UNf-.js} +22 -3
  44. package/dist/components/p-Dl45UNf-.js.map +1 -0
  45. package/dist/components/{p-Dr4C7GlH.js → p-DzLB0MYu.js} +6 -6
  46. package/dist/components/{p-Dr4C7GlH.js.map → p-DzLB0MYu.js.map} +1 -1
  47. package/dist/components/{p-IcDkT207.js → p-INlr_V_p.js} +5 -5
  48. package/dist/components/{p-IcDkT207.js.map → p-INlr_V_p.js.map} +1 -1
  49. package/dist/components/{p-_CWDgKqX.js → p-rWeRsA_5.js} +3 -3
  50. package/dist/components/{p-_CWDgKqX.js.map → p-rWeRsA_5.js.map} +1 -1
  51. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  52. package/dist/components/verdocs-build.js +7 -7
  53. package/dist/components/verdocs-contact-picker.js +1 -1
  54. package/dist/components/verdocs-envelope-document-page.js +1 -1
  55. package/dist/components/verdocs-envelopes-list.js +2 -2
  56. package/dist/components/verdocs-field-initial.js +1 -1
  57. package/dist/components/verdocs-field-signature.js +1 -1
  58. package/dist/components/verdocs-preview.js +1 -1
  59. package/dist/components/verdocs-quick-filter.js +1 -1
  60. package/dist/components/verdocs-send.js +1 -1
  61. package/dist/components/verdocs-sign.js +82 -22
  62. package/dist/components/verdocs-sign.js.map +1 -1
  63. package/dist/components/verdocs-template-document-page.js +1 -1
  64. package/dist/components/verdocs-template-fields.js +1 -1
  65. package/dist/components/verdocs-templates-list.js +1 -1
  66. package/dist/components/verdocs-view.js +1 -1
  67. package/dist/custom-elements.json +2422 -0
  68. package/dist/esm/loader.js +1 -1
  69. package/dist/esm/{utils-NHDsmnv8.js → utils-UeubfAI_.js} +2 -3
  70. package/dist/{esm-es5/utils-NHDsmnv8.js.map → esm/utils-UeubfAI_.js.map} +1 -1
  71. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
  72. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +11 -10
  73. package/dist/esm/verdocs-contact-picker.entry.js +1 -1
  74. package/dist/esm/verdocs-envelope-document-page_3.entry.js +1 -1
  75. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  76. package/dist/esm/verdocs-field-attachment_13.entry.js +39 -2
  77. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  78. package/dist/esm/verdocs-preview_7.entry.js +1 -1
  79. package/dist/esm/verdocs-sign.entry.js +76 -17
  80. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  81. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  82. package/dist/esm/verdocs-web-sdk.js +1 -1
  83. package/dist/esm-es5/loader.js +1 -1
  84. package/dist/esm-es5/{utils-NHDsmnv8.js → utils-UeubfAI_.js} +2 -2
  85. package/dist/{esm/utils-NHDsmnv8.js.map → esm-es5/utils-UeubfAI_.js.map} +1 -1
  86. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
  87. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  88. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
  89. package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
  90. package/dist/esm-es5/verdocs-envelope-document-page_3.entry.js +1 -1
  91. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  92. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  93. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  94. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  95. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  96. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  97. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  98. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  99. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  100. package/dist/types/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.d.ts +1 -0
  101. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -2
  102. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +5 -0
  103. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +5 -0
  104. package/dist/types/components.d.ts +16 -0
  105. package/dist/verdocs-web-sdk/p-0029decb.entry.js +2 -0
  106. package/dist/verdocs-web-sdk/p-0029decb.entry.js.map +1 -0
  107. package/dist/verdocs-web-sdk/p-2439e530.entry.js +2 -0
  108. package/dist/verdocs-web-sdk/p-2439e530.entry.js.map +1 -0
  109. package/dist/verdocs-web-sdk/{p-7e580691.entry.js → p-2898f573.entry.js} +2 -2
  110. package/dist/verdocs-web-sdk/{p-94e4d921.system.entry.js → p-2ecec6ed.system.entry.js} +2 -2
  111. package/dist/verdocs-web-sdk/{p-2adc75a7.system.entry.js → p-415fa16f.system.entry.js} +2 -2
  112. package/dist/verdocs-web-sdk/{p-0c567c7d.entry.js → p-464ef358.entry.js} +2 -2
  113. package/dist/verdocs-web-sdk/{p-fe64576a.system.entry.js → p-46991fe7.system.entry.js} +2 -2
  114. package/dist/verdocs-web-sdk/{p-9a7a9d7b.system.entry.js → p-4a19fbe3.system.entry.js} +2 -2
  115. package/dist/verdocs-web-sdk/{p-0b57c1ef.system.entry.js → p-605b48fa.system.entry.js} +2 -2
  116. package/dist/verdocs-web-sdk/p-64d8ea72.entry.js +2 -0
  117. package/dist/verdocs-web-sdk/p-64d8ea72.entry.js.map +1 -0
  118. package/dist/verdocs-web-sdk/p-64e896e9.system.entry.js +2 -0
  119. package/dist/verdocs-web-sdk/p-64e896e9.system.entry.js.map +1 -0
  120. package/dist/verdocs-web-sdk/{p-0709e936.system.entry.js → p-78e8e398.system.entry.js} +3 -3
  121. package/dist/verdocs-web-sdk/p-99ba5e3b.system.entry.js +2 -0
  122. package/dist/verdocs-web-sdk/p-99ba5e3b.system.entry.js.map +1 -0
  123. package/dist/verdocs-web-sdk/{p-303ed47f.entry.js → p-9cdc0980.entry.js} +3 -3
  124. package/dist/verdocs-web-sdk/{p-BRVQ3Epx.system.js.map → p-B0XOGp0Z.system.js.map} +1 -1
  125. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  126. package/dist/verdocs-web-sdk/{p-BU5y2rcs.system.js → p-BAU98X36.system.js} +2 -2
  127. package/dist/verdocs-web-sdk/{p-BU5y2rcs.system.js.map → p-BAU98X36.system.js.map} +1 -1
  128. package/dist/verdocs-web-sdk/p-BgTW-H9_.system.js.map +1 -0
  129. package/dist/verdocs-web-sdk/p-CAlOUHPb.system.js.map +1 -0
  130. package/dist/verdocs-web-sdk/{p-nK4J4UFK.js → p-CmnR51jO.js} +2 -2
  131. package/dist/verdocs-web-sdk/{p-nK4J4UFK.js.map → p-CmnR51jO.js.map} +1 -1
  132. package/dist/verdocs-web-sdk/{p-CogJ52UV.system.js.map → p-D-LZAEE-.system.js.map} +1 -1
  133. package/dist/verdocs-web-sdk/p-Dj3cajbH.system.js.map +1 -0
  134. package/dist/verdocs-web-sdk/{p-B_fwtKg3.system.js.map → p-O_JBau3u.system.js.map} +1 -1
  135. package/dist/verdocs-web-sdk/{p-B8lqLcUJ.system.js.map → p-XPySISfx.system.js.map} +1 -1
  136. package/dist/verdocs-web-sdk/{p-831ff4eb.entry.js → p-ab8ba727.entry.js} +2 -2
  137. package/dist/verdocs-web-sdk/{p-d06e0bce.entry.js → p-ae75565d.entry.js} +2 -2
  138. package/dist/verdocs-web-sdk/{p-acc245e6.entry.js → p-d5fc15ee.entry.js} +3 -3
  139. package/dist/verdocs-web-sdk/p-db5c9ec4.system.entry.js +2 -0
  140. package/dist/verdocs-web-sdk/p-db5c9ec4.system.entry.js.map +1 -0
  141. package/dist/verdocs-web-sdk/{p-CyjSP4tG.system.js.map → p-k2jmkyZp.system.js.map} +1 -1
  142. package/dist/verdocs-web-sdk/{p-C9hmmFhm.system.js.map → p-xFl_XV91.system.js.map} +1 -1
  143. package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +1 -1
  144. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  145. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  146. package/package.json +2 -2
  147. package/dist/cjs/utils-4rWXSNpE.js.map +0 -1
  148. package/dist/components/p-0p8NaKpS.js.map +0 -1
  149. package/dist/components/p-BToCx2ri.js.map +0 -1
  150. package/dist/components/p-DqqO4T0y.js.map +0 -1
  151. package/dist/verdocs-web-sdk/p-0dfacde9.system.entry.js +0 -2
  152. package/dist/verdocs-web-sdk/p-0dfacde9.system.entry.js.map +0 -1
  153. package/dist/verdocs-web-sdk/p-3c45dd79.entry.js +0 -2
  154. package/dist/verdocs-web-sdk/p-3c45dd79.entry.js.map +0 -1
  155. package/dist/verdocs-web-sdk/p-8ad09d97.system.entry.js +0 -2
  156. package/dist/verdocs-web-sdk/p-8ad09d97.system.entry.js.map +0 -1
  157. package/dist/verdocs-web-sdk/p-BcrrIlhF.system.js.map +0 -1
  158. package/dist/verdocs-web-sdk/p-DZW111-z.system.js.map +0 -1
  159. package/dist/verdocs-web-sdk/p-c676d027.entry.js +0 -2
  160. package/dist/verdocs-web-sdk/p-c676d027.entry.js.map +0 -1
  161. package/dist/verdocs-web-sdk/p-dc1eaf38.entry.js +0 -2
  162. package/dist/verdocs-web-sdk/p-dc1eaf38.entry.js.map +0 -1
  163. package/dist/verdocs-web-sdk/p-fef8b6b5.system.entry.js +0 -2
  164. package/dist/verdocs-web-sdk/p-fef8b6b5.system.entry.js.map +0 -1
  165. package/dist/verdocs-web-sdk/p-gCoMHihf.system.js.map +0 -1
  166. /package/dist/verdocs-web-sdk/{p-7e580691.entry.js.map → p-2898f573.entry.js.map} +0 -0
  167. /package/dist/verdocs-web-sdk/{p-94e4d921.system.entry.js.map → p-2ecec6ed.system.entry.js.map} +0 -0
  168. /package/dist/verdocs-web-sdk/{p-2adc75a7.system.entry.js.map → p-415fa16f.system.entry.js.map} +0 -0
  169. /package/dist/verdocs-web-sdk/{p-0c567c7d.entry.js.map → p-464ef358.entry.js.map} +0 -0
  170. /package/dist/verdocs-web-sdk/{p-fe64576a.system.entry.js.map → p-46991fe7.system.entry.js.map} +0 -0
  171. /package/dist/verdocs-web-sdk/{p-9a7a9d7b.system.entry.js.map → p-4a19fbe3.system.entry.js.map} +0 -0
  172. /package/dist/verdocs-web-sdk/{p-0b57c1ef.system.entry.js.map → p-605b48fa.system.entry.js.map} +0 -0
  173. /package/dist/verdocs-web-sdk/{p-0709e936.system.entry.js.map → p-78e8e398.system.entry.js.map} +0 -0
  174. /package/dist/verdocs-web-sdk/{p-303ed47f.entry.js.map → p-9cdc0980.entry.js.map} +0 -0
  175. /package/dist/verdocs-web-sdk/{p-831ff4eb.entry.js.map → p-ab8ba727.entry.js.map} +0 -0
  176. /package/dist/verdocs-web-sdk/{p-d06e0bce.entry.js.map → p-ae75565d.entry.js.map} +0 -0
  177. /package/dist/verdocs-web-sdk/{p-acc245e6.entry.js.map → p-d5fc15ee.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-CAlOUHPb.system.js","sources":["src/components/embeds/verdocs-sign/verdocs-sign.scss?tag=verdocs-sign","src/components/embeds/verdocs-sign/verdocs-sign.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-sign {\n display: flex;\n overflow: hidden;\n min-height: 700px;\n position: relative;\n flex-direction: column;\n box-sizing: border-box;\n background-color: #f5f5f5;\n font-family: $verdocs-primary-font;\n\n verdocs-button > button.standard {\n background: #2a63f6;\n }\n\n div {\n display: block;\n box-sizing: border-box;\n }\n\n input {\n vertical-align: top;\n }\n\n > .document {\n flex: 1;\n width: 100%;\n height: 100%;\n align-self: center;\n display: flex;\n padding: 15px;\n // We add extra padding here so the flags (which are absolutely positioned \"outside\" the page)\n // are still visible within the scrollable area.\n padding-right: 140px;\n row-gap: 15px;\n max-width: 1200px;\n min-height: 200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n //justify-content: center;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .cover {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 5000;\n position: absolute;\n padding-top: 100px;\n align-items: center;\n flex-direction: column;\n background: rgba(0, 0, 0, 0.5);\n }\n\n verdocs-ok-dialog .background-overlay {\n align-items: flex-start;\n padding-top: 100px;\n }\n\n .loading-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n background-color: rgba(0, 0, 0, 0.7);\n }\n\n .fatal-error {\n position: absolute;\n z-index: 100;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #4a4a4a;\n display: flex;\n align-items: center;\n justify-content: center;\n\n .placeholder {\n position: absolute;\n opacity: 0.1;\n z-index: -1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n margin-top: 15px;\n }\n\n .message {\n max-width: 360px;\n width: 50%;\n font-size: 16px;\n background: white;\n box-shadow: 3px 3px 9px -1px #0000003f;\n }\n\n .header {\n color: white;\n font-size: 18px;\n font-weight: 500;\n padding: 5px 10px;\n margin: 0 0 10px 0;\n background: $verdocs-purple-shade;\n }\n\n p {\n margin: 1rem;\n font-size: 14px;\n font-weight: 400;\n padding: 0 10px;\n }\n }\n}\n\n@media print {\n verdocs-sign .header {\n display: none;\n }\n}\n\n#verdocs-sign-header {\n color: #fff;\n width: 100%;\n display: flex;\n z-index: 1000;\n flex: 0 0 46px;\n font-size: 12px;\n column-gap: 15px;\n align-items: center;\n flex-direction: row;\n transition: all 0.25s;\n background-color: $medium-bg;\n box-shadow:\n 0 4px 4px 0 rgb(0 0 0 / 24%),\n 0 0 4px 0 rgb(0 0 0 / 12%);\n\n .inner {\n width: 100%;\n display: flex;\n margin: 0 auto;\n padding: 0 12px;\n max-width: 1200px;\n align-items: center;\n flex-direction: row;\n }\n\n .logo {\n width: 80px;\n display: none;\n margin: -6px 0 0 0;\n }\n\n .title {\n font-size: 18px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n padding: 0 10px 0 0;\n text-overflow: ellipsis;\n }\n}\n\n.spinner-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n}\n","import {Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {askQuestion, DEFAULT_DISCLOSURES, integerSequence, isFieldFilled, isFieldValid} from '@verdocs/js-sdk';\nimport {uploadEnvelopeFieldAttachment, VerdocsEndpoint, TRecipientAuthMethod} from '@verdocs/js-sdk';\nimport {verifySigner, IEnvelope, IEnvelopeField, IRecipient, TAuthenticateRecipientRequest} from '@verdocs/js-sdk';\nimport {fullNameToInitials, startSigningSession, deleteEnvelopeFieldAttachment, formatFullName} from '@verdocs/js-sdk';\nimport {updateEnvelopeField, sortFields, IKBAQuestion, ISignerTokenResponse, delegateRecipient} from '@verdocs/js-sdk';\nimport {createInitials, createSignature, envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit} from '@verdocs/js-sdk';\nimport {getFieldId, renderDocumentField, renderDocumentFlag, saveAttachment, updateDocumentFieldValue, defaultHeight} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display an envelope signing experience. This will display the envelope's attached\n * documents with signing fields overlaid on each page.\n *\n * The component will attempt to initiate a signing session and load the specified\n * envelope. If successful, the recipient's fields will be enabled and the user will\n * be able to sign the envelope's attached documents. If not, an `sdkError` will be\n * thrown and the component will be blank/empty. To provide the best user experience,\n * applications should capture and handle this error to provide the user with\n * instructions/options for next steps based on the application's design and workflow.\n *\n * Unlike other components, this will always create its own endpoint to manage the\n * session session. This endpoint will be included in event callbacks for the\n * convenience of host applications that may wish to make server calls using the\n * signer's credentials once signing is complete (e.g. to obtain copies of\n * the signed attachments.)\n *\n * ```ts\n * <verdocs-sign\n * envelopeId={ENVELOPE_ID}\n * roleId={ROLE_ID}\n * inviteCode={INVITE_CODE}\n * onEnvelopeUpdated={({ detail }) => console.log('Envelope updated state:', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-sign',\n styleUrl: 'verdocs-sign.scss',\n shadow: false,\n})\nexport class VerdocsSign {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop({mutable: true}) endpoint: VerdocsEndpoint = new VerdocsEndpoint({sessionType: 'signing'});\n\n /**\n * The ID of the envelope to sign.\n */\n @Prop({reflect: true}) envelopeId: string | null = null;\n\n /**\n * The ID of the role that will be signing e.g. 'Recipient 1'\n */\n @Prop({reflect: true}) roleId: string | null = null;\n\n /**\n * The invite code for the signer.\n */\n @Prop({reflect: true}) inviteCode: string | null = null;\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the header will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects (e.g. \"fixed\").\n *\n * The movement of the header to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the header's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() headerTargetId: string | null = null;\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 /**\n * Event fired when the envelope is loaded for the first time.\n */\n @Event({composed: true}) envelopeLoaded: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope}>;\n\n /**\n * Event fired when the envelope is updated in any way.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n // @State() roleNames: string[] = [];\n // @State() sortedRecipients: IRecipient[] = [];\n @State() recipient: IRecipient | null = null;\n @State() hasSignature = false;\n @State() nextButtonLabel = 'Start';\n @State() nextSubmits = false;\n @State() fatalErrorHeader = '';\n @State() fatalErrorMessage = '';\n @State() focusedField = '';\n @State() disclosures = DEFAULT_DISCLOSURES;\n @State() submitting = false;\n @State() submitted = false;\n @State() isDone = false;\n @State() showDone = false;\n @State() adoptingSignature = false;\n @State() showLoadError = false;\n @State() finishLater = false;\n @State() showFinishLater = false;\n @State() agreed = false;\n @State() signatureId: string | null = null;\n @State() initialId: string | null = null;\n @State() documentsSingularPlural = 'document';\n @State() authStep: string | null = null;\n @State() authMethodStates: Partial<Record<TRecipientAuthMethod, string>> = {};\n @State() kbaQuestions: IKBAQuestion[] | null = null;\n @State() showSpinner = false;\n @State() declining = false;\n @State() delegating = false;\n @State() delegated = false;\n @State() kbaChoices = [];\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n\n private renderedPages: Record<number, IDocumentPageInfo> = {};\n\n async componentDidLoad() {\n if (!this.envelopeId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required envelopId', 500, ''));\n return;\n }\n\n if (!this.roleId) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required roleId', 500, ''));\n return;\n }\n\n if (!this.inviteCode) {\n this.sdkError?.emit(new SDKError('[SIGN] Missing required inviteCode', 500, ''));\n return;\n }\n\n try {\n console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);\n\n // NOTE: We don't listen to the store here because we are often an independent\n // session and might have a different \"view\" of the envelope.\n const response = await startSigningSession(this.endpoint, this.envelopeId, this.roleId, this.inviteCode);\n this.processAuthResponse(response);\n } catch (e) {\n console.log('[SIGN] Error with signing session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n this.showLoadError = true;\n }\n }\n\n componentDidRender() {\n const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;\n const headerEl = document.getElementById('verdocs-sign-header');\n if (headerTarget && headerEl) {\n console.log('[SIGN] Moving header');\n headerEl.remove();\n headerTarget.append(headerEl);\n }\n }\n\n processAuthResponse(response: ISignerTokenResponse) {\n const {envelope, recipient} = response;\n const {auth_step} = recipient;\n this.recipient = recipient;\n this.envelope = envelope;\n this.disclosures = this.envelope?.organization?.disclaimer || DEFAULT_DISCLOSURES;\n this.authStep = auth_step;\n this.delegated = !!recipient.delegated_to;\n this.agreed = recipient.agreed;\n this.signatureId = response.signatures?.[0]?.id || null;\n this.initialId = response.initials?.[0]?.id || null;\n this.submitted = recipient.status === 'submitted';\n this.loading = false;\n this.isDone = this.submitted;\n this.showDone = this.submitted;\n Store.updateEnvelope(this.envelopeId, envelope);\n\n if (this.envelope.documents.length > 0) {\n this.documentsSingularPlural = 'document(s)';\n }\n\n this.authMethodStates = recipient.auth_method_states || ({} as Record<TRecipientAuthMethod, string>);\n this.kbaQuestions = recipient.kba_questions;\n if (Object.values(this.authMethodStates).includes('failed')) {\n this.fatalErrorHeader = 'Recipient Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n }\n\n // TODO: Envelope \"complete\" | \"declined\" | \"canceled\"\n // TODO: Recipient \"canceled\"\n\n if (this.envelope.status === 'canceled') {\n this.fatalErrorHeader = 'Unable to Start Signing Session';\n this.fatalErrorMessage = 'This envelope has been canceled. The sender has been notified.';\n } else if (recipient.status === 'declined') {\n this.fatalErrorHeader = 'Declined';\n this.fatalErrorMessage = 'You have declined to sign this request. The sender has been notified.';\n } else if (this.agreed) {\n this.nextButtonLabel = 'Next';\n }\n\n this.checkRecipientFields();\n this.envelopeLoaded?.emit({endpoint: this.endpoint, envelope: this.envelope});\n }\n\n handleClickAgree() {\n this.submitting = true;\n console.log('[SIGN] Accepting disclosures', this.disclosures);\n envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, this.disclosures)\n .then(() => {\n this.nextButtonLabel = 'Next';\n this.recipient.agreed = true;\n this.submitting = false;\n this.agreed = true; // The server returns a recipient object but it's not \"deep\" so we track this locally\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'agreed'});\n })\n .catch(e => {\n console.log('[SIGN] Unable to accept disclosures', e);\n VerdocsToast('Unable to accept disclosures, please try again later', {style: 'error'});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n this.submitting = false;\n });\n }\n\n async handleOptionSelected(e: any) {\n switch (e.detail.id) {\n case 'later':\n this.finishLater = true;\n this.showFinishLater = true;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'later'});\n break;\n\n case 'delegate':\n this.delegating = true;\n break;\n\n case 'decline':\n this.declining = true;\n break;\n\n case 'print':\n window.print();\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'printed'});\n break;\n\n case 'download':\n {\n const firstDoc = this.envelope.documents.find(doc => doc.type === 'attachment');\n if (firstDoc) {\n saveAttachment(this.endpoint, this.envelope, firstDoc.id).catch(e => {\n VerdocsToast('Unable to download PDF, please try again later', {style: 'error'});\n console.log('[SIGN] Error downloading PDF', e);\n });\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded'});\n }\n }\n break;\n }\n }\n\n updateRecipientFieldValue(fieldName: string, updateResult: any) {\n console.log('[SIGN] updateRecipientFieldValue', fieldName, updateResult);\n this.getRecipientFields().forEach(oldField => {\n if (oldField.name === fieldName) {\n oldField.value = updateResult.value;\n // TODO: Keeping this while attachments still rely on it\n oldField.settings = updateResult.settings;\n updateDocumentFieldValue(oldField);\n this.checkRecipientFields();\n }\n });\n }\n\n saveFieldChange(fieldName: string, value: string, prepared: boolean) {\n // Although the inputs disable themselves, the blur handler can still try to re-save\n // the value already in the field. Bypassing that here is easier than adding yet more\n // logic to the fields.\n const field = this.getRecipientFields().find(field => field.name === fieldName);\n if (field?.readonly) {\n return;\n }\n\n console.log('[SIGN] saveFieldChange', fieldName, {value, prepared});\n updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, fieldName, value, prepared)\n .then(updateResult => this.updateRecipientFieldValue(fieldName, updateResult))\n .catch(e => {\n if (e.response?.status === 401 && e.response?.data?.error === 'jwt expired') {\n console.log('[SIGN] Signing session expired');\n this.fatalErrorHeader = 'Signing Session Expired';\n this.fatalErrorMessage = 'Please reload your browser to continue.';\n } else {\n console.log('[SIGN] Server error', e);\n VerdocsToast('Unable to save change, please try again later', {style: 'error'});\n }\n\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n }\n\n async handleFieldChange(field: IEnvelopeField, e: any) {\n const {value, checked} = e.target;\n\n switch (field.type as any) {\n // TODO: Remove legacy type when no longer needed\n case 'textarea':\n case 'textbox':\n return this.saveFieldChange(field.name, value, false);\n\n case 'checkbox': {\n return this.saveFieldChange(field.name, String(e.target.checked), false);\n }\n\n case 'radio': {\n return this.saveFieldChange(field.name, String(e.target.checked), false);\n }\n\n case 'dropdown':\n // TODO: Set prepared to false server-side.\n console.log('Saving dropdown', field.name, e.detail);\n return this.saveFieldChange(field.name, e.detail, false);\n\n case 'initial':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n // NOTE: We now allow null to clear the field\n if (e.detail === undefined) {\n return;\n }\n\n if (e.detail === null) {\n console.log('[SIGN] Clearing initial');\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);\n return this.updateRecipientFieldValue(field.name, updateResult);\n }\n\n // If we already have an initials block, apply it\n if (this.initialId) {\n console.log('[SIGN] Reusing initial', this.initialId);\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, this.initialId, false);\n return this.updateRecipientFieldValue(field.name, updateResult);\n }\n\n // If it's a UUID, it's an existing initial ID we can just reuse\n if (typeof e.detail === 'string' && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e.detail)) {\n console.log('[SIGN] Reusing initial', e.detail);\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, e.detail, false);\n this.initialId = e.detail;\n return this.updateRecipientFieldValue(field.name, updateResult);\n }\n\n this.showSpinner = true;\n const initialsBlob = await (await fetch(e.detail)).blob();\n return createInitials(this.endpoint, 'initial', initialsBlob) //\n .then(async newInitials => {\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, newInitials.id, false);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.initialId = newInitials.id;\n this.showSpinner = false;\n })\n .catch(e => {\n console.log('Error updating initials', e);\n VerdocsToast('Unable to save initials, please try again later', {style: 'error'});\n this.showSpinner = false;\n });\n\n case 'signature':\n // This can be caused by a focus-out event if the user clicks the field\n // after it's already filled in, then clicks something else like a textbox.\n // We don't visually indicate the focus, but it's still there.\n // NOTE: We now allow null to clear the field\n if (e.detail === undefined) {\n return;\n }\n\n if (e.detail === null) {\n console.log('[SIGN] Clearing signature');\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);\n return this.updateRecipientFieldValue(field.name, updateResult);\n }\n\n // If we already have a signature block, apply it\n if (this.signatureId) {\n console.log('[SIGN] Reusing signature', this.signatureId);\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, this.signatureId, false);\n return this.updateRecipientFieldValue(field.name, updateResult);\n }\n\n // If it's a UUID, it's an existing signature ID we can just reuse\n if (typeof e.detail === 'string' && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e.detail)) {\n console.log('[SIGN] Reusing signature', e.detail);\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, e.detail, false);\n this.signatureId = e.detail;\n return this.updateRecipientFieldValue(field.name, updateResult);\n }\n\n this.showSpinner = true;\n const signatureBlob = await (await fetch(e.detail)).blob();\n console.log('[SIGN] Creating new signature');\n return createSignature(this.endpoint, 'signature', signatureBlob) //\n .then(async newSignature => {\n console.log('Signature update result', newSignature);\n const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, newSignature.id, false);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.signatureId = newSignature.id;\n this.showSpinner = false;\n })\n .catch(e => {\n console.warn('[SIGN] Error updating signature', e);\n VerdocsToast('Unable to save signature, please try again later', {style: 'error'});\n this.showSpinner = false;\n });\n\n case 'date':\n const {formattedDate} = e.detail;\n if (formattedDate) {\n return this.saveFieldChange(field.name, formattedDate, false);\n }\n break;\n\n case 'timestamp':\n console.log('[SIGN] Updating timestamp', {value, ts: e.target.getAttribute('timestamp')});\n break;\n\n default:\n console.log('[SIGN] Unhandled field update', {value, checked}, field);\n break;\n }\n }\n\n getSortedFillableFields() {\n const recipientFields = this.getRecipientFields().filter(field => field.type !== 'timestamp');\n sortFields(recipientFields);\n return recipientFields;\n }\n\n async handleNext() {\n if (this.nextSubmits) {\n try {\n // Patches the date picker to be forcibly removed if still showing during submission\n document.getElementById('air-datepicker-global-container')?.remove();\n\n this.submitting = true;\n const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);\n console.log('[SIGN] Submitted successfully', result);\n // TODO: The \"proper\" way is generating an error from Stencil\n // NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before which\n // the new node is to be inserted is not a child of this node.\n window.location.reload();\n // this.recipient.status = 'submitted';\n // this.showDone = true;\n // console.log('[SIGN] Reloading envelope');\n // getEnvelope(this.endpoint, this.envelopeId)\n // .then(envelope => {\n // this.envelope = envelope;\n // // The show-done dialog does this\n // // this.isDone = true;\n // this.submitting = false;\n // })\n // .catch(e => {\n // // this.isDone = true;\n // console.log('[SIGN] Error reloading envelope', e);\n // VerdocsToast('Unable to save changes, please try again later', {style: 'error'});\n // this.submitting = false;\n // });\n } catch (e) {\n console.log('[SIGN] Error submitting', e);\n }\n\n return;\n }\n\n // Find and focus the next incomplete field (that is fillable)\n const emptyFields = this.getSortedFillableFields().filter(field => field.required && !isFieldFilled(field, this.getRecipientFields()));\n sortFields(emptyFields);\n\n const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n\n let nextRequiredField = emptyFields[nextFocusedIndex];\n // console.log('Next field', nextRequiredField, emptyFields);\n\n // Skip signature and initial fields that are already filled in. We have to count our \"skips\" just in case, to avoid infinite loops.\n let skips = 0;\n if (skips < emptyFields.length && ['signature', 'initial'].includes(nextRequiredField.type) && ['initialed', 'signed'].includes(nextRequiredField.value)) {\n skips++;\n nextFocusedIndex++;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n nextRequiredField = emptyFields[nextFocusedIndex];\n }\n\n if (skips >= emptyFields.length) {\n nextRequiredField = null;\n }\n\n if (nextRequiredField) {\n const id = getFieldId(nextRequiredField);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth'});\n el?.focusField();\n this.focusedField = nextRequiredField.name;\n }\n }\n\n getRecipientFields() {\n return this.envelope?.fields.filter(field => field.role_name === this.recipient.role_name) || [];\n }\n\n // See if everything that \"needs to be\" filled in is, and all \"fillable fields\" are valid\n checkRecipientFields() {\n const invalidFields = this.getRecipientFields().filter(field => !isFieldValid(field, this.getRecipientFields()));\n if (invalidFields.length < 1) {\n this.nextButtonLabel = 'Finish';\n if (!this.nextSubmits) {\n this.nextSubmits = true;\n }\n } else {\n this.nextButtonLabel = 'Next';\n this.nextSubmits = false;\n }\n this.updateAllFlags();\n }\n\n getNextRequiredField() {\n const emptyFields = this.getSortedFillableFields().filter(field => field.required && !isFieldFilled(field, this.getRecipientFields()));\n sortFields(emptyFields);\n\n const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= emptyFields.length) {\n nextFocusedIndex = 0;\n }\n\n return {index: nextFocusedIndex, field: emptyFields[nextFocusedIndex]};\n }\n\n handlePrev() {\n const allFields = this.getSortedFillableFields();\n const focusedIndex = allFields.findIndex(f => f.name === this.focusedField);\n if (focusedIndex > 0) {\n const prevField = allFields[focusedIndex - 1];\n const id = getFieldId(prevField);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth', block: 'center'});\n el?.focusField?.();\n this.focusedField = prevField.name;\n }\n }\n\n updateAllFlags() {\n Object.keys(this.renderedPages).forEach(pageNumber => {\n this.updateFlagsForPage(Number(pageNumber));\n });\n }\n\n updateFlagsForPage(pageNumber: number) {\n const pageInfo = this.renderedPages[pageNumber];\n if (!pageInfo) return;\n\n const controlsDiv = document.getElementById(pageInfo.containerId + '-controls');\n if (!controlsDiv) return;\n\n // Remove existing flags\n const existingFlags = controlsDiv.querySelectorAll('.verdocs-flag-instance');\n existingFlags.forEach(el => el.remove());\n\n // Get fields for this page\n const myFields = this.getRecipientFields().filter(f => f.document_id === pageInfo.documentId && f.page === pageNumber);\n // Sort priority:\n // 1. Vertical: Top to Bottom (Descending Y)\n // 2. Horizontal: Left to Right (Ascending X) - for stability\n myFields.sort((a, b) => {\n if (Math.abs(b.y - a.y) > 1) {\n return b.y - a.y;\n }\n return a.x - b.x;\n });\n\n // console.log('[SIGN] Sorted fields for page', pageNumber, myFields.map(f => `${f.name}:${f.y}`));\n\n const flagGroups: IEnvelopeField[][] = [];\n const FLAG_HEIGHT = 24;\n\n myFields.forEach(field => {\n if (flagGroups.length === 0) {\n flagGroups.push([field]);\n return;\n }\n\n const lastGroup = flagGroups[flagGroups.length - 1];\n const lastField = lastGroup[lastGroup.length - 1];\n\n // Compute rendered centers (pixels)\n // Note: We need rescale logic here. Since we don't have the import, we'll replicate the simple math: val * scale\n // assuming standard coordinate scaling.\n const getCenterY = (f: IEnvelopeField) => f.y * pageInfo.yScale + ((f.height || defaultHeight(f.type)) * pageInfo.yScale) / 2;\n\n const lastCenter = getCenterY(lastField);\n const currCenter = getCenterY(field);\n const dist = Math.abs(lastCenter - currCenter);\n\n // console.log(`[SIGN] Check overlap ${lastField.name} vs ${field.name}: dist=${dist} vs ${FLAG_HEIGHT}`, {lastCenter, currCenter});\n\n // If centers are closer than Flag Height, they overlap visually.\n if (dist < FLAG_HEIGHT) {\n lastGroup.push(field);\n } else {\n flagGroups.push([field]);\n }\n });\n\n // console.log('[SIGN] Flag groups', flagGroups.map(g => g.map(f => f.name).join(',')));\n\n flagGroups.forEach(group => {\n // Priority: First Unfilled Required > First Unfilled Optional > First Next\n let winner = group.find(f => f.required && !isFieldFilled(f, this.getRecipientFields()));\n if (!winner) {\n winner = group.find(f => !f.required && !isFieldFilled(f, this.getRecipientFields()));\n }\n if (!winner) {\n // Fallback to first (Top-most) if all filled\n winner = group[0];\n }\n\n if (winner) {\n const isFilled = isFieldFilled(winner, this.getRecipientFields());\n\n let variant: 'fill' | 'next' = 'fill';\n let label = 'FILL';\n let showSkip = false;\n\n if (isFilled) {\n variant = 'next';\n label = 'NEXT';\n } else {\n if (!winner.required) {\n showSkip = true;\n }\n }\n\n renderDocumentFlag(pageInfo, winner.y, winner.height || defaultHeight(winner.type), {\n variant,\n label,\n showSkip,\n onSkip: () => {\n this.handleNext();\n },\n onClick: () => {\n const id = getFieldId(winner);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth', block: 'center'});\n el?.focusField?.();\n },\n });\n }\n });\n }\n\n attachFieldAttributes(pageInfo, field, el) {\n // We can get called multiple times as rendering completes and it's hard to avoid that\n // because it's a ton of work for the callers to know it's been done already. But we\n // don't want to attach multiple event listeners or we get dupe event handling, like\n // calling the server twice on every field update. Since JS has no removeAllEventListeners()\n // option, using removeEventListener() isn't reliable the way Stencil binds local function\n // contexts, and cloneNode messes up the rest of the rendering, we just track it with a flag.\n if (el.getAttribute('attached') === '1') {\n return;\n }\n el.setAttribute('attached', '1');\n\n el.addEventListener('input', (e: any) => {\n // console.log('[SIGN] onfieldInput', e.detail, e.target.value);\n // These field types don't emit fieldChange. Should we standardize on that? We don't tap \"input\" for fields like\n // text boxes because we'd be updating the field on every keystroke. We do those on blur which fires fieldChange.\n if (e.target.type === 'radio' || e.target.type === 'checkbox') {\n // if (e.target.type === 'radio' || e.target.name.includes('date') || e.target.name.includes('checkbox')) {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n } else {\n this.checkRecipientFields();\n }\n });\n el.addEventListener('attached', async (e: any) => {\n console.log('[SIGN] onAttached', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await uploadEnvelopeFieldAttachment(this.endpoint, this.envelopeId, this.roleId, field.name, e.detail);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('deleted', async (e: any) => {\n console.log('[SIGN] onDeleted', e.detail, e.target.value);\n this.showSpinner = true;\n try {\n const updateResult = await deleteEnvelopeFieldAttachment(this.endpoint, this.envelopeId, this.roleId, field.name);\n console.log('[SIGN] Deleted attachment', updateResult);\n this.updateRecipientFieldValue(field.name, updateResult);\n this.checkRecipientFields();\n\n const newEl = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone});\n this.attachFieldAttributes(pageInfo, field, newEl);\n\n this.showSpinner = false;\n } catch (e) {\n console.log('Error uploading attachment', e);\n VerdocsToast('Unable to upload attachment, please try again later', {style: 'error'});\n this.showSpinner = false;\n }\n });\n el.addEventListener('focusout', e => {\n // These field types trigger focusout as they're used, even without a value change\n if (field.type !== 'dropdown' && field.type !== 'attachment') {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n }\n });\n el.addEventListener('fieldChange', e => {\n this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());\n });\n\n el.setAttribute('templateid', this.envelope.template_id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('page', pageInfo.pageNumber);\n el.setAttribute('xScale', pageInfo.xScale);\n el.setAttribute('yScale', pageInfo.yScale);\n\n const fullName = formatFullName(this.recipient);\n el.setAttribute('initials', fullNameToInitials(fullName));\n el.setAttribute('name', fullName);\n if (this.signatureId) {\n el.setAttribute('signatureid', this.signatureId);\n }\n if (this.initialId) {\n el.setAttribute('initialid', this.initialId);\n }\n }\n\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n this.renderedPages[pageInfo.pageNumber] = pageInfo;\n\n console.log('Page rendered', pageInfo);\n\n // NOTE: We don't filter on pageNumber here because we need the position in the\n // entire list to set the tabIndex.\n const recipientFields = this.getSortedFillableFields();\n console.log('[SIGN] Rendering fields for page', pageInfo.pageNumber, recipientFields);\n\n // First render the fields for the signer\n recipientFields\n .filter(field => field && field.document_id === pageInfo.documentId && field.page === pageInfo.pageNumber)\n .forEach((field, tabIndex) => {\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: false, editable: false, draggable: false, done: this.isDone}, tabIndex);\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n\n // Now render the fields for other signers who have yet to act\n this.envelope.recipients\n .filter(r => r.role_name !== this.recipient.role_name && (r.status === 'invited' || r.status === 'opened' || r.status === 'pending'))\n .forEach(() => {\n this.getRecipientFields()\n .filter(field => field.document_id === pageInfo.documentId && field.page === pageInfo.pageNumber)\n .forEach(field => {\n const el = renderDocumentField('envelope', field, pageInfo, {disabled: true, editable: false, draggable: false, done: this.isDone});\n if (!el) {\n return;\n }\n\n if (Array.isArray(el)) {\n el.map(e => this.attachFieldAttributes(pageInfo, field, e));\n } else {\n this.attachFieldAttributes(pageInfo, field, el);\n }\n });\n });\n\n this.checkRecipientFields();\n this.updateFlagsForPage(pageInfo.pageNumber);\n }\n\n handleAuthenticateSigner(params: TAuthenticateRecipientRequest) {\n console.log('[SIGN] Submitting authentication step', params);\n verifySigner(this.endpoint, params)\n .then(r => {\n console.log('[SIGN] Verification successful', r);\n this.processAuthResponse(r);\n })\n .catch(e => {\n console.log('[SIGN] Error submitting authentication step', e);\n if (e.response?.data?.error?.includes('failed')) {\n this.fatalErrorHeader = 'Recipient Verification Failed';\n this.fatalErrorMessage = 'We were unable to verify your identity. The sender has been notified.';\n this.isDone = true;\n } else {\n VerdocsToast(e.response?.data?.error || 'Unable to verify your identity. Please try again.', {style: 'error'});\n }\n });\n }\n\n render() {\n if (this.showLoadError) {\n return (\n <Host>\n <verdocs-ok-dialog\n heading=\"Unable to Start Signing\"\n message={`Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`}\n buttonLabel=\"OK\"\n onNext={() => {\n window.location.reload();\n }}\n />\n </Host>\n );\n }\n\n if (!this.envelope) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (this.fatalErrorMessage) {\n return (\n <Host class={{agreed: this.agreed}}>\n <div class=\"fatal-error\">\n <div class=\"message\">\n <div class=\"header\">{this.fatalErrorHeader}</div>\n <p>{this.fatalErrorMessage}</p>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.delegated) {\n return (\n <Host class={{agreed: false}}>\n <div class=\"fatal-error\">\n <div class=\"message\">\n <div class=\"header\">Delegated Signing Request</div>\n <p>You have delegated signing to another recipient. You will not be able to sign this request again.</p>\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.isDone) {\n return (\n <Host class={{agreed: this.agreed}}>\n <verdocs-view endpoint={this.endpoint} envelopeId={this.envelopeId} onSdkError={e => this.sdkError?.emit(e.detail)} />\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={(e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.submitting && (\n <div class=\"loading-indicator\">\n <verdocs-loader />\n </div>\n )}\n </Host>\n );\n }\n\n if (this.delegating) {\n return (\n <Host class=\"agreed\">\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <verdocs-delegate-dialog\n endpoint={this.endpoint}\n envelope={this.envelope}\n onExit={() => (this.delegating = false)}\n onNext={(e: any) => {\n delegateRecipient(this.endpoint, this.envelopeId, this.roleId, e.detail)\n .then(r => {\n VerdocsToast('Delegation request submitted.', {style: 'success'});\n console.log('[SIGN] Delegated successfully', r);\n this.delegated = true;\n this.delegating = false;\n })\n .catch(e => {\n console.log('[SIGN] Error delegating request', e);\n VerdocsToast('Unable to process delegation request. Please try again later.', {style: 'error'});\n });\n }}\n />\n </Host>\n );\n }\n\n if (this.declining) {\n return (\n <verdocs-ok-dialog\n heading=\"Decline Signing Request\"\n message={`If you decline to sign this request, you will not be able to sign again in the future. The envelope sender will be notified.`}\n buttonLabel=\"OK\"\n showCancel={true}\n onExit={() => (this.declining = false)}\n onNext={() => {\n envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId)\n .then(r => {\n console.log('[SIGN] Decline result', r);\n window.location.reload();\n })\n .catch(e => {\n console.warn('[SIGN] Error declining signing session', e);\n VerdocsToast('Unable to decline, please try again later', {style: 'error'});\n });\n }}\n />\n );\n }\n\n if (!this.agreed) {\n return (\n <Host class=\"agreed\">\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <verdocs-disclosure-dialog\n disclosures={this.disclosures}\n delegator={this.recipient.delegator}\n onDelegate={() => (this.delegating = true)}\n onDecline={() => (this.declining = true)}\n onAccept={() => this.handleClickAgree()}\n />\n </Host>\n );\n }\n\n if (this.authStep === 'passcode') {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"text\"\n step={1}\n steps={1}\n placeholder=\"Enter your passcode...\"\n helptitle=\"Document is protected by a Passcode\"\n helptext=\"Please enter your Passcode to proceed. If you do not have one, please contact the sender.\"\n label=\"Passcode\"\n onNext={e => this.handleAuthenticateSigner({auth_method: 'passcode', code: e.detail as string})}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.authStep === 'email') {\n return (\n <verdocs-otp-dialog\n endpoint={this.endpoint}\n method=\"email\"\n onNext={async e => {\n this.processAuthResponse(e.detail.response);\n }}\n />\n );\n }\n\n if (this.authStep === 'kba' && !this.authMethodStates.kba) {\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n <verdocs-kba-dialog\n mode=\"identity\"\n helptitle=\"Document requires identity verification\"\n helptext=\"Please complete your contact details to proceed.\"\n recipient={this.recipient}\n onNext={async e => {\n const recipDetails = e.detail as IRecipient;\n this.handleAuthenticateSigner({\n auth_method: 'kba',\n first_name: recipDetails.first_name,\n last_name: recipDetails.last_name,\n address: recipDetails.address,\n city: recipDetails.city,\n state: recipDetails.state,\n zip: recipDetails.zip,\n dob: recipDetails.dob,\n });\n }}\n />\n </div>\n </div>\n </Host>\n );\n }\n\n if (this.authStep === 'kba' && this.authMethodStates.kba === 'questions') {\n const questionNumber = this.kbaChoices.length;\n const kbaQuestion = this.kbaQuestions[questionNumber];\n return (\n <Host class=\"kba\">\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n </div>\n\n <div class=\"document\" style={{paddingTop: '15px'}}>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </div>\n\n <div class=\"cover\">\n <div class=\"kba\">\n {this.kbaChoices.length >= this.kbaQuestions.length ? (\n <verdocs-spinner />\n ) : (\n <verdocs-kba-dialog\n mode=\"choice\"\n helptitle=\"Your identity requires additional verification\"\n helptext={kbaQuestion?.prompt || 'Please select one of the options below.'}\n choices={kbaQuestion?.answer || ['Skip Question']}\n step={questionNumber + 1}\n steps={this.kbaQuestions.length}\n onNext={async (e: any) => {\n const answer = e.detail as string;\n this.kbaChoices = [...this.kbaChoices, answer];\n if (this.kbaChoices.length >= this.kbaQuestions.length) {\n const responses = this.kbaQuestions.map((q, i) => ({type: q.type, answer: this.kbaChoices[i]}));\n console.log('Submitting KBA responses', this.kbaChoices, responses);\n this.handleAuthenticateSigner({auth_method: 'kba', responses});\n }\n }}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n\n const inProgressMenuOptions = [\n {id: 'later', label: 'Finish Later'}, //\n // {id: 'claim', label: 'Claim the Document', disabled: true},\n {id: 'decline', label: 'Decline to Sign'},\n {id: 'print', label: 'Print Without Signing'},\n {id: 'download', label: 'Download'},\n ];\n\n const doneMenuOptions = [\n {id: 'print', label: 'Print'},\n {id: 'download', label: 'Download'},\n ];\n\n if (this.recipient.delegator) {\n inProgressMenuOptions.unshift({id: 'delegate', label: 'Delegate'});\n }\n\n const invalidFields = this.getRecipientFields().filter(field => !isFieldValid(field, this.getRecipientFields()));\n invalidFields.length > 0\n ? console.log(\n '[SIGN] Invalid fields remaining',\n invalidFields.map(field => field.name),\n )\n : console.log('[SIGN] All field valid');\n\n return (\n <Host>\n <div id=\"verdocs-sign-header\">\n <div class=\"inner\">\n <img src=\"https://verdocs.com/assets/white-logo.svg\" alt=\"Verdocs Logo\" class=\"logo\" />\n <div class=\"title\">{this.envelope.name}</div>\n <div style={{flex: '1'}} />\n\n {!this.finishLater && <verdocs-button size=\"xsmall\" label={this.nextButtonLabel} disabled={!this.agreed || this.submitting} onClick={() => this.handleNext()} />}\n\n <div style={{marginLeft: '10px'}} />\n <verdocs-dropdown options={!this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions} onOptionSelected={e => this.handleOptionSelected(e)} />\n </div>\n </div>\n\n {/* Progress Card */}\n {(() => {\n const focusedFieldObj = this.getSortedFillableFields().find(f => f.name === this.focusedField);\n return (\n <verdocs-signing-progress\n mode={this.nextSubmits ? 'completed' : false && this.signatureId && this.initialId ? 'signing' : 'start'}\n current={Math.max(1, this.getSortedFillableFields().findIndex(f => f.name === this.focusedField) + 1)}\n total={this.getSortedFillableFields().length}\n fieldLabel={focusedFieldObj?.label || focusedFieldObj?.name || ''}\n fieldCompleted={focusedFieldObj ? !!isFieldFilled(focusedFieldObj, this.getRecipientFields()) : false}\n onStarted={() => {\n this.adoptingSignature = true;\n // this.handleNext();\n }}\n onNext={() => this.handleNext()}\n onPrevious={() => this.handlePrev()}\n onExit={() => this.handleNext()}\n />\n );\n })()}\n\n <div class=\"document\" style={{width: '64%', marginLeft: '260px'}}>\n {(this.envelope.documents || []).map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n // In signing mode we show the original template page with all the recipient fields so we can show source formatting and\n // where everything went. This is also a visual indicator when optional fields weren't filled in by previous actors, or\n // future signers still need to act. Once we're \"done\" we flip to showing the envelope's documents which have the final\n // field vales (so far) stamped into them.\n // TODO: Confirm that a pure page-number match is good enough to find the matching template page. We need to make sure\n // we either don't reset our page numbers for additional attachments, or add match-on identifiers to work around that.\n // console.log('tp', templatePage, page);\n return (\n <verdocs-envelope-document-page\n envelopeId={this.envelopeId}\n documentId={envelopeDocument.id}\n endpoint={this.endpoint}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n pageNumber={pageNumber}\n onPageRendered={e => this.handlePageRendered(e)}\n type=\"filled\"\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n\n {this.showFinishLater && (\n <verdocs-ok-dialog\n heading=\"You've saved your document to finish later.\"\n message={`To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`}\n onNext={() => {\n this.isDone = true;\n this.showFinishLater = false;\n }}\n />\n )}\n\n {this.showDone && (\n <verdocs-ok-dialog\n heading=\"You're Done!\"\n message={`You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the document and envelope certificate attached.`}\n onNext={() => {\n this.showDone = false;\n this.isDone = true;\n }}\n />\n )}\n\n {this.adoptingSignature && (\n <verdocs-adopt-signature-dialog\n name={formatFullName(this.recipient)}\n onNext={async e => {\n console.log('[SIGN] Adopting signature/initials block', e.detail);\n\n this.showSpinner = true;\n\n // These arrive as base-64 encoded data URLs\n const signatureBlob = await (await fetch(e.detail.signature)).blob();\n const initialsBlob = await (await fetch(e.detail.initials)).blob();\n\n const sigResult = await createSignature(this.endpoint, 'signature', signatureBlob);\n console.log('[SIGN] Created signature', sigResult);\n this.signatureId = sigResult.id;\n\n const initResult = await createInitials(this.endpoint, 'initial', initialsBlob);\n console.log('[SIGN] Created initials', initResult);\n this.initialId = initResult.id;\n\n this.showSpinner = false;\n this.adoptingSignature = false;\n }}\n onExit={() => (this.adoptingSignature = false)}\n />\n )}\n\n {(this.submitting || this.showSpinner) && (\n <verdocs-portal>\n <div class=\"spinner-overlay\">\n <verdocs-spinner />\n </div>\n </verdocs-portal>\n )}\n\n {!this.loading && !this.isDone && (\n <verdocs-sign-footer\n endpoint={this.endpoint}\n envelopeId={this.envelopeId}\n isDone={this.isDone}\n onAskQuestion={(e: any) => {\n askQuestion(this.endpoint, this.envelopeId, this.roleId, {question: e.detail.question})\n .then(() => VerdocsToast('Your question has been sent.', {style: 'success'}))\n .catch(e => {\n console.log('Error asking question', e);\n VerdocsToast('Unable to send question, please try again later.', {style: 'error'});\n });\n }}\n onDecline={() => (this.declining = true)}\n onFinishLater={() => (this.showFinishLater = true)}\n />\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{d as e}from"./p-dzBXqXlK.js";import{getEnvelopesZip as t,downloadBlob as s,getEnvelopeFile as n,rescale as o}from"@verdocs/js-sdk";import{F as a}from"./p-dqxNbm_b.js";const c=e=>{switch(e){case"textarea":return 150;case"textbox":return 150;case"timestamp":return 105;case"date":return 75;case"dropdown":return 85;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 71}return 150};const r=e=>{switch(e){case"textarea":return 41;case"textbox":return 15;case"timestamp":return 15;case"date":return 15;case"dropdown":return 20;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 36}return 50};const i=(e,t,s,n)=>{let{x:a=0,y:i=0,width:d=c(t.type),height:u=r(t.type)}=t;e.style.width=`${d}px`;e.style.height=`${u}px`;e.style.position="absolute";e.style.left=`${o(s,a)}px`;e.style.bottom=`${o(n,i)}px`;e.style.transform=`scale(${s}, ${n})`};const d=(e,t,s)=>{let{x:n=0,y:a=0,width:i=c(e.type),height:d=r(e.type)}=e;return{zIndex:"100",width:`${i}px`,height:`${d}px`,position:"absolute",left:`${o(t,n)}px`,bottom:`${o(s,a)}px`,transform:`scale(${t}, ${s})`}};const u=e=>`verdocs-doc-fld-${e.name}`;const l=e=>{const t=u(e);const s=document.getElementById(t);if(s){s.field=e;s.roleindex=e;s.setAttribute("id",t);s.setAttribute("disabled",true);s.setAttribute("disabled",false)}};const f=(e,t,s,n,o=1)=>{var a,c;const{disabled:r=false,editable:d=false,draggable:l=false,done:f=false}=n;const p=document.getElementById(s.containerId+"-controls");if(!p){console.log("[renderDocumentField] No controls DIV found",s.containerId+"-controls",s);return}switch(t.type){case"attachment":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":{const n=u(t);const m=document.getElementById(n);if(m){i(m,t,s.xScale,s.yScale);return m}let{type:x}=t;if(x==="textbox"){if(((a=t["setting"])===null||a===void 0?void 0:a.leading)>0||((c=t["settings"])===null||c===void 0?void 0:c.leading)>0){x="textarea"}}const b=document.createElement(`verdocs-field-${x}`);b.field=t;b.setAttribute("id",n);b.setAttribute("fieldname",t.name);b.setAttribute("source",e);b.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(r){b.setAttribute("tabindex",-1);b.setAttribute("disabled",true)}else{b.setAttribute("tabIndex",o)}b.setAttribute("editable",d);b.setAttribute("draggable",l);b.setAttribute("done",f);i(b,t,s.xScale,s.yScale);p.appendChild(b);return b}case"checkbox":{const n=u(t);const o=document.getElementById(n);if(o){i(o,t,s.xScale,s.yScale);return o}const a=document.createElement(`verdocs-field-checkbox`);a.field=t;a.setAttribute("id",n);a.setAttribute("option",0);a.setAttribute("source",e);a.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(r){a.setAttribute("disabled",true)}if(f){a.setAttribute("done",true)}if(d){a.setAttribute("editable",true)}if(l){a.setAttribute("draggable",true)}i(a,t,s.xScale,s.yScale);p.appendChild(a);return a}case"radio":{const n=u(t);const o=document.getElementById(n);if(o){i(o,t,s.xScale,s.yScale);return o}const a=document.createElement(`verdocs-field-radio`);a.field=t;a.setAttribute("id",n);a.setAttribute("option",0);a.setAttribute("source",e);a.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(r){a.setAttribute("disabled",true)}if(f){a.setAttribute("done",true)}if(d){a.setAttribute("editable",true)}if(l){a.setAttribute("draggable",true)}i(a,t,s.xScale,s.yScale);p.appendChild(a);return a}default:console.log("[PREVIEW] Skipping unsupported field type",t);return null}};const p=(e,t,s)=>{const n=e.style.transform||"";const o=`${t}(${s})`;if(n.includes(t)){e.style.transform=n.replace(new RegExp(`${t}\\(.+?\\)`),o)}else{e.style.transform=n+" "+o}};const m=e=>{e.style.transform=e.style.transform.split(")")[0]+")"};const x=async(t,o,c)=>{const r=e.format(new Date(o.updated_at),a);const i=`${o.name} - ${r}.pdf`;const d=await n(t,c);s(d,i)};const b=async(n,o)=>{const c=e.format(o.length===1?new Date(o[0].updated_at):new Date,a);const r=o.length===1?`${o[0].name} - ${c}.zip`:`Verdocs-Envelopes-${c}`;console.log("Downloading envelopes as ZIP",o,r);const i=await t(n,o.map((e=>e.id)));s(i.data,r)};const $=(e,t)=>{let s=0;return function(...n){clearTimeout(s);s=setTimeout((()=>e.apply(this,n)),t)}};const g=(e,t="16px Arial")=>{const s=document.createElement("canvas");const n=s.getContext("2d");n.font=t;return n.measureText(e).width};const h=e=>{let t=(e||"").trim();if(!t||t.startsWith("+")){return t}t=t.replace(/[^0-9]/g,"");t=t.replace(/^0/g,"");return`+1${t}`};const w=(e,t,s,n)=>{const a=document.getElementById(e.containerId+"-controls");if(!a){return}const c=document.createElement("verdocs-flag");c.variant=n.variant;c.label=n.label;c.showSkip=n.showSkip;if(n.id){c.setAttribute("id",n.id)}c.classList.add("verdocs-flag-instance");if(n.onSkip){c.addEventListener("skip",n.onSkip)}if(n.onClick){c.addEventListener("flagClick",n.onClick)}c.style.position="absolute";c.style.left="calc(100% - 14px)";const r=o(e.yScale,t);const i=o(e.yScale,s);const d=r+i;c.style.bottom=`${d}px`;console.log(`[FLAG-V4] ${n.label} y=${t} h=${s} scY=${r} scH=${i} bottom=${d}`);a.appendChild(c);return c};export{x as a,f as b,g as c,r as d,d as e,h as f,u as g,p as h,m as i,i as j,c as k,w as r,b as s,$ as t,l as u};
2
- //# sourceMappingURL=p-nK4J4UFK.js.map
1
+ import{d as e}from"./p-dzBXqXlK.js";import{getEnvelopesZip as t,downloadBlob as s,getEnvelopeFile as n,rescale as a}from"@verdocs/js-sdk";import{F as o}from"./p-dqxNbm_b.js";const c=e=>{switch(e){case"textarea":return 150;case"textbox":return 150;case"timestamp":return 105;case"date":return 75;case"dropdown":return 85;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 71}return 150};const r=e=>{switch(e){case"textarea":return 41;case"textbox":return 15;case"timestamp":return 15;case"date":return 15;case"dropdown":return 20;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 36}return 50};const i=(e,t,s,n)=>{let{x:o=0,y:i=0,width:d=c(t.type),height:u=r(t.type)}=t;e.style.width=`${d}px`;e.style.height=`${u}px`;e.style.position="absolute";e.style.left=`${a(s,o)}px`;e.style.bottom=`${a(n,i)}px`;e.style.transform=`scale(${s}, ${n})`};const d=(e,t,s)=>{let{x:n=0,y:o=0,width:i=c(e.type),height:d=r(e.type)}=e;return{zIndex:"100",width:`${i}px`,height:`${d}px`,position:"absolute",left:`${a(t,n)}px`,bottom:`${a(s,o)}px`,transform:`scale(${t}, ${s})`}};const u=e=>`verdocs-doc-fld-${e.name}`;const l=e=>{const t=u(e);const s=document.getElementById(t);if(s){s.field=e;s.roleindex=e;s.setAttribute("id",t);s.setAttribute("disabled",true);s.setAttribute("disabled",false)}};const f=(e,t,s,n,a=1)=>{var o,c;const{disabled:r=false,editable:d=false,draggable:l=false,done:f=false}=n;const p=document.getElementById(s.containerId+"-controls");if(!p){console.log("[renderDocumentField] No controls DIV found",s.containerId+"-controls",s);return}switch(t.type){case"attachment":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":{const n=u(t);const m=document.getElementById(n);if(m){i(m,t,s.xScale,s.yScale);return m}let{type:x}=t;if(x==="textbox"){if(((o=t["setting"])===null||o===void 0?void 0:o.leading)>0||((c=t["settings"])===null||c===void 0?void 0:c.leading)>0){x="textarea"}}const b=document.createElement(`verdocs-field-${x}`);b.field=t;b.setAttribute("id",n);b.setAttribute("fieldname",t.name);b.setAttribute("source",e);b.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(r){b.setAttribute("tabindex",-1);b.setAttribute("disabled",true)}else{b.setAttribute("tabIndex",a)}b.setAttribute("editable",d);b.setAttribute("draggable",l);b.setAttribute("done",f);i(b,t,s.xScale,s.yScale);p.appendChild(b);return b}case"checkbox":{const n=u(t);const a=document.getElementById(n);if(a){i(a,t,s.xScale,s.yScale);return a}const o=document.createElement(`verdocs-field-checkbox`);o.field=t;o.setAttribute("id",n);o.setAttribute("option",0);o.setAttribute("source",e);o.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(r){o.setAttribute("disabled",true)}if(f){o.setAttribute("done",true)}if(d){o.setAttribute("editable",true)}if(l){o.setAttribute("draggable",true)}i(o,t,s.xScale,s.yScale);p.appendChild(o);return o}case"radio":{const n=u(t);const a=document.getElementById(n);if(a){i(a,t,s.xScale,s.yScale);return a}const o=document.createElement(`verdocs-field-radio`);o.field=t;o.setAttribute("id",n);o.setAttribute("option",0);o.setAttribute("source",e);o.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(r){o.setAttribute("disabled",true)}if(f){o.setAttribute("done",true)}if(d){o.setAttribute("editable",true)}if(l){o.setAttribute("draggable",true)}i(o,t,s.xScale,s.yScale);p.appendChild(o);return o}default:console.log("[PREVIEW] Skipping unsupported field type",t);return null}};const p=(e,t,s)=>{const n=e.style.transform||"";const a=`${t}(${s})`;if(n.includes(t)){e.style.transform=n.replace(new RegExp(`${t}\\(.+?\\)`),a)}else{e.style.transform=n+" "+a}};const m=e=>{e.style.transform=e.style.transform.split(")")[0]+")"};const x=async(t,a,c)=>{const r=e.format(new Date(a.updated_at),o);const i=`${a.name} - ${r}.pdf`;const d=await n(t,c);s(d,i)};const b=async(n,a)=>{const c=e.format(a.length===1?new Date(a[0].updated_at):new Date,o);const r=a.length===1?`${a[0].name} - ${c}.zip`:`Verdocs-Envelopes-${c}`;console.log("Downloading envelopes as ZIP",a,r);const i=await t(n,a.map((e=>e.id)));s(i.data,r)};const $=(e,t)=>{let s=0;return function(...n){clearTimeout(s);s=setTimeout((()=>e.apply(this,n)),t)}};const g=(e,t="16px Arial")=>{const s=document.createElement("canvas");const n=s.getContext("2d");n.font=t;return n.measureText(e).width};const h=e=>{let t=(e||"").trim();if(!t||t.startsWith("+")){return t}t=t.replace(/[^0-9]/g,"");t=t.replace(/^0/g,"");return`+1${t}`};const w=(e,t,s,n)=>{const o=document.getElementById(e.containerId+"-controls");if(!o){return}const c=document.createElement("verdocs-flag");c.variant=n.variant;c.label=n.label;c.showSkip=n.showSkip;if(n.id){c.setAttribute("id",n.id)}c.classList.add("verdocs-flag-instance");if(n.onSkip){c.addEventListener("skip",n.onSkip)}if(n.onClick){c.addEventListener("flagClick",n.onClick)}c.style.position="absolute";c.style.left="calc(100% - 14px)";const r=a(e.yScale,t);const i=a(e.yScale,s);const d=r+i;c.style.bottom=`${d}px`;o.appendChild(c);return c};export{x as a,f as b,g as c,r as d,d as e,h as f,u as g,p as h,m as i,i as j,c as k,w as r,b as s,$ as t,l as u};
2
+ //# sourceMappingURL=p-CmnR51jO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-nK4J4UFK.js","sources":["src/utils/utils.ts"],"sourcesContent":["import {format} from 'date-fns';\nimport {downloadBlob, getEnvelopeFile, getEnvelopesZip, IEnvelope, IEnvelopeField, ITemplateField, rescale, TFieldType, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {FORMAT_DATE, IDocumentPageInfo} from './Types';\n\nexport const defaultWidth = (type: TFieldType) => {\n // checkbox was a legacy field type\n switch (type as any) {\n case 'textarea':\n return 150;\n case 'textbox':\n return 150;\n case 'timestamp':\n return 105;\n case 'date':\n return 75;\n case 'dropdown':\n return 85;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 71;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (type: TFieldType) => {\n switch (type as any) {\n case 'textarea':\n return 41;\n case 'textbox':\n return 15;\n case 'timestamp':\n return 15;\n case 'date':\n return 15;\n case 'dropdown':\n return 20;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 36;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n};\n\nexport const getControlStyles = (field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n return {\n zIndex: '100',\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n left: `${rescale(xScale, x)}px`,\n bottom: `${rescale(yScale, y)}px`,\n transform: `scale(${xScale}, ${yScale})`,\n };\n};\n\nexport const getFieldId = (field: ITemplateField | IEnvelopeField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IEnvelopeField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.roleindex = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (\n source: 'envelope' | 'template',\n field: ITemplateField | IEnvelopeField,\n docPage: IDocumentPageInfo,\n fieldOptions: IFieldOptions,\n tabIndex: number = 1,\n) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n // console.log('[renderDocumentField] Rendering field', field);\n\n switch (field.type as any) {\n case 'attachment':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n let {type} = field;\n if (type === 'textbox') {\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n }\n }\n\n const el: any = document.createElement(`verdocs-field-${type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('source', source);\n el.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabIndex', tabIndex);\n }\n\n el.setAttribute('editable', editable);\n el.setAttribute('draggable', draggable);\n el.setAttribute('done', done);\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n case 'checkbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const cbEl: any = document.createElement(`verdocs-field-checkbox`);\n cbEl.field = field;\n cbEl.setAttribute('id', id);\n cbEl.setAttribute('option', 0);\n cbEl.setAttribute('source', source);\n cbEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n cbEl.setAttribute('disabled', true);\n }\n if (done) {\n cbEl.setAttribute('done', true);\n }\n if (editable) {\n cbEl.setAttribute('editable', true);\n }\n if (draggable) {\n cbEl.setAttribute('draggable', true);\n }\n setControlStyles(cbEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(cbEl);\n\n return cbEl;\n }\n\n case 'radio': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const radioEl: any = document.createElement(`verdocs-field-radio`);\n radioEl.field = field;\n radioEl.setAttribute('id', id);\n radioEl.setAttribute('option', 0);\n radioEl.setAttribute('source', source);\n radioEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n radioEl.setAttribute('disabled', true);\n }\n if (done) {\n radioEl.setAttribute('done', true);\n }\n if (editable) {\n radioEl.setAttribute('editable', true);\n }\n if (draggable) {\n radioEl.setAttribute('draggable', true);\n }\n setControlStyles(radioEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(radioEl);\n\n return radioEl;\n }\n\n default:\n console.log('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nexport const updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n const currentTransform = el.style.transform || '';\n\n const newValue = `${key}(${value})`;\n if (currentTransform.includes(key)) {\n el.style.transform = currentTransform.replace(new RegExp(`${key}\\\\(.+?\\\\)`), newValue);\n } else {\n el.style.transform = currentTransform + ' ' + newValue;\n }\n};\n\nexport const removeCssTransform = (el: HTMLElement) => {\n // const currentTransform = el.style.transform || '';\n el.style.transform = el.style.transform.split(')')[0] + ')';\n // TODO: This is not working\n // el.style.transform = currentTransform.replace(new RegExp(`\\(${key}\\\\(.+?\\\\)\\)`), '');\n};\n\n// TODO: Shift to getDownloadLilnk\nexport const saveAttachment = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n // e.g. \"Colorado-Motor-Vehicle-Bill-of-Sale.pdf\"\n const date = format(new Date(envelope.updated_at), FORMAT_DATE);\n const fileName = `${envelope.name} - ${date}.pdf`;\n const data = await getEnvelopeFile(endpoint, documentId);\n downloadBlob(data, fileName);\n};\n\nexport const saveEnvelopesAsZip = async (endpoint: VerdocsEndpoint, envelopes: IEnvelope[]) => {\n const formattedDate = format(envelopes.length === 1 ? new Date(envelopes[0].updated_at) : new Date(), FORMAT_DATE);\n const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formattedDate}.zip` : `Verdocs-Envelopes-${formattedDate}`;\n console.log('Downloading envelopes as ZIP', envelopes, zipFileName);\n const result = await getEnvelopesZip(\n endpoint,\n envelopes.map(e => e.id),\n );\n downloadBlob(result.data, zipFileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f: Function, delay: number) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n\n/**\n * Compute the rendered width of a given text string, using a given font.\n */\nexport const renderedTextWidth = (text: string, font: string = '16px Arial') => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n ctx.font = font;\n return ctx.measureText(text).width;\n};\n\n// \"(212) 555-1212\" => +12125551212\n// \"+46766861004\" => \"+46766861004\"\n// \"212-555-1212\" => +12125551212\n// \"212.555.1212\" => +12125551212\n// \"212 555 1212\" => +12125551212\n// @see https://46elks.com/kb/e164\nexport const convertToE164 = (input: string) => {\n let temp = (input || '').trim();\n // If we are already prefixed, assume the user did it deliberately and attempt to use what they entered. We also short-circuit blanks.\n if (!temp || temp.startsWith('+')) {\n return temp;\n }\n\n // Remove any spaces, parenthesis or other punctuation.\n temp = temp.replace(/[^0-9]/g, '');\n\n // If the number begins with a zero, remove the leading zero. Do not combine this with the previous step because it needs to be removed\n // whether it's the actual first character e.g. `0(5)` or just the first digit e.g. `(05`.\n temp = temp.replace(/^0/g, '');\n\n // Prepend the country code and +. We're assuming US in this case given the target demographic. Users in other countries would/should be\n // already entering a prefix so they'd shortcut out of this routine via the + prefix check.\n return `+1${temp}`;\n};\n\nexport interface IFlagOptions {\n variant: 'fill' | 'next';\n label: string;\n showSkip?: boolean;\n onSkip?: () => void;\n onClick?: () => void;\n id?: string;\n}\n\nexport const renderDocumentFlag = (\n docPage: IDocumentPageInfo,\n y: number, // Bottom position from field\n height: number, // Field height\n options: IFlagOptions,\n) => {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const el: any = document.createElement('verdocs-flag');\n el.variant = options.variant;\n el.label = options.label;\n el.showSkip = options.showSkip;\n if (options.id) {\n el.setAttribute('id', options.id);\n }\n el.classList.add('verdocs-flag-instance'); // Marker class for easy removal\n\n if (options.onSkip) {\n el.addEventListener('skip', options.onSkip);\n }\n if (options.onClick) {\n el.addEventListener('flagClick', options.onClick);\n }\n\n // Position the flag to stick out of the right edge of the page\n el.style.position = 'absolute';\n\n // The flag has a left-pointing arrow that is 14px wide (15% of 97px ~= 14.5px).\n // We want the \"body\" of the rectangle (starting after the arrow) to align with the\n // right edge of the page.\n el.style.left = 'calc(100% - 14px)';\n\n /*\n * Positioning Logic:\n * Field Y is distance from bottom.\n * Fields have `transform-origin: bottom left`.\n * Visual Bottom = y * scale.\n * Visual Top = (y * scale) + (height * scale).\n * Visual Center = (y * scale) + (height * scale) / 2.\n */\n // const flagHeight = 24; // Matches CSS\n const scaledY = rescale(docPage.yScale, y);\n const scaledHeight = rescale(docPage.yScale, height);\n\n // Align Flag Bottom with Field Top\n const bottom = scaledY + scaledHeight;\n\n el.style.bottom = `${bottom}px`;\n\n console.log(`[FLAG-V4] ${options.label} y=${y} h=${height} scY=${scaledY} scH=${scaledHeight} bottom=${bottom}`);\n\n controlsDiv.appendChild(el);\n return el;\n};\n"],"names":["format"],"mappings":"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"}
1
+ {"version":3,"file":"p-CmnR51jO.js","sources":["src/utils/utils.ts"],"sourcesContent":["import {format} from 'date-fns';\nimport {downloadBlob, getEnvelopeFile, getEnvelopesZip, IEnvelope, IEnvelopeField, ITemplateField, rescale, TFieldType, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {FORMAT_DATE, IDocumentPageInfo} from './Types';\n\nexport const defaultWidth = (type: TFieldType) => {\n // checkbox was a legacy field type\n switch (type as any) {\n case 'textarea':\n return 150;\n case 'textbox':\n return 150;\n case 'timestamp':\n return 105;\n case 'date':\n return 75;\n case 'dropdown':\n return 85;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 71;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (type: TFieldType) => {\n switch (type as any) {\n case 'textarea':\n return 41;\n case 'textbox':\n return 15;\n case 'timestamp':\n return 15;\n case 'date':\n return 15;\n case 'dropdown':\n return 20;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 36;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n};\n\nexport const getControlStyles = (field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n return {\n zIndex: '100',\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n left: `${rescale(xScale, x)}px`,\n bottom: `${rescale(yScale, y)}px`,\n transform: `scale(${xScale}, ${yScale})`,\n };\n};\n\nexport const getFieldId = (field: ITemplateField | IEnvelopeField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IEnvelopeField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.roleindex = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (\n source: 'envelope' | 'template',\n field: ITemplateField | IEnvelopeField,\n docPage: IDocumentPageInfo,\n fieldOptions: IFieldOptions,\n tabIndex: number = 1,\n) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n // console.log('[renderDocumentField] Rendering field', field);\n\n switch (field.type as any) {\n case 'attachment':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n let {type} = field;\n if (type === 'textbox') {\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n }\n }\n\n const el: any = document.createElement(`verdocs-field-${type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('source', source);\n el.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabIndex', tabIndex);\n }\n\n el.setAttribute('editable', editable);\n el.setAttribute('draggable', draggable);\n el.setAttribute('done', done);\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n case 'checkbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const cbEl: any = document.createElement(`verdocs-field-checkbox`);\n cbEl.field = field;\n cbEl.setAttribute('id', id);\n cbEl.setAttribute('option', 0);\n cbEl.setAttribute('source', source);\n cbEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n cbEl.setAttribute('disabled', true);\n }\n if (done) {\n cbEl.setAttribute('done', true);\n }\n if (editable) {\n cbEl.setAttribute('editable', true);\n }\n if (draggable) {\n cbEl.setAttribute('draggable', true);\n }\n setControlStyles(cbEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(cbEl);\n\n return cbEl;\n }\n\n case 'radio': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id);\n if (existingField) {\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n const radioEl: any = document.createElement(`verdocs-field-radio`);\n radioEl.field = field;\n radioEl.setAttribute('id', id);\n radioEl.setAttribute('option', 0);\n radioEl.setAttribute('source', source);\n radioEl.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n if (disabled) {\n radioEl.setAttribute('disabled', true);\n }\n if (done) {\n radioEl.setAttribute('done', true);\n }\n if (editable) {\n radioEl.setAttribute('editable', true);\n }\n if (draggable) {\n radioEl.setAttribute('draggable', true);\n }\n setControlStyles(radioEl, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(radioEl);\n\n return radioEl;\n }\n\n default:\n console.log('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nexport const updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n const currentTransform = el.style.transform || '';\n\n const newValue = `${key}(${value})`;\n if (currentTransform.includes(key)) {\n el.style.transform = currentTransform.replace(new RegExp(`${key}\\\\(.+?\\\\)`), newValue);\n } else {\n el.style.transform = currentTransform + ' ' + newValue;\n }\n};\n\nexport const removeCssTransform = (el: HTMLElement) => {\n // const currentTransform = el.style.transform || '';\n el.style.transform = el.style.transform.split(')')[0] + ')';\n // TODO: This is not working\n // el.style.transform = currentTransform.replace(new RegExp(`\\(${key}\\\\(.+?\\\\)\\)`), '');\n};\n\n// TODO: Shift to getDownloadLilnk\nexport const saveAttachment = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n // e.g. \"Colorado-Motor-Vehicle-Bill-of-Sale.pdf\"\n const date = format(new Date(envelope.updated_at), FORMAT_DATE);\n const fileName = `${envelope.name} - ${date}.pdf`;\n const data = await getEnvelopeFile(endpoint, documentId);\n downloadBlob(data, fileName);\n};\n\nexport const saveEnvelopesAsZip = async (endpoint: VerdocsEndpoint, envelopes: IEnvelope[]) => {\n const formattedDate = format(envelopes.length === 1 ? new Date(envelopes[0].updated_at) : new Date(), FORMAT_DATE);\n const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formattedDate}.zip` : `Verdocs-Envelopes-${formattedDate}`;\n console.log('Downloading envelopes as ZIP', envelopes, zipFileName);\n const result = await getEnvelopesZip(\n endpoint,\n envelopes.map(e => e.id),\n );\n downloadBlob(result.data, zipFileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f: Function, delay: number) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n\n/**\n * Compute the rendered width of a given text string, using a given font.\n */\nexport const renderedTextWidth = (text: string, font: string = '16px Arial') => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n ctx.font = font;\n return ctx.measureText(text).width;\n};\n\n// \"(212) 555-1212\" => +12125551212\n// \"+46766861004\" => \"+46766861004\"\n// \"212-555-1212\" => +12125551212\n// \"212.555.1212\" => +12125551212\n// \"212 555 1212\" => +12125551212\n// @see https://46elks.com/kb/e164\nexport const convertToE164 = (input: string) => {\n let temp = (input || '').trim();\n // If we are already prefixed, assume the user did it deliberately and attempt to use what they entered. We also short-circuit blanks.\n if (!temp || temp.startsWith('+')) {\n return temp;\n }\n\n // Remove any spaces, parenthesis or other punctuation.\n temp = temp.replace(/[^0-9]/g, '');\n\n // If the number begins with a zero, remove the leading zero. Do not combine this with the previous step because it needs to be removed\n // whether it's the actual first character e.g. `0(5)` or just the first digit e.g. `(05`.\n temp = temp.replace(/^0/g, '');\n\n // Prepend the country code and +. We're assuming US in this case given the target demographic. Users in other countries would/should be\n // already entering a prefix so they'd shortcut out of this routine via the + prefix check.\n return `+1${temp}`;\n};\n\nexport interface IFlagOptions {\n variant: 'fill' | 'next';\n label: string;\n showSkip?: boolean;\n onSkip?: () => void;\n onClick?: () => void;\n id?: string;\n}\n\nexport const renderDocumentFlag = (\n docPage: IDocumentPageInfo,\n y: number, // Bottom position from field\n height: number, // Field height\n options: IFlagOptions,\n) => {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const el: any = document.createElement('verdocs-flag');\n el.variant = options.variant;\n el.label = options.label;\n el.showSkip = options.showSkip;\n if (options.id) {\n el.setAttribute('id', options.id);\n }\n el.classList.add('verdocs-flag-instance'); // Marker class for easy removal\n\n if (options.onSkip) {\n el.addEventListener('skip', options.onSkip);\n }\n if (options.onClick) {\n el.addEventListener('flagClick', options.onClick);\n }\n\n // Position the flag to stick out of the right edge of the page\n el.style.position = 'absolute';\n\n // The flag has a left-pointing arrow that is 14px wide (15% of 97px ~= 14.5px).\n // We want the \"body\" of the rectangle (starting after the arrow) to align with the\n // right edge of the page.\n el.style.left = 'calc(100% - 14px)';\n\n /*\n * Positioning Logic:\n * Field Y is distance from bottom.\n * Fields have `transform-origin: bottom left`.\n * Visual Bottom = y * scale.\n * Visual Top = (y * scale) + (height * scale).\n * Visual Center = (y * scale) + (height * scale) / 2.\n */\n // const flagHeight = 24; // Matches CSS\n const scaledY = rescale(docPage.yScale, y);\n const scaledHeight = rescale(docPage.yScale, height);\n\n // Align Flag Bottom with Field Top\n const bottom = scaledY + scaledHeight;\n\n el.style.bottom = `${bottom}px`;\n\n controlsDiv.appendChild(el);\n return el;\n};\n"],"names":["format"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-CogJ52UV.system.js","sources":["src/components/templates/verdocs-template-document-page/verdocs-template-document-page.scss?tag=verdocs-template-document-page","src/components/templates/verdocs-template-document-page/verdocs-template-document-page.tsx","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.scss?tag=verdocs-toolbar-icon","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-template-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n\n .placeholder {\n opacity: 0.1;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getTemplate, getTemplateDocumentPageDisplayUri, type ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element, Fragment} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {getControlStyles, getFieldId} from '../../../utils/utils';\nimport {throttle} from '../../../utils/utils';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-template-document-page',\n styleUrl: 'verdocs-template-document-page.scss',\n shadow: false,\n})\nexport class VerdocsTemplateDocumentPage {\n private templateListenerId = null;\n private resizeObserver: ResizeObserver;\n\n @Element() container: HTMLElement;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Whether the fields should be editable (Builder)\n */\n @Prop() editable = false;\n\n /**\n * Whether the fields should be disabled (Builder)\n */\n @Prop() disabled = false;\n\n /**\n * Whether the field are interactable (done/submitted disables this)\n */\n @Prop() done = false;\n\n /**\n * The ID of the template the document is for.\n */\n @Prop() templateId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-document-page-${Math.random().toString(36).substring(2, 11)}`;\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n @State() skipFirstNotification = true;\n @State() pageDisplayUri = '';\n @State() xScale = 1;\n @State() yScale = 1;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n this.pageDisplayUri = await getTemplateDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber);\n this.listenToTemplate();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n componentDidUpdate() {\n // This is fired when fields are updated and triggers the parent to re-attach behaviors like drag-and-drop\n this.notifyRenderedSize();\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n const xScale = this.renderedWidth / this.virtualWidth;\n if (this.xScale !== xScale) {\n this.xScale = xScale;\n }\n\n const yScale = this.renderedHeight / this.virtualHeight;\n if (this.yScale !== yScale) {\n this.yScale = yScale;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale,\n yScale,\n });\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <img src=\"https://public-assets.verdocs.com/loading-placeholder.png\" class=\"placeholder\" alt=\"Placeholder page\" />\n </Host>\n );\n }\n\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-template-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}}>\n {layer.name === 'controls' &&\n (this.template?.fields || [])\n .filter(field => field && field.document_id === this.documentId && field.page === this.pageNumber)\n .map(field => {\n const id = getFieldId(field);\n let {name, type, multiline} = field;\n const {xScale, yScale, templateId, editable, disabled, done, pageNumber} = this;\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n multiline = true;\n }\n switch (type as any) {\n case 'textbox':\n return (\n <verdocs-field-textbox\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n multiline={multiline}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'textarea':\n return (\n <verdocs-field-textarea\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'date':\n return (\n <verdocs-field-date\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'attachment':\n return (\n <verdocs-field-attachment\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'dropdown':\n return (\n <verdocs-field-dropdown\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'initial':\n return (\n <verdocs-field-initial\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'signature':\n return (\n <verdocs-field-signature\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, this.xScale, this.yScale)}\n />\n );\n case 'timestamp':\n return (\n <verdocs-field-timestamp\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'checkbox':\n return (\n <verdocs-field-checkbox\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'radio':\n return (\n <verdocs-field-radio\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n default:\n return <Fragment>{name}</Fragment>;\n }\n })}\n </div>\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-template-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-toolbar-icon {\n font-family: $verdocs-primary-font;\n //display: inline-block;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: center;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $choice-available-color;\n }\n }\n\n .tooltip {\n display: none;\n box-shadow: 0 0 10px 1px #999999;\n background: #ffffff;\n color: $label-color;\n max-width: 240px;\n font-weight: bold;\n padding: 5px 10px;\n font-size: 13px;\n position: relative;\n border-radius: 4px;\n z-index: 20000;\n white-space: nowrap;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n\n // For the floating menu\n &[data-popper-placement^='left'] {\n //margin-right: 22px !important;\n padding: 3px 10px;\n\n & > .arrow {\n right: -1px;\n }\n }\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop, State} from '@stencil/core';\nimport {Placement} from '@popperjs/core/lib/enums';\n// import {Component, Event, EventEmitter, h, Host, Prop, State} from '@stencil/core';\n\n/**\n * Displays a simple help icon. Upon hover or focus, a tooltip will be displayed with help text.\n *\n * ```ts\n * <verdocs-toolbar-icon text=\"Sample tooltip text\" icon={CalendarIcon} />\n * ```\n */\n@Component({\n tag: 'verdocs-toolbar-icon',\n styleUrl: 'verdocs-toolbar-icon.scss',\n shadow: false,\n})\nexport class VerdocsToolbarIcon {\n iconEl: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n /**\n * Override the Popper \"placement\" setting\n */\n @Prop() placement: Placement = 'bottom';\n\n /**\n * Triggered when the icon is pressed\n */\n // @Event({composed: true}) press: EventEmitter;\n\n @State() containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.iconEl, this.tooltip, {\n placement: this.placement,\n modifiers: this.placement === 'left' ? [{name: 'offset', options: {offset: [0, 20]}}] : [],\n });\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n // });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n show() {\n this.tooltip?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n }\n\n hide() {\n this.tooltip?.removeAttribute('data-show');\n }\n\n // handlePress() {\n // this.press?.emit();\n // }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={this.icon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div id={this.containerId} role=\"tooltip\" class=\"tooltip\" data-popper-placement={this.placement} ref={el => (this.tooltip = el as HTMLDivElement)}>\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-D-LZAEE-.system.js","sources":["src/components/templates/verdocs-template-document-page/verdocs-template-document-page.scss?tag=verdocs-template-document-page","src/components/templates/verdocs-template-document-page/verdocs-template-document-page.tsx","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.scss?tag=verdocs-toolbar-icon","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-template-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n\n .placeholder {\n opacity: 0.1;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getTemplate, getTemplateDocumentPageDisplayUri, type ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element, Fragment} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {getControlStyles, getFieldId} from '../../../utils/utils';\nimport {throttle} from '../../../utils/utils';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-template-document-page',\n styleUrl: 'verdocs-template-document-page.scss',\n shadow: false,\n})\nexport class VerdocsTemplateDocumentPage {\n private templateListenerId = null;\n private resizeObserver: ResizeObserver;\n\n @Element() container: HTMLElement;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Whether the fields should be editable (Builder)\n */\n @Prop() editable = false;\n\n /**\n * Whether the fields should be disabled (Builder)\n */\n @Prop() disabled = false;\n\n /**\n * Whether the field are interactable (done/submitted disables this)\n */\n @Prop() done = false;\n\n /**\n * The ID of the template the document is for.\n */\n @Prop() templateId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-document-page-${Math.random().toString(36).substring(2, 11)}`;\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n @State() skipFirstNotification = true;\n @State() pageDisplayUri = '';\n @State() xScale = 1;\n @State() yScale = 1;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n this.pageDisplayUri = await getTemplateDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber);\n this.listenToTemplate();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n componentDidUpdate() {\n // This is fired when fields are updated and triggers the parent to re-attach behaviors like drag-and-drop\n this.notifyRenderedSize();\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n const xScale = this.renderedWidth / this.virtualWidth;\n if (this.xScale !== xScale) {\n this.xScale = xScale;\n }\n\n const yScale = this.renderedHeight / this.virtualHeight;\n if (this.yScale !== yScale) {\n this.yScale = yScale;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale,\n yScale,\n });\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <img src=\"https://public-assets.verdocs.com/loading-placeholder.png\" class=\"placeholder\" alt=\"Placeholder page\" />\n </Host>\n );\n }\n\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-template-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}}>\n {layer.name === 'controls' &&\n (this.template?.fields || [])\n .filter(field => field && field.document_id === this.documentId && field.page === this.pageNumber)\n .map(field => {\n const id = getFieldId(field);\n let {name, type, multiline} = field;\n const {xScale, yScale, templateId, editable, disabled, done, pageNumber} = this;\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n multiline = true;\n }\n switch (type as any) {\n case 'textbox':\n return (\n <verdocs-field-textbox\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n multiline={multiline}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'textarea':\n return (\n <verdocs-field-textarea\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'date':\n return (\n <verdocs-field-date\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'attachment':\n return (\n <verdocs-field-attachment\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'dropdown':\n return (\n <verdocs-field-dropdown\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'initial':\n return (\n <verdocs-field-initial\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'signature':\n return (\n <verdocs-field-signature\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, this.xScale, this.yScale)}\n />\n );\n case 'timestamp':\n return (\n <verdocs-field-timestamp\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'checkbox':\n return (\n <verdocs-field-checkbox\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'radio':\n return (\n <verdocs-field-radio\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n default:\n return <Fragment>{name}</Fragment>;\n }\n })}\n </div>\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-template-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-toolbar-icon {\n font-family: $verdocs-primary-font;\n //display: inline-block;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: center;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $choice-available-color;\n }\n }\n\n .tooltip {\n display: none;\n box-shadow: 0 0 10px 1px #999999;\n background: #ffffff;\n color: $label-color;\n max-width: 240px;\n font-weight: bold;\n padding: 5px 10px;\n font-size: 13px;\n position: relative;\n border-radius: 4px;\n z-index: 20000;\n white-space: nowrap;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n\n // For the floating menu\n &[data-popper-placement^='left'] {\n //margin-right: 22px !important;\n padding: 3px 10px;\n\n & > .arrow {\n right: -1px;\n }\n }\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop, State} from '@stencil/core';\nimport {Placement} from '@popperjs/core/lib/enums';\n// import {Component, Event, EventEmitter, h, Host, Prop, State} from '@stencil/core';\n\n/**\n * Displays a simple help icon. Upon hover or focus, a tooltip will be displayed with help text.\n *\n * ```ts\n * <verdocs-toolbar-icon text=\"Sample tooltip text\" icon={CalendarIcon} />\n * ```\n */\n@Component({\n tag: 'verdocs-toolbar-icon',\n styleUrl: 'verdocs-toolbar-icon.scss',\n shadow: false,\n})\nexport class VerdocsToolbarIcon {\n iconEl: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n /**\n * Override the Popper \"placement\" setting\n */\n @Prop() placement: Placement = 'bottom';\n\n /**\n * Triggered when the icon is pressed\n */\n // @Event({composed: true}) press: EventEmitter;\n\n @State() containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.iconEl, this.tooltip, {\n placement: this.placement,\n modifiers: this.placement === 'left' ? [{name: 'offset', options: {offset: [0, 20]}}] : [],\n });\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n // });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n show() {\n this.tooltip?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n }\n\n hide() {\n this.tooltip?.removeAttribute('data-show');\n }\n\n // handlePress() {\n // this.press?.emit();\n // }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={this.icon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div id={this.containerId} role=\"tooltip\" class=\"tooltip\" data-popper-placement={this.placement} ref={el => (this.tooltip = el as HTMLDivElement)}>\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,MAAM,8BAA8B,GAAG,g3BAAg3B;;YCmB14B,2BAA2B,6CAAA,MAAA;MALxC,IAAA,WAAA,CAAA,OAAA,EAAA;;;MAMU,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI;MAKjC;;MAEG;MACK,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,UAAU,EAAE;MAEhE;;MAEG;MACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;MAExB;;MAEG;MACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;MAExB;;MAEG;MACK,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;MAEpB;;MAEG;MACK,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE;MAE/B;;MAEG;MACK,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE;MAE/B;;MAEG;MACK,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC;MAE9B;;;MAGG;MACK,QAAA,IAAY,CAAA,YAAA,GAAW,GAAG;MAElC;;;MAGG;MACoB,QAAA,IAAa,CAAA,aAAA,GAAW,GAAG;MAElD;;;;;;;;;;;MAWG;MACK,QAAA,IAAA,CAAA,MAAM,GAAiB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;cAOtD,IAAA,CAAA,WAAW,GAAG,CAAA,sBAAA,EAAyB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAE;MACpF,QAAA,IAAA,CAAA,aAAa,GAAW,IAAI,CAAC,YAAY;MACzC,QAAA,IAAA,CAAA,cAAc,GAAW,IAAI,CAAC,aAAa;MAC3C,QAAA,IAAA,CAAA,YAAY,GAAW,IAAI,CAAC,YAAY;MACxC,QAAA,IAAA,CAAA,aAAa,GAAW,IAAI,CAAC,aAAa;cAC1C,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa;MAC5D,QAAA,IAAqB,CAAA,qBAAA,GAAG,IAAI;MAC5B,QAAA,IAAc,CAAA,cAAA,GAAG,EAAE;MACnB,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC;MACV,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC;MAEV,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI;MACd,QAAA,IAAQ,CAAA,QAAA,GAAqB,IAAI;MAyT3C;MAvTC,IAAA,MAAM,iBAAiB,GAAA;MACrB,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;cAC9G,IAAI,CAAC,gBAAgB,EAAE;;UAGzB,gBAAgB,GAAA;cACd,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,QAAQ,CAAC,OAAO,IAAG;MACjB,YAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;MAC3B,gBAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK;MAC7C,gBAAA,IAAI,CAAC,aAAa,GAAG,aAAa;MAClC,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;;kBAGhF,IAAI,CAAC,kBAAkB,EAAE;MAC3B,SAAC,EAAE,GAAG,CAAC,CACR;cAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;;UAG7C,kBAAkB,GAAA;;cAEhB,IAAI,CAAC,kBAAkB,EAAE;;UAG3B,oBAAoB,GAAA;;cAClB,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;cACjC,IAAI,CAAC,kBAAkB,EAAE;;MAG3B,IAAA,MAAM,gBAAgB,GAAA;cACpB,IAAI,CAAC,kBAAkB,EAAE;MACzB,QAAA,KAAK,CAAC,SAAS,CACb,WAAW,EACX,IAAI,CAAC,UAAU,EACf,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EACjD,KAAK,EACL,CAAC,QAAmB,KAAI;MACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;MACxB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;MACtB,SAAC,CACF;;UAGH,kBAAkB,GAAA;MAChB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;kBAC3B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;MAChD,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;;;UAIlC,kBAAkB,GAAA;;;MAGhB,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;MAC9B,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;kBAClC;;cAGF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY;MACrD,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;MAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;cAGtB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa;MACvD,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;MAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;MAGtB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;kBAErB,WAAW,EAAE,IAAI,CAAC,WAAW;kBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;kBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;kBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;kBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;kBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;kBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;kBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;kBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;kBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;kBAC7B,MAAM;kBACN,MAAM;MACP,SAAA,CAAC;;UAGJ,MAAM,GAAA;MACJ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;kBAChB,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAC,2DAA2D,EAAC,KAAK,EAAC,aAAa,EAAC,GAAG,EAAC,kBAAkB,EAAG,CAAA,CAC7G;;MAIX,QAAA,MAAM,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,cAAc,IAAI;MAEzC,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,CAAA,IAAA,EAAO,MAAM,CAAA,CAAE,EAAC,EACpE,EAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAG;;MACvB,YAAA,OAAA,KAAK,CAAC,IAAI,KAAK,KAAK,IAClB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sCAAsC,EAAC,EAAE,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAC,MAAM,EAAC,EACvG,EAAA,KAAK,CAAC,IAAI,KAAK,UAAU;MACxB,gBAAA,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,KAAI,EAAE;2BACzB,MAAM,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU;2BAChG,GAAG,CAAC,KAAK,IAAG;;MACX,oBAAA,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC;0BAC5B,IAAI,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,GAAG,KAAK;MACnC,oBAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAC,GAAG,IAAI;MAC/E,oBAAA,IAAI,CAAA,MAAA,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,IAAG,CAAC,IAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,UAAU,CAAC,0CAAE,OAAO,IAAG,CAAC,EAAE;8BACnE,IAAI,GAAG,UAAU;8BACjB,SAAS,GAAG,IAAI;;0BAElB,QAAQ,IAAW;MACjB,wBAAA,KAAK,SAAS;MACZ,4BAAA,QACE,CACE,CAAA,uBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,UAAU;kCACb,QACE,CACE,CAAA,wBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,MAAM;kCACT,QACE,CACE,CAAA,oBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,YAAY;kCACf,QACE,CACE,CAAA,0BAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,UAAU;kCACb,QACE,CACE,CAAA,wBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,SAAS;kCACZ,QACE,CACE,CAAA,uBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,WAAW;MACd,4BAAA,QACE,CACE,CAAA,yBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EACxD,CAAA;MAEN,wBAAA,KAAK,WAAW;kCACd,QACE,CACE,CAAA,yBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,UAAU;kCACb,QACE,CACE,CAAA,wBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA,KAAK,OAAO;kCACV,QACE,CACE,CAAA,qBAAA,EAAA,EAAA,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAI,EACf,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9C,CAAA;MAEN,wBAAA;kCACE,OAAO,CAAC,CAAA,QAAQ,EAAE,IAAA,EAAA,IAAI,CAAY;;MAExC,iBAAC,CAAC,CACF,IACJ,IAAI,CAAC,cAAc,IACrB,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,0CAA0C,EAChD,EAAE,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,KAAK,CAAC,IAAI,CAAE,CAAA,EACvC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,UAAU,CAAE,CAAA,EACjB,aAAA,EAAA,IAAI,EACjB,OAAO,EAAC,MAAM,EACd,MAAM,EAAE,CAAC,CAAM,KAAI;;;;;;;;0BAQjB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY;0BACzC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa;0BAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa;0BACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW;MACzD,oBAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;MAC/D,iBAAC,EAAA,CACD,KAEF,CAAA,CAAA,KAAA,EAAA,IAAA,CAAW,CACZ;eAAA,CACF,CACI;;;;;;MC7Zb,MAAM,qBAAqB,GAAG,4vDAA4vD;;YCiB7wD,kBAAkB,mCAAA,MAAA;MAL/B,IAAA,WAAA,CAAA,OAAA,EAAA;;MAUE;;MAEG;MACK,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE;MAEzB;;MAEG;MACK,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE;MAEzB;;MAEG;MACK,QAAA,IAAS,CAAA,SAAA,GAAc,QAAQ;MAEvC;;MAEG;;cAGM,IAAA,CAAA,WAAW,GAAG,CAAA,qBAAA,EAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAE;MAoD7F;UAlDC,gBAAgB,GAAA;MACd,QAAA,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;kBAC5D,SAAS,EAAE,IAAI,CAAC,SAAS;MACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,EAAC,CAAC,GAAG,EAAE;MAC3F,SAAA,CAAC;;;;;UAMJ,oBAAoB,GAAA;MAClB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;MACvB,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;MAC7B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;;UAI9B,IAAI,GAAA;;MACF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;MAC3C,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAA,CAAG,KAAK,CAAC,MAAO,GAAC,CAAC;;UAG/C,IAAI,GAAA;;cACF,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,CAAC,WAAW,CAAC;;;;;UAO5C,MAAM,GAAA;MACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,EAAA,EACb,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,kBAAA,EACoB,IAAI,CAAC,WAAW,EAClC,KAAK,EAAC,MAAM,EACZ,SAAS,EAAE,IAAI,CAAC,IAAI,EACpB,YAAY,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAC/B,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAC1B,YAAY,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAC/B,MAAM,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EACzB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,EAAoB,CAAC,EAC/C,CAAA,EACF,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAwB,uBAAA,EAAA,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAoB,CAAC,EAAA,EAC9I,IAAI,CAAC,IAAI,EACV,CAAuB,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,mBAAA,EAAA,MAAM,EAAC,KAAK,EAAC,OAAO,EAAG,CAAA,CAC1C,CACD;;;;;;;;;;;"}