@verdocs/web-sdk 5.0.51 → 5.0.52

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 (191) hide show
  1. package/dist/cjs/index-2b9aa26f.js +2 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  4. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +6 -6
  5. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +2 -2
  6. package/dist/cjs/{verdocs-kba-dialog_2.cjs.entry.js → verdocs-kba-dialog_3.cjs.entry.js} +91 -5
  7. package/dist/cjs/verdocs-kba-dialog_3.cjs.entry.js.map +1 -0
  8. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +7 -7
  9. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-sign.cjs.entry.js +5 -0
  12. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  13. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  14. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  18. package/dist/collection/collection-manifest.json +1 -0
  19. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.css +163 -0
  20. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js +187 -0
  21. package/dist/collection/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.js.map +1 -0
  22. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  23. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  24. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  25. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  26. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +5 -0
  27. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  28. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  29. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  30. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  31. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  32. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  33. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  34. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  35. package/dist/components/index.js +2 -0
  36. package/dist/components/index.js.map +1 -1
  37. package/dist/components/{p-31e18593.js → p-1dccb8a9.js} +2 -2
  38. package/dist/components/{p-31e18593.js.map → p-1dccb8a9.js.map} +1 -1
  39. package/dist/components/{p-a7f85081.js → p-2508f120.js} +8 -8
  40. package/dist/components/{p-a7f85081.js.map → p-2508f120.js.map} +1 -1
  41. package/dist/components/{p-571fe280.js → p-25c19f32.js} +2 -2
  42. package/dist/components/{p-571fe280.js.map → p-25c19f32.js.map} +1 -1
  43. package/dist/components/{p-f9789855.js → p-592a0baf.js} +6 -6
  44. package/dist/components/{p-f9789855.js.map → p-592a0baf.js.map} +1 -1
  45. package/dist/components/{p-f3d501b9.js → p-6130383b.js} +2 -2
  46. package/dist/components/{p-f3d501b9.js.map → p-6130383b.js.map} +1 -1
  47. package/dist/components/p-b663b885.js +116 -0
  48. package/dist/components/p-b663b885.js.map +1 -0
  49. package/dist/components/{p-ffa430d4.js → p-bcdf821c.js} +5 -5
  50. package/dist/components/{p-ffa430d4.js.map → p-bcdf821c.js.map} +1 -1
  51. package/dist/components/{p-8203a6af.js → p-c04daa8c.js} +2 -2
  52. package/dist/components/{p-8203a6af.js.map → p-c04daa8c.js.map} +1 -1
  53. package/dist/components/{p-83430ada.js → p-d16c9dd7.js} +2 -2
  54. package/dist/components/{p-83430ada.js.map → p-d16c9dd7.js.map} +1 -1
  55. package/dist/components/{p-d9fd90cc.js → p-de58dbf5.js} +2 -2
  56. package/dist/components/{p-d9fd90cc.js.map → p-de58dbf5.js.map} +1 -1
  57. package/dist/components/{p-e90316c8.js → p-e46946db.js} +2 -2
  58. package/dist/components/{p-e90316c8.js.map → p-e46946db.js.map} +1 -1
  59. package/dist/components/{p-c0e75957.js → p-ec382639.js} +3 -3
  60. package/dist/components/{p-c0e75957.js.map → p-ec382639.js.map} +1 -1
  61. package/dist/components/{p-43fb3b33.js → p-edf89442.js} +6 -6
  62. package/dist/components/{p-43fb3b33.js.map → p-edf89442.js.map} +1 -1
  63. package/dist/components/{p-03b81b12.js → p-f887116b.js} +2 -2
  64. package/dist/components/{p-03b81b12.js.map → p-f887116b.js.map} +1 -1
  65. package/dist/components/verdocs-build.js +9 -9
  66. package/dist/components/verdocs-envelope-document-page.js +1 -1
  67. package/dist/components/verdocs-envelopes-list.js +7 -7
  68. package/dist/components/verdocs-field-attachment.js +1 -1
  69. package/dist/components/verdocs-field-signature.js +1 -1
  70. package/dist/components/verdocs-otp-dialog.d.ts +11 -0
  71. package/dist/components/verdocs-otp-dialog.js +8 -0
  72. package/dist/components/verdocs-otp-dialog.js.map +1 -0
  73. package/dist/components/verdocs-preview.js +1 -1
  74. package/dist/components/verdocs-quick-functions.js +1 -1
  75. package/dist/components/verdocs-search-tabs.js +1 -1
  76. package/dist/components/verdocs-sign.js +26 -15
  77. package/dist/components/verdocs-sign.js.map +1 -1
  78. package/dist/components/verdocs-signature-dialog.js +1 -1
  79. package/dist/components/verdocs-status-indicator.js +1 -1
  80. package/dist/components/verdocs-template-card.js +1 -1
  81. package/dist/components/verdocs-template-document-page.js +1 -1
  82. package/dist/components/verdocs-template-fields.js +1 -1
  83. package/dist/components/verdocs-template-role-properties.js +1 -1
  84. package/dist/components/verdocs-template-roles.js +1 -1
  85. package/dist/components/verdocs-template-star.js +1 -1
  86. package/dist/components/verdocs-template-tags.js +1 -1
  87. package/dist/components/verdocs-templates-list.js +1 -1
  88. package/dist/components/verdocs-upload-dialog.js +1 -1
  89. package/dist/components/verdocs-view.js +1 -1
  90. package/dist/custom-elements.json +2252 -0
  91. package/dist/esm/index-24c3207f.js +2 -2
  92. package/dist/esm/loader.js +1 -1
  93. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  94. package/dist/esm/verdocs-envelopes-list.entry.js +6 -6
  95. package/dist/esm/verdocs-field-attachment_13.entry.js +2 -2
  96. package/dist/esm/{verdocs-kba-dialog_2.entry.js → verdocs-kba-dialog_3.entry.js} +92 -7
  97. package/dist/esm/verdocs-kba-dialog_3.entry.js.map +1 -0
  98. package/dist/esm/verdocs-menu-panel_2.entry.js +7 -7
  99. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  100. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  101. package/dist/esm/verdocs-sign.entry.js +5 -0
  102. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  103. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  104. package/dist/esm/verdocs-template-card.entry.js +1 -1
  105. package/dist/esm/verdocs-template-star.entry.js +1 -1
  106. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  107. package/dist/esm/verdocs-web-sdk.js +1 -1
  108. package/dist/esm-es5/index-24c3207f.js +1 -1
  109. package/dist/esm-es5/loader.js +1 -1
  110. package/dist/esm-es5/loader.js.map +1 -1
  111. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  112. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  113. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  114. package/dist/esm-es5/verdocs-kba-dialog_3.entry.js +2 -0
  115. package/dist/esm-es5/verdocs-kba-dialog_3.entry.js.map +1 -0
  116. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  117. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  121. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  126. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  127. package/dist/types/components/dialogs/verdocs-otp-dialog/verdocs-otp-dialog.d.ts +36 -0
  128. package/dist/types/components.d.ts +67 -2
  129. package/dist/verdocs-web-sdk/{p-2386d60c.entry.js → p-05000ccc.entry.js} +2 -2
  130. package/dist/verdocs-web-sdk/{p-10cbb44d.system.entry.js → p-0b26b5c8.system.entry.js} +2 -2
  131. package/dist/verdocs-web-sdk/{p-7d394848.entry.js → p-0fee994b.entry.js} +2 -2
  132. package/dist/verdocs-web-sdk/{p-2cc55fbf.entry.js → p-11c8ffea.entry.js} +2 -2
  133. package/dist/verdocs-web-sdk/{p-4e022197.entry.js → p-153e03e0.entry.js} +2 -2
  134. package/dist/verdocs-web-sdk/{p-72152009.entry.js → p-1872c8f4.entry.js} +2 -2
  135. package/dist/verdocs-web-sdk/p-1872c8f4.entry.js.map +1 -0
  136. package/dist/verdocs-web-sdk/{p-2d892f93.system.entry.js → p-2f68a524.system.entry.js} +2 -2
  137. package/dist/verdocs-web-sdk/{p-7b7be644.entry.js → p-437ce063.entry.js} +2 -2
  138. package/dist/verdocs-web-sdk/{p-299bb90e.system.entry.js → p-49c785c1.system.entry.js} +2 -2
  139. package/dist/verdocs-web-sdk/{p-6fe49e4a.system.entry.js → p-4c8b181b.system.entry.js} +2 -2
  140. package/dist/verdocs-web-sdk/{p-9b13c31e.system.entry.js → p-5c1789d5.system.entry.js} +2 -2
  141. package/dist/verdocs-web-sdk/{p-a058e16b.system.entry.js → p-689c27e5.system.entry.js} +2 -2
  142. package/dist/verdocs-web-sdk/{p-f4a233b8.entry.js → p-6bdbbe58.entry.js} +2 -2
  143. package/dist/verdocs-web-sdk/{p-538d5113.entry.js → p-73fe8630.entry.js} +2 -2
  144. package/dist/verdocs-web-sdk/p-8a6c7f95.system.js +1 -1
  145. package/dist/verdocs-web-sdk/p-8a6c7f95.system.js.map +1 -1
  146. package/dist/verdocs-web-sdk/{p-410a6003.system.entry.js → p-a0eef7ff.system.entry.js} +2 -2
  147. package/dist/verdocs-web-sdk/{p-594d3edb.system.entry.js → p-a1d64ec5.system.entry.js} +2 -2
  148. package/dist/verdocs-web-sdk/{p-2f9ba82a.entry.js → p-b0d1c5ec.entry.js} +2 -2
  149. package/dist/verdocs-web-sdk/{p-e46ccb3d.entry.js → p-bb84d9fa.entry.js} +2 -2
  150. package/dist/verdocs-web-sdk/{p-e06a796b.system.entry.js → p-c1dfe6e6.system.entry.js} +2 -2
  151. package/dist/verdocs-web-sdk/p-eb08e32c.entry.js +2 -0
  152. package/dist/verdocs-web-sdk/p-eb08e32c.entry.js.map +1 -0
  153. package/dist/verdocs-web-sdk/{p-8669ce44.entry.js → p-ed0f54de.entry.js} +2 -2
  154. package/dist/verdocs-web-sdk/{p-39d89ec1.system.entry.js → p-f14c3ce8.system.entry.js} +2 -2
  155. package/dist/verdocs-web-sdk/p-f14c3ce8.system.entry.js.map +1 -0
  156. package/dist/verdocs-web-sdk/p-f2a3c06d.system.entry.js +2 -0
  157. package/dist/verdocs-web-sdk/p-f2a3c06d.system.entry.js.map +1 -0
  158. package/dist/verdocs-web-sdk/{p-8982eb1c.system.entry.js → p-fe35adce.system.entry.js} +2 -2
  159. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  160. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  161. package/package.json +1 -1
  162. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js.map +0 -1
  163. package/dist/esm/verdocs-kba-dialog_2.entry.js.map +0 -1
  164. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +0 -2
  165. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js.map +0 -1
  166. package/dist/verdocs-web-sdk/p-39d89ec1.system.entry.js.map +0 -1
  167. package/dist/verdocs-web-sdk/p-72152009.entry.js.map +0 -1
  168. package/dist/verdocs-web-sdk/p-825259ba.system.entry.js +0 -2
  169. package/dist/verdocs-web-sdk/p-825259ba.system.entry.js.map +0 -1
  170. package/dist/verdocs-web-sdk/p-e7cf98ed.entry.js +0 -2
  171. package/dist/verdocs-web-sdk/p-e7cf98ed.entry.js.map +0 -1
  172. /package/dist/verdocs-web-sdk/{p-2386d60c.entry.js.map → p-05000ccc.entry.js.map} +0 -0
  173. /package/dist/verdocs-web-sdk/{p-10cbb44d.system.entry.js.map → p-0b26b5c8.system.entry.js.map} +0 -0
  174. /package/dist/verdocs-web-sdk/{p-7d394848.entry.js.map → p-0fee994b.entry.js.map} +0 -0
  175. /package/dist/verdocs-web-sdk/{p-2cc55fbf.entry.js.map → p-11c8ffea.entry.js.map} +0 -0
  176. /package/dist/verdocs-web-sdk/{p-4e022197.entry.js.map → p-153e03e0.entry.js.map} +0 -0
  177. /package/dist/verdocs-web-sdk/{p-2d892f93.system.entry.js.map → p-2f68a524.system.entry.js.map} +0 -0
  178. /package/dist/verdocs-web-sdk/{p-7b7be644.entry.js.map → p-437ce063.entry.js.map} +0 -0
  179. /package/dist/verdocs-web-sdk/{p-299bb90e.system.entry.js.map → p-49c785c1.system.entry.js.map} +0 -0
  180. /package/dist/verdocs-web-sdk/{p-6fe49e4a.system.entry.js.map → p-4c8b181b.system.entry.js.map} +0 -0
  181. /package/dist/verdocs-web-sdk/{p-9b13c31e.system.entry.js.map → p-5c1789d5.system.entry.js.map} +0 -0
  182. /package/dist/verdocs-web-sdk/{p-a058e16b.system.entry.js.map → p-689c27e5.system.entry.js.map} +0 -0
  183. /package/dist/verdocs-web-sdk/{p-f4a233b8.entry.js.map → p-6bdbbe58.entry.js.map} +0 -0
  184. /package/dist/verdocs-web-sdk/{p-538d5113.entry.js.map → p-73fe8630.entry.js.map} +0 -0
  185. /package/dist/verdocs-web-sdk/{p-410a6003.system.entry.js.map → p-a0eef7ff.system.entry.js.map} +0 -0
  186. /package/dist/verdocs-web-sdk/{p-594d3edb.system.entry.js.map → p-a1d64ec5.system.entry.js.map} +0 -0
  187. /package/dist/verdocs-web-sdk/{p-2f9ba82a.entry.js.map → p-b0d1c5ec.entry.js.map} +0 -0
  188. /package/dist/verdocs-web-sdk/{p-e46ccb3d.entry.js.map → p-bb84d9fa.entry.js.map} +0 -0
  189. /package/dist/verdocs-web-sdk/{p-e06a796b.system.entry.js.map → p-c1dfe6e6.system.entry.js.map} +0 -0
  190. /package/dist/verdocs-web-sdk/{p-8669ce44.entry.js.map → p-ed0f54de.entry.js.map} +0 -0
  191. /package/dist/verdocs-web-sdk/{p-8982eb1c.system.entry.js.map → p-fe35adce.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-31e18593.js","mappings":"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","names":[],"sources":["src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n }\n\n // Not simple .dialog to avoid conflicts with ok-dialog. Should review that more.\n .upload-dialog-content {\n width: 320px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .current-label {\n margin: 20px 0 5px 0;\n }\n\n .drop-target {\n opacity: 1;\n width: 100%;\n display: flex;\n margin: 20px 0;\n min-height: 260px;\n padding: 30px 15px;\n text-align: center;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n background-color: #f5f5f5;\n color: $verdocs-grey-1;\n border: 2px dashed #979797;\n\n p {\n margin: 12px 0;\n font-weight: 500;\n\n &.subscript {\n margin: 20px;\n color: $verdocs-bg-4;\n font-size: 14px;\n }\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 20%),\n 0 2px 2px 0 rgb(0 0 0 / 12%),\n 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n gap: 10px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n font-size: 14px;\n overflow: hidden;\n font-weight: 400;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n\n .error {\n margin: 20px 0;\n color: $verdocs-red-1;\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Host, State, Prop} from '@stencil/core';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>`;\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Display a file upload tool. Note that the file is not actually transmitted, so it may be used by\n * callers with a variety of workflows. Instead, data about the chosen file will be passed to the\n * caller via the onNext event handler. A delete event is also exposed to delete existing attachments.\n * To represent an existing attachment, set the existingFile property.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n @Prop({mutable: true})\n maxSize: number = 20 * 1024 * 1024;\n\n @Prop({mutable: true})\n existingFile: any;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the file selected.\n */\n @Event({composed: true}) next: EventEmitter<File[]>;\n\n /**\n * Event fired when an existing attachment is deleted. The parent component is\n * responsible for the actual removal.\n */\n @Event({composed: true}) remove: EventEmitter;\n\n @State() draggingOver = false;\n @State() confirmDelete = false;\n @State() selectedFiles = [] as File[];\n @State() errorMessage = '';\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.class === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.selectedFiles);\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n this.handleSetSelected(Array.from(e.dataTransfer.files));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.selectedFiles];\n newFiles.splice(index, 1);\n this.handleSetSelected(newFiles);\n }\n\n handleSetSelected(files: any[]) {\n this.selectedFiles = files;\n this.errorMessage = '';\n\n const totalSize = this.selectedFiles.reduce((acc, file) => acc + file.size, 0);\n if (totalSize > this.maxSize) {\n this.errorMessage = 'Total file size must not exceed 20MB.';\n }\n }\n\n handleDeleteAttachment(e: any) {\n // Stop the parent from seeing \"next\" and thinking an upload was done.\n // TODO: Rethink having so many commonalities in nested dialogs (next/exit).\n e.preventDefault();\n e.stopPropagation();\n\n this.remove?.emit();\n this.existingFile = null;\n this.confirmDelete = false;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange() {\n const selectedFiles = Array.from(this.fileInput?.files);\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n\n this.handleSetSelected(selectedFiles);\n }\n\n render() {\n const existingFile = this.existingFile?.name ? this.existingFile : null;\n\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"upload-dialog-content\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.selectedFiles.length < 1 && existingFile && (\n <Fragment>\n <div class=\"current-label\">Current Attachment</div>\n <div class=\"attachments\" style={{marginTop: '0'}}>\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{existingFile.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => (this.confirmDelete = true)} />\n </div>\n </div>\n </Fragment>\n )}\n\n {this.selectedFiles.length < 1 && !existingFile && (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop your files here</p>\n <p class=\"subscript\">Supported files: PDF, Word, JPG, PNG</p>\n\n <verdocs-button label={!!existingFile ? 'Replace files' : 'Select files'} onClick={() => this.handleSelectFile()} />\n <input\n type=\"file\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n style={{display: 'none'}}\n accept=\".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*\"\n onChange={() => this.handleFileChange()}\n />\n </div>\n )}\n\n {this.selectedFiles.length > 0 && (\n <div class=\"attachments\">\n {this.selectedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n {!!this.errorMessage && <div class=\"error\">{this.errorMessage}</div>}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Upload\" onClick={() => this.handleDone()} disabled={!!this.errorMessage || this.selectedFiles.length < 1} />\n </div>\n </div>\n </div>\n\n {this.confirmDelete && (\n <verdocs-ok-dialog\n heading=\"Delete Attachment?\"\n message=\"Are you sure you wish to delete this attachment? This action cannot be undone.\"\n showCancel={true}\n onExit={e => {\n // So we don't close the upload dialog\n e.preventDefault();\n e.stopPropagation();\n this.confirmDelete = false;\n }}\n onNext={e => this.handleDeleteAttachment(e)}\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-1dccb8a9.js","mappings":"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","names":[],"sources":["src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n }\n\n // Not simple .dialog to avoid conflicts with ok-dialog. Should review that more.\n .upload-dialog-content {\n width: 320px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .current-label {\n margin: 20px 0 5px 0;\n }\n\n .drop-target {\n opacity: 1;\n width: 100%;\n display: flex;\n margin: 20px 0;\n min-height: 260px;\n padding: 30px 15px;\n text-align: center;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n background-color: #f5f5f5;\n color: $verdocs-grey-1;\n border: 2px dashed #979797;\n\n p {\n margin: 12px 0;\n font-weight: 500;\n\n &.subscript {\n margin: 20px;\n color: $verdocs-bg-4;\n font-size: 14px;\n }\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 20%),\n 0 2px 2px 0 rgb(0 0 0 / 12%),\n 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n gap: 10px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n font-size: 14px;\n overflow: hidden;\n font-weight: 400;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n\n .error {\n margin: 20px 0;\n color: $verdocs-red-1;\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Host, State, Prop} from '@stencil/core';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>`;\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Display a file upload tool. Note that the file is not actually transmitted, so it may be used by\n * callers with a variety of workflows. Instead, data about the chosen file will be passed to the\n * caller via the onNext event handler. A delete event is also exposed to delete existing attachments.\n * To represent an existing attachment, set the existingFile property.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n @Prop({mutable: true})\n maxSize: number = 20 * 1024 * 1024;\n\n @Prop({mutable: true})\n existingFile: any;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the file selected.\n */\n @Event({composed: true}) next: EventEmitter<File[]>;\n\n /**\n * Event fired when an existing attachment is deleted. The parent component is\n * responsible for the actual removal.\n */\n @Event({composed: true}) remove: EventEmitter;\n\n @State() draggingOver = false;\n @State() confirmDelete = false;\n @State() selectedFiles = [] as File[];\n @State() errorMessage = '';\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.class === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.selectedFiles);\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n this.handleSetSelected(Array.from(e.dataTransfer.files));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.selectedFiles];\n newFiles.splice(index, 1);\n this.handleSetSelected(newFiles);\n }\n\n handleSetSelected(files: any[]) {\n this.selectedFiles = files;\n this.errorMessage = '';\n\n const totalSize = this.selectedFiles.reduce((acc, file) => acc + file.size, 0);\n if (totalSize > this.maxSize) {\n this.errorMessage = 'Total file size must not exceed 20MB.';\n }\n }\n\n handleDeleteAttachment(e: any) {\n // Stop the parent from seeing \"next\" and thinking an upload was done.\n // TODO: Rethink having so many commonalities in nested dialogs (next/exit).\n e.preventDefault();\n e.stopPropagation();\n\n this.remove?.emit();\n this.existingFile = null;\n this.confirmDelete = false;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange() {\n const selectedFiles = Array.from(this.fileInput?.files);\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n\n this.handleSetSelected(selectedFiles);\n }\n\n render() {\n const existingFile = this.existingFile?.name ? this.existingFile : null;\n\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"upload-dialog-content\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.selectedFiles.length < 1 && existingFile && (\n <Fragment>\n <div class=\"current-label\">Current Attachment</div>\n <div class=\"attachments\" style={{marginTop: '0'}}>\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{existingFile.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => (this.confirmDelete = true)} />\n </div>\n </div>\n </Fragment>\n )}\n\n {this.selectedFiles.length < 1 && !existingFile && (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop your files here</p>\n <p class=\"subscript\">Supported files: PDF, Word, JPG, PNG</p>\n\n <verdocs-button label={!!existingFile ? 'Replace files' : 'Select files'} onClick={() => this.handleSelectFile()} />\n <input\n type=\"file\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n style={{display: 'none'}}\n accept=\".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*\"\n onChange={() => this.handleFileChange()}\n />\n </div>\n )}\n\n {this.selectedFiles.length > 0 && (\n <div class=\"attachments\">\n {this.selectedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n {!!this.errorMessage && <div class=\"error\">{this.errorMessage}</div>}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Upload\" onClick={() => this.handleDone()} disabled={!!this.errorMessage || this.selectedFiles.length < 1} />\n </div>\n </div>\n </div>\n\n {this.confirmDelete && (\n <verdocs-ok-dialog\n heading=\"Delete Attachment?\"\n message=\"Are you sure you wish to delete this attachment? This action cannot be undone.\"\n showCancel={true}\n onExit={e => {\n // So we don't close the upload dialog\n e.preventDefault();\n e.stopPropagation();\n this.confirmDelete = false;\n }}\n onNext={e => this.handleDeleteAttachment(e)}\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -161,31 +161,31 @@ const VerdocsTemplateRoleProperties = /*@__PURE__*/ proxyCustomElement(class Ver
161
161
  const hasFields = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).some(field => field.role_name === this.roleName);
162
162
  // Either all three should be empty, or all three need to be filled
163
163
  const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);
164
- return (h(Host, { key: 'f010230841b98ad772ce5dfcb14d5a5107356a9b' }, h("form", { key: '984327825568276e9ae7b3b5e8f27dba76e8d369', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '12a37971a1b78ce705eba57132d54d180f8ae959' }, h("verdocs-text-input", { key: 'e6fb3ee6a720e20e45f2d714f95b2dfc9c15b550', id: "verdocs-role-name", label: "Role Name (Must be unique)", value: this.name, autocomplete: "off", disabled: hasFields, placeholder: "Role Name...", onInput: (e) => {
164
+ return (h(Host, { key: '0cb90773a405b842fd65dc842bd222393327bfda' }, h("form", { key: '5a2f59d5e9453a8e0a28e281a5e8e00e4ff48734', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '28e488540cbc43fd60f18d7afe22fdd83baa01d6' }, h("verdocs-text-input", { key: 'a81752032a51aafc103a3c81f359700279800fcc', id: "verdocs-role-name", label: "Role Name (Must be unique)", value: this.name, autocomplete: "off", disabled: hasFields, placeholder: "Role Name...", onInput: (e) => {
165
165
  this.name = e.target.value;
166
166
  this.dirty = true;
167
- } }), hasFields && h("div", { key: '1f2fbe28388ed74c073f7a9ad10561853b0ff073', class: "instructions" }, "This role has fields assigned and can no longer be renamed.")), h("div", { key: '37398ce77a659d5f7bae58cf996168307ca379fd' }, h("div", { key: 'b2fec5550fc5846e4f9455489e6b39fc0965e990', class: "input-label" }, "Type:"), h("verdocs-select-input", { key: '92814c2a302a7d13f1084ee5c1063662d8d6e103', value: this.type, options: [
167
+ } }), hasFields && h("div", { key: 'b45732e234d85c3f0f8237dc4935fc7dd3a1be8f', class: "instructions" }, "This role has fields assigned and can no longer be renamed.")), h("div", { key: '0b35b31d334f8bec6e76159c34560e8c3655f449' }, h("div", { key: '331e86e0dfe93b4ac521cce08e6201c824f58964', class: "input-label" }, "Type:"), h("verdocs-select-input", { key: '745cd90f3a39ab8cd34bfd391fb534206e640944', value: this.type, options: [
168
168
  { label: 'Signer', value: 'signer' },
169
169
  { label: 'CC', value: 'cc' },
170
170
  { label: 'Approver', value: 'approver' },
171
171
  ], onInput: (e) => {
172
172
  this.type = e.target.value;
173
173
  this.dirty = true;
174
- } })), h("div", { key: '01ecc8409b92938e1e287c32e852dbfc4dff8248' }, h("div", { key: 'c6cd73663d7306805502a8952b61103ee2af4da2', class: "input-label" }, "Default Contact Info:"), h("div", { key: '8952e6cec3aaa9d71308f7080b0c5ba47b92a2e3', class: "first-last" }, h("verdocs-text-input", { key: 'e7bdf288d8fba7b030741d7ddf9b80ff0a019a1e', id: "verdocs-recipient-first", value: this.first_name, autocomplete: "off", placeholder: "First...", onInput: (e) => {
174
+ } })), h("div", { key: 'd426d87dd0b1ad7f19e82022e3f8a240a3fc6b48' }, h("div", { key: '139647d5ba8f447df5fe8cb727cea2f8c3c4a4ee', class: "input-label" }, "Default Contact Info:"), h("div", { key: '58b6407105e6d41247f8efb7b539b3d6100f3ece', class: "first-last" }, h("verdocs-text-input", { key: '6bd0d6052ded34db7584231cc6bc5c6bc21e75d4', id: "verdocs-recipient-first", value: this.first_name, autocomplete: "off", placeholder: "First...", onInput: (e) => {
175
175
  this.first_name = e.target.value;
176
176
  this.dirty = true;
177
- } }), h("verdocs-text-input", { key: '1348b227a57fe128fd73f79492b5d6cf97bde11c', id: "verdocs-recipient-first", value: this.last_name, autocomplete: "off", placeholder: "Last...", onInput: (e) => {
177
+ } }), h("verdocs-text-input", { key: '135f6024ea458d5b5161919584ebb8bf691c5fe8', id: "verdocs-recipient-first", value: this.last_name, autocomplete: "off", placeholder: "Last...", onInput: (e) => {
178
178
  this.last_name = e.target.value;
179
179
  this.dirty = true;
180
- } }))), h("div", { key: 'f25e5ce43788a9abdb9bb233fa6274e45aef1165' }, h("verdocs-text-input", { key: 'd907205e60ef2a697f6c58814098e6f988893fb9', id: "verdocs-recipient-email", value: this.email, autocomplete: "off", placeholder: "Email Address...", onInput: (e) => {
180
+ } }))), h("div", { key: '137098702e8fefd55f80561bf3fa1366fe7a9306' }, h("verdocs-text-input", { key: 'b3288c2bdda90ec63948821f6e5d9bed0555aea6', id: "verdocs-recipient-email", value: this.email, autocomplete: "off", placeholder: "Email Address...", onInput: (e) => {
181
181
  this.email = e.target.value;
182
182
  this.dirty = true;
183
- } }), h("div", { key: 'dceccf35b7196d886422d560cc8472aab33a2327', style: { height: '15px' } }), h("div", { key: 'dba17dc4c9e08538507e886f22051cf121d8ae05' }, h("verdocs-text-input", { key: '0c0350dcf40ada1c7d3dc0289da9357c3b8023eb', id: "verdocs-recipient-phone", value: this.phone, autocomplete: "off",
183
+ } }), h("div", { key: '892f12c9429c2e2166493563054cd230a7b7f273', style: { height: '15px' } }), h("div", { key: 'b26750310aa44563ecb53e585fbd02a3329476ff' }, h("verdocs-text-input", { key: 'c5ed1eb446c83b8a738f483da47ee405eb3c46d3', id: "verdocs-recipient-phone", value: this.phone, autocomplete: "off",
184
184
  // helpText="The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template."
185
185
  placeholder: "Phone Number...", onInput: (e) => {
186
186
  this.phone = e.target.value;
187
187
  this.dirty = true;
188
- } }))), h("div", { key: '32c5eee08b98afd34915bdba2584be167b97553a', class: "buttons" }, h("button", { key: '760e8d2c27847118d56e7904ac48d895453cdce2', class: "delete-button", disabled: this.dirty, onClick: e => this.handleDelete(e), innerHTML: TrashIcon }), h("div", { key: 'f7fe711384caf9b1f15ac939487d21b0dd9393b2', style: { flex: '1' } }), h("verdocs-button", { key: 'd0f126d6d0e1ee9d6c8337bae310ddade0eba415', size: "small", label: "Save", disabled: !this.dirty || !isValid, onClick: e => this.handleSave(e) })))));
188
+ } }))), h("div", { key: '2d588cd5467e22b2ca646d2db6ee1129d4425e36', class: "buttons" }, h("button", { key: 'd56630b85383cef24d346e126a72edf714b12e11', class: "delete-button", disabled: this.dirty, onClick: e => this.handleDelete(e), innerHTML: TrashIcon }), h("div", { key: '56af532ac7e3f216473ac76c94a8df9fed90ec0d', style: { flex: '1' } }), h("verdocs-button", { key: '21fae0b17777c6d51ffa671bb90a240ea4c38afd', size: "small", label: "Save", disabled: !this.dirty || !isValid, onClick: e => this.handleSave(e) })))));
189
189
  }
190
190
  static get style() { return VerdocsTemplateRolePropertiesStyle0; }
191
191
  }, [0, "verdocs-template-role-properties", {
@@ -240,4 +240,4 @@ function defineCustomElement() {
240
240
 
241
241
  export { VerdocsTemplateRoleProperties as V, defineCustomElement as d };
242
242
 
243
- //# sourceMappingURL=p-a7f85081.js.map
243
+ //# sourceMappingURL=p-2508f120.js.map
@@ -1 +1 @@
1
- {"file":"p-a7f85081.js","mappings":"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","names":[],"sources":["src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.scss?tag=verdocs-template-role-properties","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-role-properties {\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n form {\n gap: 15px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .instructions {\n margin: 7px 0 0 0;\n font-size: 12px;\n font-style: italic;\n }\n\n .input-label {\n display: block;\n font-size: 14px;\n flex: 0 0 100px;\n font-weight: 700;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .first-last {\n gap: 15px;\n display: flex;\n flex-direction: row;\n }\n }\n\n form verdocs-help-icon {\n transform: scale(0.8);\n }\n\n verdocs-select-input {\n //flex: 1;\n //margin: 0;\n\n label {\n display: block;\n }\n }\n\n verdocs-text-input {\n margin: 0;\n\n label {\n display: block;\n }\n\n .input-label {\n flex: 0 0 100px;\n }\n\n input {\n flex: 1;\n display: flex;\n }\n\n verdocs-text-input {\n margin: 0;\n }\n }\n\n .checkbox-wrapper {\n flex: 1;\n display: flex;\n }\n\n .delete-button {\n height: 34px;\n display: flex;\n padding: 0 6px;\n cursor: pointer;\n background: none;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #999;\n justify-content: center;\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n &:active {\n background: #f3f3f3;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {deleteTemplateRole, getTemplate, isValidEmail, ITemplate, TRecipientType, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#a50021\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0\" /></svg>`;\n\n/**\n * Present an editing form suitable for adjusting template-role properties.\n */\n@Component({\n tag: 'verdocs-template-role-properties',\n styleUrl: 'verdocs-template-role-properties.scss',\n})\nexport class VerdocsTemplateRoleProperties {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to edit.\n */\n @Prop() templateId: string = '';\n\n /**\n * The role name to edit.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) close: EventEmitter;\n\n /**\n * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,\n * the role will have already been deleted server-side.\n */\n @Event({composed: true}) delete: EventEmitter<{templateId: string; roleName: string}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() dirty = false;\n @State() saving = false;\n @State() name = '';\n @State() type: TRecipientType = 'signer';\n @State() first_name = '';\n @State() last_name = '';\n @State() email = '';\n @State() phone = '';\n @State() delegator = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[ROLES] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[ROLES] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[ROLES Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading tempate', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n console.log('[BUILD] Template Updated', template);\n this.template = template;\n this.loading = false;\n\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n console.log('[ROLES] Editing role', editingRole);\n }\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n handleCancel(e) {\n e.stopPropagation();\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n }\n\n this.dirty = false;\n this.close?.emit();\n }\n\n async handleSave(e) {\n e.stopPropagation();\n this.saving = true;\n updateTemplateRole(this.endpoint, this.templateId, this.roleName, {\n name: this.name,\n type: this.type,\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n delegator: this.delegator,\n })\n .then(async r => {\n console.log('[ROLES] Update result', r);\n this.saving = false;\n this.dirty = false;\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const roleIndex = newTemplate.roles.findIndex(role => role.name === this.roleName);\n if (roleIndex > -1) {\n newTemplate.roles[roleIndex] = r;\n }\n Store.updateTemplate(this.templateId, newTemplate);\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Update error', e);\n this.saving = false;\n });\n }\n\n async handleDelete(e) {\n e.stopPropagation();\n if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {\n deleteTemplateRole(this.endpoint, this.templateId, this.roleName)\n .then(() => {\n const newTemplate = JSON.parse(JSON.stringify(this.template)) as ITemplate;\n newTemplate.roles = newTemplate.roles.filter(role => role.name !== this.roleName);\n Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n this.delete?.emit({templateId: this.templateId, roleName: this.roleName});\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Deletion error', e);\n });\n }\n }\n\n render() {\n const hasFields = (this.template?.fields || []).some(field => field.role_name === this.roleName);\n\n // Either all three should be empty, or all three need to be filled\n const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div>\n <verdocs-text-input\n id=\"verdocs-role-name\"\n label=\"Role Name (Must be unique)\"\n value={this.name}\n autocomplete=\"off\"\n disabled={hasFields}\n placeholder=\"Role Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n\n {hasFields && <div class=\"instructions\">This role has fields assigned and can no longer be renamed.</div>}\n {/*<div class=\"instructions\">{hasFields ? 'This role has fields assigned and can no longer be renamed.' : 'A unique name to identify the role in the workflow.'}</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Type:</div>\n <verdocs-select-input\n value={this.type}\n options={[\n {label: 'Signer', value: 'signer'},\n {label: 'CC', value: 'cc'},\n {label: 'Approver', value: 'approver'},\n ]}\n onInput={(e: any) => {\n this.type = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">*/}\n {/* Most participants are Signers. CC roles are notified when documents are signed, but have no other actions. Approvers get notified when signing is completed to perform*/}\n {/* a final review.*/}\n {/*</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Default Contact Info:</div>\n\n <div class=\"first-last\">\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.first_name}\n autocomplete=\"off\"\n placeholder=\"First...\"\n onInput={(e: any) => {\n this.first_name = e.target.value;\n this.dirty = true;\n }}\n />\n\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.last_name}\n autocomplete=\"off\"\n placeholder=\"Last...\"\n onInput={(e: any) => {\n this.last_name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n </div>\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-email\"\n value={this.email}\n autocomplete=\"off\"\n placeholder=\"Email Address...\"\n onInput={(e: any) => {\n this.email = e.target.value;\n this.dirty = true;\n }}\n />\n\n <div style={{height: '15px'}} />\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-phone\"\n value={this.phone}\n autocomplete=\"off\"\n // helpText=\"The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template.\"\n placeholder=\"Phone Number...\"\n onInput={(e: any) => {\n this.phone = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">Default name and contact information. This may be changed later when creating and envelope with this template.</div>*/}\n </div>\n </div>\n\n {/*<div class=\"row\">*/}\n {/* <div class=\"input-label\">May Delegate:</div>*/}\n {/* <div class=\"checkbox-wrapper\">*/}\n {/* <verdocs-checkbox*/}\n {/* checked={this.delegator}*/}\n {/* onInput={(e: any) => {*/}\n {/* this.delegator = e.target.checked;*/}\n {/* this.dirty = true;*/}\n {/* }}*/}\n {/* />*/}\n {/* </div>*/}\n\n {/* <verdocs-help-icon text=\"If enabled, this recipient may delegate their actions to another individual.\" />*/}\n {/*</div>*/}\n\n <div class=\"buttons\">\n <button class=\"delete-button\" disabled={this.dirty} onClick={e => this.handleDelete(e)} innerHTML={TrashIcon} />\n\n <div style={{flex: '1'}} />\n\n {/*<verdocs-button size=\"small\" variant=\"outline\" label=\"Cancel\" disabled={!this.dirty} onClick={e => this.handleCancel(e)} />*/}\n <verdocs-button size=\"small\" label=\"Save\" disabled={!this.dirty || !isValid} onClick={e => this.handleSave(e)} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-2508f120.js","mappings":"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","names":[],"sources":["src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.scss?tag=verdocs-template-role-properties","src/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-role-properties {\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n margin-top: 10px;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n form {\n gap: 15px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .instructions {\n margin: 7px 0 0 0;\n font-size: 12px;\n font-style: italic;\n }\n\n .input-label {\n display: block;\n font-size: 14px;\n flex: 0 0 100px;\n font-weight: 700;\n margin: 0 0 4px 0;\n color: $label-color-light;\n }\n\n .first-last {\n gap: 15px;\n display: flex;\n flex-direction: row;\n }\n }\n\n form verdocs-help-icon {\n transform: scale(0.8);\n }\n\n verdocs-select-input {\n //flex: 1;\n //margin: 0;\n\n label {\n display: block;\n }\n }\n\n verdocs-text-input {\n margin: 0;\n\n label {\n display: block;\n }\n\n .input-label {\n flex: 0 0 100px;\n }\n\n input {\n flex: 1;\n display: flex;\n }\n\n verdocs-text-input {\n margin: 0;\n }\n }\n\n .checkbox-wrapper {\n flex: 1;\n display: flex;\n }\n\n .delete-button {\n height: 34px;\n display: flex;\n padding: 0 6px;\n cursor: pointer;\n background: none;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #999;\n justify-content: center;\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n &:active {\n background: #f3f3f3;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\nimport {deleteTemplateRole, getTemplate, isValidEmail, ITemplate, TRecipientType, updateTemplateRole, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#a50021\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0\" /></svg>`;\n\n/**\n * Present an editing form suitable for adjusting template-role properties.\n */\n@Component({\n tag: 'verdocs-template-role-properties',\n styleUrl: 'verdocs-template-role-properties.scss',\n})\nexport class VerdocsTemplateRoleProperties {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The template ID to edit.\n */\n @Prop() templateId: string = '';\n\n /**\n * The role name to edit.\n */\n @Prop() roleName: string = '';\n\n /**\n * Event fired when the user cancels the dialog.\n */\n @Event({composed: true}) close: EventEmitter;\n\n /**\n * Event fired when the user deletes the role. The parent should update its UI to reflect the removal. When this event is emitted,\n * the role will have already been deleted server-side.\n */\n @Event({composed: true}) delete: EventEmitter<{templateId: string; roleName: string}>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() dirty = false;\n @State() saving = false;\n @State() name = '';\n @State() type: TRecipientType = 'signer';\n @State() first_name = '';\n @State() last_name = '';\n @State() email = '';\n @State() phone = '';\n @State() delegator = false;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n\n if (!this.templateId) {\n console.log(`[ROLES] Missing required template ID ${this.templateId}`);\n return;\n }\n\n if (!this.endpoint.session) {\n console.log('[ROLES] Unable to start builder session, must be authenticated');\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[ROLES Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n console.log('[ROLES] Loading tempate', this.templateId);\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n console.log('[BUILD] Template Updated', template);\n this.template = template;\n this.loading = false;\n\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n console.log('[ROLES] Editing role', editingRole);\n }\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n handleCancel(e) {\n e.stopPropagation();\n const editingRole = this.template?.roles.find(role => role.name === this.roleName);\n if (editingRole) {\n this.name = editingRole.name;\n this.type = editingRole.type;\n this.first_name = editingRole.first_name;\n this.last_name = editingRole.last_name;\n this.email = editingRole.email;\n this.phone = editingRole.phone;\n this.delegator = editingRole.delegator;\n }\n\n this.dirty = false;\n this.close?.emit();\n }\n\n async handleSave(e) {\n e.stopPropagation();\n this.saving = true;\n updateTemplateRole(this.endpoint, this.templateId, this.roleName, {\n name: this.name,\n type: this.type,\n first_name: this.first_name,\n last_name: this.last_name,\n email: this.email,\n phone: this.phone,\n delegator: this.delegator,\n })\n .then(async r => {\n console.log('[ROLES] Update result', r);\n this.saving = false;\n this.dirty = false;\n const newTemplate = JSON.parse(JSON.stringify(this.template));\n const roleIndex = newTemplate.roles.findIndex(role => role.name === this.roleName);\n if (roleIndex > -1) {\n newTemplate.roles[roleIndex] = r;\n }\n Store.updateTemplate(this.templateId, newTemplate);\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Update error', e);\n this.saving = false;\n });\n }\n\n async handleDelete(e) {\n e.stopPropagation();\n if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {\n deleteTemplateRole(this.endpoint, this.templateId, this.roleName)\n .then(() => {\n const newTemplate = JSON.parse(JSON.stringify(this.template)) as ITemplate;\n newTemplate.roles = newTemplate.roles.filter(role => role.name !== this.roleName);\n Store.getTemplate(this.endpoint, this.templateId, true);\n // Store.updateTemplate(this.templateId, newTemplate);\n this.delete?.emit({templateId: this.templateId, roleName: this.roleName});\n this.close?.emit();\n })\n .catch(e => {\n console.log('[ROLES Deletion error', e);\n });\n }\n }\n\n render() {\n const hasFields = (this.template?.fields || []).some(field => field.role_name === this.roleName);\n\n // Either all three should be empty, or all three need to be filled\n const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);\n\n return (\n <Host>\n <form onSubmit={e => e.preventDefault()} onClick={e => e.stopPropagation()} autocomplete=\"off\">\n <div>\n <verdocs-text-input\n id=\"verdocs-role-name\"\n label=\"Role Name (Must be unique)\"\n value={this.name}\n autocomplete=\"off\"\n disabled={hasFields}\n placeholder=\"Role Name...\"\n onInput={(e: any) => {\n this.name = e.target.value;\n this.dirty = true;\n }}\n />\n\n {hasFields && <div class=\"instructions\">This role has fields assigned and can no longer be renamed.</div>}\n {/*<div class=\"instructions\">{hasFields ? 'This role has fields assigned and can no longer be renamed.' : 'A unique name to identify the role in the workflow.'}</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Type:</div>\n <verdocs-select-input\n value={this.type}\n options={[\n {label: 'Signer', value: 'signer'},\n {label: 'CC', value: 'cc'},\n {label: 'Approver', value: 'approver'},\n ]}\n onInput={(e: any) => {\n this.type = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">*/}\n {/* Most participants are Signers. CC roles are notified when documents are signed, but have no other actions. Approvers get notified when signing is completed to perform*/}\n {/* a final review.*/}\n {/*</div>*/}\n </div>\n\n <div>\n <div class=\"input-label\">Default Contact Info:</div>\n\n <div class=\"first-last\">\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.first_name}\n autocomplete=\"off\"\n placeholder=\"First...\"\n onInput={(e: any) => {\n this.first_name = e.target.value;\n this.dirty = true;\n }}\n />\n\n <verdocs-text-input\n id=\"verdocs-recipient-first\"\n value={this.last_name}\n autocomplete=\"off\"\n placeholder=\"Last...\"\n onInput={(e: any) => {\n this.last_name = e.target.value;\n this.dirty = true;\n }}\n />\n </div>\n </div>\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-email\"\n value={this.email}\n autocomplete=\"off\"\n placeholder=\"Email Address...\"\n onInput={(e: any) => {\n this.email = e.target.value;\n this.dirty = true;\n }}\n />\n\n <div style={{height: '15px'}} />\n\n <div>\n <verdocs-text-input\n id=\"verdocs-recipient-phone\"\n value={this.phone}\n autocomplete=\"off\"\n // helpText=\"The recipient's phone number, if it will always stay the same. Leave blank to supply this value later, when each new envelope is created from the template.\"\n placeholder=\"Phone Number...\"\n onInput={(e: any) => {\n this.phone = e.target.value;\n this.dirty = true;\n }}\n />\n {/*<div class=\"instructions\">Default name and contact information. This may be changed later when creating and envelope with this template.</div>*/}\n </div>\n </div>\n\n {/*<div class=\"row\">*/}\n {/* <div class=\"input-label\">May Delegate:</div>*/}\n {/* <div class=\"checkbox-wrapper\">*/}\n {/* <verdocs-checkbox*/}\n {/* checked={this.delegator}*/}\n {/* onInput={(e: any) => {*/}\n {/* this.delegator = e.target.checked;*/}\n {/* this.dirty = true;*/}\n {/* }}*/}\n {/* />*/}\n {/* </div>*/}\n\n {/* <verdocs-help-icon text=\"If enabled, this recipient may delegate their actions to another individual.\" />*/}\n {/*</div>*/}\n\n <div class=\"buttons\">\n <button class=\"delete-button\" disabled={this.dirty} onClick={e => this.handleDelete(e)} innerHTML={TrashIcon} />\n\n <div style={{flex: '1'}} />\n\n {/*<verdocs-button size=\"small\" variant=\"outline\" label=\"Cancel\" disabled={!this.dirty} onClick={e => this.handleCancel(e)} />*/}\n <verdocs-button size=\"small\" label=\"Save\" disabled={!this.dirty || !isValid} onClick={e => this.handleSave(e)} />\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -12,7 +12,7 @@ import { d as defineCustomElement$5 } from './p-062e67e6.js';
12
12
  import { d as defineCustomElement$4 } from './p-53900f81.js';
13
13
  import { d as defineCustomElement$3 } from './p-e8f6e5b7.js';
14
14
  import { d as defineCustomElement$2 } from './p-200b75fc.js';
15
- import { d as defineCustomElement$1 } from './p-31e18593.js';
15
+ import { d as defineCustomElement$1 } from './p-1dccb8a9.js';
16
16
 
17
17
  const verdocsFieldAttachmentCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-field-attachment{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;width:24px;height:24px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-attachment.focused{-webkit-animation:verdocs-field-pulse 0.4s 1;animation:verdocs-field-pulse 0.4s 1}verdocs-field-attachment label{top:-14px;left:-1px;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#4a4a99;border-top-left-radius:2px;border-top-right-radius:2px}verdocs-field-attachment svg{width:16px;height:16px}verdocs-field-attachment.disabled svg{opacity:0.5}verdocs-field-attachment.disabled svg span{cursor:inherit}verdocs-field-attachment .attach{cursor:inherit;width:24px;height:24px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-field-attachment.required .attach{border:1px solid #cc0000}verdocs-field-attachment verdocs-button-panel{top:1px;left:-19px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-attachment verdocs-button-panel[data-active],verdocs-field-attachment verdocs-button-panel:hover{opacity:1}verdocs-field-attachment verdocs-button-panel .icon svg{fill:#333333}verdocs-field-attachment verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-attachment .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-attachment .settings-icon svg{fill:#707ae5}verdocs-field-attachment .settings-icon:hover{opacity:1}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}";
18
18
  const VerdocsFieldAttachmentStyle0 = verdocsFieldAttachmentCss;
@@ -237,4 +237,4 @@ function defineCustomElement() {
237
237
 
238
238
  export { VerdocsFieldAttachment as V, defineCustomElement as d };
239
239
 
240
- //# sourceMappingURL=p-571fe280.js.map
240
+ //# sourceMappingURL=p-25c19f32.js.map
@@ -1 +1 @@
1
- {"file":"p-571fe280.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-attachment/verdocs-field-attachment.scss?tag=verdocs-field-attachment","src/components/fields/verdocs-field-attachment/verdocs-field-attachment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-attachment {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &.disabled svg {\n opacity: 0.5;\n\n span {\n cursor: inherit;\n }\n }\n\n .attach {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &.required {\n .attach {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n verdocs-button-panel {\n top: 1px;\n left: -19px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, VerdocsEndpoint, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, State, Fragment, Element} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nexport interface ISelectedFile {\n lastModified: number;\n size: number;\n type: string;\n name: string;\n data: string;\n}\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\nconst AttachedIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#339933\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-check\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"/><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"/><path d=\"m9 15 2 2 4-4\"/></svg>`;\n\n/**\n * Displays an attachment field.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\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 * This component self-manages its resize (width) behavior when in edit-template mode, and uses\n * this endpoint to save changes.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when a file is attached by the signer.\n */\n @Event({composed: true}) attached: EventEmitter<ISelectedFile>;\n\n /**\n * Event fired when the field is deleted. Note that this is for the FIELD (e.g. in\n * Build) not for any attachments (during signing).\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() dialogOpen?: boolean = false;\n @State() selectedFile?: ISelectedFile | null = null;\n @State() focused = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n this.dialogOpen = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n handleShow() {\n this.dialogOpen = true;\n }\n\n handleUploadNext = (e: any) => {\n console.log('Upload next', e);\n this.dialogOpen = false;\n this.selectedFile = e.detail[0];\n this.attached?.emit(e.detail[0]);\n };\n\n handleUploadRemove = (e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.dialogOpen = false;\n this.selectedFile = null;\n this.deleted?.emit({fieldName: this.fieldname});\n };\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const backgroundColor = getRGBA(index);\n\n const hasFile = value || !!this.selectedFile;\n\n if (done) {\n return (\n <Host class={{done}}>\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} />\n </Host>\n );\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} onClick={() => !disabled && this.handleShow()} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n\n {this.dialogOpen && (\n <verdocs-portal>\n <verdocs-upload-dialog\n existingFile={settings}\n onNext={e => this.handleUploadNext(e)}\n onRemove={e => this.handleUploadRemove(e)}\n onExit={() => (this.dialogOpen = false)}\n />\n </verdocs-portal>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-25c19f32.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-attachment/verdocs-field-attachment.scss?tag=verdocs-field-attachment","src/components/fields/verdocs-field-attachment/verdocs-field-attachment.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-attachment {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &.disabled svg {\n opacity: 0.5;\n\n span {\n cursor: inherit;\n }\n }\n\n .attach {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &.required {\n .attach {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n verdocs-button-panel {\n top: 1px;\n left: -19px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, VerdocsEndpoint, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, State, Fragment, Element} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nexport interface ISelectedFile {\n lastModified: number;\n size: number;\n type: string;\n name: string;\n data: string;\n}\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\nconst AttachedIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#339933\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-check\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"/><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"/><path d=\"m9 15 2 2 4-4\"/></svg>`;\n\n/**\n * Displays an attachment field.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\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 * This component self-manages its resize (width) behavior when in edit-template mode, and uses\n * this endpoint to save changes.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when a file is attached by the signer.\n */\n @Event({composed: true}) attached: EventEmitter<ISelectedFile>;\n\n /**\n * Event fired when the field is deleted. Note that this is for the FIELD (e.g. in\n * Build) not for any attachments (during signing).\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() dialogOpen?: boolean = false;\n @State() selectedFile?: ISelectedFile | null = null;\n @State() focused = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n this.dialogOpen = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n handleShow() {\n this.dialogOpen = true;\n }\n\n handleUploadNext = (e: any) => {\n console.log('Upload next', e);\n this.dialogOpen = false;\n this.selectedFile = e.detail[0];\n this.attached?.emit(e.detail[0]);\n };\n\n handleUploadRemove = (e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.dialogOpen = false;\n this.selectedFile = null;\n this.deleted?.emit({fieldName: this.fieldname});\n };\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const backgroundColor = getRGBA(index);\n\n const hasFile = value || !!this.selectedFile;\n\n if (done) {\n return (\n <Host class={{done}}>\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} />\n </Host>\n );\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} onClick={() => !disabled && this.handleShow()} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n\n {this.dialogOpen && (\n <verdocs-portal>\n <verdocs-upload-dialog\n existingFile={settings}\n onNext={e => this.handleUploadNext(e)}\n onRemove={e => this.handleUploadRemove(e)}\n onExit={() => (this.dialogOpen = false)}\n />\n </verdocs-portal>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -5,13 +5,13 @@ import { S as Store } from './p-33300e3a.js';
5
5
  import { d as defineCustomElement$o } from './p-77b37d23.js';
6
6
  import { d as defineCustomElement$n } from './p-4f96a7dc.js';
7
7
  import { d as defineCustomElement$m } from './p-82c79267.js';
8
- import { d as defineCustomElement$l } from './p-571fe280.js';
8
+ import { d as defineCustomElement$l } from './p-25c19f32.js';
9
9
  import { d as defineCustomElement$k } from './p-62c5c0fe.js';
10
10
  import { d as defineCustomElement$j } from './p-f1ccb5e1.js';
11
11
  import { d as defineCustomElement$i } from './p-44712551.js';
12
12
  import { d as defineCustomElement$h } from './p-843f0198.js';
13
13
  import { d as defineCustomElement$g } from './p-d666322a.js';
14
- import { d as defineCustomElement$f } from './p-e90316c8.js';
14
+ import { d as defineCustomElement$f } from './p-e46946db.js';
15
15
  import { d as defineCustomElement$e } from './p-1c3c3f01.js';
16
16
  import { d as defineCustomElement$d } from './p-207fff69.js';
17
17
  import { d as defineCustomElement$c } from './p-07214348.js';
@@ -21,11 +21,11 @@ import { d as defineCustomElement$9 } from './p-cd8c3571.js';
21
21
  import { d as defineCustomElement$8 } from './p-4b831194.js';
22
22
  import { d as defineCustomElement$7 } from './p-062e67e6.js';
23
23
  import { d as defineCustomElement$6 } from './p-53900f81.js';
24
- import { d as defineCustomElement$5 } from './p-8203a6af.js';
25
- import { d as defineCustomElement$4 } from './p-ffa430d4.js';
24
+ import { d as defineCustomElement$5 } from './p-c04daa8c.js';
25
+ import { d as defineCustomElement$4 } from './p-bcdf821c.js';
26
26
  import { d as defineCustomElement$3 } from './p-e8f6e5b7.js';
27
27
  import { d as defineCustomElement$2 } from './p-200b75fc.js';
28
- import { d as defineCustomElement$1 } from './p-31e18593.js';
28
+ import { d as defineCustomElement$1 } from './p-1dccb8a9.js';
29
29
 
30
30
  const verdocsPreviewCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-preview{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-preview div,verdocs-preview canvas{-webkit-box-sizing:border-box;box-sizing:border-box}";
31
31
  const VerdocsPreviewStyle0 = verdocsPreviewCss;
@@ -257,4 +257,4 @@ function defineCustomElement() {
257
257
 
258
258
  export { VerdocsPreview as V, defineCustomElement as d };
259
259
 
260
- //# sourceMappingURL=p-f9789855.js.map
260
+ //# sourceMappingURL=p-592a0baf.js.map
@@ -1 +1 @@
1
- {"file":"p-f9789855.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,iBAAiB,GAAG,mvBAAmvB,CAAC;AAC9wB,6BAAe,iBAAiB;;MCqBnB,cAAc;IAL3B;;;;QAMU,uBAAkB,GAAG,IAAI,CAAC;;;;QAK1B,aAAQ,GAAoB,eAAe,CAAC,UAAU,EAAE,CAAC;;;;QAKzD,eAAU,GAAkB,IAAI,CAAC;QAQhC,YAAO,GAAG,IAAI,CAAC;QACf,aAAQ,GAAqB,IAAI,CAAC;KAsG5C;IApGC,oBAAoB;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,MAAM,gBAAgB;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,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;YAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB,CACF,CAAC;KACH;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;KACF;IAGD,mBAAmB,CAAC,aAAqB;QACvC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,MAAM,iBAAiB;;QACrB,IAAI;YACF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;gBAChF,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzE,OAAO;aACR;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;YACvD,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,EAAE,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC;SACpF;KACF;IAED,kBAAkB,CAAC,EAAO;;;;;KAKzB;IAED,MAAM;;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,QACE,EAAC,IAAI,QACH,yBAAkB,CACb,EACP;SACH;QAED,QACE,EAAC,IAAI,QACF,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,SAAS,KAAI,EAAE,EAAE,GAAG,CAAC,QAAQ;YAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvD,QACE,EAAC,QAAQ,QACN,WAAW,CAAC,GAAG,CAAC,UAAU;;gBACzB,MAAM,QAAQ,GAAG,CAAA,MAAA,QAAQ,CAAC,UAAU,0CAAG,UAAU,CAAC,KAAI,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC;gBAEhF,QACE,sCACE,UAAU,EAAE,QAAQ,CAAC,WAAW,EAChC,UAAU,EAAE,QAAQ,CAAC,EAAE,EACvB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,QAAQ,CAAC,KAAK,EAC5B,aAAa,EAAE,QAAQ,CAAC,MAAM,EAC9B,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC/C,MAAM,EAAE;wBACN,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC9B,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAC;qBAChC,GACD,EACF;aACH,CAAC,CACO,EACX;SACH,CAAC,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/embeds/verdocs-preview/verdocs-preview.scss?tag=verdocs-preview","src/components/embeds/verdocs-preview/verdocs-preview.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-preview {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {getTemplate, integerSequence, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Event, EventEmitter, Host, Component, Prop, h, State, Fragment, Watch} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a template preview experience. This will display the template's attached\n * documents with signing fields overlaid on each page. Fields will be color-coded\n * by recipient, and will be read-only (cannot be filled, moved, or altered).\n *\n * ```ts\n * <verdocs-preview\n * templateId={templateId}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: 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 @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\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 @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[PREVIEW] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[PREVIEW] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[PREVIEW] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handlePageRendered(_e: any) {\n // const pageInfo = e.detail as IDocumentPageInfo;\n // const fields = (this.template?.fields || []).filter(field => field.page === pageInfo.pageNumber);\n // console.log('[PREVIEW] Page rendered', pageInfo, fields);\n // fields.forEach(field => renderDocumentField(field, pageInfo, {disabled: true, editable: false, draggable: false}));\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n {(this.template?.documents || []).map(document => {\n const pageNumbers = integerSequence(1, document.pages);\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = document.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-template-document-page\n templateId={document.template_id}\n documentId={document.id}\n pageNumber={pageNumber}\n disabled={true}\n editable={false}\n done={false}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-592a0baf.js","mappings":"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","names":[],"sources":["src/components/embeds/verdocs-preview/verdocs-preview.scss?tag=verdocs-preview","src/components/embeds/verdocs-preview/verdocs-preview.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-preview {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import {getTemplate, integerSequence, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Event, EventEmitter, Host, Component, Prop, h, State, Fragment, Watch} from '@stencil/core';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a template preview experience. This will display the template's attached\n * documents with signing fields overlaid on each page. Fields will be color-coded\n * by recipient, and will be read-only (cannot be filled, moved, or altered).\n *\n * ```ts\n * <verdocs-preview\n * templateId={templateId}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\n private templateListenerId = null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: 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 @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\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 @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[PREVIEW] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[PREVIEW] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[PREVIEW] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n handlePageRendered(_e: any) {\n // const pageInfo = e.detail as IDocumentPageInfo;\n // const fields = (this.template?.fields || []).filter(field => field.page === pageInfo.pageNumber);\n // console.log('[PREVIEW] Page rendered', pageInfo, fields);\n // fields.forEach(field => renderDocumentField(field, pageInfo, {disabled: true, editable: false, draggable: false}));\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n {(this.template?.documents || []).map(document => {\n const pageNumbers = integerSequence(1, document.pages);\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = document.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-template-document-page\n templateId={document.template_id}\n documentId={document.id}\n pageNumber={pageNumber}\n disabled={true}\n editable={false}\n done={false}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -8,7 +8,7 @@ import { d as defineCustomElement$6 } from './p-bbf082ec.js';
8
8
  import { d as defineCustomElement$5 } from './p-cd8c3571.js';
9
9
  import { d as defineCustomElement$4 } from './p-debf0a8a.js';
10
10
  import { d as defineCustomElement$3 } from './p-53900f81.js';
11
- import { d as defineCustomElement$2 } from './p-a7f85081.js';
11
+ import { d as defineCustomElement$2 } from './p-2508f120.js';
12
12
  import { d as defineCustomElement$1 } from './p-200b75fc.js';
13
13
 
14
14
  /**!
@@ -3048,4 +3048,4 @@ function defineCustomElement() {
3048
3048
 
3049
3049
  export { VerdocsTemplateRoles as V, defineCustomElement as d };
3050
3050
 
3051
- //# sourceMappingURL=p-f3d501b9.js.map
3051
+ //# sourceMappingURL=p-6130383b.js.map