@verdocs/web-sdk 5.0.44 → 5.0.46

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 (431) hide show
  1. package/dist/cjs/en-9bc0a0b3.js +35 -0
  2. package/dist/cjs/en-9bc0a0b3.js.map +1 -0
  3. package/dist/cjs/index-01ae8e85.js +4 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/verdocs-button_2.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js +6 -6
  7. package/dist/cjs/verdocs-date-input.cjs.entry.js +85 -0
  8. package/dist/cjs/verdocs-date-input.cjs.entry.js.map +1 -0
  9. package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +6 -6
  12. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +8 -34
  13. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js.map +1 -1
  14. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +2 -2
  15. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +25 -4
  16. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js.map +1 -1
  17. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +8 -8
  18. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
  19. package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +2 -2
  20. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-sign.cjs.entry.js +5 -7
  25. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  26. package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
  27. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -2
  28. package/dist/cjs/verdocs-switch.cjs.entry.js +2 -2
  29. package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  31. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  32. package/dist/cjs/verdocs-template-tags.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-toggle-button.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  35. package/dist/collection/collection-manifest.json +1 -0
  36. package/dist/collection/components/controls/verdocs-date-input/verdocs-date-input.css +98 -0
  37. package/dist/collection/components/controls/verdocs-date-input/verdocs-date-input.js +242 -0
  38. package/dist/collection/components/controls/verdocs-date-input/verdocs-date-input.js.map +1 -0
  39. package/dist/collection/components/controls/verdocs-file-chooser/verdocs-file-chooser.js +1 -1
  40. package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.js +1 -1
  41. package/dist/collection/components/controls/verdocs-loader/verdocs-loader.js +1 -1
  42. package/dist/collection/components/controls/verdocs-menu-panel/verdocs-menu-panel.js +1 -1
  43. package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +1 -1
  44. package/dist/collection/components/controls/verdocs-pagination/verdocs-pagination.js +1 -1
  45. package/dist/collection/components/controls/verdocs-portal/verdocs-portal.js +1 -1
  46. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.js +1 -1
  47. package/dist/collection/components/controls/verdocs-radio-button/verdocs-radio-button.js +1 -1
  48. package/dist/collection/components/controls/verdocs-select-input/verdocs-select-input.js +1 -1
  49. package/dist/collection/components/controls/verdocs-spinner/verdocs-spinner.js +1 -1
  50. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.js +2 -2
  51. package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +4 -4
  52. package/dist/collection/components/controls/verdocs-toggle-button/verdocs-toggle-button.js +1 -1
  53. package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +1 -1
  54. package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +1 -1
  55. package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -1
  56. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.css +8 -0
  57. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +26 -4
  58. package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -1
  59. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -1
  60. package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -1
  61. package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -1
  62. package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -1
  63. package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -1
  64. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +6 -7
  65. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  66. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +1 -1
  67. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -1
  68. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +6 -6
  69. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -2
  70. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +1 -0
  71. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  72. package/dist/collection/components/templates/verdocs-template-card/verdocs-template-card.js +1 -1
  73. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -7
  74. package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
  75. package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
  76. package/dist/components/index.js +2 -0
  77. package/dist/components/index.js.map +1 -1
  78. package/dist/components/{p-444a3bdf.js → p-008472ce.js} +11 -11
  79. package/dist/components/{p-444a3bdf.js.map → p-008472ce.js.map} +1 -1
  80. package/dist/components/{p-bebd9b19.js → p-02f67734.js} +2 -2
  81. package/dist/components/{p-bebd9b19.js.map → p-02f67734.js.map} +1 -1
  82. package/dist/components/{p-81979fe6.js → p-06bacd3b.js} +2 -2
  83. package/dist/components/{p-81979fe6.js.map → p-06bacd3b.js.map} +1 -1
  84. package/dist/components/{p-4a04090c.js → p-0a14020a.js} +22 -22
  85. package/dist/components/{p-4a04090c.js.map → p-0a14020a.js.map} +1 -1
  86. package/dist/components/{p-d20bbc7d.js → p-0d7860de.js} +4 -4
  87. package/dist/components/{p-d20bbc7d.js.map → p-0d7860de.js.map} +1 -1
  88. package/dist/components/{p-d990000f.js → p-1354c984.js} +2 -2
  89. package/dist/components/{p-d990000f.js.map → p-1354c984.js.map} +1 -1
  90. package/dist/components/{p-710ca15d.js → p-18086502.js} +2 -2
  91. package/dist/components/{p-710ca15d.js.map → p-18086502.js.map} +1 -1
  92. package/dist/components/{p-44e14cb9.js → p-2985ae11.js} +2 -2
  93. package/dist/components/{p-44e14cb9.js.map → p-2985ae11.js.map} +1 -1
  94. package/dist/components/{p-51c8b927.js → p-2b0d2fbd.js} +4 -4
  95. package/dist/components/{p-51c8b927.js.map → p-2b0d2fbd.js.map} +1 -1
  96. package/dist/components/{p-6a8c32a6.js → p-3077aff3.js} +8 -8
  97. package/dist/components/{p-6a8c32a6.js.map → p-3077aff3.js.map} +1 -1
  98. package/dist/components/{p-92cce3dc.js → p-3ceeb122.js} +2 -210
  99. package/dist/components/p-3ceeb122.js.map +1 -0
  100. package/dist/components/{p-8af753b4.js → p-497ceba2.js} +2 -2
  101. package/dist/components/{p-8af753b4.js.map → p-497ceba2.js.map} +1 -1
  102. package/dist/components/{p-df227cfc.js → p-4a4de8d8.js} +7 -7
  103. package/dist/components/{p-df227cfc.js.map → p-4a4de8d8.js.map} +1 -1
  104. package/dist/components/{p-5faeacf0.js → p-4bcb364c.js} +2 -2
  105. package/dist/components/{p-5faeacf0.js.map → p-4bcb364c.js.map} +1 -1
  106. package/dist/components/{p-e85acbfb.js → p-4fff9f15.js} +7 -7
  107. package/dist/components/{p-e85acbfb.js.map → p-4fff9f15.js.map} +1 -1
  108. package/dist/components/{p-5d578b83.js → p-515f8afb.js} +7 -7
  109. package/dist/components/{p-5d578b83.js.map → p-515f8afb.js.map} +1 -1
  110. package/dist/components/{p-43b8738f.js → p-6507fba9.js} +5 -5
  111. package/dist/components/{p-43b8738f.js.map → p-6507fba9.js.map} +1 -1
  112. package/dist/components/{p-eb4bd2d6.js → p-71b30a91.js} +9 -9
  113. package/dist/components/{p-eb4bd2d6.js.map → p-71b30a91.js.map} +1 -1
  114. package/dist/components/{p-d89157e9.js → p-728ec158.js} +2 -2
  115. package/dist/components/{p-d89157e9.js.map → p-728ec158.js.map} +1 -1
  116. package/dist/components/{p-641e2cc0.js → p-73629a90.js} +3 -3
  117. package/dist/components/{p-641e2cc0.js.map → p-73629a90.js.map} +1 -1
  118. package/dist/components/{p-f7dc9e74.js → p-7f6c97d5.js} +2 -2
  119. package/dist/components/{p-f7dc9e74.js.map → p-7f6c97d5.js.map} +1 -1
  120. package/dist/components/{p-9a24561a.js → p-81e52989.js} +7 -7
  121. package/dist/components/{p-9a24561a.js.map → p-81e52989.js.map} +1 -1
  122. package/dist/components/{p-0a102a9c.js → p-83ecee53.js} +2 -2
  123. package/dist/components/{p-0a102a9c.js.map → p-83ecee53.js.map} +1 -1
  124. package/dist/components/{p-f776eeae.js → p-8e44cb14.js} +3 -3
  125. package/dist/components/{p-f776eeae.js.map → p-8e44cb14.js.map} +1 -1
  126. package/dist/components/{p-4ab3413a.js → p-9c650a78.js} +7 -7
  127. package/dist/components/{p-4ab3413a.js.map → p-9c650a78.js.map} +1 -1
  128. package/dist/components/{p-08ddf0b4.js → p-a5c69199.js} +6 -6
  129. package/dist/components/{p-08ddf0b4.js.map → p-a5c69199.js.map} +1 -1
  130. package/dist/components/{p-4a4bf38c.js → p-a808fcb1.js} +6 -6
  131. package/dist/components/{p-4a4bf38c.js.map → p-a808fcb1.js.map} +1 -1
  132. package/dist/components/{p-1a83e46c.js → p-a8f59e9d.js} +7 -7
  133. package/dist/components/{p-1a83e46c.js.map → p-a8f59e9d.js.map} +1 -1
  134. package/dist/components/{p-ca16a8ac.js → p-acb41a2e.js} +2 -2
  135. package/dist/components/{p-ca16a8ac.js.map → p-acb41a2e.js.map} +1 -1
  136. package/dist/components/{p-321e2d4e.js → p-b4eee1ed.js} +28 -6
  137. package/dist/components/p-b4eee1ed.js.map +1 -0
  138. package/dist/components/{p-91eae04c.js → p-b9ec1278.js} +23 -23
  139. package/dist/components/{p-91eae04c.js.map → p-b9ec1278.js.map} +1 -1
  140. package/dist/components/{p-f66d6a07.js → p-bcbe0f6b.js} +8 -8
  141. package/dist/components/{p-f66d6a07.js.map → p-bcbe0f6b.js.map} +1 -1
  142. package/dist/components/{p-b474c324.js → p-bfa07825.js} +21 -21
  143. package/dist/components/{p-b474c324.js.map → p-bfa07825.js.map} +1 -1
  144. package/dist/components/{p-4dbb9783.js → p-c696e5d7.js} +5 -5
  145. package/dist/components/{p-4dbb9783.js.map → p-c696e5d7.js.map} +1 -1
  146. package/dist/components/{p-61a2c23a.js → p-cb2e0f23.js} +2 -2
  147. package/dist/components/{p-61a2c23a.js.map → p-cb2e0f23.js.map} +1 -1
  148. package/dist/components/{p-73a39d5a.js → p-ccbd93c3.js} +3 -3
  149. package/dist/components/{p-73a39d5a.js.map → p-ccbd93c3.js.map} +1 -1
  150. package/dist/components/{p-0e454650.js → p-cf95858b.js} +7 -7
  151. package/dist/components/{p-0e454650.js.map → p-cf95858b.js.map} +1 -1
  152. package/dist/components/p-d47ac4f2.js +214 -0
  153. package/dist/components/p-d47ac4f2.js.map +1 -0
  154. package/dist/components/{p-54e4bcee.js → p-d5eae4db.js} +2 -2
  155. package/dist/components/{p-54e4bcee.js.map → p-d5eae4db.js.map} +1 -1
  156. package/dist/components/{p-581128fe.js → p-e098ba1d.js} +6 -6
  157. package/dist/components/{p-581128fe.js.map → p-e098ba1d.js.map} +1 -1
  158. package/dist/components/{p-57db7635.js → p-ec06fbd7.js} +2 -2
  159. package/dist/components/{p-57db7635.js.map → p-ec06fbd7.js.map} +1 -1
  160. package/dist/components/{p-081465e0.js → p-ed777fb7.js} +2 -2
  161. package/dist/components/{p-081465e0.js.map → p-ed777fb7.js.map} +1 -1
  162. package/dist/components/{p-e1b7ca10.js → p-ef2df3fa.js} +3 -3
  163. package/dist/components/{p-e1b7ca10.js.map → p-ef2df3fa.js.map} +1 -1
  164. package/dist/components/{p-a50f7982.js → p-f303f8bf.js} +2 -2
  165. package/dist/components/{p-a50f7982.js.map → p-f303f8bf.js.map} +1 -1
  166. package/dist/components/{p-55edf913.js → p-fcfbb327.js} +6 -6
  167. package/dist/components/{p-55edf913.js.map → p-fcfbb327.js.map} +1 -1
  168. package/dist/components/verdocs-auth.js +2 -2
  169. package/dist/components/verdocs-build.js +37 -37
  170. package/dist/components/verdocs-contact-picker.js +1 -1
  171. package/dist/components/verdocs-date-input.d.ts +11 -0
  172. package/dist/components/verdocs-date-input.js +114 -0
  173. package/dist/components/verdocs-date-input.js.map +1 -0
  174. package/dist/components/verdocs-dialog.js +1 -1
  175. package/dist/components/verdocs-dropdown.js +1 -1
  176. package/dist/components/verdocs-envelope-document-page.js +1 -1
  177. package/dist/components/verdocs-envelope-sidebar.js +6 -6
  178. package/dist/components/verdocs-envelopes-list.js +13 -13
  179. package/dist/components/verdocs-field-attachment.js +1 -1
  180. package/dist/components/verdocs-field-checkbox.js +1 -1
  181. package/dist/components/verdocs-field-date.js +1 -1
  182. package/dist/components/verdocs-field-dropdown.js +1 -1
  183. package/dist/components/verdocs-field-initial.js +1 -1
  184. package/dist/components/verdocs-field-payment.js +6 -6
  185. package/dist/components/verdocs-field-radio.js +1 -1
  186. package/dist/components/verdocs-field-signature.js +1 -1
  187. package/dist/components/verdocs-field-textarea.js +1 -1
  188. package/dist/components/verdocs-field-textbox.js +1 -1
  189. package/dist/components/verdocs-field-timestamp.js +1 -1
  190. package/dist/components/verdocs-file-chooser.js +1 -1
  191. package/dist/components/verdocs-help-icon.js +1 -1
  192. package/dist/components/verdocs-initial-dialog.js +1 -1
  193. package/dist/components/verdocs-kba-dialog.js +1 -1
  194. package/dist/components/verdocs-loader.js +1 -1
  195. package/dist/components/verdocs-menu-panel.js +1 -1
  196. package/dist/components/verdocs-multiselect.js +1 -1
  197. package/dist/components/verdocs-ok-dialog.js +1 -1
  198. package/dist/components/verdocs-organization-card.js +2 -2
  199. package/dist/components/verdocs-pagination.js +1 -1
  200. package/dist/components/verdocs-portal.js +1 -1
  201. package/dist/components/verdocs-preview.js +1 -1
  202. package/dist/components/verdocs-progress-bar.js +1 -1
  203. package/dist/components/verdocs-quick-functions.js +1 -1
  204. package/dist/components/verdocs-radio-button.js +1 -1
  205. package/dist/components/verdocs-search-tabs.js +1 -1
  206. package/dist/components/verdocs-select-input.js +1 -1
  207. package/dist/components/verdocs-send.js +1 -1
  208. package/dist/components/verdocs-sign.js +14 -15
  209. package/dist/components/verdocs-sign.js.map +1 -1
  210. package/dist/components/verdocs-signature-dialog.js +1 -1
  211. package/dist/components/verdocs-spinner.js +1 -1
  212. package/dist/components/verdocs-status-indicator.js +1 -1
  213. package/dist/components/verdocs-switch.js +1 -1
  214. package/dist/components/verdocs-template-attachments.js +1 -1
  215. package/dist/components/verdocs-template-build-tabs.js +1 -1
  216. package/dist/components/verdocs-template-card.js +1 -1
  217. package/dist/components/verdocs-template-create.js +2 -2
  218. package/dist/components/verdocs-template-document-page.js +1 -1
  219. package/dist/components/verdocs-template-field-properties.js +1 -1
  220. package/dist/components/verdocs-template-fields.js +1 -1
  221. package/dist/components/verdocs-template-role-properties.js +1 -1
  222. package/dist/components/verdocs-template-roles.js +1 -1
  223. package/dist/components/verdocs-template-settings.js +1 -1
  224. package/dist/components/verdocs-template-star.js +1 -1
  225. package/dist/components/verdocs-template-tags.js +1 -1
  226. package/dist/components/verdocs-templates-list.js +8 -8
  227. package/dist/components/verdocs-text-input.js +1 -1
  228. package/dist/components/verdocs-toggle-button.js +1 -1
  229. package/dist/components/verdocs-toolbar-icon.js +1 -1
  230. package/dist/components/verdocs-upload-dialog.js +1 -1
  231. package/dist/components/verdocs-view.js +1 -1
  232. package/dist/custom-elements.json +2231 -0
  233. package/dist/esm/en-03eb67b8.js +33 -0
  234. package/dist/esm/en-03eb67b8.js.map +1 -0
  235. package/dist/esm/index-2cd5f887.js +4 -0
  236. package/dist/esm/loader.js +1 -1
  237. package/dist/esm/verdocs-button_2.entry.js +1 -1
  238. package/dist/esm/verdocs-checkbox_6.entry.js +6 -6
  239. package/dist/esm/verdocs-date-input.entry.js +81 -0
  240. package/dist/esm/verdocs-date-input.entry.js.map +1 -0
  241. package/dist/esm/verdocs-dialog.entry.js +1 -1
  242. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  243. package/dist/esm/verdocs-envelopes-list.entry.js +6 -6
  244. package/dist/esm/verdocs-field-attachment_13.entry.js +6 -32
  245. package/dist/esm/verdocs-field-attachment_13.entry.js.map +1 -1
  246. package/dist/esm/verdocs-file-chooser_2.entry.js +2 -2
  247. package/dist/esm/verdocs-kba-dialog_2.entry.js +25 -4
  248. package/dist/esm/verdocs-kba-dialog_2.entry.js.map +1 -1
  249. package/dist/esm/verdocs-menu-panel_2.entry.js +8 -8
  250. package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
  251. package/dist/esm/verdocs-organization-card_2.entry.js +2 -2
  252. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  253. package/dist/esm/verdocs-quick-functions.entry.js +1 -1
  254. package/dist/esm/verdocs-radio-button.entry.js +1 -1
  255. package/dist/esm/verdocs-search-tabs.entry.js +1 -1
  256. package/dist/esm/verdocs-sign.entry.js +5 -7
  257. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  258. package/dist/esm/verdocs-spinner.entry.js +1 -1
  259. package/dist/esm/verdocs-status-indicator.entry.js +2 -2
  260. package/dist/esm/verdocs-switch.entry.js +2 -2
  261. package/dist/esm/verdocs-template-card.entry.js +1 -1
  262. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  263. package/dist/esm/verdocs-template-star.entry.js +1 -1
  264. package/dist/esm/verdocs-template-tags.entry.js +1 -1
  265. package/dist/esm/verdocs-toggle-button.entry.js +1 -1
  266. package/dist/esm/verdocs-web-sdk.js +1 -1
  267. package/dist/esm-es5/en-03eb67b8.js +2 -0
  268. package/dist/esm-es5/en-03eb67b8.js.map +1 -0
  269. package/dist/esm-es5/index-2cd5f887.js +1 -1
  270. package/dist/esm-es5/index-2cd5f887.js.map +1 -1
  271. package/dist/esm-es5/loader.js +1 -1
  272. package/dist/esm-es5/loader.js.map +1 -1
  273. package/dist/esm-es5/verdocs-button_2.entry.js +1 -1
  274. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -1
  275. package/dist/esm-es5/verdocs-date-input.entry.js +2 -0
  276. package/dist/esm-es5/verdocs-date-input.entry.js.map +1 -0
  277. package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
  278. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  279. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  280. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  281. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  282. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  283. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  284. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js.map +1 -1
  285. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  286. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  287. package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
  288. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  289. package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
  290. package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
  291. package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
  292. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  293. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  294. package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
  295. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  296. package/dist/esm-es5/verdocs-switch.entry.js +1 -1
  297. package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
  298. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  299. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  300. package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
  301. package/dist/esm-es5/verdocs-toggle-button.entry.js +1 -1
  302. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  303. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  304. package/dist/types/components/controls/verdocs-date-input/verdocs-date-input.d.ts +43 -0
  305. package/dist/types/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.d.ts +3 -1
  306. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -1
  307. package/dist/types/components.d.ts +86 -0
  308. package/dist/verdocs-web-sdk/p-0758647e.system.js +2 -0
  309. package/dist/verdocs-web-sdk/p-0758647e.system.js.map +1 -0
  310. package/dist/verdocs-web-sdk/{p-0e485d1a.system.entry.js → p-0974b1cf.system.entry.js} +2 -2
  311. package/dist/verdocs-web-sdk/p-0c1898f6.system.js +1 -1
  312. package/dist/verdocs-web-sdk/p-0c1898f6.system.js.map +1 -1
  313. package/dist/verdocs-web-sdk/{p-96ca1ce2.entry.js → p-11a30de3.entry.js} +2 -2
  314. package/dist/verdocs-web-sdk/p-158808e1.entry.js +2 -0
  315. package/dist/verdocs-web-sdk/{p-b0606620.entry.js.map → p-158808e1.entry.js.map} +1 -1
  316. package/dist/verdocs-web-sdk/{p-644444fe.system.entry.js → p-19ee9379.system.entry.js} +2 -2
  317. package/dist/verdocs-web-sdk/p-1f8bd27c.system.entry.js +2 -0
  318. package/dist/verdocs-web-sdk/p-1f8bd27c.system.entry.js.map +1 -0
  319. package/dist/verdocs-web-sdk/{p-5a639d78.system.entry.js → p-248ffe5c.system.entry.js} +2 -2
  320. package/dist/verdocs-web-sdk/{p-e5719bcf.system.entry.js → p-2d0e964b.system.entry.js} +2 -2
  321. package/dist/verdocs-web-sdk/{p-a508388a.system.entry.js → p-2d2c8ad7.system.entry.js} +2 -2
  322. package/dist/verdocs-web-sdk/{p-06394c15.system.entry.js → p-2d35f678.system.entry.js} +2 -2
  323. package/dist/verdocs-web-sdk/{p-923cc826.entry.js → p-2edf05fe.entry.js} +2 -2
  324. package/dist/verdocs-web-sdk/{p-d8e59850.entry.js → p-344ff0ba.entry.js} +2 -2
  325. package/dist/verdocs-web-sdk/{p-af9cc642.entry.js → p-35fc5f53.entry.js} +2 -2
  326. package/dist/verdocs-web-sdk/{p-1f42a7c2.entry.js → p-3a2bd43c.entry.js} +2 -2
  327. package/dist/verdocs-web-sdk/{p-82c88c0f.entry.js → p-3cc309a8.entry.js} +2 -2
  328. package/dist/verdocs-web-sdk/p-3ceeb122.js +2 -0
  329. package/dist/verdocs-web-sdk/p-3ceeb122.js.map +1 -0
  330. package/dist/verdocs-web-sdk/p-3fc80e05.entry.js +2 -0
  331. package/dist/verdocs-web-sdk/p-3fc80e05.entry.js.map +1 -0
  332. package/dist/verdocs-web-sdk/p-41c60a2e.system.entry.js +2 -0
  333. package/dist/verdocs-web-sdk/p-41c60a2e.system.entry.js.map +1 -0
  334. package/dist/verdocs-web-sdk/{p-ba7f0fce.system.entry.js → p-45dd5527.system.entry.js} +2 -2
  335. package/dist/verdocs-web-sdk/{p-f9aaeb81.system.entry.js → p-50e49464.system.entry.js} +2 -2
  336. package/dist/verdocs-web-sdk/p-66ca774d.entry.js +2 -0
  337. package/dist/verdocs-web-sdk/p-66ca774d.entry.js.map +1 -0
  338. package/dist/verdocs-web-sdk/{p-00b95f75.system.entry.js → p-6ddcf3fe.system.entry.js} +2 -2
  339. package/dist/verdocs-web-sdk/p-7a2fbc8a.entry.js +2 -0
  340. package/dist/verdocs-web-sdk/p-7a2fbc8a.entry.js.map +1 -0
  341. package/dist/verdocs-web-sdk/{p-517a9262.entry.js → p-7b0281af.entry.js} +2 -2
  342. package/dist/verdocs-web-sdk/{p-df70c2ea.entry.js → p-7e0fa3ae.entry.js} +2 -2
  343. package/dist/verdocs-web-sdk/{p-ab23e446.entry.js → p-7f1edca3.entry.js} +2 -2
  344. package/dist/verdocs-web-sdk/{p-9f2cb0de.entry.js → p-840b6fbe.entry.js} +2 -2
  345. package/dist/verdocs-web-sdk/p-88f4ee7b.system.entry.js +2 -0
  346. package/dist/verdocs-web-sdk/p-88f4ee7b.system.entry.js.map +1 -0
  347. package/dist/verdocs-web-sdk/{p-2df97f4e.entry.js → p-8ec57eff.entry.js} +2 -2
  348. package/dist/verdocs-web-sdk/{p-fb577d62.system.entry.js → p-9363cc19.system.entry.js} +2 -2
  349. package/dist/verdocs-web-sdk/{p-f9d56a3c.entry.js → p-9a19e851.entry.js} +2 -2
  350. package/dist/verdocs-web-sdk/{p-36a10b78.system.entry.js → p-9ccbbb22.system.entry.js} +2 -2
  351. package/dist/verdocs-web-sdk/p-9f684d65.entry.js +2 -0
  352. package/dist/verdocs-web-sdk/p-9f684d65.entry.js.map +1 -0
  353. package/dist/verdocs-web-sdk/{p-a1f9578c.system.entry.js → p-a75f7e9e.system.entry.js} +2 -2
  354. package/dist/verdocs-web-sdk/{p-d2a9d5cf.system.entry.js → p-ad9dd116.system.entry.js} +2 -2
  355. package/dist/verdocs-web-sdk/{p-ac10a0b5.system.entry.js → p-b0220f11.system.entry.js} +2 -2
  356. package/dist/verdocs-web-sdk/{p-9a955b58.system.entry.js → p-b43ede8b.system.entry.js} +2 -2
  357. package/dist/verdocs-web-sdk/{p-ad04e403.system.entry.js → p-bd7b3d7b.system.entry.js} +2 -2
  358. package/dist/verdocs-web-sdk/{p-330c1f00.entry.js → p-c3e2d722.entry.js} +2 -2
  359. package/dist/verdocs-web-sdk/{p-c397c96b.system.entry.js → p-c9ec99df.system.entry.js} +2 -2
  360. package/dist/verdocs-web-sdk/{p-b32c8a43.entry.js → p-cf413e96.entry.js} +2 -2
  361. package/dist/verdocs-web-sdk/{p-5fd67b04.system.entry.js → p-d67c3a58.system.entry.js} +2 -2
  362. package/dist/verdocs-web-sdk/{p-2c9254a9.entry.js → p-d7cafbfe.entry.js} +2 -2
  363. package/dist/verdocs-web-sdk/{p-2415315d.entry.js → p-dea4b888.entry.js} +2 -2
  364. package/dist/verdocs-web-sdk/{p-866d2139.entry.js → p-e388f2eb.entry.js} +2 -2
  365. package/dist/verdocs-web-sdk/{p-195cd4f4.system.entry.js → p-e8184f76.system.entry.js} +2 -2
  366. package/dist/verdocs-web-sdk/{p-ca45c312.entry.js → p-e8c4cb36.entry.js} +2 -2
  367. package/dist/verdocs-web-sdk/{p-66438012.system.entry.js → p-ebec3bc1.system.entry.js} +2 -2
  368. package/dist/verdocs-web-sdk/{p-af41b404.entry.js → p-ed106cc9.entry.js} +2 -2
  369. package/dist/verdocs-web-sdk/{p-dac155a6.system.entry.js → p-f3d09408.system.entry.js} +2 -2
  370. package/dist/verdocs-web-sdk/p-f6bf7e6a.system.entry.js +2 -0
  371. package/dist/verdocs-web-sdk/p-f6bf7e6a.system.entry.js.map +1 -0
  372. package/dist/verdocs-web-sdk/{p-e43a184d.entry.js → p-fc79bf91.entry.js} +2 -2
  373. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  374. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  375. package/package.json +3 -3
  376. package/dist/components/p-321e2d4e.js.map +0 -1
  377. package/dist/components/p-92cce3dc.js.map +0 -1
  378. package/dist/verdocs-web-sdk/p-2ce5fef0.system.entry.js +0 -2
  379. package/dist/verdocs-web-sdk/p-2ce5fef0.system.entry.js.map +0 -1
  380. package/dist/verdocs-web-sdk/p-6cfb51e3.system.entry.js +0 -2
  381. package/dist/verdocs-web-sdk/p-6cfb51e3.system.entry.js.map +0 -1
  382. package/dist/verdocs-web-sdk/p-78d9fa52.system.entry.js +0 -2
  383. package/dist/verdocs-web-sdk/p-78d9fa52.system.entry.js.map +0 -1
  384. package/dist/verdocs-web-sdk/p-79a1bf39.entry.js +0 -2
  385. package/dist/verdocs-web-sdk/p-79a1bf39.entry.js.map +0 -1
  386. package/dist/verdocs-web-sdk/p-b0606620.entry.js +0 -2
  387. package/dist/verdocs-web-sdk/p-dac04f8e.entry.js +0 -2
  388. package/dist/verdocs-web-sdk/p-dac04f8e.entry.js.map +0 -1
  389. package/dist/verdocs-web-sdk/p-e7ca4f15.entry.js +0 -2
  390. package/dist/verdocs-web-sdk/p-e7ca4f15.entry.js.map +0 -1
  391. /package/dist/verdocs-web-sdk/{p-0e485d1a.system.entry.js.map → p-0974b1cf.system.entry.js.map} +0 -0
  392. /package/dist/verdocs-web-sdk/{p-96ca1ce2.entry.js.map → p-11a30de3.entry.js.map} +0 -0
  393. /package/dist/verdocs-web-sdk/{p-644444fe.system.entry.js.map → p-19ee9379.system.entry.js.map} +0 -0
  394. /package/dist/verdocs-web-sdk/{p-5a639d78.system.entry.js.map → p-248ffe5c.system.entry.js.map} +0 -0
  395. /package/dist/verdocs-web-sdk/{p-e5719bcf.system.entry.js.map → p-2d0e964b.system.entry.js.map} +0 -0
  396. /package/dist/verdocs-web-sdk/{p-a508388a.system.entry.js.map → p-2d2c8ad7.system.entry.js.map} +0 -0
  397. /package/dist/verdocs-web-sdk/{p-06394c15.system.entry.js.map → p-2d35f678.system.entry.js.map} +0 -0
  398. /package/dist/verdocs-web-sdk/{p-923cc826.entry.js.map → p-2edf05fe.entry.js.map} +0 -0
  399. /package/dist/verdocs-web-sdk/{p-d8e59850.entry.js.map → p-344ff0ba.entry.js.map} +0 -0
  400. /package/dist/verdocs-web-sdk/{p-af9cc642.entry.js.map → p-35fc5f53.entry.js.map} +0 -0
  401. /package/dist/verdocs-web-sdk/{p-1f42a7c2.entry.js.map → p-3a2bd43c.entry.js.map} +0 -0
  402. /package/dist/verdocs-web-sdk/{p-82c88c0f.entry.js.map → p-3cc309a8.entry.js.map} +0 -0
  403. /package/dist/verdocs-web-sdk/{p-ba7f0fce.system.entry.js.map → p-45dd5527.system.entry.js.map} +0 -0
  404. /package/dist/verdocs-web-sdk/{p-f9aaeb81.system.entry.js.map → p-50e49464.system.entry.js.map} +0 -0
  405. /package/dist/verdocs-web-sdk/{p-00b95f75.system.entry.js.map → p-6ddcf3fe.system.entry.js.map} +0 -0
  406. /package/dist/verdocs-web-sdk/{p-517a9262.entry.js.map → p-7b0281af.entry.js.map} +0 -0
  407. /package/dist/verdocs-web-sdk/{p-df70c2ea.entry.js.map → p-7e0fa3ae.entry.js.map} +0 -0
  408. /package/dist/verdocs-web-sdk/{p-ab23e446.entry.js.map → p-7f1edca3.entry.js.map} +0 -0
  409. /package/dist/verdocs-web-sdk/{p-9f2cb0de.entry.js.map → p-840b6fbe.entry.js.map} +0 -0
  410. /package/dist/verdocs-web-sdk/{p-2df97f4e.entry.js.map → p-8ec57eff.entry.js.map} +0 -0
  411. /package/dist/verdocs-web-sdk/{p-fb577d62.system.entry.js.map → p-9363cc19.system.entry.js.map} +0 -0
  412. /package/dist/verdocs-web-sdk/{p-f9d56a3c.entry.js.map → p-9a19e851.entry.js.map} +0 -0
  413. /package/dist/verdocs-web-sdk/{p-36a10b78.system.entry.js.map → p-9ccbbb22.system.entry.js.map} +0 -0
  414. /package/dist/verdocs-web-sdk/{p-a1f9578c.system.entry.js.map → p-a75f7e9e.system.entry.js.map} +0 -0
  415. /package/dist/verdocs-web-sdk/{p-d2a9d5cf.system.entry.js.map → p-ad9dd116.system.entry.js.map} +0 -0
  416. /package/dist/verdocs-web-sdk/{p-ac10a0b5.system.entry.js.map → p-b0220f11.system.entry.js.map} +0 -0
  417. /package/dist/verdocs-web-sdk/{p-9a955b58.system.entry.js.map → p-b43ede8b.system.entry.js.map} +0 -0
  418. /package/dist/verdocs-web-sdk/{p-ad04e403.system.entry.js.map → p-bd7b3d7b.system.entry.js.map} +0 -0
  419. /package/dist/verdocs-web-sdk/{p-330c1f00.entry.js.map → p-c3e2d722.entry.js.map} +0 -0
  420. /package/dist/verdocs-web-sdk/{p-c397c96b.system.entry.js.map → p-c9ec99df.system.entry.js.map} +0 -0
  421. /package/dist/verdocs-web-sdk/{p-b32c8a43.entry.js.map → p-cf413e96.entry.js.map} +0 -0
  422. /package/dist/verdocs-web-sdk/{p-5fd67b04.system.entry.js.map → p-d67c3a58.system.entry.js.map} +0 -0
  423. /package/dist/verdocs-web-sdk/{p-2c9254a9.entry.js.map → p-d7cafbfe.entry.js.map} +0 -0
  424. /package/dist/verdocs-web-sdk/{p-2415315d.entry.js.map → p-dea4b888.entry.js.map} +0 -0
  425. /package/dist/verdocs-web-sdk/{p-866d2139.entry.js.map → p-e388f2eb.entry.js.map} +0 -0
  426. /package/dist/verdocs-web-sdk/{p-195cd4f4.system.entry.js.map → p-e8184f76.system.entry.js.map} +0 -0
  427. /package/dist/verdocs-web-sdk/{p-ca45c312.entry.js.map → p-e8c4cb36.entry.js.map} +0 -0
  428. /package/dist/verdocs-web-sdk/{p-66438012.system.entry.js.map → p-ebec3bc1.system.entry.js.map} +0 -0
  429. /package/dist/verdocs-web-sdk/{p-af41b404.entry.js.map → p-ed106cc9.entry.js.map} +0 -0
  430. /package/dist/verdocs-web-sdk/{p-dac155a6.system.entry.js.map → p-f3d09408.system.entry.js.map} +0 -0
  431. /package/dist/verdocs-web-sdk/{p-e43a184d.entry.js.map → p-fc79bf91.entry.js.map} +0 -0
@@ -9,7 +9,7 @@ const VerdocsLoader = /*@__PURE__*/ proxyCustomElement(class VerdocsLoader exten
9
9
  this.__registerHost();
10
10
  }
11
11
  render() {
12
- return h(Host, { key: 'ff34c7e1c82da9bb60f3af2890cf46e02cd213b1' });
12
+ return h(Host, { key: '670684370c14134e98bb0c08776a963c4e606617' });
13
13
  }
14
14
  static get style() { return VerdocsLoaderStyle0; }
15
15
  }, [0, "verdocs-loader"]);
@@ -29,4 +29,4 @@ function defineCustomElement() {
29
29
 
30
30
  export { VerdocsLoader as V, defineCustomElement as d };
31
31
 
32
- //# sourceMappingURL=p-f7dc9e74.js.map
32
+ //# sourceMappingURL=p-7f6c97d5.js.map
@@ -1 +1 @@
1
- {"file":"p-f7dc9e74.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,m9UAAm9U,CAAC;AAC7+U,4BAAe,gBAAgB;;MCalB,aAAa;;;;;IACxB,MAAM;QACJ,OAAO,EAAC,IAAI,sDAAG,CAAC;KACjB;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n *\n * ```ts\n * <verdocs-loader />\n * ```\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n"],"version":3}
1
+ {"file":"p-7f6c97d5.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,m9UAAm9U,CAAC;AAC7+U,4BAAe,gBAAgB;;MCalB,aAAa;;;;;IACxB,MAAM;QACJ,OAAO,EAAC,IAAI,sDAAG,CAAC;KACjB;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/controls/verdocs-loader/verdocs-loader.scss?tag=verdocs-loader","src/components/controls/verdocs-loader/verdocs-loader.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-loader {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -20px;\n margin-top: -20px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n text-indent: -9999em;\n -webkit-animation: load5 1.1s infinite ease;\n animation: verdocs-loader-kf 1.1s infinite ease;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n@keyframes verdocs-loader-kf {\n 0%,\n 100% {\n box-shadow: 0em -2.6em 0em 0em $verdocs-bg-2, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.3), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4);\n }\n 12.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.4), 1.8em -1.8em 0 0em $verdocs-bg-2, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3);\n }\n 25% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.3), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.4), 2.5em 0em 0 0em $verdocs-bg-2, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 37.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.3), 2.5em 0em 0 0em rgba(0, 0, 0, 0.4), 1.75em 1.75em 0 0em $verdocs-bg-2,\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 50% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.3), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.4),\n 0em 2.5em 0 0em $verdocs-bg-2, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 62.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.3),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.4), -1.8em 1.8em 0 0em $verdocs-bg-2, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 75% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.3), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.4), -2.6em 0em 0 0em $verdocs-bg-2, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);\n }\n 87.5% {\n box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2),\n 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.3), -2.6em 0em 0 0em rgba(0, 0, 0, 0.4), -1.8em -1.8em 0 0em $verdocs-bg-2;\n }\n}\n","import {Component, h, Host} from '@stencil/core';\n\n/**\n * Animated loader placeholder. There are currently no configuration options for this control.\n *\n * ```ts\n * <verdocs-loader />\n * ```\n */\n@Component({\n tag: 'verdocs-loader',\n styleUrl: 'verdocs-loader.scss',\n shadow: false,\n})\nexport class VerdocsLoader {\n render() {\n return <Host />;\n }\n}\n"],"version":3}
@@ -5,12 +5,12 @@ import { S as Store } from './p-33300e3a.js';
5
5
  import { d as defineCustomElement$9 } from './p-f5ccf125.js';
6
6
  import { d as defineCustomElement$8 } from './p-96774726.js';
7
7
  import { d as defineCustomElement$7 } from './p-39480096.js';
8
- import { d as defineCustomElement$6 } from './p-54e4bcee.js';
9
- import { d as defineCustomElement$5 } from './p-f7dc9e74.js';
10
- import { d as defineCustomElement$4 } from './p-ca16a8ac.js';
11
- import { d as defineCustomElement$3 } from './p-8af753b4.js';
12
- import { d as defineCustomElement$2 } from './p-4dbb9783.js';
13
- import { d as defineCustomElement$1 } from './p-08ddf0b4.js';
8
+ import { d as defineCustomElement$6 } from './p-d5eae4db.js';
9
+ import { d as defineCustomElement$5 } from './p-7f6c97d5.js';
10
+ import { d as defineCustomElement$4 } from './p-acb41a2e.js';
11
+ import { d as defineCustomElement$3 } from './p-497ceba2.js';
12
+ import { d as defineCustomElement$2 } from './p-c696e5d7.js';
13
+ import { d as defineCustomElement$1 } from './p-a5c69199.js';
14
14
 
15
15
  const verdocsFieldRadioCss = "@-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-radio{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;width:14px;height:14px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100%}verdocs-field-radio.focused{-webkit-animation:verdocs-field-pulse 0.4s 1;animation:verdocs-field-pulse 0.4s 1}verdocs-field-radio svg{margin-top:4px}verdocs-field-radio.disabled.done{opacity:1}verdocs-field-radio div.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-radio div.group{top:14px;left:-1px;height:14px;color:white;padding:0 4px;font-size:9px;line-height:13px;position:absolute;background:#bb0589;border-bottom-left-radius:2px;border-bottom-right-radius:2px}verdocs-field-radio input{cursor:inherit}verdocs-field-radio.disabled input{opacity:0.5}verdocs-field-radio.done input[type=radio]{margin:0;padding:0;width:10px;height:10px}verdocs-field-radio:not(.done) input[type=radio]{position:absolute;opacity:0}verdocs-field-radio:not(.done) input[type=radio]+label:before{content:\"\";border-radius:100%;border:1px solid rgba(0, 0, 0, 0.6);display:inline-block;width:12px;height:12px;position:absolute;left:0;top:0;cursor:pointer;text-align:center;-webkit-transition:all 250ms ease;transition:all 250ms ease}verdocs-field-radio:not(.done) input[type=radio]:checked+label:before{background-color:#55bc81;-webkit-box-shadow:inset 0 0 0 2px #f5f5fa;box-shadow:inset 0 0 0 2px #f5f5fa}verdocs-field-radio:not(.done) input[type=radio]:focus+label:before{outline:none;border-color:#55bc81}verdocs-field-radio:not(.done) input[type=radio]:disabled+label:before{-webkit-box-shadow:inset 0 0 0 4px #f5f5fa;box-shadow:inset 0 0 0 4px #f5f5fa;border-color:#a0a0d0;background:#a0a0d0}verdocs-field-radio:not(.done) input[type=radio]+label:empty:before{margin-right:0}verdocs-field-radio.required{border:1px solid #cc0000}verdocs-field-radio.hide{display:none}verdocs-field-radio.focused{-webkit-animation:verdocs-field-pulse 0.4s 1;animation:verdocs-field-pulse 0.4s 1}verdocs-field-radio verdocs-button-panel{margin-left:-20px;margin-top:-7px;-webkit-transform:scale(0.7);transform:scale(0.7)}verdocs-field-radio .settings-icon{position:absolute;top:-6px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-radio .settings-icon svg{fill:#707ae5}verdocs-field-radio .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)}}";
16
16
  const VerdocsFieldRadioStyle0 = verdocsFieldRadioCss;
@@ -198,4 +198,4 @@ function defineCustomElement() {
198
198
 
199
199
  export { VerdocsFieldRadio as V, defineCustomElement as d };
200
200
 
201
- //# sourceMappingURL=p-9a24561a.js.map
201
+ //# sourceMappingURL=p-81e52989.js.map
@@ -1 +1 @@
1
- {"file":"p-9a24561a.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-radio/verdocs-field-radio.scss?tag=verdocs-field-radio","src/components/fields/verdocs-field-radio/verdocs-field-radio.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-field-radio {\n font-family: $verdocs-primary-font;\n width: 14px;\n height: 14px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n svg {\n margin-top: 4px;\n }\n\n &.disabled.done {\n opacity: 1;\n }\n\n // To avoid conflicting with the use of a label for the checkbox itself\n div.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 div.group {\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: #bb0589;\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\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\n &.disabled input {\n opacity: 0.5;\n }\n\n &.done input[type='radio'] {\n margin: 0;\n padding: 0;\n width: 10px;\n height: 10px;\n }\n\n &:not(.done) input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n //background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 12px;\n height: 12px;\n position: absolute;\n left: 0;\n top: 0;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: darken($verdocs-grey-3, 25%);\n background: darken($verdocs-grey-3, 25%);\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n border: 1px solid $verdocs-red-1;\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n margin-left: -20px;\n margin-top: -7px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -6px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nconst RadioIconUnselected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\nconst RadioIconSelected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\n/**\n * Displays a radio button.\n */\n@Component({\n tag: 'verdocs-field-radio',\n styleUrl: 'verdocs-field-radio.scss',\n shadow: false,\n})\nexport class VerdocsFieldRadio {\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 in Storybook mode.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, overrides the field's required object. Primarily used in Storybook mode.\n */\n @Prop({reflect: true}) required?: 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, 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 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 @State() showingProperties?: boolean = false;\n @State() focused = false;\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 @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {name, required = false, label = '', group = '', value = false} = field || {};\n const backgroundColor = getRGBA(index);\n\n const selected = value === 'true';\n\n if (done) {\n return (\n <Host class={{done}} style={{maxWidth: '10px'}}>\n <span innerHTML={selected ? RadioIconSelected : RadioIconUnselected} />\n </Host>\n );\n }\n\n return (\n <Host class={{required: this.required || required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <div class=\"label\">{label}</div>}\n {editable && group && <div class=\"group\">{group}</div>}\n\n <input id={fieldname} type=\"radio\" name={group || fieldname} value={name} checked={!!selected} disabled={disabled} required={required} />\n <label htmlFor={fieldname} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Radio buttons capture the recipient's selection of just one of several related (exclusive) options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-81e52989.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-radio/verdocs-field-radio.scss?tag=verdocs-field-radio","src/components/fields/verdocs-field-radio/verdocs-field-radio.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\n// See https://www.sliderrevolution.com/resources/styling-radio-buttons/\nverdocs-field-radio {\n font-family: $verdocs-primary-font;\n width: 14px;\n height: 14px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n border-radius: 100%;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n svg {\n margin-top: 4px;\n }\n\n &.disabled.done {\n opacity: 1;\n }\n\n // To avoid conflicting with the use of a label for the checkbox itself\n div.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 div.group {\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: #bb0589;\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\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\n &.disabled input {\n opacity: 0.5;\n }\n\n &.done input[type='radio'] {\n margin: 0;\n padding: 0;\n width: 10px;\n height: 10px;\n }\n\n &:not(.done) input[type='radio'] {\n position: absolute;\n opacity: 0;\n\n + label {\n &:before {\n content: '';\n //background: $verdocs-grey-3;\n border-radius: 100%;\n border: 1px solid rgba(0, 0, 0, 0.6);\n display: inline-block;\n width: 12px;\n height: 12px;\n position: absolute;\n left: 0;\n top: 0;\n cursor: pointer;\n text-align: center;\n transition: all 250ms ease;\n }\n }\n\n &:checked {\n + label {\n &:before {\n background-color: $verdocs-green;\n box-shadow: inset 0 0 0 2px $verdocs-grey-3;\n }\n }\n }\n\n &:focus {\n + label {\n &:before {\n outline: none;\n border-color: $verdocs-green;\n }\n }\n }\n\n &:disabled {\n + label {\n &:before {\n box-shadow: inset 0 0 0 4px $verdocs-grey-3;\n border-color: darken($verdocs-grey-3, 25%);\n background: darken($verdocs-grey-3, 25%);\n }\n }\n }\n\n + label {\n &:empty {\n &:before {\n margin-right: 0;\n }\n }\n }\n }\n\n &.required {\n border: 1px solid $verdocs-red-1;\n }\n\n &.hide {\n display: none;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n margin-left: -20px;\n margin-top: -7px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -6px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, Event, EventEmitter, h, Host, Method, Prop, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nconst RadioIconUnselected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\nconst RadioIconSelected = `<svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"></path></svg>`;\n\n/**\n * Displays a radio button.\n */\n@Component({\n tag: 'verdocs-field-radio',\n styleUrl: 'verdocs-field-radio.scss',\n shadow: false,\n})\nexport class VerdocsFieldRadio {\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 in Storybook mode.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, overrides the field's required object. Primarily used in Storybook mode.\n */\n @Prop({reflect: true}) required?: 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, 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 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 @State() showingProperties?: boolean = false;\n @State() focused = false;\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 @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {name, required = false, label = '', group = '', value = false} = field || {};\n const backgroundColor = getRGBA(index);\n\n const selected = value === 'true';\n\n if (done) {\n return (\n <Host class={{done}} style={{maxWidth: '10px'}}>\n <span innerHTML={selected ? RadioIconSelected : RadioIconUnselected} />\n </Host>\n );\n }\n\n return (\n <Host class={{required: this.required || required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <div class=\"label\">{label}</div>}\n {editable && group && <div class=\"group\">{group}</div>}\n\n <input id={fieldname} type=\"radio\" name={group || fieldname} value={name} checked={!!selected} disabled={disabled} required={required} />\n <label htmlFor={fieldname} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Radio buttons capture the recipient's selection of just one of several related (exclusive) options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\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: '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) => {
110
+ return (h(Host, { key: 'cca4f6b0c00556a1662ee175292d59b249b17604', 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-0a102a9c.js.map
161
+ //# sourceMappingURL=p-83ecee53.js.map
@@ -1 +1 @@
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}
1
+ {"file":"p-83ecee53.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,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, d as Host } from './p-1f51246d.js';
2
2
  import { d as defineCustomElement$2 } from './p-f5ccf125.js';
3
- import { d as defineCustomElement$1 } from './p-081465e0.js';
3
+ import { d as defineCustomElement$1 } from './p-ed777fb7.js';
4
4
 
5
5
  const verdocsUploadDialogCss = "@-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-upload-dialog{position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Inter\", \"Barlow\", sans-serif}verdocs-upload-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-upload-dialog .background-overlay{top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;z-index:10000;position:fixed;-ms-flex-align:center;align-items:center;background:rgba(0, 0, 0, 0.4980392157);-ms-flex-pack:center;justify-content:center}verdocs-upload-dialog .upload-dialog-content{width:320px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;background:#ffffff;padding:16px;-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-upload-dialog .heading{display:-ms-flexbox;display:flex;font-size:20px;font-weight:500;-ms-flex-direction:row;flex-direction:row}verdocs-upload-dialog .buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-upload-dialog .buttons verdocs-button{margin-left:16px}verdocs-upload-dialog .current-label{margin:20px 0 5px 0}verdocs-upload-dialog .drop-target{opacity:1;width:100%;display:-ms-flexbox;display:flex;margin:20px 0;min-height:260px;padding:30px 15px;text-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;background-color:#f5f5f5;color:#33364b;border:2px dashed #979797}verdocs-upload-dialog .drop-target p{margin:12px 0;font-weight:500}verdocs-upload-dialog .drop-target p.subscript{margin:20px;color:#5c6575;font-size:14px}verdocs-upload-dialog .drop-target.dragging-over{border:5px solid #4c56cb}verdocs-upload-dialog .drop-target>verdocs-button{margin:12px 0;display:inline-block}verdocs-upload-dialog .attachments{height:56px;font-size:0;margin:20px 0;padding:0 16px;line-height:56px;white-space:normal;-webkit-box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.14);box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.14)}verdocs-upload-dialog .attachments .attachment{gap:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-upload-dialog .attachments .attachment .icon{width:18px;height:18px;line-height:18px}verdocs-upload-dialog .attachments .attachment .icon.trash{cursor:pointer}verdocs-upload-dialog .attachments .attachment .name{-ms-flex:1;flex:1;font-size:14px;overflow:hidden;font-weight:400;white-space:nowrap;text-overflow:ellipsis}verdocs-upload-dialog .error{margin:20px 0;color:#cc0000}";
6
6
  const VerdocsUploadDialogStyle0 = verdocsUploadDialogCss;
@@ -81,7 +81,7 @@ const VerdocsUploadDialog = /*@__PURE__*/ proxyCustomElement(class VerdocsUpload
81
81
  render() {
82
82
  var _a;
83
83
  const existingFile = ((_a = this.existingFile) === null || _a === void 0 ? void 0 : _a.name) ? this.existingFile : null;
84
- return (h(Host, { key: '5c58d237aa0b9767724b819ebe12dfd959043cf6' }, h("div", { key: '51182662086e2a03a8de959832cd4ccbcf7cdc9a', class: "background-overlay", onClick: e => this.handleDismiss(e) }, h("div", { key: 'bdcb311759a93b8480a6aa765f0691a9d989a533', class: "upload-dialog-content" }, h("div", { key: '2c55c393d1bca6265b9248ec69be3a7f8c264764', class: "heading" }, "Upload attachment"), this.selectedFiles.length < 1 && existingFile && (h(Fragment, { key: 'd84ac8836f527b19988abebff20405ba761bb67c' }, h("div", { key: '13386e107e319e7c23e10042cd423c834c6d4fe0', class: "current-label" }, "Current Attachment"), h("div", { key: '9a249f27b71f2bb6b705a2eb60f88d54db51c63a', class: "attachments", style: { marginTop: '0' } }, h("div", { key: '33486bd63c804320bea7a2d664241fb1c396055a', class: "attachment" }, h("div", { key: '1f7f010de68abc0e8f29ee3768b13598e0261cc0', class: "icon", innerHTML: PaperclipIcon }), h("div", { key: '957dccfd827856b62109d27aba2bd42f1ad2d695', class: "name" }, existingFile.name), h("div", { key: '86cbef13368af45a397c3b0a6d49f71a4465a8ac', class: "icon trash", innerHTML: TrashIcon, onClick: () => (this.confirmDelete = true) }))))), this.selectedFiles.length < 1 && !existingFile && (h("div", { key: 'a1b32fef7628c54d163fb4b60d5807111735d769', class: { 'drop-target': true, 'dragging-over': this.draggingOver }, onDragOver: e => this.handleDragOver(e), onDragLeave: e => this.handleDragLeave(e), onDrop: e => this.handleDrop(e) }, h("p", { key: '8d8ecd592d7e8315078f2c0319e67464b9838530' }, "Drag and drop your files here"), h("p", { key: 'de7f672655587b7d3f2c86914f89089563c01b8b', class: "subscript" }, "Supported files: PDF, Word, JPG, PNG"), h("verdocs-button", { key: '03eebfdc500e840c77b2b113d1b2820fe8a678b6', label: !!existingFile ? 'Replace files' : 'Select files', onClick: () => this.handleSelectFile() }), h("input", { key: '1e8f8da72ce228f45b515c062ea0e25f1e1b70cf', type: "file", ref: el => (this.fileInput = el), style: { display: 'none' }, accept: ".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*", onChange: () => this.handleFileChange() }))), this.selectedFiles.length > 0 && (h("div", { key: '196f78245ab12c8f13300cbbf66df4d1a3226296', class: "attachments" }, this.selectedFiles.map((file, index) => (h("div", { class: "attachment" }, h("div", { class: "icon", innerHTML: PaperclipIcon }), h("div", { class: "name" }, file.name), h("div", { class: "icon trash", innerHTML: TrashIcon, onClick: () => this.handleRemoveAttachment(index) })))))), !!this.errorMessage && h("div", { key: '553b2c86f2b502a8d63e4abb856e3e2eb3112720', class: "error" }, this.errorMessage), h("div", { key: '25e7a81f406e7ff0d2f64f1cedaa24292d9f3d5f', class: "buttons" }, h("verdocs-button", { key: '350d1c821de9a51ed7ddc511b52925526c0844b1', label: "Cancel", variant: "outline", onClick: () => this.handleCancel() }), h("verdocs-button", { key: 'cc9e0d1277d60351e47a1c69b2cb1f3b0848ebac', label: "Upload", onClick: () => this.handleDone(), disabled: !!this.errorMessage || this.selectedFiles.length < 1 })))), this.confirmDelete && (h("verdocs-ok-dialog", { key: '8740bba0a7ebf6c33fa9821a02146c0ae7ab527d', heading: "Delete Attachment?", message: "Are you sure you wish to delete this attachment? This action cannot be undone.", showCancel: true, onExit: e => {
84
+ return (h(Host, { key: 'e6e1a42baf103bbd1fdae9c07852bc1aa2d514d5' }, h("div", { key: 'b24a3ffbe92a56063412fe11f1c5243a00be3fb0', class: "background-overlay", onClick: e => this.handleDismiss(e) }, h("div", { key: '90d6025db0f5f93c2548b553740029712aeda117', class: "upload-dialog-content" }, h("div", { key: '13d051a9d052f1c4138523e1851c3afeb46303a0', class: "heading" }, "Upload attachment"), this.selectedFiles.length < 1 && existingFile && (h(Fragment, { key: 'f53dba3582c57c1374e82bcec30aefe0b13e85f3' }, h("div", { key: '3f930c162d279d64fc0fd466062d37e23864c1a8', class: "current-label" }, "Current Attachment"), h("div", { key: '0297e7f95b47c6e8c3c4e5ee1a639b26e1c7e03e', class: "attachments", style: { marginTop: '0' } }, h("div", { key: 'b9a18c9b8bb45c83016600ef701c3bacc86c7e7a', class: "attachment" }, h("div", { key: '24a0a6e4f5b85da707c841761555eeb45ea8e916', class: "icon", innerHTML: PaperclipIcon }), h("div", { key: '45c8606686044d20c43d9a550c3d4cbeeea7faf1', class: "name" }, existingFile.name), h("div", { key: '5a4865afaef9fcf78db93d7ac0f2aaf994faf8b5', class: "icon trash", innerHTML: TrashIcon, onClick: () => (this.confirmDelete = true) }))))), this.selectedFiles.length < 1 && !existingFile && (h("div", { key: 'f26f9a060ac5ff9347ba5e08e54993d0df9c85e3', class: { 'drop-target': true, 'dragging-over': this.draggingOver }, onDragOver: e => this.handleDragOver(e), onDragLeave: e => this.handleDragLeave(e), onDrop: e => this.handleDrop(e) }, h("p", { key: '2e76cc1ac27270ce127a10a213ad985119059326' }, "Drag and drop your files here"), h("p", { key: 'f16a05f7687d67b957250cfc71b479bbb9877a6e', class: "subscript" }, "Supported files: PDF, Word, JPG, PNG"), h("verdocs-button", { key: 'e7703f5ed7b63160bd640b1e31c425daa45a4918', label: !!existingFile ? 'Replace files' : 'Select files', onClick: () => this.handleSelectFile() }), h("input", { key: '125cff5680d2468168f5daf33ebc7a5ef12d80e2', type: "file", ref: el => (this.fileInput = el), style: { display: 'none' }, accept: ".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*", onChange: () => this.handleFileChange() }))), this.selectedFiles.length > 0 && (h("div", { key: '2c13fa20d8b96d1617bd1e208c1cfdf04600a048', class: "attachments" }, this.selectedFiles.map((file, index) => (h("div", { class: "attachment" }, h("div", { class: "icon", innerHTML: PaperclipIcon }), h("div", { class: "name" }, file.name), h("div", { class: "icon trash", innerHTML: TrashIcon, onClick: () => this.handleRemoveAttachment(index) })))))), !!this.errorMessage && h("div", { key: '82354cf49b2f2ce5608a41c6985a8464be4e5528', class: "error" }, this.errorMessage), h("div", { key: '5e8c85421ef9d5ff4b6ee866d2736ec9cb2060d4', class: "buttons" }, h("verdocs-button", { key: '7def23ccd7e332d2a420f1dc5a444d19584eecf5', label: "Cancel", variant: "outline", onClick: () => this.handleCancel() }), h("verdocs-button", { key: 'a066cc906fab8e937b0b8b6ff88b3e79c5039b99', label: "Upload", onClick: () => this.handleDone(), disabled: !!this.errorMessage || this.selectedFiles.length < 1 })))), this.confirmDelete && (h("verdocs-ok-dialog", { key: '4b6cf67b6b927e9d567c8e434fea8bdf553e9d8f', heading: "Delete Attachment?", message: "Are you sure you wish to delete this attachment? This action cannot be undone.", showCancel: true, onExit: e => {
85
85
  // So we don't close the upload dialog
86
86
  e.preventDefault();
87
87
  e.stopPropagation();
@@ -123,4 +123,4 @@ function defineCustomElement() {
123
123
 
124
124
  export { VerdocsUploadDialog as V, defineCustomElement as d };
125
125
 
126
- //# sourceMappingURL=p-f776eeae.js.map
126
+ //# sourceMappingURL=p-8e44cb14.js.map
@@ -1 +1 @@
1
- {"file":"p-f776eeae.js","mappings":"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","names":[],"sources":["src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n }\n\n // Not simple .dialog to avoid conflicts with ok-dialog. Should review that more.\n .upload-dialog-content {\n width: 320px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .current-label {\n margin: 20px 0 5px 0;\n }\n\n .drop-target {\n opacity: 1;\n width: 100%;\n display: flex;\n margin: 20px 0;\n min-height: 260px;\n padding: 30px 15px;\n text-align: center;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n background-color: #f5f5f5;\n color: $verdocs-grey-1;\n border: 2px dashed #979797;\n\n p {\n margin: 12px 0;\n font-weight: 500;\n\n &.subscript {\n margin: 20px;\n color: $verdocs-bg-4;\n font-size: 14px;\n }\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 20%),\n 0 2px 2px 0 rgb(0 0 0 / 12%),\n 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n gap: 10px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n font-size: 14px;\n overflow: hidden;\n font-weight: 400;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n\n .error {\n margin: 20px 0;\n color: $verdocs-red-1;\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Host, State, Prop} from '@stencil/core';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>`;\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Display a file upload tool. Note that the file is not actually transmitted, so it may be used by\n * callers with a variety of workflows. Instead, data about the chosen file will be passed to the\n * caller via the onNext event handler. A delete event is also exposed to delete existing attachments.\n * To represent an existing attachment, set the existingFile property.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n @Prop({mutable: true})\n maxSize: number = 20 * 1024 * 1024;\n\n @Prop({mutable: true})\n existingFile: any;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the file selected.\n */\n @Event({composed: true}) next: EventEmitter<File[]>;\n\n /**\n * Event fired when an existing attachment is deleted. The parent component is\n * responsible for the actual removal.\n */\n @Event({composed: true}) remove: EventEmitter;\n\n @State() draggingOver = false;\n @State() confirmDelete = false;\n @State() selectedFiles = [] as File[];\n @State() errorMessage = '';\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.class === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.selectedFiles);\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n this.handleSetSelected(Array.from(e.dataTransfer.files));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.selectedFiles];\n newFiles.splice(index, 1);\n this.handleSetSelected(newFiles);\n }\n\n handleSetSelected(files: any[]) {\n this.selectedFiles = files;\n this.errorMessage = '';\n\n const totalSize = this.selectedFiles.reduce((acc, file) => acc + file.size, 0);\n if (totalSize > this.maxSize) {\n this.errorMessage = 'Total file size must not exceed 20MB.';\n }\n }\n\n handleDeleteAttachment(e: any) {\n // Stop the parent from seeing \"next\" and thinking an upload was done.\n // TODO: Rethink having so many commonalities in nested dialogs (next/exit).\n e.preventDefault();\n e.stopPropagation();\n\n this.remove?.emit();\n this.existingFile = null;\n this.confirmDelete = false;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange() {\n const selectedFiles = Array.from(this.fileInput?.files);\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n\n this.handleSetSelected(selectedFiles);\n }\n\n render() {\n const existingFile = this.existingFile?.name ? this.existingFile : null;\n\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"upload-dialog-content\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.selectedFiles.length < 1 && existingFile && (\n <Fragment>\n <div class=\"current-label\">Current Attachment</div>\n <div class=\"attachments\" style={{marginTop: '0'}}>\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{existingFile.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => (this.confirmDelete = true)} />\n </div>\n </div>\n </Fragment>\n )}\n\n {this.selectedFiles.length < 1 && !existingFile && (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop your files here</p>\n <p class=\"subscript\">Supported files: PDF, Word, JPG, PNG</p>\n\n <verdocs-button label={!!existingFile ? 'Replace files' : 'Select files'} onClick={() => this.handleSelectFile()} />\n <input\n type=\"file\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n style={{display: 'none'}}\n accept=\".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*\"\n onChange={() => this.handleFileChange()}\n />\n </div>\n )}\n\n {this.selectedFiles.length > 0 && (\n <div class=\"attachments\">\n {this.selectedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n {!!this.errorMessage && <div class=\"error\">{this.errorMessage}</div>}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Upload\" onClick={() => this.handleDone()} disabled={!!this.errorMessage || this.selectedFiles.length < 1} />\n </div>\n </div>\n </div>\n\n {this.confirmDelete && (\n <verdocs-ok-dialog\n heading=\"Delete Attachment?\"\n message=\"Are you sure you wish to delete this attachment? This action cannot be undone.\"\n showCancel={true}\n onExit={e => {\n // So we don't close the upload dialog\n e.preventDefault();\n e.stopPropagation();\n this.confirmDelete = false;\n }}\n onNext={e => this.handleDeleteAttachment(e)}\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-8e44cb14.js","mappings":"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","names":[],"sources":["src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.scss?tag=verdocs-upload-dialog","src/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-upload-dialog {\n position: fixed;\n box-sizing: border-box;\n font-family: $primary-font;\n\n div {\n box-sizing: border-box;\n }\n\n .background-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n align-items: center;\n background: #0000007f;\n justify-content: center;\n }\n\n // Not simple .dialog to avoid conflicts with ok-dialog. Should review that more.\n .upload-dialog-content {\n width: 320px;\n display: flex;\n flex-direction: column;\n border-radius: 4px;\n overflow: hidden;\n background: $verdocs-grey-4;\n padding: 16px;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n }\n\n .heading {\n display: flex;\n font-size: 20px;\n font-weight: 500;\n flex-direction: row;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: flex-end;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n .current-label {\n margin: 20px 0 5px 0;\n }\n\n .drop-target {\n opacity: 1;\n width: 100%;\n display: flex;\n margin: 20px 0;\n min-height: 260px;\n padding: 30px 15px;\n text-align: center;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n background-color: #f5f5f5;\n color: $verdocs-grey-1;\n border: 2px dashed #979797;\n\n p {\n margin: 12px 0;\n font-weight: 500;\n\n &.subscript {\n margin: 20px;\n color: $verdocs-bg-4;\n font-size: 14px;\n }\n }\n\n &.dragging-over {\n border: 5px solid $verdocs-deep-blue;\n }\n\n > verdocs-button {\n margin: 12px 0;\n display: inline-block;\n }\n }\n\n .attachments {\n height: 56px;\n font-size: 0;\n margin: 20px 0;\n padding: 0 16px;\n line-height: 56px;\n white-space: normal;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 20%),\n 0 2px 2px 0 rgb(0 0 0 / 12%),\n 0 0 2px 0 rgb(0 0 0 / 14%);\n\n .attachment {\n gap: 10px;\n display: flex;\n align-items: center;\n flex-direction: row;\n\n .icon {\n width: 18px;\n height: 18px;\n line-height: 18px;\n\n &.trash {\n cursor: pointer;\n }\n }\n\n .name {\n flex: 1;\n font-size: 14px;\n overflow: hidden;\n font-weight: 400;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n\n .error {\n margin: 20px 0;\n color: $verdocs-red-1;\n }\n}\n","import {Component, h, Event, EventEmitter, Fragment, Host, State, Prop} from '@stencil/core';\n\nconst TrashIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>`;\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\n/**\n * Display a file upload tool. Note that the file is not actually transmitted, so it may be used by\n * callers with a variety of workflows. Instead, data about the chosen file will be passed to the\n * caller via the onNext event handler. A delete event is also exposed to delete existing attachments.\n * To represent an existing attachment, set the existingFile property.\n */\n@Component({\n tag: 'verdocs-upload-dialog',\n styleUrl: 'verdocs-upload-dialog.scss',\n})\nexport class VerdocsUploadDialog {\n private fileInput?: HTMLInputElement;\n\n @Prop({mutable: true})\n maxSize: number = 20 * 1024 * 1024;\n\n @Prop({mutable: true})\n existingFile: any;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n /**\n * Event fired when the dialog is closed. The event data will contain the file selected.\n */\n @Event({composed: true}) next: EventEmitter<File[]>;\n\n /**\n * Event fired when an existing attachment is deleted. The parent component is\n * responsible for the actual removal.\n */\n @Event({composed: true}) remove: EventEmitter;\n\n @State() draggingOver = false;\n @State() confirmDelete = false;\n @State() selectedFiles = [] as File[];\n @State() errorMessage = '';\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n if (e.target.class === 'background-overlay') {\n e.preventDefault();\n this.handleCancel();\n }\n }\n\n handleDone() {\n this.next.emit(this.selectedFiles);\n }\n\n handleDragOver(e) {\n e.preventDefault();\n this.draggingOver = true;\n }\n\n handleDragLeave(e) {\n e.preventDefault();\n this.draggingOver = false;\n }\n\n async handleDrop(e) {\n e.preventDefault();\n this.draggingOver = false;\n this.handleSetSelected(Array.from(e.dataTransfer.files));\n }\n\n handleRemoveAttachment(index: number) {\n const newFiles = [...this.selectedFiles];\n newFiles.splice(index, 1);\n this.handleSetSelected(newFiles);\n }\n\n handleSetSelected(files: any[]) {\n this.selectedFiles = files;\n this.errorMessage = '';\n\n const totalSize = this.selectedFiles.reduce((acc, file) => acc + file.size, 0);\n if (totalSize > this.maxSize) {\n this.errorMessage = 'Total file size must not exceed 20MB.';\n }\n }\n\n handleDeleteAttachment(e: any) {\n // Stop the parent from seeing \"next\" and thinking an upload was done.\n // TODO: Rethink having so many commonalities in nested dialogs (next/exit).\n e.preventDefault();\n e.stopPropagation();\n\n this.remove?.emit();\n this.existingFile = null;\n this.confirmDelete = false;\n }\n\n handleSelectFile() {\n this.fileInput?.click();\n }\n\n async handleFileChange() {\n const selectedFiles = Array.from(this.fileInput?.files);\n let droppedFiles = [] as File[];\n for (let i = 0; i < this.fileInput?.files.length; i++) {\n droppedFiles.push(this.fileInput?.files[i]);\n }\n\n this.handleSetSelected(selectedFiles);\n }\n\n render() {\n const existingFile = this.existingFile?.name ? this.existingFile : null;\n\n return (\n <Host>\n <div class=\"background-overlay\" onClick={e => this.handleDismiss(e)}>\n <div class=\"upload-dialog-content\">\n <div class=\"heading\">Upload attachment</div>\n\n {this.selectedFiles.length < 1 && existingFile && (\n <Fragment>\n <div class=\"current-label\">Current Attachment</div>\n <div class=\"attachments\" style={{marginTop: '0'}}>\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{existingFile.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => (this.confirmDelete = true)} />\n </div>\n </div>\n </Fragment>\n )}\n\n {this.selectedFiles.length < 1 && !existingFile && (\n <div\n class={{'drop-target': true, 'dragging-over': this.draggingOver}}\n onDragOver={e => this.handleDragOver(e)}\n onDragLeave={e => this.handleDragLeave(e)}\n onDrop={e => this.handleDrop(e)}\n >\n <p>Drag and drop your files here</p>\n <p class=\"subscript\">Supported files: PDF, Word, JPG, PNG</p>\n\n <verdocs-button label={!!existingFile ? 'Replace files' : 'Select files'} onClick={() => this.handleSelectFile()} />\n <input\n type=\"file\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n style={{display: 'none'}}\n accept=\".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/*\"\n onChange={() => this.handleFileChange()}\n />\n </div>\n )}\n\n {this.selectedFiles.length > 0 && (\n <div class=\"attachments\">\n {this.selectedFiles.map((file, index) => (\n <div class=\"attachment\">\n <div class=\"icon\" innerHTML={PaperclipIcon} />\n <div class=\"name\">{file.name}</div>\n <div class=\"icon trash\" innerHTML={TrashIcon} onClick={() => this.handleRemoveAttachment(index)} />\n </div>\n ))}\n </div>\n )}\n\n {!!this.errorMessage && <div class=\"error\">{this.errorMessage}</div>}\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" onClick={() => this.handleCancel()} />\n <verdocs-button label=\"Upload\" onClick={() => this.handleDone()} disabled={!!this.errorMessage || this.selectedFiles.length < 1} />\n </div>\n </div>\n </div>\n\n {this.confirmDelete && (\n <verdocs-ok-dialog\n heading=\"Delete Attachment?\"\n message=\"Are you sure you wish to delete this attachment? This action cannot be undone.\"\n showCancel={true}\n onExit={e => {\n // So we don't close the upload dialog\n e.preventDefault();\n e.stopPropagation();\n this.confirmDelete = false;\n }}\n onNext={e => this.handleDeleteAttachment(e)}\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -6,12 +6,12 @@ import { S as Store } from './p-33300e3a.js';
6
6
  import { d as defineCustomElement$9 } from './p-f5ccf125.js';
7
7
  import { d as defineCustomElement$8 } from './p-96774726.js';
8
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';
9
+ import { d as defineCustomElement$6 } from './p-d5eae4db.js';
10
+ import { d as defineCustomElement$5 } from './p-7f6c97d5.js';
11
+ import { d as defineCustomElement$4 } from './p-acb41a2e.js';
12
+ import { d as defineCustomElement$3 } from './p-497ceba2.js';
13
+ import { d as defineCustomElement$2 } from './p-c696e5d7.js';
14
+ import { d as defineCustomElement$1 } from './p-a5c69199.js';
15
15
 
16
16
  const verdocsFieldTextareaCss = "@-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-textarea{width:150px;height:15px;display:block;font-size:11px;position:relative;scroll-margin:20px 0;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textarea 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-textarea textarea.hide{display:none}verdocs-field-textarea.disabled textarea{opacity:0.5}verdocs-field-textarea 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-textarea.required{border:1px solid rgb(204, 0, 0)}verdocs-field-textarea.focused{-webkit-animation:verdocs-field-pulse 0.4s 1;animation:verdocs-field-pulse 0.4s 1}verdocs-field-textarea 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-textarea verdocs-button-panel[data-active],verdocs-field-textarea verdocs-button-panel:hover{opacity:1}verdocs-field-textarea verdocs-button-panel .icon svg{fill:#333333}verdocs-field-textarea verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-textarea .settings-icon{position:absolute;top:-3px;left:-20px;display:inline-block;cursor:pointer;opacity:0.3}verdocs-field-textarea .settings-icon svg{fill:#707ae5}verdocs-field-textarea .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 VerdocsFieldTextareaStyle0 = verdocsFieldTextareaCss;
@@ -244,4 +244,4 @@ function defineCustomElement() {
244
244
 
245
245
  export { VerdocsFieldTextarea as V, defineCustomElement as d };
246
246
 
247
- //# sourceMappingURL=p-4ab3413a.js.map
247
+ //# sourceMappingURL=p-9c650a78.js.map
@@ -1 +1 @@
1
- {"file":"p-4ab3413a.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/fields/verdocs-field-textarea/verdocs-field-textarea.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textarea {\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n box-sizing: border-box;\n background-color: transparent;\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\n border: 1px solid rgba(0, 0, 0, 0.2);\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 .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {IEnvelopeField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {ITemplateField, updateField, getRGBA} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, Element, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a multi-line text input field. Reminder: the \"position\" of the field is specified\n * as the BOTTOM-LEFT corner.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n @Element() el: HTMLElement;\n private inputEl: HTMLTextAreaElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n * This component self-manages its resize (width) behavior when in edit-template mode, and uses\n * this endpoint to save changes.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\n }\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\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n @State() focused?: boolean = false;\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {top: true, bottom: true, left: true, right: true},\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 {x = 0, y = 0, h = 0} = e.target.dataset;\n let {width, height} = e.rect;\n\n x = (parseFloat(x) || 0) + e.deltaRect.left;\n y = (parseFloat(y) || 0) + e.deltaRect.top;\n h = (parseFloat(h) || 0) + e.deltaRect.height;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n transform: `translate(${x}px, ${y + h}px)`,\n });\n\n Object.assign(e.target.dataset, {x, y, h});\n }\n\n handleResizeEnd(e: any) {\n const {source, sourceid, fieldname} = this;\n const {field} = Store.getField(source, sourceid, fieldname, this.field);\n if (!field) {\n return;\n }\n\n const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);\n\n const width = Math.round(parseFloat(e.target.style.width) / this.xscale);\n const height = Math.round(parseFloat(e.target.style.height) / this.yscale);\n const x = Math.round(field.x + translateX / this.xscale);\n const y = Math.round(field.y - translateY / this.yscale);\n\n updateField(this.endpoint, this.sourceid, this.fieldname, {x, y, width, height})\n .then(field => {\n this.settingsChanged?.emit({fieldName: this.fieldname, field});\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\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, placeholder = '', value = '', label = ''} = field || {};\n const backgroundColor = getRGBA(index);\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 {label && <label>{label}</label>}\n\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 {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Text areas may be used to create multi-line text fields.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-9c650a78.js","mappings":"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","names":[],"sources":["src/components/fields/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/fields/verdocs-field-textarea/verdocs-field-textarea.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-field-textarea {\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n box-sizing: border-box;\n background-color: transparent;\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\n border: 1px solid rgba(0, 0, 0, 0.2);\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 .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {IEnvelopeField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {ITemplateField, updateField, getRGBA} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, Element, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a multi-line text input field. Reminder: the \"position\" of the field is specified\n * as the BOTTOM-LEFT corner.\n */\n@Component({\n tag: 'verdocs-field-textarea',\n styleUrl: 'verdocs-field-textarea.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextarea {\n @Element() el: HTMLElement;\n private inputEl: HTMLTextAreaElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n * This component self-manages its resize (width) behavior when in edit-template mode, and uses\n * this endpoint to save changes.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\n }\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\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n @State() focused?: boolean = false;\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {top: true, bottom: true, left: true, right: true},\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 {x = 0, y = 0, h = 0} = e.target.dataset;\n let {width, height} = e.rect;\n\n x = (parseFloat(x) || 0) + e.deltaRect.left;\n y = (parseFloat(y) || 0) + e.deltaRect.top;\n h = (parseFloat(h) || 0) + e.deltaRect.height;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n transform: `translate(${x}px, ${y + h}px)`,\n });\n\n Object.assign(e.target.dataset, {x, y, h});\n }\n\n handleResizeEnd(e: any) {\n const {source, sourceid, fieldname} = this;\n const {field} = Store.getField(source, sourceid, fieldname, this.field);\n if (!field) {\n return;\n }\n\n const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);\n\n const width = Math.round(parseFloat(e.target.style.width) / this.xscale);\n const height = Math.round(parseFloat(e.target.style.height) / this.yscale);\n const x = Math.round(field.x + translateX / this.xscale);\n const y = Math.round(field.y - translateY / this.yscale);\n\n updateField(this.endpoint, this.sourceid, this.fieldname, {x, y, width, height})\n .then(field => {\n this.settingsChanged?.emit({fieldName: this.fieldname, field});\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\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, placeholder = '', value = '', label = ''} = field || {};\n const backgroundColor = getRGBA(index);\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 {label && <label>{label}</label>}\n\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 {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Text areas may be used to create multi-line text fields.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\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-54e4bcee.js';
3
+ import { d as defineCustomElement$1 } from './p-d5eae4db.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: '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,
69
+ return (h(Host, { key: 'ee763adb876647c827c2b14d9cbd38f0ce572863', class: `input-field ${this.clearable ? 'clearable' : ''} ${this.copyable ? 'copyable' : ''}` }, h("label", { key: 'a99576f4d9b70e5bfa828b8a7d644a283bae649f' }, this.label && (h("div", { key: '58a9cf77e5f90b2d464ad536aa39aac587a187ca', class: "input-label" }, this.label + ':', this.required && h("span", { key: 'dfcc8adfc0a3d03b405b672ace6be96ad1843d71', class: "required" }, "*"))), h("div", { key: '0ea91268274cddcccba835138236827729606cd4', class: "input-container" }, h("input", { key: '41d7f45f825e81e8d3c7a8d6c17ee1e770246abc', 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: '7d55c8905c81a61ab6c48d6b39725a6b499bd242', 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: '96ce074a6277ee5b7bb3c444c8a03c213221c8e3', 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: '8c74a87e13cdc4f815491ff6d3d3140bf4f38803', innerHTML: this.showingPw ? EyeIcon : EyeSlashIcon, class: "toggle-pw", onClick: () => {
85
+ } })), this.type === 'password' && (h("span", { key: '11367904c1e1de0ee31600ecfc0103c75df9e980', 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: 'bb9efc264d835bf0c9add53200dc985fbca94fb8', innerHTML: CopyIcon, class: "copy", onClick: () => this.copyToClipboard() })), this.helpText && h("verdocs-help-icon", { key: 'dc05d331f3a5997d79f501972e03d831847f4cd7', text: this.helpText }))));
87
+ } })), !this.clearable && this.copyable && this.value && h("span", { key: '5efb4dae407e58647d913a455fb41426c1bba154', innerHTML: CopyIcon, class: "copy", onClick: () => this.copyToClipboard() })), this.helpText && h("verdocs-help-icon", { key: 'ea873a050337d77f81942b351a70a0aaa49c3cf8', 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-08ddf0b4.js.map
125
+ //# sourceMappingURL=p-a5c69199.js.map
@@ -1 +1 @@
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}
1
+ {"file":"p-a5c69199.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}