legalesign-document-viewer 1.0.0 → 1.0.2

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 (279) hide show
  1. package/dist/cjs/{editorUtils-ClBh8Wv8.js → editorUtils-CRCLbYrX.js} +3 -3
  2. package/dist/cjs/{editorUtils-ClBh8Wv8.js.map → editorUtils-CRCLbYrX.js.map} +1 -1
  3. package/dist/cjs/{i18n-Cm3SP-DJ.js → i18n-e8JieHV6.js} +4 -2
  4. package/dist/cjs/{i18n-Cm3SP-DJ.js.map → i18n-e8JieHV6.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/ls-add-new-button_20.cjs.entry.js +47 -38
  7. package/dist/cjs/ls-assignee-select_21.cjs.entry.js +65 -27
  8. package/dist/cjs/ls-compose-loader_7.cjs.entry.js +12 -12
  9. package/dist/cjs/ls-compose-manager.cjs.entry.js +1 -1
  10. package/dist/cjs/ls-document-viewer.cjs.entry.js +26 -7
  11. package/dist/cjs/ls-document-viewer.cjs.js +1 -1
  12. package/dist/cjs/ls-field-alignment_3.cjs.entry.js +3 -3
  13. package/dist/cjs/ls-field-format_2.cjs.entry.js +1 -1
  14. package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +3 -2
  15. package/dist/cjs/ls-field-type-display.cjs.entry.js +1 -1
  16. package/dist/cjs/ls-helper-bar_2.cjs.entry.js +1 -1
  17. package/dist/cjs/{mouseHandlers-CsLRpRbC.js → mouseHandlers-BvqJ2tsu.js} +4 -4
  18. package/dist/cjs/{mouseHandlers-CsLRpRbC.js.map → mouseHandlers-BvqJ2tsu.js.map} +1 -1
  19. package/dist/collection/components/ls-document-viewer/ls-document-viewer.css +0 -7
  20. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +22 -3
  21. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
  22. package/dist/collection/components/ls-editor-field/ls-editor-field.css +5 -2
  23. package/dist/collection/components/ls-editor-field/ls-editor-field.js +44 -15
  24. package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
  25. package/dist/collection/components/ls-field-content/ls-field-content.js +30 -3
  26. package/dist/collection/components/ls-field-content/ls-field-content.js.map +1 -1
  27. package/dist/collection/components/ls-field-properties/ls-field-properties.css +1 -0
  28. package/dist/collection/components/ls-field-properties/ls-field-properties.js +33 -12
  29. package/dist/collection/components/ls-field-properties/ls-field-properties.js.map +1 -1
  30. package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +1 -1
  31. package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js.map +1 -1
  32. package/dist/collection/components/ls-field-properties-checkbox/ls-field-properties-checkbox.css +1 -0
  33. package/dist/collection/components/ls-field-properties-checkbox/ls-field-properties-checkbox.js +22 -1
  34. package/dist/collection/components/ls-field-properties-checkbox/ls-field-properties-checkbox.js.map +1 -1
  35. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +22 -1
  36. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js.map +1 -1
  37. package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.css +1 -0
  38. package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +22 -1
  39. package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js.map +1 -1
  40. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +22 -1
  41. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js.map +1 -1
  42. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +22 -1
  43. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js.map +1 -1
  44. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +22 -1
  45. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js.map +1 -1
  46. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +25 -4
  47. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js.map +1 -1
  48. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +22 -1
  49. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js.map +1 -1
  50. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +22 -1
  51. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js.map +1 -1
  52. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +22 -1
  53. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js.map +1 -1
  54. package/dist/collection/components/ls-field-type-select/ls-field-type-select.js +27 -5
  55. package/dist/collection/components/ls-field-type-select/ls-field-type-select.js.map +1 -1
  56. package/dist/collection/components/ls-left-bar/ls-left-bar.js +1 -1
  57. package/dist/collection/components/ls-left-bar/ls-left-bar.js.map +1 -1
  58. package/dist/collection/components/ls-recipient-card/ls-recipient-card.js +5 -6
  59. package/dist/collection/components/ls-recipient-card/ls-recipient-card.js.map +1 -1
  60. package/dist/collection/components/ls-statusbar/ls-statusbar.js +9 -9
  61. package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
  62. package/dist/collection/components/ls-validation-tag/ls-validation-tag.css +7 -1
  63. package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +3 -3
  64. package/dist/collection/components/ls-validation-tag/ls-validation-tag.js.map +1 -1
  65. package/dist/components/ls-assignee-select.js +1 -1
  66. package/dist/components/ls-compose-manager.js +1 -1
  67. package/dist/components/ls-document-options.js +1 -1
  68. package/dist/components/ls-document-viewer.js +63 -44
  69. package/dist/components/ls-document-viewer.js.map +1 -1
  70. package/dist/components/ls-editor-field.js +1 -1
  71. package/dist/components/ls-feature-column.js +1 -1
  72. package/dist/components/ls-field-alignment.js +1 -1
  73. package/dist/components/ls-field-content.js +1 -1
  74. package/dist/components/ls-field-dimensions.js +1 -1
  75. package/dist/components/ls-field-distribute.js +1 -1
  76. package/dist/components/ls-field-footer.js +1 -1
  77. package/dist/components/ls-field-format.js +1 -1
  78. package/dist/components/ls-field-placement.js +1 -1
  79. package/dist/components/ls-field-properties-advanced.js +1 -1
  80. package/dist/components/ls-field-properties-autosign.js +1 -1
  81. package/dist/components/ls-field-properties-checkbox.js +1 -1
  82. package/dist/components/ls-field-properties-container.js +1 -1
  83. package/dist/components/ls-field-properties-date.js +1 -1
  84. package/dist/components/ls-field-properties-dropdown.js +14 -12
  85. package/dist/components/ls-field-properties-dropdown.js.map +1 -1
  86. package/dist/components/ls-field-properties-email.js +1 -1
  87. package/dist/components/ls-field-properties-file.js +1 -1
  88. package/dist/components/ls-field-properties-general.js +1 -1
  89. package/dist/components/ls-field-properties-multiple.js +1 -1
  90. package/dist/components/ls-field-properties-number.js +1 -1
  91. package/dist/components/ls-field-properties-signature.js +1 -1
  92. package/dist/components/ls-field-properties-text.js +1 -1
  93. package/dist/components/ls-field-properties.js +1 -1
  94. package/dist/components/ls-field-size.js +1 -1
  95. package/dist/components/ls-field-type-display.js +1 -1
  96. package/dist/components/ls-field-type-select.js +1 -1
  97. package/dist/components/ls-helper-bar.js +1 -1
  98. package/dist/components/ls-keyboard-shortcuts.js +1 -1
  99. package/dist/components/ls-left-bar.js +1 -1
  100. package/dist/components/ls-participant-card.js +1 -1
  101. package/dist/components/ls-participant-manager.js +1 -1
  102. package/dist/components/ls-participant-select.js +1 -1
  103. package/dist/components/ls-recipient-card.js +1 -1
  104. package/dist/components/ls-recipient-manager.js +1 -1
  105. package/dist/components/ls-select-menu.js +1 -1
  106. package/dist/components/ls-statusbar.js +1 -1
  107. package/dist/components/ls-toolbar.js +1 -1
  108. package/dist/components/ls-validation-manager.js +1 -1
  109. package/dist/components/ls-validation-tag.js +1 -1
  110. package/dist/components/{p-D1fggKxb.js → p-1ayYzye1.js} +19 -17
  111. package/dist/components/p-1ayYzye1.js.map +1 -0
  112. package/dist/components/{p-D4VxGydf.js → p-8hWonZD4.js} +15 -13
  113. package/dist/components/p-8hWonZD4.js.map +1 -0
  114. package/dist/components/{p-BZ9KFHC1.js → p-BEhTmCBW.js} +15 -13
  115. package/dist/components/p-BEhTmCBW.js.map +1 -0
  116. package/dist/components/{p-CAm8iIfB.js → p-BJ7fvXXf.js} +15 -15
  117. package/dist/components/{p-CAm8iIfB.js.map → p-BJ7fvXXf.js.map} +1 -1
  118. package/dist/components/{p-CCSMbgUt.js → p-BUAS2e6p.js} +3 -3
  119. package/dist/components/{p-CCSMbgUt.js.map → p-BUAS2e6p.js.map} +1 -1
  120. package/dist/components/{p-CtT9DLf0.js → p-BbLFuN1Q.js} +4 -4
  121. package/dist/components/{p-CtT9DLf0.js.map → p-BbLFuN1Q.js.map} +1 -1
  122. package/dist/components/{p-CJIhr6ns.js → p-BgIA-QAy.js} +4 -4
  123. package/dist/components/{p-CJIhr6ns.js.map → p-BgIA-QAy.js.map} +1 -1
  124. package/dist/components/{p-Bi_4Swkx.js → p-Biay9ys2.js} +3 -3
  125. package/dist/components/{p-Bi_4Swkx.js.map → p-Biay9ys2.js.map} +1 -1
  126. package/dist/components/{p-C7WYjjf5.js → p-C1SFI6sR.js} +3 -3
  127. package/dist/components/{p-C7WYjjf5.js.map → p-C1SFI6sR.js.map} +1 -1
  128. package/dist/components/{p-4KjU_xHn.js → p-C3xBvNXU.js} +35 -35
  129. package/dist/components/p-C3xBvNXU.js.map +1 -0
  130. package/dist/components/{p-BUobLFxb.js → p-CRZNeYR8.js} +3 -3
  131. package/dist/components/{p-BUobLFxb.js.map → p-CRZNeYR8.js.map} +1 -1
  132. package/dist/components/{p-MKp33FTH.js → p-CSxx3aLG.js} +3 -3
  133. package/dist/components/{p-MKp33FTH.js.map → p-CSxx3aLG.js.map} +1 -1
  134. package/dist/components/{p-BJkRQ2hZ.js → p-CbORhuHl.js} +40 -38
  135. package/dist/components/p-CbORhuHl.js.map +1 -0
  136. package/dist/components/{p-Bg8qV5nN.js → p-Ce-55WxN.js} +5 -5
  137. package/dist/components/{p-Bg8qV5nN.js.map → p-Ce-55WxN.js.map} +1 -1
  138. package/dist/components/{p-CLScwmO_.js → p-CeO915wm.js} +16 -14
  139. package/dist/components/p-CeO915wm.js.map +1 -0
  140. package/dist/components/{p-CMiu82Dz.js → p-CgFpE1fV.js} +3 -3
  141. package/dist/components/{p-CMiu82Dz.js.map → p-CgFpE1fV.js.map} +1 -1
  142. package/dist/components/{p-C-5L6LAY.js → p-CgoyKNia.js} +3 -3
  143. package/dist/components/{p-C-5L6LAY.js.map → p-CgoyKNia.js.map} +1 -1
  144. package/dist/components/{p-M4AweDeo.js → p-CgqKV0xf.js} +15 -13
  145. package/dist/components/p-CgqKV0xf.js.map +1 -0
  146. package/dist/components/{p-CNxS5_JA.js → p-CmsA9-sZ.js} +15 -13
  147. package/dist/components/p-CmsA9-sZ.js.map +1 -0
  148. package/dist/components/{p-BmDtavNK.js → p-Cts0eCoL.js} +5 -5
  149. package/dist/components/{p-BmDtavNK.js.map → p-Cts0eCoL.js.map} +1 -1
  150. package/dist/components/{p-Bxlq9ywP.js → p-CvMzUIlC.js} +48 -19
  151. package/dist/components/p-CvMzUIlC.js.map +1 -0
  152. package/dist/components/{p-D844Ghcf.js → p-CxWGojFs.js} +3 -3
  153. package/dist/components/{p-D844Ghcf.js.map → p-CxWGojFs.js.map} +1 -1
  154. package/dist/components/{p-sivKnxmI.js → p-D02hM4Sf.js} +4 -4
  155. package/dist/components/{p-sivKnxmI.js.map → p-D02hM4Sf.js.map} +1 -1
  156. package/dist/components/{p-CBN6EOa6.js → p-D1yC5psL.js} +15 -13
  157. package/dist/components/p-D1yC5psL.js.map +1 -0
  158. package/dist/components/{p-Cznb3nhw.js → p-D4qAbKWM.js} +7 -7
  159. package/dist/components/p-D4qAbKWM.js.map +1 -0
  160. package/dist/components/{p-BiQfNAXm.js → p-DNx0Ngpa.js} +17 -9
  161. package/dist/components/p-DNx0Ngpa.js.map +1 -0
  162. package/dist/components/{p-CfOp4S4g.js → p-DRDChAg6.js} +3 -3
  163. package/dist/components/{p-CfOp4S4g.js.map → p-DRDChAg6.js.map} +1 -1
  164. package/dist/components/{p-DRIWa5EM.js → p-DWGdXqO4.js} +3 -3
  165. package/dist/components/{p-DRIWa5EM.js.map → p-DWGdXqO4.js.map} +1 -1
  166. package/dist/components/{p-883oa-R7.js → p-DX7Kb9cb.js} +11 -8
  167. package/dist/components/p-DX7Kb9cb.js.map +1 -0
  168. package/dist/components/{p-DUhCihul.js → p-Dab8K5mi.js} +3 -3
  169. package/dist/components/{p-DUhCihul.js.map → p-Dab8K5mi.js.map} +1 -1
  170. package/dist/components/{p-C0fuTQ5C.js → p-DkV1l_zw.js} +3 -3
  171. package/dist/components/{p-C0fuTQ5C.js.map → p-DkV1l_zw.js.map} +1 -1
  172. package/dist/components/{p-Rqv3ICkT.js → p-Dl8z1tmj.js} +3 -3
  173. package/dist/components/{p-Rqv3ICkT.js.map → p-Dl8z1tmj.js.map} +1 -1
  174. package/dist/components/{p-D9mePwWa.js → p-Dy-dPxzq.js} +15 -13
  175. package/dist/components/p-Dy-dPxzq.js.map +1 -0
  176. package/dist/components/{p-D7rSbima.js → p-DzUG2q_b.js} +3 -3
  177. package/dist/components/{p-D7rSbima.js.map → p-DzUG2q_b.js.map} +1 -1
  178. package/dist/components/{p-CKq4FH9m.js → p-Qxe4qT6a.js} +8 -9
  179. package/dist/components/p-Qxe4qT6a.js.map +1 -0
  180. package/dist/components/{p-Dbp-hj8N.js → p-WVWIAGo_.js} +4 -2
  181. package/dist/components/{p-Dbp-hj8N.js.map → p-WVWIAGo_.js.map} +1 -1
  182. package/dist/components/{p-CzT8SbWq.js → p-cjANxX0x.js} +3 -3
  183. package/dist/components/{p-CzT8SbWq.js.map → p-cjANxX0x.js.map} +1 -1
  184. package/dist/components/{p-ClKw7Zzi.js → p-fd9JyL4S.js} +15 -13
  185. package/dist/components/p-fd9JyL4S.js.map +1 -0
  186. package/dist/components/{p-DiPnUqQx.js → p-pEYsk7D-.js} +3 -3
  187. package/dist/components/{p-DiPnUqQx.js.map → p-pEYsk7D-.js.map} +1 -1
  188. package/dist/components/{p-DL5BPoYv.js → p-t7z4Xhda.js} +4 -4
  189. package/dist/components/{p-DL5BPoYv.js.map → p-t7z4Xhda.js.map} +1 -1
  190. package/dist/esm/{editorUtils-BZZzuy9j.js → editorUtils-DcBt3fOj.js} +3 -3
  191. package/dist/esm/{editorUtils-BZZzuy9j.js.map → editorUtils-DcBt3fOj.js.map} +1 -1
  192. package/dist/esm/{i18n-Dbp-hj8N.js → i18n-WVWIAGo_.js} +4 -2
  193. package/dist/esm/{i18n-Dbp-hj8N.js.map → i18n-WVWIAGo_.js.map} +1 -1
  194. package/dist/esm/loader.js +1 -1
  195. package/dist/esm/ls-add-new-button_20.entry.js +47 -38
  196. package/dist/esm/ls-assignee-select_21.entry.js +65 -27
  197. package/dist/esm/ls-compose-loader_7.entry.js +12 -12
  198. package/dist/esm/ls-compose-manager.entry.js +1 -1
  199. package/dist/esm/ls-document-viewer.entry.js +26 -7
  200. package/dist/esm/ls-document-viewer.entry.js.map +1 -1
  201. package/dist/esm/ls-document-viewer.js +1 -1
  202. package/dist/esm/ls-field-alignment_3.entry.js +3 -3
  203. package/dist/esm/ls-field-format_2.entry.js +1 -1
  204. package/dist/esm/ls-field-properties-dropdown.entry.js +3 -2
  205. package/dist/esm/ls-field-properties-dropdown.entry.js.map +1 -1
  206. package/dist/esm/ls-field-type-display.entry.js +1 -1
  207. package/dist/esm/ls-helper-bar_2.entry.js +1 -1
  208. package/dist/esm/{mouseHandlers-B8kiiTmD.js → mouseHandlers-CUHWhJed.js} +4 -4
  209. package/dist/esm/{mouseHandlers-B8kiiTmD.js.map → mouseHandlers-CUHWhJed.js.map} +1 -1
  210. package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
  211. package/dist/ls-document-viewer/p-3918ae76.entry.js +2 -0
  212. package/dist/ls-document-viewer/p-3918ae76.entry.js.map +1 -0
  213. package/dist/ls-document-viewer/{p-0643c987.entry.js → p-762b88d0.entry.js} +3 -3
  214. package/dist/ls-document-viewer/p-762b88d0.entry.js.map +1 -0
  215. package/dist/ls-document-viewer/p-7e6cb6c0.entry.js +2 -0
  216. package/dist/ls-document-viewer/p-7e6cb6c0.entry.js.map +1 -0
  217. package/dist/ls-document-viewer/{p-46e88f8f.entry.js → p-7f610d52.entry.js} +2 -2
  218. package/dist/ls-document-viewer/{p-BzuPIF0d.js → p-CEM1EUk-.js} +2 -2
  219. package/dist/ls-document-viewer/{p-BzuPIF0d.js.map → p-CEM1EUk-.js.map} +1 -1
  220. package/dist/ls-document-viewer/{p-CIrk12cz.js → p-ChvyHQhX.js} +2 -2
  221. package/dist/ls-document-viewer/{p-CIrk12cz.js.map → p-ChvyHQhX.js.map} +1 -1
  222. package/dist/ls-document-viewer/p-WVWIAGo_.js +2 -0
  223. package/dist/ls-document-viewer/{p-Dbp-hj8N.js.map → p-WVWIAGo_.js.map} +1 -1
  224. package/dist/ls-document-viewer/p-a27532c9.entry.js +2 -0
  225. package/dist/ls-document-viewer/p-a27532c9.entry.js.map +1 -0
  226. package/dist/ls-document-viewer/{p-78d72a41.entry.js → p-c47ad3e6.entry.js} +2 -2
  227. package/dist/ls-document-viewer/p-c56fd5ed.entry.js +2 -0
  228. package/dist/ls-document-viewer/p-c56fd5ed.entry.js.map +1 -0
  229. package/dist/ls-document-viewer/{p-e20e0bb4.entry.js → p-da9a034d.entry.js} +2 -2
  230. package/dist/ls-document-viewer/{p-04e5ab9a.entry.js → p-e3cf0df0.entry.js} +2 -2
  231. package/dist/ls-document-viewer/{p-b97e3ce3.entry.js → p-e4115319.entry.js} +2 -2
  232. package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +1 -0
  233. package/dist/types/components/ls-field-content/ls-field-content.d.ts +2 -0
  234. package/dist/types/components/ls-field-properties/ls-field-properties.d.ts +1 -0
  235. package/dist/types/components/ls-field-properties-checkbox/ls-field-properties-checkbox.d.ts +1 -0
  236. package/dist/types/components/ls-field-properties-date/ls-field-properties-date.d.ts +1 -0
  237. package/dist/types/components/ls-field-properties-dropdown/ls-field-properties-dropdown.d.ts +1 -0
  238. package/dist/types/components/ls-field-properties-email/ls-field-properties-email.d.ts +1 -0
  239. package/dist/types/components/ls-field-properties-file/ls-field-properties-file.d.ts +1 -0
  240. package/dist/types/components/ls-field-properties-general/ls-field-properties-general.d.ts +1 -0
  241. package/dist/types/components/ls-field-properties-multiple/ls-field-properties-multiple.d.ts +1 -0
  242. package/dist/types/components/ls-field-properties-number/ls-field-properties-number.d.ts +1 -0
  243. package/dist/types/components/ls-field-properties-signature/ls-field-properties-signature.d.ts +1 -0
  244. package/dist/types/components/ls-field-properties-text/ls-field-properties-text.d.ts +1 -0
  245. package/dist/types/components/ls-field-type-select/ls-field-type-select.d.ts +2 -0
  246. package/dist/types/components/ls-statusbar/ls-statusbar.d.ts +1 -1
  247. package/dist/types/components.d.ts +106 -0
  248. package/package.json +1 -1
  249. package/dist/components/p-4KjU_xHn.js.map +0 -1
  250. package/dist/components/p-883oa-R7.js.map +0 -1
  251. package/dist/components/p-BJkRQ2hZ.js.map +0 -1
  252. package/dist/components/p-BZ9KFHC1.js.map +0 -1
  253. package/dist/components/p-BiQfNAXm.js.map +0 -1
  254. package/dist/components/p-Bxlq9ywP.js.map +0 -1
  255. package/dist/components/p-CBN6EOa6.js.map +0 -1
  256. package/dist/components/p-CKq4FH9m.js.map +0 -1
  257. package/dist/components/p-CLScwmO_.js.map +0 -1
  258. package/dist/components/p-CNxS5_JA.js.map +0 -1
  259. package/dist/components/p-ClKw7Zzi.js.map +0 -1
  260. package/dist/components/p-Cznb3nhw.js.map +0 -1
  261. package/dist/components/p-D1fggKxb.js.map +0 -1
  262. package/dist/components/p-D4VxGydf.js.map +0 -1
  263. package/dist/components/p-D9mePwWa.js.map +0 -1
  264. package/dist/components/p-M4AweDeo.js.map +0 -1
  265. package/dist/ls-document-viewer/p-0643c987.entry.js.map +0 -1
  266. package/dist/ls-document-viewer/p-281fcd37.entry.js +0 -2
  267. package/dist/ls-document-viewer/p-281fcd37.entry.js.map +0 -1
  268. package/dist/ls-document-viewer/p-6e6f2681.entry.js +0 -2
  269. package/dist/ls-document-viewer/p-6e6f2681.entry.js.map +0 -1
  270. package/dist/ls-document-viewer/p-7be7fad4.entry.js +0 -2
  271. package/dist/ls-document-viewer/p-7be7fad4.entry.js.map +0 -1
  272. package/dist/ls-document-viewer/p-8d6d8ce9.entry.js +0 -2
  273. package/dist/ls-document-viewer/p-8d6d8ce9.entry.js.map +0 -1
  274. package/dist/ls-document-viewer/p-Dbp-hj8N.js +0 -2
  275. /package/dist/ls-document-viewer/{p-46e88f8f.entry.js.map → p-7f610d52.entry.js.map} +0 -0
  276. /package/dist/ls-document-viewer/{p-78d72a41.entry.js.map → p-c47ad3e6.entry.js.map} +0 -0
  277. /package/dist/ls-document-viewer/{p-e20e0bb4.entry.js.map → p-da9a034d.entry.js.map} +0 -0
  278. /package/dist/ls-document-viewer/{p-04e5ab9a.entry.js.map → p-e3cf0df0.entry.js.map} +0 -0
  279. /package/dist/ls-document-viewer/{p-b97e3ce3.entry.js.map → p-e4115319.entry.js.map} +0 -0
@@ -97,6 +97,10 @@ export class LsEditorField {
97
97
  }));
98
98
  return;
99
99
  }
100
+ // Let Delete/Backspace propagate for date fields (no text to edit)
101
+ if ((e.key === 'Delete' || e.key === 'Backspace') && this.isDateField()) {
102
+ return;
103
+ }
100
104
  e.stopPropagation();
101
105
  }
102
106
  handleMouseMove(e) {
@@ -142,13 +146,19 @@ export class LsEditorField {
142
146
  }
143
147
  }
144
148
  handleDoubleClick(e) {
145
- if (this.readonly || LsEditorField.NO_EDIT_TYPES.includes(this.dataItem.formElementType)) {
149
+ if (this.readonly) {
146
150
  e.preventDefault();
147
151
  e.stopPropagation();
148
152
  return;
149
153
  }
150
- // Date fields use selection to open picker, skip dblclick
154
+ // Date fields open the picker on double-click
151
155
  if (this.isDateField()) {
156
+ this.isEditing = true;
157
+ e.preventDefault();
158
+ e.stopPropagation();
159
+ return;
160
+ }
161
+ if (LsEditorField.NO_EDIT_TYPES.includes(this.dataItem.formElementType)) {
152
162
  e.preventDefault();
153
163
  e.stopPropagation();
154
164
  return;
@@ -203,6 +213,13 @@ export class LsEditorField {
203
213
  this.component.style.background = 'rgba(255,255,255,0.5)';
204
214
  this.component.style.boxShadow = 'none';
205
215
  this.isEditing = false;
216
+ // Flush pending debounced mutate so validation fires immediately
217
+ if (this.labeltimer) {
218
+ clearTimeout(this.labeltimer);
219
+ this.labeltimer = null;
220
+ }
221
+ // Always emit mutate on deselect to catch pending changes from ls-field-content
222
+ this.mutate.emit([{ action: 'update', data: this.dataItem }]);
206
223
  // Force close date picker (Safari ignores blur)
207
224
  const input = this.component.shadowRoot?.getElementById('editing-input');
208
225
  if (input && input.type === 'date') {
@@ -217,8 +234,10 @@ export class LsEditorField {
217
234
  this.mutate.emit([{ action: 'delete', data: this.dataItem }]);
218
235
  this.update.emit([{ action: 'delete', data: this.dataItem }]);
219
236
  };
220
- componentDidLoad() {
237
+ componentWillLoad() {
221
238
  this.valueError = validateFieldValue(this.dataItem?.formElementType, this.dataItem?.validation, this.dataItem?.value, this.dataItem?.options);
239
+ }
240
+ componentDidLoad() {
222
241
  this.sizeObserver = new ResizeObserver(entries => {
223
242
  for (const entry of entries) {
224
243
  if (entry.contentRect) {
@@ -317,35 +336,45 @@ export class LsEditorField {
317
336
  ? 'var(--red-50, #FF5C56)'
318
337
  : defaultRolePalette[this.dataItem?.signer % 100].s60;
319
338
  const hostStyle = this.floatingActive && !this.readonly
320
- ? { border: `2px ${borderColor} ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'}`, boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', '--field-border-color': borderColor }
321
- : { border: `2px ${borderColor} ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'}`, '--field-border-color': borderColor };
339
+ ? { outline: `2px ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'} ${borderColor}`, outlineOffset: '-2px', boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', '--field-border-color': borderColor }
340
+ : { outline: `2px ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'} ${borderColor}`, outlineOffset: '-2px', '--field-border-color': borderColor };
322
341
  const zoomValue = parseFloat(this.zoom) || 1;
323
342
  // const topOffset = (this.dataItem.height ?? 1) + 4;
324
343
  const topOffset = 24;
325
- return (h(Host, { key: '8e9426287de57ff4921ce7e898a869398adde655', id: this.dataItem ? 'ls-field-' + this.dataItem.id : undefined, style: hostStyle, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("div", { key: 'c560675018f1867fb2df40f44b95ccc220cf6257', class: {
344
+ return (h(Host, { key: '69d421bcf112299e4454b1f0d7e19f023c24eba3', id: this.dataItem ? 'ls-field-' + this.dataItem.id : undefined, style: hostStyle, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("div", { key: '2132f3425a824952bc1c0a94df36c5ec5d543a53', class: {
326
345
  'ls-editor-field': true,
327
346
  'is-selected': this.selected,
328
- } }, !this.dataItem?.optional && this.dataItem?.formElementType !== 'checkbox' && (h("ls-icon", { key: 'fb0916d5a15194ce902ea5fc5da35a41edf4a8a5', name: "required-icon", size: Math.round(12 * zoomValue), class: "ls-dv-required-icon", customStyle: {
347
+ } }, !this.dataItem?.optional && this.dataItem?.formElementType !== 'checkbox' && (h("ls-icon", { key: '0febe96c93a9336d91662187290a4e829db46d12', name: "required-icon", size: Math.round(12 * zoomValue), class: "ls-dv-required-icon", customStyle: {
329
348
  position: 'absolute',
330
349
  top: '50%',
331
350
  right: `${0.25 * zoomValue}rem`,
332
351
  transform: 'translateY(-50%)',
333
352
  lineHeight: '1',
334
353
  fontSize: `${0.75 * zoomValue}rem`,
335
- } })), !this.dataItem?.optional && this.dataItem?.formElementType === 'checkbox' && (h("ls-icon", { key: '0b68f4f83a918629e85f5ed62b3b95001d7d6a38', name: "required-icon", size: Math.round(8 * zoomValue), class: "ls-dv-required-icon", customStyle: {
354
+ } })), !this.dataItem?.optional && this.dataItem?.formElementType === 'checkbox' && (h("ls-icon", { key: '7bd57a9fa64c996a872a4a02628f015d55293a7d', name: "required-icon", size: Math.round(8 * zoomValue), class: "ls-dv-required-icon", customStyle: {
336
355
  position: 'absolute',
337
356
  top: `-${3 * zoomValue}px`,
338
357
  right: `-${3 * zoomValue}px`,
339
358
  lineHeight: '1',
340
359
  fontSize: `${0.5 * zoomValue}rem`,
341
- } })), this.isDateField() ? (h("input", { id: "editing-input", class: "ls-dv-date-field-input", type: "date", style: { color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }, value: this.toISODate(this.dataItem?.value), checked: this.dataItem?.value ? true : false, onInput: e => {
360
+ } })), this.isDateField() ? (this.isEditing ? (h("input", { id: "editing-input", class: "ls-dv-date-field-input ls-dv-date-field-active", type: "date", "aria-label": dvI18n.t('toolbox.date'), style: { color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }, value: this.toISODate(this.dataItem?.value), onInput: e => {
342
361
  const val = e.target.value;
343
362
  this.alter({ value: this.formatDateFromISO(val) });
344
363
  }, onChange: e => {
345
364
  const input = e.target;
346
365
  this.alter({ value: this.formatDateFromISO(input.value) });
366
+ this.isEditing = false;
347
367
  forceCloseDatePicker(input);
348
- } })) : (h("textarea", { id: "editing-input", class: this.isEditing ? 'ls-dv-editor-field-editable' : 'ls-dv-hidden-field', style: { color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }, value: this.dataItem?.value, placeholder: dvI18n.t(this.getFieldTypeKey()), rows: 1, onInput: e => {
368
+ }, onBlur: () => {
369
+ this.isEditing = false;
370
+ }, ref: el => {
371
+ if (el) {
372
+ requestAnimationFrame(() => {
373
+ el.focus();
374
+ el.showPicker?.();
375
+ });
376
+ }
377
+ } })) : null) : (h("textarea", { id: "editing-input", class: this.isEditing ? 'ls-dv-editor-field-editable' : 'ls-dv-hidden-field', style: { color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }, value: this.dataItem?.value, placeholder: dvI18n.t(this.getFieldTypeKey()), rows: 1, onInput: e => {
349
378
  const el = e.target;
350
379
  el.style.height = 'auto';
351
380
  el.style.height = el.scrollHeight + 'px';
@@ -358,9 +387,9 @@ export class LsEditorField {
358
387
  el.style.height = el.scrollHeight + 'px';
359
388
  });
360
389
  }
361
- } })), h("div", { key: 'd7ee15ab42dcc2226f1dbe48b00965b04749b9fe', id: "field-info", class: this.isEditing ? 'ls-dv-hidden-field' : 'ls-dv-editor-field-draggable', style: { color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, ...(this.dataItem?.formElementType === 'checkbox' ? { width: '100%', overflow: 'visible', justifyContent: 'center', alignItems: 'center' } : {}) } }, h("span", { key: '12a7f963f4a7553d087577ebcec3701d75af0d92', style: { width: '100%', display: 'block', textAlign: this.dataItem?.formElementType === 'checkbox' ? 'center' : 'inherit' } }, this.dataItem?.formElementType === 'checkbox'
390
+ } })), h("div", { key: 'e9fa09079c0a79d48689e250eac9d0920c61b679', id: "field-info", class: this.isEditing ? 'ls-dv-hidden-field' : 'ls-dv-editor-field-draggable', style: { color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, ...(this.dataItem?.formElementType === 'checkbox' ? { width: '100%', overflow: 'visible', justifyContent: 'center', alignItems: 'center' } : {}) } }, h("span", { key: '4bb8e6d406a70926c0ad037f6d22a91c7532a4eb', style: { width: '100%', display: 'block', textAlign: this.dataItem?.formElementType === 'checkbox' ? 'center' : 'inherit' } }, this.dataItem?.formElementType === 'checkbox'
362
391
  ? this.getCheckboxSymbol()
363
- : this.dataItem?.value || dvI18n.t(this.getFieldTypeKey()))), (this.floatingActive || this.selected) && !this.multiSelected && this.dataItem?.label && (h("div", { key: '7fb009c332e4bad62c59a5369dfe6b485a9b7fd5', style: {
392
+ : this.dataItem?.value || dvI18n.t(this.getFieldTypeKey()))), (this.floatingActive || this.selected) && !this.multiSelected && this.dataItem?.label && (h("div", { key: '14f10072270d2155b5db94c3ffeaa7867259a6b5', style: {
364
393
  position: 'absolute',
365
394
  background: `${defaultRolePalette[this.dataItem?.signer % 100].s20}`,
366
395
  color: `${defaultRolePalette[this.dataItem?.signer % 100].s80}`,
@@ -372,7 +401,7 @@ export class LsEditorField {
372
401
  left: `-${2 * zoomValue}px`,
373
402
  whiteSpace: 'nowrap',
374
403
  width: 'fit-content',
375
- } }, this.dataItem?.label)), (this.floatingActive || this.selected) && !this.multiSelected && (h("p", { key: '3b6017817f8d3129acb427a564a41fe202ca1f70', style: {
404
+ } }, this.dataItem?.label)), (this.floatingActive || this.selected) && !this.multiSelected && (h("p", { key: 'de3107a8e0529f9878b084a9b9ca78cc88117199', style: {
376
405
  position: 'absolute',
377
406
  color: 'var(--gray-80, #3a3a3a)',
378
407
  bottom: `-${1.75 * zoomValue}rem`,
@@ -383,7 +412,7 @@ export class LsEditorField {
383
412
  textOverflow: 'ellipsis',
384
413
  maxWidth: `${10 * zoomValue}rem`,
385
414
  fontFamily: 'sans-serif',
386
- } }, dvI18n.t('fieldproperties.assignedto'), " ", this.assignee)), this.selected && !this.multiSelected && (h("div", { key: '19a9fde506d26a3e4d75f38d8d4ad0d5d126b458', class: "resize-handles" }, h("div", { key: '900a3de272a7ccd81383747564ac6fc944a1ea2a', class: "resize-handle handle-e" }), h("div", { key: '97b0e302ba3c06e0332864d6587a1f5c5ca5346a', class: "resize-handle handle-s" }), h("div", { key: '7ea01bf7b7a88dac5a0706928f28d3953cebb012', class: "resize-handle handle-se" }))), this.floatingActive && !this.readonly && (h("button", { key: '266be9a46d26ef058853dd966d298d2d26f96fe0', class: 'ls-dv-x-button', style: {
415
+ } }, dvI18n.t('fieldproperties.assignedto'), " ", this.assignee)), this.selected && !this.multiSelected && (h("div", { key: '7634c594ac826f92c4ac4358583e50e7ea82ef11', class: "resize-handles" }, h("div", { key: 'b0ff296db4fbc7f6c6d5d42369961b45e7fddf6d', class: "resize-handle handle-e" }), h("div", { key: '0915ee6760657bf8acd4512f4fa56c689239f99e', class: "resize-handle handle-s" }), h("div", { key: '49e9a7ed9cf23fdf155b23cbab370b26c5231274', class: "resize-handle handle-se" }))), this.floatingActive && !this.readonly && (h("button", { key: 'ce655a363c3bdc85c7a7015b981ed13630f49e16', class: 'ls-dv-x-button', style: {
387
416
  display: 'flex',
388
417
  justifyContent: 'center',
389
418
  alignItems: 'center',
@@ -392,7 +421,7 @@ export class LsEditorField {
392
421
  lineHeight: `${0.75 * zoomValue}rem`,
393
422
  fontSize: `${0.75 * zoomValue}rem`,
394
423
  ...(this.dataItem?.formElementType === 'checkbox' ? { transform: `translate(75%, -75%)` } : {}),
395
- }, onClick: () => this.deleteField() }, h("ls-icon", { key: 'b01ecd2b0b553512cd83c326444d35bb2c0e8496', name: "x-icon", size: Math.round(12 * zoomValue) }))))));
424
+ }, onClick: () => this.deleteField() }, h("ls-icon", { key: '7fe51c2ef42fd9cfdbb9c19849e2d5b53a58ab9a', name: "x-icon", size: Math.round(12 * zoomValue) }))))));
396
425
  }
397
426
  static get is() { return "ls-editor-field"; }
398
427
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ls-editor-field.js","sourceRoot":"","sources":["../../../../src/components/ls-editor-field/ls-editor-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, State, Prop, Watch, Listen, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement } from '../../components';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { validationTypes, getInputType } from '../ls-document-viewer/editorUtils';\nimport { defaultRolePalette } from '../ls-document-viewer/defaultPalette';\nimport { dvI18n } from '../../i18n/i18n';\nimport { validateFieldValue } from '../../utils/fieldValueValidator';\nimport { forceCloseDatePicker } from '../../utils/utils';\n\nconst fieldTypeKeyMap: { [key: string]: string } = {\n 'signature': 'toolbox.signature',\n 'auto sign': 'toolbox.autosign',\n 'text': 'toolbox.text',\n 'signing date': 'toolbox.signingdate',\n 'date': 'toolbox.date',\n 'initials': 'toolbox.initials',\n 'checkbox': 'toolbox.checkbox',\n 'email': 'toolbox.email',\n 'number': 'toolbox.number',\n 'dropdown': 'toolbox.dropdown',\n 'file': 'toolbox.file',\n 'drawn field': 'toolbox.drawn',\n 'regular expression': 'toolbox.regex',\n 'regex': 'toolbox.regex',\n};\n\nconst checkboxSymbols: { [key: number]: [string, string] } = {\n 24: ['✔', '✗'],\n 25: ['✔', ''],\n 26: ['✗', ''],\n};\n\n@Component({\n tag: 'ls-editor-field',\n styleUrl: 'ls-editor-field.scss',\n shadow: true,\n})\nexport class LsEditorField {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) assignee: string;\n @Prop({ mutable: true }) dataItem: LSApiElement;\n @Prop() selected: boolean = false;\n @Prop() multiSelected: boolean = false;\n @Prop() readonly: boolean;\n @Prop() type: 'text' | 'signature' | 'date' | 'regular expression' | 'file' | 'number' | 'signing date';\n @Prop() page: { height: number; width: number };\n\n private getFieldTypeKey(): string {\n return fieldTypeKeyMap[this.dataItem?.formElementType] || 'toolbox.text';\n }\n\n private getCheckboxSymbol(): string {\n const symbols = checkboxSymbols[this.dataItem?.validation];\n if (!symbols) return '';\n return this.dataItem?.value === 'true' ? symbols[0] : symbols[1];\n }\n @Prop() fixedAspect: number | null = null;\n @State() isEditing: boolean = false;\n\n private static readonly NO_EDIT_TYPES = ['signature', 'initials', 'signing date', 'checkbox', 'dropdown', 'drawn field', 'file'];\n\n @Watch('dataItem')\n dataItemChanged() {\n if (this.isEditing && LsEditorField.NO_EDIT_TYPES.includes(this.dataItem?.formElementType as string)) {\n this.isEditing = false;\n }\n }\n @State() heldEdge: string = null;\n @State() isEdgeDragging: boolean = false;\n @State() innerValue: string;\n @State() valueError: string | null = null;\n @Prop() zoom: string;\n\n private sizeObserver: ResizeObserver;\n\n @Event({\n bubbles: true,\n cancelable: false,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: false,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n /**\n * Controls whether floating elements are visible. Set by mouse enter/leave events.\n */\n @Prop({ mutable: true, reflect: true }) floatingActive: boolean = false;\n\n // Set floatingActive true on mouse enter, false on mouse leave\n private handleMouseEnter = () => {\n this.floatingActive = true;\n };\n\n private handleMouseLeave = () => {\n this.floatingActive = false;\n };\n\n @Listen('keydown')\n handleInput(e: KeyboardEvent) {\n if (e.code === 'Enter' && !e.ctrlKey && !e.metaKey) {\n this.isEditing = false;\n this.sizeObserver.observe(this.component.shadowRoot.getElementById('field-info'));\n e.preventDefault();\n }\n\n // Let undo/redo pass through to document handler\n const isMod = e.ctrlKey || e.metaKey;\n if (isMod && (e.key === 'z' || e.key === 'Z' || e.key === 'y' || e.key === 'Y')) {\n e.preventDefault();\n // If there's a pending debounce, just cancel it and revert locally\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n // Revert to the last committed value by re-reading from the DOM\n // The textarea will update on next render via dataItem binding\n return;\n }\n // No pending debounce — dispatch to document for history undo/redo\n document.dispatchEvent(new KeyboardEvent('keydown', {\n key: e.key,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n shiftKey: e.shiftKey,\n }));\n return;\n }\n\n e.stopPropagation();\n }\n\n @Listen('mousemove', { capture: true })\n handleMouseMove(e) {\n if (this.readonly) {\n this.component.style.cursor = 'not-allowed';\n return;\n }\n if (!e.clientX) return;\n\n // While dragging (button held), keep current cursor\n if (e.buttons === 1) return;\n\n // Use getBoundingClientRect + clientX/clientY so cursor detection matches\n // the mouseDown hit-test in mouseHandlers.ts exactly\n const { left, top, right, bottom, width, height } = this.component.getBoundingClientRect();\n const edgeX = Math.min(8, width * 0.25);\n const edgeY = Math.min(8, height * 0.25);\n const cornerX = Math.min(16, width * 0.35);\n const cornerY = Math.min(16, height * 0.35);\n\n const nearLeft = Math.abs(e.clientX - left) < edgeX;\n const nearRight = Math.abs(e.clientX - right) < edgeX;\n const nearTop = Math.abs(e.clientY - top) < edgeY;\n const nearBottom = Math.abs(e.clientY - bottom) < edgeY;\n\n const cornerLeft = Math.abs(e.clientX - left) < cornerX;\n const cornerRight = Math.abs(e.clientX - right) < cornerX;\n const cornerTop = Math.abs(e.clientY - top) < cornerY;\n const cornerBottom = Math.abs(e.clientY - bottom) < cornerY;\n\n // Corners first (larger zone)\n if ((cornerRight && cornerBottom) || (cornerLeft && cornerTop)) {\n this.component.style.cursor = 'nwse-resize';\n } else if ((cornerLeft && cornerBottom) || (cornerRight && cornerTop)) {\n this.component.style.cursor = 'nesw-resize';\n } else if (nearLeft || nearRight) {\n this.component.style.cursor = 'ew-resize';\n } else if (nearTop || nearBottom) {\n this.component.style.cursor = 'ns-resize';\n } else {\n this.component.style.cursor = 'move';\n }\n }\n\n @Listen('dblclick', { capture: true })\n handleDoubleClick(e: MouseEvent) {\n if (this.readonly || LsEditorField.NO_EDIT_TYPES.includes(this.dataItem.formElementType as string)) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n // Date fields use selection to open picker, skip dblclick\n if (this.isDateField()) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n this.isEditing = true;\n this.heldEdge = null;\n this.isEdgeDragging = false;\n this.sizeObserver.disconnect();\n this.innerValue = this.innerValue ? this.innerValue : this.dataItem?.value;\n\n const editbox = this.component.shadowRoot.getElementById('editing-input') as HTMLInputElement;\n console.log(this.dataItem);\n\n if (editbox) {\n editbox.className = 'ls-dv-editor-field-editable';\n editbox.focus();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n\n @Listen('mousedown', { capture: true })\n handleMouseDown(e) {\n if (this.readonly) return;\n const edgeX = Math.min(8, this.component.clientWidth * 0.25);\n const edgeY = Math.min(8, this.component.clientHeight * 0.25);\n\n const nearLeft = e.offsetX < edgeX;\n const nearRight = (this.component.clientWidth - e.offsetX) < edgeX;\n const nearTop = e.offsetY < edgeY;\n const nearBottom = (this.component.clientHeight - e.offsetY) < edgeY;\n\n if (nearLeft || nearRight || nearTop || nearBottom) {\n // Prevent native drag so mousemove keeps firing during resize\n e.preventDefault();\n }\n }\n\n @Listen('dragstart', { capture: false, passive: false })\n handleDragStart(event) {\n // Add the target element's id to the data transfer object\n event.dataTransfer.setData(\n 'application/json',\n JSON.stringify({\n type: this.type,\n }),\n );\n event.dataTransfer.dropEffect = 'move';\n }\n\n @Watch('dataItem')\n watchDataItemHandler() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n if (this.selected) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n }\n }\n\n @Watch('selected')\n watchSelectedHandler(_newValue: boolean, _oldValue: boolean) {\n if (_newValue) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n } else {\n this.component.style.background = 'rgba(255,255,255,0.5)';\n this.component.style.boxShadow = 'none';\n this.isEditing = false;\n // Force close date picker (Safari ignores blur)\n const input = this.component.shadowRoot?.getElementById('editing-input') as HTMLInputElement;\n if (input && input.type === 'date') {\n setTimeout(() => {\n if (!this.selected) forceCloseDatePicker(input);\n }, 50);\n }\n }\n }\n\n deleteField = () => {\n this.mutate.emit([{ action: 'delete', data: this.dataItem }]);\n this.update.emit([{ action: 'delete', data: this.dataItem }]);\n };\n\n componentDidLoad() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n\n this.sizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect) {\n const movebox = this.component.shadowRoot.getElementById('field-info') as HTMLElement;\n\n movebox.style.height = '100%';\n }\n }\n });\n\n this.sizeObserver.observe(this.component);\n\n // New dropped components automatically need selecting.\n if (this.selected) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n } else {\n this.component.style.background = this.hexToRgba('ffffff', 0.7);\n this.component.style.boxShadow = 'none';\n }\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n // NOTE this alter is debounced to account for typing\n alter(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n this.debounce(this.dataItem, 1500);\n }\n\n private labeltimer;\n\n debounce(data, delay) {\n if (this.labeltimer) clearTimeout(this.labeltimer);\n\n this.labeltimer = setTimeout(() => {\n const diffs: LSMutateEvent[] = [{ action: 'update', data }];\n this.mutate.emit(diffs);\n }, delay);\n }\n\n hexToRgba(hex: string, alpha: number): string {\n hex = hex.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n return `rgba(${r},${g},${b},${alpha})`;\n }\n\n private isDateField(): boolean {\n return getInputType(this.dataItem?.validation)?.inputType === 'date';\n }\n\n private getDateFormat(): string | null {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private toISODate(value: string): string {\n if (!value) return '';\n const format = this.getDateFormat();\n if (!format) return value;\n\n const sep = format.match(/[/.-]/)?.[0] || '/';\n const parts = format.split(/[/.-]/);\n const valueParts = value.split(sep);\n if (valueParts.length < 2) return value;\n\n let y = '', m = '', d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n return `${y.padStart(4, '0')}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`;\n }\n\n private formatDateFromISO(isoValue: string): string {\n if (!isoValue) return '';\n const [y, m, d] = isoValue.split('-');\n const format = this.getDateFormat();\n if (!format) return isoValue;\n\n return format\n .replace('yyyy', y)\n .replace('yy', y.slice(-2))\n .replace('mm', m)\n .replace('dd', d)\n .replace('d', String(parseInt(d)));\n }\n\n render() {\n const borderColor = this.valueError\n ? 'var(--red-50, #FF5C56)'\n : defaultRolePalette[this.dataItem?.signer % 100].s60;\n\n const hostStyle = this.floatingActive && !this.readonly\n ? { border: `2px ${borderColor} ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'}`, boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', '--field-border-color': borderColor }\n : { border: `2px ${borderColor} ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'}`, '--field-border-color': borderColor };\n\n const zoomValue = parseFloat(this.zoom) || 1;\n // const topOffset = (this.dataItem.height ?? 1) + 4;\n const topOffset = 24;\n \n\n return (\n <Host id={this.dataItem ? 'ls-field-' + this.dataItem.id : undefined} style={hostStyle} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>\n <div\n class={{\n 'ls-editor-field': true,\n 'is-selected': this.selected,\n }}\n >\n {!this.dataItem?.optional && this.dataItem?.formElementType !== 'checkbox' && (\n <ls-icon\n name=\"required-icon\"\n size={Math.round(12 * zoomValue)}\n class=\"ls-dv-required-icon\"\n customStyle={{\n position: 'absolute',\n top: '50%',\n right: `${0.25 * zoomValue}rem`,\n transform: 'translateY(-50%)',\n lineHeight: '1',\n fontSize: `${0.75 * zoomValue}rem`,\n }}\n />\n )}\n {!this.dataItem?.optional && this.dataItem?.formElementType === 'checkbox' && (\n <ls-icon\n name=\"required-icon\"\n size={Math.round(8 * zoomValue)}\n class=\"ls-dv-required-icon\"\n customStyle={{\n position: 'absolute',\n top: `-${3 * zoomValue}px`,\n right: `-${3 * zoomValue}px`,\n lineHeight: '1',\n fontSize: `${0.5 * zoomValue}rem`,\n }}\n />\n )}\n {this.isDateField() ? (\n <input\n id=\"editing-input\"\n class=\"ls-dv-date-field-input\"\n type=\"date\"\n style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }}\n value={this.toISODate(this.dataItem?.value)}\n checked={this.dataItem?.value ? true : false}\n onInput={e => {\n const val = (e.target as HTMLInputElement).value;\n this.alter({ value: this.formatDateFromISO(val) });\n }}\n onChange={e => {\n const input = e.target as HTMLInputElement;\n this.alter({ value: this.formatDateFromISO(input.value) });\n forceCloseDatePicker(input);\n }}\n />\n ) : (\n <textarea\n id=\"editing-input\"\n class={this.isEditing ? 'ls-dv-editor-field-editable' : 'ls-dv-hidden-field'}\n style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }}\n value={this.dataItem?.value}\n placeholder={dvI18n.t(this.getFieldTypeKey())}\n rows={1}\n onInput={e => {\n const el = e.target as HTMLTextAreaElement;\n el.style.height = 'auto';\n el.style.height = el.scrollHeight + 'px';\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n el.value,\n this.dataItem?.options,\n );\n this.alter({ value: el.value });\n }}\n ref={el => {\n if (el && this.isEditing) {\n requestAnimationFrame(() => {\n el.style.height = 'auto';\n el.style.height = el.scrollHeight + 'px';\n });\n }\n }}\n />\n )}\n\n <div id=\"field-info\" class={this.isEditing ? 'ls-dv-hidden-field' : 'ls-dv-editor-field-draggable'} style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, ...(this.dataItem?.formElementType === 'checkbox' ? { width: '100%', overflow: 'visible', justifyContent: 'center', alignItems: 'center' } : {}) }}>\n <span style={{ width: '100%', display: 'block', textAlign: this.dataItem?.formElementType === 'checkbox' ? 'center' : 'inherit' }}>\n {this.dataItem?.formElementType === 'checkbox'\n ? this.getCheckboxSymbol()\n : this.dataItem?.value || dvI18n.t(this.getFieldTypeKey())}\n </span>\n </div>\n {(this.floatingActive || this.selected) && !this.multiSelected && this.dataItem?.label && (\n <div\n style={{\n position: 'absolute',\n background: `${defaultRolePalette[this.dataItem?.signer % 100].s20}`,\n color: `${defaultRolePalette[this.dataItem?.signer % 100].s80}`,\n borderRadius: `${0.25 * zoomValue}rem`,\n padding: `${0.125 * zoomValue}rem ${0.25 * zoomValue}rem`,\n top: `-${topOffset * zoomValue}px`,\n fontWeight: '500',\n fontSize: `${0.75 * zoomValue}rem`, \n left: `-${2 * zoomValue}px`,\n whiteSpace: 'nowrap',\n width: 'fit-content',\n }}\n >\n {this.dataItem?.label}\n </div>\n )}\n {(this.floatingActive || this.selected) && !this.multiSelected && (\n <p\n style={{\n position: 'absolute',\n color: 'var(--gray-80, #3a3a3a)',\n bottom: `-${1.75 * zoomValue}rem`,\n fontSize: `${0.625 * zoomValue}rem`,\n left: '0',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: `${10 * zoomValue}rem`,\n fontFamily: 'sans-serif',\n }}\n >\n {dvI18n.t('fieldproperties.assignedto')} {this.assignee}\n </p>\n )}\n {this.selected && !this.multiSelected && (\n <div class=\"resize-handles\">\n <div class=\"resize-handle handle-e\" />\n <div class=\"resize-handle handle-s\" />\n <div class=\"resize-handle handle-se\" />\n </div>\n )}\n {this.floatingActive && !this.readonly && (\n <button\n class={'ls-dv-x-button'}\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: `${0.875 * zoomValue}rem`,\n height: `${0.875 * zoomValue}rem`,\n lineHeight: `${0.75 * zoomValue}rem`,\n fontSize: `${0.75 * zoomValue}rem`,\n ...(this.dataItem?.formElementType === 'checkbox' ? { transform: `translate(75%, -75%)` } : {}),\n }}\n onClick={() => this.deleteField()}\n >\n <ls-icon name=\"x-icon\" size={Math.round(12 * zoomValue)} />\n </button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ls-editor-field.js","sourceRoot":"","sources":["../../../../src/components/ls-editor-field/ls-editor-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, State, Prop, Watch, Listen, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement } from '../../components';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { validationTypes, getInputType } from '../ls-document-viewer/editorUtils';\nimport { defaultRolePalette } from '../ls-document-viewer/defaultPalette';\nimport { dvI18n } from '../../i18n/i18n';\nimport { validateFieldValue } from '../../utils/fieldValueValidator';\nimport { forceCloseDatePicker } from '../../utils/utils';\n\nconst fieldTypeKeyMap: { [key: string]: string } = {\n 'signature': 'toolbox.signature',\n 'auto sign': 'toolbox.autosign',\n 'text': 'toolbox.text',\n 'signing date': 'toolbox.signingdate',\n 'date': 'toolbox.date',\n 'initials': 'toolbox.initials',\n 'checkbox': 'toolbox.checkbox',\n 'email': 'toolbox.email',\n 'number': 'toolbox.number',\n 'dropdown': 'toolbox.dropdown',\n 'file': 'toolbox.file',\n 'drawn field': 'toolbox.drawn',\n 'regular expression': 'toolbox.regex',\n 'regex': 'toolbox.regex',\n};\n\nconst checkboxSymbols: { [key: number]: [string, string] } = {\n 24: ['✔', '✗'],\n 25: ['✔', ''],\n 26: ['✗', ''],\n};\n\n@Component({\n tag: 'ls-editor-field',\n styleUrl: 'ls-editor-field.scss',\n shadow: true,\n})\nexport class LsEditorField {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) assignee: string;\n @Prop({ mutable: true }) dataItem: LSApiElement;\n @Prop() selected: boolean = false;\n @Prop() multiSelected: boolean = false;\n @Prop() readonly: boolean;\n @Prop() type: 'text' | 'signature' | 'date' | 'regular expression' | 'file' | 'number' | 'signing date';\n @Prop() page: { height: number; width: number };\n\n private getFieldTypeKey(): string {\n return fieldTypeKeyMap[this.dataItem?.formElementType] || 'toolbox.text';\n }\n\n private getCheckboxSymbol(): string {\n const symbols = checkboxSymbols[this.dataItem?.validation];\n if (!symbols) return '';\n return this.dataItem?.value === 'true' ? symbols[0] : symbols[1];\n }\n @Prop() fixedAspect: number | null = null;\n @State() isEditing: boolean = false;\n\n private static readonly NO_EDIT_TYPES = ['signature', 'initials', 'signing date', 'checkbox', 'dropdown', 'drawn field', 'file'];\n\n @Watch('dataItem')\n dataItemChanged() {\n if (this.isEditing && LsEditorField.NO_EDIT_TYPES.includes(this.dataItem?.formElementType as string)) {\n this.isEditing = false;\n }\n }\n @State() heldEdge: string = null;\n @State() isEdgeDragging: boolean = false;\n @State() innerValue: string;\n @State() valueError: string | null = null;\n @Prop() zoom: string;\n\n private sizeObserver: ResizeObserver;\n\n @Event({\n bubbles: true,\n cancelable: false,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: false,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n /**\n * Controls whether floating elements are visible. Set by mouse enter/leave events.\n */\n @Prop({ mutable: true, reflect: true }) floatingActive: boolean = false;\n\n // Set floatingActive true on mouse enter, false on mouse leave\n private handleMouseEnter = () => {\n this.floatingActive = true;\n };\n\n private handleMouseLeave = () => {\n this.floatingActive = false;\n };\n\n @Listen('keydown')\n handleInput(e: KeyboardEvent) {\n if (e.code === 'Enter' && !e.ctrlKey && !e.metaKey) {\n this.isEditing = false;\n this.sizeObserver.observe(this.component.shadowRoot.getElementById('field-info'));\n e.preventDefault();\n }\n\n // Let undo/redo pass through to document handler\n const isMod = e.ctrlKey || e.metaKey;\n if (isMod && (e.key === 'z' || e.key === 'Z' || e.key === 'y' || e.key === 'Y')) {\n e.preventDefault();\n // If there's a pending debounce, just cancel it and revert locally\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n // Revert to the last committed value by re-reading from the DOM\n // The textarea will update on next render via dataItem binding\n return;\n }\n // No pending debounce — dispatch to document for history undo/redo\n document.dispatchEvent(new KeyboardEvent('keydown', {\n key: e.key,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n shiftKey: e.shiftKey,\n }));\n return;\n }\n\n // Let Delete/Backspace propagate for date fields (no text to edit)\n if ((e.key === 'Delete' || e.key === 'Backspace') && this.isDateField()) {\n return;\n }\n\n e.stopPropagation();\n }\n\n @Listen('mousemove', { capture: true })\n handleMouseMove(e) {\n if (this.readonly) {\n this.component.style.cursor = 'not-allowed';\n return;\n }\n if (!e.clientX) return;\n\n // While dragging (button held), keep current cursor\n if (e.buttons === 1) return;\n\n // Use getBoundingClientRect + clientX/clientY so cursor detection matches\n // the mouseDown hit-test in mouseHandlers.ts exactly\n const { left, top, right, bottom, width, height } = this.component.getBoundingClientRect();\n const edgeX = Math.min(8, width * 0.25);\n const edgeY = Math.min(8, height * 0.25);\n const cornerX = Math.min(16, width * 0.35);\n const cornerY = Math.min(16, height * 0.35);\n\n const nearLeft = Math.abs(e.clientX - left) < edgeX;\n const nearRight = Math.abs(e.clientX - right) < edgeX;\n const nearTop = Math.abs(e.clientY - top) < edgeY;\n const nearBottom = Math.abs(e.clientY - bottom) < edgeY;\n\n const cornerLeft = Math.abs(e.clientX - left) < cornerX;\n const cornerRight = Math.abs(e.clientX - right) < cornerX;\n const cornerTop = Math.abs(e.clientY - top) < cornerY;\n const cornerBottom = Math.abs(e.clientY - bottom) < cornerY;\n\n // Corners first (larger zone)\n if ((cornerRight && cornerBottom) || (cornerLeft && cornerTop)) {\n this.component.style.cursor = 'nwse-resize';\n } else if ((cornerLeft && cornerBottom) || (cornerRight && cornerTop)) {\n this.component.style.cursor = 'nesw-resize';\n } else if (nearLeft || nearRight) {\n this.component.style.cursor = 'ew-resize';\n } else if (nearTop || nearBottom) {\n this.component.style.cursor = 'ns-resize';\n } else {\n this.component.style.cursor = 'move';\n }\n }\n\n @Listen('dblclick', { capture: true })\n handleDoubleClick(e: MouseEvent) {\n if (this.readonly) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n // Date fields open the picker on double-click\n if (this.isDateField()) {\n this.isEditing = true;\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n if (LsEditorField.NO_EDIT_TYPES.includes(this.dataItem.formElementType as string)) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n this.isEditing = true;\n this.heldEdge = null;\n this.isEdgeDragging = false;\n this.sizeObserver.disconnect();\n this.innerValue = this.innerValue ? this.innerValue : this.dataItem?.value;\n\n const editbox = this.component.shadowRoot.getElementById('editing-input') as HTMLInputElement;\n console.log(this.dataItem);\n\n if (editbox) {\n editbox.className = 'ls-dv-editor-field-editable';\n editbox.focus();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n\n @Listen('mousedown', { capture: true })\n handleMouseDown(e) {\n if (this.readonly) return;\n const edgeX = Math.min(8, this.component.clientWidth * 0.25);\n const edgeY = Math.min(8, this.component.clientHeight * 0.25);\n\n const nearLeft = e.offsetX < edgeX;\n const nearRight = (this.component.clientWidth - e.offsetX) < edgeX;\n const nearTop = e.offsetY < edgeY;\n const nearBottom = (this.component.clientHeight - e.offsetY) < edgeY;\n\n if (nearLeft || nearRight || nearTop || nearBottom) {\n // Prevent native drag so mousemove keeps firing during resize\n e.preventDefault();\n }\n }\n\n @Listen('dragstart', { capture: false, passive: false })\n handleDragStart(event) {\n // Add the target element's id to the data transfer object\n event.dataTransfer.setData(\n 'application/json',\n JSON.stringify({\n type: this.type,\n }),\n );\n event.dataTransfer.dropEffect = 'move';\n }\n\n @Watch('dataItem')\n watchDataItemHandler() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n if (this.selected) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n }\n }\n\n @Watch('selected')\n watchSelectedHandler(_newValue: boolean, _oldValue: boolean) {\n if (_newValue) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n } else {\n this.component.style.background = 'rgba(255,255,255,0.5)';\n this.component.style.boxShadow = 'none';\n this.isEditing = false;\n // Flush pending debounced mutate so validation fires immediately\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n }\n // Always emit mutate on deselect to catch pending changes from ls-field-content\n this.mutate.emit([{ action: 'update', data: this.dataItem }]);\n // Force close date picker (Safari ignores blur)\n const input = this.component.shadowRoot?.getElementById('editing-input') as HTMLInputElement;\n if (input && input.type === 'date') {\n setTimeout(() => {\n if (!this.selected) forceCloseDatePicker(input);\n }, 50);\n }\n }\n }\n\n deleteField = () => {\n this.mutate.emit([{ action: 'delete', data: this.dataItem }]);\n this.update.emit([{ action: 'delete', data: this.dataItem }]);\n };\n\n componentWillLoad() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n }\n\n componentDidLoad() {\n this.sizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect) {\n const movebox = this.component.shadowRoot.getElementById('field-info') as HTMLElement;\n\n movebox.style.height = '100%';\n }\n }\n });\n\n this.sizeObserver.observe(this.component);\n\n // New dropped components automatically need selecting.\n if (this.selected) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n } else {\n this.component.style.background = this.hexToRgba('ffffff', 0.7);\n this.component.style.boxShadow = 'none';\n }\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n // NOTE this alter is debounced to account for typing\n alter(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n this.debounce(this.dataItem, 1500);\n }\n\n private labeltimer;\n\n debounce(data, delay) {\n if (this.labeltimer) clearTimeout(this.labeltimer);\n\n this.labeltimer = setTimeout(() => {\n const diffs: LSMutateEvent[] = [{ action: 'update', data }];\n this.mutate.emit(diffs);\n }, delay);\n }\n\n hexToRgba(hex: string, alpha: number): string {\n hex = hex.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n return `rgba(${r},${g},${b},${alpha})`;\n }\n\n private isDateField(): boolean {\n return getInputType(this.dataItem?.validation)?.inputType === 'date';\n }\n\n private getDateFormat(): string | null {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private toISODate(value: string): string {\n if (!value) return '';\n const format = this.getDateFormat();\n if (!format) return value;\n\n const sep = format.match(/[/.-]/)?.[0] || '/';\n const parts = format.split(/[/.-]/);\n const valueParts = value.split(sep);\n if (valueParts.length < 2) return value;\n\n let y = '', m = '', d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n return `${y.padStart(4, '0')}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`;\n }\n\n private formatDateFromISO(isoValue: string): string {\n if (!isoValue) return '';\n const [y, m, d] = isoValue.split('-');\n const format = this.getDateFormat();\n if (!format) return isoValue;\n\n return format\n .replace('yyyy', y)\n .replace('yy', y.slice(-2))\n .replace('mm', m)\n .replace('dd', d)\n .replace('d', String(parseInt(d)));\n }\n\n render() {\n const borderColor = this.valueError\n ? 'var(--red-50, #FF5C56)'\n : defaultRolePalette[this.dataItem?.signer % 100].s60;\n\n const hostStyle = this.floatingActive && !this.readonly\n ? { outline: `2px ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'} ${borderColor}`, outlineOffset: '-2px', boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', '--field-border-color': borderColor }\n : { outline: `2px ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'} ${borderColor}`, outlineOffset: '-2px', '--field-border-color': borderColor };\n\n const zoomValue = parseFloat(this.zoom) || 1;\n // const topOffset = (this.dataItem.height ?? 1) + 4;\n const topOffset = 24;\n \n\n return (\n <Host id={this.dataItem ? 'ls-field-' + this.dataItem.id : undefined} style={hostStyle} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>\n <div\n class={{\n 'ls-editor-field': true,\n 'is-selected': this.selected,\n }}\n >\n {!this.dataItem?.optional && this.dataItem?.formElementType !== 'checkbox' && (\n <ls-icon\n name=\"required-icon\"\n size={Math.round(12 * zoomValue)}\n class=\"ls-dv-required-icon\"\n customStyle={{\n position: 'absolute',\n top: '50%',\n right: `${0.25 * zoomValue}rem`,\n transform: 'translateY(-50%)',\n lineHeight: '1',\n fontSize: `${0.75 * zoomValue}rem`,\n }}\n />\n )}\n {!this.dataItem?.optional && this.dataItem?.formElementType === 'checkbox' && (\n <ls-icon\n name=\"required-icon\"\n size={Math.round(8 * zoomValue)}\n class=\"ls-dv-required-icon\"\n customStyle={{\n position: 'absolute',\n top: `-${3 * zoomValue}px`,\n right: `-${3 * zoomValue}px`,\n lineHeight: '1',\n fontSize: `${0.5 * zoomValue}rem`,\n }}\n />\n )}\n {this.isDateField() ? (\n this.isEditing ? (\n <input\n id=\"editing-input\"\n class=\"ls-dv-date-field-input ls-dv-date-field-active\"\n type=\"date\"\n aria-label={dvI18n.t('toolbox.date')}\n style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }}\n value={this.toISODate(this.dataItem?.value)}\n onInput={e => {\n const val = (e.target as HTMLInputElement).value;\n this.alter({ value: this.formatDateFromISO(val) });\n }}\n onChange={e => {\n const input = e.target as HTMLInputElement;\n this.alter({ value: this.formatDateFromISO(input.value) });\n this.isEditing = false;\n forceCloseDatePicker(input);\n }}\n onBlur={() => {\n this.isEditing = false;\n }}\n ref={el => {\n if (el) {\n requestAnimationFrame(() => {\n el.focus();\n el.showPicker?.();\n });\n }\n }}\n />\n ) : null\n ) : (\n <textarea\n id=\"editing-input\"\n class={this.isEditing ? 'ls-dv-editor-field-editable' : 'ls-dv-hidden-field'}\n style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }}\n value={this.dataItem?.value}\n placeholder={dvI18n.t(this.getFieldTypeKey())}\n rows={1}\n onInput={e => {\n const el = e.target as HTMLTextAreaElement;\n el.style.height = 'auto';\n el.style.height = el.scrollHeight + 'px';\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n el.value,\n this.dataItem?.options,\n );\n this.alter({ value: el.value });\n }}\n ref={el => {\n if (el && this.isEditing) {\n requestAnimationFrame(() => {\n el.style.height = 'auto';\n el.style.height = el.scrollHeight + 'px';\n });\n }\n }}\n />\n )}\n\n <div id=\"field-info\" class={this.isEditing ? 'ls-dv-hidden-field' : 'ls-dv-editor-field-draggable'} style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, ...(this.dataItem?.formElementType === 'checkbox' ? { width: '100%', overflow: 'visible', justifyContent: 'center', alignItems: 'center' } : {}) }}>\n <span style={{ width: '100%', display: 'block', textAlign: this.dataItem?.formElementType === 'checkbox' ? 'center' : 'inherit' }}>\n {this.dataItem?.formElementType === 'checkbox'\n ? this.getCheckboxSymbol()\n : this.dataItem?.value || dvI18n.t(this.getFieldTypeKey())}\n </span>\n </div>\n {(this.floatingActive || this.selected) && !this.multiSelected && this.dataItem?.label && (\n <div\n style={{\n position: 'absolute',\n background: `${defaultRolePalette[this.dataItem?.signer % 100].s20}`,\n color: `${defaultRolePalette[this.dataItem?.signer % 100].s80}`,\n borderRadius: `${0.25 * zoomValue}rem`,\n padding: `${0.125 * zoomValue}rem ${0.25 * zoomValue}rem`,\n top: `-${topOffset * zoomValue}px`,\n fontWeight: '500',\n fontSize: `${0.75 * zoomValue}rem`, \n left: `-${2 * zoomValue}px`,\n whiteSpace: 'nowrap',\n width: 'fit-content',\n }}\n >\n {this.dataItem?.label}\n </div>\n )}\n {(this.floatingActive || this.selected) && !this.multiSelected && (\n <p\n style={{\n position: 'absolute',\n color: 'var(--gray-80, #3a3a3a)',\n bottom: `-${1.75 * zoomValue}rem`,\n fontSize: `${0.625 * zoomValue}rem`,\n left: '0',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: `${10 * zoomValue}rem`,\n fontFamily: 'sans-serif',\n }}\n >\n {dvI18n.t('fieldproperties.assignedto')} {this.assignee}\n </p>\n )}\n {this.selected && !this.multiSelected && (\n <div class=\"resize-handles\">\n <div class=\"resize-handle handle-e\" />\n <div class=\"resize-handle handle-s\" />\n <div class=\"resize-handle handle-se\" />\n </div>\n )}\n {this.floatingActive && !this.readonly && (\n <button\n class={'ls-dv-x-button'}\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: `${0.875 * zoomValue}rem`,\n height: `${0.875 * zoomValue}rem`,\n lineHeight: `${0.75 * zoomValue}rem`,\n fontSize: `${0.75 * zoomValue}rem`,\n ...(this.dataItem?.formElementType === 'checkbox' ? { transform: `translate(75%, -75%)` } : {}),\n }}\n onClick={() => this.deleteField()}\n >\n <ls-icon name=\"x-icon\" size={Math.round(12 * zoomValue)} />\n </button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -11,6 +11,7 @@ export class LsFieldContent {
11
11
  roles = [];
12
12
  showValidationTypes = true;
13
13
  readonly = false;
14
+ filtertoolbox = null;
14
15
  valueError = null;
15
16
  isDirty = false;
16
17
  watchDataItemHandler() {
@@ -23,6 +24,12 @@ export class LsFieldContent {
23
24
  this.valueError = validateFieldValue(this.dataItem?.formElementType, this.dataItem?.validation, this.dataItem?.value, this.dataItem?.options);
24
25
  }
25
26
  }
27
+ disconnectedCallback() {
28
+ if (this.labeltimer) {
29
+ clearTimeout(this.labeltimer);
30
+ this.labeltimer = null;
31
+ }
32
+ }
26
33
  mutate;
27
34
  update;
28
35
  // Send one or more mutations up the chain
@@ -277,7 +284,7 @@ export class LsFieldContent {
277
284
  this.alterImmediate({ validation: newValidation, value: newValue });
278
285
  }
279
286
  render() {
280
- return (h(Host, { key: '24e25c7e75895b689f66926eca49bb4c8437e393' }, this.roles?.length > 0 && (h("ls-props-section", { key: 'da86a313b1b239f71127ecc210b4c2012e850ef7', sectionTitle: dvI18n.t('fieldproperties.assignee'), sectionDescription: dvI18n.t('fieldproperties.assigneedescription') }, h("ls-assignee-select", { key: 'd1ab6dbdf9dc56114f773ec0ab7da2d0f3aa07ea', signer: this.dataItem?.signer, roles: this.roles, disabled: this.readonly, disabledSenderReason: this.getSenderDisabledReason(), disabledApproverReason: this.isSignatureType() ? dvI18n.t('fieldproperties.signaturecannotapproversingle') : '', onAssigneeChange: ev => this.handleReassign(ev.detail) }))), h("ls-props-section", { key: 'ba62d50d6992a4213a7faca419180bc30075c706', sectionTitle: dvI18n.t('fieldproperties.fieldtype'), sectionDescription: dvI18n.t('fieldproperties.fieldtypedescription') }, h("ls-field-type-select", { key: 'd7c5c76d6ef1c1116f30d2cca18bf397853adfd4', fieldType: this.dataItem?.formElementType, assignee: this.dataItem?.signer, roles: this.roles, roleTypes: [this.getRoleType()], disabled: this.readonly, onFieldTypeChange: ev => this.handleFieldTypeChange(ev.detail) })), this.dataItem?.formElementType !== 'signature' && (h("ls-props-section", { key: 'f89d42643f948d354580a6fa52ebcb77c767aed4', sectionTitle: dvI18n.t('fieldproperties.requiredfield'), row: true, sectionDescription: dvI18n.t('fieldproperties.requiredfielddescription') }, h("ls-toggle", { key: '4c4373a255fa33ce36387ed1c1628dfffb40e6ea', id: "toggle-required", checked: !this.dataItem?.optional, onValueChange: ev => !this.readonly && this.alterImmediate({ optional: !ev.detail }) }))), h("ls-props-section", { key: 'eceb3a195dcea6fab9d93eb0a14127fe60161576', sectionTitle: dvI18n.t('fieldproperties.fieldlabel'), sectionDescription: dvI18n.t('fieldproperties.fieldlabeldescription') }, h("ls-formfield", { key: 'a24598ad95ea5e0acebfdb06404839bf1aebbca2', as: "text", name: "field-label", value: this.dataItem?.label, placeholder: getFieldTitleSuggestion(this.dataItem?.formElementType), disabled: this.readonly, onTextChange: e => this.alter({ label: e.detail.value }) })), this.supportsValue() && (h("ls-props-section", { key: '2771a770073ce41c87bd90c31694c1536ccc3ba2', sectionTitle: dvI18n.t('fieldproperties.value'), sectionDescription: dvI18n.t('fieldproperties.valuedescription') }, this.isDateField() ? (h("div", { class: "ls-dv-date-input-wrapper" }, h("input", { class: "ls-dv-date-display", type: "text", value: this.dataItem?.value, placeholder: this.getDateFormat(), readOnly: true, onClick: () => {
287
+ return (h(Host, { key: '00f5e6bc3dd6711643e5b0fe25f662d70c3d4b92' }, this.roles?.length > 0 && (h("ls-props-section", { key: '283e02c52f71c5093156e15e1bac5f5057bd0e1f', sectionTitle: dvI18n.t('fieldproperties.assignee'), sectionDescription: dvI18n.t('fieldproperties.assigneedescription') }, h("ls-assignee-select", { key: '84713e819a93cbb464970ee97c5d2488793cb30e', signer: this.dataItem?.signer, roles: this.roles, disabled: this.readonly, disabledSenderReason: this.getSenderDisabledReason(), disabledApproverReason: this.isSignatureType() ? dvI18n.t('fieldproperties.signaturecannotapproversingle') : '', onAssigneeChange: ev => this.handleReassign(ev.detail) }))), h("ls-props-section", { key: 'cd2da1fc874d8d1c37055ad5fb09594c046ba794', sectionTitle: dvI18n.t('fieldproperties.fieldtype'), sectionDescription: dvI18n.t('fieldproperties.fieldtypedescription') }, h("ls-field-type-select", { key: '2ec05e8faf63ce2d5a07dec45ae7c349728e032f', fieldType: this.dataItem?.formElementType, assignee: this.dataItem?.signer, roles: this.roles, roleTypes: [this.getRoleType()], disabled: this.readonly, filtertoolbox: this.filtertoolbox, onFieldTypeChange: ev => this.handleFieldTypeChange(ev.detail) })), this.dataItem?.formElementType !== 'signature' && (h("ls-props-section", { key: '0b4f881aaa5eca5decfe7bf44941dfb51f816edc', sectionTitle: dvI18n.t('fieldproperties.requiredfield'), row: true, sectionDescription: dvI18n.t('fieldproperties.requiredfielddescription') }, h("ls-toggle", { key: '59b7177e7d28957fe276c7f1626831bd1e359c57', id: "toggle-required", checked: !this.dataItem?.optional, onValueChange: ev => !this.readonly && this.alterImmediate({ optional: !ev.detail }) }))), h("ls-props-section", { key: '448f076b297121bab31ba05d7b338c63933f4dbc', sectionTitle: dvI18n.t('fieldproperties.fieldlabel'), sectionDescription: dvI18n.t('fieldproperties.fieldlabeldescription') }, h("ls-formfield", { key: '34aa3ecdba9edb0b2eac092cf34456beade7e311', as: "text", name: "field-label", value: this.dataItem?.label, placeholder: getFieldTitleSuggestion(this.dataItem?.formElementType), disabled: this.readonly, onTextChange: e => this.alter({ label: e.detail.value }) })), this.supportsValue() && (h("ls-props-section", { key: '55ad3cb8e8f86a79412c070700f077ad4a76394e', sectionTitle: dvI18n.t('fieldproperties.value'), sectionDescription: dvI18n.t('fieldproperties.valuedescription') }, this.isDateField() ? (h("div", { class: "ls-dv-date-input-wrapper" }, h("input", { class: "ls-dv-date-display", type: "text", value: this.dataItem?.value, placeholder: this.getDateFormat(), readOnly: true, onClick: () => {
281
288
  if (this.readonly)
282
289
  return;
283
290
  const picker = this.component.shadowRoot.getElementById('ls-date-picker');
@@ -287,9 +294,9 @@ export class LsFieldContent {
287
294
  const input = e.target;
288
295
  this.alter({ value: this.formatDateFromISO(input.value) });
289
296
  forceCloseDatePicker(input);
290
- }, disabled: this.readonly }))) : (h("ls-formfield", { as: "text", name: "field-value", value: this.dataItem?.value, placeholder: getFieldPlaceholder(this.dataItem?.formElementType), valid: !this.valueError, dirty: this.isDirty, errorText: this.valueError, disabled: this.readonly, onTextChange: e => this.handleValueChange(e.detail.value) })))), this.dataItem.validation === 20 && (h("ls-props-section", { key: 'c403d5eace4333aab2654063d6d04a9e42f30ccb', sectionTitle: dvI18n.t('fieldproperties.options'), sectionDescription: dvI18n.t('fieldproperties.optionsdescription') }, h("textarea", { key: 'c40ef764e1d99fab798f10183cf34931ef9e49c5', value: this.dataItem?.options, placeholder: "Option 1\nOption 2\nOption 3", onInput: e => this.alter({ options: e.target.value }), disabled: this.readonly }))), this.showValidationTypes && this.dataItem?.formElementType !== 'drawn field' && this.dataItem?.formElementType !== 'regular expression' && this.dataItem?.formElementType !== 'initials' && (h("ls-props-section", { key: '5e36a97d01fd14e8615f6f51c0ca285fa24fa586', sectionTitle: dvI18n.t('fieldproperties.contentformat'), sectionDescription: dvI18n.t('fieldproperties.contentformatdescription') }, h("ls-input-wrapper", { key: '8b3f87cde0b2586cfe742269f2dd2408518ca33e', select: true }, h("select", { key: '0b26d5359020efd0f03a7d1f4a8081f7e69f4dc2', onChange: ev => !this.readonly && this.handleFormatChange(parseInt(ev.target.value)) }, validationTypes
297
+ }, disabled: this.readonly }))) : (h("ls-formfield", { as: "text", name: "field-value", value: this.dataItem?.value, placeholder: getFieldPlaceholder(this.dataItem?.formElementType), valid: !this.valueError, dirty: this.isDirty, errorText: this.valueError, disabled: this.readonly, onTextChange: e => this.handleValueChange(e.detail.value) })))), this.dataItem.validation === 20 && (h("ls-props-section", { key: 'c033c2ec1addc298274756c32aabb464bf7f6421', sectionTitle: dvI18n.t('fieldproperties.options'), sectionDescription: dvI18n.t('fieldproperties.optionsdescription') }, h("textarea", { key: '939e98509967a53cafaecf7fc66a7b8b297ccad0', value: this.dataItem?.options, placeholder: "Option 1\nOption 2\nOption 3", onInput: e => this.alter({ options: e.target.value }), disabled: this.readonly }))), this.showValidationTypes && this.dataItem?.formElementType !== 'drawn field' && this.dataItem?.formElementType !== 'regular expression' && this.dataItem?.formElementType !== 'initials' && (h("ls-props-section", { key: '26cd86ed13d794c19d0764c261a3aeeb26baa958', sectionTitle: dvI18n.t('fieldproperties.contentformat'), sectionDescription: dvI18n.t('fieldproperties.contentformatdescription') }, h("ls-input-wrapper", { key: 'db3e98a1fae7280ec82aeadeafd82ee0e75a3f57', select: true }, h("select", { key: '7ddb1ae410ad37bb774af1c2bfd3b865d65e89e9', onChange: ev => !this.readonly && this.handleFormatChange(parseInt(ev.target.value)) }, validationTypes
291
298
  .filter(type => type.formType === this.dataItem?.formElementType)
292
- .map(type => (h("option", { selected: this.dataItem?.validation === type.id, value: type.id }, type.description))))))), this.dataItem?.formElementType === 'checkbox' && this.getCheckboxStates().length === 2 && (h("ls-props-section", { key: 'aa53736c8ff6a875a31089a567360d4b1aec9afe', sectionTitle: dvI18n.t('fieldproperties.displaystate'), sectionDescription: dvI18n.t('fieldproperties.displaystatedescription') }, h("div", { key: '1544e42584b5c8cc899c2db2fd1b6d65df8acabf', class: "ls-dv-checkbox-toggle" }, this.getCheckboxStates().map((state, idx) => (h("button", { key: idx, class: { 'ls-dv-checkbox-toggle-btn': true, 'ls-dv-active': idx === 0 ? this.dataItem?.value?.toString() !== 'true' : this.dataItem?.value?.toString() === 'true' }, onClick: () => !this.readonly && this.alterImmediate({ value: idx === 0 ? 'false' : 'true' }), disabled: this.readonly }, state)))))), h("slot", { key: '453d4fc28ceacc0e18af272b6a497502af8768b1' })));
299
+ .map(type => (h("option", { selected: this.dataItem?.validation === type.id, value: type.id }, type.description))))))), this.dataItem?.formElementType === 'checkbox' && this.getCheckboxStates().length === 2 && (h("ls-props-section", { key: 'bd1410e73a2f58dde724fbbf05a14d2664e5be50', sectionTitle: dvI18n.t('fieldproperties.displaystate'), sectionDescription: dvI18n.t('fieldproperties.displaystatedescription') }, h("div", { key: 'bec219016a0006c013e009792a471429645fd173', class: "ls-dv-checkbox-toggle" }, this.getCheckboxStates().map((state, idx) => (h("button", { key: idx, class: { 'ls-dv-checkbox-toggle-btn': true, 'ls-dv-active': idx === 0 ? this.dataItem?.value?.toString() !== 'true' : this.dataItem?.value?.toString() === 'true' }, onClick: () => !this.readonly && this.alterImmediate({ value: idx === 0 ? 'false' : 'true' }), disabled: this.readonly }, state)))))), h("slot", { key: 'e40b61c6531b30239885dcc6b3ff1f7a46e8769d' })));
293
300
  }
294
301
  static get is() { return "ls-field-content"; }
295
302
  static get encapsulation() { return "shadow"; }
@@ -391,6 +398,26 @@ export class LsFieldContent {
391
398
  "reflect": false,
392
399
  "attribute": "readonly",
393
400
  "defaultValue": "false"
401
+ },
402
+ "filtertoolbox": {
403
+ "type": "string",
404
+ "mutable": false,
405
+ "complexType": {
406
+ "original": "string",
407
+ "resolved": "string",
408
+ "references": {}
409
+ },
410
+ "required": false,
411
+ "optional": false,
412
+ "docs": {
413
+ "tags": [],
414
+ "text": ""
415
+ },
416
+ "getter": false,
417
+ "setter": false,
418
+ "reflect": false,
419
+ "attribute": "filtertoolbox",
420
+ "defaultValue": "null"
394
421
  }
395
422
  };
396
423
  }