legalesign-document-viewer 0.9.21 → 0.9.22

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 (479) hide show
  1. package/dist/cjs/{i18n-2j78quax.js → i18n-Bp2XLXxM.js} +4 -2
  2. package/dist/cjs/{i18n-2j78quax.js.map → i18n-Bp2XLXxM.js.map} +1 -1
  3. package/dist/cjs/{index-DjAX0m_J.js → index-DFeU0FNc.js} +9 -3
  4. package/dist/cjs/index-DFeU0FNc.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/ls-add-new-button_51.cjs.entry.js +950 -569
  7. package/dist/cjs/ls-badge.cjs.entry.js +1 -1
  8. package/dist/cjs/ls-banner.cjs.entry.js +1 -1
  9. package/dist/cjs/ls-card.cjs.entry.js +1 -1
  10. package/dist/cjs/ls-checkbox-input_5.cjs.entry.js +1 -1
  11. package/dist/cjs/ls-compose-manager.cjs.entry.js +4 -4
  12. package/dist/cjs/ls-details-section.cjs.entry.js +1 -1
  13. package/dist/cjs/ls-document-viewer.cjs.js +2 -2
  14. package/dist/cjs/ls-dropdown-item.cjs.entry.js +1 -1
  15. package/dist/cjs/ls-dropdown.cjs.entry.js +1 -1
  16. package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +2 -2
  17. package/dist/cjs/ls-formfield.cjs.entry.js +1 -1
  18. package/dist/cjs/ls-header-bar.cjs.entry.js +1 -1
  19. package/dist/cjs/ls-icon-button.cjs.entry.js +1 -1
  20. package/dist/cjs/ls-icon-check-button.cjs.entry.js +1 -1
  21. package/dist/cjs/ls-label.cjs.entry.js +1 -1
  22. package/dist/cjs/ls-list-card-button.cjs.entry.js +1 -1
  23. package/dist/cjs/ls-navbar.cjs.entry.js +1 -1
  24. package/dist/cjs/ls-notification.cjs.entry.js +1 -1
  25. package/dist/cjs/ls-radio-group.cjs.entry.js +1 -1
  26. package/dist/cjs/ls-radio-input.cjs.entry.js +1 -1
  27. package/dist/cjs/ls-tabs.cjs.entry.js +1 -1
  28. package/dist/cjs/ls-tag.cjs.entry.js +1 -1
  29. package/dist/cjs/ls-text.cjs.entry.js +1 -1
  30. package/dist/cjs/ls-timeline-step.cjs.entry.js +1 -1
  31. package/dist/cjs/ls-timeline.cjs.entry.js +1 -1
  32. package/dist/cjs/ls-title-input.cjs.entry.js +2 -2
  33. package/dist/cjs/test-item.cjs.entry.js +1 -1
  34. package/dist/collection/components/interfaces/IToolboxField.js.map +1 -1
  35. package/dist/collection/components/ls-compose-loader/ls-compose-loader.js +1 -1
  36. package/dist/collection/components/ls-compose-manager/ls-compose-manager.js +2 -2
  37. package/dist/collection/components/ls-document-viewer/editorCalculator.js +1 -0
  38. package/dist/collection/components/ls-document-viewer/editorCalculator.js.map +1 -1
  39. package/dist/collection/components/ls-document-viewer/keyHandlers.js +51 -7
  40. package/dist/collection/components/ls-document-viewer/keyHandlers.js.map +1 -1
  41. package/dist/collection/components/ls-document-viewer/ls-document-viewer.css +16 -4
  42. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +60 -32
  43. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
  44. package/dist/collection/components/ls-document-viewer/mouseHandlers.js +294 -58
  45. package/dist/collection/components/ls-document-viewer/mouseHandlers.js.map +1 -1
  46. package/dist/collection/components/ls-document-viewer/snapHelper.js +66 -0
  47. package/dist/collection/components/ls-document-viewer/snapHelper.js.map +1 -0
  48. package/dist/collection/components/ls-editor-field/ls-editor-field.css +33 -0
  49. package/dist/collection/components/ls-editor-field/ls-editor-field.js +31 -19
  50. package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
  51. package/dist/collection/components/ls-editor-table/ls-editor-table.js +1 -1
  52. package/dist/collection/components/ls-feature-column/ls-feature-column.js +6 -6
  53. package/dist/collection/components/ls-field-alignment/ls-field-alignment.js +2 -2
  54. package/dist/collection/components/ls-field-content/ls-field-content.js +3 -3
  55. package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js +3 -3
  56. package/dist/collection/components/ls-field-distribute/ls-field-distribute.js +5 -5
  57. package/dist/collection/components/ls-field-footer/ls-field-footer.js +1 -1
  58. package/dist/collection/components/ls-field-format/ls-field-format.js +11 -11
  59. package/dist/collection/components/ls-field-placement/ls-field-placement.js +1 -1
  60. package/dist/collection/components/ls-field-properties/ls-field-properties.js +1 -1
  61. package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +2 -2
  62. package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js +1 -1
  63. package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js +1 -1
  64. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +1 -1
  65. package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +1 -1
  66. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +1 -1
  67. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +1 -1
  68. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +1 -1
  69. package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js +1 -1
  70. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +3 -3
  71. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +1 -1
  72. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +1 -1
  73. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +1 -1
  74. package/dist/collection/components/ls-field-size/ls-field-size.js +1 -1
  75. package/dist/collection/components/ls-field-type-display/ls-field-type-display.js +3 -3
  76. package/dist/collection/components/ls-helper-bar/ls-helper-bar.css +1 -1
  77. package/dist/collection/components/ls-helper-bar/ls-helper-bar.js +1 -1
  78. package/dist/collection/components/ls-helper-bar/ls-helper-bar.js.map +1 -1
  79. package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.js +1 -1
  80. package/dist/collection/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.js +1 -1
  81. package/dist/collection/components/ls-left-bar/ls-left-bar.js +1 -1
  82. package/dist/collection/components/ls-left-bar/ls-left-bar.js.map +1 -1
  83. package/dist/collection/components/ls-participant-card/ls-participant-card.js +1 -1
  84. package/dist/collection/components/ls-participant-card/ls-participant-card.js.map +1 -1
  85. package/dist/collection/components/ls-participant-manager/ls-participant-manager.js +3 -3
  86. package/dist/collection/components/ls-participant-select/ls-participant-select.css +1 -1
  87. package/dist/collection/components/ls-participant-select/ls-participant-select.js +25 -9
  88. package/dist/collection/components/ls-participant-select/ls-participant-select.js.map +1 -1
  89. package/dist/collection/components/ls-props-section/ls-props-section.js +1 -1
  90. package/dist/collection/components/ls-recipient-card/ls-recipient-card.js +9 -9
  91. package/dist/collection/components/ls-recipient-card/ls-recipient-card.js.map +1 -1
  92. package/dist/collection/components/ls-recipient-manager/ls-recipient-manager.js +1 -1
  93. package/dist/collection/components/ls-statusbar/ls-statusbar.js +8 -11
  94. package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
  95. package/dist/collection/components/ls-title-input/ls-title-input.js +1 -1
  96. package/dist/collection/components/ls-toggle/ls-toggle.js +2 -2
  97. package/dist/collection/components/ls-toolbar/ls-toolbar.css +1 -1
  98. package/dist/collection/components/ls-toolbar/ls-toolbar.js +3 -5
  99. package/dist/collection/components/ls-toolbar/ls-toolbar.js.map +1 -1
  100. package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js +38 -32
  101. package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js.map +1 -1
  102. package/dist/collection/components/ls-validation-manager/ls-validation-manager.js +2 -2
  103. package/dist/collection/components/ls-validation-tag/ls-validation-tag.css +65 -0
  104. package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +7 -11
  105. package/dist/collection/components/ls-validation-tag/ls-validation-tag.js.map +1 -1
  106. package/dist/components/index.js +1 -1
  107. package/dist/components/ls-add-new-button.js +1 -1
  108. package/dist/components/ls-badge.js +1 -1
  109. package/dist/components/ls-banner.js +6 -6
  110. package/dist/components/ls-banner.js.map +1 -1
  111. package/dist/components/ls-button.js +1 -1
  112. package/dist/components/ls-card.js +1 -1
  113. package/dist/components/ls-card.js.map +1 -1
  114. package/dist/components/ls-checkbox-input.js +1 -1
  115. package/dist/components/ls-compose-loader.js +1 -1
  116. package/dist/components/ls-compose-manager.js +4 -4
  117. package/dist/components/ls-details-section.js +3 -3
  118. package/dist/components/ls-details-section.js.map +1 -1
  119. package/dist/components/ls-document-options.js +1 -1
  120. package/dist/components/ls-document-viewer.js +153 -90
  121. package/dist/components/ls-document-viewer.js.map +1 -1
  122. package/dist/components/ls-dropdown-item.js +1 -1
  123. package/dist/components/ls-dropdown.js +3 -3
  124. package/dist/components/ls-dropdown.js.map +1 -1
  125. package/dist/components/ls-editor-field.js +1 -1
  126. package/dist/components/ls-editor-table.js +1 -1
  127. package/dist/components/ls-feature-column.js +1 -1
  128. package/dist/components/ls-field-alignment.js +1 -1
  129. package/dist/components/ls-field-content.js +1 -1
  130. package/dist/components/ls-field-dimensions.js +1 -1
  131. package/dist/components/ls-field-distribute.js +1 -1
  132. package/dist/components/ls-field-footer.js +1 -1
  133. package/dist/components/ls-field-format.js +1 -1
  134. package/dist/components/ls-field-placement.js +1 -1
  135. package/dist/components/ls-field-properties-advanced.js +1 -1
  136. package/dist/components/ls-field-properties-autosign.js +1 -1
  137. package/dist/components/ls-field-properties-container.js +1 -1
  138. package/dist/components/ls-field-properties-date.js +1 -1
  139. package/dist/components/ls-field-properties-dropdown.js +15 -15
  140. package/dist/components/ls-field-properties-email.js +1 -1
  141. package/dist/components/ls-field-properties-file.js +1 -1
  142. package/dist/components/ls-field-properties-general.js +1 -1
  143. package/dist/components/ls-field-properties-image.js +1 -1
  144. package/dist/components/ls-field-properties-multiple.js +1 -1
  145. package/dist/components/ls-field-properties-number.js +1 -1
  146. package/dist/components/ls-field-properties-signature.js +1 -1
  147. package/dist/components/ls-field-properties-text.js +1 -1
  148. package/dist/components/ls-field-properties.js +1 -1
  149. package/dist/components/ls-field-size.js +1 -1
  150. package/dist/components/ls-field-type-display.js +1 -1
  151. package/dist/components/ls-formfield.js +11 -11
  152. package/dist/components/ls-formfield.js.map +1 -1
  153. package/dist/components/ls-header-bar.js +4 -4
  154. package/dist/components/ls-header-bar.js.map +1 -1
  155. package/dist/components/ls-helper-bar.js +1 -1
  156. package/dist/components/ls-icon-button.js +1 -1
  157. package/dist/components/ls-icon-check-button.js +2 -2
  158. package/dist/components/ls-icon-check-button.js.map +1 -1
  159. package/dist/components/ls-icon.js +1 -1
  160. package/dist/components/ls-input-wrapper.js +1 -1
  161. package/dist/components/ls-keyboard-shortcuts.js +1 -1
  162. package/dist/components/ls-label.js +1 -1
  163. package/dist/components/ls-left-bar.js +1 -1
  164. package/dist/components/ls-list-card-button.js +4 -4
  165. package/dist/components/ls-list-card-button.js.map +1 -1
  166. package/dist/components/ls-loading-icon.js +1 -1
  167. package/dist/components/ls-loading-logo.js +1 -1
  168. package/dist/components/ls-loading.js +1 -1
  169. package/dist/components/ls-navbar.js +3 -3
  170. package/dist/components/ls-navbar.js.map +1 -1
  171. package/dist/components/ls-notification.js +2 -2
  172. package/dist/components/ls-notification.js.map +1 -1
  173. package/dist/components/ls-number-input.js +1 -1
  174. package/dist/components/ls-participant-card.js +1 -1
  175. package/dist/components/ls-participant-manager.js +1 -1
  176. package/dist/components/ls-participant-select.js +1 -1
  177. package/dist/components/ls-props-section.js +1 -1
  178. package/dist/components/ls-radio-group.js +3 -3
  179. package/dist/components/ls-radio-group.js.map +1 -1
  180. package/dist/components/ls-radio-input.js +1 -1
  181. package/dist/components/ls-recipient-card.js +1 -1
  182. package/dist/components/ls-recipient-manager.js +1 -1
  183. package/dist/components/ls-select-input.js +1 -1
  184. package/dist/components/ls-statusbar.js +1 -1
  185. package/dist/components/ls-tabs.js +2 -2
  186. package/dist/components/ls-tabs.js.map +1 -1
  187. package/dist/components/ls-tag.js +2 -2
  188. package/dist/components/ls-tag.js.map +1 -1
  189. package/dist/components/ls-text-input.js +1 -1
  190. package/dist/components/ls-text.js +1 -1
  191. package/dist/components/ls-text.js.map +1 -1
  192. package/dist/components/ls-textarea-input.js +1 -1
  193. package/dist/components/ls-timeline-step.js +2 -2
  194. package/dist/components/ls-timeline-step.js.map +1 -1
  195. package/dist/components/ls-timeline.js +2 -2
  196. package/dist/components/ls-timeline.js.map +1 -1
  197. package/dist/components/ls-title-input.js +3 -3
  198. package/dist/components/ls-toggle.js +1 -1
  199. package/dist/components/ls-toolbar.js +1 -1
  200. package/dist/components/ls-toolbox-field.js +1 -1
  201. package/dist/components/ls-tooltip.js +1 -1
  202. package/dist/components/ls-validation-manager.js +1 -1
  203. package/dist/components/ls-validation-tag.js +1 -1
  204. package/dist/components/{p-hGc0PM4h.js → p-0KcafqsD.js} +4 -4
  205. package/dist/components/{p-hGc0PM4h.js.map → p-0KcafqsD.js.map} +1 -1
  206. package/dist/components/{p-DckVC3o2.js → p-3C_ngKa0.js} +20 -32
  207. package/dist/components/p-3C_ngKa0.js.map +1 -0
  208. package/dist/components/{p-BqHWzbwb.js → p-84KTjgkl.js} +4 -4
  209. package/dist/components/{p-BqHWzbwb.js.map → p-84KTjgkl.js.map} +1 -1
  210. package/dist/components/{p--TgjpdhB.js → p-B-lmV6Ge.js} +30 -30
  211. package/dist/components/{p--TgjpdhB.js.map → p-B-lmV6Ge.js.map} +1 -1
  212. package/dist/components/{p-BPcmC2nE.js → p-B57Pqae2.js} +17 -17
  213. package/dist/components/{p-BPcmC2nE.js.map → p-B57Pqae2.js.map} +1 -1
  214. package/dist/components/{p-Cj4lPJEO.js → p-B7x-6bu5.js} +4 -4
  215. package/dist/components/{p-Cj4lPJEO.js.map → p-B7x-6bu5.js.map} +1 -1
  216. package/dist/components/{p-4mqXicuy.js → p-B8MnmgX3.js} +18 -18
  217. package/dist/components/{p-4mqXicuy.js.map → p-B8MnmgX3.js.map} +1 -1
  218. package/dist/components/{p-BuTI5iFf.js → p-B9ooYFOA.js} +5 -5
  219. package/dist/components/{p-BuTI5iFf.js.map → p-B9ooYFOA.js.map} +1 -1
  220. package/dist/components/{p-BilTZGhO.js → p-BCzMSIcI.js} +4 -4
  221. package/dist/components/{p-BilTZGhO.js.map → p-BCzMSIcI.js.map} +1 -1
  222. package/dist/components/{p-DhcX4EuS.js → p-BDrXR7dP.js} +15 -15
  223. package/dist/components/p-BDrXR7dP.js.map +1 -0
  224. package/dist/components/{p-DAP3L70b.js → p-BH-y0Rpv.js} +9 -9
  225. package/dist/components/{p-DAP3L70b.js.map → p-BH-y0Rpv.js.map} +1 -1
  226. package/dist/components/{p-MvHRmlvj.js → p-BMhCD-zg.js} +4 -4
  227. package/dist/components/{p-MvHRmlvj.js.map → p-BMhCD-zg.js.map} +1 -1
  228. package/dist/components/{p-DIZNU-wE.js → p-BOiW1EXR.js} +15 -15
  229. package/dist/components/{p-DIZNU-wE.js.map → p-BOiW1EXR.js.map} +1 -1
  230. package/dist/components/{p-Bo2HQUQV.js → p-BQUrLZHa.js} +17 -17
  231. package/dist/components/{p-Bo2HQUQV.js.map → p-BQUrLZHa.js.map} +1 -1
  232. package/dist/components/{p-CSPLGKKp.js → p-BT5rCW3w.js} +3 -3
  233. package/dist/components/{p-CSPLGKKp.js.map → p-BT5rCW3w.js.map} +1 -1
  234. package/dist/components/{p-Dx1cMyvL.js → p-BtjCijn4.js} +4 -2
  235. package/dist/components/{p-Dx1cMyvL.js.map → p-BtjCijn4.js.map} +1 -1
  236. package/dist/components/{p-Bn74nhFM.js → p-C7YkcdaA.js} +10 -10
  237. package/dist/components/{p-Bn74nhFM.js.map → p-C7YkcdaA.js.map} +1 -1
  238. package/dist/components/{p-cJzdZ_Zw.js → p-CKZG8VvW.js} +5 -5
  239. package/dist/components/{p-cJzdZ_Zw.js.map → p-CKZG8VvW.js.map} +1 -1
  240. package/dist/components/{p-CyqNq-AI.js → p-CKbRUnN1.js} +7 -7
  241. package/dist/components/{p-CyqNq-AI.js.map → p-CKbRUnN1.js.map} +1 -1
  242. package/dist/components/{p-DCdDskfL.js → p-CL7BhZ_Q.js} +373 -72
  243. package/dist/components/p-CL7BhZ_Q.js.map +1 -0
  244. package/dist/components/{p-B4zjHmIp.js → p-CPBue47f.js} +17 -17
  245. package/dist/components/{p-B4zjHmIp.js.map → p-CPBue47f.js.map} +1 -1
  246. package/dist/components/{p-DxKBajEl.js → p-CR8tt6fP.js} +17 -17
  247. package/dist/components/{p-DxKBajEl.js.map → p-CR8tt6fP.js.map} +1 -1
  248. package/dist/components/{p-C8NcdVVP.js → p-CZF2_NGo.js} +4 -4
  249. package/dist/components/{p-C8NcdVVP.js.map → p-CZF2_NGo.js.map} +1 -1
  250. package/dist/components/{p-BNu-kdNq.js → p-C_1P1sdO.js} +9 -9
  251. package/dist/components/{p-BNu-kdNq.js.map → p-C_1P1sdO.js.map} +1 -1
  252. package/dist/components/{p-EE_rUtMN.js → p-ChRy20ef.js} +12 -12
  253. package/dist/components/{p-EE_rUtMN.js.map → p-ChRy20ef.js.map} +1 -1
  254. package/dist/components/{p-DOZ7EVSp.js → p-CjWrgCFE.js} +45 -45
  255. package/dist/components/p-CjWrgCFE.js.map +1 -0
  256. package/dist/components/{p-DGgN9Tk0.js → p-CkKXB6ey.js} +7 -7
  257. package/dist/components/{p-DGgN9Tk0.js.map → p-CkKXB6ey.js.map} +1 -1
  258. package/dist/components/{p-OLQsckjQ.js → p-Cq8ahbie.js} +4 -4
  259. package/dist/components/{p-OLQsckjQ.js.map → p-Cq8ahbie.js.map} +1 -1
  260. package/dist/components/{p-d3qXKu5b.js → p-CtwomLWc.js} +17 -17
  261. package/dist/components/{p-d3qXKu5b.js.map → p-CtwomLWc.js.map} +1 -1
  262. package/dist/components/{p-BuUhtsZT.js → p-CuKQ9tEk.js} +3 -3
  263. package/dist/components/{p-BuUhtsZT.js.map → p-CuKQ9tEk.js.map} +1 -1
  264. package/dist/components/{p-DJ7bx7B5.js → p-CuOa6zQ5.js} +13 -13
  265. package/dist/components/{p-DJ7bx7B5.js.map → p-CuOa6zQ5.js.map} +1 -1
  266. package/dist/components/{p-CmMYC0p8.js → p-CzuXVZQ1.js} +4 -4
  267. package/dist/components/{p-CmMYC0p8.js.map → p-CzuXVZQ1.js.map} +1 -1
  268. package/dist/components/{p-DFvqOenH.js → p-D5pMAqGE.js} +8 -8
  269. package/dist/components/{p-DFvqOenH.js.map → p-D5pMAqGE.js.map} +1 -1
  270. package/dist/components/p-D60hGCYW.js +163 -0
  271. package/dist/components/p-D60hGCYW.js.map +1 -0
  272. package/dist/components/p-DBASMZy7.js +63 -0
  273. package/dist/components/p-DBASMZy7.js.map +1 -0
  274. package/dist/components/{p-wwN19gwm.js → p-DKo99Z43.js} +3 -3
  275. package/dist/components/{p-wwN19gwm.js.map → p-DKo99Z43.js.map} +1 -1
  276. package/dist/components/{p-D7bwh5bc.js → p-DLJvb8vE.js} +8 -8
  277. package/dist/components/{p-D7bwh5bc.js.map → p-DLJvb8vE.js.map} +1 -1
  278. package/dist/components/{p-3MMDk3sy.js → p-DN9dmmkk.js} +17 -17
  279. package/dist/components/{p-3MMDk3sy.js.map → p-DN9dmmkk.js.map} +1 -1
  280. package/dist/components/{p-BfHGjq5t.js → p-DSEWxCUd.js} +17 -20
  281. package/dist/components/p-DSEWxCUd.js.map +1 -0
  282. package/dist/components/{p-CgczqobT.js → p-DVMW45bm.js} +8 -8
  283. package/dist/components/{p-CgczqobT.js.map → p-DVMW45bm.js.map} +1 -1
  284. package/dist/components/{p-Bo0Bazo8.js → p-DWHMcRuX.js} +22 -36
  285. package/dist/components/p-DWHMcRuX.js.map +1 -0
  286. package/dist/components/{p-BJqq2Npt.js → p-DX0MxmqS.js} +17 -17
  287. package/dist/components/{p-BJqq2Npt.js.map → p-DX0MxmqS.js.map} +1 -1
  288. package/dist/components/{p-dHMolk9H.js → p-DZP-fvPJ.js} +60 -15
  289. package/dist/components/p-DZP-fvPJ.js.map +1 -0
  290. package/dist/components/{p-CYSZo6aX.js → p-DcR04vBT.js} +4 -4
  291. package/dist/components/{p-CYSZo6aX.js.map → p-DcR04vBT.js.map} +1 -1
  292. package/dist/components/{p-BDiZ0WrF.js → p-Dcgsf6yy.js} +5 -5
  293. package/dist/components/{p-BDiZ0WrF.js.map → p-Dcgsf6yy.js.map} +1 -1
  294. package/dist/components/{p-BrykT5-C.js → p-DffaAVW4.js} +9 -3
  295. package/dist/components/p-DffaAVW4.js.map +1 -0
  296. package/dist/components/p-DgBJsVwe.js +117 -0
  297. package/dist/components/p-DgBJsVwe.js.map +1 -0
  298. package/dist/components/{p-BEoo68ix.js → p-DgdZURoz.js} +17 -17
  299. package/dist/components/{p-BEoo68ix.js.map → p-DgdZURoz.js.map} +1 -1
  300. package/dist/components/{p-CWgG6RtI.js → p-Dj0hj7yh.js} +5 -5
  301. package/dist/components/{p-CWgG6RtI.js.map → p-Dj0hj7yh.js.map} +1 -1
  302. package/dist/components/{p-d3FQEed-.js → p-DowYrMjW.js} +5 -5
  303. package/dist/components/{p-d3FQEed-.js.map → p-DowYrMjW.js.map} +1 -1
  304. package/dist/components/{p-BYjOvCbn.js → p-DrEcfY_J.js} +4 -4
  305. package/dist/components/{p-BYjOvCbn.js.map → p-DrEcfY_J.js.map} +1 -1
  306. package/dist/components/{p-Dz16EnCS.js → p-Dw_QK-he.js} +11 -9
  307. package/dist/components/p-Dw_QK-he.js.map +1 -0
  308. package/dist/components/p-JclQnuaU.js +108 -0
  309. package/dist/components/p-JclQnuaU.js.map +1 -0
  310. package/dist/components/{p-BgjZLcgZ.js → p-LtApPKUM.js} +11 -11
  311. package/dist/components/p-LtApPKUM.js.map +1 -0
  312. package/dist/components/{p-UI9vt753.js → p-OiC5NHtc.js} +4 -4
  313. package/dist/components/{p-UI9vt753.js.map → p-OiC5NHtc.js.map} +1 -1
  314. package/dist/components/{p-B-hPslyN.js → p-QZa2_PWg.js} +4 -4
  315. package/dist/components/{p-B-hPslyN.js.map → p-QZa2_PWg.js.map} +1 -1
  316. package/dist/components/{p-BBAOpkc_.js → p-TmHRO8G9.js} +7 -7
  317. package/dist/components/{p-BBAOpkc_.js.map → p-TmHRO8G9.js.map} +1 -1
  318. package/dist/components/{p-r32PqGrS.js → p-lphkmIXU.js} +4 -4
  319. package/dist/components/{p-r32PqGrS.js.map → p-lphkmIXU.js.map} +1 -1
  320. package/dist/components/p-wijn7N4I.js +102 -0
  321. package/dist/components/p-wijn7N4I.js.map +1 -0
  322. package/dist/components/{p-C4Fkc5Wm.js → p-wxu8bkXk.js} +6 -6
  323. package/dist/components/{p-C4Fkc5Wm.js.map → p-wxu8bkXk.js.map} +1 -1
  324. package/dist/components/{p-C1mHzpwC.js → p-xwpC2Mzh.js} +17 -17
  325. package/dist/components/{p-C1mHzpwC.js.map → p-xwpC2Mzh.js.map} +1 -1
  326. package/dist/components/{p-DoQt0hBg.js → p-ygIo6UQn.js} +3 -3
  327. package/dist/components/{p-DoQt0hBg.js.map → p-ygIo6UQn.js.map} +1 -1
  328. package/dist/components/test-item.js +1 -1
  329. package/dist/components/test-item.js.map +1 -1
  330. package/dist/esm/{i18n-Dx1cMyvL.js → i18n-BtjCijn4.js} +4 -2
  331. package/dist/esm/{i18n-Dx1cMyvL.js.map → i18n-BtjCijn4.js.map} +1 -1
  332. package/dist/esm/{index-CqgU9BMJ.js → index-CItPoq74.js} +9 -3
  333. package/dist/esm/index-CItPoq74.js.map +1 -0
  334. package/dist/esm/loader.js +3 -3
  335. package/dist/esm/ls-add-new-button_51.entry.js +950 -569
  336. package/dist/esm/ls-badge.entry.js +1 -1
  337. package/dist/esm/ls-badge.entry.js.map +1 -1
  338. package/dist/esm/ls-banner.entry.js +1 -1
  339. package/dist/esm/ls-banner.entry.js.map +1 -1
  340. package/dist/esm/ls-card.entry.js +1 -1
  341. package/dist/esm/ls-card.entry.js.map +1 -1
  342. package/dist/esm/ls-checkbox-input_5.entry.js +1 -1
  343. package/dist/esm/ls-compose-manager.entry.js +4 -4
  344. package/dist/esm/ls-details-section.entry.js +1 -1
  345. package/dist/esm/ls-details-section.entry.js.map +1 -1
  346. package/dist/esm/ls-document-viewer.js +3 -3
  347. package/dist/esm/ls-dropdown-item.entry.js +1 -1
  348. package/dist/esm/ls-dropdown-item.entry.js.map +1 -1
  349. package/dist/esm/ls-dropdown.entry.js +1 -1
  350. package/dist/esm/ls-dropdown.entry.js.map +1 -1
  351. package/dist/esm/ls-field-properties-dropdown.entry.js +2 -2
  352. package/dist/esm/ls-formfield.entry.js +1 -1
  353. package/dist/esm/ls-formfield.entry.js.map +1 -1
  354. package/dist/esm/ls-header-bar.entry.js +1 -1
  355. package/dist/esm/ls-header-bar.entry.js.map +1 -1
  356. package/dist/esm/ls-icon-button.entry.js +1 -1
  357. package/dist/esm/ls-icon-button.entry.js.map +1 -1
  358. package/dist/esm/ls-icon-check-button.entry.js +1 -1
  359. package/dist/esm/ls-icon-check-button.entry.js.map +1 -1
  360. package/dist/esm/ls-label.entry.js +1 -1
  361. package/dist/esm/ls-label.entry.js.map +1 -1
  362. package/dist/esm/ls-list-card-button.entry.js +1 -1
  363. package/dist/esm/ls-list-card-button.entry.js.map +1 -1
  364. package/dist/esm/ls-navbar.entry.js +1 -1
  365. package/dist/esm/ls-navbar.entry.js.map +1 -1
  366. package/dist/esm/ls-notification.entry.js +1 -1
  367. package/dist/esm/ls-notification.entry.js.map +1 -1
  368. package/dist/esm/ls-radio-group.entry.js +1 -1
  369. package/dist/esm/ls-radio-group.entry.js.map +1 -1
  370. package/dist/esm/ls-radio-input.entry.js +1 -1
  371. package/dist/esm/ls-radio-input.entry.js.map +1 -1
  372. package/dist/esm/ls-tabs.entry.js +1 -1
  373. package/dist/esm/ls-tabs.entry.js.map +1 -1
  374. package/dist/esm/ls-tag.entry.js +1 -1
  375. package/dist/esm/ls-tag.entry.js.map +1 -1
  376. package/dist/esm/ls-text.entry.js +1 -1
  377. package/dist/esm/ls-text.entry.js.map +1 -1
  378. package/dist/esm/ls-timeline-step.entry.js +1 -1
  379. package/dist/esm/ls-timeline-step.entry.js.map +1 -1
  380. package/dist/esm/ls-timeline.entry.js +1 -1
  381. package/dist/esm/ls-timeline.entry.js.map +1 -1
  382. package/dist/esm/ls-title-input.entry.js +2 -2
  383. package/dist/esm/test-item.entry.js +1 -1
  384. package/dist/esm/test-item.entry.js.map +1 -1
  385. package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
  386. package/dist/ls-document-viewer/{p-6d948608.entry.js → p-17771224.entry.js} +2 -2
  387. package/dist/ls-document-viewer/{p-a9cfd73b.entry.js → p-34c89736.entry.js} +2 -2
  388. package/dist/ls-document-viewer/{p-fa30b362.entry.js → p-35181c98.entry.js} +2 -2
  389. package/dist/ls-document-viewer/{p-6cc592f3.entry.js → p-355fa23b.entry.js} +2 -2
  390. package/dist/ls-document-viewer/{p-f474989d.entry.js → p-429be8d1.entry.js} +2 -2
  391. package/dist/ls-document-viewer/{p-9ecd1ff7.entry.js → p-5e4e4662.entry.js} +2 -2
  392. package/dist/ls-document-viewer/{p-3da9d77b.entry.js → p-61e1b37b.entry.js} +2 -2
  393. package/dist/ls-document-viewer/{p-0d1fc411.entry.js → p-6244f792.entry.js} +2 -2
  394. package/dist/ls-document-viewer/{p-0b3a5fbd.entry.js → p-7c5b3574.entry.js} +2 -2
  395. package/dist/ls-document-viewer/{p-ee2098bb.entry.js → p-85c87644.entry.js} +2 -2
  396. package/dist/ls-document-viewer/{p-7f5b13f6.entry.js → p-8bdf7b95.entry.js} +2 -2
  397. package/dist/ls-document-viewer/{p-d09bc75d.entry.js → p-8e0ad6ec.entry.js} +2 -2
  398. package/dist/ls-document-viewer/p-9337949c.entry.js +2 -0
  399. package/dist/ls-document-viewer/{p-e51973e5.entry.js.map → p-9337949c.entry.js.map} +1 -1
  400. package/dist/ls-document-viewer/{p-f2a51b12.entry.js → p-94bbac6a.entry.js} +2 -2
  401. package/dist/ls-document-viewer/{p-55834145.entry.js → p-9ebec463.entry.js} +2 -2
  402. package/dist/ls-document-viewer/p-BtjCijn4.js +2 -0
  403. package/dist/ls-document-viewer/{p-Dx1cMyvL.js.map → p-BtjCijn4.js.map} +1 -1
  404. package/dist/ls-document-viewer/{p-CqgU9BMJ.js → p-CItPoq74.js} +2 -2
  405. package/dist/ls-document-viewer/p-CItPoq74.js.map +1 -0
  406. package/dist/ls-document-viewer/{p-e45b3ca8.entry.js → p-a4121600.entry.js} +2 -2
  407. package/dist/ls-document-viewer/p-a7dd3ba3.entry.js +2 -0
  408. package/dist/ls-document-viewer/{p-5a98eb27.entry.js → p-abb5c859.entry.js} +2 -2
  409. package/dist/ls-document-viewer/{p-fd50bc60.entry.js → p-bbc53e46.entry.js} +2 -2
  410. package/dist/ls-document-viewer/{p-f3af5313.entry.js → p-c521696b.entry.js} +2 -2
  411. package/dist/ls-document-viewer/{p-828c1636.entry.js → p-c78bd190.entry.js} +2 -2
  412. package/dist/ls-document-viewer/{p-870b9662.entry.js → p-ca1a0e03.entry.js} +2 -2
  413. package/dist/ls-document-viewer/{p-a16db209.entry.js → p-d297ea14.entry.js} +2 -2
  414. package/dist/ls-document-viewer/{p-ae2d6df8.entry.js → p-d2caf154.entry.js} +2 -2
  415. package/dist/ls-document-viewer/{p-0f6a01b3.entry.js → p-d76f5c10.entry.js} +2 -2
  416. package/dist/ls-document-viewer/{p-e29d619f.entry.js → p-ee83ac40.entry.js} +603 -603
  417. package/dist/ls-document-viewer/p-ee83ac40.entry.js.map +1 -0
  418. package/dist/ls-document-viewer/{p-febb8794.entry.js → p-f318c711.entry.js} +2 -2
  419. package/dist/types/components/interfaces/IToolboxField.d.ts +1 -0
  420. package/dist/types/components/ls-document-viewer/ls-document-viewer.d.ts +3 -0
  421. package/dist/types/components/ls-document-viewer/mouseHandlers.d.ts +8 -1
  422. package/dist/types/components/ls-document-viewer/snapHelper.d.ts +21 -0
  423. package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +1 -0
  424. package/dist/types/components/ls-participant-select/ls-participant-select.d.ts +2 -0
  425. package/dist/types/components/ls-toolbox-field/ls-toolbox-field.d.ts +3 -1
  426. package/dist/types/components.d.ts +12 -2
  427. package/package.json +2 -2
  428. package/dist/cjs/index-DjAX0m_J.js.map +0 -1
  429. package/dist/components/p-BfHGjq5t.js.map +0 -1
  430. package/dist/components/p-BgjZLcgZ.js.map +0 -1
  431. package/dist/components/p-Bo0Bazo8.js.map +0 -1
  432. package/dist/components/p-BrykT5-C.js.map +0 -1
  433. package/dist/components/p-CffM9Jz_.js +0 -119
  434. package/dist/components/p-CffM9Jz_.js.map +0 -1
  435. package/dist/components/p-D9Kd-4_M.js +0 -100
  436. package/dist/components/p-D9Kd-4_M.js.map +0 -1
  437. package/dist/components/p-DCdDskfL.js.map +0 -1
  438. package/dist/components/p-DD5tgd5X.js +0 -157
  439. package/dist/components/p-DD5tgd5X.js.map +0 -1
  440. package/dist/components/p-DH9Evr8X.js +0 -63
  441. package/dist/components/p-DH9Evr8X.js.map +0 -1
  442. package/dist/components/p-DOZ7EVSp.js.map +0 -1
  443. package/dist/components/p-DckVC3o2.js.map +0 -1
  444. package/dist/components/p-DhcX4EuS.js.map +0 -1
  445. package/dist/components/p-Dz16EnCS.js.map +0 -1
  446. package/dist/components/p-NAiclfXm.js +0 -112
  447. package/dist/components/p-NAiclfXm.js.map +0 -1
  448. package/dist/components/p-dHMolk9H.js.map +0 -1
  449. package/dist/esm/index-CqgU9BMJ.js.map +0 -1
  450. package/dist/ls-document-viewer/p-CqgU9BMJ.js.map +0 -1
  451. package/dist/ls-document-viewer/p-Dx1cMyvL.js +0 -2
  452. package/dist/ls-document-viewer/p-ac0c3ed5.entry.js +0 -2
  453. package/dist/ls-document-viewer/p-e29d619f.entry.js.map +0 -1
  454. package/dist/ls-document-viewer/p-e51973e5.entry.js +0 -2
  455. /package/dist/ls-document-viewer/{p-6d948608.entry.js.map → p-17771224.entry.js.map} +0 -0
  456. /package/dist/ls-document-viewer/{p-a9cfd73b.entry.js.map → p-34c89736.entry.js.map} +0 -0
  457. /package/dist/ls-document-viewer/{p-fa30b362.entry.js.map → p-35181c98.entry.js.map} +0 -0
  458. /package/dist/ls-document-viewer/{p-6cc592f3.entry.js.map → p-355fa23b.entry.js.map} +0 -0
  459. /package/dist/ls-document-viewer/{p-f474989d.entry.js.map → p-429be8d1.entry.js.map} +0 -0
  460. /package/dist/ls-document-viewer/{p-9ecd1ff7.entry.js.map → p-5e4e4662.entry.js.map} +0 -0
  461. /package/dist/ls-document-viewer/{p-3da9d77b.entry.js.map → p-61e1b37b.entry.js.map} +0 -0
  462. /package/dist/ls-document-viewer/{p-0d1fc411.entry.js.map → p-6244f792.entry.js.map} +0 -0
  463. /package/dist/ls-document-viewer/{p-0b3a5fbd.entry.js.map → p-7c5b3574.entry.js.map} +0 -0
  464. /package/dist/ls-document-viewer/{p-ee2098bb.entry.js.map → p-85c87644.entry.js.map} +0 -0
  465. /package/dist/ls-document-viewer/{p-7f5b13f6.entry.js.map → p-8bdf7b95.entry.js.map} +0 -0
  466. /package/dist/ls-document-viewer/{p-d09bc75d.entry.js.map → p-8e0ad6ec.entry.js.map} +0 -0
  467. /package/dist/ls-document-viewer/{p-f2a51b12.entry.js.map → p-94bbac6a.entry.js.map} +0 -0
  468. /package/dist/ls-document-viewer/{p-55834145.entry.js.map → p-9ebec463.entry.js.map} +0 -0
  469. /package/dist/ls-document-viewer/{p-e45b3ca8.entry.js.map → p-a4121600.entry.js.map} +0 -0
  470. /package/dist/ls-document-viewer/{p-ac0c3ed5.entry.js.map → p-a7dd3ba3.entry.js.map} +0 -0
  471. /package/dist/ls-document-viewer/{p-5a98eb27.entry.js.map → p-abb5c859.entry.js.map} +0 -0
  472. /package/dist/ls-document-viewer/{p-fd50bc60.entry.js.map → p-bbc53e46.entry.js.map} +0 -0
  473. /package/dist/ls-document-viewer/{p-f3af5313.entry.js.map → p-c521696b.entry.js.map} +0 -0
  474. /package/dist/ls-document-viewer/{p-828c1636.entry.js.map → p-c78bd190.entry.js.map} +0 -0
  475. /package/dist/ls-document-viewer/{p-870b9662.entry.js.map → p-ca1a0e03.entry.js.map} +0 -0
  476. /package/dist/ls-document-viewer/{p-a16db209.entry.js.map → p-d297ea14.entry.js.map} +0 -0
  477. /package/dist/ls-document-viewer/{p-ae2d6df8.entry.js.map → p-d2caf154.entry.js.map} +0 -0
  478. /package/dist/ls-document-viewer/{p-0f6a01b3.entry.js.map → p-d76f5c10.entry.js.map} +0 -0
  479. /package/dist/ls-document-viewer/{p-febb8794.entry.js.map → p-f318c711.entry.js.map} +0 -0
@@ -1,10 +1,19 @@
1
- import { alter, oob } from "./editorUtils";
1
+ import { oob } from "./editorUtils";
2
+ import { moveField } from "./editorCalculator";
3
+ import { updateSelectionBox } from "./mouseHandlers";
4
+ // Buffer for batching rapid key presses
5
+ let mutationBuffer = null;
6
+ let mutationTimer = null;
7
+ const BUFFER_DELAY = 300; // milliseconds
2
8
  export function keyDown(ev) {
9
+ // Disable keyboard controls in preview mode
10
+ if (this.mode === 'preview') {
11
+ return;
12
+ }
3
13
  if (this.selected && this.selected?.length > 0) {
4
- // utils need binding to the context
5
- const altbound = alter.bind(this);
6
14
  if (ev.key === 'ArrowDown') {
7
- altbound(original => {
15
+ ev.preventDefault();
16
+ bufferedAlter.bind(this)(() => original => {
8
17
  const alterElement = {
9
18
  ...original,
10
19
  top: original.top + 1,
@@ -15,7 +24,8 @@ export function keyDown(ev) {
15
24
  });
16
25
  }
17
26
  else if (ev.key === 'ArrowUp') {
18
- altbound(original => {
27
+ ev.preventDefault();
28
+ bufferedAlter.bind(this)(() => original => {
19
29
  const alterElement = {
20
30
  ...original,
21
31
  top: original.top - 1,
@@ -26,7 +36,8 @@ export function keyDown(ev) {
26
36
  });
27
37
  }
28
38
  else if (ev.key === 'ArrowRight') {
29
- altbound(original => {
39
+ ev.preventDefault();
40
+ bufferedAlter.bind(this)(() => original => {
30
41
  const alterElement = {
31
42
  ...original,
32
43
  left: original.left + 1,
@@ -37,7 +48,8 @@ export function keyDown(ev) {
37
48
  });
38
49
  }
39
50
  else if (ev.key === 'ArrowLeft') {
40
- altbound(original => {
51
+ ev.preventDefault();
52
+ bufferedAlter.bind(this)(() => original => {
41
53
  const alterElement = {
42
54
  ...original,
43
55
  left: original.left - 1,
@@ -73,4 +85,36 @@ export function keyDown(ev) {
73
85
  }
74
86
  }
75
87
  }
88
+ // Buffered version of alter that batches rapid key presses
89
+ function bufferedAlter(diffFnFactory) {
90
+ // Clear existing timer
91
+ if (mutationTimer) {
92
+ clearTimeout(mutationTimer);
93
+ }
94
+ // Apply the transformation immediately to the UI
95
+ const diffFn = diffFnFactory();
96
+ this.selected.forEach(field => {
97
+ const updatedItem = diffFn(field.dataItem);
98
+ // Update the dataItem in place
99
+ Object.assign(field.dataItem, updatedItem);
100
+ // Update the visual position using moveField
101
+ moveField.bind(this)(field, updatedItem);
102
+ });
103
+ // Update the selection box to match the new field positions
104
+ updateSelectionBox.bind(this)();
105
+ // Store the latest state for batched mutation
106
+ mutationBuffer = this.selected.map(c => c.dataItem);
107
+ // Set timer to emit mutation after delay
108
+ mutationTimer = setTimeout(() => {
109
+ if (mutationBuffer) {
110
+ const diffs = mutationBuffer.map(item => ({
111
+ action: 'update',
112
+ data: item,
113
+ }));
114
+ this.mutate.emit(diffs);
115
+ mutationBuffer = null;
116
+ }
117
+ mutationTimer = null;
118
+ }, BUFFER_DELAY);
119
+ }
76
120
  //# sourceMappingURL=keyHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyHandlers.js","sourceRoot":"","sources":["../../../../src/components/ls-document-viewer/keyHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,EAAiB;IACvC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,oCAAoC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClB,MAAM,YAAY,GAAG;oBACnB,GAAG,QAAQ;oBACX,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;oBACrB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;oBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;iBACpB,CAAC;gBAEF,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClB,MAAM,YAAY,GAAG;oBACnB,GAAG,QAAQ;oBACX,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;oBACrB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;oBACnB,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;iBACrB,CAAC;gBAEF,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;YACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClB,MAAM,YAAY,GAAG;oBACnB,GAAG,QAAQ;oBACX,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;oBACvB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;oBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;iBACpB,CAAC;gBAEF,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClB,MAAM,YAAY,GAAG;oBACnB,GAAG,QAAQ;oBACX,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;oBACvB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;oBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;iBACpB,CAAC;gBACF,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAoB,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACV,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChD,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAoB,CAAC;YACzD,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC/B,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAClD,sBAAsB;gBACtB,IAAI,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBAClE,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;gBACvB,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { LsEditorField } from '../ls-editor-field/ls-editor-field';\nimport { alter, oob } from './editorUtils';\n\nexport function keyDown(ev: KeyboardEvent) {\n if (this.selected && this.selected?.length > 0) {\n // utils need binding to the context\n const altbound = alter.bind(this);\n\n if (ev.key === 'ArrowDown') {\n altbound(original => {\n const alterElement = {\n ...original,\n top: original.top + 1,\n ay: original.ay + 1,\n by: original.by + 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowUp') {\n altbound(original => {\n const alterElement = {\n ...original,\n top: original.top - 1,\n ay: original.ay - 1,\n by: original.top - 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowRight') {\n altbound(original => {\n const alterElement = {\n ...original,\n left: original.left + 1,\n ax: original.ax + 1,\n bx: original.bx + 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowLeft') {\n altbound(original => {\n const alterElement = {\n ...original,\n left: original.left - 1,\n ax: original.ax - 1,\n bx: original.bx - 1,\n };\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'Delete' || ev.key === 'Backspace') {\n const arr = Array.from(this.selected) as LsEditorField[];\n this.mutate.emit(\n arr.map(s => {\n return { action: 'delete', data: s.dataItem };\n }),\n );\n } else if (ev.key === 'd' || ev.key === 'D' || ev.key === 'keyD') {\n const arr = Array.from(this.selected) as LsEditorField[];\n const createdItems = arr.map(s => {\n const newItem = { ...s.dataItem, id: btoa('ele' + crypto.randomUUID()) };\n const newTop = s.dataItem.top + s.dataItem.height;\n // check its in bounds\n if (newTop + s.dataItem.height < s.dataItem.pageDimensions.height) {\n newItem.top = newTop;\n }\n return { action: 'create', data: newItem, select: 'clear' };\n });\n this.mutate.emit(createdItems.map(item => ({ action: 'create', data: item.data })));\n } else if (ev.key === 'Escape') {\n console.log('Clearing selection');\n this.selected = [];\n this.selectFields.emit([]);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"keyHandlers.js","sourceRoot":"","sources":["../../../../src/components/ls-document-viewer/keyHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { LsEditorField } from '../ls-editor-field/ls-editor-field';\nimport { oob } from './editorUtils';\nimport { moveField } from './editorCalculator';\nimport { updateSelectionBox } from './mouseHandlers';\n\n// Buffer for batching rapid key presses\nlet mutationBuffer = null;\nlet mutationTimer = null;\nconst BUFFER_DELAY = 300; // milliseconds\n\nexport function keyDown(ev: KeyboardEvent) {\n // Disable keyboard controls in preview mode\n if (this.mode === 'preview') {\n return;\n }\n \n if (this.selected && this.selected?.length > 0) {\n if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n bufferedAlter.bind(this)(() => original => {\n const alterElement = {\n ...original,\n top: original.top + 1,\n ay: original.ay + 1,\n by: original.by + 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n bufferedAlter.bind(this)(() => original => {\n const alterElement = {\n ...original,\n top: original.top - 1,\n ay: original.ay - 1,\n by: original.top - 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowRight') {\n ev.preventDefault();\n bufferedAlter.bind(this)(() => original => {\n const alterElement = {\n ...original,\n left: original.left + 1,\n ax: original.ax + 1,\n bx: original.bx + 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowLeft') {\n ev.preventDefault();\n bufferedAlter.bind(this)(() => original => {\n const alterElement = {\n ...original,\n left: original.left - 1,\n ax: original.ax - 1,\n bx: original.bx - 1,\n };\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'Delete' || ev.key === 'Backspace') {\n const arr = Array.from(this.selected) as LsEditorField[];\n this.mutate.emit(\n arr.map(s => {\n return { action: 'delete', data: s.dataItem };\n }),\n );\n } else if (ev.key === 'd' || ev.key === 'D' || ev.key === 'keyD') {\n const arr = Array.from(this.selected) as LsEditorField[];\n const createdItems = arr.map(s => {\n const newItem = { ...s.dataItem, id: btoa('ele' + crypto.randomUUID()) };\n const newTop = s.dataItem.top + s.dataItem.height;\n // check its in bounds\n if (newTop + s.dataItem.height < s.dataItem.pageDimensions.height) {\n newItem.top = newTop;\n }\n return { action: 'create', data: newItem, select: 'clear' };\n });\n this.mutate.emit(createdItems.map(item => ({ action: 'create', data: item.data })));\n } else if (ev.key === 'Escape') {\n console.log('Clearing selection');\n this.selected = [];\n this.selectFields.emit([]);\n }\n }\n}\n\n// Buffered version of alter that batches rapid key presses\nfunction bufferedAlter(diffFnFactory) {\n // Clear existing timer\n if (mutationTimer) {\n clearTimeout(mutationTimer);\n }\n\n // Apply the transformation immediately to the UI\n const diffFn = diffFnFactory();\n this.selected.forEach(field => {\n const updatedItem = diffFn(field.dataItem);\n // Update the dataItem in place\n Object.assign(field.dataItem, updatedItem);\n // Update the visual position using moveField\n moveField.bind(this)(field, updatedItem);\n });\n\n // Update the selection box to match the new field positions\n updateSelectionBox.bind(this)();\n\n // Store the latest state for batched mutation\n mutationBuffer = this.selected.map(c => c.dataItem);\n\n // Set timer to emit mutation after delay\n mutationTimer = setTimeout(() => {\n if (mutationBuffer) {\n const diffs = mutationBuffer.map(item => ({\n action: 'update',\n data: item,\n }));\n this.mutate.emit(diffs);\n mutationBuffer = null;\n }\n mutationTimer = null;\n }, BUFFER_DELAY);\n}\n"]}
@@ -79,6 +79,8 @@ h6 {
79
79
  flex-direction: column;
80
80
  width: 100vw;
81
81
  height: 100vh;
82
+ font-family: var(--font-family, "IBM Plex Sans", sans-serif);
83
+ font-size: var(--text-sm);
82
84
  margin: 0px;
83
85
  padding: 0px;
84
86
  }
@@ -115,10 +117,20 @@ slot {
115
117
 
116
118
  .ls-dv-validation-tag-wrapper {
117
119
  position: absolute;
118
- top: 50%;
120
+ top: 1rem;
119
121
  right: 1rem;
120
- transform: translateY(-50%);
121
122
  z-index: 2000;
123
+ display: flex;
124
+ width: 100%;
125
+ align-items: center;
126
+ justify-content: center;
127
+ padding: 0.375rem;
128
+ gap: 0.5rem;
129
+ width: fit-content;
130
+ border-radius: 1.25rem;
131
+ border: 1px solid var(--gray-20, #edeff2);
132
+ background: var(--white, #ffffff);
133
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
122
134
  }
123
135
 
124
136
  .ls-dv-page-loader {
@@ -202,8 +214,8 @@ slot {
202
214
  #ls-box-selector {
203
215
  position: absolute;
204
216
  visibility: hidden;
205
- background-color: transparent;
206
- border: 1px rgba(71, 71, 71, 0.716) dashed;
217
+ background-color: color-mix(in srgb, var(--primary-20, #c7ddff) 20%, transparent);
218
+ border: 1px dashed var(--primary-50, #5185ff);
207
219
  }
208
220
 
209
221
  #ls-editor-form {
@@ -2,10 +2,11 @@ import { Host, h } from "@stencil/core";
2
2
  import { GlobalWorkerOptions, getDocument } from "pdfjs-dist";
3
3
  import { dvI18n } from "../../i18n/i18n";
4
4
  import { addField, moveField } from "./editorCalculator";
5
- import { DEFAULT_FONT_SIZE, DEFAULT_FONT_NAME } from "../../constants/fieldDefaults";
5
+ import { DEFAULT_FONT_SIZE, DEFAULT_FONT_NAME, FIELD_DEFAULTS } from "../../constants/fieldDefaults";
6
6
  import { keyDown } from "./keyHandlers";
7
- import { mouseClick, mouseDoubleClick, mouseDown, mouseDrop, mouseMove, mouseUp } from "./mouseHandlers";
8
- import { getApiType, matchData } from "./editorUtils";
7
+ import { mouseClick, mouseDoubleClick, mouseDown, mouseMove, mouseUp, toolboxDragStart } from "./mouseHandlers";
8
+ import { getApiType, getInputType, matchData } from "./editorUtils";
9
+ import { updateSelectionBox } from "./mouseHandlers";
9
10
  import { LsDocumentAdapter } from "./adapter/LsDocumentAdapter";
10
11
  import { getTemplate } from "./adapter/templateActions";
11
12
  import { getGroupData } from "./adapter/groupActions";
@@ -40,6 +41,10 @@ export class LsDocumentViewer {
40
41
  startLocations;
41
42
  // @ts-ignore
42
43
  startMouse;
44
+ // @ts-ignore
45
+ _isToolboxDragging = false;
46
+ // @ts-ignore
47
+ _cancelToolboxDrag = null;
43
48
  //
44
49
  // --- Properties / Inputs --- //
45
50
  //
@@ -134,6 +139,13 @@ export class LsDocumentViewer {
134
139
  this.showstatusbar = true;
135
140
  this.readonly = false;
136
141
  }
142
+ // Update readonly attribute on all existing fields
143
+ const fields = this.component.shadowRoot?.querySelectorAll('ls-editor-field');
144
+ if (fields) {
145
+ fields.forEach(field => {
146
+ field.setAttribute('readonly', String(_newMode === 'preview'));
147
+ });
148
+ }
137
149
  }
138
150
  zoomChanged(newZoom) {
139
151
  const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');
@@ -222,6 +234,9 @@ export class LsDocumentViewer {
222
234
  });
223
235
  this.fieldTypeSelected = event.detail;
224
236
  }
237
+ handleToolboxDragStart(event) {
238
+ toolboxDragStart.bind(this)(event.detail);
239
+ }
225
240
  // generate a new role on the template
226
241
  addParticpantHandler(event) {
227
242
  const defaultExperience = this.groupInfo.experienceConnection.experiences.find(x => x.defaultExperience === true);
@@ -261,28 +276,25 @@ export class LsDocumentViewer {
261
276
  const { signerIndex, fieldType } = event.detail;
262
277
  // Update the active signer
263
278
  this.signer = signerIndex;
264
- console.log('Selecting field for placement:', event.detail);
265
- // Find and select the matching toolbox field
266
- const fields = this.component.shadowRoot.querySelectorAll('ls-toolbox-field');
267
- fields.forEach(element => {
268
- const isMatch = element.formElementType === fieldType;
269
- element.isSelected = isMatch;
270
- if (isMatch) {
271
- // Trigger the field selection event
272
- this.fieldTypeSelected = {
273
- label: element.label,
274
- formElementType: element.formElementType,
275
- elementType: element.elementType,
276
- validation: element.validation,
277
- defaultHeight: element.defaultHeight,
278
- defaultWidth: element.defaultWidth,
279
- };
280
- }
281
- });
279
+ // Build the field data directly from defaults
280
+ const defaults = FIELD_DEFAULTS[fieldType] || FIELD_DEFAULTS['signature'];
281
+ this.fieldTypeSelected = {
282
+ label: fieldType,
283
+ formElementType: fieldType,
284
+ elementType: fieldType === 'signature' || fieldType === 'initials' ? fieldType : fieldType === 'auto sign' ? 'admin' : 'text',
285
+ validation: 0,
286
+ defaultHeight: defaults.defaultHeight,
287
+ defaultWidth: defaults.defaultWidth,
288
+ };
282
289
  // Switch to toolbox view if not already there
283
290
  if (this.manager !== 'toolbox') {
284
291
  this.manager = 'toolbox';
285
292
  }
293
+ // Initiate dragging for the selected field type on next tick
294
+ // (current mousedown/mouseup cycle needs to complete first)
295
+ requestAnimationFrame(() => {
296
+ toolboxDragStart.bind(this)(this.fieldTypeSelected);
297
+ });
286
298
  }
287
299
  // Send selection changes to bars and panels if in use.
288
300
  selectFieldsHandler(event) {
@@ -304,12 +316,29 @@ export class LsDocumentViewer {
304
316
  this.selectedDataItems = event.detail;
305
317
  }
306
318
  // change style of selected fields
319
+ const isMulti = event.detail.length > 1;
307
320
  event.detail.forEach(fc => {
308
321
  const fu = this.component.shadowRoot.getElementById('ls-field-' + fc.id);
309
322
  fu.selected = true;
323
+ fu.multiSelected = isMulti;
310
324
  });
311
- // this.selected = fields.filter(fx => fx.selected) as HTMLLsEditorFieldElement[];
312
- this.selected.forEach(s => (s.selected = event.detail.map(d => d.id).includes(s.dataItem.id)));
325
+ this.selected.forEach(s => {
326
+ const isSelected = event.detail.map(d => d.id).includes(s.dataItem.id);
327
+ s.selected = isSelected;
328
+ s.multiSelected = isSelected ? isMulti : false;
329
+ });
330
+ // Open date picker only when exactly one date field is selected
331
+ if (event.detail.length === 1) {
332
+ const field = this.component.shadowRoot.getElementById('ls-field-' + event.detail[0].id);
333
+ if (field && getInputType(event.detail[0].validation)?.inputType === 'date' && this.mode !== 'preview') {
334
+ requestAnimationFrame(() => {
335
+ const editbox = field.shadowRoot?.getElementById('editing-input');
336
+ if (editbox)
337
+ editbox.showPicker();
338
+ });
339
+ }
340
+ }
341
+ updateSelectionBox.bind(this)();
313
342
  this.validationErrors = validate.bind(this)(this._template);
314
343
  }
315
344
  // Send role selection changes to bars and panels
@@ -537,13 +566,6 @@ export class LsDocumentViewer {
537
566
  document.addEventListener('mouseup', mouseUp.bind(this));
538
567
  dropTarget.addEventListener('dblclick', mouseDoubleClick.bind(this));
539
568
  document.addEventListener('keydown', keyDown.bind(this));
540
- dropTarget.addEventListener('dragenter', event => {
541
- event.preventDefault();
542
- });
543
- dropTarget.addEventListener('dragover', event => {
544
- event.preventDefault();
545
- });
546
- dropTarget.addEventListener('drop', mouseDrop.bind(this));
547
569
  }
548
570
  this.generateFields();
549
571
  }
@@ -642,9 +664,9 @@ export class LsDocumentViewer {
642
664
  return false;
643
665
  }
644
666
  render() {
645
- return (h(Host, { key: 'a9d331483751ce64c05c3134191eb08ddb7ddf06' }, h(h.Fragment, null, this.isLoading && (h(h.Fragment, null, h("div", { key: 'c915116bf734cf566e33f3af368bc4b17560e0d9', class: 'ls-dv-page-loader' }, h("ls-loading-logo", { key: '966b15ede20a8a230074cc73e39aad4aecde9395', size: 200, colour: "var(--primary-60)" })), h("div", { key: '424bbbbbf06bbd57aa6796e558e182af6ffd9ff4', class: 'ls-dv-custom-loader-slot' }, h("slot", { key: '7d429afa5e085bc3867c8fc15f62c0350ffb31f5', name: "custom-loader" })), this.mode === 'compose' && h("ls-compose-loader", { key: 'fe72e6e7ec61bbb2810cb2b83af4b11590be8ed9' }))), this.error && (h("div", { key: 'db752c9609601c27addf55ca5a7a8a594dc13524', class: "ls-dv-error-state" }, h("div", { key: 'f8cf9bea15977301232104cb803e811c5aad2037', class: "ls-dv-error-card" }, h("ls-icon", { key: '460e393bc7ac0dab3905dfa70b8680775b68903f', name: "exclamation-circle-icon", size: 32, style: { color: 'var(--red-60, #dc2626)' } }), h("p", { key: 'd50a1542a8cfbec58b58a95f09341efcc0522a91', class: "ls-dv-error-title" }, dvI18n.t('viewer.autherror')), h("p", { key: '04774e5a6db6bbd7a80437a9f24bcbee616ad682', class: "ls-dv-error-message" }, this.error)))), h("div", { key: 'c82ef90f5bfdc04623e5a898615fd2cceaaccd29', class: "ls-dv-page-header" }, h("div", { key: '36e925bff58a1bc6f1fecd60c22feff6a888d8bb', class: 'ls-dv-left-slot-wrapper' }, h("slot", { key: '2f8fff622cfecf513650e2846b792a9c9821aebf', name: "left-button" })), h("div", { key: 'e7f61f403ad1090be14f63e1ffa7a8614dc65ae9', class: 'ls-dv-right-slot-wrapper' }, h("slot", { key: '977ca2bb7b05c68bbcbf158aaae9d7519532eac6', name: "right-button" })), this.mode === 'editor' && (h("div", { key: 'f3537fc9ea024c15a67a5626db3651c5d5025c59' }, h("span", { key: '9c9c5e5ad149e7b59d2f7517bd83ef37d697644a', class: "ls-dv-header-text-1" }, dvI18n.t('viewer.templatecreation')), h("span", { key: '5fe5dfcad466c60ff313838276e2387c065ad4df' }, "/"), h("span", { key: 'afc75e9dfdad274ee7e7d881712216690726d54c', class: "ls-dv-header-text-2" }, this._template?.title), h("div", { key: '48d40b7dce8ef3aece832b07422fe4adf273a5e2', class: 'ls-dv-validation-tag-wrapper' }, h("ls-validation-tag", { key: 'e772a5e04fdc0dada8171411f7f4025488aa7420', validationErrors: this.validationErrors })))), this.mode === 'compose' && (h("div", { key: '423f05e4e2b01656f4d6f593b68a0067db2aac7e', style: { display: 'flex', alignItems: 'center', gap: '0.25rem' } }, h("slot", { key: 'a94684455cad5efda22649ee74464892911dbd2a', name: "top-bar" })))), h("form", { key: 'e3a817a8414b82f25c295125fd62e1d059e6a41b', id: "ls-editor-form" }, h("ls-left-bar", { key: '00c673406fc94b4ac2b971d5b4a3dd954460f1c2', mode: this.mode, selected: this.selected, manager: this.manager, signer: this.signer, filtertoolbox: this.filtertoolbox, template: this._template, recipients: this._recipients, validationErrors: this.validationErrors, fieldTypeSelected: this.fieldTypeSelected, displayTable: this.displayTable, selectedDataItems: this.selectedDataItems, busy: this.isMutating, onManagerChange: e => this.handleManagerChange(e.detail), onClearSelected: () => {
667
+ return (h(Host, { key: '08fbd87b6c4561f195aa1edf8e181e5470cc2d87' }, h(h.Fragment, null, this.isLoading && (h(h.Fragment, null, h("div", { key: '84723f730c1f8d1f85f7a46ff21e66de19f9682d', class: 'ls-dv-page-loader' }, h("ls-loading-logo", { key: '25a0cfa70c45ea2e6523a977e4a347887618fba4', size: 200, colour: "var(--primary-60)" })), h("div", { key: '9a198ac8130c797263801d96c68efb9fb7fd3ddc', class: 'ls-dv-custom-loader-slot' }, h("slot", { key: 'dfbb87e7433ae6b8a30ebd034785590ba80f7058', name: "custom-loader" })), this.mode === 'compose' && h("ls-compose-loader", { key: '4d6e7b55131c97cfec8663648c061bfbd6b9a58b' }))), this.error && (h("div", { key: '6275c8f33b1dcff29c625cf965025b6bb9541242', class: "ls-dv-error-state" }, h("div", { key: '862345a0959d677906aeb804a0a4a49920e53bb1', class: "ls-dv-error-card" }, h("ls-icon", { key: '9b6a579259e8555b71584d9c95dadb4e1ab5fffb', name: "exclamation-circle-icon", size: 32, style: { color: 'var(--red-60, #dc2626)' } }), h("p", { key: '03f8dbfd174ec802c5f9232cdfafadd54a2c20fc', class: "ls-dv-error-title" }, dvI18n.t('viewer.autherror')), h("p", { key: '8ad4990580deb5c4efc5801c1d9a50133b89b238', class: "ls-dv-error-message" }, this.error)))), h("div", { key: '619c8d74c0d7b98eb8e5903babe355fcbffc0957', class: "ls-dv-page-header" }, h("div", { key: 'aa5929ef1cac92f95e9d132873ab7b398d7bf828', class: 'ls-dv-left-slot-wrapper' }, h("slot", { key: '1838adb911e640a646a1a26936733d30f1425838', name: "left-button" })), h("div", { key: '8bf1497609d9488e3be8aee2cf37728e00f47ad5', class: 'ls-dv-right-slot-wrapper' }, h("slot", { key: '71c9dbf3f8526e93580d5986f8e3f790c3a4e04d', name: "right-button" })), this.mode === 'editor' && (h("div", { key: 'b3c7e20ffc0950eb9de9a61f0d3bc581019d457a' }, h("span", { key: '18d5e22bd76bbc97ed2bbf14de544c51c1e2f437', class: "ls-dv-header-text-1" }, dvI18n.t('viewer.templatecreation')), h("span", { key: 'db095639834b53a1b0a8864029c187c8d897be00' }, "/"), h("span", { key: 'cec62bdb0a75e3d833fab8a743d9764f1927fb62', class: "ls-dv-header-text-2" }, this._template?.title))), this.mode === 'compose' && (h("div", { key: '6b825afdc7d7df629756e3ba2321b4e4907885fc', style: { display: 'flex', alignItems: 'center', gap: '0.25rem' } }, h("slot", { key: '6521f1a1d94ac158ed830fc9074bd2664028ddc9', name: "top-bar" })))), h("form", { key: '4addd2d72438d50b343e1a04c569c713fc7b7746', id: "ls-editor-form" }, h("ls-left-bar", { key: '0245d4c421c88e2c27da938231f0350067f9ece2', mode: this.mode, selected: this.selected, manager: this.manager, signer: this.signer, filtertoolbox: this.filtertoolbox, template: this._template, recipients: this._recipients, validationErrors: this.validationErrors, fieldTypeSelected: this.fieldTypeSelected, displayTable: this.displayTable, selectedDataItems: this.selectedDataItems, busy: this.isMutating, onManagerChange: e => this.handleManagerChange(e.detail), onClearSelected: () => {
646
668
  this.selected = [];
647
- } }, h("slot", { key: '890f490f7fb112a5424566432194fae879b3ae7d', name: "recipient-panel", slot: "recipient-panel" })), h("ls-toolbar", { key: '9ecad16a44527c4addc8c2f348fd38fd4db9fd69', id: "ls-toolbar", template: this._template, editor: this, groupInfo: this.groupInfo, mode: this.mode, signer: this.signer }), h("div", { key: 'b7f5795c89607fd0af4298b5181509a8f230ba10', id: "ls-mid-area" }, h("div", { key: 'c88de8b35dc2f8734be059e4ca8fb5c9a69ea8d7', class: 'ls-dv-document-frame-wrapper', id: "document-frame-wrapper" }, h("div", { key: '73856de7f0ddb3c9aa621a38ac7004bfd08420e8', id: "ls-document-frame" }, h("canvas", { key: '4c6401f3e83385c469693b5f5dba44a5450cba3f', id: "pdf-canvas", class: this.displayTable || this.isLoading ? 'ls-dv-hidden' : '' }), h("ls-editor-table", { key: 'e267f966a5d22b2fb91dc7e8b562723e7847a43b', editor: this, class: this.displayTable ? '' : 'ls-dv-hidden' }), h("div", { key: '0f3ed6666b9447da5eb9099c71a78cdee731b22f', id: "ls-box-selector" }))), h("ls-statusbar", { key: '05481859511b3ea07ad87f184004235486606f6b', editor: this, page: this.pageNum, pageCount: this.pageCount })))), h("ls-tooltip", { key: '760fea2de6e27455f216e8a72f1020897c2e3ab3', tooltipId: "ls-dv-tooltip" })));
669
+ } }, h("slot", { key: '47ae6277235475d6d31a4934198b397e3fca5381', name: "recipient-panel", slot: "recipient-panel" })), h("ls-toolbar", { key: 'feabf13e86695d7d40991af3b155f547c031de8e', id: "ls-toolbar", template: this._template, editor: this, groupInfo: this.groupInfo, mode: this.mode, signer: this.signer }), h("div", { key: 'fa0fa86422a959c6dbf1a240dd8a61614744404f', id: "ls-mid-area" }, h("div", { key: 'e1b0953c0f51a6d0e7d6da949f2c419dc0f7c932', class: 'ls-dv-document-frame-wrapper', id: "document-frame-wrapper" }, h("div", { key: 'f962a5fd149283d4a3fcb6d3dec0fee6592edd9e', id: "ls-document-frame" }, h("canvas", { key: '79d7fb11bce0a4964bd1e95c3a83f107c3f97315', id: "pdf-canvas", class: this.displayTable || this.isLoading ? 'ls-dv-hidden' : '' }), h("ls-editor-table", { key: '2deecdfd06419b3bb24400fe8108cea403d4e48b', editor: this, class: this.displayTable ? '' : 'ls-dv-hidden' }), h("div", { key: 'bdbf06867d8623d4355757878705336a99aad7b7', id: "ls-box-selector" }))), h("ls-statusbar", { key: '6c98d08d23aaa3c9a83bedbb370b1335b62855c3', editor: this, page: this.pageNum, pageCount: this.pageCount }), this.mode === 'editor' && (h("div", { key: '8e7cebf15377daebc6b2f77a30e1ed5104184a63', class: 'ls-dv-validation-tag-wrapper' }, h("ls-validation-tag", { key: 'a16504967d6b870fab437e0eb604aa344046a7f6', validationErrors: this.validationErrors }), h("slot", { key: '801d40ab83cc7095df18cfe33b2ee69adf4eade1', name: "next-button" })))))), h("ls-tooltip", { key: '363808e5fe133710cec51d5f56e5881ae1fa92ee', tooltipId: "ls-dv-tooltip" })));
648
670
  }
649
671
  static get is() { return "ls-document-viewer"; }
650
672
  static get encapsulation() { return "shadow"; }
@@ -1345,6 +1367,12 @@ export class LsDocumentViewer {
1345
1367
  "target": undefined,
1346
1368
  "capture": false,
1347
1369
  "passive": false
1370
+ }, {
1371
+ "name": "toolboxDragStart",
1372
+ "method": "handleToolboxDragStart",
1373
+ "target": undefined,
1374
+ "capture": false,
1375
+ "passive": false
1348
1376
  }, {
1349
1377
  "name": "addParticipant",
1350
1378
  "method": "addParticpantHandler",