@verdocs/web-sdk 6.7.6 → 6.7.8

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 (99) hide show
  1. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +40 -0
  2. package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.cjs.js.map +1 -1
  3. package/dist/cjs/verdocs-preview_7.cjs.entry.js +13 -0
  4. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  6. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +1 -1
  7. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  8. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +8 -0
  9. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  10. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +8 -0
  11. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  12. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +8 -0
  13. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  14. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +8 -0
  15. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -1
  16. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +8 -0
  17. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  18. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +13 -0
  19. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  20. package/dist/components/{p-CStsF8-Q.js → p-2a5BepGH.js} +10 -2
  21. package/dist/components/p-2a5BepGH.js.map +1 -0
  22. package/dist/components/{p-CC0KCzJ2.js → p-BHEOQ17Z.js} +10 -2
  23. package/dist/components/p-BHEOQ17Z.js.map +1 -0
  24. package/dist/components/{p-Ct99f25g.js → p-CF5pFKnE.js} +10 -2
  25. package/dist/components/p-CF5pFKnE.js.map +1 -0
  26. package/dist/components/{p-Bpu-zxZH.js → p-DBBlAqIk.js} +10 -2
  27. package/dist/components/p-DBBlAqIk.js.map +1 -0
  28. package/dist/components/{p-BiI11z4K.js → p-DLnIBwoL.js} +21 -8
  29. package/dist/components/p-DLnIBwoL.js.map +1 -0
  30. package/dist/components/{p-DcLwCcej.js → p-Dd2t1rHp.js} +7 -7
  31. package/dist/components/{p-DcLwCcej.js.map → p-Dd2t1rHp.js.map} +1 -1
  32. package/dist/components/{p-BndCPrX4.js → p-Ji7aYztL.js} +8 -8
  33. package/dist/components/{p-BndCPrX4.js.map → p-Ji7aYztL.js.map} +1 -1
  34. package/dist/components/{p-CxGK9zOT.js → p-P4_At65H.js} +10 -2
  35. package/dist/components/p-P4_At65H.js.map +1 -0
  36. package/dist/components/verdocs-build.js +8 -8
  37. package/dist/components/verdocs-field-date.js +1 -1
  38. package/dist/components/verdocs-field-initial.js +1 -1
  39. package/dist/components/verdocs-field-signature.js +1 -1
  40. package/dist/components/verdocs-field-textarea.js +1 -1
  41. package/dist/components/verdocs-field-textbox.js +1 -1
  42. package/dist/components/verdocs-preview.js +1 -1
  43. package/dist/components/verdocs-sign.js +1 -1
  44. package/dist/components/verdocs-sign.js.map +1 -1
  45. package/dist/components/verdocs-template-document-page.js +1 -1
  46. package/dist/components/verdocs-template-fields.js +1 -1
  47. package/dist/esm/verdocs-field-attachment_11.entry.js +40 -0
  48. package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
  49. package/dist/esm/verdocs-preview_7.entry.js +13 -0
  50. package/dist/esm/verdocs-sign.entry.js +1 -1
  51. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  52. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  53. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  54. package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
  55. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  56. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  57. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  58. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  59. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +1 -0
  60. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +1 -0
  61. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +1 -0
  62. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -0
  63. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -0
  64. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -0
  65. package/dist/verdocs-web-sdk/p-2fc45c1b.system.entry.js +2 -0
  66. package/dist/verdocs-web-sdk/p-2fc45c1b.system.entry.js.map +1 -0
  67. package/dist/verdocs-web-sdk/{p-bd84c406.entry.js → p-305673ce.entry.js} +2 -2
  68. package/dist/verdocs-web-sdk/{p-bd84c406.entry.js.map → p-305673ce.entry.js.map} +1 -1
  69. package/dist/verdocs-web-sdk/{p-c3557409.entry.js → p-6148dc32.entry.js} +2 -2
  70. package/dist/verdocs-web-sdk/p-6148dc32.entry.js.map +1 -0
  71. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  72. package/dist/verdocs-web-sdk/p-D6E34dJC.system.js.map +1 -0
  73. package/dist/verdocs-web-sdk/p-DCaBxbVE.system.js.map +1 -0
  74. package/dist/verdocs-web-sdk/p-Do292p0X.system.js.map +1 -0
  75. package/dist/verdocs-web-sdk/{p-fb51cfc3.system.entry.js → p-a2135508.system.entry.js} +2 -2
  76. package/dist/verdocs-web-sdk/{p-fb51cfc3.system.entry.js.map → p-a2135508.system.entry.js.map} +1 -1
  77. package/dist/verdocs-web-sdk/{p-54570885.system.entry.js → p-d9fea7c9.system.entry.js} +2 -2
  78. package/dist/verdocs-web-sdk/p-d9fea7c9.system.entry.js.map +1 -0
  79. package/dist/verdocs-web-sdk/p-f5fc60d8.entry.js +2 -0
  80. package/dist/verdocs-web-sdk/p-f5fc60d8.entry.js.map +1 -0
  81. package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.esm.js.map +1 -1
  82. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  83. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  84. package/package.json +3 -3
  85. package/dist/components/p-BiI11z4K.js.map +0 -1
  86. package/dist/components/p-Bpu-zxZH.js.map +0 -1
  87. package/dist/components/p-CC0KCzJ2.js.map +0 -1
  88. package/dist/components/p-CStsF8-Q.js.map +0 -1
  89. package/dist/components/p-Ct99f25g.js.map +0 -1
  90. package/dist/components/p-CxGK9zOT.js.map +0 -1
  91. package/dist/verdocs-web-sdk/p-135a0f52.system.entry.js +0 -2
  92. package/dist/verdocs-web-sdk/p-135a0f52.system.entry.js.map +0 -1
  93. package/dist/verdocs-web-sdk/p-2b82e085.entry.js +0 -2
  94. package/dist/verdocs-web-sdk/p-2b82e085.entry.js.map +0 -1
  95. package/dist/verdocs-web-sdk/p-54570885.system.entry.js.map +0 -1
  96. package/dist/verdocs-web-sdk/p-CYt-EjVy.system.js.map +0 -1
  97. package/dist/verdocs-web-sdk/p-D1_QXyvS.system.js.map +0 -1
  98. package/dist/verdocs-web-sdk/p-c3557409.entry.js.map +0 -1
  99. package/dist/verdocs-web-sdk/p-r1Xitom6.system.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-D1_QXyvS.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\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n\n .document-separator {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 20px;\n width: 100%;\n max-width: 1028px; // Match standard page width + margins\n box-sizing: border-box;\n background-color: $verdocs-grey-1;\n color: white;\n border-radius: 6px;\n font-size: 16px;\n font-weight: 500;\n margin-top: 20px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n\n svg {\n flex-shrink: 0;\n }\n\n // Remove margin for the very first one if desired, but 20px spacing is probably good even for the first one\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n // Formerly inline styles, moved here for responsive control\n .signed-document-container {\n width: 64%;\n margin-left: 260px;\n transition: all 0.3s ease;\n\n &.zoom-normal {\n width: 64%;\n margin-left: 260px;\n }\n\n &.zoom-zoom1 {\n width: 80%;\n margin-left: 200px;\n }\n\n &.zoom-zoom2 {\n width: 100%;\n margin-left: 150px;\n\n .verdocs-flag-instance {\n opacity: 0;\n pointer-events: none;\n }\n }\n }\n\n @media (max-width: 768px) {\n verdocs-sign-footer {\n padding: 0 10px;\n\n .buttons {\n gap: 8px;\n\n button {\n font-size: 10px;\n }\n }\n }\n\n .signed-document-container {\n width: 100%;\n margin-left: 0;\n\n // Ensure specific zoom levels don't override the mobile layout\n &.zoom-normal,\n &.zoom-zoom1,\n &.zoom-zoom2 {\n width: 100%;\n margin-left: 0;\n }\n }\n\n > .document {\n padding-right: 15px;\n }\n\n // Hide flags on mobile\n .verdocs-flag-instance {\n display: none !important;\n }\n\n // Hide toolbars on mobile\n .controls-toolbar {\n .center-controls {\n display: none;\n }\n\n .right-controls {\n .mobile-next-button {\n display: block;\n margin-right: 10px;\n }\n\n .minus,\n .plus {\n display: none;\n }\n }\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 .controls-toolbar,\n .verdocs-flag-instance,\n verdocs-signing-progress {\n display: none !important;\n }\n\n verdocs-sign {\n min-height: auto;\n background-color: white;\n\n > .document {\n overflow: visible;\n height: auto;\n display: block; // Flex can cause print issues\n padding: 0;\n margin: 0;\n\n .document-separator {\n display: none;\n }\n }\n\n .signed-document-container {\n width: 100%;\n margin: 0;\n }\n }\n}\n\n// Styled separately because this toolbar can be reparented\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\n.controls-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 54px;\n // 24px by design but the design had the right-most icon flush against the edge.\n // Since we have extra padding on the icons to make them more clickable, we need\n // to reduce the right padding here.\n padding: 0 12px 0 24px;\n background-color: #ffffff;\n border-bottom: 1px solid #e0e0e0;\n box-shadow: none;\n font-family: 'Inter', sans-serif;\n color: #424242;\n z-index: 1000;\n\n .left-controls {\n flex: 1;\n display: flex;\n align-items: center;\n\n .title {\n font-weight: 500;\n font-size: 16px;\n color: #242424;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .center-controls {\n flex: 1;\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 14px;\n display: none; // Temporary hide\n\n .label {\n color: #000000;\n font-weight: 300;\n }\n\n .select-wrapper {\n // Wrapper styles from before were mainly for the native select arrow logic.\n // With verdocs-select-input, we might not need as much here, but let's keep it clean.\n display: flex;\n align-items: center;\n\n verdocs-select-input {\n margin: 0;\n\n // Hide the label block inside the component\n .input-label {\n display: none;\n }\n\n .input-element {\n background: transparent;\n border: 1px solid #e0e0e0;\n height: 32px; // Match button height\n padding: 2px 8px;\n min-width: 60px;\n text-align: center;\n font-family: inherit;\n color: #424242;\n\n &:focus {\n border-color: #2a63f6;\n }\n }\n }\n }\n\n .count {\n color: #000000;\n font-weight: 300;\n }\n }\n\n .right-controls {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n // NOTE: This is the expected gap, but we built it into additional padding in the icons\n // to make them more clickable.\n // gap: 12px;\n\n .mobile-next-button {\n display: none;\n }\n\n .icon-button {\n width: 32px;\n height: 32px;\n display: flex;\n color: #424242;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s;\n\n &:hover {\n background-color: #f5f5f5;\n }\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n\n svg {\n display: block;\n width: 20px;\n height: 20px;\n }\n }\n }\n}\n","import {Element, Event, EventEmitter, Host, Fragment, Component, Prop, State, h} from '@stencil/core';\nimport {askQuestion, DEFAULT_DISCLOSURES, integerSequence, isFieldFilled, isFieldValid} from '@verdocs/js-sdk';\nimport {verifySigner, IEnvelope, IEnvelopeField, IRecipient, TAuthenticateRecipientRequest, getEnvelope} 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 {uploadEnvelopeFieldAttachment, VerdocsEndpoint, TRecipientAuthMethod, getEnvelopeDocumentDownloadLink, getEnvelopesZip} from '@verdocs/js-sdk';\nimport {getFieldId, renderDocumentField, renderDocumentFlag, updateDocumentFieldValue, defaultHeight} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {DocumentPageIcon} from '../../../utils/Icons';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst ToolbarMinusIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11 8C11.2761 8 11.5 8.22386 11.5 8.5C11.5 8.77614 11.2761 9 11 9H6C5.72386 9 5.5 8.77614 5.5 8.5C5.5 8.22386 5.72386 8 6 8H11ZM14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83879 14 11.0659 13.5217 12.0196 12.7266L16.1464 16.8536L16.2157 16.9114C16.4106 17.0464 16.68 17.0271 16.8536 16.8536C17.0488 16.6583 17.0488 16.3417 16.8536 16.1464L12.7266 12.0196C13.5217 11.0659 14 9.83879 14 8.5ZM4 8.5C4 6.01472 6.01472 4 8.5 4C10.9853 4 13 6.01472 13 8.5C13 10.9853 10.9853 13 8.5 13C6.01472 13 4 10.9853 4 8.5Z\" fill=\"#424242\" /></svg>`;\nconst ToolbarPlusIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.5 8.5C11.5 8.22386 11.2761 8 11 8H9V6C9 5.72386 8.77614 5.5 8.5 5.5C8.22386 5.5 8 5.72386 8 6V8H6C5.72386 8 5.5 8.22386 5.5 8.5C5.5 8.77614 5.72386 9 6 9H8V11C8 11.2761 8.22386 11.5 8.5 11.5C8.77614 11.5 9 11.2761 9 11V9H11C11.2761 9 11.5 8.77614 11.5 8.5ZM8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z\" fill=\"#424242\" /></svg>`;\nconst ToolbarDownloadIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.5 16.9988C15.7761 16.9988 16 17.2226 16 17.4988C16 17.7442 15.8231 17.9484 15.5899 17.9907L15.5 17.9988H4.5C4.22386 17.9988 4 17.7749 4 17.4988C4 17.2533 4.17688 17.0492 4.41012 17.0068L4.5 16.9988H15.5ZM10.0001 2.00098C10.2456 2.00098 10.4497 2.17798 10.492 2.41124L10.5 2.50112L10.496 14.295L14.1414 10.6466C14.3148 10.4729 14.5842 10.4534 14.7792 10.5882L14.8485 10.646C15.0222 10.8194 15.0418 11.0888 14.907 11.2838L14.8492 11.3531L10.3574 15.8531C10.285 15.9257 10.1957 15.9714 10.1021 15.9901L9.99608 15.9999C9.83511 15.9999 9.69192 15.9237 9.60051 15.8056L5.14386 11.3537C4.94846 11.1586 4.94823 10.842 5.14336 10.6466C5.3168 10.4729 5.58621 10.4534 5.78117 10.5883L5.85046 10.6461L9.496 14.287L9.5 2.50083C9.50008 2.22469 9.724 2.00098 10.0001 2.00098Z\" fill=\"#424242\"/></svg>`;\nconst ToolbarPrintIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 4.5C5 3.67157 5.67157 3 6.5 3H13.5C14.3284 3 15 3.67157 15 4.5V5H15.5C16.8807 5 18 6.11929 18 7.5V12.5C18 13.3284 17.3284 14 16.5 14H15V15.5C15 16.3284 14.3284 17 13.5 17H6.5C5.67157 17 5 16.3284 5 15.5V14H3.5C2.67157 14 2 13.3284 2 12.5V7.5C2 6.11929 3.11929 5 4.5 5H5V4.5ZM6 5H14V4.5C14 4.22386 13.7761 4 13.5 4H6.5C6.22386 4 6 4.22386 6 4.5V5ZM5 13V11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V13H16.5C16.7761 13 17 12.7761 17 12.5V7.5C17 6.67157 16.3284 6 15.5 6H4.5C3.67157 6 3 6.67157 3 7.5V12.5C3 12.7761 3.22386 13 3.5 13H5ZM6.5 11C6.22386 11 6 11.2239 6 11.5V15.5C6 15.7761 6.22386 16 6.5 16H13.5C13.7761 16 14 15.7761 14 15.5V11.5C14 11.2239 13.7761 11 13.5 11H6.5Z\" fill=\"#424242\"/></svg>`;\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 * ```js\n * document.on('sdkError', 'verdocs-sign', (e) => {\n * //\n * });\n * ```\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 @Element() el: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop({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 * The style of the toolbar to display.\n */\n @Prop() toolbarStyle: 'controls' | 'menu' = 'controls';\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() 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() fieldUpdateCounter = 0;\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\n @State() documentsSingularPlural = 'document';\n @State() authStep: string | null = null;\n @State() authMethodStates: Partial<Record<TRecipientAuthMethod, string>> = {};\n @State() pageNumber = 1;\n @State() kbaQuestions: IKBAQuestion[] | null = null;\n @State() showSpinner = false;\n // @State() fieldUpdateCounter = 0;\n @State() declining = false;\n @State() delegating = false;\n @State() delegated = false;\n @State() kbaChoices = [];\n @State() showDownloadDialog = false;\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n @State() zoomLevel: 'normal' | 'zoom1' | 'zoom2' = 'normal';\n @State() signingProgressMode: 'start' | 'signing' | 'completed' = 'start';\n @State() polling = true;\n\n private renderedPages: Record<string, IDocumentPageInfo> = {};\n private observer: IntersectionObserver;\n private pollingInterval: any = null;\n\n async componentDidLoad() {\n this.updateZoomFromWindow();\n window.addEventListener('resize', () => this.updateZoomFromWindow());\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 this.setupIntersectionObserver();\n }\n\n disconnectedCallback() {\n this.stopPolling();\n this.observer?.disconnect();\n window.removeEventListener('resize', () => this.updateZoomFromWindow());\n }\n\n updateZoomFromWindow() {\n const width = window.innerWidth;\n if (width < 768) {\n if (this.zoomLevel !== 'zoom2') this.zoomLevel = 'zoom2';\n } else if (width < 1024) {\n if (this.zoomLevel !== 'zoom1') this.zoomLevel = 'zoom1';\n } else {\n if (this.zoomLevel !== 'normal') this.zoomLevel = 'normal';\n }\n }\n\n setupIntersectionObserver() {\n // We only want to set this up once the elements exist\n const pages = this.el.querySelectorAll('verdocs-envelope-document-page');\n if (pages.length === 0) return;\n\n if (this.observer) {\n this.observer.disconnect();\n }\n\n const container = this.el.querySelector('.signed-document-container');\n const options = {\n root: container,\n rootMargin: '-40% 0px -40% 0px', // Helper to trigger when the middle 20% is visible\n threshold: 0,\n };\n\n this.observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n const pageId = entry.target.id; // page-1\n const pageNum = parseInt(pageId.replace('page-', ''), 10);\n if (!isNaN(pageNum) && this.pageNumber !== pageNum) {\n // console.log('[SIGN] Updated page number via scroll', pageNum);\n this.pageNumber = pageNum;\n }\n }\n });\n }, options);\n\n pages.forEach(page => this.observer.observe(page));\n }\n\n processAuthResponse(response: ISignerTokenResponse) {\n const {envelope, recipient} = response;\n\n envelope.documents?.sort((a, b) => (a.order !== b.order ? a.order - b.order : a.created_at.localeCompare(b.created_at)));\n\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 handlePageSelect(e: any) {\n const pageNumber = parseInt(e.target.value);\n if (!isNaN(pageNumber)) {\n this.pageNumber = pageNumber;\n // We manually scroll the container to the top of the page element.\n // This avoids issues where the page might be nested or scrollIntoView behaves unexpectedly.\n const container = this.el.querySelector('.signed-document-container');\n const pageEl = this.el.querySelector(`#page-${pageNumber}`) as HTMLElement;\n\n if (container && pageEl) {\n // 20px buffer for visual spacing\n const top = pageEl.offsetTop - 20;\n container.scrollTo({top, behavior: 'smooth'});\n }\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 this.showDownloadDialog = true;\n this.startPolling();\n break;\n }\n }\n\n startPolling() {\n this.stopPolling();\n\n const checkPollingConditions = () => {\n // NOTE: Polling logic for finalizing envelope\n const isSigned = this.envelope?.status === 'complete' || !!this.envelope?.signed;\n const hasCertificate = this.envelope?.documents?.some(d => d.type === 'certificate');\n const allRecipientsSubmitted = this.envelope?.recipients?.every(r => r.status === 'submitted');\n\n if (isSigned && hasCertificate) return false;\n if (!allRecipientsSubmitted) return false;\n\n return true;\n };\n\n if (!checkPollingConditions()) {\n return;\n }\n\n this.polling = true;\n this.pollingInterval = setInterval(async () => {\n try {\n const envelope = await getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n Store.updateEnvelope(this.envelopeId, envelope);\n this.checkRecipientFields();\n\n if (!checkPollingConditions()) {\n this.stopPolling();\n }\n } catch (e) {\n console.error('[SIGN] Polling error', e);\n this.stopPolling();\n }\n }, 5000);\n }\n\n stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n this.polling = false;\n }\n\n handleZoomIn() {\n if (this.zoomLevel === 'normal') {\n this.zoomLevel = 'zoom1';\n } else if (this.zoomLevel === 'zoom1') {\n this.zoomLevel = 'zoom2';\n }\n }\n\n handleZoomOut() {\n if (this.zoomLevel === 'zoom1') {\n this.zoomLevel = 'normal';\n } else if (this.zoomLevel === 'zoom2') {\n this.zoomLevel = 'zoom1';\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.fieldUpdateCounter++;\n this.markEnvelopeStarted();\n this.checkRecipientFields();\n }\n });\n }\n\n getStartedKey() {\n return `${this.envelopeId}:${this.recipient?.role_name || ''}`;\n }\n\n markEnvelopeStarted() {\n const startedEnvelopes = JSON.parse(localStorage.getItem('startedEnvelopes') || '[]') as string[];\n const key = this.getStartedKey();\n if (!startedEnvelopes.includes(key)) {\n startedEnvelopes.push(key);\n while (startedEnvelopes.length > 10) {\n startedEnvelopes.shift();\n }\n localStorage.setItem('startedEnvelopes', JSON.stringify(startedEnvelopes));\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 if (!e.target) {\n return;\n }\n\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' && !field.readonly);\n sortFields(recipientFields);\n return recipientFields;\n }\n\n /** Like getSortedFillableFields but includes readonly fields, for rendering purposes only. */\n getSortedDisplayableFields() {\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 } catch (e) {\n console.log('[SIGN] Error submitting', e);\n this.submitting = false;\n VerdocsToast('Unable to submit document, please try again.', {style: 'error'});\n }\n\n return;\n }\n\n // Find all unfilled fields and move to the next one in sequence\n const allUnfilled = this.getSortedFillableFields().filter(f => !this.isFieldActuallyFilled(f));\n const nextUnfilled = this.getNextFieldFromList(allUnfilled);\n\n if (nextUnfilled) {\n const id = getFieldId(nextUnfilled);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});\n el?.focusField();\n this.focusedField = nextUnfilled.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\n this.updateAllFlags();\n\n // We need a way to know if the user has started signing. But after trying two\n // obvious ways (has the user adopted a signature? are any fields filled in yet?)\n // they both had flaws (we could be carrying over a sig from a previous session,\n // and things like defaults and auto-filled fields make the filled-field approach\n // tricky to maintain).\n\n // This is sort of a Hail Mary but it works well for now. We just keep a variable\n // in localStorage that tracks the last 10 envelopes the user has \"started\".\n // We never get a chance to clean them up but 10 GUIDs is tiny compared to what\n // many apps store in a user's browser.\n const startedEnvelopes = JSON.parse(localStorage.getItem('startedEnvelopes') || '[]') as string[];\n const hasStarted = startedEnvelopes.includes(this.getStartedKey());\n\n if (this.nextSubmits) {\n this.signingProgressMode = 'completed';\n } else if (hasStarted) {\n this.signingProgressMode = 'signing';\n } else {\n this.signingProgressMode = 'start';\n }\n }\n\n isFieldActuallyFilled(field: IEnvelopeField) {\n if (field.type === 'radio' && field.group) {\n const groupFilled = this.getRecipientFields().some(f => f.group === field.group && f.value === 'true');\n if (groupFilled) {\n return true;\n }\n }\n\n return (\n isFieldFilled(field, this.getRecipientFields()) &&\n (field.type !== 'dropdown' || !!field.value) &&\n (field.type !== 'radio' || field.value === 'true') &&\n (field.type !== 'checkbox' || field.value === 'true')\n );\n }\n\n getNextRequiredField() {\n // Find and focus the next incomplete field (that is fillable)\n const emptyFields = this.getSortedFillableFields().filter(field => field.required && !this.isFieldActuallyFilled(field));\n sortFields(emptyFields);\n\n if (emptyFields.length === 0) {\n const allUnfilled = this.getSortedFillableFields().filter(field => !this.isFieldActuallyFilled(field));\n sortFields(allUnfilled);\n if (allUnfilled.length > 0) {\n // If we are here, there are no required fields left, but there are optional ones.\n return this.getNextFieldFromList(allUnfilled);\n }\n return null;\n }\n\n return this.getNextFieldFromList(emptyFields);\n }\n\n getNextFieldFromList(fields: IEnvelopeField[]) {\n const focusedIndex = fields.findIndex(field => field.name === this.focusedField);\n let nextFocusedIndex = focusedIndex + 1;\n if (nextFocusedIndex >= fields.length) {\n nextFocusedIndex = 0;\n }\n\n // Note: isFieldFilled check above should handle 'initialed'/'signed'.\n return fields[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.values(this.renderedPages).forEach(pageInfo => {\n this.updateFlagsForPage(pageInfo);\n });\n }\n\n updateFlagsForPage(pageInfo: IDocumentPageInfo) {\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 let nextField = this.getNextRequiredField();\n const focusedFieldObj = this.getRecipientFields().find(f => f.name === this.focusedField);\n\n // If the currently focused field is unfilled, we should point the flag to IT, not the next one.\n // getNextRequiredField() is designed for the \"Next\" button (skipping current), but the visual flag\n // should guide the user to the current task if it's incomplete.\n if (focusedFieldObj && !isFieldFilled(focusedFieldObj, this.getRecipientFields())) {\n nextField = focusedFieldObj;\n }\n\n if (nextField && nextField.page === pageInfo.pageNumber && nextField.document_id === pageInfo.documentId) {\n const variant = 'fill';\n let label = 'FILL';\n let showSkip = false;\n\n if (!nextField.required) {\n label = 'FILL';\n showSkip = true; // Use the X to skip? Or just text? \"Fill or Skip\" implies maybe just text.\n }\n\n renderDocumentFlag(pageInfo, nextField.y, nextField.height || defaultHeight(nextField.type), {\n variant,\n label,\n showSkip,\n onSkip: () => {\n this.handleNext();\n },\n onClick: () => {\n const id = getFieldId(nextField);\n const el = document.getElementById(id) as any;\n el?.scrollIntoView({behavior: 'smooth', block: 'center'});\n el?.focusField?.();\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 // Signature/Initial fields handle their own changes via fieldChange/adopt events, so we ignore focusout to prevent double-saves.\n if (\n field.type !== 'dropdown' &&\n field.type !== 'attachment' &&\n field.type !== 'signature' &&\n field.type !== 'initial' &&\n field.type !== 'checkbox' &&\n field.type !== 'radio'\n ) {\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 el.addEventListener('adopt', () => {\n this.focusedField = field.name;\n this.adoptingSignature = true;\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.documentId}:${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.getSortedDisplayableFields();\n // console.log('[SIGN] Rendering fields for page', pageInfo.pageNumber, recipientFields);\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);\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 console.log(e.response?.data);\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 <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-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 </Host>\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 <verdocs-passcode-dialog endpoint={this.endpoint} onNext={e => this.processAuthResponse(e.detail.response)} />;\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 const totalPages = this.envelope.documents.reduce((acc, doc) => acc + doc.pages, 0);\n const pageOptions = integerSequence(1, totalPages).map(p => ({label: p.toString(), value: p.toString()}));\n let globalPageCounter = 0;\n\n return (\n <Host>\n {this.toolbarStyle === 'menu' && (\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\n {this.toolbarStyle === 'controls' && (\n <div class=\"controls-toolbar\">\n <div class=\"left-controls\">\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n <div class=\"center-controls\">\n <span class=\"label\">Page</span>\n <div class=\"select-wrapper\">\n <verdocs-select-input options={pageOptions} value={this.pageNumber.toString()} onInput={e => this.handlePageSelect(e)} />\n </div>\n <span class=\"count\">of {totalPages}</span>\n </div>\n <div class=\"right-controls\">\n <verdocs-button class=\"mobile-next-button\" label={this.nextButtonLabel} size=\"xsmall\" disabled={!this.agreed || this.submitting} onClick={() => this.handleNext()} />\n <div class={{'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal'}} innerHTML={ToolbarMinusIcon} onClick={() => this.handleZoomOut()} />\n <div class={{'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2'}} innerHTML={ToolbarPlusIcon} onClick={() => this.handleZoomIn()} />\n <div class=\"icon-button download\" innerHTML={ToolbarDownloadIcon} onClick={() => this.handleOptionSelected({detail: {id: 'download'}})} />\n <div class=\"icon-button print\" innerHTML={ToolbarPrintIcon} onClick={() => this.handleOptionSelected({detail: {id: 'print'}})} />\n </div>\n </div>\n )}\n\n <verdocs-signing-progress\n mode={this.signingProgressMode}\n focusedField={this.focusedField}\n fields={this.getSortedFillableFields()}\n recipientFields={this.getRecipientFields()}\n onStarted={() => {\n this.adoptingSignature = true;\n }}\n onNext={() => this.handleNext()}\n onPrevious={() => this.handlePrev()}\n onExit={() => this.handleNext()}\n />\n\n <div class={`document signed-document-container zoom-${this.zoomLevel}`}>\n {(this.envelope.documents || []).map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {this.envelope.documents.length > 1 && (\n <div class=\"document-separator\">\n <div innerHTML={DocumentPageIcon} />\n <span>{envelopeDocument.name}</span>\n </div>\n )}\n\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n globalPageCounter++;\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 id={`page-${globalPageCounter}`}\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 nameLocked={!!this.recipient?.name_locked}\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 this.markEnvelopeStarted();\n\n // Special case: if we were focusing a specific field, apply the new signature/initials to it immediately.\n // This is the \"secondary flow\" where the user clicks a field directly before adopting.\n if (this.focusedField) {\n const fieldObj = this.getRecipientFields().find(f => f.name === this.focusedField);\n if (fieldObj) {\n if (fieldObj.type === 'signature') {\n await this.handleFieldChange(fieldObj, {detail: this.signatureId});\n } else if (fieldObj.type === 'initial') {\n await this.handleFieldChange(fieldObj, {detail: this.initialId});\n }\n }\n this.focusedField = '';\n }\n\n // Update any existing field elements in the DOM with the new IDs. This prevents them from\n // needing to show the adoption dialog again if they are clicked.\n const sigFields = this.el.querySelectorAll('verdocs-field-signature');\n sigFields.forEach(el => el.setAttribute('signatureid', this.signatureId));\n\n const initFields = this.el.querySelectorAll('verdocs-field-initial');\n initFields.forEach(el => el.setAttribute('initialid', this.initialId));\n\n this.checkRecipientFields();\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.showDownloadDialog && (\n <verdocs-download-dialog\n signed={this.envelope.signed}\n polling={this.polling}\n documents={this.envelope.documents}\n onExit={() => {\n this.showDownloadDialog = false;\n this.stopPolling();\n }}\n onDownload={async e => {\n const {action, documentId} = e.detail as any;\n console.log('[SIGN] Download action selected:', action, documentId);\n\n try {\n if (action === 'document') {\n // Download main document(s)\n const targetDocId = documentId || this.envelope.documents.find(d => d.type === 'attachment')?.id;\n if (targetDocId) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, targetDocId);\n window.open(url, '_blank');\n }\n } else if (action === 'certificate') {\n const cert = this.envelope.documents.find(d => d.type === 'certificate');\n if (cert) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, cert.id);\n window.open(url, '_blank');\n } else {\n VerdocsToast('Certificate not yet available.', {style: 'info'});\n }\n } else if (action === 'zip') {\n // The helper in verdocs-view used getEnvelopesZip with an array\n const blob = await getEnvelopesZip(this.endpoint, [this.envelopeId]);\n const url = window.URL.createObjectURL(blob.data);\n const a = document.createElement('a');\n a.href = url;\n a.download = `${this.envelope.name}.zip`;\n document.body.appendChild(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n }\n } catch (err) {\n console.error('Download error', err);\n VerdocsToast('Unable to complete download request.', {style: 'error'});\n }\n }}\n />\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 +0,0 @@
1
- {"version":3,"names":["registerInstance","createEvent","h","Host","Fragment","getElement","VerdocsEndpoint","getTemplate","integerSequence","getOrganizationContacts","isValidEmail","createEnvelope","formatFullName","getRGBA","createTemplateDocument","deleteTemplateDocument","updateField","createField","updateTemplateRole","createTemplateRole","updateTemplate","renderDocumentField","getFieldId","updateCssTransform","removeCssTransform","setControlStyles","defaultHeight","defaultWidth","SDKError","Store","DefaultEndpoint","VerdocsToast","DocIcon","PngIcon","JpgIcon","PdfIcon","FileIcon","PageCountIcon","TrashIcon","DocumentPageIcon","dateFnsExports","interact","verdocsPreviewCss","VerdocsPreview","constructor","hostRef","this","sdkError","templateListenerId","renderedPages","endpoint","getDefault","templateId","loading","template","disconnectedCallback","unlistenToTemplate","listenToTemplate","subscribe","store","delListener","onTemplateIdChanged","newTemplateId","console","log","componentWillLoad","_a","_b","_c","loadSession","session","e","emit","message","response","status","data","handlePageRendered","pageInfo","detail","documentId","pageNumber","fields","filter","field","page","forEach","disabled","editable","draggable","render","documents","map","document","pageNumbers","pages","pageSize","page_sizes","width","height","template_id","id","done","virtualWidth","virtualHeight","onPageRendered","layers","name","type","watchers","style","getRoleNames","roles","role","getRoleIndex","role_name","Math","max","findIndex","verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","beforeSend","send","exit","searchContacts","environment","showCancel","containerId","random","toString","substring","showPickerForId","sessionContacts","sending","rolesCompleted","recomputeRolesCompleted","reset","onSessionChanged","_endpoint","_session","profile","me","first_name","last_name","email","phone","then","contacts","catch","rolesAtLevel","level","sequence","length","push","getSequenceNumbers","sequences","Object","keys","s","sort","a","b","getRolesAtLevel","index","getLevelIcon","class","innerHTML","handleSelectContact","preventDefault","handleClickRole","stopPropagation","handleSend","details","initial_reminder","followup_reminders","recipients","values","beforeSendResult","defaultPrevented","r","envelope_id","envelope","error","handleCancel","display","levels","rolesAssigned","recipient","allRolesAssigned","assignedEmails","toLowerCase","hasDuplicateEmails","Set","size","sendable","is_sendable","unknown","roleName","elId","roleIndex","rgba","completed","backgroundColor","border","onClick","anchor","onClickAway","onExit","onNext","contactSuggestions","templateRole","onSearchContacts","label","variant","verdocsTemplateAttachmentsCss","VerdocsTemplateAttachments","next","templateUpdated","uploading","progressLabel","progressPercent","showDeleteError","confirmDeleteDocument","handleUploadProgress","percent","handleUpload","_d","file","bind","event","handleNext","confirmDelete","handleDelete","getFileIcon","mime","title","showPercent","onFileSelected","heading","verdocsTemplateBuildTabsCss","HelpIcon","CopyIcon","STEPS","VerdocsTemplateBuildTabs","stepChanged","step","onStepChanged","newStep","setStep","tab","copyTemplateId","navigator","clipboard","writeText","duration","warn","_e","_f","_g","_h","_j","canEditRoles","canEditFields","canPreview","selectedStepIndex","indexOf","onSelectTab","selectedTab","tabs","icon","is_public","is_personal","counter","format","Date","created_at","verdocsTemplateFieldsCss","iconTextbox","iconCheck","iconRadio","iconDatepicker","iconSignature","iconInitial","iconDropdown","iconAttachment","separator","menuOptions","tooltip","VerdocsTemplateFields","fieldsUpdated","toolbarTargetId","placing","showMustSelectRole","selectedRoleName","pageHeights","cachedPageInfo","handleKeyDown","ev","key","componentDidRender","dynamicDrop","toolbarTarget","getElementById","toolbarEl","remove","append","componentWillUpdate","find","sorted","attachFieldAttributes","el","addEventListener","setAttribute","String","xScale","yScale","naturalHeight","document_id","makeDraggable","listeners","move","handleMoveField","end","handleMoveEnd","oldX","target","getAttribute","oldY","newX","dx","newY","dy","naturalWidth","renderedHeight","clientRect","getBoundingClientRect","parent","parentElement","parentRect","left","bottom","newPageNumber","parseInt","min","x","y","viewCoordinatesToPageCoordinates","params","updatedField","newTemplate","JSON","parse","stringify","fieldIndex","removeAttribute","generateFieldName","i","fieldName","some","viewX","viewY","xMax","yMax","floor","handleClickPage","clickedX","offsetX","clickedY","offsetY","cachedPage","coords","required","validator","default","placeholder","group","settings","multiline","readonly","options","newField","sortedRoles","selectableRoles","value","full_name","onSubmit","onInput","option","text","_defineProperty","t","_toPropertyKey","defineProperty","enumerable","configurable","writable","_extends","assign","n","arguments","hasOwnProperty","call","apply","ownKeys","getOwnPropertySymbols","o","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","propertyIsEnumerable","_toPrimitive","Symbol","toPrimitive","TypeError","Number","_typeof","iterator","prototype","version","userAgent","pattern","window","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","on","fn","off","removeEventListener","matches","selector","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","nodeType","parentNode","closest","ctx","includeCTX","R_SPACE","toggleClass","state","classList","className","replace","css","prop","val","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","tagName","list","getElementsByTagName","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","elRect","top","right","innerHeight","innerWidth","containerRect","elMatrix","scaleX","scaleY","d","isScrolledPast","elSide","parentSide","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","includeDragEl","currentChild","children","Sortable","ghost","dragged","lastChild","last","lastElementChild","previousElementSibling","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","indexOfObject","arr","obj","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","extend","dst","src","isRectEqual","rect1","rect2","round","_throttleTimeout","throttle","callback","ms","args","_this","setTimeout","cancelThrottle","clearTimeout","scrollBy","Polymer","$","jQuery","Zepto","dom","cloneNode","getChildContainingRectFromElement","ghostEl","rect","Array","from","child","_rect$left","_rect$top","_rect$right","_rect$bottom","animated","childRect","Infinity","expando","getTime","AnimationStateManager","animationStates","animationCallbackId","captureAnimationState","animation","slice","fromRect","thisAnimationDuration","childMatrix","f","addAnimationState","removeAnimationState","splice","animateAll","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","animationResetTimer","currentRect","translateX","translateY","animatingX","animatingY","forRepaintDummy","repaint","easing","offsetWidth","sqrt","pow","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","p","pluginName","concat","pluginEvent","eventName","sortable","evt","eventCanceled","cancel","eventNameGlobal","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","dispatchEvent","_ref","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","charAt","substr","CustomEvent","bubbles","cancelable","initEvent","to","item","pullMode","lastPutMode","undefined","allEventProperties","_excluded","dragEl","parentEl","nextEl","lastDownEl","cloneHidden","dragStarted","moved","activeSortable","active","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","activeGroup","awaitingDragStarted","ignoreNextClick","sortables","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","pastFirstInvertThresh","isCircumstantialInvert","targetMoveDistance","ghostRelativeParent","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","ret","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","join","originalGroup","checkPull","checkPut","put","revertClone","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","path","composedPath","_saveInputCheckedState","button","isContentEditable","criteria","trim","_prepareDragStart","ownerDocument","dragStartFn","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDraggable","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","_onTouchMove","_onDragStart","selection","_nextTick","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","c","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","extra","axis","onMove","after","_onMove","changed","insertion","_showClone","_ignoreWhileAnimating","elLastChild","_ghostIsLast","_ghostIsFirst","firstChild","targetBeforeFirstSwap","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","_getSwapDirection","sibling","dragIndex","nextElementSibling","moveVector","_unsilent","_offMoveEvents","_offUpEvents","clearInterval","_cancelNextTick","removeChild","save","checkEl","checked","handleEvent","_globalDragOver","toArray","order","_generateId","useAnimation","items","set","closest$1","destroy","querySelectorAll","dropEffect","willInsertAfter","onMoveFn","retVal","draggedRect","related","relatedRect","firstElRect","childContainingRect","spacer","lastElRect","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","str","href","sum","charCodeAt","root","inputs","idx","utils","is","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","autoScrolls","scrollEl","scrollRootEl","scrolling","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","AutoScrollPlugin","AutoScroll","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","_ref2","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","pid","isFallback","sens","speed","scrollThisInstance","scrollCustomFn","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","startIndex","dragStart","_ref3","Remove","_ref4","parentSortable","verdocsTemplateRolesCss","settingsIcon","plusIcon","iconSigner","iconApprover","iconCC","VerdocsTemplateRoles","rolesUpdated","showingRoleDialog","sender","dragging","sortableRefs","cleanupSortables","sr","sequenceNumbers","onEnd","onChoose","onUnchoose","fromSeq","dataset","toSeq","fromIndex","toIndex","sortableRoles","ras","getRolesAtSequence","renumberRequests","entries","targetSeq","targetOrder","Promise","all","async","handleSubmit","getSortedRoles","renumberTemplateRoles","targetOrderMinusOne","reduce","acc","seq","getNextRoleName","nextNumber","callCreateRole","delegator","name_locked","handleAddRole","handleAddStep","roleNames","nextSequence","autocomplete","onClose","onDelete","verdocsTemplateSettingsCss","MS_PER_DAY","VerdocsTemplateSettings","visibility","sendReminders","initialReminder","followupReminders","dirty","onCheckedChange"],"sources":["0"],"mappings":"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","ignoreList":[]}