@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
@@ -1 +0,0 @@
1
- {"version":3,"names":["verdocsFieldAttachmentCss","VerdocsFieldAttachmentStyle0","PaperclipIcon","AttachedIcon","VerdocsFieldAttachment","constructor","hostRef","this","endpoint","VerdocsEndpoint","getDefault","source","sourceid","fieldname","field","disabled","editable","moveable","done","xscale","yscale","pagenumber","showingProperties","dialogOpen","selectedFile","focused","handleUploadNext","e","console","log","detail","_a","attached","emit","handleUploadRemove","preventDefault","stopPropagation","deleted","fieldName","focusField","setTimeout","showSettingsPanel","settingsPanel","document","getElementById","showPanel","hideSettingsPanel","hidePanel","handleShow","render","index","Store","getField","required","value","label","settings","backgroundColor","getRGBA","hasFile","h","Host","class","innerHTML","style","onClick","Fragment","id","transform","Math","floor","SettingsIcon","anchor","onClickAway","templateId","onClose","onDelete","onSettingsChanged","settingsChanged","helpText","existingFile","onNext","onRemove","onExit","verdocsFieldCheckboxCss","VerdocsFieldCheckboxStyle0","VerdocsFieldCheckbox","checked","htmlFor","name","type","t","module","exports","d","i","s","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","default","R","days","months","years","day","month","year","eventChangeViewDate","eventChangeCurrentView","eventChangeFocusDate","eventChangeSelectedDate","eventChangeTime","eventChangeLastSelectedDate","actionSelectDate","actionUnselectDate","cssClassWeekend","classes","inline","locale","daysShort","daysMin","monthsShort","today","clear","dateFormat","timeFormat","firstDay","startDate","Date","weekends","altField","altFieldDateFormat","toggleSelected","keyboardNav","selectedDates","container","isMobile","visible","position","offset","view","minView","showOtherMonths","selectOtherMonths","moveToOtherMonthsOnSelect","showOtherYears","selectOtherYears","moveToOtherYearsOnSelect","minDate","maxDate","disableNavWhenOutOfRange","multipleDates","multipleDatesSeparator","range","dynamicRange","buttons","monthsField","showEvent","autoClose","fixedHeight","prevHtml","nextHtml","navTitles","timepicker","onlyTimepicker","dateTimeSeparator","minHours","maxHours","minMinutes","maxMinutes","hoursStep","minutesStep","onSelect","onChangeViewDate","onChangeView","onRenderCell","onShow","onHide","onClickDayName","a","arguments","length","querySelector","n","tagName","className","innerHtml","attrs","createElement","classList","add","split","r","entries","setAttribute","getFullYear","getMonth","getDate","getHours","hours","dayPeriod","l","fullMonth","date","fullDate","getDay","fullHours","hours12","fullHours12","minutes","getMinutes","fullMinutes","c","u","Array","forEach","push","join","p","m","g","getTime","v","setHours","D","addEventListener","y","DocumentFragment","matches","parentNode","f","w","filter","toString","isArray","b","test","isNaN","k","RegExp","$","Symbol","toPrimitive","TypeError","String","configurable","writable","C","dp","opts","body","$cell","remove","selected","isDisabled","_handleSelectedStatus","_handleRangeStatus","removeFocus","focus","_getHtml","_handleClasses","singleType","slice","customData","init","cellType","datepicker","_createElement","_bindDatepickerEvents","disableDate","on","onChangeSelectedDate","onChangeFocusDate","unbindDatepickerEvents","off","adpCell","_getClassName","isDateDisabled","_isOutOfMinMaxRange","isWeekend","isOtherMonth","isOtherDecade","html","destroy","focusDate","rangeDateTo","rangeDateFrom","_checkIfDateIsSelected","select","removeSelect","_handleInitialFocusStatus","hasSelectedDates","_","M","S","T","target","closest","isMinViewReached","down","_handleAlreadySelectedDates","selectDate","getAttribute","dayIndex","Number","hide","show","setFocusDate","handleClick","handleDayNameClick","pressed","rangeFromFocused","rangeToFocused","setMinutes","replaceDate","isVisible","currentView","destroyCells","_generateCells","cells","$cells","appendChild","$el","_buildBaseHtml","renderDayNames","_bindEvents","onMouseOverCell","onMouseOutCell","onClickBody","onMouseDown","onMouseMove","window","onMouseUp","onChangeCurrentView","$names","_getDayNamesHtml","_generateCell","getDatesFunction","getDaysDates","viewDate","getMonthsDates","parsedViewDate","getYearsDates","F","V","dataset","action","_resetNavStatus","handleNavStatus","isFinalView","up","$prev","$next","$title","_getTitle","_defineDOM","onClickNav","onClickNavTitle","isNavIsFunction","renderDelay","formatDate","_disableNav","querySelectorAll","keys","find","x","content","setViewDate","H","removeChild","clearHtml","generateButtons","createButton","attachEventToButton","E","L","timepickerIsActive","updateTime","setMinMaxTime","setCurrentTime","addTimeToDate","setTime","updateText","trigger","$minutesText","$hoursText","toggle","toggleTimepickerIsActive","match","ampm","lastSelectedDate","buildHtml","defineDOM","bindDatepickerEvents","bindDOMEvents","onChangeLastSelectedDate","navigator","userAgent","$ranges","onChangeInputRange","onMouseEnterLeave","onFocus","onBlur","displayHours","$hours","$minutes","$ampm","setMinMaxTimeFromOptions","setMinTimeFromMinDate","setMaxTimeFromMaxDate","updateSliders","min","max","_hours","O","A","Set","Map","hotKeys","getInitialFocusDate","getClampedDate","viewDateTransition","pressedKeys","size","has","every","key","which","registerKey","isHotKeyPressed","handleHotKey","isArrow","focusNextCell","removeKey","bindKeyboardEvents","onKeyDown","onKeyUp","removeEventListener","delete","N","__events","removeAllEvents","I","P","j","B","buildGlobalContainer","hideAnimation","_destroyComponents","$container","$datepicker","customHide","$target","$pointer","isViewChange","_finishHide","getBoundingClientRect","offsetParent","scrollY","scrollX","cssText","top","offsetTop","left","offsetLeft","width","height","offsetHeight","$altField","_getInputValue","map","some","_cancelScheduledCall","_onTransitionEnd","once","decade","curDecade","viewIndexes","includes","elIsInput","setPosition","views","shouldUpdateDOM","$content","silent","isDestroyed","_onFocus","_onBlur","_onResize","_removeMobileAttributes","nav","$customContainer","treatAsInline","_createMinMaxDates","_limitViewDateByMaxMinDates","_handleLocale","setCurrentView","_setInputValue","$timepicker","_addTimepicker","_addButtons","$buttons","_createMobileOverlay","_addMobileAttributes","_showMobileOverlay","update","disabledDates","getCell","currentViewSingular","_triggerOnSelect","isOtherYear","inFocus","nodeName","inited","initialReadonly","contains","defaultGlobalContainerId","_bindSubEvents","_createComponents","_setPositionClasses","$nav","_onClickOverlay","removeAttribute","_onChangeSelectedDate","_onChangeFocusedDate","_onChangeTime","insertBefore","nextSibling","JSON","parse","stringify","_onMouseDown","_onMouseUp","replacer","mm","hh","HH","aa","AA","toUpperCase","EEEE","dd","MM","MMM","MMMM","yy","yyyy","yyyy1","yyyy2","_handleUpDownActions","onBeforeSelect","Promise","resolve","_updateLastSelectedDate","unselectDate","splice","indexOf","_scheduleCallAfterTransition","_hasTransition","blur","formattedDate","Boolean","viewIndex","getComputedStyle","getPropertyValue","reduce","parseFloat","replace","K","assign","en","default_1","_default","verdocsFieldDateCss","VerdocsFieldDateStyle0","VerdocsFieldDate","containerId","random","substring","picker","componentDidLoad","AirDatepicker","localeEn","event","CustomEvent","hostEl","dispatchEvent","placeholder","formattedValue","format","FORMAT_DATE","verdocsFieldDropdownCss","VerdocsFieldDropdownStyle0","VerdocsFieldDropdown","selectEl","showPicker","handleChange","fieldChange","options","onChange","ref","el","option","verdocsFieldInitialCss","VerdocsFieldInitialStyle0","VerdocsFieldInitial","initials","tempInitials","hideDialog","dialog","handleAdopt","append","base64","src","alt","verdocsFieldRadioCss","VerdocsFieldRadioStyle0","RadioIconUnselected","RadioIconSelected","VerdocsFieldRadio","group","maxWidth","verdocsFieldSignatureCss","VerdocsFieldSignatureStyle0","VerdocsFieldSignature","tempSignature","verdocsFieldTextareaCss","VerdocsFieldTextareaStyle0","VerdocsFieldTextarea","inputEl","componentDidRender","interact","dynamicDrop","resizable","edges","bottom","right","listeners","start","handleResizeStart","bind","move","handleResize","end","handleResizeEnd","rect","deltaRect","translateX","translateY","round","updateField","then","catch","verdocsFieldTextboxCss","VerdocsFieldTextboxStyle0","VerdocsFieldTextbox","multiline","modifiers","restrictSize","dX","dY","currentLeft","currentBottom","async","updatedField","template","getTemplate","newTemplate","fieldIndex","fields","findIndex","updateTemplate","maxlength","verdocsFieldTimestampCss","VerdocsFieldTimestampStyle0","VerdocsFieldTimestamp","formatted","toISOString","FORMAT_TIMESTAMP","verdocsInitialDialogCss","VerdocsInitialDialogStyle0","VerdocsInitialDialog","fontLoaded","enteredInitials","mode","componentWillLoad","ds","FontFace","load","font","fonts","redrawSignature","componentDidUpdate","canvasElement","canvasWidth","context","getContext","clearRect","fontSize","measureText","textAlign","textBaseline","fillText","handleNameChange","handleCancel","exit","data","toDataURL","next","onInput","display","variant","verdocsSignatureDialogCss","VerdocsSignatureDialogStyle0","VerdocsSignatureDialog","enteredName","verdocsUploadDialogCss","VerdocsUploadDialogStyle0","TrashIcon","VerdocsUploadDialog","maxSize","draggingOver","confirmDelete","selectedFiles","errorMessage","handleDismiss","handleDone","handleDragOver","handleDragLeave","handleDrop","handleSetSelected","from","dataTransfer","files","handleRemoveAttachment","newFiles","totalSize","acc","file","handleDeleteAttachment","handleSelectFile","fileInput","click","handleFileChange","marginTop","onDragOver","onDragLeave","onDrop","accept","heading","message","showCancel"],"sources":["src/components/fields/verdocs-field-attachment/verdocs-field-attachment.scss?tag=verdocs-field-attachment","src/components/fields/verdocs-field-attachment/verdocs-field-attachment.tsx","src/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.scss?tag=verdocs-field-checkbox","src/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.tsx","node_modules/air-datepicker/air-datepicker.js","node_modules/air-datepicker/locale/en.js","src/components/fields/verdocs-field-date/verdocs-field-date.scss?tag=verdocs-field-date","src/components/fields/verdocs-field-date/verdocs-field-date.tsx","src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.scss?tag=verdocs-field-dropdown","src/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.tsx","src/components/fields/verdocs-field-initial/verdocs-field-initial.scss?tag=verdocs-field-initial","src/components/fields/verdocs-field-initial/verdocs-field-initial.tsx","src/components/fields/verdocs-field-radio/verdocs-field-radio.scss?tag=verdocs-field-radio","src/components/fields/verdocs-field-radio/verdocs-field-radio.tsx","src/components/fields/verdocs-field-signature/verdocs-field-signature.scss?tag=verdocs-field-signature","src/components/fields/verdocs-field-signature/verdocs-field-signature.tsx","src/components/fields/verdocs-field-textarea/verdocs-field-textarea.scss?tag=verdocs-field-textarea","src/components/fields/verdocs-field-textarea/verdocs-field-textarea.tsx","src/components/fields/verdocs-field-textbox/verdocs-field-textbox.scss?tag=verdocs-field-textbox","src/components/fields/verdocs-field-textbox/verdocs-field-textbox.tsx","src/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.scss?tag=verdocs-field-timestamp","src/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.tsx","src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.scss?tag=verdocs-initial-dialog","src/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.tsx","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.scss?tag=verdocs-signature-dialog","src/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.tsx","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-field-attachment {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &.disabled svg {\n opacity: 0.5;\n\n span {\n cursor: inherit;\n }\n }\n\n .attach {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &.required {\n .attach {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n verdocs-button-panel {\n top: 1px;\n left: -19px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n .settings-icon {\n position: absolute;\n top: -3px;\n left: -20px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import {ITemplateField, getRGBA, VerdocsEndpoint, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, State, Fragment, Element} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\nexport interface ISelectedFile {\n lastModified: number;\n size: number;\n type: string;\n name: string;\n data: string;\n}\n\nconst PaperclipIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>`;\n\nconst AttachedIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#339933\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-check\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"/><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"/><path d=\"m9 15 2 2 4-4\"/></svg>`;\n\n/**\n * Displays an attachment field.\n */\n@Component({\n tag: 'verdocs-field-attachment',\n styleUrl: 'verdocs-field-attachment.scss',\n shadow: false,\n})\nexport class VerdocsFieldAttachment {\n @Element() el: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n * This component self-manages its resize (width) behavior when in edit-template mode, and uses\n * this endpoint to save changes.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when a file is attached by the signer.\n */\n @Event({composed: true}) attached: EventEmitter<ISelectedFile>;\n\n /**\n * Event fired when the field is deleted. Note that this is for the FIELD (e.g. in\n * Build) not for any attachments (during signing).\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() dialogOpen?: boolean = false;\n @State() selectedFile?: ISelectedFile | null = null;\n @State() focused = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n this.dialogOpen = true;\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n }\n\n handleShow() {\n this.dialogOpen = true;\n }\n\n handleUploadNext = (e: any) => {\n console.log('Upload next', e);\n this.dialogOpen = false;\n this.selectedFile = e.detail[0];\n this.attached?.emit(e.detail[0]);\n };\n\n handleUploadRemove = (e: any) => {\n e.preventDefault();\n e.stopPropagation();\n this.dialogOpen = false;\n this.selectedFile = null;\n this.deleted?.emit({fieldName: this.fieldname});\n };\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const backgroundColor = getRGBA(index);\n\n const hasFile = value || !!this.selectedFile;\n\n if (done) {\n return (\n <Host class={{done}}>\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} />\n </Host>\n );\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n <div class=\"attach\" innerHTML={hasFile ? AttachedIcon : PaperclipIcon} onClick={() => !disabled && this.handleShow()} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => (this.showingProperties = false)}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Attachments allow the user to attach their own documents (e.g. resumes or disclosures) to a signing flow.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n\n {this.dialogOpen && (\n <verdocs-portal>\n <verdocs-upload-dialog\n existingFile={settings}\n onNext={e => this.handleUploadNext(e)}\n onRemove={e => this.handleUploadRemove(e)}\n onExit={() => (this.dialogOpen = false)}\n />\n </verdocs-portal>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\n// See https://www.kallmanation.com/styling-a-checkbox-with-only-css\nverdocs-field-checkbox {\n padding: 0;\n width: 16px;\n height: 16px;\n display: block;\n scroll-margin: 20px 0;\n box-sizing: border-box;\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\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 label {\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: 14px;\n height: 14px;\n display: block;\n box-sizing: border-box;\n }\n\n &.disabled label {\n opacity: 0.5;\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label > input[type='checkbox'] {\n display: none;\n }\n\n label > input[type='checkbox'] + *::before {\n margin: 0;\n content: '';\n width: 12px;\n height: 12px;\n display: block;\n line-height: 12px;\n border-radius: 2px;\n box-sizing: border-box;\n border: 1px solid $verdocs-grey-2;\n }\n\n label > input[type='checkbox']:checked + * {\n color: $verdocs-green;\n }\n\n label > input[type='checkbox']:checked + *::before {\n content: '✓';\n color: white;\n font-size: 12px;\n text-align: center;\n background: $verdocs-green;\n border-color: $verdocs-green;\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 display: block;\n margin-left: -20px;\n margin-top: -17px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -5px;\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, Fragment, h, Host, Method, Prop, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a checkbox.\n */\n@Component({\n tag: 'verdocs-field-checkbox',\n styleUrl: 'verdocs-field-checkbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldCheckbox {\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, 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 /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method()\n async focusField() {\n // We don't have a visible input that we can actually focus on, so we fake it\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 {required = false, label = '', value = false} = field || {};\n const backgroundColor = getRGBA(index);\n\n const checked = value === 'true';\n\n if (done) {\n return <Host class={{done}}>{checked ? '✓' : '☐'}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <div class=\"label\">{label}</div>}\n\n <label htmlFor={fieldname}>\n <input id={fieldname} name={fieldname} type=\"checkbox\" checked={checked} disabled={disabled} required={required} />\n <span />\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-${field.name}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={field.name}\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={'Check boxes allow the user to select one or more (non-exclusive) options.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </label>\n </Host>\n );\n }\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.AirDatepicker=t():e.AirDatepicker=t()}(this,(function(){return function(){\"use strict\";var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return R}});var i={days:\"days\",months:\"months\",years:\"years\",day:\"day\",month:\"month\",year:\"year\",eventChangeViewDate:\"changeViewDate\",eventChangeCurrentView:\"changeCurrentView\",eventChangeFocusDate:\"changeFocusDate\",eventChangeSelectedDate:\"changeSelectedDate\",eventChangeTime:\"changeTime\",eventChangeLastSelectedDate:\"changeLastSelectedDate\",actionSelectDate:\"selectDate\",actionUnselectDate:\"unselectDate\",cssClassWeekend:\"-weekend-\"},s={classes:\"\",inline:!1,locale:{days:[\"Воскресенье\",\"Понедельник\",\"Вторник\",\"Среда\",\"Четверг\",\"Пятница\",\"Суббота\"],daysShort:[\"Вос\",\"Пон\",\"Вто\",\"Сре\",\"Чет\",\"Пят\",\"Суб\"],daysMin:[\"Вс\",\"Пн\",\"Вт\",\"Ср\",\"Чт\",\"Пт\",\"Сб\"],months:[\"Январь\",\"Февраль\",\"Март\",\"Апрель\",\"Май\",\"Июнь\",\"Июль\",\"Август\",\"Сентябрь\",\"Октябрь\",\"Ноябрь\",\"Декабрь\"],monthsShort:[\"Янв\",\"Фев\",\"Мар\",\"Апр\",\"Май\",\"Июн\",\"Июл\",\"Авг\",\"Сен\",\"Окт\",\"Ноя\",\"Дек\"],today:\"Сегодня\",clear:\"Очистить\",dateFormat:\"dd.MM.yyyy\",timeFormat:\"HH:mm\",firstDay:1},startDate:new Date,firstDay:\"\",weekends:[6,0],dateFormat:\"\",altField:\"\",altFieldDateFormat:\"T\",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:\"\",isMobile:!1,visible:!1,position:\"bottom left\",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:\"\",maxDate:\"\",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:\", \",range:!1,dynamicRange:!0,buttons:!1,monthsField:\"monthsShort\",showEvent:\"focus\",autoClose:!1,fixedHeight:!1,prevHtml:'<svg><path d=\"M 17,12 l -5,5 l 5,5\"></path></svg>',nextHtml:'<svg><path d=\"M 14,12 l 5,5 l -5,5\"></path></svg>',navTitles:{days:\"MMMM, <i>yyyy</i>\",months:\"yyyy\",years:\"yyyy1 - yyyy2\"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:\" \",timeFormat:\"\",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return\"string\"==typeof e?t.querySelector(e):e}function n(){let{tagName:e=\"div\",className:t=\"\",innerHtml:i=\"\",id:s=\"\",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);return t&&n.classList.add(...t.split(\" \")),s&&(n.id=s),i&&(n.innerHTML=i),a&&r(n,a),n}function r(e,t){for(let[i,s]of Object.entries(t))void 0!==s&&e.setAttribute(i,s);return e}function o(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function h(e){let t=e.getHours(),{hours:i,dayPeriod:s}=l(t);return{year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?\"0\"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?\"0\"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:d(t),hours12:i,dayPeriod:s,fullHours12:d(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?\"0\"+e.getMinutes():e.getMinutes()}}function l(e){return{dayPeriod:e>11?\"pm\":\"am\",hours:e%12==0?12:e%12}}function d(e){return e<10?\"0\"+e:e}function c(e){let t=10*Math.floor(e.getFullYear()/10);return[t,t+9]}function u(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return i.forEach((t=>{if(\"object\"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t)})),e.join(\" \")}function p(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return!1;let a=h(e),n=h(t);return{[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year}[s]}function m(e,t,i){let s=g(e,!1).getTime(),a=g(t,!1).getTime();return i?s>=a:s>a}function v(e,t){return!m(e,t,!0)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return\"boolean\"!=typeof t||t||function(e){e.setHours(0,0,0,0)}(i),i}function D(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i)})):e.addEventListener(t,i)}function y(e,t){return!(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e<t?t:e}function w(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return i.filter((e=>e)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&\"[object Object]\"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s)}else e[i]=s})),e}function b(e){let t=e;return e instanceof Date||(\"string\"==typeof e&&/^\\d{4}-\\d{2}-\\d{2}$/.test(e)&&(e+=\"T00:00:00\"),t=new Date(e)),isNaN(t.getTime())&&(console.log(`Unable to convert value \"${e}\" to Date object`),t=!1),t}function k(e){let t=\"\\\\s|\\\\.|-|/|\\\\\\\\|,|\\\\$|\\\\!|\\\\?|:|;\";return new RegExp(\"(^|>|\"+t+\")(\"+e+\")($|<|\"+t+\")\",\"g\")}function $(e,t,i){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,\"string\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class C{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};$(this,\"focus\",(()=>{this.$cell.classList.add(\"-focus-\"),this.focused=!0})),$(this,\"removeFocus\",(()=>{this.$cell.classList.remove(\"-focus-\"),this.focused=!1})),$(this,\"select\",(()=>{this.$cell.classList.add(\"-selected-\"),this.selected=!0})),$(this,\"removeSelect\",(()=>{this.$cell.classList.remove(\"-selected-\",\"-range-from-\",\"-range-to-\"),this.selected=!1})),$(this,\"onChangeSelectedDate\",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),$(this,\"onChangeFocusDate\",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=p(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),$(this,\"render\",(()=>(this.$cell.innerHTML=this._getHtml(),this._handleClasses(),this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){var e;let{onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),null!==(e=this.customData)&&void 0!==e&&e.disabled&&this.dp.disableDate(this.date)}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var e;let{year:t,month:i,date:s}=h(this.date),a=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({attrs:{\"data-year\":t,\"data-month\":i,\"data-date\":s,...a}}),this.$cell.adpCell=this}_getClassName(){var e;let t=new Date,{selectOtherMonths:s,selectOtherYears:a}=this.opts,{minDate:n,maxDate:r,isDateDisabled:o}=this.dp,{day:l}=h(this.date),d=this._isOutOfMinMaxRange(),c=o(this.date),m=u(\"air-datepicker-cell\",`-${this.singleType}-`,{\"-current-\":p(t,this.date,this.type),\"-min-date-\":n&&p(n,this.date,this.type),\"-max-date-\":r&&p(r,this.date,this.type)}),v=\"\";switch(this.type){case i.days:v=u({\"-weekend-\":this.dp.isWeekend(l),\"-other-month-\":this.isOtherMonth,\"-disabled-\":this.isOtherMonth&&!s||d||c});break;case i.months:v=u({\"-disabled-\":d});break;case i.years:v=u({\"-other-decade-\":this.isOtherDecade,\"-disabled-\":d||this.isOtherDecade&&!a})}return u(m,v,null===(e=this.customData)||void 0===e?void 0:e.classes).split(\" \")}_getHtml(){var e;let{year:t,month:s,date:a}=h(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return!n&&this.isOtherMonth?\"\":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!r&&this.isOtherDecade?\"\":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:o}=h(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?o:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?o:t.getDate());return e&&t?v(c,e)||m(u,t):e?v(c,e):t?m(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){const{selectedDates:e,focusDate:t,rangeDateTo:i,rangeDateFrom:s}=this.dp,a=e.length;if(!a)return;let n=s,r=i;if(1===a&&t){const i=m(t,e[0]);n=i?e[0]:t,r=i?t:e[0]}let o=u({\"-in-range-\":n&&r&&(h=this.date,l=n,d=r,m(h,l)&&v(h,d)),\"-range-from-\":n&&p(this.date,n,this.type),\"-range-to-\":r&&p(this.date,r,this.type)});var h,l,d;this.$cell.classList.remove(\"-range-from-\",\"-range-to-\",\"-in-range-\"),o&&this.$cell.classList.add(...o.split(\" \"))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){p(this.dp.focusDate,this.date,this.type)&&this.focus()}_handleClasses(){this.$cell.setAttribute(\"class\",\"\"),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),this.dp.opts.range&&this._handleRangeStatus()),this.$cell.classList.add(...this._getClassName())}get isDisabled(){return this.$cell.matches(\".-disabled-\")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function _(e,t,i){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,\"string\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let M={[i.days]:`<div class=\"air-datepicker-body--day-names\"></div><div class=\"air-datepicker-body--cells -${i.days}-\"></div>`,[i.months]:`<div class=\"air-datepicker-body--cells -${i.months}-\"></div>`,[i.years]:`<div class=\"air-datepicker-body--cells -${i.years}-\"></div>`};const S=\".air-datepicker-cell\";class T{constructor(e){let{dp:t,type:s,opts:a}=e;_(this,\"handleClick\",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date)})),_(this,\"handleDayNameClick\",(e=>{let t=e.target.getAttribute(\"data-day-index\");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp})})),_(this,\"onChangeCurrentView\",(e=>{e!==this.type?this.hide():(this.show(),this.render())})),_(this,\"onMouseOverCell\",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date)})),_(this,\"onMouseOutCell\",(()=>{this.dp.setFocusDate(!1)})),_(this,\"onClickBody\",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(\".air-datepicker-body--day-name\")&&this.handleDayNameClick(e)})),_(this,\"onMouseDown\",(e=>{this.pressed=!0;let t=y(e.target,S),i=t&&t.adpCell;p(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),p(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),_(this,\"onMouseMove\",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!m(r,a)){let{hours:e,minutes:t}=h(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r)}if(this.rangeToFocused&&!v(r,n)){let{hours:e,minutes:t}=h(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r)}}})),_(this,\"onMouseUp\",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),_(this,\"onChangeViewDate\",((e,t)=>{if(!this.isVisible)return;let s=c(e),a=c(t);switch(this.dp.currentView){case i.days:if(p(e,t,i.months))return;break;case i.months:if(p(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),_(this,\"render\",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render())}))})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el=\"\",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;D(this.$el,\"mouseover\",this.onMouseOverCell),D(this.$el,\"mouseout\",this.onMouseOutCell),D(this.$el,\"click\",this.onClickBody),e&&t&&(D(this.$el,\"mousedown\",this.onMouseDown),D(this.$el,\"mousemove\",this.onMouseMove),D(window.document,\"mouseup\",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=n({className:`air-datepicker-body -${this.type}-`,innerHtml:M[this.type]}),this.$names=a(\".air-datepicker-body--day-names\",this.$el),this.$cells=a(\".air-datepicker-body--cells\",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t=\"\",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7;t+=`<div class=\"${u(\"air-datepicker-body--day-name\",{[i.cssClassWeekend]:s(e),\"-clickable-\":!!a})}\" data-day-index='${e}'>${this.dp.locale.daysMin[e]}</div>`,r++,n++}return t}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCell(e){let{type:t,dp:i,opts:s}=this;return new C({type:t,dp:i,opts:s,date:e,body:this})}_generateCells(){T.getDatesFunction(this.type)(this.dp,(e=>{this.cells.push(this._generateCell(e))}))}show(){this.isVisible=!0,this.$el.classList.remove(\"-hidden-\")}hide(){this.isVisible=!1,this.$el.classList.add(\"-hidden-\")}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML=\"\"}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}static getDaysDates(e,t){let{viewDate:i,opts:{fixedHeight:s},locale:{firstDay:a}}=e,n=o(i),{year:r,month:l}=h(i),d=new Date(r,l,1),c=new Date(r,l,n),u=d.getDay()-a,p=6-c.getDay()+a;u=u<0?u+7:u,p=p>6?p-7:p;let m=function(e,t){let{year:i,month:s,date:a}=h(e);return new Date(i,s,a-t)}(d,u),v=n+u+p,g=m.getDate(),{year:D,month:y}=h(m),f=0;s&&(v=42);const w=[];for(;f<v;){let e=new Date(D,y,g+f);t&&t(e),w.push(e),f++}return w}static getMonthsDates(e,t){let{year:i}=e.parsedViewDate,s=0,a=[];for(;s<12;){const e=new Date(i,s);a.push(e),t&&t(e),s++}return a}static getYearsDates(e,t){let i=c(e.viewDate),s=i[0]-1,a=i[1]+1,n=s,r=[];for(;n<=a;){const e=new Date(n,0);r.push(e),t&&t(e),n++}return r}static getDatesFunction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return{[i.days]:T.getDaysDates,[i.months]:T.getMonthsDates,[i.years]:T.getYearsDates}[e]}}function F(e,t,i){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,\"string\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,\"onClickNav\",(e=>{let t=y(e.target,\".air-datepicker-nav--action\");if(!t)return;let i=t.dataset.action;this.dp[i]()})),F(this,\"onChangeViewDate\",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,\"onChangeCurrentView\",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,\"onClickNavTitle\",(()=>{this.dp.isFinalView||this.dp.up()})),F(this,\"update\",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus()})),F(this,\"renderDelay\",(()=>{setTimeout(this.render)})),F(this,\"render\",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(this.$title,{\"-disabled-\":this.dp.isFinalView})})),this.dp=t,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(\".air-datepicker-nav--title\",this.$el),this.$prev=a('[data-action=\"prev\"]',this.$el),this.$next=a('[data-action=\"next\"]',this.$el)}_bindEvents(){this.$el.addEventListener(\"click\",this.onClickNav),this.$title.addEventListener(\"click\",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=n({tagName:\"nav\",className:\"air-datepicker-nav\"})}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return\"function\"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&h(t),o=!!s&&h(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav(\"prev\"),s&&o.month<=n&&o.year<=a&&this._disableNav(\"next\");break;case i.months:t&&r.year>=a&&this._disableNav(\"prev\"),s&&o.year<=a&&this._disableNav(\"next\");break;case i.years:{let e=c(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav(\"prev\"),s&&o.year<=e[1]&&this._disableNav(\"next\");break}}}_disableNav(e){a('[data-action=\"'+e+'\"]',this.$el).classList.add(\"-disabled-\")}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];e.length?e.forEach((e=>{e.classList.remove(...i)})):e.classList.remove(...i)}(this.$el.querySelectorAll(\".air-datepicker-nav--action\"),\"-disabled-\")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML=`<div class=\"air-datepicker-nav--action\" data-action=\"prev\">${e}</div><div class=\"air-datepicker-nav--title\"></div><div class=\"air-datepicker-nav--action\" data-action=\"next\">${t}</div>`}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>\"function\"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=n({className:\"air-datepicker-buttons\"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML=\"\",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;\"string\"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i)}))}attachEventToButton(e,t){e.addEventListener(\"click\",(()=>{t(this.dp)}))}createButton(e){let{content:t,className:i,tagName:s=\"button\",attrs:a={}}=e;return n({tagName:s,innerHtml:`<span tabindex='-1'>${\"function\"==typeof t?t(this.dp):t}</span>`,className:u(\"air-datepicker-button\",i),attrs:a})}render(){this.generateButtons()}}function E(e,t,i){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,\"string\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class L{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E(this,\"toggleTimepickerIsActive\",(e=>{this.dp.timepickerIsActive=e})),E(this,\"onChangeSelectedDate\",(e=>{let{date:t,updateTime:i=!1}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t))})),E(this,\"onChangeLastSelectedDate\",(e=>{e&&(this.setTime(e),this.render())})),E(this,\"onChangeInputRange\",(e=>{let t=e.target;this[t.getAttribute(\"name\")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),E(this,\"onMouseEnterLeave\",(e=>{let t=e.target.getAttribute(\"name\"),i=this.$minutesText;\"hours\"===t&&(i=this.$hoursText),i.classList.toggle(\"-focus-\")})),E(this,\"onFocus\",(()=>{this.toggleTimepickerIsActive(!0)})),E(this,\"onBlur\",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(k(\"h\"))||s.match(k(\"hh\")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e=\"input\";navigator.userAgent.match(/trident/gi)&&(e=\"change\"),D(this.$ranges,e,this.onChangeInputRange),D(this.$ranges,\"mouseenter\",this.onMouseEnterLeave),D(this.$ranges,\"mouseleave\",this.onMouseEnterLeave),D(this.$ranges,\"focus\",this.onFocus),D(this.$ranges,\"mousedown\",this.onFocus),D(this.$ranges,\"blur\",this.onBlur)}createElement(){this.$el=n({className:u(\"air-datepicker-time\",{\"-am-pm-\":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:o,dayPeriod:h,opts:{hoursStep:l,minutesStep:c}}=this;this.$el.innerHTML=`<div class=\"air-datepicker-time--current\"> <span class=\"air-datepicker-time--current-hours\">${d(i)}</span> <span class=\"air-datepicker-time--current-colon\">:</span> <span class=\"air-datepicker-time--current-minutes\">${d(s)}</span> `+(e?`<span class='air-datepicker-time--current-ampm'>${h}</span>`:\"\")+'</div><div class=\"air-datepicker-time--sliders\"> <div class=\"air-datepicker-time--row\">'+` <input type=\"range\" name=\"hours\" value=\"${t}\" min=\"${a}\" max=\"${r}\" step=\"${l}\"/> </div> <div class=\"air-datepicker-time--row\">`+` <input type=\"range\" name=\"minutes\" value=\"${s}\" min=\"${n}\" max=\"${o}\" step=\"${c}\"/> </div></div>`}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type=\"range\"]'),this.$hours=e('[name=\"hours\"]'),this.$minutes=e('[name=\"minutes\"]'),this.$hoursText=e(\".air-datepicker-time--current-hours\"),this.$minutesText=e(\".air-datepicker-time--current-minutes\"),this.$ampm=e(\".air-datepicker-time--current-ampm\")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&p(e,t)&&this.setMinTimeFromMinDate(t),i&&p(e,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(e){let{hours:t,minutes:i}=e?h(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes()}updateSliders(){r(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,r(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=d(this.displayHours),this.$minutesText.innerHTML=d(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(e){this._hours=e;let{hours:t,dayPeriod:i}=l(e);this.displayHours=this.ampm?t:e,this.dayPeriod=i}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function O(e,t,i){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,\"string\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class A{constructor(e){let{dp:t,opts:i}=e;O(this,\"pressedKeys\",new Set),O(this,\"hotKeys\",new Map([[[[\"Control\",\"ArrowRight\"],[\"Control\",\"ArrowUp\"]],e=>e.month++],[[[\"Control\",\"ArrowLeft\"],[\"Control\",\"ArrowDown\"]],e=>e.month--],[[[\"Shift\",\"ArrowRight\"],[\"Shift\",\"ArrowUp\"]],e=>e.year++],[[[\"Shift\",\"ArrowLeft\"],[\"Shift\",\"ArrowDown\"]],e=>e.year--],[[[\"Alt\",\"ArrowRight\"],[\"Alt\",\"ArrowUp\"]],e=>e.year+=10],[[[\"Alt\",\"ArrowLeft\"],[\"Alt\",\"ArrowDown\"]],e=>e.year-=10],[[\"Control\",\"Shift\",\"ArrowUp\"],(e,t)=>t.up()]])),O(this,\"handleHotKey\",(e=>{let t=this.hotKeys.get(e),i=h(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=o(new Date(s,a));r<n&&(n=r);let l=this.dp.getClampedDate(new Date(s,a,n));this.dp.setFocusDate(l,{viewDateTransition:!0})})),O(this,\"isHotKeyPressed\",(()=>{let e=!1,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s)}));else{if(t!==s.length)continue;e=s.every(i)&&s}}return e})),O(this,\"isArrow\",(e=>e>=37&&e<=40)),O(this,\"onKeyDown\",(e=>{let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if(\"Enter\"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}\"Escape\"===t&&this.dp.hide()})),O(this,\"onKeyUp\",(e=>{this.removeKey(e.key)})),this.dp=t,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener(\"keydown\",this.onKeyDown),e.addEventListener(\"keyup\",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener(\"keydown\",this.onKeyDown),e.removeEventListener(\"keyup\",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1)}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,o=h(t),l=o.year,d=o.month,c=o.date;switch(e){case\"ArrowLeft\":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case\"ArrowUp\":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case\"ArrowRight\":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case\"ArrowDown\":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)))},removeAllEvents(){this.__events={}},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];this.__events&&this.__events[e]&&this.__events[e].forEach((e=>{e(...i)}))}};function I(e,t,i){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,\"string\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let P=\"\",j=\"\",B=!1;class R{static buildGlobalContainer(e){B=!0,P=n({className:e,id:e}),a(\"body\").appendChild(P)}constructor(e,t){var r=this;if(I(this,\"viewIndexes\",[i.days,i.months,i.years]),I(this,\"next\",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1))}})),I(this,\"prev\",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1))}})),I(this,\"_finishHide\",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),I(this,\"setPosition\",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(\"function\"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),o=r.$el.getBoundingClientRect(),h=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(\" \"),u=window.scrollY,p=window.scrollX,m=r.opts.offset,v=c[0],g=c[1];if(a)r.$datepicker.style.cssText=\"left: 50%; top: 50%\";else{if(h===l&&h!==document.body&&(o={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),h!==l&&h!==document.body){let e=h.getBoundingClientRect();o={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0}switch(v){case\"top\":i=o.top-d.height-m;break;case\"right\":s=o.left+o.width+m;break;case\"bottom\":i=o.top+o.height+m;break;case\"left\":s=o.left-d.width-m}switch(g){case\"top\":i=o.top;break;case\"right\":s=o.left+o.width-d.width;break;case\"bottom\":i=o.top+o.height-d.height;break;case\"left\":s=o.left;break;case\"center\":/left|right/.test(v)?i=o.top+o.height/2-d.height/2:s=o.left+o.width/2-d.width/2}r.$datepicker.style.cssText=`left: ${s+p}px; top: ${i+u}px`}})),I(this,\"_setInputValue\",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),I(this,\"_getInputValue\",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return\"\";let n=\"function\"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,\"_checkIfDateIsSelected\",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return r.selectedDates.some((i=>{let a=p(e,i,t);return s=a&&i,a})),s})),I(this,\"_scheduleCallAfterTransition\",(e=>{this._cancelScheduledCall(),e&&e(!1),this._onTransitionEnd=()=>{e&&e(!0)},this.$datepicker.addEventListener(\"transitionend\",this._onTransitionEnd,{once:!0})})),I(this,\"_cancelScheduledCall\",(()=>{this.$datepicker.removeEventListener(\"transitionend\",this._onTransitionEnd)})),I(this,\"setViewDate\",(e=>{if(!((e=b(e))instanceof Date))return;if(p(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,e,t)})),I(this,\"setFocusDate\",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.trigger(i.eventChangeFocusDate,e,t))})),I(this,\"setCurrentView\",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.viewIndexes.includes(e)){if(r.currentView=e,r.elIsInput&&r.visible&&r.setPosition(void 0,!0),r.trigger(i.eventChangeCurrentView,e),!r.views[e]){let t=r.views[e]=new T({dp:r,opts:r.opts,type:e});r.shouldUpdateDOM&&r.$content.appendChild(t.$el)}r.opts.onChangeView&&!t.silent&&r.opts.onChangeView(e)}})),I(this,\"_updateLastSelectedDate\",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e)})),I(this,\"destroy\",(()=>{if(this.isDestroyed)return;let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener(\"blur\",this._onBlur),window.removeEventListener(\"resize\",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts={},this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=[],this.rangeDateFrom=null,this.rangeDateTo=null,this.isDestroyed=!0})),I(this,\"update\",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=w({},r.opts),{silent:a}=t;w(r.opts,e);let{timepicker:n,buttons:o,range:h,selectedDates:l,isMobile:d}=r.opts,c=r.visible||r.treatAsInline;r._createMinMaxDates(),r._limitViewDateByMaxMinDates(),r._handleLocale(),l&&(r.selectedDates=[],r.selectDate(l,{silent:a})),e.view&&r.setCurrentView(e.view,{silent:a}),r._setInputValue(),s.range&&!h?(r.rangeDateTo=!1,r.rangeDateFrom=!1):!s.range&&h&&r.selectedDates.length&&(r.rangeDateFrom=r.selectedDates[0],r.rangeDateTo=r.selectedDates[1]),s.timepicker&&!n?(c&&r.timepicker.destroy(),r.timepicker=!1,r.$timepicker.parentNode.removeChild(r.$timepicker)):!s.timepicker&&n&&r._addTimepicker(),!s.buttons&&o?r._addButtons():s.buttons&&!o?(r.buttons.destroy(),r.$buttons.parentNode.removeChild(r.$buttons)):c&&s.buttons&&o&&r.buttons.clearHtml().render(),!s.isMobile&&d?(r.treatAsInline||j||r._createMobileOverlay(),r._addMobileAttributes(),r.visible&&r._showMobileOverlay()):s.isMobile&&!d&&(r._removeMobileAttributes(),r.visible&&(j.classList.remove(\"-active-\"),\"function\"!=typeof r.opts.position&&r.setPosition())),c&&(r.nav.update(),r.views[r.currentView].render(),r.currentView===i.days&&r.views[r.currentView].renderDayNames())})),I(this,\"disableDate\",((e,t)=>{(Array.isArray(e)?e:[e]).forEach((e=>{let i=b(e);if(!i)return;let s=t?\"delete\":\"add\";this.disabledDates[s](this.formatDate(i,\"yyyy-MM-dd\"));let a=this.getCell(i,this.currentViewSingular);a&&a.adpCell.render()}),[])})),I(this,\"enableDate\",(e=>{this.disableDate(e,!0)})),I(this,\"isDateDisabled\",(e=>{let t=b(e);return this.disabledDates.has(this.formatDate(t,\"yyyy-MM-dd\"))})),I(this,\"isOtherMonth\",(e=>{let{month:t}=h(e);return t!==this.parsedViewDate.month})),I(this,\"isOtherYear\",(e=>{let{year:t}=h(e);return t!==this.parsedViewDate.year})),I(this,\"isOtherDecade\",(e=>{let{year:t}=h(e),[i,s]=c(this.viewDate);return t<i||t>s})),I(this,\"_onChangeSelectedDate\",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect()}))})),I(this,\"_onChangeFocusedDate\",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=!1;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e),r.opts.onFocus&&r.opts.onFocus({datepicker:r,date:e})})),I(this,\"_onChangeTime\",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let o=this.getCell(r,this.currentViewSingular),h=o&&o.adpCell;h&&h.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r))})),I(this,\"_onFocus\",(e=>{this.visible||this.show()})),I(this,\"_onBlur\",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),I(this,\"_onMouseDown\",(e=>{this.inFocus=!0})),I(this,\"_onMouseUp\",(e=>{this.inFocus=!1,this.$el.focus()})),I(this,\"_onResize\",(()=>{this.visible&&\"function\"!=typeof this.opts.position&&this.setPosition()})),I(this,\"_onClickOverlay\",(()=>{this.visible&&this.hide()})),I(this,\"getViewDates\",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return T.getDatesFunction(e)(r)})),I(this,\"isWeekend\",(e=>this.opts.weekends.includes(e))),I(this,\"getClampedDate\",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&m(e,i)?s=i:t&&v(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:\"air-datepicker\"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1);let{view:o,startDate:l}=this.opts;l||(this.opts.startDate=new Date),\"INPUT\"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=b(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute(\"readonly\"),this.customHide=!1,this.currentView=o,this.selectedDates=[],this.disabledDates=new Set,this.isDestroyed=!1,this.views={},this.keys=[],this.rangeDateFrom=\"\",this.rangeDateTo=\"\",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:n,keyboardNav:r,onlyTimepicker:o}}=this,h=a(\"body\");(!B||B&&P&&!h.contains(P))&&!i&&this.elIsInput&&!this.$customContainer&&R.buildGlobalContainer(R.defaultGlobalContainerId),!s||j||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!o&&(this.keyboardNav=new A({dp:this,opts:e}))),n&&this.selectDate(n,{silent:!0}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute(\"readonly\",!0),t&&this._createComponents()}_createMobileOverlay(){j=n({className:\"air-datepicker-overlay\"}),P.appendChild(j)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:o,isMobile:h}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add(\"-inline-\"),r&&this.$datepicker.classList.add(...r.split(\" \")),o&&this.$datepicker.classList.add(\"-only-timepicker-\"),h&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){j.addEventListener(\"click\",this._onClickOverlay),this.$datepicker.classList.add(\"-is-mobile-\"),this.$el.setAttribute(\"readonly\",!0)}_removeMobileAttributes(){j.removeEventListener(\"click\",this._onClickOverlay),this.$datepicker.classList.remove(\"-is-mobile-\"),this.initialReadonly||\"\"===this.initialReadonly||this.$el.removeAttribute(\"readonly\")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t)}_addTimepicker(){this.$timepicker=n({className:\"air-datepicker--time\"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new L({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=n({className:\"air-datepicker--buttons\"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class=\"air-datepicker--pointer\"></i><div class=\"air-datepicker--navigation\"></div><div class=\"air-datepicker--content\"></div>',this.$content=a(\".air-datepicker--content\",this.$datepicker),this.$pointer=a(\".air-datepicker--pointer\",this.$datepicker),this.$nav=a(\".air-datepicker--navigation\",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var o;this.locale=(o=e,JSON.parse(JSON.stringify(o))),t&&(this.locale.dateFormat=t),void 0!==n&&\"\"!==n&&(this.locale.timeFormat=n);let{timeFormat:h}=this.locale;if(\"\"!==i&&(this.locale.firstDay=i),s&&\"function\"!=typeof t){let e=h?r:\"\";this.locale.dateFormat=[this.locale.dateFormat,h||\"\"].join(e)}a&&\"function\"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if(\"function\"==typeof e)return void this.$datepicker.classList.add(\"-custom-position-\");let t=(e=e.split(\" \"))[0],i=`air-datepicker -${t}-${e[1]}- -from-${t}-`;this.$datepicker.classList.add(...i.split(\" \"))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener(\"blur\",this._onBlur),this.$datepicker.addEventListener(\"mousedown\",this._onMouseDown),this.$datepicker.addEventListener(\"mouseup\",this._onMouseUp),window.addEventListener(\"resize\",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&m(e,i)&&this.setViewDate(i),t&&v(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=h(e),n=a.dayPeriod,r=c(e),o=R.replacer,l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[e,t]of Object.entries(l))i=o(i,k(e),t);return i}down(e){this._handleUpDownActions(e,\"down\")}up(e){this._handleUpDownActions(e,\"up\")}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:o}=s,{moveToOtherMonthsOnSelect:h,moveToOtherYearsOnSelect:l,multipleDates:d,range:c,autoClose:u,onBeforeSelect:p}=this.opts,v=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s)})),new Promise((e=>{setTimeout(e)}));if((e=b(e))instanceof Date){if(p&&!p({date:e,datepicker:this}))return Promise.resolve();if(a===i.days&&e.getMonth()!==n.month&&h&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&l&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),d&&!c){if(v===d)return;this._checkIfDateIsSelected(e)||r.push(e)}else if(c)switch(v){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),m(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo=\"\";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:o}),this._updateLastSelectedDate(e),u&&!this.timepickerIsActive&&this.visible&&(d||c?c&&1===v&&this.hide():this.hide()),new Promise((e=>{setTimeout(e)}))}}unselectDate(e){let t=this.selectedDates,s=this;if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(p(a,e))return t.splice(n,1),s.selectedDates.length?(s.rangeDateTo=\"\",s.rangeDateFrom=t[0],s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1])):(s.rangeDateFrom=\"\",s.rangeDateTo=\"\",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),!0}))}replaceDate(e,t){let s=this.selectedDates.find((t=>p(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||p(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.lastSelectedDate=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e)}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add(\"-active-\"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove(\"-active-\"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t)})),t&&j.classList.remove(\"-active-\")}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,o=n||r,h=\"function\"==typeof s.dateFormat;i.length&&(e=i.map(g),t=h?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:o?e:e[0],formattedDate:o?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{selectedDates:i,rangeDateFrom:s,rangeDateTo:a}=this,{range:n,toggleSelected:r}=this.opts,o=i.length,h=\"function\"==typeof r?r({datepicker:this,date:t}):r,l=Boolean(n&&1===o&&e),d=l?g(t):t;n&&!h&&(2!==o&&this.selectDate(d),2===o&&p(s,a))||(h?this.unselectDate(d):this._updateLastSelectedDate(l?d:e))}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i=\"up\"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=h(e),r=`[data-year=\"${s}\"]`,o=`[data-month=\"${a}\"]`,l={[i.day]:`${r}${o}[data-date=\"${n}\"]`,[i.month]:`${r}${o}`,[i.year]:`${r}`};return this.views[this.currentView]?this.views[this.currentView].$el.querySelector(l[t]):void 0}_showMobileOverlay(){j.classList.add(\"-active-\")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue(\"transition-duration\").split(\", \").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return h(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var K;return I(R,\"defaults\",s),I(R,\"version\",\"3.5.3\"),I(R,\"defaultGlobalContainerId\",\"air-datepicker-global-container\"),K=R.prototype,Object.assign(K,N),t.default}()}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n today: 'Today',\n clear: 'Clear',\n dateFormat: 'MM/dd/yyyy',\n timeFormat: 'hh:mm aa',\n firstDay: 0\n};\nexports.default = _default;","@import '../../../theme.scss';\n\nverdocs-field-date {\n font-family: $verdocs-primary-font;\n width: 74px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: 0.3px;\n background-color: transparent;\n transform-origin: bottom left;\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n label {\n top: -14px;\n left: 0;\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 input {\n position: absolute;\n\n font-size: 12px;\n\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n border: 1px solid $light-border-color;\n appearance: none;\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n &.required {\n input {\n border: 1px solid $verdocs-red-1;\n }\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: -18px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n.air-datepicker-cell.-year-.-other-decade-,\n.air-datepicker-cell.-day-.-other-month- {\n color: var(--adp-color-other-month);\n}\n.air-datepicker-cell.-year-.-other-decade-:hover,\n.air-datepicker-cell.-day-.-other-month-:hover {\n color: var(--adp-color-other-month-hover);\n}\n.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-,\n.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- {\n color: var(--adp-color-other-month);\n}\n.-selected-.air-datepicker-cell.-year-.-other-decade-,\n.-selected-.air-datepicker-cell.-day-.-other-month- {\n color: #fff;\n background: var(--adp-background-color-selected-other-month);\n}\n.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-,\n.-selected-.-focus-.air-datepicker-cell.-day-.-other-month- {\n background: var(--adp-background-color-selected-other-month-focused);\n}\n.-in-range-.air-datepicker-cell.-year-.-other-decade-,\n.-in-range-.air-datepicker-cell.-day-.-other-month- {\n background-color: var(--adp-background-color-in-range);\n color: var(--adp-color);\n}\n.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-,\n.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- {\n background-color: var(--adp-background-color-in-range-focused);\n}\n.air-datepicker-cell.-year-.-other-decade-:empty,\n.air-datepicker-cell.-day-.-other-month-:empty {\n background: none;\n border: none;\n}\n.air-datepicker-cell {\n border-radius: var(--adp-cell-border-radius);\n box-sizing: border-box;\n cursor: pointer;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: center;\n z-index: 1;\n}\n.air-datepicker-cell.-focus- {\n background: var(--adp-cell-background-color-hover);\n}\n.air-datepicker-cell.-current- {\n color: var(--adp-color-current-date);\n}\n.air-datepicker-cell.-current-.-focus- {\n color: var(--adp-color);\n}\n.air-datepicker-cell.-current-.-in-range- {\n color: var(--adp-color-current-date);\n}\n.air-datepicker-cell.-disabled- {\n cursor: default;\n color: var(--adp-color-disabled);\n}\n.air-datepicker-cell.-disabled-.-focus- {\n color: var(--adp-color-disabled);\n}\n.air-datepicker-cell.-disabled-.-in-range- {\n color: var(--adp-color-disabled-in-range);\n}\n.air-datepicker-cell.-disabled-.-current-.-focus- {\n color: var(--adp-color-disabled);\n}\n.air-datepicker-cell.-in-range- {\n background: var(--adp-cell-background-color-in-range);\n border-radius: 0;\n}\n.air-datepicker-cell.-in-range-:hover {\n background: var(--adp-cell-background-color-in-range-hover);\n}\n.air-datepicker-cell.-range-from- {\n border: 1px solid var(--adp-cell-border-color-in-range);\n background-color: var(--adp-cell-background-color-in-range);\n border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius);\n}\n.air-datepicker-cell.-range-to- {\n border: 1px solid var(--adp-cell-border-color-in-range);\n background-color: var(--adp-cell-background-color-in-range);\n border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0;\n}\n.air-datepicker-cell.-range-to-.-range-from- {\n border-radius: var(--adp-cell-border-radius);\n}\n.air-datepicker-cell.-selected- {\n color: #fff;\n border: none;\n background: var(--adp-cell-background-color-selected);\n}\n.air-datepicker-cell.-selected-.-current- {\n color: #fff;\n background: var(--adp-cell-background-color-selected);\n}\n.air-datepicker-cell.-selected-.-focus- {\n background: var(--adp-cell-background-color-selected-hover);\n}\n.air-datepicker-body {\n transition: all var(--adp-transition-duration) var(--adp-transition-ease);\n}\n.air-datepicker-body.-hidden- {\n display: none;\n}\n.air-datepicker-body--day-names {\n display: grid;\n grid-template-columns: repeat(7, var(--adp-day-cell-width));\n margin: 8px 0 3px;\n}\n.air-datepicker-body--day-name {\n color: var(--adp-day-name-color);\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n text-align: center;\n text-transform: uppercase;\n font-size: 0.8em;\n}\n.air-datepicker-body--day-name.-clickable- {\n cursor: pointer;\n}\n.air-datepicker-body--day-name.-clickable-:hover {\n color: var(--adp-day-name-color-hover);\n}\n.air-datepicker-body--cells {\n display: grid;\n}\n.air-datepicker-body--cells.-days- {\n grid-template-columns: repeat(7, var(--adp-day-cell-width));\n grid-auto-rows: var(--adp-day-cell-height);\n}\n.air-datepicker-body--cells.-months- {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: var(--adp-month-cell-height);\n}\n.air-datepicker-body--cells.-years- {\n grid-template-columns: repeat(4, 1fr);\n grid-auto-rows: var(--adp-year-cell-height);\n}\n.air-datepicker-nav {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid var(--adp-border-color-inner);\n min-height: var(--adp-nav-height);\n padding: var(--adp-padding);\n box-sizing: content-box;\n}\n.-only-timepicker- .air-datepicker-nav {\n display: none;\n}\n.air-datepicker-nav--title,\n.air-datepicker-nav--action {\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n}\n.air-datepicker-nav--action {\n width: var(--adp-nav-action-size);\n border-radius: var(--adp-border-radius);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.air-datepicker-nav--action:hover {\n background: var(--adp-background-color-hover);\n}\n.air-datepicker-nav--action:active {\n background: var(--adp-background-color-active);\n}\n.air-datepicker-nav--action.-disabled- {\n visibility: hidden;\n}\n.air-datepicker-nav--action svg {\n width: 32px;\n height: 32px;\n}\n.air-datepicker-nav--action path {\n fill: none;\n stroke: var(--adp-nav-arrow-color);\n stroke-width: 2px;\n}\n.air-datepicker-nav--title {\n border-radius: var(--adp-border-radius);\n padding: 0 8px;\n}\n.air-datepicker-nav--title i {\n font-style: normal;\n color: var(--adp-nav-color-secondary);\n margin-left: 0.3em;\n}\n.air-datepicker-nav--title:hover {\n background: var(--adp-background-color-hover);\n}\n.air-datepicker-nav--title:active {\n background: var(--adp-background-color-active);\n}\n.air-datepicker-nav--title.-disabled- {\n cursor: default;\n background: none;\n}\n.air-datepicker-buttons {\n display: grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n}\n.air-datepicker-button {\n display: inline-flex;\n color: var(--adp-btn-color);\n border-radius: var(--adp-btn-border-radius);\n cursor: pointer;\n height: var(--adp-btn-height);\n border: none;\n background: rgba(255, 255, 255, 0);\n}\n.air-datepicker-button:hover {\n color: var(--adp-btn-color-hover);\n background: var(--adp-btn-background-color-hover);\n}\n.air-datepicker-button:focus {\n color: var(--adp-btn-color-hover);\n background: var(--adp-btn-background-color-hover);\n outline: none;\n}\n.air-datepicker-button:active {\n background: var(--adp-btn-background-color-active);\n}\n.air-datepicker-button span {\n outline: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n.air-datepicker-time {\n display: grid;\n grid-template-columns: max-content 1fr;\n grid-column-gap: 12px;\n align-items: center;\n position: relative;\n padding: 0 var(--adp-time-padding-inner);\n}\n.-only-timepicker- .air-datepicker-time {\n border-top: none;\n}\n.air-datepicker-time--current {\n display: flex;\n align-items: center;\n flex: 1;\n font-size: 14px;\n text-align: center;\n}\n.air-datepicker-time--current-colon {\n margin: 0 2px 3px;\n line-height: 1;\n}\n.air-datepicker-time--current-hours,\n.air-datepicker-time--current-minutes {\n line-height: 1;\n font-size: 19px;\n font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;\n position: relative;\n z-index: 1;\n}\n.air-datepicker-time--current-hours:after,\n.air-datepicker-time--current-minutes:after {\n content: '';\n background: var(--adp-background-color-hover);\n border-radius: var(--adp-border-radius);\n position: absolute;\n left: -2px;\n top: -3px;\n right: -2px;\n bottom: -2px;\n z-index: -1;\n opacity: 0;\n}\n.air-datepicker-time--current-hours.-focus-:after,\n.air-datepicker-time--current-minutes.-focus-:after {\n opacity: 1;\n}\n.air-datepicker-time--current-ampm {\n text-transform: uppercase;\n align-self: flex-end;\n color: var(--adp-time-day-period-color);\n margin-left: 6px;\n font-size: 11px;\n margin-bottom: 1px;\n}\n.air-datepicker-time--row {\n display: flex;\n align-items: center;\n font-size: 11px;\n height: 17px;\n background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat;\n}\n.air-datepicker-time--row:first-child {\n margin-bottom: 4px;\n}\n.air-datepicker-time--row input[type='range'] {\n background: none;\n cursor: pointer;\n flex: 1;\n height: 100%;\n width: 100%;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n}\n.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n}\n.air-datepicker-time--row input[type='range']::-ms-tooltip {\n display: none;\n}\n.air-datepicker-time--row input[type='range']:hover::-webkit-slider-thumb {\n border-color: var(--adp-time-track-color-hover);\n}\n.air-datepicker-time--row input[type='range']:hover::-moz-range-thumb {\n border-color: var(--adp-time-track-color-hover);\n}\n.air-datepicker-time--row input[type='range']:hover::-ms-thumb {\n border-color: var(--adp-time-track-color-hover);\n}\n.air-datepicker-time--row input[type='range']:focus {\n outline: none;\n}\n.air-datepicker-time--row input[type='range']:focus::-webkit-slider-thumb {\n background: var(--adp-cell-background-color-selected);\n border-color: var(--adp-cell-background-color-selected);\n}\n.air-datepicker-time--row input[type='range']:focus::-moz-range-thumb {\n background: var(--adp-cell-background-color-selected);\n border-color: var(--adp-cell-background-color-selected);\n}\n.air-datepicker-time--row input[type='range']:focus::-ms-thumb {\n background: var(--adp-cell-background-color-selected);\n border-color: var(--adp-cell-background-color-selected);\n}\n.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {\n box-sizing: border-box;\n height: 12px;\n width: 12px;\n border-radius: 3px;\n border: 1px solid var(--adp-time-track-color);\n background: #fff;\n cursor: pointer;\n -webkit-transition: background var(--adp-transition-duration);\n transition: background var(--adp-transition-duration);\n}\n.air-datepicker-time--row input[type='range']::-moz-range-thumb {\n box-sizing: border-box;\n height: 12px;\n width: 12px;\n border-radius: 3px;\n border: 1px solid var(--adp-time-track-color);\n background: #fff;\n cursor: pointer;\n -moz-transition: background var(--adp-transition-duration);\n transition: background var(--adp-transition-duration);\n}\n.air-datepicker-time--row input[type='range']::-ms-thumb {\n box-sizing: border-box;\n height: 12px;\n width: 12px;\n border-radius: 3px;\n border: 1px solid var(--adp-time-track-color);\n background: #fff;\n cursor: pointer;\n -ms-transition: background var(--adp-transition-duration);\n transition: background var(--adp-transition-duration);\n}\n.air-datepicker-time--row input[type='range']::-webkit-slider-thumb {\n margin-top: calc(var(--adp-time-thumb-size) / 2 * -1);\n}\n.air-datepicker-time--row input[type='range']::-webkit-slider-runnable-track {\n border: none;\n height: var(--adp-time-track-height);\n cursor: pointer;\n color: rgba(0, 0, 0, 0);\n background: rgba(0, 0, 0, 0);\n}\n.air-datepicker-time--row input[type='range']::-moz-range-track {\n border: none;\n height: var(--adp-time-track-height);\n cursor: pointer;\n color: rgba(0, 0, 0, 0);\n background: rgba(0, 0, 0, 0);\n}\n.air-datepicker-time--row input[type='range']::-ms-track {\n border: none;\n height: var(--adp-time-track-height);\n cursor: pointer;\n color: rgba(0, 0, 0, 0);\n background: rgba(0, 0, 0, 0);\n}\n.air-datepicker-time--row input[type='range']::-ms-fill-lower {\n background: rgba(0, 0, 0, 0);\n}\n.air-datepicker-time--row input[type='range']::-ms-fill-upper {\n background: rgba(0, 0, 0, 0);\n}\n.air-datepicker {\n --adp-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n --adp-font-size: 14px;\n --adp-width: 246px;\n --adp-z-index: 100;\n --adp-padding: 4px;\n --adp-grid-areas: 'nav' 'body' 'timepicker' 'buttons';\n --adp-transition-duration: 0.3s;\n --adp-transition-ease: ease-out;\n --adp-transition-offset: 8px;\n --adp-background-color: #fff;\n --adp-background-color-hover: #f0f0f0;\n --adp-background-color-active: #eaeaea;\n --adp-background-color-in-range: rgba(92, 196, 239, 0.1);\n --adp-background-color-in-range-focused: rgba(92, 196, 239, 0.2);\n --adp-background-color-selected-other-month-focused: #8ad5f4;\n --adp-background-color-selected-other-month: #a2ddf6;\n --adp-color: #4a4a4a;\n --adp-color-secondary: #9c9c9c;\n --adp-accent-color: #4eb5e6;\n --adp-color-current-date: var(--adp-accent-color);\n --adp-color-other-month: #dedede;\n --adp-color-disabled: #aeaeae;\n --adp-color-disabled-in-range: #939393;\n --adp-color-other-month-hover: #c5c5c5;\n --adp-border-color: #dbdbdb;\n --adp-border-color-inner: #efefef;\n --adp-border-radius: 4px;\n --adp-border-color-inline: #d7d7d7;\n --adp-nav-height: 32px;\n --adp-nav-arrow-color: var(--adp-color-secondary);\n --adp-nav-action-size: 32px;\n --adp-nav-color-secondary: var(--adp-color-secondary);\n --adp-day-name-color: #ff9a19;\n --adp-day-name-color-hover: #8ad5f4;\n --adp-day-cell-width: 1fr;\n --adp-day-cell-height: 32px;\n --adp-month-cell-height: 42px;\n --adp-year-cell-height: 56px;\n --adp-pointer-size: 10px;\n --adp-poiner-border-radius: 2px;\n --adp-pointer-offset: 14px;\n --adp-cell-border-radius: 4px;\n --adp-cell-background-color-hover: var(--adp-background-color-hover);\n --adp-cell-background-color-selected: #5cc4ef;\n --adp-cell-background-color-selected-hover: #45bced;\n --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1);\n --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2);\n --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);\n --adp-btn-height: 32px;\n --adp-btn-color: var(--adp-accent-color);\n --adp-btn-color-hover: var(--adp-color);\n --adp-btn-border-radius: var(--adp-border-radius);\n --adp-btn-background-color-hover: var(--adp-background-color-hover);\n --adp-btn-background-color-active: var(--adp-background-color-active);\n --adp-time-track-height: 1px;\n --adp-time-track-color: #dedede;\n --adp-time-track-color-hover: #b1b1b1;\n --adp-time-thumb-size: 12px;\n --adp-time-padding-inner: 10px;\n --adp-time-day-period-color: var(--adp-color-secondary);\n --adp-mobile-font-size: 16px;\n --adp-mobile-nav-height: 40px;\n --adp-mobile-width: 320px;\n --adp-mobile-day-cell-height: 38px;\n --adp-mobile-month-cell-height: 48px;\n --adp-mobile-year-cell-height: 64px;\n}\n.air-datepicker-overlay {\n --adp-overlay-background-color: rgba(0, 0, 0, 0.3);\n --adp-overlay-transition-duration: 0.3s;\n --adp-overlay-transition-ease: ease-out;\n --adp-overlay-z-index: 99;\n}\n.air-datepicker {\n background: var(--adp-background-color);\n border: 1px solid var(--adp-border-color);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border-radius: var(--adp-border-radius);\n box-sizing: content-box;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, max-content);\n grid-template-areas: var(--adp-grid-areas);\n font-family: var(--adp-font-family), sans-serif;\n font-size: var(--adp-font-size);\n color: var(--adp-color);\n width: var(--adp-width);\n position: absolute;\n transition:\n opacity var(--adp-transition-duration) var(--adp-transition-ease),\n transform var(--adp-transition-duration) var(--adp-transition-ease);\n z-index: var(--adp-z-index);\n}\n.air-datepicker:not(.-custom-position-) {\n opacity: 0;\n}\n.air-datepicker.-from-top- {\n transform: translateY(calc(var(--adp-transition-offset) * -1));\n}\n.air-datepicker.-from-right- {\n transform: translateX(var(--adp-transition-offset));\n}\n.air-datepicker.-from-bottom- {\n transform: translateY(var(--adp-transition-offset));\n}\n.air-datepicker.-from-left- {\n transform: translateX(calc(var(--adp-transition-offset) * -1));\n}\n.air-datepicker.-active-:not(.-custom-position-) {\n transform: translate(0, 0);\n opacity: 1;\n}\n.air-datepicker.-active-.-custom-position- {\n transition: none;\n}\n.air-datepicker.-inline- {\n border-color: var(--adp-border-color-inline);\n box-shadow: none;\n position: static;\n left: auto;\n right: auto;\n opacity: 1;\n transform: none;\n}\n.air-datepicker.-inline- .air-datepicker--pointer {\n display: none;\n}\n.air-datepicker.-is-mobile- {\n --adp-font-size: var(--adp-mobile-font-size);\n --adp-day-cell-height: var(--adp-mobile-day-cell-height);\n --adp-month-cell-height: var(--adp-mobile-month-cell-height);\n --adp-year-cell-height: var(--adp-mobile-year-cell-height);\n --adp-nav-height: var(--adp-mobile-nav-height);\n --adp-nav-action-size: var(--adp-mobile-nav-height);\n position: fixed;\n width: var(--adp-mobile-width);\n border: none;\n}\n.air-datepicker.-is-mobile- * {\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.air-datepicker.-is-mobile- .air-datepicker--pointer {\n display: none;\n}\n.air-datepicker.-is-mobile-:not(.-custom-position-) {\n transform: translate(-50%, calc(-50% + var(--adp-transition-offset)));\n}\n.air-datepicker.-is-mobile-.-active-:not(.-custom-position-) {\n transform: translate(-50%, -50%);\n}\n.air-datepicker.-custom-position- {\n transition: none;\n}\n.air-datepicker-global-container {\n position: absolute;\n left: 0;\n top: 0;\n}\n.air-datepicker--pointer {\n --pointer-half-size: calc(var(--adp-pointer-size) / 2);\n position: absolute;\n width: var(--adp-pointer-size);\n height: var(--adp-pointer-size);\n z-index: -1;\n}\n.air-datepicker--pointer:after {\n content: '';\n position: absolute;\n background: #fff;\n border-top: 1px solid var(--adp-border-color-inline);\n border-right: 1px solid var(--adp-border-color-inline);\n border-top-right-radius: var(--adp-poiner-border-radius);\n width: var(--adp-pointer-size);\n height: var(--adp-pointer-size);\n box-sizing: border-box;\n}\n.-top-left- .air-datepicker--pointer,\n.-top-center- .air-datepicker--pointer,\n.-top-right- .air-datepicker--pointer,\n[data-popper-placement^='top'] .air-datepicker--pointer {\n top: calc(100% - var(--pointer-half-size) + 1px);\n}\n.-top-left- .air-datepicker--pointer:after,\n.-top-center- .air-datepicker--pointer:after,\n.-top-right- .air-datepicker--pointer:after,\n[data-popper-placement^='top'] .air-datepicker--pointer:after {\n transform: rotate(135deg);\n}\n.-right-top- .air-datepicker--pointer,\n.-right-center- .air-datepicker--pointer,\n.-right-bottom- .air-datepicker--pointer,\n[data-popper-placement^='right'] .air-datepicker--pointer {\n right: calc(100% - var(--pointer-half-size) + 1px);\n}\n.-right-top- .air-datepicker--pointer:after,\n.-right-center- .air-datepicker--pointer:after,\n.-right-bottom- .air-datepicker--pointer:after,\n[data-popper-placement^='right'] .air-datepicker--pointer:after {\n transform: rotate(225deg);\n}\n.-bottom-left- .air-datepicker--pointer,\n.-bottom-center- .air-datepicker--pointer,\n.-bottom-right- .air-datepicker--pointer,\n[data-popper-placement^='bottom'] .air-datepicker--pointer {\n bottom: calc(100% - var(--pointer-half-size) + 1px);\n}\n.-bottom-left- .air-datepicker--pointer:after,\n.-bottom-center- .air-datepicker--pointer:after,\n.-bottom-right- .air-datepicker--pointer:after,\n[data-popper-placement^='bottom'] .air-datepicker--pointer:after {\n transform: rotate(315deg);\n}\n.-left-top- .air-datepicker--pointer,\n.-left-center- .air-datepicker--pointer,\n.-left-bottom- .air-datepicker--pointer,\n[data-popper-placement^='left'] .air-datepicker--pointer {\n left: calc(100% - var(--pointer-half-size) + 1px);\n}\n.-left-top- .air-datepicker--pointer:after,\n.-left-center- .air-datepicker--pointer:after,\n.-left-bottom- .air-datepicker--pointer:after,\n[data-popper-placement^='left'] .air-datepicker--pointer:after {\n transform: rotate(45deg);\n}\n.-top-left- .air-datepicker--pointer,\n.-bottom-left- .air-datepicker--pointer {\n left: var(--adp-pointer-offset);\n}\n.-top-right- .air-datepicker--pointer,\n.-bottom-right- .air-datepicker--pointer {\n right: var(--adp-pointer-offset);\n}\n.-top-center- .air-datepicker--pointer,\n.-bottom-center- .air-datepicker--pointer {\n left: calc(50% - var(--adp-pointer-size) / 2);\n}\n.-left-top- .air-datepicker--pointer,\n.-right-top- .air-datepicker--pointer {\n top: var(--adp-pointer-offset);\n}\n.-left-bottom- .air-datepicker--pointer,\n.-right-bottom- .air-datepicker--pointer {\n bottom: var(--adp-pointer-offset);\n}\n.-left-center- .air-datepicker--pointer,\n.-right-center- .air-datepicker--pointer {\n top: calc(50% - var(--adp-pointer-size) / 2);\n}\n.air-datepicker--navigation {\n grid-area: nav;\n}\n.air-datepicker--content {\n box-sizing: content-box;\n padding: var(--adp-padding);\n grid-area: body;\n}\n.-only-timepicker- .air-datepicker--content {\n display: none;\n}\n.air-datepicker--time {\n grid-area: timepicker;\n}\n.air-datepicker--buttons {\n grid-area: buttons;\n}\n.air-datepicker--buttons,\n.air-datepicker--time {\n padding: var(--adp-padding);\n border-top: 1px solid var(--adp-border-color-inner);\n}\n.air-datepicker-overlay {\n position: fixed;\n background: var(--adp-overlay-background-color);\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n opacity: 0;\n transition:\n opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),\n left 0s,\n height 0s,\n width 0s;\n transition-delay: 0s, var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration);\n z-index: var(--adp-overlay-z-index);\n}\n.air-datepicker-overlay.-active- {\n opacity: 1;\n width: 100%;\n height: 100%;\n transition:\n opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),\n height 0s,\n width 0s;\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 {format} from 'date-fns';\nimport {getRGBA} from '@verdocs/js-sdk';\nimport AirDatepicker from 'air-datepicker';\nimport localeEn from 'air-datepicker/locale/en';\nimport type {ITemplateField} from '@verdocs/js-sdk';\nimport {Component, Element, Event, EventEmitter, h, Host, Method, Prop, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {FORMAT_DATE} from '../../../utils/Types';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a date field. When tapped or clicked, the input element will display a date picker component.\n */\n@Component({\n tag: 'verdocs-field-date',\n styleUrl: 'verdocs-field-date.scss',\n shadow: false,\n})\nexport class VerdocsFieldDate {\n @Element()\n private hostEl: HTMLInputElement;\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 * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop() field?: ITemplateField;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\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() containerId = `verdocs-date-picker-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() showingProperties?: boolean = false;\n\n @Method()\n async focusField() {\n // Our input field is fake, so we fake the flash too\n this.focused = true;\n this.picker?.show();\n setTimeout(() => {\n this.focused = false;\n }, 500);\n }\n\n picker: AirDatepicker<HTMLElement> | null = null;\n\n componentDidLoad() {\n this.picker = new AirDatepicker<HTMLElement>(`#${this.containerId}`, {\n locale: localeEn,\n isMobile: true,\n autoClose: true,\n onShow: () => (this.focused = true),\n onHide: () => (this.focused = false),\n onSelect: ({date, formattedDate}) => {\n const event = new CustomEvent('fieldChange', {detail: {date, formattedDate}});\n this.hostEl.dispatchEvent(event);\n },\n });\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 @State() focused?: boolean = false;\n\n // NOTE: We don't use a \"date\" field here because browsers vary widely in their formatting of it.\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 = 'Date...', value = '', label = ''} = field || {};\n const backgroundColor = getRGBA(index);\n\n const formattedValue = value ? format(new Date(value), FORMAT_DATE) : '';\n\n if (this.done) {\n return <Host class={{done}}>{formattedValue}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n <input\n name={fieldname}\n class=\"input-el\"\n type=\"text\"\n value={formattedValue}\n id={this.containerId}\n disabled={disabled}\n placeholder={placeholder}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${field.name}`} 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={'Date fields allow the user to select a date.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-dropdown {\n font-family: $verdocs-primary-font;\n width: 85px;\n height: 20px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n\n label {\n top: -14px;\n left: 0;\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 select {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n position: absolute;\n background: linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);\n background-position:\n calc(100% - 7px) 6px,\n calc(100% - 3px) 6px,\n 100% 0;\n background-size:\n 5px 5px,\n 5px 5px,\n 2.5em 2.5em;\n background-repeat: no-repeat;\n appearance: none;\n\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n font-size: 11px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n padding: 0 5px;\n\n &:focus {\n outline: none;\n }\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled select {\n opacity: 0.5;\n }\n\n &.required {\n select {\n border: 1px solid $verdocs-red-1;\n }\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n display: block;\n margin-left: -33px;\n margin-top: -1px;\n transform: scale(0.7);\n }\n\n .settings-icon {\n position: absolute;\n top: -2px;\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\n/**\n * Displays a dropdown field that allows the user to choose one of a list of options.\n */\n@Component({\n tag: 'verdocs-field-dropdown',\n styleUrl: 'verdocs-field-dropdown.scss',\n shadow: false,\n})\nexport class VerdocsFieldDropdown {\n selectEl: HTMLSelectElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused = false;\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 this.selectEl?.showPicker();\n }\n\n handleChange(e: any) {\n this.fieldChange.emit(e.target.value);\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 let {required = false, value = '', label = '', options} = field || {};\n const backgroundColor = getRGBA(index);\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n // TODO: Look for other places this mistaken assumption was made.\n // Defaults only apply in destructuring if undefined. null doesn't trigger it.\n options ||= [];\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n <select disabled={disabled} onChange={e => this.handleChange(e)} ref={el => (this.selectEl = el as HTMLSelectElement)}>\n <option value=\"\">Select...</option>\n {options.map(option => (\n <option value={option.id} selected={option.id === value}>\n {option.label}\n </option>\n ))}\n {!options.length && <option value=\"NA\">N/A</option>}\n </select>\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={\"Dropdowns are used to capture a recipient's selection of one of several options.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-initial {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n letter-spacing: 0.3px;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\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 &.done {\n border: none;\n opacity: 1;\n }\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n }\n\n &.disabled img {\n opacity: 0.5;\n }\n\n button {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n border: none;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\n }\n\n &.required {\n border: 1px solid $verdocs-red-1;\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 {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\n/**\n * Displays an initial field. If an initial already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt an initial.\n *\n * NOTE: When initial fields are completed they will be filled with an initial \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-initial',\n styleUrl: 'verdocs-field-initial.scss',\n shadow: false,\n})\nexport class VerdocsFieldInitial {\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 * The document or template field to display.\n */\n @Prop({reflect: true}) initials: string = '';\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event emitted when an initial block is adopted by the user. The event detail will contain the base64 string of the initial image.\n */\n @Event({composed: true}) adopt: EventEmitter<string>;\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 input field value changes. Note that this will only be fired on blur, tab-out, ENTER key press, etc.\n * It is generally the best event to subscribe to than `input` for most cases EXCEPT autocomplete fields that need to see every\n * keypress.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\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 on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method() async focusField() {\n this.handleShow();\n }\n\n @State()\n tempInitials: string = '';\n\n private dialog?: any;\n\n hideDialog() {\n this.dialog?.remove();\n this.dialog = null;\n this.focused = false;\n }\n\n handleAdopt(e: any) {\n console.log('[INITIAL] Adopted initials');\n this.tempInitials = e.detail;\n this.fieldChange?.emit(this.tempInitials);\n this.hideDialog();\n }\n\n handleShow() {\n this.dialog = document.createElement('verdocs-initial-dialog');\n this.dialog.setAttribute('initials', this.initials);\n // this.dialog.setAttribute('roleindex', this.roleindex);\n this.dialog.addEventListener('exit', () => this.hideDialog());\n this.dialog.addEventListener('next', (e: any) => this.handleAdopt(e));\n document.body.append(this.dialog);\n this.focused = true;\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 {required = false, value = '', label = '', settings = {}} = field || {};\n const backgroundColor = getRGBA(index);\n const {base64} = settings;\n\n if (done) {\n return <Host class={{done}}>{value && <img src={value} alt=\"Initial\" />}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n {base64 ? <img src={base64} alt=\"Initial\" /> : <button onClick={() => !disabled && this.handleShow()}>Initial</button>}\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: field.name});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"initial fields capture the recipient's initials on a clause or page.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@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","@import '../../../theme.scss';\n\nverdocs-field-signature {\n font-family: $verdocs-primary-font;\n width: 83px;\n height: 36px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: 0.3px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\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 &.done {\n border: none;\n opacity: 1;\n }\n\n img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n }\n\n &.disabled img {\n opacity: 0.5;\n }\n\n button {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n box-sizing: border-box;\n border: none;\n color: rgba(0, 0, 0, 0.87);\n font-weight: 500;\n transform-origin: 0 0;\n height: 100%;\n width: 100%;\n background: none;\n font-size: 11px;\n\n &.hide {\n display: none;\n }\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 {ITemplateField, getRGBA, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, Method, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Displays a signature field. If a signature already exists, it will be displayed and the field\n * will be disabled. Otherwise, a placeholder button will be shown. Clicking the button will\n * show a dialog to adopt a signature.\n *\n * NOTE: When signature fields are completed they will be filled with a signature \"stamp\".\n * This requires operation against a live, valid envelope. If you are testing this component\n * in Storybook, it will not be visible here.\n */\n@Component({\n tag: 'verdocs-field-signature',\n styleUrl: 'verdocs-field-signature.scss',\n shadow: false,\n})\nexport class VerdocsFieldSignature {\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, the signature creation dialog will be initialized with this text.\n */\n @Prop({reflect: true}) name?: string = '';\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event emitted when the field has changed.\n */\n @Event({composed: true}) fieldChange: EventEmitter<string>;\n\n /**\n * Event fired on every character entered into / deleted from the field.\n */\n @Event({composed: true}) settingsPress: EventEmitter;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method() async focusField() {\n this.handleShow();\n }\n\n @State()\n tempSignature: string = '';\n\n private dialog?: any;\n\n hideDialog() {\n this.dialog?.remove();\n this.dialog = null;\n this.focused = false;\n }\n\n handleAdopt(e: any) {\n console.log('[SIGNATURE] Adopted signature');\n this.tempSignature = e.detail;\n this.fieldChange?.emit(this.tempSignature);\n this.hideDialog();\n }\n\n handleShow() {\n this.dialog = document.createElement('verdocs-signature-dialog');\n this.dialog.setAttribute('name', this.name);\n // this.dialog.setAttribute('roleindex', this.roleindex);\n this.dialog.addEventListener('exit', () => this.hideDialog());\n this.dialog.addEventListener('next', (e: any) => this.handleAdopt(e));\n document.body.append(this.dialog);\n this.focused = true;\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n this.showingProperties = false;\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n const {required = false, value = '', label = '', settings = {}} = field || {};\n const {base64} = settings;\n const backgroundColor = getRGBA(index);\n\n if (done) {\n return <Host class={{done}}>{value && <img src={base64} alt=\"\" />}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n\n {base64 ? <img src={base64} alt=\"\" /> : <button onClick={() => !disabled && this.handleShow()}>Signature</button>}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\"Signature fields capture a recipient's signature on a document.\"}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@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","@import '../../../theme.scss';\n\nverdocs-field-textbox {\n font-family: $verdocs-primary-font;\n box-sizing: border-box;\n width: 150px;\n height: 15px;\n display: block;\n font-size: 11px;\n position: relative;\n scroll-margin: 20px 0;\n letter-spacing: -0.2px;\n background-color: transparent;\n transform-origin: bottom left;\n border: 1px solid rgba(0, 0, 0, 0.2);\n\n .edge-top,\n .edge-right,\n .edge-left,\n .edge-bottom {\n position: absolute;\n z-index: 10;\n }\n\n .edge-top {\n top: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n .edge-right {\n top: 0;\n bottom: 0;\n right: -2px;\n width: 5px;\n }\n\n .edge-left {\n top: 0;\n left: -2px;\n bottom: 0;\n width: 5px;\n }\n\n .edge-bottom {\n bottom: -2px;\n left: 0;\n right: 0;\n height: 5px;\n }\n\n input {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n position: absolute;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled input {\n opacity: 0.5;\n }\n\n textarea {\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n width: 100%;\n height: 100%;\n resize: none;\n border: none;\n outline: none;\n padding: 0 3px;\n font-size: 11px;\n background: none;\n font-weight: 500;\n transform-origin: 0 0;\n box-sizing: border-box;\n color: rgba(0, 0, 0, 0.87);\n\n &.hide {\n display: none;\n }\n }\n\n &.disabled textarea {\n opacity: 0.5;\n }\n\n label {\n top: -14px;\n left: -1px;\n height: 14px;\n color: white;\n padding: 0 4px;\n font-size: 9px;\n line-height: 13px;\n position: absolute;\n background: #4a4a99;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n }\n\n &.required {\n border: 1px solid rgb(204, 0, 0);\n }\n\n &.focused {\n animation: verdocs-field-pulse 0.4s 1;\n }\n\n verdocs-button-panel {\n top: -3px;\n left: -2px;\n opacity: 0.5;\n z-index: 1000;\n cursor: pointer;\n position: absolute;\n transform: scale(0.6);\n\n &[data-active],\n &:hover {\n opacity: 1;\n }\n\n .icon {\n svg {\n fill: #333333;\n }\n\n &:hover {\n svg {\n fill: #000000;\n }\n }\n }\n }\n\n // @see https://community.logmein.com/t5/LastPass-Support-Discussions/placeholder-text-overrides-data-lpignore-quot-true-quot/td-p/295135\n // LastPass is ignoring the data-lpignore attribute in some cases\n [data-lastpass-icon-root] {\n display: none !important;\n }\n\n .settings-icon {\n position: absolute;\n top: -4px;\n left: -18px;\n display: inline-block;\n cursor: pointer;\n opacity: 0.3;\n\n svg {\n fill: $border-color;\n }\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n@keyframes verdocs-field-pulse {\n 0% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n 50% {\n background-color: rgba(0, 0, 0, 0);\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.35);\n }\n}\n","import interact from 'interactjs';\nimport {getRGBA, IEnvelopeField, ITemplateField, updateField, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Element, Prop, Method, Event, EventEmitter, Fragment, State} from '@stencil/core';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a simple 1-line text input field.\n */\n@Component({\n tag: 'verdocs-field-textbox',\n styleUrl: 'verdocs-field-textbox.scss',\n shadow: false,\n})\nexport class VerdocsFieldTextbox {\n @Element() el: HTMLElement;\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n\n /**\n * Fields may be attached to templates or envelopes, but only template fields may be edited.\n */\n @Prop({reflect: true}) source: 'template' | 'envelope' = 'template';\n\n /**\n * The source template or envelope ID the field is found in.\n */\n @Prop({reflect: true}) sourceid: string = '';\n\n /**\n * The name of the field to display.\n */\n @Prop({reflect: true}) fieldname: string = '';\n\n /**\n * Override the field's settings. This is intended to be used during signing when fields are being\n * mutated.\n */\n @Prop() field: IEnvelopeField | null | undefined = null;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) disabled?: boolean = false;\n\n /**\n * If set, overrides the field's settings object. Primarily used to support \"preview\" modes where all fields are disabled.\n */\n @Prop({reflect: true}) multiline?: boolean = false;\n\n /**\n * If set, a settings icon will be displayed on hover. The settings shown allow the field's recipient and other settings to be\n * changed, so it should typically only be enabled in the Builder.\n */\n @Prop({reflect: true}) editable?: boolean = false;\n\n /**\n * If set, the field may be dragged to a new location. This should only be enabled in the Builder, or for self-placed fields.\n */\n @Prop({reflect: true}) moveable?: boolean = false;\n\n /**\n * If set, the field is considered \"done\" and is drawn in a display-final-value state.\n */\n @Prop({reflect: true}) done?: boolean = false;\n\n /**\n * If set, the field will be be scaled horizontally by this factor.\n */\n @Prop({reflect: true}) xscale?: number = 1;\n\n /**\n * If set, the field will be be scaled vertically by this factor.\n */\n @Prop({reflect: true}) yscale?: number = 1;\n\n /**\n * The page the field is on\n */\n @Prop({reflect: true}) pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n @State() focused?: boolean = false;\n\n @Method()\n async focusField() {\n this.inputEl.focus();\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n this.showingProperties = false;\n }\n\n componentDidRender() {\n interact.dynamicDrop(true);\n\n if (this.editable) {\n interact(this.el).resizable({\n edges: {\n top: '.edge-top',\n left: '.edge-left',\n bottom: '.edge-bottom',\n right: '.edge-right',\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: {width: 30, height: 15},\n }),\n ],\n listeners: {\n start: this.handleResizeStart.bind(this),\n move: this.handleResize.bind(this),\n end: this.handleResizeEnd.bind(this),\n },\n });\n }\n }\n\n handleResizeStart(e: any) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n handleResize(e: any) {\n let {width, height} = e.rect;\n\n const dX = e.deltaRect.left;\n const dY = e.deltaRect.bottom;\n const currentLeft = parseFloat(e.target.style.left);\n const currentBottom = parseFloat(e.target.style.bottom);\n\n width /= this.xscale;\n height /= this.yscale;\n\n Object.assign(e.target.style, {\n width: `${width}px`,\n height: `${height}px`,\n left: `${currentLeft + dX}px`,\n bottom: `${currentBottom - dY}px`,\n });\n }\n\n handleResizeEnd(e: any) {\n const {sourceid, fieldname} = this;\n\n const width = Math.round(parseFloat(e.target.style.width));\n let height = Math.round(parseFloat(e.target.style.height));\n\n if (height < 20) {\n height = 15;\n }\n const multiline = height > 15;\n\n updateField(VerdocsEndpoint.getDefault(), sourceid, fieldname, {width, height, multiline})\n .then(async updatedField => {\n const template = await Store.getTemplate(VerdocsEndpoint.getDefault(), this.sourceid);\n const newTemplate = JSON.parse(JSON.stringify(template));\n const fieldIndex = newTemplate.fields.findIndex(field => field.name === fieldname);\n if (fieldIndex > -1) {\n newTemplate.fields[fieldIndex] = updatedField;\n }\n Store.updateTemplate(this.sourceid, newTemplate);\n\n this.settingsChanged?.emit({fieldName: fieldname, field: updatedField});\n Object.assign(e.target.dataset, {x: 0, y: 0, h: 0});\n })\n .catch(e => console.log('Field update failed', e));\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, focused, xscale = 1, yscale = 1} = this;\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n let {required = false, placeholder = '', label = '', width = 150, default: value = '', multiline = false} = field || {};\n const backgroundColor = getRGBA(index);\n\n // TODO: Consolidate value/defaultValue handling between template and envelope fields.\n if ((field as any)?.value) {\n value = (field as any)?.value;\n }\n\n // TODO: This is an outdated technique from the old system. We should compute it.\n const maxlength = width / 5;\n\n if (done) {\n return <Host class={{done}}>{value}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done, focused}} style={{backgroundColor}}>\n {editable && <div class=\"edge-top\" />}\n {editable && <div class=\"edge-right\" />}\n {editable && <div class=\"edge-left\" />}\n {editable && <div class=\"edge-bottom\" />}\n\n {label && <label>{label}</label>}\n\n {multiline ? (\n <textarea\n name={fieldname}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n >\n {value}\n </textarea>\n ) : (\n <input\n type=\"text\"\n name={fieldname}\n value={value}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n maxlength={maxlength}\n ref={el => (this.inputEl = el)}\n onFocus={() => (this.focused = true)}\n onBlur={() => (this.focused = false)}\n />\n )}\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={\n 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the \"name\" field.<br /><br />If marked required, the participant must complete the field before proceeding.'\n }\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-field-timestamp {\n width: 160px;\n height: 15px;\n display: block;\n font-size: 9px;\n position: relative;\n scroll-margin: 20px 0;\n background-color: transparent;\n transform-origin: bottom left;\n font-family: $verdocs-primary-font;\n\n &.done {\n opacity: 1;\n }\n\n input {\n position: absolute;\n\n // This is needed to bring down the cursor from the parent element, which is where interactjs applies it\n cursor: inherit;\n\n opacity: 0.5;\n width: 100%;\n height: 100%;\n font-size: 9px;\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 border: 1px solid rgba(0, 0, 0, 0.2);\n\n &.hide {\n display: none;\n }\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","import {format} from 'date-fns/format';\nimport {ITemplateField, getRGBA, IEnvelopeField} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Method, Event, EventEmitter, Fragment, State} from '@stencil/core';\nimport {FORMAT_TIMESTAMP} from '../../../utils/Types';\nimport {SettingsIcon} from '../../../utils/Icons';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a timestamp. Timestamps are not editable by signers. Instead, they are automatically\n * filled when the signer submits the document.\n */\n@Component({\n tag: 'verdocs-field-timestamp',\n styleUrl: 'verdocs-field-timestamp.scss',\n shadow: false,\n})\nexport class VerdocsFieldTimestamp {\n private el: HTMLInputElement;\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() pagenumber?: number = 1;\n\n /**\n * Event fired when the field's settings are changed.\n */\n @Event({composed: true}) settingsChanged: EventEmitter<{fieldName: string; field: ITemplateField}>;\n\n /**\n * Event fired when the field is deleted.\n */\n @Event({composed: true}) deleted: EventEmitter<{fieldName: string}>;\n\n @State() showingProperties?: boolean = false;\n\n @Method() async focusField() {\n this.el.focus();\n }\n\n @Method()\n async showSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.showPanel) {\n settingsPanel.showPanel();\n }\n }\n\n @Method()\n async hideSettingsPanel() {\n const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`) as any;\n if (settingsPanel && settingsPanel.hidePanel) {\n settingsPanel.hidePanel();\n }\n this.showingProperties = false;\n }\n\n render() {\n const {source, sourceid, fieldname, editable = false, done = false, disabled = false, 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 const formatted = format(new Date(value || new Date().toISOString()), FORMAT_TIMESTAMP);\n\n if (done) {\n return <Host class={{done}}>{formatted}</Host>;\n }\n\n return (\n <Host class={{required, disabled, done}} style={{backgroundColor}}>\n {label && <label>{label}</label>}\n <input type=\"text\" placeholder={placeholder} value={formatted} disabled={true} ref={el => (this.el = el)} />\n\n {editable && (\n <Fragment>\n <div\n id={`verdocs-settings-panel-trigger-${fieldname}`}\n style={{transform: `scale(${Math.floor((1 / xscale) * 1000) / 1000}, ${Math.floor((1 / yscale) * 1000) / 1000})`}}\n class=\"settings-icon\"\n innerHTML={SettingsIcon}\n onClick={(e: any) => {\n e.stopPropagation();\n this.showingProperties = !this.showingProperties;\n }}\n />\n\n {this.showingProperties && (\n <verdocs-portal anchor={`verdocs-settings-panel-trigger-${fieldname}`} onClickAway={() => (this.showingProperties = false)}>\n <verdocs-template-field-properties\n templateId={sourceid}\n fieldName={fieldname}\n onClose={() => this.hideSettingsPanel()}\n onDelete={() => {\n this.deleted?.emit({fieldName: fieldname});\n return this.hideSettingsPanel();\n }}\n onSettingsChanged={e => {\n this.settingsChanged?.emit(e.detail);\n return this.hideSettingsPanel();\n }}\n helpText={'Time stamps are automatically set when the recipient signs the document.'}\n />\n </verdocs-portal>\n )}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-initial-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n position: fixed;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: #fff;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, Host, h, Event, EventEmitter, State} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify an initials image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their initials with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-initial-dialog',\n styleUrl: 'verdocs-initial-dialog.scss',\n})\nexport class VerdocsInitialDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() initials: string = '';\n\n /**\n * Event fired when the initials are adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredInitials: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredInitials = this.initials.toUpperCase();\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n console.log('redrawing sig');\n if (!this.canvasElement) {\n console.log('no canvas');\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n console.log('cw', canvasWidth);\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredInitials).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredInitials, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleNameChange(e: any) {\n this.enteredInitials = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.exit.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Initial</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Initials...\" label=\"Initials\" value={this.enteredInitials} onInput={e => this.handleNameChange(e)} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/* <div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/* </div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-signature-dialog {\n font-family: $primary-font;\n box-sizing: border-box;\n position: fixed;\n z-index: 10000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #0000007f;\n\n .dialog {\n width: 100%;\n max-width: 340px;\n border-radius: 4px;\n overflow: hidden;\n box-shadow: 3px 3px 5px 1px rgba(40, 40, 40, 0.4);\n background: $dialog-bg;\n }\n\n .heading {\n display: flex;\n flex-direction: row;\n padding: 20px 20px 0 20px;\n line-height: 28px;\n font-size: 20px;\n font-weight: 500;\n }\n\n .content {\n font-size: 14px;\n padding: 20px;\n }\n\n .buttons {\n display: flex;\n margin: 20px 0 0 0;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n verdocs-button {\n margin-left: 16px;\n }\n }\n\n canvas {\n background: $verdocs-grey-4;\n box-sizing: border-box;\n margin: 0 auto;\n width: 300px;\n // TODO: The original app had an aspect ratio of (80 / 305) * (signatureBodyWidth - 20)\n height: 79px;\n max-width: 100%;\n box-shadow: 0 0 6px 0 #0000001f;\n }\n\n .disclaimer {\n text-align: justify;\n padding: 8px 0;\n font-size: 11px;\n line-height: 14px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .as-shown {\n font-size: 11px;\n margin: 4px 0 20px 4px;\n color: rgba(0, 0, 0, 0.54);\n }\n\n .tabs {\n display: flex;\n flex-direction: row;\n\n .tab {\n padding: 8px 15px;\n cursor: pointer;\n\n &.active {\n border-bottom: 2px solid $light-border-color;\n }\n\n &:hover {\n color: $primary-color;\n }\n }\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, State, Host} from '@stencil/core';\n\n/**\n * Display a dialog that allows the user to specify a signature image, either by using a signature-font-generated image\n * based on their full name, or by hand-drawing their signature with a mouse or tablet.\n */\n@Component({\n tag: 'verdocs-signature-dialog',\n styleUrl: 'verdocs-signature-dialog.scss',\n})\nexport class VerdocsSignatureDialog {\n private canvasElement?: HTMLCanvasElement;\n\n /**\n * Initial signature text\n */\n @Prop() name: string = '';\n\n /**\n * Fired when the user completes the dialog and clicks Adopt. The event detail will contain a base64-encoded string\n * representation of the signature adopted.\n */\n @Event({composed: true}) next: EventEmitter<string>;\n\n /**\n * Event fired when the step is cancelled. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({composed: true}) exit: EventEmitter;\n\n @State() fontLoaded = false;\n\n @State() enteredName: string = '';\n\n @State() mode: string = 'type';\n\n componentWillLoad() {\n this.enteredName = this.name;\n\n const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');\n ds.load().then(font => {\n document.fonts.add(font);\n this.fontLoaded = true;\n });\n }\n\n componentDidLoad() {\n this.redrawSignature();\n }\n\n componentDidUpdate() {\n this.redrawSignature();\n }\n\n redrawSignature() {\n if (!this.canvasElement) {\n return;\n }\n\n const canvasWidth = this.canvasElement.width;\n\n const context = this.canvasElement.getContext('2d');\n context.clearRect(0, 0, this.canvasElement.width, this.canvasElement.height);\n\n let fontSize = 100;\n do {\n fontSize -= 2;\n context.font = `${fontSize}px Dancing Script`;\n } while (context.measureText(this.enteredName).width > canvasWidth - 32); // 32px padding each side\n\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `${fontSize}px Dancing Script`;\n context.fillText(this.enteredName, this.canvasElement.width / 2, this.canvasElement.height / 2);\n }\n\n handleNameChange(e: any) {\n this.enteredName = e.target.value;\n }\n\n handleCancel(e: any) {\n e.stopPropagation();\n e.preventDefault();\n this.exit.emit();\n }\n\n handleAdopt(e: any) {\n e.stopPropagation();\n e.preventDefault();\n const data = this.canvasElement.toDataURL('image/png');\n this.next.emit(data);\n }\n\n /*\n selColor(hex: string) {\n this.color = hex;\n this.animateDraw();\n }\n\n stopDraw() {\n this.paint = false;\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n draw(e) {\n this.paint = true;\n this.addPoints(e, false);\n this.animateDraw();\n }\n\n recordPoints(e) {\n if (this.paint) {\n this.addPoints(e, true);\n this.animateDraw();\n }\n }\n\n animateDraw() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n\n this.canvas.strokeStyle = this.color || '#000000';\n this.canvas.lineJoin = 'round';\n this.canvas.lineWidth = 3;\n\n for (let i = 0; i < this.points.length; i++) {\n this.canvas.beginPath();\n if (this.points[i].drag && i) {\n this.canvas.moveTo(this.points[i - 1].x, this.points[i - 1].y);\n // this.canvas.arc(this.points[i - 1].x, this.points[i - 1].y, 2, 0, 2 * Math.PI, false);\n } else {\n this.canvas.moveTo(this.points[i].x - 1, this.points[i].y);\n // this.canvas.arc(this.points[i].x, this.points[i].y, 2, 0, 2 * Math.PI, false);\n }\n\n this.canvas.lineTo(this.points[i].x, this.points[i].y);\n this.canvas.closePath();\n this.canvas.stroke();\n }\n }\n\n drawCurve(color: string, curve: number) {\n this.canvas.beginPath();\n }\n\n\n\n addPoints(e, drag: boolean) {\n if (window) {\n let x;\n let y;\n e.preventDefault();\n if (e.touches && e.touches.length > 0) {\n x = e.touches[0].clientX;\n } else {\n x = e.clientX;\n }\n\n if (e.touches && e.touches.length > 0) {\n y = e.touches[0].clientY;\n } else {\n y = e.clientY;\n }\n const rect = this.signatureCanvas.nativeElement.getBoundingClientRect();\n this.points.push({\n x: x - rect.left,\n y: y - rect.top,\n drag: drag\n });\n }\n }\n\n clearPad() {\n this.canvas.clearRect(0, 0, this.canvas.canvas.offsetWidth, this.canvas.canvas.offsetHeight);\n this.points = [];\n this.adoptedAndSigned = !this.hasSignature();\n }\n\n async adoptAndSign() {\n try {\n this.adoptedAndSigned = true;\n await this.updateFullName();\n await this.captureSignatureFromCanvas();\n const message = this.signatureMode === 'Signature' ? 'Saving Signature' : 'Saving Initial';\n this.snackbarService.open(message, 'OK', this.snackbarService.initConfig(null, 'bottom'));\n this.handleMode();\n } catch (err) {\n this.snackbarService.open('Failed to apply signature', 'OK', this.snackbarService.initConfig(null, 'bottom'));\n }\n }\n\n handleMode() {\n let currentField;\n switch (this.mode) {\n case 'signerview':\n if (this.signatureMode === 'Signature') {\n this.signatureService.postSignatureBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateSigned(currentField.fName, true);\n this.signatureService.toggleSig(false);\n this.signatureService.setSignatureId(result.id);\n this.signatureService.putSignatureField(this.envelopeId, this.fieldName, result.id).then(res => {\n this.eventTracker.createEvent({\n category: 'verdoc',\n action: 'verdoc signed',\n label: `verdoc id: ${this.envelopeId}`\n })\n if (res && res.settings) {\n this.signatureService.setSignatureData(res.settings.base64);\n this.signatureService.setSignatureId(res.settings.signature_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_sig: res.settings.base64, sig_id: res.settings.signature_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save signature. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n } else {\n this.signatureService.postInitialBlob().then(result => {\n if (result && result.id && result.url) {\n currentField = this.signatureService.currField;\n this.signatureService.updateInitialed(currentField.fName, true);\n this.signatureService.setInitialId(result.id);\n this.signatureService.toggleSig(false);\n this.signatureService.putInitialField(this.envelopeId, this.fieldName, result.id).then(res => {\n if (res && res.settings) {\n this.signatureService.setInitialData(res.settings.base64);\n this.signatureService.setInitialId(res.settings.initial_id);\n }\n this.snackbarService.dismiss();\n this.dialog.close({ status: 'saved', temp_int: res.settings.base64, int_id: res.settings.initial_id });\n }).catch(err => {\n this.snackbarService.open('Failed to save initial. Please try again.', 'DISMISS', {\n duration: 3000\n });\n this.adoptedAndSigned = false;\n return err;\n });\n }\n });\n }\n break;\n }\n }\n */\n\n render() {\n return (\n <Host onClick={e => this.handleCancel(e)}>\n <div class=\"dialog\">\n <div class=\"heading\">Create Your Signature</div>\n\n <div class=\"content\">\n <verdocs-text-input placeholder=\"Full Name...\" label=\"Full Name\" value={this.enteredName} onInput={e => this.handleNameChange(e)} onClick={e => e.stopPropagation()} />\n <div class=\"as-shown\">As shown on driver's license or govt. ID card.</div>\n\n {/*<div class=\"tabs\">*/}\n {/* <div class={{tab: true, active: this.mode === 'type'}} onClick={() => (this.mode = 'type')}>*/}\n {/* Type*/}\n {/* </div>*/}\n {/*<div class={{tab: true, active: this.mode === 'draw'}} onClick={() => (this.mode = 'draw')}>*/}\n {/* Draw*/}\n {/*</div>*/}\n {/*</div>*/}\n\n {this.fontLoaded ? <canvas ref={el => (this.canvasElement = el as HTMLCanvasElement)} /> : <div style={{display: 'none'}} />}\n\n <div class=\"disclaimer\">\n By clicking Adopt, I agree that the signature will be the electronic representation of my signature for all purposes when I (or my agent) use them on documents,\n including legally binding contracts &mdash; just the same as a pen-and-paper signature or initial.\n </div>\n\n <div class=\"buttons\">\n <verdocs-button label=\"CANCEL\" size=\"normal\" variant=\"outline\" onClick={e => this.handleCancel(e)} />\n <verdocs-button label=\"Adopt & Sign\" size=\"normal\" onClick={e => this.handleAdopt(e)} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@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"],"mappings":"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","ignoreList":[]}