@verdocs/web-sdk 5.0.39 → 5.0.41

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 (548) hide show
  1. package/dist/cjs/{Datastore-7c8ad503.js → Datastore-474df289.js} +1 -2
  2. package/dist/cjs/Datastore-474df289.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +3 -3
  6. package/dist/cjs/verdocs-button_2.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js +14 -10
  8. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js.map +1 -1
  9. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +12 -14
  10. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js.map +1 -1
  11. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelope-recipient-link.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +6 -6
  18. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +4 -4
  19. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +2 -2
  21. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +9 -9
  23. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +4 -3
  25. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
  27. package/dist/cjs/verdocs-preview_7.cjs.entry.js +4 -10
  28. package/dist/cjs/verdocs-preview_7.cjs.entry.js.map +1 -1
  29. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  31. package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  35. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  36. package/dist/cjs/verdocs-switch.cjs.entry.js +2 -2
  37. package/dist/cjs/verdocs-table.cjs.entry.js +2 -2
  38. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  39. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
  40. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  41. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  42. package/dist/cjs/verdocs-templates-list.cjs.entry.js +7 -7
  43. package/dist/cjs/verdocs-toggle-button.cjs.entry.js +1 -1
  44. package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
  45. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  46. package/dist/collection/components/controls/verdocs-button/verdocs-button.js +1 -1
  47. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +2 -2
  48. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.css +5 -0
  49. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js +25 -1
  50. package/dist/collection/components/controls/verdocs-checkbox/verdocs-checkbox.js.map +1 -1
  51. package/dist/collection/components/controls/verdocs-component-error/verdocs-component-error.js +1 -1
  52. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +1 -1
  53. package/dist/collection/components/controls/verdocs-file-chooser/verdocs-file-chooser.js +1 -1
  54. package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.js +1 -1
  55. package/dist/collection/components/controls/verdocs-loader/verdocs-loader.js +1 -1
  56. package/dist/collection/components/controls/verdocs-menu-panel/verdocs-menu-panel.js +1 -1
  57. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.css +7 -0
  58. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.js +1 -1
  59. package/dist/collection/components/controls/verdocs-multiselect/verdocs-multiselect.js.map +1 -1
  60. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +1 -1
  61. package/dist/collection/components/controls/verdocs-pagination/verdocs-pagination.js +1 -1
  62. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js +3 -2
  63. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js.map +1 -1
  64. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.js +1 -1
  65. package/dist/collection/components/controls/verdocs-quick-filter/verdocs-quick-filter.js +1 -1
  66. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js +1 -1
  67. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js +1 -1
  68. package/dist/collection/components/controls/verdocs-spinner/verdocs-spinner.js +1 -1
  69. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.js +2 -2
  70. package/dist/collection/components/controls/verdocs-table/verdocs-table.js +2 -2
  71. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.js +1 -1
  72. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +4 -4
  73. package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js +1 -1
  74. package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.js +1 -1
  75. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +1 -1
  76. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
  77. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  78. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  79. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  80. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  81. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  82. package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.js +1 -1
  83. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  84. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +3 -9
  85. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  86. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.css +25 -38
  87. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +9 -11
  88. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  89. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  90. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  91. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  92. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  93. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  94. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  95. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  96. package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.js +7 -7
  97. package/dist/collection/utils/Datastore.js +0 -1
  98. package/dist/collection/utils/Datastore.js.map +1 -1
  99. package/dist/components/{p-000bd55f.js → p-081465e0.js} +3 -3
  100. package/dist/components/{p-000bd55f.js.map → p-081465e0.js.map} +1 -1
  101. package/dist/components/{p-eebd0f45.js → p-08ddf0b4.js} +6 -6
  102. package/dist/components/{p-eebd0f45.js.map → p-08ddf0b4.js.map} +1 -1
  103. package/dist/components/{p-58e82c41.js → p-0a102a9c.js} +2 -2
  104. package/dist/components/{p-58e82c41.js.map → p-0a102a9c.js.map} +1 -1
  105. package/dist/components/{p-a9cd453d.js → p-0e454650.js} +11 -11
  106. package/dist/components/{p-a9cd453d.js.map → p-0e454650.js.map} +1 -1
  107. package/dist/components/{p-1f3b2431.js → p-1a83e46c.js} +11 -11
  108. package/dist/components/{p-1f3b2431.js.map → p-1a83e46c.js.map} +1 -1
  109. package/dist/components/{p-96951ede.js → p-1c5981db.js} +3 -3
  110. package/dist/components/{p-96951ede.js.map → p-1c5981db.js.map} +1 -1
  111. package/dist/components/{p-3c5f915c.js → p-1d98c6e0.js} +2 -2
  112. package/dist/components/{p-3c5f915c.js.map → p-1d98c6e0.js.map} +1 -1
  113. package/dist/components/{p-304cc99f.js → p-321e2d4e.js} +2 -2
  114. package/dist/components/{p-304cc99f.js.map → p-321e2d4e.js.map} +1 -1
  115. package/dist/components/{p-78d650ca.js → p-33300e3a.js} +1 -2
  116. package/dist/components/p-33300e3a.js.map +1 -0
  117. package/dist/components/{p-558e89e2.js → p-36368807.js} +26 -26
  118. package/dist/components/{p-558e89e2.js.map → p-36368807.js.map} +1 -1
  119. package/dist/components/{p-03019a61.js → p-39480096.js} +2 -2
  120. package/dist/components/{p-03019a61.js.map → p-39480096.js.map} +1 -1
  121. package/dist/components/{p-2b1f0cee.js → p-3d027cc9.js} +2 -2
  122. package/dist/components/{p-2b1f0cee.js.map → p-3d027cc9.js.map} +1 -1
  123. package/dist/components/{p-e5f47d0c.js → p-43b8738f.js} +8 -8
  124. package/dist/components/{p-e5f47d0c.js.map → p-43b8738f.js.map} +1 -1
  125. package/dist/components/{p-dfc85c3a.js → p-444a3bdf.js} +13 -13
  126. package/dist/components/{p-dfc85c3a.js.map → p-444a3bdf.js.map} +1 -1
  127. package/dist/components/{p-0e7eb15a.js → p-44e14cb9.js} +2 -2
  128. package/dist/components/{p-0e7eb15a.js.map → p-44e14cb9.js.map} +1 -1
  129. package/dist/components/{p-2754edaf.js → p-4ab3413a.js} +11 -11
  130. package/dist/components/{p-2754edaf.js.map → p-4ab3413a.js.map} +1 -1
  131. package/dist/components/{p-97383615.js → p-4dbb9783.js} +9 -9
  132. package/dist/components/{p-97383615.js.map → p-4dbb9783.js.map} +1 -1
  133. package/dist/components/{p-da190f9a.js → p-51c8b927.js} +5 -5
  134. package/dist/components/{p-da190f9a.js.map → p-51c8b927.js.map} +1 -1
  135. package/dist/components/{p-437dbf8a.js → p-52c195dd.js} +11 -11
  136. package/dist/components/{p-437dbf8a.js.map → p-52c195dd.js.map} +1 -1
  137. package/dist/components/{p-ad61d24b.js → p-54e4bcee.js} +2 -2
  138. package/dist/components/{p-ad61d24b.js.map → p-54e4bcee.js.map} +1 -1
  139. package/dist/components/{p-70ab11ff.js → p-55edf913.js} +9 -9
  140. package/dist/components/{p-70ab11ff.js.map → p-55edf913.js.map} +1 -1
  141. package/dist/components/{p-c2860587.js → p-57db7635.js} +3 -3
  142. package/dist/components/{p-c2860587.js.map → p-57db7635.js.map} +1 -1
  143. package/dist/components/{p-17b8bb5b.js → p-581128fe.js} +8 -8
  144. package/dist/components/{p-17b8bb5b.js.map → p-581128fe.js.map} +1 -1
  145. package/dist/components/{p-c085ff02.js → p-5d578b83.js} +10 -10
  146. package/dist/components/{p-c085ff02.js.map → p-5d578b83.js.map} +1 -1
  147. package/dist/components/{p-d0a95023.js → p-5faeacf0.js} +2 -2
  148. package/dist/components/{p-d0a95023.js.map → p-5faeacf0.js.map} +1 -1
  149. package/dist/components/{p-c6d2c2d3.js → p-61a2c23a.js} +2 -2
  150. package/dist/components/{p-c6d2c2d3.js.map → p-61a2c23a.js.map} +1 -1
  151. package/dist/components/{p-a045acfb.js → p-641e2cc0.js} +3 -3
  152. package/dist/components/{p-a045acfb.js.map → p-641e2cc0.js.map} +1 -1
  153. package/dist/components/{p-0a5c2d5b.js → p-6a8c32a6.js} +12 -12
  154. package/dist/components/{p-0a5c2d5b.js.map → p-6a8c32a6.js.map} +1 -1
  155. package/dist/components/{p-ce8eb9b3.js → p-6bfb8eba.js} +21 -17
  156. package/dist/components/p-6bfb8eba.js.map +1 -0
  157. package/dist/components/{p-e415c52f.js → p-710ca15d.js} +6 -6
  158. package/dist/components/{p-e415c52f.js.map → p-710ca15d.js.map} +1 -1
  159. package/dist/components/{p-765eaeaf.js → p-7481c7db.js} +25 -25
  160. package/dist/components/{p-765eaeaf.js.map → p-7481c7db.js.map} +1 -1
  161. package/dist/components/{p-c05c83fd.js → p-795b4192.js} +27 -27
  162. package/dist/components/{p-c05c83fd.js.map → p-795b4192.js.map} +1 -1
  163. package/dist/components/{p-50815f3d.js → p-81979fe6.js} +2 -2
  164. package/dist/components/{p-50815f3d.js.map → p-81979fe6.js.map} +1 -1
  165. package/dist/components/{p-ae6ec4aa.js → p-84929e4a.js} +3 -3
  166. package/dist/components/{p-ae6ec4aa.js.map → p-84929e4a.js.map} +1 -1
  167. package/dist/components/{p-3f7340a9.js → p-8af753b4.js} +2 -2
  168. package/dist/components/{p-3f7340a9.js.map → p-8af753b4.js.map} +1 -1
  169. package/dist/components/{p-3b23adcf.js → p-96774726.js} +8 -3
  170. package/dist/components/p-96774726.js.map +1 -0
  171. package/dist/components/{p-94850428.js → p-9a24561a.js} +11 -11
  172. package/dist/components/{p-94850428.js.map → p-9a24561a.js.map} +1 -1
  173. package/dist/components/{p-74cd9648.js → p-a50f7982.js} +11 -5
  174. package/dist/components/p-a50f7982.js.map +1 -0
  175. package/dist/components/{p-bdf3134d.js → p-bebd9b19.js} +2 -2
  176. package/dist/components/{p-bdf3134d.js.map → p-bebd9b19.js.map} +1 -1
  177. package/dist/components/{p-151962d9.js → p-c1d312d8.js} +19 -19
  178. package/dist/components/p-c1d312d8.js.map +1 -0
  179. package/dist/components/{p-6e342167.js → p-ca16a8ac.js} +4 -3
  180. package/dist/components/p-ca16a8ac.js.map +1 -0
  181. package/dist/components/{p-7adcacae.js → p-d20bbc7d.js} +5 -5
  182. package/dist/components/{p-7adcacae.js.map → p-d20bbc7d.js.map} +1 -1
  183. package/dist/components/{p-f1ceb128.js → p-d89157e9.js} +3 -3
  184. package/dist/components/{p-f1ceb128.js.map → p-d89157e9.js.map} +1 -1
  185. package/dist/components/{p-6971dbe9.js → p-d990000f.js} +2 -2
  186. package/dist/components/{p-6971dbe9.js.map → p-d990000f.js.map} +1 -1
  187. package/dist/components/{p-afe2384f.js → p-df227cfc.js} +11 -11
  188. package/dist/components/{p-afe2384f.js.map → p-df227cfc.js.map} +1 -1
  189. package/dist/components/{p-2b916d4b.js → p-e1b7ca10.js} +3 -3
  190. package/dist/components/{p-2b916d4b.js.map → p-e1b7ca10.js.map} +1 -1
  191. package/dist/components/{p-97323182.js → p-e85acbfb.js} +11 -11
  192. package/dist/components/{p-97323182.js.map → p-e85acbfb.js.map} +1 -1
  193. package/dist/components/{p-0b294954.js → p-eb4bd2d6.js} +13 -13
  194. package/dist/components/{p-0b294954.js.map → p-eb4bd2d6.js.map} +1 -1
  195. package/dist/components/{p-d013a90c.js → p-f5ccf125.js} +2 -2
  196. package/dist/components/{p-d013a90c.js.map → p-f5ccf125.js.map} +1 -1
  197. package/dist/components/{p-183981f0.js → p-f66d6a07.js} +12 -12
  198. package/dist/components/{p-183981f0.js.map → p-f66d6a07.js.map} +1 -1
  199. package/dist/components/{p-a901880c.js → p-f776eeae.js} +4 -4
  200. package/dist/components/{p-a901880c.js.map → p-f776eeae.js.map} +1 -1
  201. package/dist/components/{p-29a7261a.js → p-f7dc9e74.js} +2 -2
  202. package/dist/components/{p-29a7261a.js.map → p-f7dc9e74.js.map} +1 -1
  203. package/dist/components/verdocs-auth.js +3 -3
  204. package/dist/components/verdocs-build.js +43 -43
  205. package/dist/components/verdocs-button-panel.js +1 -1
  206. package/dist/components/verdocs-button.js +1 -1
  207. package/dist/components/verdocs-checkbox.js +1 -1
  208. package/dist/components/verdocs-component-error.js +1 -1
  209. package/dist/components/verdocs-contact-picker.js +1 -1
  210. package/dist/components/verdocs-dialog.js +1 -1
  211. package/dist/components/verdocs-dropdown.js +1 -1
  212. package/dist/components/verdocs-envelope-document-page.js +1 -1
  213. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  214. package/dist/components/verdocs-envelope-recipient-summary.js +2 -2
  215. package/dist/components/verdocs-envelope-sidebar.js +9 -9
  216. package/dist/components/verdocs-envelopes-list.js +16 -16
  217. package/dist/components/verdocs-field-attachment.js +1 -1
  218. package/dist/components/verdocs-field-checkbox.js +1 -1
  219. package/dist/components/verdocs-field-date.js +1 -1
  220. package/dist/components/verdocs-field-dropdown.js +1 -1
  221. package/dist/components/verdocs-field-initial.js +1 -1
  222. package/dist/components/verdocs-field-payment.js +10 -10
  223. package/dist/components/verdocs-field-radio.js +1 -1
  224. package/dist/components/verdocs-field-signature.js +1 -1
  225. package/dist/components/verdocs-field-textarea.js +1 -1
  226. package/dist/components/verdocs-field-textbox.js +1 -1
  227. package/dist/components/verdocs-field-timestamp.js +1 -1
  228. package/dist/components/verdocs-file-chooser.js +1 -1
  229. package/dist/components/verdocs-help-icon.js +1 -1
  230. package/dist/components/verdocs-initial-dialog.js +1 -1
  231. package/dist/components/verdocs-kba-dialog.js +1 -1
  232. package/dist/components/verdocs-loader.js +1 -1
  233. package/dist/components/verdocs-menu-panel.js +1 -1
  234. package/dist/components/verdocs-multiselect.js +1 -1
  235. package/dist/components/verdocs-ok-dialog.js +1 -1
  236. package/dist/components/verdocs-organization-card.js +2 -2
  237. package/dist/components/verdocs-pagination.js +1 -1
  238. package/dist/components/verdocs-portal.js +1 -1
  239. package/dist/components/verdocs-preview.js +1 -1
  240. package/dist/components/verdocs-progress-bar.js +1 -1
  241. package/dist/components/verdocs-quick-filter.js +1 -1
  242. package/dist/components/verdocs-quick-functions.js +1 -1
  243. package/dist/components/verdocs-radio-button.js +1 -1
  244. package/dist/components/verdocs-search-box.js +1 -1
  245. package/dist/components/verdocs-search-tabs.js +1 -1
  246. package/dist/components/verdocs-select-input.js +1 -1
  247. package/dist/components/verdocs-send.js +1 -1
  248. package/dist/components/verdocs-sign.js +11 -11
  249. package/dist/components/verdocs-signature-dialog.js +1 -1
  250. package/dist/components/verdocs-spinner.js +1 -1
  251. package/dist/components/verdocs-status-indicator.js +1 -1
  252. package/dist/components/verdocs-switch.js +1 -1
  253. package/dist/components/verdocs-table.js +2 -2
  254. package/dist/components/verdocs-tabs.js +1 -1
  255. package/dist/components/verdocs-template-attachments.js +1 -1
  256. package/dist/components/verdocs-template-build-tabs.js +1 -1
  257. package/dist/components/verdocs-template-card.js +1 -1
  258. package/dist/components/verdocs-template-create.js +4 -4
  259. package/dist/components/verdocs-template-document-page.js +1 -1
  260. package/dist/components/verdocs-template-field-properties.js +1 -1
  261. package/dist/components/verdocs-template-fields.js +1 -1
  262. package/dist/components/verdocs-template-role-properties.js +1 -1
  263. package/dist/components/verdocs-template-roles.js +1 -1
  264. package/dist/components/verdocs-template-settings.js +1 -1
  265. package/dist/components/verdocs-template-star.js +1 -1
  266. package/dist/components/verdocs-template-tags.js +1 -1
  267. package/dist/components/verdocs-templates-list.js +17 -17
  268. package/dist/components/verdocs-text-input.js +1 -1
  269. package/dist/components/verdocs-toggle-button.js +1 -1
  270. package/dist/components/verdocs-toggle.js +1 -1
  271. package/dist/components/verdocs-toolbar-icon.js +1 -1
  272. package/dist/components/verdocs-upload-dialog.js +1 -1
  273. package/dist/components/verdocs-view.js +1 -1
  274. package/dist/custom-elements.json +12 -0
  275. package/dist/esm/{Datastore-1db52f58.js → Datastore-974a55a5.js} +1 -2
  276. package/dist/esm/Datastore-974a55a5.js.map +1 -0
  277. package/dist/esm/loader.js +1 -1
  278. package/dist/esm/verdocs-build.entry.js +1 -1
  279. package/dist/esm/verdocs-button-panel_2.entry.js +3 -3
  280. package/dist/esm/verdocs-button_2.entry.js +2 -2
  281. package/dist/esm/verdocs-checkbox_6.entry.js +14 -10
  282. package/dist/esm/verdocs-checkbox_6.entry.js.map +1 -1
  283. package/dist/esm/verdocs-contact-picker_2.entry.js +12 -14
  284. package/dist/esm/verdocs-contact-picker_2.entry.js.map +1 -1
  285. package/dist/esm/verdocs-dialog.entry.js +1 -1
  286. package/dist/esm/verdocs-dropdown.entry.js +1 -1
  287. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  288. package/dist/esm/verdocs-envelope-recipient-link.entry.js +1 -1
  289. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  290. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  291. package/dist/esm/verdocs-envelopes-list.entry.js +6 -6
  292. package/dist/esm/verdocs-field-attachment_13.entry.js +4 -4
  293. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  294. package/dist/esm/verdocs-file-chooser_2.entry.js +2 -2
  295. package/dist/esm/verdocs-kba-dialog_2.entry.js +1 -1
  296. package/dist/esm/verdocs-menu-panel_2.entry.js +9 -9
  297. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  298. package/dist/esm/verdocs-organization-card_2.entry.js +4 -3
  299. package/dist/esm/verdocs-organization-card_2.entry.js.map +1 -1
  300. package/dist/esm/verdocs-pagination_2.entry.js +2 -2
  301. package/dist/esm/verdocs-preview_7.entry.js +4 -10
  302. package/dist/esm/verdocs-preview_7.entry.js.map +1 -1
  303. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  304. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  305. package/dist/esm/verdocs-search-box.entry.js +1 -1
  306. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  307. package/dist/esm/verdocs-sign.entry.js +1 -1
  308. package/dist/esm/verdocs-spinner.entry.js +1 -1
  309. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  310. package/dist/esm/verdocs-switch.entry.js +2 -2
  311. package/dist/esm/verdocs-table.entry.js +2 -2
  312. package/dist/esm/verdocs-template-card.entry.js +1 -1
  313. package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
  314. package/dist/esm/verdocs-template-star.entry.js +1 -1
  315. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  316. package/dist/esm/verdocs-templates-list.entry.js +7 -7
  317. package/dist/esm/verdocs-toggle-button.entry.js +1 -1
  318. package/dist/esm/verdocs-toggle.entry.js +1 -1
  319. package/dist/esm/verdocs-web-sdk.js +1 -1
  320. package/dist/esm-es5/{Datastore-1db52f58.js → Datastore-974a55a5.js} +2 -2
  321. package/dist/esm-es5/{Datastore-1db52f58.js.map → Datastore-974a55a5.js.map} +1 -1
  322. package/dist/esm-es5/loader.js +1 -1
  323. package/dist/esm-es5/loader.js.map +1 -1
  324. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  325. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  326. package/dist/esm-es5/verdocs-button_2.entry.js +1 -1
  327. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -1
  328. package/dist/esm-es5/verdocs-checkbox_6.entry.js.map +1 -1
  329. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  330. package/dist/esm-es5/verdocs-contact-picker_2.entry.js.map +1 -1
  331. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  332. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  333. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  334. package/dist/esm-es5/verdocs-envelope-recipient-link.entry.js +1 -1
  335. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  336. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  337. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  338. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  339. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  340. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  341. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  342. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  343. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  344. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  345. package/dist/esm-es5/verdocs-organization-card_2.entry.js.map +1 -1
  346. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  347. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  348. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
  349. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  350. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  351. package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
  352. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  353. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  354. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  355. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  356. package/dist/esm-es5/verdocs-switch.entry.js +1 -1
  357. package/dist/esm-es5/verdocs-table.entry.js +1 -1
  358. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  359. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  360. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  361. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  362. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  363. package/dist/esm-es5/verdocs-toggle-button.entry.js +1 -1
  364. package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
  365. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  366. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  367. package/dist/types/components/controls/verdocs-checkbox/verdocs-checkbox.d.ts +4 -0
  368. package/dist/types/components.d.ts +8 -0
  369. package/dist/verdocs-web-sdk/{p-3db0b317.system.entry.js → p-00b95f75.system.entry.js} +2 -2
  370. package/dist/verdocs-web-sdk/{p-24e23530.entry.js → p-04790b68.entry.js} +2 -2
  371. package/dist/verdocs-web-sdk/{p-1257494a.system.entry.js → p-06394c15.system.entry.js} +2 -2
  372. package/dist/verdocs-web-sdk/p-06394c15.system.entry.js.map +1 -0
  373. package/dist/verdocs-web-sdk/{p-9e10dd2c.entry.js → p-06775d41.entry.js} +2 -2
  374. package/dist/verdocs-web-sdk/p-0c1898f6.system.js +1 -1
  375. package/dist/verdocs-web-sdk/p-0c1898f6.system.js.map +1 -1
  376. package/dist/verdocs-web-sdk/{p-82f1d16b.system.entry.js → p-0e485d1a.system.entry.js} +2 -2
  377. package/dist/verdocs-web-sdk/{p-a9f3549e.system.entry.js → p-0e8bbe05.system.entry.js} +2 -2
  378. package/dist/verdocs-web-sdk/{p-078818a8.entry.js → p-1247fd39.entry.js} +2 -2
  379. package/dist/verdocs-web-sdk/{p-e1f7bad5.system.entry.js → p-195cd4f4.system.entry.js} +2 -2
  380. package/dist/verdocs-web-sdk/p-1c8788f5.entry.js +2 -0
  381. package/dist/verdocs-web-sdk/p-1c8788f5.entry.js.map +1 -0
  382. package/dist/verdocs-web-sdk/{p-1606cff5.entry.js → p-1f42a7c2.entry.js} +2 -2
  383. package/dist/verdocs-web-sdk/{p-5123d213.entry.js → p-2415315d.entry.js} +2 -2
  384. package/dist/verdocs-web-sdk/{p-e310133f.system.entry.js → p-296b3f1d.system.entry.js} +2 -2
  385. package/dist/verdocs-web-sdk/{p-2f67a7eb.entry.js → p-2c9254a9.entry.js} +2 -2
  386. package/dist/verdocs-web-sdk/{p-25b62800.system.entry.js → p-2d33195d.system.entry.js} +2 -2
  387. package/dist/verdocs-web-sdk/{p-46181718.entry.js → p-2df97f4e.entry.js} +2 -2
  388. package/dist/verdocs-web-sdk/{p-40faf935.entry.js → p-2e2e6d95.entry.js} +2 -2
  389. package/dist/verdocs-web-sdk/{p-97f961f6.entry.js → p-2f5b24db.entry.js} +2 -2
  390. package/dist/verdocs-web-sdk/{p-b5bc29df.entry.js → p-330c1f00.entry.js} +2 -2
  391. package/dist/verdocs-web-sdk/p-33300e3a.js +2 -0
  392. package/dist/verdocs-web-sdk/{p-78d650ca.js.map → p-33300e3a.js.map} +1 -1
  393. package/dist/verdocs-web-sdk/{p-de487077.system.entry.js → p-36a10b78.system.entry.js} +2 -2
  394. package/dist/verdocs-web-sdk/{p-06618ff6.entry.js → p-517a9262.entry.js} +2 -2
  395. package/dist/verdocs-web-sdk/{p-3006405d.system.entry.js → p-5a639d78.system.entry.js} +2 -2
  396. package/dist/verdocs-web-sdk/{p-3f1560d1.system.entry.js → p-5fd67b04.system.entry.js} +2 -2
  397. package/dist/verdocs-web-sdk/{p-13e53d8b.system.entry.js → p-62bde242.system.entry.js} +2 -2
  398. package/dist/verdocs-web-sdk/p-62bde242.system.entry.js.map +1 -0
  399. package/dist/verdocs-web-sdk/{p-54fc4cdb.system.entry.js → p-644444fe.system.entry.js} +2 -2
  400. package/dist/verdocs-web-sdk/{p-0c9a2435.system.entry.js → p-66438012.system.entry.js} +2 -2
  401. package/dist/verdocs-web-sdk/{p-7bd2fe9f.entry.js → p-66feba8c.entry.js} +2 -2
  402. package/dist/verdocs-web-sdk/{p-332f01b5.system.entry.js → p-78d9fa52.system.entry.js} +2 -2
  403. package/dist/verdocs-web-sdk/{p-c4611444.entry.js → p-7962eb00.entry.js} +2 -2
  404. package/dist/verdocs-web-sdk/{p-a5ce8ad2.system.entry.js → p-79d2f425.system.entry.js} +2 -2
  405. package/dist/verdocs-web-sdk/{p-a557de10.entry.js → p-7b7451fb.entry.js} +2 -2
  406. package/dist/verdocs-web-sdk/{p-37257780.system.entry.js → p-7f982a59.system.entry.js} +2 -2
  407. package/dist/verdocs-web-sdk/p-82c88c0f.entry.js +2 -0
  408. package/dist/verdocs-web-sdk/{p-99833353.entry.js.map → p-82c88c0f.entry.js.map} +1 -1
  409. package/dist/verdocs-web-sdk/{p-6a4e6c08.entry.js → p-866d2139.entry.js} +2 -2
  410. package/dist/verdocs-web-sdk/{p-2472a2c9.entry.js → p-923cc826.entry.js} +2 -2
  411. package/dist/verdocs-web-sdk/{p-247612d3.entry.js → p-96ca1ce2.entry.js} +2 -2
  412. package/dist/verdocs-web-sdk/{p-e50dae96.system.entry.js → p-9880e3e4.system.entry.js} +2 -2
  413. package/dist/verdocs-web-sdk/{p-fc5f4ba3.system.entry.js → p-9a955b58.system.entry.js} +2 -2
  414. package/dist/verdocs-web-sdk/{p-0bb2c05f.entry.js → p-9f2cb0de.entry.js} +2 -2
  415. package/dist/verdocs-web-sdk/{p-41c9aec8.system.entry.js → p-a175597c.system.entry.js} +2 -2
  416. package/dist/verdocs-web-sdk/{p-55628a5d.system.entry.js → p-a1f9578c.system.entry.js} +2 -2
  417. package/dist/verdocs-web-sdk/{p-8e4b7f0c.system.entry.js → p-a4dd8302.system.entry.js} +2 -2
  418. package/dist/verdocs-web-sdk/{p-de127480.system.entry.js → p-a508388a.system.entry.js} +2 -2
  419. package/dist/verdocs-web-sdk/{p-efa889fa.entry.js → p-ab23e446.entry.js} +2 -2
  420. package/dist/verdocs-web-sdk/{p-a3b0707c.system.entry.js → p-ac10a0b5.system.entry.js} +2 -2
  421. package/dist/verdocs-web-sdk/{p-58a2db01.system.entry.js → p-ad04e403.system.entry.js} +2 -2
  422. package/dist/verdocs-web-sdk/{p-cf22ad7c.entry.js → p-af41b404.entry.js} +2 -2
  423. package/dist/verdocs-web-sdk/{p-562cfc4d.entry.js → p-af9cc642.entry.js} +2 -2
  424. package/dist/verdocs-web-sdk/p-b0606620.entry.js +2 -0
  425. package/dist/verdocs-web-sdk/p-b0606620.entry.js.map +1 -0
  426. package/dist/verdocs-web-sdk/p-b32c8a43.entry.js +2 -0
  427. package/dist/verdocs-web-sdk/p-b32c8a43.entry.js.map +1 -0
  428. package/dist/verdocs-web-sdk/{p-5cc96b67.system.entry.js → p-b4441084.system.entry.js} +2 -2
  429. package/dist/verdocs-web-sdk/{p-49066700.system.entry.js → p-ba7f0fce.system.entry.js} +2 -2
  430. package/dist/verdocs-web-sdk/{p-59dbcd64.entry.js → p-c242e25e.entry.js} +2 -2
  431. package/dist/verdocs-web-sdk/{p-e4c8f7d0.system.entry.js → p-c397c96b.system.entry.js} +2 -2
  432. package/dist/verdocs-web-sdk/{p-9714d5e1.entry.js → p-ca45c312.entry.js} +2 -2
  433. package/dist/verdocs-web-sdk/{p-861e96ae.system.entry.js → p-d2a9d5cf.system.entry.js} +2 -2
  434. package/dist/verdocs-web-sdk/{p-48ea99c9.system.entry.js → p-d3dea986.system.entry.js} +2 -2
  435. package/dist/verdocs-web-sdk/{p-b66db146.system.entry.js → p-d63b3dc0.system.entry.js} +2 -2
  436. package/dist/verdocs-web-sdk/{p-8c3fd266.entry.js → p-d6f70ede.entry.js} +2 -2
  437. package/dist/verdocs-web-sdk/{p-32408493.entry.js → p-d8e59850.entry.js} +2 -2
  438. package/dist/verdocs-web-sdk/{p-be8afe3e.entry.js → p-dac04f8e.entry.js} +2 -2
  439. package/dist/verdocs-web-sdk/{p-6d2f24a3.system.entry.js → p-dac155a6.system.entry.js} +2 -2
  440. package/dist/verdocs-web-sdk/{p-6c31cfa8.system.entry.js → p-db383816.system.entry.js} +2 -2
  441. package/dist/verdocs-web-sdk/{p-f025a0cf.entry.js → p-dda88c7f.entry.js} +2 -2
  442. package/dist/verdocs-web-sdk/p-dda88c7f.entry.js.map +1 -0
  443. package/dist/verdocs-web-sdk/{p-ff4f0ace.entry.js → p-df6ab9e9.entry.js} +2 -2
  444. package/dist/verdocs-web-sdk/{p-8a726ba0.entry.js → p-df70c2ea.entry.js} +2 -2
  445. package/dist/verdocs-web-sdk/{p-26d1f777.system.entry.js → p-e3687c26.system.entry.js} +2 -2
  446. package/dist/verdocs-web-sdk/{p-ff64d950.entry.js → p-e43a184d.entry.js} +2 -2
  447. package/dist/verdocs-web-sdk/{p-5eeaab1b.system.entry.js → p-e5684a49.system.entry.js} +2 -2
  448. package/dist/verdocs-web-sdk/p-e5684a49.system.entry.js.map +1 -0
  449. package/dist/verdocs-web-sdk/p-e5719bcf.system.entry.js +2 -0
  450. package/dist/verdocs-web-sdk/p-e5719bcf.system.entry.js.map +1 -0
  451. package/dist/verdocs-web-sdk/{p-e4a6b073.system.js → p-ebd42be0.system.js} +2 -2
  452. package/dist/verdocs-web-sdk/{p-e4a6b073.system.js.map → p-ebd42be0.system.js.map} +1 -1
  453. package/dist/verdocs-web-sdk/p-efda4a21.entry.js +2 -0
  454. package/dist/verdocs-web-sdk/{p-151e2fb7.entry.js → p-f406e916.entry.js} +2 -2
  455. package/dist/verdocs-web-sdk/{p-1267a3e8.system.entry.js → p-f9aaeb81.system.entry.js} +2 -2
  456. package/dist/verdocs-web-sdk/{p-097d1584.entry.js → p-f9d56a3c.entry.js} +2 -2
  457. package/dist/verdocs-web-sdk/{p-ee9478db.system.entry.js → p-fb577d62.system.entry.js} +2 -2
  458. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  459. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  460. package/package.json +1 -1
  461. package/dist/cjs/Datastore-7c8ad503.js.map +0 -1
  462. package/dist/components/p-151962d9.js.map +0 -1
  463. package/dist/components/p-3b23adcf.js.map +0 -1
  464. package/dist/components/p-6e342167.js.map +0 -1
  465. package/dist/components/p-74cd9648.js.map +0 -1
  466. package/dist/components/p-78d650ca.js.map +0 -1
  467. package/dist/components/p-ce8eb9b3.js.map +0 -1
  468. package/dist/esm/Datastore-1db52f58.js.map +0 -1
  469. package/dist/verdocs-web-sdk/p-06febcca.entry.js +0 -2
  470. package/dist/verdocs-web-sdk/p-1257494a.system.entry.js.map +0 -1
  471. package/dist/verdocs-web-sdk/p-13e53d8b.system.entry.js.map +0 -1
  472. package/dist/verdocs-web-sdk/p-3511ef15.entry.js +0 -2
  473. package/dist/verdocs-web-sdk/p-3511ef15.entry.js.map +0 -1
  474. package/dist/verdocs-web-sdk/p-5ba5db60.system.entry.js +0 -2
  475. package/dist/verdocs-web-sdk/p-5ba5db60.system.entry.js.map +0 -1
  476. package/dist/verdocs-web-sdk/p-5eeaab1b.system.entry.js.map +0 -1
  477. package/dist/verdocs-web-sdk/p-78d650ca.js +0 -2
  478. package/dist/verdocs-web-sdk/p-8ced0c16.entry.js +0 -2
  479. package/dist/verdocs-web-sdk/p-8ced0c16.entry.js.map +0 -1
  480. package/dist/verdocs-web-sdk/p-99833353.entry.js +0 -2
  481. package/dist/verdocs-web-sdk/p-eb93d051.entry.js +0 -2
  482. package/dist/verdocs-web-sdk/p-eb93d051.entry.js.map +0 -1
  483. package/dist/verdocs-web-sdk/p-f025a0cf.entry.js.map +0 -1
  484. /package/dist/verdocs-web-sdk/{p-3db0b317.system.entry.js.map → p-00b95f75.system.entry.js.map} +0 -0
  485. /package/dist/verdocs-web-sdk/{p-24e23530.entry.js.map → p-04790b68.entry.js.map} +0 -0
  486. /package/dist/verdocs-web-sdk/{p-9e10dd2c.entry.js.map → p-06775d41.entry.js.map} +0 -0
  487. /package/dist/verdocs-web-sdk/{p-82f1d16b.system.entry.js.map → p-0e485d1a.system.entry.js.map} +0 -0
  488. /package/dist/verdocs-web-sdk/{p-a9f3549e.system.entry.js.map → p-0e8bbe05.system.entry.js.map} +0 -0
  489. /package/dist/verdocs-web-sdk/{p-078818a8.entry.js.map → p-1247fd39.entry.js.map} +0 -0
  490. /package/dist/verdocs-web-sdk/{p-e1f7bad5.system.entry.js.map → p-195cd4f4.system.entry.js.map} +0 -0
  491. /package/dist/verdocs-web-sdk/{p-1606cff5.entry.js.map → p-1f42a7c2.entry.js.map} +0 -0
  492. /package/dist/verdocs-web-sdk/{p-5123d213.entry.js.map → p-2415315d.entry.js.map} +0 -0
  493. /package/dist/verdocs-web-sdk/{p-e310133f.system.entry.js.map → p-296b3f1d.system.entry.js.map} +0 -0
  494. /package/dist/verdocs-web-sdk/{p-2f67a7eb.entry.js.map → p-2c9254a9.entry.js.map} +0 -0
  495. /package/dist/verdocs-web-sdk/{p-25b62800.system.entry.js.map → p-2d33195d.system.entry.js.map} +0 -0
  496. /package/dist/verdocs-web-sdk/{p-46181718.entry.js.map → p-2df97f4e.entry.js.map} +0 -0
  497. /package/dist/verdocs-web-sdk/{p-40faf935.entry.js.map → p-2e2e6d95.entry.js.map} +0 -0
  498. /package/dist/verdocs-web-sdk/{p-97f961f6.entry.js.map → p-2f5b24db.entry.js.map} +0 -0
  499. /package/dist/verdocs-web-sdk/{p-b5bc29df.entry.js.map → p-330c1f00.entry.js.map} +0 -0
  500. /package/dist/verdocs-web-sdk/{p-de487077.system.entry.js.map → p-36a10b78.system.entry.js.map} +0 -0
  501. /package/dist/verdocs-web-sdk/{p-06618ff6.entry.js.map → p-517a9262.entry.js.map} +0 -0
  502. /package/dist/verdocs-web-sdk/{p-3006405d.system.entry.js.map → p-5a639d78.system.entry.js.map} +0 -0
  503. /package/dist/verdocs-web-sdk/{p-3f1560d1.system.entry.js.map → p-5fd67b04.system.entry.js.map} +0 -0
  504. /package/dist/verdocs-web-sdk/{p-54fc4cdb.system.entry.js.map → p-644444fe.system.entry.js.map} +0 -0
  505. /package/dist/verdocs-web-sdk/{p-0c9a2435.system.entry.js.map → p-66438012.system.entry.js.map} +0 -0
  506. /package/dist/verdocs-web-sdk/{p-7bd2fe9f.entry.js.map → p-66feba8c.entry.js.map} +0 -0
  507. /package/dist/verdocs-web-sdk/{p-332f01b5.system.entry.js.map → p-78d9fa52.system.entry.js.map} +0 -0
  508. /package/dist/verdocs-web-sdk/{p-c4611444.entry.js.map → p-7962eb00.entry.js.map} +0 -0
  509. /package/dist/verdocs-web-sdk/{p-a5ce8ad2.system.entry.js.map → p-79d2f425.system.entry.js.map} +0 -0
  510. /package/dist/verdocs-web-sdk/{p-a557de10.entry.js.map → p-7b7451fb.entry.js.map} +0 -0
  511. /package/dist/verdocs-web-sdk/{p-37257780.system.entry.js.map → p-7f982a59.system.entry.js.map} +0 -0
  512. /package/dist/verdocs-web-sdk/{p-6a4e6c08.entry.js.map → p-866d2139.entry.js.map} +0 -0
  513. /package/dist/verdocs-web-sdk/{p-2472a2c9.entry.js.map → p-923cc826.entry.js.map} +0 -0
  514. /package/dist/verdocs-web-sdk/{p-247612d3.entry.js.map → p-96ca1ce2.entry.js.map} +0 -0
  515. /package/dist/verdocs-web-sdk/{p-e50dae96.system.entry.js.map → p-9880e3e4.system.entry.js.map} +0 -0
  516. /package/dist/verdocs-web-sdk/{p-fc5f4ba3.system.entry.js.map → p-9a955b58.system.entry.js.map} +0 -0
  517. /package/dist/verdocs-web-sdk/{p-0bb2c05f.entry.js.map → p-9f2cb0de.entry.js.map} +0 -0
  518. /package/dist/verdocs-web-sdk/{p-41c9aec8.system.entry.js.map → p-a175597c.system.entry.js.map} +0 -0
  519. /package/dist/verdocs-web-sdk/{p-55628a5d.system.entry.js.map → p-a1f9578c.system.entry.js.map} +0 -0
  520. /package/dist/verdocs-web-sdk/{p-8e4b7f0c.system.entry.js.map → p-a4dd8302.system.entry.js.map} +0 -0
  521. /package/dist/verdocs-web-sdk/{p-de127480.system.entry.js.map → p-a508388a.system.entry.js.map} +0 -0
  522. /package/dist/verdocs-web-sdk/{p-efa889fa.entry.js.map → p-ab23e446.entry.js.map} +0 -0
  523. /package/dist/verdocs-web-sdk/{p-a3b0707c.system.entry.js.map → p-ac10a0b5.system.entry.js.map} +0 -0
  524. /package/dist/verdocs-web-sdk/{p-58a2db01.system.entry.js.map → p-ad04e403.system.entry.js.map} +0 -0
  525. /package/dist/verdocs-web-sdk/{p-cf22ad7c.entry.js.map → p-af41b404.entry.js.map} +0 -0
  526. /package/dist/verdocs-web-sdk/{p-562cfc4d.entry.js.map → p-af9cc642.entry.js.map} +0 -0
  527. /package/dist/verdocs-web-sdk/{p-5cc96b67.system.entry.js.map → p-b4441084.system.entry.js.map} +0 -0
  528. /package/dist/verdocs-web-sdk/{p-49066700.system.entry.js.map → p-ba7f0fce.system.entry.js.map} +0 -0
  529. /package/dist/verdocs-web-sdk/{p-59dbcd64.entry.js.map → p-c242e25e.entry.js.map} +0 -0
  530. /package/dist/verdocs-web-sdk/{p-e4c8f7d0.system.entry.js.map → p-c397c96b.system.entry.js.map} +0 -0
  531. /package/dist/verdocs-web-sdk/{p-9714d5e1.entry.js.map → p-ca45c312.entry.js.map} +0 -0
  532. /package/dist/verdocs-web-sdk/{p-861e96ae.system.entry.js.map → p-d2a9d5cf.system.entry.js.map} +0 -0
  533. /package/dist/verdocs-web-sdk/{p-48ea99c9.system.entry.js.map → p-d3dea986.system.entry.js.map} +0 -0
  534. /package/dist/verdocs-web-sdk/{p-b66db146.system.entry.js.map → p-d63b3dc0.system.entry.js.map} +0 -0
  535. /package/dist/verdocs-web-sdk/{p-8c3fd266.entry.js.map → p-d6f70ede.entry.js.map} +0 -0
  536. /package/dist/verdocs-web-sdk/{p-32408493.entry.js.map → p-d8e59850.entry.js.map} +0 -0
  537. /package/dist/verdocs-web-sdk/{p-be8afe3e.entry.js.map → p-dac04f8e.entry.js.map} +0 -0
  538. /package/dist/verdocs-web-sdk/{p-6d2f24a3.system.entry.js.map → p-dac155a6.system.entry.js.map} +0 -0
  539. /package/dist/verdocs-web-sdk/{p-6c31cfa8.system.entry.js.map → p-db383816.system.entry.js.map} +0 -0
  540. /package/dist/verdocs-web-sdk/{p-ff4f0ace.entry.js.map → p-df6ab9e9.entry.js.map} +0 -0
  541. /package/dist/verdocs-web-sdk/{p-8a726ba0.entry.js.map → p-df70c2ea.entry.js.map} +0 -0
  542. /package/dist/verdocs-web-sdk/{p-26d1f777.system.entry.js.map → p-e3687c26.system.entry.js.map} +0 -0
  543. /package/dist/verdocs-web-sdk/{p-ff64d950.entry.js.map → p-e43a184d.entry.js.map} +0 -0
  544. /package/dist/verdocs-web-sdk/{p-06febcca.entry.js.map → p-efda4a21.entry.js.map} +0 -0
  545. /package/dist/verdocs-web-sdk/{p-151e2fb7.entry.js.map → p-f406e916.entry.js.map} +0 -0
  546. /package/dist/verdocs-web-sdk/{p-1267a3e8.system.entry.js.map → p-f9aaeb81.system.entry.js.map} +0 -0
  547. /package/dist/verdocs-web-sdk/{p-097d1584.entry.js.map → p-f9d56a3c.entry.js.map} +0 -0
  548. /package/dist/verdocs-web-sdk/{p-ee9478db.system.entry.js.map → p-fb577d62.system.entry.js.map} +0 -0
@@ -151,31 +151,31 @@ export class VerdocsTemplateRoleProperties {
151
151
  const hasFields = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).some(field => field.role_name === this.roleName);
152
152
  // Either all three should be empty, or all three need to be filled
153
153
  const isValid = (!this.email && !this.first_name && !this.last_name) || (isValidEmail(this.email) && !!this.first_name && !!this.last_name);
154
- return (h(Host, { key: '1ad55cc14a30cd9a7be12d8adf56ce83361ca223' }, h("form", { key: 'f43ca7546c1d5c28b45dfb17e18cd1b7404601b7', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '8f3248ac163e1b90fd2311cfdbbaaa03f5545981' }, h("verdocs-text-input", { key: 'a73fce39e7070844da9bda975ac1ebb8ccd21eea', id: "verdocs-role-name", label: "Role Name (Must be unique)", value: this.name, autocomplete: "off", disabled: hasFields, placeholder: "Role Name...", onInput: (e) => {
154
+ return (h(Host, { key: '96ce0c97de00a07bed31adc75c7150701578c941' }, h("form", { key: '8e0a0b5f7f2bf884d2c88f043136bcfe1bcf2532', onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { key: '0b87ecba6384095172fa7391334dd87c851408c8' }, h("verdocs-text-input", { key: '4482f18ade6eeb905b9520dc30e856d7713d901c', id: "verdocs-role-name", label: "Role Name (Must be unique)", value: this.name, autocomplete: "off", disabled: hasFields, placeholder: "Role Name...", onInput: (e) => {
155
155
  this.name = e.target.value;
156
156
  this.dirty = true;
157
- } }), hasFields && h("div", { key: '45e3b1a720d24f6bf80793736f439b25d02cd761', class: "instructions" }, "This role has fields assigned and can no longer be renamed.")), h("div", { key: '84e8e7228127c6e7eb0ff988cf101c3b01f94722' }, h("div", { key: '54662ff3d0a5299a64f00fce052beb157efbe2c3', class: "input-label" }, "Type:"), h("verdocs-select-input", { key: '63f857624912c84d859799c02de0b2cff14201f6', value: this.type, options: [
157
+ } }), hasFields && h("div", { key: 'a94d2380d66ee407a3c8c50b508f3e886f67a5b5', class: "instructions" }, "This role has fields assigned and can no longer be renamed.")), h("div", { key: 'd2546f25ccb6d903292ae101017abbe84b4bc89f' }, h("div", { key: '5c410df8e359df411121e93fc271a858700d3f60', class: "input-label" }, "Type:"), h("verdocs-select-input", { key: '93719bbd38fcdcbf2ff122da5c43358cca2137d8', value: this.type, options: [
158
158
  { label: 'Signer', value: 'signer' },
159
159
  { label: 'CC', value: 'cc' },
160
160
  { label: 'Approver', value: 'approver' },
161
161
  ], onInput: (e) => {
162
162
  this.type = e.target.value;
163
163
  this.dirty = true;
164
- } })), h("div", { key: '6da9230ff385d2c4c4b9e916d2318fbb94a545d0' }, h("div", { key: '6d222a2c12182d8c26954c80b5ef493eaf960a53', class: "input-label" }, "Default Contact Info:"), h("div", { key: '407e291c353ccfd49f5777ad1bea9c1b3fb2800b', class: "first-last" }, h("verdocs-text-input", { key: '6e3a55ff43490e4202293fd4f81e26a7e9897431', id: "verdocs-recipient-first", value: this.first_name, autocomplete: "off", placeholder: "First...", onInput: (e) => {
164
+ } })), h("div", { key: 'a20f9844b3984c614163301ab0e22b61f18fba2a' }, h("div", { key: '877a63a1e7421991e72a45ccbfeb0349aa09dc7f', class: "input-label" }, "Default Contact Info:"), h("div", { key: '4450947537ccc4698b4e1f35fd84aa0955131337', class: "first-last" }, h("verdocs-text-input", { key: '37fbada4d13c0f5db4054d78bea5883d0995fc75', id: "verdocs-recipient-first", value: this.first_name, autocomplete: "off", placeholder: "First...", onInput: (e) => {
165
165
  this.first_name = e.target.value;
166
166
  this.dirty = true;
167
- } }), h("verdocs-text-input", { key: 'f01e095ddb71525e6c032edebdef106d6b8be46f', id: "verdocs-recipient-first", value: this.last_name, autocomplete: "off", placeholder: "Last...", onInput: (e) => {
167
+ } }), h("verdocs-text-input", { key: '32b1e430af0b03351e7aa22cd349b80dae89455e', id: "verdocs-recipient-first", value: this.last_name, autocomplete: "off", placeholder: "Last...", onInput: (e) => {
168
168
  this.last_name = e.target.value;
169
169
  this.dirty = true;
170
- } }))), h("div", { key: '3ca6ab94243a2841a7e330c48d30a00ff3ab5c18' }, h("verdocs-text-input", { key: '28dd98491e99fbea7b140553fdccdc1b783a9d1f', id: "verdocs-recipient-email", value: this.email, autocomplete: "off", placeholder: "Email Address...", onInput: (e) => {
170
+ } }))), h("div", { key: 'a7cc6719139da5023f78cf23ddc603a437d34e34' }, h("verdocs-text-input", { key: '53cc82483504af0726d11615c7ed9481a7a644b3', id: "verdocs-recipient-email", value: this.email, autocomplete: "off", placeholder: "Email Address...", onInput: (e) => {
171
171
  this.email = e.target.value;
172
172
  this.dirty = true;
173
- } }), h("div", { key: '32035f36e92471ff6bd3f9e03c4a40e20856624b', style: { height: '15px' } }), h("div", { key: 'c65ed4a1d2c7961303fdf8f72dfaa9921c18cc1c' }, h("verdocs-text-input", { key: '55d51882fb166870a57e6761111008ae2a048c9a', id: "verdocs-recipient-phone", value: this.phone, autocomplete: "off",
173
+ } }), h("div", { key: '87a622f513d8a70345b1642a9bd28f6680c0ecdd', style: { height: '15px' } }), h("div", { key: '46f265314b3e55b28c2595ea016ce7dba0ceb752' }, h("verdocs-text-input", { key: '6411264bb26c808ad4f588b884657d1331a22195', id: "verdocs-recipient-phone", value: this.phone, autocomplete: "off",
174
174
  // 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."
175
175
  placeholder: "Phone Number...", onInput: (e) => {
176
176
  this.phone = e.target.value;
177
177
  this.dirty = true;
178
- } }))), h("div", { key: 'c60f5b4e51021e3ce3d18eb55e17513b6fc836c1', class: "buttons" }, h("button", { key: 'c81a324c051f6f61988beaef648226a5a688ae60', class: "delete-button", disabled: this.dirty, onClick: e => this.handleDelete(e), innerHTML: TrashIcon }), h("div", { key: '6b6c1e98202cc6d4ddfa1ebfd371cdbc322ef618', style: { flex: '1' } }), h("verdocs-button", { key: 'a2049051f318bc992a6a064d181fc48951c39d2b', size: "small", label: "Save", disabled: !this.dirty || !isValid, onClick: e => this.handleSave(e) })))));
178
+ } }))), h("div", { key: '79576da9bc2cebe62a89f179f98ca85a5a95c1e2', class: "buttons" }, h("button", { key: '14e042f76eea3a5d6ca60044ccfb35d8883467db', class: "delete-button", disabled: this.dirty, onClick: e => this.handleDelete(e), innerHTML: TrashIcon }), h("div", { key: 'd422a670fcae7feb422ae84d5826950e92adb342', style: { flex: '1' } }), h("verdocs-button", { key: '1c3351125d082f12942e12c1448402ed9343220a', size: "small", label: "Save", disabled: !this.dirty || !isValid, onClick: e => this.handleSave(e) })))));
179
179
  }
180
180
  static get is() { return "verdocs-template-role-properties"; }
181
181
  static get originalStyleUrls() {
@@ -40,7 +40,7 @@ export class VerdocsTemplateStar {
40
40
  });
41
41
  }
42
42
  render() {
43
- return (h(Host, { key: 'eb259c8e257472924f06fec710e849140eca20b7' }, h("div", { key: 'ed61521d8e7b02b85dcd24ba01618863d9ad0449', class: `star ${this.updating ? 'updating' : ''}`, innerHTML: this.template.star_counter ? SolidStarIcon : OutlineStarIcon, onClick: e => this.toggle(e) }), h("div", { key: '674b8ba25d8c1a66bf6c3e2d91ffb3739acac0aa', class: "count" }, this.template.star_counter || '--')));
43
+ return (h(Host, { key: 'e160d6639542d0035c1fde3d0a3c39732116aaa1' }, h("div", { key: '515127c944567fc9afdab5d94531af6f82e10608', class: `star ${this.updating ? 'updating' : ''}`, innerHTML: this.template.star_counter ? SolidStarIcon : OutlineStarIcon, onClick: e => this.toggle(e) }), h("div", { key: '8dafd4ff028fb481cd048a6c93a55fc740691e84', class: "count" }, this.template.star_counter || '--')));
44
44
  }
45
45
  static get is() { return "verdocs-template-star"; }
46
46
  static get originalStyleUrls() {
@@ -5,7 +5,7 @@ import { h, Host } from "@stencil/core";
5
5
  export class VerdocsTemplateTags {
6
6
  render() {
7
7
  var _a;
8
- return (h(Host, { key: 'bc7bd2b353f4f73cf6dd9fdd5d633c0d7e033b70' }, (_a = this.tags) === null || _a === void 0 ? void 0 : _a.map(tag => (h("span", null, tag)))));
8
+ return (h(Host, { key: '195b981b22a559b2de73d87811b37a4e8b7ccd14' }, (_a = this.tags) === null || _a === void 0 ? void 0 : _a.map(tag => (h("span", null, tag)))));
9
9
  }
10
10
  static get is() { return "verdocs-template-tags"; }
11
11
  static get originalStyleUrls() {
@@ -173,24 +173,24 @@ export class VerdocsTemplatesList {
173
173
  // In addition to the server query we also filter locally. This provides a faster UI update
174
174
  // while the onBlur re-queries the server for any new records that now qualify by the filter.
175
175
  const locallyFilteredTemplates = !this.localNameFilter ? this.templates : this.templates.filter(t => t.name.toLowerCase().includes(this.localNameFilter.toLowerCase()));
176
- return (h(Host, { key: 'de7c2936ade3d8cc9338e0899a4034f7449273a6' }, h("div", { key: '5cf45e8d5488721fb1345f46a2f0cac0856e62f8', class: "header" }, h("div", { key: '34131570eea93318d2e4df10851c878c6bcaa339', class: "filter" }, h("verdocs-text-input", { key: 'fcbd3e69988bfd427160b824b5335e76ec98f795', id: "verdocs-filter-name", value: this.name, clearable: true, autocomplete: "off", placeholder: "Filter by Name...", onInput: (e) => (this.localNameFilter = e.target.value.trim()), onFocusout: (e) => {
176
+ return (h(Host, { key: 'e7e90b641fbea53569365333de5671fe8056ad00' }, h("div", { key: '800eaf67dd2c153ec9730952ecf86c2c883f3a59', class: "header" }, h("div", { key: '0566a72ae5b65cae1d3d1ab9ee1f92193b28c7b7', class: "filter" }, h("verdocs-text-input", { key: '18339e5f5219d4a874863483a5519313d62e5f39', id: "verdocs-filter-name", value: this.name, clearable: true, autocomplete: "off", placeholder: "Filter by Name...", onInput: (e) => (this.localNameFilter = e.target.value.trim()), onFocusout: (e) => {
177
177
  var _a;
178
178
  this.name = e.target.value.trim();
179
179
  this.localNameFilter = e.target.value.trim();
180
180
  (_a = this.changeName) === null || _a === void 0 ? void 0 : _a.emit(this.name);
181
- } })), h("verdocs-quick-filter", { key: 'd316a3e87952b7dabf6f278d937484e6710929ed', label: "Visibility", value: this.visibility, options: VisibilityFilters, onOptionSelected: e => {
181
+ } })), h("verdocs-quick-filter", { key: 'eb436954742039fe8e238e3f9e29323b284499fe', label: "Visibility", value: this.visibility, options: VisibilityFilters, onOptionSelected: e => {
182
182
  var _a;
183
183
  this.visibility = e.detail.value;
184
184
  (_a = this.changeVisibility) === null || _a === void 0 ? void 0 : _a.emit(this.visibility);
185
- } }), h("verdocs-quick-filter", { key: '2e4c999b781d8ea38ce7cf9c518bbd2e06d3f94a', label: "Starred", value: this.starred, options: StarredFilters, onOptionSelected: e => {
185
+ } }), h("verdocs-quick-filter", { key: '9a384e6a64b56c25ede399db0cfe691651712f08', label: "Starred", value: this.starred, options: StarredFilters, onOptionSelected: e => {
186
186
  var _a;
187
187
  this.starred = e.detail.value;
188
188
  (_a = this.changeStarred) === null || _a === void 0 ? void 0 : _a.emit(this.starred);
189
- } }), h("verdocs-quick-filter", { key: 'ed517fac6f116e45d893cbcfa19b26f97e0909c0', label: "Sort By", value: this.sort, options: SortOptions, onOptionSelected: e => {
189
+ } }), h("verdocs-quick-filter", { key: '12b8d9bcbf43f10b98d19b429adeb2bb1fb9fa2d', label: "Sort By", value: this.sort, options: SortOptions, onOptionSelected: e => {
190
190
  var _a;
191
191
  this.sort = e.detail.value;
192
192
  (_a = this.changeSort) === null || _a === void 0 ? void 0 : _a.emit(this.sort);
193
- } }), this.loading && h("verdocs-spinner", { key: '20491f7e4328e91e5ac3949eba46d40f6843d1d1', mode: "dark", size: 24 }), h("div", { key: 'd19bdd725c64f63910d4ad2aab9a2509e1df0350', style: { display: 'flex', flex: '1' } })), locallyFilteredTemplates.map(template => {
193
+ } }), this.loading && h("verdocs-spinner", { key: '1c2a66d3549ee80decf1d523c9dece2416146a0b', mode: "dark", size: 24 }), h("div", { key: '6ecb8f54e7bb8a1b8e71497cfd78a5a8487466c5', style: { display: 'flex', flex: '1' } })), locallyFilteredTemplates.map(template => {
194
194
  const dateToShow = this.sort === 'created_at' ? 'created_at' : this.sort === 'updated_at' ? 'updated_at' : 'last_used_at';
195
195
  const date = template[dateToShow];
196
196
  const MENU_OPTIONS = [];
@@ -237,9 +237,9 @@ export class VerdocsTemplatesList {
237
237
  var _a;
238
238
  (_a = this.viewTemplate) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template });
239
239
  } }, h("div", { class: "inner" }, h("verdocs-template-star", { template: template, endpoint: this.endpoint }), h("div", { class: "spacer icon-spacer" }), h("div", { class: "name" }, template.name), h("div", { class: "spacer usage-spacer" }), h("div", { class: "usage" }, h("span", { innerHTML: EnvelopeIcon, title: "Usage Counter" }), template.counter || '--'), h("div", { class: "spacer last-used-spacer" }), h("div", { class: "last-used" }, dateToShow === 'created_at' && h("span", { innerHTML: CreatedIcon, title: "Created" }), dateToShow === 'updated_at' && h("span", { innerHTML: UpdatedIcon, title: "Last Updated" }), dateToShow === 'last_used_at' && h("span", { innerHTML: LastUsedIcon, title: "Last Used" }), date ? format(new Date(date), 'P') : 'Never'), h("div", { class: "spacer ownership-spacer" }), template.is_public && (h("div", { class: "ownership" }, h("span", { innerHTML: GlobeAltIcon }), " Public")), !template.is_public && !template.is_personal && (h("div", { class: "ownership" }, h("span", { innerHTML: LockClosedIcon }), " Private")), !template.is_public && template.is_personal && (h("div", { class: "ownership" }, h("span", { innerHTML: BuildingOfficeIcon }), " Shared")), h("verdocs-dropdown", { options: MENU_OPTIONS, onOptionSelected: e => this.handleOptionSelected(e.detail.id, template) }))));
240
- }), !this.initiallyLoaded && (h("div", { key: '2874579da4fc3dcbc3a83ea8a6e1352515a413ee' }, integerSequence(0, this.rowsPerPage).map(() => (h("div", { class: "template-placeholder" }))))), this.initiallyLoaded && !this.templates.length && h("div", { key: '107532922a2456e33685db2bbfb4678b1dd458fa', class: "empty-text" }, "No matching templates found. Please adjust your filters and try again."), this.initiallyLoaded && this.templates.length && this.showPagination ? (h("div", { style: { marginTop: '20px' } }, h("verdocs-pagination", { selectedPage: this.selectedPage, perPage: this.rowsPerPage, itemCount: this.count, onSelectPage: e => {
240
+ }), !this.initiallyLoaded && (h("div", { key: '9c248da7e6a766b6d4ca75c5a6728f609540ff43' }, integerSequence(0, this.rowsPerPage).map(() => (h("div", { class: "template-placeholder" }))))), this.initiallyLoaded && !this.templates.length && h("div", { key: '978cb7ba0c6ee2307781fa1a93311fded6c03cf7', class: "empty-text" }, "No matching templates found. Please adjust your filters and try again."), this.initiallyLoaded && this.templates.length && this.showPagination ? (h("div", { style: { marginTop: '20px' } }, h("verdocs-pagination", { selectedPage: this.selectedPage, perPage: this.rowsPerPage, itemCount: this.count, onSelectPage: e => {
241
241
  this.selectedPage = e.detail.selectedPage;
242
- } }))) : (h("div", null)), this.confirmDelete && (h("verdocs-ok-dialog", { key: 'b9dd36650b8aec22a4fe8dd4e16c05291d5a0e44', heading: "Delete this Template?", message: "This operation cannot be undone.", onNext: () => this.deleteTemplate(this.confirmDelete), onExit: () => (this.confirmDelete = null), showCancel: true }))));
242
+ } }))) : (h("div", null)), this.confirmDelete && (h("verdocs-ok-dialog", { key: '737d3a3e1211a1a7da04bea7a1c5ba8cce43cd4b', heading: "Delete this Template?", message: "This operation cannot be undone.", onNext: () => this.deleteTemplate(this.confirmDelete), onExit: () => (this.confirmDelete = null), showCancel: true }))));
243
243
  }
244
244
  static get is() { return "verdocs-templates-list"; }
245
245
  static get originalStyleUrls() {
@@ -7,7 +7,6 @@ const store = createStore();
7
7
  // of a user's interactions need to go through our servers anyway.
8
8
  store.delTables();
9
9
  store.delValues();
10
- console.log('[STORE] Data store initialized.');
11
10
  export const safeJsonParse = (val, fallback) => {
12
11
  try {
13
12
  return JSON.parse(val);
@@ -1 +1 @@
1
- {"version":3,"file":"Datastore.js","sourceRoot":"","sources":["../../src/utils/Datastore.ts"],"names":[],"mappings":"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","sourcesContent":["import {createStore, Row} from 'tinybase';\nimport {getTemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {IEnvelope, IEnvelopeField, ITemplate, ITemplateField} from '@verdocs/js-sdk';\n\nconst store = createStore();\n\n// For now, we clear the database every page load to keep it clean and small.\n// We're only using it to synchronize data between isolated components. e-Signing\n// flows don't really benefit from \"offline-first\" approaches anyway, since most\n// of a user's interactions need to go through our servers anyway.\nstore.delTables();\nstore.delValues();\nconsole.log('[STORE] Data store initialized.');\n\nexport const safeJsonParse = (val: any, fallback?: any) => {\n try {\n return JSON.parse(val);\n } catch (e) {\n return fallback || null;\n }\n};\n\nexport const objectToRow = (obj: Object): Row => {\n const row: Row = {};\n for (let key in obj) {\n if (typeof obj[key] === 'string' || typeof obj[key] === 'number' || typeof obj[key] === 'boolean') {\n row[key] = obj[key];\n } else if (obj[key] === null) {\n row[`__null__${key}`] = '';\n } else if (Array.isArray(obj[key])) {\n row[`__array__${key}`] = JSON.stringify(obj[key]);\n } else if (typeof obj[key] === 'object') {\n row[`__object__${key}`] = JSON.stringify(obj[key]);\n }\n }\n\n return row;\n};\n\nexport const rowToObject = <T extends {}>(row: Row): T => {\n const obj = {} as T;\n\n for (let key in row) {\n if (key.startsWith('__null__')) {\n obj[key.replace('__null__', '')] = null;\n } else if (typeof row[key] === 'string' && key.startsWith('__array__')) {\n obj[key.replace('__array__', '')] = safeJsonParse(row[key]);\n } else if (typeof row[key] === 'string' && key.startsWith('__object__')) {\n obj[key.replace('__object__', '')] = safeJsonParse(row[key]);\n } else {\n obj[key] = row[key];\n }\n }\n\n return obj;\n};\n\nexport type TRowUpdatedCallback<T> = (row: T) => void;\nexport type TRowGetter<T> = () => Promise<T>;\n\nexport const Store = {\n store,\n\n // Extends the store's listener mechanism with two features:\n // 1. Apply typing to the return result, and pass the whole updated value to the callback instead\n // of just the \"changes\".\n // 2. Fire the callback immediately with the current value, so that the component can initialize.\n subscribe<T extends object>(tableId: string, rowId: string, getter: TRowGetter<T>, forceReload: boolean, callback: TRowUpdatedCallback<T>): string {\n // We call the callback immediately if the row exists so we get an SWR-like behavior.\n if (store.hasRow(tableId, rowId)) {\n callback(rowToObject<T>(store.getRow(tableId, rowId)));\n }\n\n const listenerId = store.addRowListener(tableId, rowId, () => {\n const row = store.getRow(tableId, rowId);\n callback(rowToObject<T>(row));\n });\n\n if (!store.hasRow(tableId, rowId) || forceReload) {\n console.log('[STORE] Loading/reloading', {tableId, rowId});\n getter()\n .then(result => {\n // We don't need to call the callback because it's already listening\n store.setRow(tableId, rowId, objectToRow(result));\n })\n .catch(e => {\n console.error('[STORE] Error getting row', {tableId, rowId, forceReload}, e);\n });\n }\n\n return listenerId;\n },\n\n unsubscribe(listenerId: string) {\n store.delListener(listenerId);\n },\n\n async getTemplate(endpoint: VerdocsEndpoint, templateId: string, reload: boolean = false): Promise<ITemplate | null> {\n if (!reload) {\n if (!store.hasRow('templates', templateId)) {\n return null;\n }\n\n const row = store.getRow('templates', templateId);\n return rowToObject<ITemplate>(row);\n }\n\n const template = await getTemplate(endpoint, templateId);\n console.log('[STORE] Reloading template', template);\n store.setRow('templates', templateId, objectToRow(template));\n return template;\n },\n\n updateTemplate(templateId: string, template: ITemplate) {\n store.setRow('templates', templateId, objectToRow(template));\n return template;\n },\n\n async getEnvelope(endpoint: VerdocsEndpoint, envelopeId: string, reload: boolean = false): Promise<ITemplate | null> {\n if (!reload) {\n if (!store.hasRow('envelopes', envelopeId)) {\n return null;\n }\n\n const row = store.getRow('envelopes', envelopeId);\n return rowToObject<ITemplate>(row);\n }\n\n const envelope = await getTemplate(endpoint, envelopeId);\n store.setRow('envelopes', envelopeId, objectToRow(envelope));\n return envelope;\n },\n\n updateEnvelope(envelopeId: string, envelope: IEnvelope) {\n store.setRow('envelopes', envelopeId, objectToRow(envelope));\n return envelope;\n },\n\n // Get a field from an already-loaded envelope or template. Intended to be\n // called by the verdocs-field-* components themselves which are only rendered\n // after a template or envelope is already loaded and cached in the store, so\n // no attempt is made to load the parent record if it isn't already known.\n getField(source: 'template' | 'envelope', sourceId: string, fieldName: string, fieldOverride: ITemplateField | IEnvelopeField | null | undefined) {\n if (source === 'template') {\n const row = store.getRow('templates', sourceId);\n const template = rowToObject<ITemplate>(row);\n const field = (template.fields || []).find(field => field.name === fieldName);\n\n const roleNames = (template.roles || []).map(role => role.name);\n const index = roleNames.findIndex(name => name === field.role_name);\n\n return {index: Math.max(index, 0), field: fieldOverride || field};\n } else {\n const row = store.getRow('envelopes', sourceId);\n const envelope = rowToObject<IEnvelope>(row);\n const field = (envelope.fields || []).find(field => field.name === fieldName);\n\n const roleNames = (envelope.recipients || []).map(recipient => recipient.role_name);\n const index = roleNames.findIndex(name => name === field.role_name);\n\n return {index, field: fieldOverride || field};\n }\n },\n};\n"]}
1
+ {"version":3,"file":"Datastore.js","sourceRoot":"","sources":["../../src/utils/Datastore.ts"],"names":[],"mappings":"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","sourcesContent":["import {createStore, Row} from 'tinybase';\nimport {getTemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport type {IEnvelope, IEnvelopeField, ITemplate, ITemplateField} from '@verdocs/js-sdk';\n\nconst store = createStore();\n\n// For now, we clear the database every page load to keep it clean and small.\n// We're only using it to synchronize data between isolated components. e-Signing\n// flows don't really benefit from \"offline-first\" approaches anyway, since most\n// of a user's interactions need to go through our servers anyway.\nstore.delTables();\nstore.delValues();\n\nexport const safeJsonParse = (val: any, fallback?: any) => {\n try {\n return JSON.parse(val);\n } catch (e) {\n return fallback || null;\n }\n};\n\nexport const objectToRow = (obj: Object): Row => {\n const row: Row = {};\n for (let key in obj) {\n if (typeof obj[key] === 'string' || typeof obj[key] === 'number' || typeof obj[key] === 'boolean') {\n row[key] = obj[key];\n } else if (obj[key] === null) {\n row[`__null__${key}`] = '';\n } else if (Array.isArray(obj[key])) {\n row[`__array__${key}`] = JSON.stringify(obj[key]);\n } else if (typeof obj[key] === 'object') {\n row[`__object__${key}`] = JSON.stringify(obj[key]);\n }\n }\n\n return row;\n};\n\nexport const rowToObject = <T extends {}>(row: Row): T => {\n const obj = {} as T;\n\n for (let key in row) {\n if (key.startsWith('__null__')) {\n obj[key.replace('__null__', '')] = null;\n } else if (typeof row[key] === 'string' && key.startsWith('__array__')) {\n obj[key.replace('__array__', '')] = safeJsonParse(row[key]);\n } else if (typeof row[key] === 'string' && key.startsWith('__object__')) {\n obj[key.replace('__object__', '')] = safeJsonParse(row[key]);\n } else {\n obj[key] = row[key];\n }\n }\n\n return obj;\n};\n\nexport type TRowUpdatedCallback<T> = (row: T) => void;\nexport type TRowGetter<T> = () => Promise<T>;\n\nexport const Store = {\n store,\n\n // Extends the store's listener mechanism with two features:\n // 1. Apply typing to the return result, and pass the whole updated value to the callback instead\n // of just the \"changes\".\n // 2. Fire the callback immediately with the current value, so that the component can initialize.\n subscribe<T extends object>(tableId: string, rowId: string, getter: TRowGetter<T>, forceReload: boolean, callback: TRowUpdatedCallback<T>): string {\n // We call the callback immediately if the row exists so we get an SWR-like behavior.\n if (store.hasRow(tableId, rowId)) {\n callback(rowToObject<T>(store.getRow(tableId, rowId)));\n }\n\n const listenerId = store.addRowListener(tableId, rowId, () => {\n const row = store.getRow(tableId, rowId);\n callback(rowToObject<T>(row));\n });\n\n if (!store.hasRow(tableId, rowId) || forceReload) {\n console.log('[STORE] Loading/reloading', {tableId, rowId});\n getter()\n .then(result => {\n // We don't need to call the callback because it's already listening\n store.setRow(tableId, rowId, objectToRow(result));\n })\n .catch(e => {\n console.error('[STORE] Error getting row', {tableId, rowId, forceReload}, e);\n });\n }\n\n return listenerId;\n },\n\n unsubscribe(listenerId: string) {\n store.delListener(listenerId);\n },\n\n async getTemplate(endpoint: VerdocsEndpoint, templateId: string, reload: boolean = false): Promise<ITemplate | null> {\n if (!reload) {\n if (!store.hasRow('templates', templateId)) {\n return null;\n }\n\n const row = store.getRow('templates', templateId);\n return rowToObject<ITemplate>(row);\n }\n\n const template = await getTemplate(endpoint, templateId);\n console.log('[STORE] Reloading template', template);\n store.setRow('templates', templateId, objectToRow(template));\n return template;\n },\n\n updateTemplate(templateId: string, template: ITemplate) {\n store.setRow('templates', templateId, objectToRow(template));\n return template;\n },\n\n async getEnvelope(endpoint: VerdocsEndpoint, envelopeId: string, reload: boolean = false): Promise<ITemplate | null> {\n if (!reload) {\n if (!store.hasRow('envelopes', envelopeId)) {\n return null;\n }\n\n const row = store.getRow('envelopes', envelopeId);\n return rowToObject<ITemplate>(row);\n }\n\n const envelope = await getTemplate(endpoint, envelopeId);\n store.setRow('envelopes', envelopeId, objectToRow(envelope));\n return envelope;\n },\n\n updateEnvelope(envelopeId: string, envelope: IEnvelope) {\n store.setRow('envelopes', envelopeId, objectToRow(envelope));\n return envelope;\n },\n\n // Get a field from an already-loaded envelope or template. Intended to be\n // called by the verdocs-field-* components themselves which are only rendered\n // after a template or envelope is already loaded and cached in the store, so\n // no attempt is made to load the parent record if it isn't already known.\n getField(source: 'template' | 'envelope', sourceId: string, fieldName: string, fieldOverride: ITemplateField | IEnvelopeField | null | undefined) {\n if (source === 'template') {\n const row = store.getRow('templates', sourceId);\n const template = rowToObject<ITemplate>(row);\n const field = (template.fields || []).find(field => field.name === fieldName);\n\n const roleNames = (template.roles || []).map(role => role.name);\n const index = roleNames.findIndex(name => name === field.role_name);\n\n return {index: Math.max(index, 0), field: fieldOverride || field};\n } else {\n const row = store.getRow('envelopes', sourceId);\n const envelope = rowToObject<IEnvelope>(row);\n const field = (envelope.fields || []).find(field => field.name === fieldName);\n\n const roleNames = (envelope.recipients || []).map(recipient => recipient.role_name);\n const index = roleNames.findIndex(name => name === field.role_name);\n\n return {index, field: fieldOverride || field};\n }\n },\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-1f51246d.js';
2
- import { d as defineCustomElement$1 } from './p-d013a90c.js';
2
+ import { d as defineCustomElement$1 } from './p-f5ccf125.js';
3
3
 
4
4
  const verdocsOkDialogCss = "@-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-ok-dialog{font-family:\"Inter\", \"Barlow\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-ok-dialog.closed{display:none}verdocs-ok-dialog .background-overlay{position:fixed;z-index:10000;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:rgba(0, 0, 0, 0.4980392157)}verdocs-ok-dialog .dialog{max-width:60%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-ok-dialog .heading{display:-ms-flexbox;display:flex;font-size:16px;-ms-flex-direction:row;flex-direction:row;padding:8px 16px;font-weight:bold;color:#ffffff;background:#46497d}verdocs-ok-dialog .content{font-size:16px;background:#ffffff;padding:20px}verdocs-ok-dialog .buttons{display:-ms-flexbox;display:flex;margin:30px 0 0 0;padding:0 20px;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}verdocs-ok-dialog .buttons verdocs-button{margin-left:16px}";
5
5
  const VerdocsOkDialogStyle0 = verdocsOkDialogCss;
@@ -44,7 +44,7 @@ const VerdocsOkDialog = /*@__PURE__*/ proxyCustomElement(class VerdocsOkDialog e
44
44
  }
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: 'c1505d930741a4a0e1eb9a9832de8e55d09b207c', class: this.closed ? 'closed' : '' }, h("div", { key: 'f4c1ce92701f56a3b839bc49a0beb38665a65556', class: "background-overlay", onClick: e => this.handleDismiss(e) }, h("div", { key: '0fe99745209ca40287512f114122d1a0f0c4e597', class: "dialog" }, h("div", { key: '93deffa53c92913b65109f3c9826e61561f91c68', class: "heading" }, this.heading), h("div", { key: 'b0a64c6f2072655ce439d5008ecfe55651d48d8f', class: "content" }, h("div", { key: '3f89fd4b54dfa1c8437c2aa7dd21310827516004', class: "message", innerHTML: this.message }), h("div", { key: 'a86843d9915f72bcc00810c87f3311c77cf3b566', class: "buttons" }, this.showCancel ? h("verdocs-button", { label: "CANCEL", variant: "outline", onClick: () => this.handleCancel() }) : h("div", { style: { display: 'none' } }), h("verdocs-button", { key: 'd160170c8a58dde135ba4c5ae4dac35ac79c24a1', label: this.buttonLabel, onClick: () => this.handleOk() })))))));
47
+ return (h(Host, { key: 'f41613ca32a9471277c816d753e7f818ef427fd0', class: this.closed ? 'closed' : '' }, h("div", { key: '570538e2743b23b5f18a1ec6ea3db51dfd314f02', class: "background-overlay", onClick: e => this.handleDismiss(e) }, h("div", { key: '17bfc3cfaadc8d10fe27211cd4a0eb48083f7a4b', class: "dialog" }, h("div", { key: 'bc88208d6897a191ef5fda323a74acd3e3c2620e', class: "heading" }, this.heading), h("div", { key: 'bc794df180672198964f32a6c71eff9dd1180db9', class: "content" }, h("div", { key: 'd8618e9b479e64b457bca57838437f91a0677560', class: "message", innerHTML: this.message }), h("div", { key: '101f7819fa69c3cf8f8958a5582835b56cf94775', class: "buttons" }, this.showCancel ? h("verdocs-button", { label: "CANCEL", variant: "outline", onClick: () => this.handleCancel() }) : h("div", { style: { display: 'none' } }), h("verdocs-button", { key: 'e755590fdd93cb9cc7b23a3812377d5216a70aae', label: this.buttonLabel, onClick: () => this.handleOk() })))))));
48
48
  }
49
49
  static get style() { return VerdocsOkDialogStyle0; }
50
50
  }, [0, "verdocs-ok-dialog", {
@@ -75,4 +75,4 @@ function defineCustomElement() {
75
75
 
76
76
  export { VerdocsOkDialog as V, defineCustomElement as d };
77
77
 
78
- //# sourceMappingURL=p-000bd55f.js.map
78
+ //# sourceMappingURL=p-081465e0.js.map
@@ -1 +1 @@
1
- {"file":"p-000bd55f.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG,++CAA++C,CAAC;AAC3gD,8BAAe,kBAAkB;;MCUpB,eAAe;IAJ5B;;;;;;;;QAQU,YAAO,GAAW,EAAE,CAAC;;;;QAKrB,YAAO,GAAW,EAAE,CAAC;;;;QAKrB,gBAAW,GAAW,IAAI,CAAC;;;;;QAM3B,eAAU,GAAY,KAAK,CAAC;QAY3B,WAAM,GAAG,KAAK,CAAC;KAsCzB;IApCC,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;;IAGD,aAAa,CAAC,CAAM;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE;YAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClB;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,EAAE,IACtC,4DAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IACjE,4DAAK,KAAK,EAAC,QAAQ,IACjB,4DAAK,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAO,EACzC,4DAAK,KAAK,EAAC,SAAS,IAClB,4DAAK,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,GAAI,EAEhD,4DAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,UAAU,GAAG,sBAAgB,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAAI,GAAG,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,GAAI,EAC9I,uEAAgB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAI,CACvE,CACF,CACF,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.scss?tag=verdocs-ok-dialog","src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-ok-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n &.closed {\n display: none;\n }\n\n .background-overlay {\n position: fixed;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n max-width: 60%;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 16px;\n flex-direction: row;\n padding: 8px 16px;\n font-weight: bold;\n color: $verdocs-grey-4;\n background: $verdocs-grey-blue;\n }\n\n .content {\n font-size: 16px;\n background: $verdocs-grey-4;\n padding: 20px;\n }\n\n .message {\n //white-space: pre;\n }\n\n .buttons {\n display: flex;\n margin: 30px 0 0 0;\n padding: 0 20px;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-ok-dialog',\n styleUrl: 'verdocs-ok-dialog.scss',\n})\nexport class VerdocsOkDialog {\n /**\n * The title of the dialog. \"title\" is a reserved word, so we use heading.\n */\n @Prop() heading: string = '';\n\n /**\n * The message content to display.\n */\n @Prop() message: string = '';\n\n /**\n * Override the \"OK\" button's label\n */\n @Prop() buttonLabel: string = 'OK';\n\n /**\n * If set, a cancel button will also be displayed. Note that the dialog is always cancelable by clicking the background\n * overlay to dismiss it.\n */\n @Prop() showCancel: boolean = false;\n\n /**\n * Event fired when the user clicks the OK button.\n */\n @Event({composed: true}) next: EventEmitter;\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 @State() closed = false;\n\n handleOk() {\n this.next.emit();\n }\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 this.closed = true;\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.exit.emit();\n }\n }\n\n render() {\n return (\n <Host class={this.closed ? 'closed' : ''}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">{this.heading}</div>\n <div class=\"content\">\n <div class=\"message\" innerHTML={this.message} />\n\n <div class=\"buttons\">\n {this.showCancel ? <verdocs-button label=\"CANCEL\" variant=\"outline\" onClick={() => this.handleCancel()} /> : <div style={{display: 'none'}} />}\n <verdocs-button label={this.buttonLabel} onClick={() => this.handleOk()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-081465e0.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG,++CAA++C,CAAC;AAC3gD,8BAAe,kBAAkB;;MCUpB,eAAe;IAJ5B;;;;;;;;QAQU,YAAO,GAAW,EAAE,CAAC;;;;QAKrB,YAAO,GAAW,EAAE,CAAC;;;;QAKrB,gBAAW,GAAW,IAAI,CAAC;;;;;QAM3B,eAAU,GAAY,KAAK,CAAC;QAY3B,WAAM,GAAG,KAAK,CAAC;KAsCzB;IApCC,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;;IAGD,aAAa,CAAC,CAAM;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE;YAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClB;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,EAAE,IACtC,4DAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IACjE,4DAAK,KAAK,EAAC,QAAQ,IACjB,4DAAK,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAO,EACzC,4DAAK,KAAK,EAAC,SAAS,IAClB,4DAAK,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,GAAI,EAEhD,4DAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,UAAU,GAAG,sBAAgB,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAAI,GAAG,WAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,GAAI,EAC9I,uEAAgB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAI,CACvE,CACF,CACF,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.scss?tag=verdocs-ok-dialog","src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-ok-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n\n &.closed {\n display: none;\n }\n\n .background-overlay {\n position: fixed;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n }\n\n .dialog {\n max-width: 60%;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 16px;\n flex-direction: row;\n padding: 8px 16px;\n font-weight: bold;\n color: $verdocs-grey-4;\n background: $verdocs-grey-blue;\n }\n\n .content {\n font-size: 16px;\n background: $verdocs-grey-4;\n padding: 20px;\n }\n\n .message {\n //white-space: pre;\n }\n\n .buttons {\n display: flex;\n margin: 30px 0 0 0;\n padding: 0 20px;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host, State} from '@stencil/core';\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-ok-dialog',\n styleUrl: 'verdocs-ok-dialog.scss',\n})\nexport class VerdocsOkDialog {\n /**\n * The title of the dialog. \"title\" is a reserved word, so we use heading.\n */\n @Prop() heading: string = '';\n\n /**\n * The message content to display.\n */\n @Prop() message: string = '';\n\n /**\n * Override the \"OK\" button's label\n */\n @Prop() buttonLabel: string = 'OK';\n\n /**\n * If set, a cancel button will also be displayed. Note that the dialog is always cancelable by clicking the background\n * overlay to dismiss it.\n */\n @Prop() showCancel: boolean = false;\n\n /**\n * Event fired when the user clicks the OK button.\n */\n @Event({composed: true}) next: EventEmitter;\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 @State() closed = false;\n\n handleOk() {\n this.next.emit();\n }\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 this.closed = true;\n if (e.target.className === 'background-overlay') {\n e.preventDefault();\n this.exit.emit();\n }\n }\n\n render() {\n return (\n <Host class={this.closed ? 'closed' : ''}>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">{this.heading}</div>\n <div class=\"content\">\n <div class=\"message\" innerHTML={this.message} />\n\n <div class=\"buttons\">\n {this.showCancel ? <verdocs-button label=\"CANCEL\" variant=\"outline\" onClick={() => this.handleCancel()} /> : <div style={{display: 'none'}} />}\n <verdocs-button label={this.buttonLabel} onClick={() => this.handleOk()} />\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-1f51246d.js';
2
2
  import { V as VerdocsToast } from './p-04c07b7b.js';
3
- import { d as defineCustomElement$1 } from './p-ad61d24b.js';
3
+ import { d as defineCustomElement$1 } from './p-54e4bcee.js';
4
4
 
5
5
  const verdocsTextInputCss = "@-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-text-input{font-family:\"Inter\", \"Barlow\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block}verdocs-text-input .input-element{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #707ae5;border-radius:4px;background:#ffffff;color:#000;width:100%;font-size:16px;height:34px;padding:0 9px;outline:none}verdocs-text-input .input-element:disabled{cursor:not-allowed;background:#aeb4bf;border:1px solid #33364b}verdocs-text-input .input-element::-webkit-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-moz-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::-ms-input-placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element::placeholder{color:#aaaaaa;opacity:1}verdocs-text-input .input-element:focus{outline:1px solid #7d88ff}verdocs-text-input .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0}verdocs-text-input .required{color:red;margin-left:2px;display:inline-block}verdocs-text-input [data-lastpass-icon-root]{display:none !important}verdocs-text-input .input-container{position:relative}verdocs-text-input .clear{top:7px;right:5px;width:18px;height:18px;fill:#cccccc;position:absolute}verdocs-text-input .clear:hover{fill:#720101;cursor:pointer}verdocs-text-input .copy{top:7px;right:5px;width:18px;height:18px;fill:#cccccc;position:absolute}verdocs-text-input .copy:hover{fill:#654dcb;cursor:pointer}verdocs-text-input .toggle-pw{top:5px;right:7px;width:18px;height:18px;stroke:#cccccc;position:absolute}verdocs-text-input .toggle-pw:hover{fill:#654dcb;cursor:pointer}verdocs-text-input.clearable .input-element,verdocs-text-input.copyable .input-element{padding-right:32px}";
6
6
  const VerdocsTextInputStyle0 = verdocsTextInputCss;
@@ -66,9 +66,9 @@ const VerdocsTextInput = /*@__PURE__*/ proxyCustomElement(class VerdocsTextInput
66
66
  .catch(e => console.log('Error copying to clipboard', e));
67
67
  }
68
68
  render() {
69
- return (h(Host, { key: '6b677ac3b97c020356af2a2edb76efca87ce7bce', class: `input-field ${this.clearable ? 'clearable' : ''} ${this.copyable ? 'copyable' : ''}` }, h("label", { key: '60147e2f1cc59ccc154bc68040929fd3fd20f1d6' }, this.label && (h("div", { key: 'b21cb31da14371efd0503ba442110699c8340277', class: "input-label" }, this.label + ':', this.required && h("span", { key: '3fbfd5bdbf4a6e366dfd24895c0a02ec05c74db5', class: "required" }, "*"))), h("div", { key: '8ac4d066e4e32baa6f067670b76850d27b3a8009', class: "input-container" }, h("input", { key: '22f4cb3de7a5a200b924959968a31dfb2ec49a5b', type: this.type === 'password' && this.showingPw ? 'text' : this.type, value: this.value, required: this.required, class: "input-element", "data-lpignore": "true", disabled: this.disabled, placeholder: this.placeholder, autoComplete: this.autocomplete,
69
+ return (h(Host, { key: 'ed8584230d4423dff6ba13ea340e5f8cd4817c44', class: `input-field ${this.clearable ? 'clearable' : ''} ${this.copyable ? 'copyable' : ''}` }, h("label", { key: '2532379838f14638454ec235078d29bc441d33a0' }, this.label && (h("div", { key: 'ab59228b692ca0e778b189d4ec7323958033c2f0', class: "input-label" }, this.label + ':', this.required && h("span", { key: 'f4c1765ee7926970352c28b6f3718b80d2e2738f', class: "required" }, "*"))), h("div", { key: '996ca2a14d7bae7e0591e6bdd311de45ed6855eb', class: "input-container" }, h("input", { key: 'ae0470cd61d12a7d34f97edafe8b9b2d273ab6de', type: this.type === 'password' && this.showingPw ? 'text' : this.type, value: this.value, required: this.required, class: "input-element", "data-lpignore": "true", disabled: this.disabled, placeholder: this.placeholder, autoComplete: this.autocomplete,
70
70
  // onBlur={(e: any) => this.blur?.emit(e.target.value)}
71
- ref: el => (this.inputEl = el), onInput: (e) => (this.value = e.target.value) }), this.clearable && this.value && (h("span", { key: '885cfddd83bc5f5e7b6a66923586fc67641a8623', innerHTML: ClearIcon, class: "clear", onClick: () => {
71
+ ref: el => (this.inputEl = el), onInput: (e) => (this.value = e.target.value) }), this.clearable && this.value && (h("span", { key: '7d55c8905c81a61ab6c48d6b39725a6b499bd242', innerHTML: ClearIcon, class: "clear", onClick: () => {
72
72
  // We need to allow the onInput event to fire first in case
73
73
  // the user was focused on this field before clicking clear.
74
74
  setTimeout(() => {
@@ -82,9 +82,9 @@ const VerdocsTextInput = /*@__PURE__*/ proxyCustomElement(class VerdocsTextInput
82
82
  (_b = this.inputEl) === null || _b === void 0 ? void 0 : _b.blur();
83
83
  }, 50);
84
84
  }, 50);
85
- } })), this.type === 'password' && (h("span", { key: 'cdc3c72a4e54c6fd5f930ded050d438389e99ade', innerHTML: this.showingPw ? EyeIcon : EyeSlashIcon, class: "toggle-pw", onClick: () => {
85
+ } })), this.type === 'password' && (h("span", { key: '8c74a87e13cdc4f815491ff6d3d3140bf4f38803', innerHTML: this.showingPw ? EyeIcon : EyeSlashIcon, class: "toggle-pw", onClick: () => {
86
86
  this.showingPw = !this.showingPw;
87
- } })), !this.clearable && this.copyable && this.value && h("span", { key: '51d6c6789c0afa0c8c2e8440d55ff6ad1e3d1c13', innerHTML: CopyIcon, class: "copy", onClick: () => this.copyToClipboard() })), this.helpText && h("verdocs-help-icon", { key: '68cdc02f95617e752fd5f1776f545d729dcdc5ca', text: this.helpText }))));
87
+ } })), !this.clearable && this.copyable && this.value && h("span", { key: 'bb9efc264d835bf0c9add53200dc985fbca94fb8', innerHTML: CopyIcon, class: "copy", onClick: () => this.copyToClipboard() })), this.helpText && h("verdocs-help-icon", { key: 'dc05d331f3a5997d79f501972e03d831847f4cd7', text: this.helpText }))));
88
88
  }
89
89
  get hostEl() { return this; }
90
90
  static get style() { return VerdocsTextInputStyle0; }
@@ -122,4 +122,4 @@ function defineCustomElement() {
122
122
 
123
123
  export { VerdocsTextInput as V, defineCustomElement as d };
124
124
 
125
- //# sourceMappingURL=p-eebd0f45.js.map
125
+ //# sourceMappingURL=p-08ddf0b4.js.map
@@ -1 +1 @@
1
- {"file":"p-eebd0f45.js","mappings":"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","names":[],"sources":["src/components/controls/verdocs-text-input/verdocs-text-input.scss?tag=verdocs-text-input","src/components/controls/verdocs-text-input/verdocs-text-input.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-text-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 34px;\n padding: 0 9px;\n outline: none;\n\n &:disabled {\n cursor: not-allowed;\n background: $verdocs-grey-2;\n border: 1px solid $verdocs-grey-1;\n }\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n outline: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n\n .required {\n color: red;\n margin-left: 2px;\n display: inline-block;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n\n .input-container {\n position: relative;\n }\n\n .clear {\n top: 7px;\n right: 5px;\n width: 18px;\n height: 18px;\n fill: #cccccc;\n position: absolute;\n\n &:hover {\n fill: #720101;\n cursor: pointer;\n }\n }\n\n .copy {\n top: 7px;\n right: 5px;\n width: 18px;\n height: 18px;\n fill: #cccccc;\n position: absolute;\n\n &:hover {\n fill: $verdocs-purple;\n cursor: pointer;\n }\n }\n\n .toggle-pw {\n top: 5px;\n right: 7px;\n width: 18px;\n height: 18px;\n stroke: #cccccc;\n //fill: #cccccc;\n position: absolute;\n\n &:hover {\n fill: $verdocs-purple;\n cursor: pointer;\n }\n }\n\n &.clearable,\n &.copyable {\n .input-element {\n padding-right: 32px;\n }\n }\n}\n","import {Component, Element, Prop, Host, h, State} from '@stencil/core';\nimport {VerdocsToast} from '../../../utils/Toast';\n\nconst ClearIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 122.881 122.88\"><g><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M61.44,0c33.933,0,61.441,27.507,61.441,61.439 c0,33.933-27.508,61.44-61.441,61.44C27.508,122.88,0,95.372,0,61.439C0,27.507,27.508,0,61.44,0L61.44,0z M81.719,36.226 c1.363-1.363,3.572-1.363,4.936,0c1.363,1.363,1.363,3.573,0,4.936L66.375,61.439l20.279,20.278c1.363,1.363,1.363,3.573,0,4.937 c-1.363,1.362-3.572,1.362-4.936,0L61.44,66.376L41.162,86.654c-1.362,1.362-3.573,1.362-4.936,0c-1.363-1.363-1.363-3.573,0-4.937 l20.278-20.278L36.226,41.162c-1.363-1.363-1.363-3.573,0-4.936c1.363-1.363,3.573-1.363,4.936,0L61.44,56.504L81.719,36.226 L81.719,36.226z\"/></g></svg>`;\nconst CopyIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path fill-rule=\"evenodd\" d=\"M15.988 3.012A2.25 2.25 0 0118 5.25v6.5A2.25 2.25 0 0115.75 14H13.5V7A2.5 2.5 0 0011 4.5H8.128a2.252 2.252 0 011.884-1.488A2.25 2.25 0 0112.25 1h1.5a2.25 2.25 0 012.238 2.012zM11.5 3.25a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v.25h-3v-.25z\" clip-rule=\"evenodd\" /><path fill-rule=\"evenodd\" d=\"M2 7a1 1 0 011-1h8a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V7zm2 3.25a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75zm0 3.5a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z\" clip-rule=\"evenodd\" /></svg>`;\nconst EyeIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z\" /><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\" /></svg>`;\nconst EyeSlashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88\" /></svg>`;\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emit.\n *\n * ```ts\n * <verdocs-text-input type=\"text\" label=\"Name\" placeholder=\"Enter your name...\" value=\"\" />\n * ```\n */\n@Component({\n tag: 'verdocs-text-input',\n styleUrl: 'verdocs-text-input.scss',\n})\nexport class VerdocsTextInput {\n private inputEl: HTMLInputElement;\n\n @Element()\n hostEl: HTMLElement;\n\n /**\n * The initial value for the input field.\n */\n @Prop({mutable: true, reflect: true}) value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the field.\n */\n @Prop() placeholder: string = '';\n\n /**\n * If desired, the autocomplete attribute to set.\n */\n @Prop() autocomplete: string = '';\n\n /**\n * If supplied, a help icon will be displayed to provide the user more information.\n */\n @Prop() helpText: string = '';\n\n /**\n * If set, a clear button will be displayed.\n */\n @Prop() clearable = false;\n\n /**\n * If set, a copy-to-clipboard button will be displayed. NOTE: A field may not be\n * both clearable and copyable. If both properties are set to true, copyable will\n * be ignored.\n */\n @Prop() copyable = false;\n\n /**\n * The type of field to render. Only text-type fields are allowed here for the current styling. Additional types\n * (e.g. a date picker) will be supported by other controls in the future.\n */\n @Prop() type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' = 'text';\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Should the field be required?\n */\n @Prop() required: boolean = false;\n\n @State() showingPw: boolean = false;\n\n copyToClipboard() {\n this.inputEl.select();\n navigator.clipboard\n .writeText(this.value)\n .then(() => VerdocsToast('Copied!'))\n .catch(e => console.log('Error copying to clipboard', e));\n }\n\n render() {\n return (\n <Host class={`input-field ${this.clearable ? 'clearable' : ''} ${this.copyable ? 'copyable' : ''}`}>\n <label>\n {this.label && (\n <div class=\"input-label\">\n {this.label + ':'}\n {this.required && <span class=\"required\">*</span>}\n </div>\n )}\n\n <div class=\"input-container\">\n <input\n type={this.type === 'password' && this.showingPw ? 'text' : this.type}\n value={this.value}\n required={this.required}\n class=\"input-element\"\n data-lpignore=\"true\"\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n // onBlur={(e: any) => this.blur?.emit(e.target.value)}\n ref={el => (this.inputEl = el as HTMLInputElement)}\n onInput={(e: any) => (this.value = e.target.value)}\n />\n\n {this.clearable && this.value && (\n <span\n innerHTML={ClearIcon}\n class=\"clear\"\n onClick={() => {\n // We need to allow the onInput event to fire first in case\n // the user was focused on this field before clicking clear.\n setTimeout(() => {\n this.value = '';\n this.inputEl?.setAttribute('value', '');\n // We need to allow the value to \"settle\"\n setTimeout(() => {\n this.inputEl?.dispatchEvent(new window.Event('focusout'));\n this.inputEl?.blur();\n }, 50);\n }, 50);\n }}\n />\n )}\n\n {this.type === 'password' && (\n <span\n innerHTML={this.showingPw ? EyeIcon : EyeSlashIcon}\n class=\"toggle-pw\"\n onClick={() => {\n this.showingPw = !this.showingPw;\n }}\n />\n )}\n\n {!this.clearable && this.copyable && this.value && <span innerHTML={CopyIcon} class=\"copy\" onClick={() => this.copyToClipboard()} />}\n </div>\n\n {this.helpText && <verdocs-help-icon text={this.helpText} />}\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-08ddf0b4.js","mappings":"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","names":[],"sources":["src/components/controls/verdocs-text-input/verdocs-text-input.scss?tag=verdocs-text-input","src/components/controls/verdocs-text-input/verdocs-text-input.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-text-input {\n font-family: $primary-font;\n box-sizing: border-box;\n margin: 0 0 10px 0;\n display: block;\n\n .input-element {\n box-sizing: border-box;\n border: 1px solid $border-color;\n border-radius: 4px;\n background: $verdocs-grey-4;\n color: #000;\n width: 100%;\n font-size: 16px;\n height: 34px;\n padding: 0 9px;\n outline: none;\n\n &:disabled {\n cursor: not-allowed;\n background: $verdocs-grey-2;\n border: 1px solid $verdocs-grey-1;\n }\n\n &::placeholder {\n color: $light-disabled-color;\n opacity: 1;\n }\n\n &:focus {\n outline: 1px solid $border-color-highlight;\n }\n }\n\n .input-label {\n display: block;\n color: $label-color-light;\n font-weight: 700;\n font-size: 14px;\n margin: 0 0 4px 0;\n }\n\n .required {\n color: red;\n margin-left: 2px;\n display: inline-block;\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n\n .input-container {\n position: relative;\n }\n\n .clear {\n top: 7px;\n right: 5px;\n width: 18px;\n height: 18px;\n fill: #cccccc;\n position: absolute;\n\n &:hover {\n fill: #720101;\n cursor: pointer;\n }\n }\n\n .copy {\n top: 7px;\n right: 5px;\n width: 18px;\n height: 18px;\n fill: #cccccc;\n position: absolute;\n\n &:hover {\n fill: $verdocs-purple;\n cursor: pointer;\n }\n }\n\n .toggle-pw {\n top: 5px;\n right: 7px;\n width: 18px;\n height: 18px;\n stroke: #cccccc;\n //fill: #cccccc;\n position: absolute;\n\n &:hover {\n fill: $verdocs-purple;\n cursor: pointer;\n }\n }\n\n &.clearable,\n &.copyable {\n .input-element {\n padding-right: 32px;\n }\n }\n}\n","import {Component, Element, Prop, Host, h, State} from '@stencil/core';\nimport {VerdocsToast} from '../../../utils/Toast';\n\nconst ClearIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 122.881 122.88\"><g><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M61.44,0c33.933,0,61.441,27.507,61.441,61.439 c0,33.933-27.508,61.44-61.441,61.44C27.508,122.88,0,95.372,0,61.439C0,27.507,27.508,0,61.44,0L61.44,0z M81.719,36.226 c1.363-1.363,3.572-1.363,4.936,0c1.363,1.363,1.363,3.573,0,4.936L66.375,61.439l20.279,20.278c1.363,1.363,1.363,3.573,0,4.937 c-1.363,1.362-3.572,1.362-4.936,0L61.44,66.376L41.162,86.654c-1.362,1.362-3.573,1.362-4.936,0c-1.363-1.363-1.363-3.573,0-4.937 l20.278-20.278L36.226,41.162c-1.363-1.363-1.363-3.573,0-4.936c1.363-1.363,3.573-1.363,4.936,0L61.44,56.504L81.719,36.226 L81.719,36.226z\"/></g></svg>`;\nconst CopyIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path fill-rule=\"evenodd\" d=\"M15.988 3.012A2.25 2.25 0 0118 5.25v6.5A2.25 2.25 0 0115.75 14H13.5V7A2.5 2.5 0 0011 4.5H8.128a2.252 2.252 0 011.884-1.488A2.25 2.25 0 0112.25 1h1.5a2.25 2.25 0 012.238 2.012zM11.5 3.25a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v.25h-3v-.25z\" clip-rule=\"evenodd\" /><path fill-rule=\"evenodd\" d=\"M2 7a1 1 0 011-1h8a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V7zm2 3.25a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75zm0 3.5a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z\" clip-rule=\"evenodd\" /></svg>`;\nconst EyeIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z\" /><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\" /></svg>`;\nconst EyeSlashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88\" /></svg>`;\n\n/**\n * Display a text input field. This is just a standard HTML input field with minimal markup to fit the\n * visual styles of the other components. Note that events \"bubble\" from the input field to the container,\n * so you can subscribe to the same DOM events (input, blur, etc) that a normal input would emit.\n *\n * ```ts\n * <verdocs-text-input type=\"text\" label=\"Name\" placeholder=\"Enter your name...\" value=\"\" />\n * ```\n */\n@Component({\n tag: 'verdocs-text-input',\n styleUrl: 'verdocs-text-input.scss',\n})\nexport class VerdocsTextInput {\n private inputEl: HTMLInputElement;\n\n @Element()\n hostEl: HTMLElement;\n\n /**\n * The initial value for the input field.\n */\n @Prop({mutable: true, reflect: true}) value: string = '';\n\n /**\n * The label for the field.\n */\n @Prop() label: string = '';\n\n /**\n * The placeholder for the field.\n */\n @Prop() placeholder: string = '';\n\n /**\n * If desired, the autocomplete attribute to set.\n */\n @Prop() autocomplete: string = '';\n\n /**\n * If supplied, a help icon will be displayed to provide the user more information.\n */\n @Prop() helpText: string = '';\n\n /**\n * If set, a clear button will be displayed.\n */\n @Prop() clearable = false;\n\n /**\n * If set, a copy-to-clipboard button will be displayed. NOTE: A field may not be\n * both clearable and copyable. If both properties are set to true, copyable will\n * be ignored.\n */\n @Prop() copyable = false;\n\n /**\n * The type of field to render. Only text-type fields are allowed here for the current styling. Additional types\n * (e.g. a date picker) will be supported by other controls in the future.\n */\n @Prop() type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' = 'text';\n\n /**\n * Should the field be disabled?\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Should the field be required?\n */\n @Prop() required: boolean = false;\n\n @State() showingPw: boolean = false;\n\n copyToClipboard() {\n this.inputEl.select();\n navigator.clipboard\n .writeText(this.value)\n .then(() => VerdocsToast('Copied!'))\n .catch(e => console.log('Error copying to clipboard', e));\n }\n\n render() {\n return (\n <Host class={`input-field ${this.clearable ? 'clearable' : ''} ${this.copyable ? 'copyable' : ''}`}>\n <label>\n {this.label && (\n <div class=\"input-label\">\n {this.label + ':'}\n {this.required && <span class=\"required\">*</span>}\n </div>\n )}\n\n <div class=\"input-container\">\n <input\n type={this.type === 'password' && this.showingPw ? 'text' : this.type}\n value={this.value}\n required={this.required}\n class=\"input-element\"\n data-lpignore=\"true\"\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n // onBlur={(e: any) => this.blur?.emit(e.target.value)}\n ref={el => (this.inputEl = el as HTMLInputElement)}\n onInput={(e: any) => (this.value = e.target.value)}\n />\n\n {this.clearable && this.value && (\n <span\n innerHTML={ClearIcon}\n class=\"clear\"\n onClick={() => {\n // We need to allow the onInput event to fire first in case\n // the user was focused on this field before clicking clear.\n setTimeout(() => {\n this.value = '';\n this.inputEl?.setAttribute('value', '');\n // We need to allow the value to \"settle\"\n setTimeout(() => {\n this.inputEl?.dispatchEvent(new window.Event('focusout'));\n this.inputEl?.blur();\n }, 50);\n }, 50);\n }}\n />\n )}\n\n {this.type === 'password' && (\n <span\n innerHTML={this.showingPw ? EyeIcon : EyeSlashIcon}\n class=\"toggle-pw\"\n onClick={() => {\n this.showingPw = !this.showingPw;\n }}\n />\n )}\n\n {!this.clearable && this.copyable && this.value && <span innerHTML={CopyIcon} class=\"copy\" onClick={() => this.copyToClipboard()} />}\n </div>\n\n {this.helpText && <verdocs-help-icon text={this.helpText} />}\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -107,7 +107,7 @@ const VerdocsEnvelopeDocumentPage = /*@__PURE__*/ proxyCustomElement(class Verdo
107
107
  }
108
108
  render() {
109
109
  const height = `${this.renderedHeight}px`;
110
- return (h(Host, { key: '4a76240d8ced0e85eba1a21f9cf2e194f031ba68', id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-envelope-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } })) : this.pageDisplayUri ? (h("img", { class: "verdocs-envelope-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
110
+ return (h(Host, { key: '219a7af5090d897342b5013084a0ee40d2336d83', id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-envelope-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } })) : this.pageDisplayUri ? (h("img", { class: "verdocs-envelope-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
111
111
  // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that
112
112
  // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).
113
113
  // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values
@@ -158,4 +158,4 @@ function defineCustomElement() {
158
158
 
159
159
  export { VerdocsEnvelopeDocumentPage as V, defineCustomElement as d };
160
160
 
161
- //# sourceMappingURL=p-58e82c41.js.map
161
+ //# sourceMappingURL=p-0a102a9c.js.map
@@ -1 +1 @@
1
- {"file":"p-58e82c41.js","mappings":"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","names":[],"sources":["src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.scss?tag=verdocs-envelope-document-page","src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-envelope-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getEnvelopeDocumentPageDisplayUri, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-envelope-document-page',\n styleUrl: 'verdocs-envelope-document-page.scss',\n shadow: false,\n})\nexport class VerdocsEnvelopeDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope the document is for.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9\">\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n @Prop() type: 'original' | 'filled' | 'certificate' = 'original';\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-envelope-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n @State() pageDisplayUri = 'https://verdocs-public-assets.s3.amazonaws.com/page-loading-placeholder.png';\n\n async componentWillLoad() {\n this.pageDisplayUri = await getEnvelopeDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber, this.type);\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-envelope-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-envelope-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-0a102a9c.js","mappings":"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","names":[],"sources":["src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.scss?tag=verdocs-envelope-document-page","src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-envelope-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getEnvelopeDocumentPageDisplayUri, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-envelope-document-page',\n styleUrl: 'verdocs-envelope-document-page.scss',\n shadow: false,\n})\nexport class VerdocsEnvelopeDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope the document is for.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9\">\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n @Prop() type: 'original' | 'filled' | 'certificate' = 'original';\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-envelope-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n @State() pageDisplayUri = 'https://verdocs-public-assets.s3.amazonaws.com/page-loading-placeholder.png';\n\n async componentWillLoad() {\n this.pageDisplayUri = await getEnvelopeDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber, this.type);\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-envelope-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-envelope-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,16 +2,16 @@ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, d as Ho
2
2
  import { i as interact } from './p-a901dff2.js';
3
3
  import { updateField, VerdocsEndpoint, getRGBA } from '@verdocs/js-sdk';
4
4
  import { S as SettingsIcon } from './p-b0766439.js';
5
- import { S as Store } from './p-78d650ca.js';
6
- import { d as defineCustomElement$9 } from './p-d013a90c.js';
7
- import { d as defineCustomElement$8 } from './p-3b23adcf.js';
8
- import { d as defineCustomElement$7 } from './p-03019a61.js';
9
- import { d as defineCustomElement$6 } from './p-ad61d24b.js';
10
- import { d as defineCustomElement$5 } from './p-29a7261a.js';
11
- import { d as defineCustomElement$4 } from './p-6e342167.js';
12
- import { d as defineCustomElement$3 } from './p-3f7340a9.js';
13
- import { d as defineCustomElement$2 } from './p-97383615.js';
14
- import { d as defineCustomElement$1 } from './p-eebd0f45.js';
5
+ import { S as Store } from './p-33300e3a.js';
6
+ import { d as defineCustomElement$9 } from './p-f5ccf125.js';
7
+ import { d as defineCustomElement$8 } from './p-96774726.js';
8
+ import { d as defineCustomElement$7 } from './p-39480096.js';
9
+ import { d as defineCustomElement$6 } from './p-54e4bcee.js';
10
+ import { d as defineCustomElement$5 } from './p-f7dc9e74.js';
11
+ import { d as defineCustomElement$4 } from './p-ca16a8ac.js';
12
+ import { d as defineCustomElement$3 } from './p-8af753b4.js';
13
+ import { d as defineCustomElement$2 } from './p-4dbb9783.js';
14
+ import { d as defineCustomElement$1 } from './p-08ddf0b4.js';
15
15
 
16
16
  const verdocsFieldTextboxCss = "@-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-textbox{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;width:150px;height:15px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;letter-spacing:-0.2px;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textbox .edge-top,verdocs-field-textbox .edge-right,verdocs-field-textbox .edge-left,verdocs-field-textbox .edge-bottom{position:absolute;z-index:10}verdocs-field-textbox .edge-top{top:-2px;left:0;right:0;height:5px}verdocs-field-textbox .edge-right{top:0;bottom:0;right:-2px;width:5px}verdocs-field-textbox .edge-left{top:0;left:-2px;bottom:0;width:5px}verdocs-field-textbox .edge-bottom{bottom:-2px;left:0;right:0;height:5px}verdocs-field-textbox input{cursor:inherit;width:100%;height:100%;border:none;outline:none;padding:0 3px;font-size:11px;background:none;font-weight:500;position:absolute;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87)}verdocs-field-textbox input.hide{display:none}verdocs-field-textbox.disabled input{opacity:0.5}verdocs-field-textbox textarea{cursor:inherit;width:100%;height:100%;resize:none;border:none;outline:none;padding:0 3px;font-size:11px;background:none;font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87)}verdocs-field-textbox textarea.hide{display:none}verdocs-field-textbox.disabled textarea{opacity:0.5}verdocs-field-textbox 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-textbox.required{border:1px solid rgb(204, 0, 0)}verdocs-field-textbox.focused{-webkit-animation:verdocs-field-pulse 0.4s 1;animation:verdocs-field-pulse 0.4s 1}verdocs-field-textbox verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-textbox verdocs-button-panel[data-active],verdocs-field-textbox verdocs-button-panel:hover{opacity:1}verdocs-field-textbox verdocs-button-panel .icon svg{fill:#333333}verdocs-field-textbox verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-textbox [data-lastpass-icon-root]{display:none !important}verdocs-field-textbox .settings-icon{position:absolute;top:-4px;left:-18px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-textbox .settings-icon svg{fill:#707ae5}verdocs-field-textbox .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)}}";
17
17
  const VerdocsFieldTextboxStyle0 = verdocsFieldTextboxCss;
@@ -265,4 +265,4 @@ function defineCustomElement() {
265
265
 
266
266
  export { VerdocsFieldTextbox as V, defineCustomElement as d };
267
267
 
268
- //# sourceMappingURL=p-a9cd453d.js.map
268
+ //# sourceMappingURL=p-0e454650.js.map
@@ -1 +1 @@
1
- {"file":"p-a9cd453d.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-textbox/verdocs-field-textbox.scss?tag=verdocs-field-textbox","src/components/fields/verdocs-field-textbox/verdocs-field-textbox.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textbox {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: -0.2px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n input {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n position: absolute;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n textarea {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n resize: none;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled textarea {\n opacity: 0.5;\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 &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\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 // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n\n .settings-icon {\n position: absolute;\n top: -4px;\n left: -18px;\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 interact from 'interactjs';\nimport {getRGBA, IEnvelopeField, ITemplateField, updateField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Element, Prop, Method, Event, EventEmitter, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a simple 1-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textbox',\n styleUrl: 'verdocs-field-textbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextbox {\n @Element() el: HTMLElement;\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\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, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) multiline?: 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 the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\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 this.showingProperties = false;\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 30, height: 15},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n handleResizeStart(e: any) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n\n if (height < 20) {\n height = 15;\n }\n const multiline = height > 15;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, multiline})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template));\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n let {required = false, placeholder = '', label = '', width = 150, default: value = '', multiline = false} = field || {};\n const backgroundColor = getRGBA(index);\n\n // TODO: Consolidate value/defaultValue handling between template and envelope fields.\n if ((field as any)?.value) {\n value = (field as any)?.value;\n }\n\n // TODO: This is an outdated technique from the old system. We should compute it.\n const maxlength = width / 5;\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {multiline ? (\n <textarea\n name={fieldname}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n >\n {value}\n </textarea>\n ) : (\n <input\n type=\"text\"\n name={fieldname}\n value={value}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n maxlength={maxlength}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n />\n )}\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.hideSettingsPanel()}\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={\n 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the \"name\" field.<br /><br />If marked required, the participant must complete the field before proceeding.'\n }\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-0e454650.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-textbox/verdocs-field-textbox.scss?tag=verdocs-field-textbox","src/components/fields/verdocs-field-textbox/verdocs-field-textbox.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textbox {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: -0.2px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n input {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n position: absolute;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n textarea {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n resize: none;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled textarea {\n opacity: 0.5;\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 &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\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 // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n\n .settings-icon {\n position: absolute;\n top: -4px;\n left: -18px;\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 interact from 'interactjs';\nimport {getRGBA, IEnvelopeField, ITemplateField, updateField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Element, Prop, Method, Event, EventEmitter, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a simple 1-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textbox',\n styleUrl: 'verdocs-field-textbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextbox {\n @Element() el: HTMLElement;\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\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, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) multiline?: 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 the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\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 this.showingProperties = false;\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 30, height: 15},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n handleResizeStart(e: any) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n\n if (height < 20) {\n height = 15;\n }\n const multiline = height > 15;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, multiline})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template));\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n let {required = false, placeholder = '', label = '', width = 150, default: value = '', multiline = false} = field || {};\n const backgroundColor = getRGBA(index);\n\n // TODO: Consolidate value/defaultValue handling between template and envelope fields.\n if ((field as any)?.value) {\n value = (field as any)?.value;\n }\n\n // TODO: This is an outdated technique from the old system. We should compute it.\n const maxlength = width / 5;\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {multiline ? (\n <textarea\n name={fieldname}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n >\n {value}\n </textarea>\n ) : (\n <input\n type=\"text\"\n name={fieldname}\n value={value}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n maxlength={maxlength}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n />\n )}\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.hideSettingsPanel()}\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={\n 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the \"name\" field.<br /><br />If marked required, the participant must complete the field before proceeding.'\n }\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"version":3}