@verdocs/web-sdk 5.0.17 → 5.0.19

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 (199) hide show
  1. package/dist/cjs/{Datastore-4448f6ef.js → Datastore-931fd77e.js} +7 -4
  2. package/dist/cjs/Datastore-931fd77e.js.map +1 -0
  3. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  4. package/dist/cjs/verdocs-checkbox_6.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +5 -6
  9. package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js.map +1 -1
  10. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-menu-panel_2.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-preview_6.cjs.entry.js +18 -15
  14. package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +1 -1
  15. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  17. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +3 -1
  18. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
  19. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +0 -1
  20. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  21. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +1 -3
  22. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
  23. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.css +1 -1
  24. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +16 -13
  25. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js.map +1 -1
  26. package/dist/components/{p-78043e4b.js → p-02ebfef0.js} +20 -17
  27. package/dist/components/p-02ebfef0.js.map +1 -0
  28. package/dist/components/{p-d9a2e920.js → p-1ab01232.js} +3 -3
  29. package/dist/components/{p-d9a2e920.js.map → p-1ab01232.js.map} +1 -1
  30. package/dist/components/{p-efa3b8ac.js → p-1ce18a42.js} +2 -2
  31. package/dist/components/{p-efa3b8ac.js.map → p-1ce18a42.js.map} +1 -1
  32. package/dist/components/{p-c662e5f4.js → p-1f0f5448.js} +2 -2
  33. package/dist/components/{p-c662e5f4.js.map → p-1f0f5448.js.map} +1 -1
  34. package/dist/components/{p-0ed0ac8b.js → p-28e3b2e3.js} +14 -14
  35. package/dist/components/{p-0ed0ac8b.js.map → p-28e3b2e3.js.map} +1 -1
  36. package/dist/components/{p-9bcf9620.js → p-2d8b46e5.js} +2 -2
  37. package/dist/components/{p-9bcf9620.js.map → p-2d8b46e5.js.map} +1 -1
  38. package/dist/components/{p-58d027d1.js → p-3828cb31.js} +7 -4
  39. package/dist/components/p-3828cb31.js.map +1 -0
  40. package/dist/components/{p-314d698d.js → p-53168eec.js} +2 -2
  41. package/dist/components/{p-314d698d.js.map → p-53168eec.js.map} +1 -1
  42. package/dist/components/{p-5e378f0e.js → p-681e7dd4.js} +3 -4
  43. package/dist/components/p-681e7dd4.js.map +1 -0
  44. package/dist/components/{p-14c80ae8.js → p-91d65fde.js} +3 -3
  45. package/dist/components/{p-14c80ae8.js.map → p-91d65fde.js.map} +1 -1
  46. package/dist/components/{p-d8340641.js → p-a415ce22.js} +3 -3
  47. package/dist/components/{p-d8340641.js.map → p-a415ce22.js.map} +1 -1
  48. package/dist/components/{p-022b87d3.js → p-b8885b5c.js} +2 -2
  49. package/dist/components/{p-022b87d3.js.map → p-b8885b5c.js.map} +1 -1
  50. package/dist/components/{p-5182136e.js → p-c4c9feda.js} +3 -3
  51. package/dist/components/{p-5182136e.js.map → p-c4c9feda.js.map} +1 -1
  52. package/dist/components/{p-2ddf4d5b.js → p-e4799d51.js} +3 -3
  53. package/dist/components/{p-2ddf4d5b.js.map → p-e4799d51.js.map} +1 -1
  54. package/dist/components/{p-261521bc.js → p-e4a97ad5.js} +3 -3
  55. package/dist/components/{p-261521bc.js.map → p-e4a97ad5.js.map} +1 -1
  56. package/dist/components/{p-176a07b2.js → p-e9528d9f.js} +6 -4
  57. package/dist/components/{p-176a07b2.js.map → p-e9528d9f.js.map} +1 -1
  58. package/dist/components/{p-a55f08ad.js → p-e95ded6b.js} +14 -14
  59. package/dist/components/{p-a55f08ad.js.map → p-e95ded6b.js.map} +1 -1
  60. package/dist/components/{p-7cd6c0ce.js → p-eb12a71c.js} +2 -2
  61. package/dist/components/{p-7cd6c0ce.js.map → p-eb12a71c.js.map} +1 -1
  62. package/dist/components/{p-6c4fe42c.js → p-eb2ad8d0.js} +2 -2
  63. package/dist/components/{p-6c4fe42c.js.map → p-eb2ad8d0.js.map} +1 -1
  64. package/dist/components/{p-c1159428.js → p-ecfc85ae.js} +4 -6
  65. package/dist/components/p-ecfc85ae.js.map +1 -0
  66. package/dist/components/{p-211fa3e2.js → p-f6156f7a.js} +3 -3
  67. package/dist/components/{p-211fa3e2.js.map → p-f6156f7a.js.map} +1 -1
  68. package/dist/components/{p-c76fab71.js → p-fcf13666.js} +13 -13
  69. package/dist/components/{p-c76fab71.js.map → p-fcf13666.js.map} +1 -1
  70. package/dist/components/verdocs-build.js +20 -20
  71. package/dist/components/verdocs-envelope-recipient-link.js +1 -1
  72. package/dist/components/verdocs-envelope-recipient-summary.js +1 -1
  73. package/dist/components/verdocs-envelope-sidebar.js +2 -2
  74. package/dist/components/verdocs-field-attachment.js +1 -1
  75. package/dist/components/verdocs-field-checkbox.js +1 -1
  76. package/dist/components/verdocs-field-date.js +1 -1
  77. package/dist/components/verdocs-field-dropdown.js +1 -1
  78. package/dist/components/verdocs-field-initial.js +1 -1
  79. package/dist/components/verdocs-field-payment.js +2 -2
  80. package/dist/components/verdocs-field-radio.js +1 -1
  81. package/dist/components/verdocs-field-signature.js +1 -1
  82. package/dist/components/verdocs-field-textarea.js +1 -1
  83. package/dist/components/verdocs-field-textbox.js +1 -1
  84. package/dist/components/verdocs-field-timestamp.js +1 -1
  85. package/dist/components/verdocs-preview.js +1 -1
  86. package/dist/components/verdocs-send.js +1 -1
  87. package/dist/components/verdocs-sign.js +2 -2
  88. package/dist/components/verdocs-template-attachments.js +1 -1
  89. package/dist/components/verdocs-template-build-tabs.js +1 -1
  90. package/dist/components/verdocs-template-document-page.js +1 -1
  91. package/dist/components/verdocs-template-field-properties.js +1 -1
  92. package/dist/components/verdocs-template-fields.js +1 -1
  93. package/dist/components/verdocs-template-role-properties.js +1 -1
  94. package/dist/components/verdocs-template-roles.js +1 -1
  95. package/dist/components/verdocs-view.js +1 -1
  96. package/dist/esm/{Datastore-b55570ff.js → Datastore-3f924d94.js} +7 -4
  97. package/dist/esm/Datastore-3f924d94.js.map +1 -0
  98. package/dist/esm/verdocs-build.entry.js +1 -1
  99. package/dist/esm/verdocs-checkbox_6.entry.js +1 -1
  100. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  101. package/dist/esm/verdocs-envelope-recipient-summary.entry.js +1 -1
  102. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  103. package/dist/esm/verdocs-field-attachment_13.entry.js +5 -6
  104. package/dist/esm/verdocs-field-attachment_13.entry.js.map +1 -1
  105. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  106. package/dist/esm/verdocs-kba-dialog_2.entry.js +1 -1
  107. package/dist/esm/verdocs-menu-panel_2.entry.js +1 -1
  108. package/dist/esm/verdocs-preview_6.entry.js +18 -15
  109. package/dist/esm/verdocs-preview_6.entry.js.map +1 -1
  110. package/dist/esm/verdocs-sign.entry.js +1 -1
  111. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  112. package/dist/esm-es5/{Datastore-b55570ff.js → Datastore-3f924d94.js} +2 -2
  113. package/dist/esm-es5/Datastore-3f924d94.js.map +1 -0
  114. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  115. package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -1
  116. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  117. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-field-attachment_13.entry.js.map +1 -1
  121. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-menu-panel_2.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-preview_6.entry.js +2 -2
  125. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  126. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  128. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +2 -2
  129. package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +3 -0
  130. package/dist/verdocs-web-sdk/{p-19462841.system.entry.js → p-086ee7f1.system.entry.js} +2 -2
  131. package/dist/verdocs-web-sdk/{p-fedcc413.entry.js → p-1902bf04.entry.js} +2 -2
  132. package/dist/verdocs-web-sdk/{p-fda9c437.system.entry.js → p-208a8b41.system.entry.js} +2 -2
  133. package/dist/verdocs-web-sdk/{p-00ed440b.system.entry.js → p-2175c81a.system.entry.js} +2 -2
  134. package/dist/verdocs-web-sdk/{p-3cc50f0b.system.entry.js → p-26106576.system.entry.js} +2 -2
  135. package/dist/verdocs-web-sdk/{p-eb3ceb39.system.entry.js → p-32cf09f0.system.entry.js} +2 -2
  136. package/dist/verdocs-web-sdk/{p-99d5305a.system.entry.js → p-3417143a.system.entry.js} +3 -3
  137. package/dist/verdocs-web-sdk/p-3417143a.system.entry.js.map +1 -0
  138. package/dist/verdocs-web-sdk/{p-9021fc7b.system.entry.js → p-34c2298e.system.entry.js} +2 -2
  139. package/dist/verdocs-web-sdk/{p-58d027d1.js → p-3828cb31.js} +2 -2
  140. package/dist/verdocs-web-sdk/p-3828cb31.js.map +1 -0
  141. package/dist/verdocs-web-sdk/{p-dced30fa.entry.js → p-471fd78e.entry.js} +2 -2
  142. package/dist/verdocs-web-sdk/{p-17f35bcb.entry.js → p-60da8e6b.entry.js} +2 -2
  143. package/dist/verdocs-web-sdk/{p-35dcb386.system.js → p-65be7617.system.js} +2 -2
  144. package/dist/verdocs-web-sdk/p-65be7617.system.js.map +1 -0
  145. package/dist/verdocs-web-sdk/{p-e3077c5e.system.entry.js → p-6b2fc4bd.system.entry.js} +2 -2
  146. package/dist/verdocs-web-sdk/{p-8bdd951b.system.entry.js → p-7975ec40.system.entry.js} +2 -2
  147. package/dist/verdocs-web-sdk/p-7975ec40.system.entry.js.map +1 -0
  148. package/dist/verdocs-web-sdk/{p-277a93d5.entry.js → p-7ffebea3.entry.js} +2 -2
  149. package/dist/verdocs-web-sdk/p-7ffebea3.entry.js.map +1 -0
  150. package/dist/verdocs-web-sdk/{p-bbf30adc.system.entry.js → p-90690dde.system.entry.js} +2 -2
  151. package/dist/verdocs-web-sdk/{p-03399c69.entry.js → p-a4d94e2e.entry.js} +2 -2
  152. package/dist/verdocs-web-sdk/{p-d8d279a8.entry.js → p-b0bf5256.entry.js} +3 -3
  153. package/dist/verdocs-web-sdk/p-b0bf5256.entry.js.map +1 -0
  154. package/dist/verdocs-web-sdk/{p-882aa754.entry.js → p-c59aa521.entry.js} +2 -2
  155. package/dist/verdocs-web-sdk/{p-f2b16ddf.entry.js → p-cc230abf.entry.js} +2 -2
  156. package/dist/verdocs-web-sdk/{p-c2bca18a.entry.js → p-d4aff253.entry.js} +2 -2
  157. package/dist/verdocs-web-sdk/p-db1faf41.entry.js +2 -0
  158. package/dist/verdocs-web-sdk/{p-d23b5949.entry.js.map → p-db1faf41.entry.js.map} +1 -1
  159. package/dist/verdocs-web-sdk/{p-ea078594.system.entry.js → p-dc5c275f.system.entry.js} +2 -2
  160. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js +1 -1
  161. package/dist/verdocs-web-sdk/{p-88baf4d1.entry.js → p-e84cf41e.entry.js} +2 -2
  162. package/dist/verdocs-web-sdk/{p-546daa8b.entry.js → p-f6ed768d.entry.js} +2 -2
  163. package/dist/verdocs-web-sdk/{p-41f22b0a.system.entry.js → p-ff048639.system.entry.js} +2 -2
  164. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  165. package/package.json +4 -4
  166. package/dist/cjs/Datastore-4448f6ef.js.map +0 -1
  167. package/dist/components/p-58d027d1.js.map +0 -1
  168. package/dist/components/p-5e378f0e.js.map +0 -1
  169. package/dist/components/p-78043e4b.js.map +0 -1
  170. package/dist/components/p-c1159428.js.map +0 -1
  171. package/dist/custom-elements.json +0 -2156
  172. package/dist/esm/Datastore-b55570ff.js.map +0 -1
  173. package/dist/esm-es5/Datastore-b55570ff.js.map +0 -1
  174. package/dist/verdocs-web-sdk/p-277a93d5.entry.js.map +0 -1
  175. package/dist/verdocs-web-sdk/p-35dcb386.system.js.map +0 -1
  176. package/dist/verdocs-web-sdk/p-58d027d1.js.map +0 -1
  177. package/dist/verdocs-web-sdk/p-8bdd951b.system.entry.js.map +0 -1
  178. package/dist/verdocs-web-sdk/p-99d5305a.system.entry.js.map +0 -1
  179. package/dist/verdocs-web-sdk/p-d23b5949.entry.js +0 -2
  180. package/dist/verdocs-web-sdk/p-d8d279a8.entry.js.map +0 -1
  181. /package/dist/verdocs-web-sdk/{p-19462841.system.entry.js.map → p-086ee7f1.system.entry.js.map} +0 -0
  182. /package/dist/verdocs-web-sdk/{p-fedcc413.entry.js.map → p-1902bf04.entry.js.map} +0 -0
  183. /package/dist/verdocs-web-sdk/{p-fda9c437.system.entry.js.map → p-208a8b41.system.entry.js.map} +0 -0
  184. /package/dist/verdocs-web-sdk/{p-00ed440b.system.entry.js.map → p-2175c81a.system.entry.js.map} +0 -0
  185. /package/dist/verdocs-web-sdk/{p-3cc50f0b.system.entry.js.map → p-26106576.system.entry.js.map} +0 -0
  186. /package/dist/verdocs-web-sdk/{p-eb3ceb39.system.entry.js.map → p-32cf09f0.system.entry.js.map} +0 -0
  187. /package/dist/verdocs-web-sdk/{p-9021fc7b.system.entry.js.map → p-34c2298e.system.entry.js.map} +0 -0
  188. /package/dist/verdocs-web-sdk/{p-dced30fa.entry.js.map → p-471fd78e.entry.js.map} +0 -0
  189. /package/dist/verdocs-web-sdk/{p-17f35bcb.entry.js.map → p-60da8e6b.entry.js.map} +0 -0
  190. /package/dist/verdocs-web-sdk/{p-e3077c5e.system.entry.js.map → p-6b2fc4bd.system.entry.js.map} +0 -0
  191. /package/dist/verdocs-web-sdk/{p-bbf30adc.system.entry.js.map → p-90690dde.system.entry.js.map} +0 -0
  192. /package/dist/verdocs-web-sdk/{p-03399c69.entry.js.map → p-a4d94e2e.entry.js.map} +0 -0
  193. /package/dist/verdocs-web-sdk/{p-882aa754.entry.js.map → p-c59aa521.entry.js.map} +0 -0
  194. /package/dist/verdocs-web-sdk/{p-f2b16ddf.entry.js.map → p-cc230abf.entry.js.map} +0 -0
  195. /package/dist/verdocs-web-sdk/{p-c2bca18a.entry.js.map → p-d4aff253.entry.js.map} +0 -0
  196. /package/dist/verdocs-web-sdk/{p-ea078594.system.entry.js.map → p-dc5c275f.system.entry.js.map} +0 -0
  197. /package/dist/verdocs-web-sdk/{p-88baf4d1.entry.js.map → p-e84cf41e.entry.js.map} +0 -0
  198. /package/dist/verdocs-web-sdk/{p-546daa8b.entry.js.map → p-f6ed768d.entry.js.map} +0 -0
  199. /package/dist/verdocs-web-sdk/{p-41f22b0a.system.entry.js.map → p-ff048639.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["verdocsFieldAttachmentCss","VerdocsFieldAttachmentStyle0","PaperclipIcon","AttachedIcon","VerdocsFieldAttachment","this","handleUploadNext","e","console","log","_this","dialogOpen","selectedFile","detail","_a","attached","emit","handleUploadRemove","preventDefault","stopPropagation","deleted","fieldName","fieldname","VerdocsEndpoint","getDefault","class_1","prototype","focusField","focused","setTimeout","showSettingsPanel","settingsPanel","document","getElementById","concat","showPanel","hideSettingsPanel","hidePanel","handleShow","render","_b","source","sourceid","_c","editable","_d","done","_e","disabled","_f","xscale","_g","yscale","_h","Store","getField","field","index","_j","_k","required","_l","value","_m","label","_o","settings","backgroundColor","getRGBA","hasFile","h","Host","class","innerHTML","style","onClick","Fragment","id","transform","Math","floor","SettingsIcon","showingProperties","anchor","onClickAway","templateId","onClose","onDelete","onSettingsChanged","settingsChanged","helpText","existingFile","onNext","onRemove","onExit","verdocsFieldCheckboxCss","VerdocsFieldCheckboxStyle0","VerdocsFieldCheckbox","class_2","checked","htmlFor","name","type","t","module","exports","d","i","s","o","Object","defineProperty","enumerable","get","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","apply","split","r","_i","entries","i_1","s_1","setAttribute","getFullYear","getMonth","getDate","getHours","l","hours","dayPeriod","fullMonth","date","fullDate","getDay","fullHours","hours12","fullHours12","minutes","getMinutes","fullMinutes","c","u","Array","forEach","i_2","push","join","p","m","g","getTime","v","setHours","D","addEventListener","y","DocumentFragment","matches","parentNode","f","w","filter","i_3","s_2","toString","t_1","a_1","n_1","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","__assign","adpCell","_getClassName","isDateDisabled","_isOutOfMinMaxRange","isWeekend","isOtherMonth","isOtherDecade","html","destroy","focusDate","rangeDateTo","rangeDateFrom","i_4","_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","e_1","t_2","setMinutes","replaceDate","e_2","t_3","isVisible","currentView","destroyCells","_generateCells","cells","$cells","appendChild","$el","_buildBaseHtml","renderDayNames","_bindEvents","onMouseOverCell","onMouseOutCell","onClickBody","onMouseDown","onMouseMove","window","onMouseUp","onChangeCurrentView","$names","_getDayNamesHtml","e_3","_generateCell","getDatesFunction","getDaysDates","viewDate","e_4","getMonthsDates","parsedViewDate","e_5","getYearsDates","e_6","F","V","dataset","action","_resetNavStatus","handleNavStatus","isFinalView","up","$prev","$next","$title","_getTitle","i_5","_defineDOM","onClickNav","onClickNavTitle","isNavIsFunction","renderDelay","formatDate","_disableNav","e_7","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","t_4","i_6","setMinTimeFromMinDate","setMaxTimeFromMaxDate","updateSliders","min","max","_hours","O","A","Set","Map","hotKeys","getInitialFocusDate","getClampedDate","viewDateTransition","pressedKeys","size","has","_loop_1","s_3","every","key","which","registerKey","isHotKeyPressed","handleHotKey","isArrow","focusNextCell","e_8","removeKey","bindKeyboardEvents","onKeyDown","onKeyUp","removeEventListener","delete","N","__events","removeAllEvents","I","P","j","B","hideAnimation","_destroyComponents","$container","$datepicker","customHide","$target","$pointer","isViewChange","_finishHide","getBoundingClientRect","offsetParent","scrollY","scrollX","cssText","top","offsetTop","left","offsetLeft","width","height","offsetHeight","e_9","$altField","_getInputValue","map","some","_cancelScheduledCall","_onTransitionEnd","once","e_10","t_5","decade","curDecade","viewIndexes","includes","elIsInput","setPosition","views","t_6","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","buildGlobalContainer","contains","defaultGlobalContainerId","_bindSubEvents","_createComponents","_setPositionClasses","$nav","e_11","_onClickOverlay","removeAttribute","_onChangeSelectedDate","_onChangeFocusedDate","_onChangeTime","insertBefore","nextSibling","JSON","parse","stringify","e_12","_onMouseDown","_onMouseUp","replacer","mm","hh","HH","aa","AA","toUpperCase","EEEE","dd","MM","MMM","MMMM","yy","yyyy","yyyy1","yyyy2","e_13","t_7","_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","picker","random","substring","class_3","componentDidLoad","AirDatepicker","containerId","localeEn","event","CustomEvent","hostEl","dispatchEvent","placeholder","formattedValue","format","FORMAT_DATE","verdocsFieldDropdownCss","VerdocsFieldDropdownStyle0","VerdocsFieldDropdown","class_4","selectEl","showPicker","handleChange","fieldChange","options","onChange","ref","el","option","verdocsFieldInitialCss","VerdocsFieldInitialStyle0","VerdocsFieldInitial","class_5","hideDialog","dialog","handleAdopt","tempInitials","initials","append","base64","src","alt","verdocsFieldRadioCss","VerdocsFieldRadioStyle0","RadioIconUnselected","RadioIconSelected","VerdocsFieldRadio","class_6","group","maxWidth","verdocsFieldSignatureCss","VerdocsFieldSignatureStyle0","VerdocsFieldSignature","class_7","tempSignature","verdocsFieldTextareaCss","VerdocsFieldTextareaStyle0","VerdocsFieldTextarea","class_8","inputEl","componentDidRender","interact","dynamicDrop","resizable","edges","bottom","right","listeners","start","handleResizeStart","bind","move","handleResize","end","handleResizeEnd","rect","deltaRect","translateX","translateY","round","updateField","endpoint","then","catch","verdocsFieldTextboxCss","VerdocsFieldTextboxStyle0","VerdocsFieldTextbox","class_9","modifiers","restrictSize","dX","dY","currentLeft","currentBottom","multiline","updatedField","__awaiter","getTemplate","template","sent","newTemplate","fieldIndex","fields","findIndex","updateTemplate","_p","_q","maxlength","verdocsFieldTimestampCss","VerdocsFieldTimestampStyle0","VerdocsFieldTimestamp","class_10","formatted","toISOString","FORMAT_TIMESTAMP","verdocsInitialDialogCss","VerdocsInitialDialogStyle0","VerdocsInitialDialog","componentWillLoad","enteredInitials","ds","FontFace","load","font","fonts","fontLoaded","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","class_11","handleDismiss","handleDone","selectedFiles","handleDragOver","draggingOver","handleDragLeave","handleDrop","handleSetSelected","from","dataTransfer","files","handleRemoveAttachment","newFiles","__spreadArray","errorMessage","totalSize","acc","file","maxSize","handleDeleteAttachment","confirmDelete","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={fieldname}\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 console.log('Signature field', index, getRGBA(index), 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 console.log('Rendering textbox', source, sourceid, fieldname);\n const {index, field} = Store.getField(source, sourceid, fieldname, this.field);\n console.log('Textbox', index, getRGBA(index), 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":[]}
1
+ {"version":3,"names":["verdocsFieldAttachmentCss","VerdocsFieldAttachmentStyle0","PaperclipIcon","AttachedIcon","VerdocsFieldAttachment","this","handleUploadNext","e","console","log","_this","dialogOpen","selectedFile","detail","_a","attached","emit","handleUploadRemove","preventDefault","stopPropagation","deleted","fieldName","fieldname","VerdocsEndpoint","getDefault","class_1","prototype","focusField","focused","setTimeout","showSettingsPanel","settingsPanel","document","getElementById","concat","showPanel","hideSettingsPanel","hidePanel","handleShow","render","_b","source","sourceid","_c","editable","_d","done","_e","disabled","_f","xscale","_g","yscale","_h","Store","getField","field","index","_j","_k","required","_l","value","_m","label","_o","settings","backgroundColor","getRGBA","hasFile","h","Host","class","innerHTML","style","onClick","Fragment","id","transform","Math","floor","SettingsIcon","showingProperties","anchor","onClickAway","templateId","onClose","onDelete","onSettingsChanged","settingsChanged","helpText","existingFile","onNext","onRemove","onExit","verdocsFieldCheckboxCss","VerdocsFieldCheckboxStyle0","VerdocsFieldCheckbox","class_2","checked","htmlFor","name","type","t","module","exports","d","i","s","o","Object","defineProperty","enumerable","get","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","apply","split","r","_i","entries","i_1","s_1","setAttribute","getFullYear","getMonth","getDate","getHours","l","hours","dayPeriod","fullMonth","date","fullDate","getDay","fullHours","hours12","fullHours12","minutes","getMinutes","fullMinutes","c","u","Array","forEach","i_2","push","join","p","m","g","getTime","v","setHours","D","addEventListener","y","DocumentFragment","matches","parentNode","f","w","filter","i_3","s_2","toString","t_1","a_1","n_1","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","__assign","adpCell","_getClassName","isDateDisabled","_isOutOfMinMaxRange","isWeekend","isOtherMonth","isOtherDecade","html","destroy","focusDate","rangeDateTo","rangeDateFrom","i_4","_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","e_1","t_2","setMinutes","replaceDate","e_2","t_3","isVisible","currentView","destroyCells","_generateCells","cells","$cells","appendChild","$el","_buildBaseHtml","renderDayNames","_bindEvents","onMouseOverCell","onMouseOutCell","onClickBody","onMouseDown","onMouseMove","window","onMouseUp","onChangeCurrentView","$names","_getDayNamesHtml","e_3","_generateCell","getDatesFunction","getDaysDates","viewDate","e_4","getMonthsDates","parsedViewDate","e_5","getYearsDates","e_6","F","V","dataset","action","_resetNavStatus","handleNavStatus","isFinalView","up","$prev","$next","$title","_getTitle","i_5","_defineDOM","onClickNav","onClickNavTitle","isNavIsFunction","renderDelay","formatDate","_disableNav","e_7","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","t_4","i_6","setMinTimeFromMinDate","setMaxTimeFromMaxDate","updateSliders","min","max","_hours","O","A","Set","Map","hotKeys","getInitialFocusDate","getClampedDate","viewDateTransition","pressedKeys","size","has","_loop_1","s_3","every","key","which","registerKey","isHotKeyPressed","handleHotKey","isArrow","focusNextCell","e_8","removeKey","bindKeyboardEvents","onKeyDown","onKeyUp","removeEventListener","delete","N","__events","removeAllEvents","I","P","j","B","hideAnimation","_destroyComponents","$container","$datepicker","customHide","$target","$pointer","isViewChange","_finishHide","getBoundingClientRect","offsetParent","scrollY","scrollX","cssText","top","offsetTop","left","offsetLeft","width","height","offsetHeight","e_9","$altField","_getInputValue","map","some","_cancelScheduledCall","_onTransitionEnd","once","e_10","t_5","decade","curDecade","viewIndexes","includes","elIsInput","setPosition","views","t_6","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","buildGlobalContainer","contains","defaultGlobalContainerId","_bindSubEvents","_createComponents","_setPositionClasses","$nav","e_11","_onClickOverlay","removeAttribute","_onChangeSelectedDate","_onChangeFocusedDate","_onChangeTime","insertBefore","nextSibling","JSON","parse","stringify","e_12","_onMouseDown","_onMouseUp","replacer","mm","hh","HH","aa","AA","toUpperCase","EEEE","dd","MM","MMM","MMMM","yy","yyyy","yyyy1","yyyy2","e_13","t_7","_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","picker","random","substring","class_3","componentDidLoad","containerId","AirDatepicker","localeEn","event","CustomEvent","hostEl","dispatchEvent","placeholder","formattedValue","format","FORMAT_DATE","verdocsFieldDropdownCss","VerdocsFieldDropdownStyle0","VerdocsFieldDropdown","class_4","selectEl","showPicker","handleChange","fieldChange","options","onChange","ref","el","option","verdocsFieldInitialCss","VerdocsFieldInitialStyle0","VerdocsFieldInitial","class_5","hideDialog","dialog","handleAdopt","tempInitials","initials","append","base64","src","alt","verdocsFieldRadioCss","VerdocsFieldRadioStyle0","RadioIconUnselected","RadioIconSelected","VerdocsFieldRadio","class_6","group","maxWidth","verdocsFieldSignatureCss","VerdocsFieldSignatureStyle0","VerdocsFieldSignature","class_7","tempSignature","verdocsFieldTextareaCss","VerdocsFieldTextareaStyle0","VerdocsFieldTextarea","class_8","inputEl","componentDidRender","interact","dynamicDrop","resizable","edges","bottom","right","listeners","start","handleResizeStart","bind","move","handleResize","end","handleResizeEnd","rect","deltaRect","translateX","translateY","round","updateField","endpoint","then","catch","verdocsFieldTextboxCss","VerdocsFieldTextboxStyle0","VerdocsFieldTextbox","class_9","modifiers","restrictSize","dX","dY","currentLeft","currentBottom","multiline","updatedField","__awaiter","getTemplate","template","sent","newTemplate","fieldIndex","fields","findIndex","updateTemplate","_p","_q","maxlength","verdocsFieldTimestampCss","VerdocsFieldTimestampStyle0","VerdocsFieldTimestamp","class_10","formatted","toISOString","FORMAT_TIMESTAMP","verdocsInitialDialogCss","VerdocsInitialDialogStyle0","VerdocsInitialDialog","componentWillLoad","enteredInitials","ds","FontFace","load","font","fonts","fontLoaded","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","class_11","handleDismiss","handleDone","selectedFiles","handleDragOver","draggingOver","handleDragLeave","handleDrop","handleSetSelected","from","dataTransfer","files","handleRemoveAttachment","newFiles","__spreadArray","errorMessage","totalSize","acc","file","maxSize","handleDeleteAttachment","confirmDelete","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 console.log('Activating date picker', this.containerId, document.getElementById(this.containerId));\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 console.log('Rendering date picker', source, sourceid, fieldname);\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":[]}