legalesign-document-viewer 0.1.1 → 0.1.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 (350) hide show
  1. package/dist/cjs/{index-lXp4IGF1.js → index-DqDUg8D7.js} +11 -4
  2. package/dist/cjs/index-DqDUg8D7.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +3 -4
  4. package/dist/cjs/loader.cjs.js.map +1 -1
  5. package/dist/cjs/{ls-document-options_32.cjs.entry.js → ls-document-options_35.cjs.entry.js} +5530 -5064
  6. package/dist/cjs/ls-document-options_35.cjs.entry.js.map +1 -0
  7. package/dist/cjs/ls-document-viewer.cjs.js +3 -4
  8. package/dist/cjs/ls-document-viewer.cjs.js.map +1 -1
  9. package/dist/collection/collection-manifest.json +2 -0
  10. package/dist/collection/components/interfaces/IToolboxField.js.map +1 -1
  11. package/dist/collection/components/ls-document-options/ls-document-options.css +330 -3
  12. package/dist/collection/components/ls-document-options/ls-document-options.js +1 -1
  13. package/dist/collection/components/ls-document-options/ls-document-options.js.map +1 -1
  14. package/dist/collection/components/ls-document-viewer/adapter/LsDocumentAdapter.js +83 -0
  15. package/dist/collection/components/ls-document-viewer/adapter/LsDocumentAdapter.js.map +1 -0
  16. package/dist/collection/components/ls-document-viewer/adapter/elementActions.js +72 -0
  17. package/dist/collection/components/ls-document-viewer/adapter/elementActions.js.map +1 -0
  18. package/dist/collection/components/ls-document-viewer/adapter/parameters.js +16 -0
  19. package/dist/collection/components/ls-document-viewer/adapter/parameters.js.map +1 -0
  20. package/dist/collection/components/ls-document-viewer/adapter/roleActions.js +53 -0
  21. package/dist/collection/components/ls-document-viewer/adapter/roleActions.js.map +1 -0
  22. package/dist/collection/components/ls-document-viewer/adapter/templateActions.js +87 -0
  23. package/dist/collection/components/ls-document-viewer/adapter/templateActions.js.map +1 -0
  24. package/dist/collection/components/ls-document-viewer/defaultPalette.js +21 -19
  25. package/dist/collection/components/ls-document-viewer/defaultPalette.js.map +1 -1
  26. package/dist/collection/components/ls-document-viewer/editorCalculator.js +23 -5
  27. package/dist/collection/components/ls-document-viewer/editorCalculator.js.map +1 -1
  28. package/dist/collection/components/ls-document-viewer/editorUtils.js +10 -0
  29. package/dist/collection/components/ls-document-viewer/editorUtils.js.map +1 -1
  30. package/dist/collection/components/ls-document-viewer/keyHandlers.js +3 -4
  31. package/dist/collection/components/ls-document-viewer/keyHandlers.js.map +1 -1
  32. package/dist/collection/components/ls-document-viewer/ls-document-viewer.css +457 -28
  33. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +237 -119
  34. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
  35. package/dist/collection/components/ls-document-viewer/mouseHandlers.js +56 -1
  36. package/dist/collection/components/ls-document-viewer/mouseHandlers.js.map +1 -1
  37. package/dist/collection/components/ls-editor-field/ls-editor-field.css +10 -7
  38. package/dist/collection/components/ls-editor-field/ls-editor-field.js +40 -35
  39. package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
  40. package/dist/collection/components/ls-editor-table/ls-editor-table.js +1 -1
  41. package/dist/collection/components/ls-feature-column/ls-feature-column.css +18 -3
  42. package/dist/collection/components/ls-feature-column/ls-feature-column.js +14 -4
  43. package/dist/collection/components/ls-feature-column/ls-feature-column.js.map +1 -1
  44. package/dist/collection/components/ls-field-alignment/ls-field-alignment.css +281 -1
  45. package/dist/collection/components/ls-field-alignment/ls-field-alignment.js +1 -1
  46. package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.css +347 -9
  47. package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js +4 -6
  48. package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js.map +1 -1
  49. package/dist/collection/components/ls-field-distribute/ls-field-distribute.css +281 -1
  50. package/dist/collection/components/ls-field-distribute/ls-field-distribute.js +1 -1
  51. package/dist/collection/components/ls-field-format/ls-field-format.css +284 -2
  52. package/dist/collection/components/ls-field-format/ls-field-format.js +20 -8
  53. package/dist/collection/components/ls-field-format/ls-field-format.js.map +1 -1
  54. package/dist/collection/components/ls-field-placement/ls-field-placement.css +352 -0
  55. package/dist/collection/components/ls-field-placement/ls-field-placement.js +120 -0
  56. package/dist/collection/components/ls-field-placement/ls-field-placement.js.map +1 -0
  57. package/dist/collection/components/ls-field-properties/ls-field-properties.css +277 -14
  58. package/dist/collection/components/ls-field-properties/ls-field-properties.js +1 -2
  59. package/dist/collection/components/ls-field-properties/ls-field-properties.js.map +1 -1
  60. package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.css +281 -0
  61. package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js +2 -2
  62. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.css +281 -1
  63. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +2 -2
  64. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.css +281 -0
  65. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +2 -2
  66. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.css +280 -0
  67. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +2 -2
  68. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.css +281 -1
  69. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +2 -2
  70. package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.css +280 -0
  71. package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js +2 -2
  72. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.css +280 -0
  73. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +1 -1
  74. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.css +280 -0
  75. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +2 -2
  76. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.css +416 -1
  77. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +23 -2
  78. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js.map +1 -1
  79. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.css +281 -0
  80. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +2 -2
  81. package/dist/collection/components/ls-field-size/ls-field-size.css +281 -1
  82. package/dist/collection/components/ls-field-size/ls-field-size.js +1 -1
  83. package/dist/collection/components/ls-formfield/inputs/ls-number-input/ls-number-input.js +3 -3
  84. package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js +2 -2
  85. package/dist/collection/components/ls-formfield/inputs/ls-select-input/ls-select-input.js +3 -3
  86. package/dist/collection/components/ls-formfield/inputs/ls-text-input/ls-text-input.js +3 -3
  87. package/dist/collection/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.js +3 -3
  88. package/dist/collection/components/ls-formfield/ls-formfield.js +9 -8
  89. package/dist/collection/components/ls-formfield/ls-formfield.js.map +1 -1
  90. package/dist/collection/components/ls-icon/icons.js +767 -4758
  91. package/dist/collection/components/ls-icon/icons.js.map +1 -1
  92. package/dist/collection/components/ls-icon/ls-icon.js +2 -2
  93. package/dist/collection/components/ls-participant-manager/ls-participant-manager.css +378 -19
  94. package/dist/collection/components/ls-participant-manager/ls-participant-manager.js +38 -15
  95. package/dist/collection/components/ls-participant-manager/ls-participant-manager.js.map +1 -1
  96. package/dist/collection/components/ls-participant-select/ls-participant-select.css +402 -0
  97. package/dist/collection/components/ls-participant-select/ls-participant-select.js +171 -1
  98. package/dist/collection/components/ls-participant-select/ls-participant-select.js.map +1 -1
  99. package/dist/collection/components/ls-statusbar/ls-statusbar.css +189 -5
  100. package/dist/collection/components/ls-statusbar/ls-statusbar.js +13 -8
  101. package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
  102. package/dist/collection/components/ls-toggle/ls-toggle.css +69 -0
  103. package/dist/collection/components/ls-toggle/ls-toggle.js +19 -0
  104. package/dist/collection/components/ls-toggle/ls-toggle.js.map +1 -0
  105. package/dist/collection/components/ls-toolbar/ls-toolbar.css +296 -6
  106. package/dist/collection/components/ls-toolbar/ls-toolbar.js +66 -10
  107. package/dist/collection/components/ls-toolbar/ls-toolbar.js.map +1 -1
  108. package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.css +308 -16
  109. package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js +33 -4
  110. package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js.map +1 -1
  111. package/dist/collection/types/Icon.js +1 -0
  112. package/dist/collection/types/Icon.js.map +1 -1
  113. package/dist/collection/types/LSApiElement.js.map +1 -1
  114. package/dist/collection/types/LSApiRole.js.map +1 -1
  115. package/dist/components/index.js +1 -1
  116. package/dist/components/ls-document-options.js +1 -1
  117. package/dist/components/ls-document-viewer.js +4452 -202
  118. package/dist/components/ls-document-viewer.js.map +1 -1
  119. package/dist/components/ls-editor-field.js +1 -1
  120. package/dist/components/ls-editor-table.js +1 -1
  121. package/dist/components/ls-feature-column.js +1 -1
  122. package/dist/components/ls-field-alignment.js +1 -1
  123. package/dist/components/ls-field-dimensions.js +1 -1
  124. package/dist/components/ls-field-distribute.js +1 -1
  125. package/dist/components/ls-field-format.js +1 -1
  126. package/dist/components/ls-field-placement.d.ts +11 -0
  127. package/dist/components/ls-field-placement.js +9 -0
  128. package/dist/components/ls-field-placement.js.map +1 -0
  129. package/dist/components/ls-field-properties-autosign.js +1 -1
  130. package/dist/components/ls-field-properties-date.js +1 -1
  131. package/dist/components/ls-field-properties-email.js +1 -1
  132. package/dist/components/ls-field-properties-file.js +1 -1
  133. package/dist/components/ls-field-properties-general.js +1 -1
  134. package/dist/components/ls-field-properties-image.js +1 -1
  135. package/dist/components/ls-field-properties-multiple.js +1 -1
  136. package/dist/components/ls-field-properties-number.js +1 -1
  137. package/dist/components/ls-field-properties-signature.js +1 -1
  138. package/dist/components/ls-field-properties-text.js +1 -1
  139. package/dist/components/ls-field-properties.js +1 -1
  140. package/dist/components/ls-field-size.js +1 -1
  141. package/dist/components/ls-formfield.js +1 -1
  142. package/dist/components/ls-icon.js +1 -1
  143. package/dist/components/ls-number-input.js +1 -1
  144. package/dist/components/ls-participant-manager.js +1 -1
  145. package/dist/components/ls-participant-select.js +1 -29
  146. package/dist/components/ls-participant-select.js.map +1 -1
  147. package/dist/components/ls-radio-input.js +1 -1
  148. package/dist/components/ls-select-input.js +1 -1
  149. package/dist/components/ls-statusbar.js +1 -1
  150. package/dist/components/ls-text-input.js +1 -1
  151. package/dist/components/ls-textarea-input.js +1 -1
  152. package/dist/components/ls-toggle.d.ts +11 -0
  153. package/dist/components/ls-toggle.js +9 -0
  154. package/dist/components/ls-toggle.js.map +1 -0
  155. package/dist/components/ls-toolbar.js +1 -1
  156. package/dist/components/ls-toolbox-field.js +1 -1
  157. package/dist/components/{p-DPWHtyrK.js → p-8QmwtD0L.js} +40 -29
  158. package/dist/components/p-8QmwtD0L.js.map +1 -0
  159. package/dist/components/p-B1Q1LddX.js +49 -0
  160. package/dist/components/p-B1Q1LddX.js.map +1 -0
  161. package/dist/components/p-B1X25Dz_.js +49 -0
  162. package/dist/components/p-B1X25Dz_.js.map +1 -0
  163. package/dist/components/p-B9qKX3S0.js +107 -0
  164. package/dist/components/p-B9qKX3S0.js.map +1 -0
  165. package/dist/components/p-BI9SKPKN.js +51 -0
  166. package/dist/components/p-BI9SKPKN.js.map +1 -0
  167. package/dist/components/p-BNKSb1yR.js +49 -0
  168. package/dist/components/p-BNKSb1yR.js.map +1 -0
  169. package/dist/components/p-BlTHDG0s.js +77 -0
  170. package/dist/components/p-BlTHDG0s.js.map +1 -0
  171. package/dist/components/p-BxXqIouU.js +49 -0
  172. package/dist/components/p-BxXqIouU.js.map +1 -0
  173. package/dist/components/p-C00GqV9f.js +26 -0
  174. package/dist/components/p-C00GqV9f.js.map +1 -0
  175. package/dist/components/p-C93Q3D_9.js +49 -0
  176. package/dist/components/p-C93Q3D_9.js.map +1 -0
  177. package/dist/components/{p-B-XJj1XL.js → p-C9AqDCzm.js} +4 -4
  178. package/dist/components/{p-B-XJj1XL.js.map → p-C9AqDCzm.js.map} +1 -1
  179. package/dist/components/{p-Cai4VUg5.js → p-CEGQ-SIb.js} +5 -5
  180. package/dist/components/{p-Cai4VUg5.js.map → p-CEGQ-SIb.js.map} +1 -1
  181. package/dist/components/p-CF583nkL.js +99 -0
  182. package/dist/components/p-CF583nkL.js.map +1 -0
  183. package/dist/components/p-CTraMHE_.js +49 -0
  184. package/dist/components/p-CTraMHE_.js.map +1 -0
  185. package/dist/components/p-CgRZ91kw.js +124 -0
  186. package/dist/components/p-CgRZ91kw.js.map +1 -0
  187. package/dist/components/{p-DcF8czIE.js → p-CjicL5jA.js} +13 -3
  188. package/dist/components/p-CjicL5jA.js.map +1 -0
  189. package/dist/components/p-CnIzN0a9.js +49 -0
  190. package/dist/components/p-CnIzN0a9.js.map +1 -0
  191. package/dist/components/p-CpK4mw5O.js +60 -0
  192. package/dist/components/p-CpK4mw5O.js.map +1 -0
  193. package/dist/components/p-Cs6tf1FE.js +34 -0
  194. package/dist/components/p-Cs6tf1FE.js.map +1 -0
  195. package/dist/components/p-Ct78kJaE.js +49 -0
  196. package/dist/components/p-Ct78kJaE.js.map +1 -0
  197. package/dist/components/p-D1o9mMCC.js +105 -0
  198. package/dist/components/p-D1o9mMCC.js.map +1 -0
  199. package/dist/components/p-D2smwTu5.js +82 -0
  200. package/dist/components/p-D2smwTu5.js.map +1 -0
  201. package/dist/components/{p-SWfxo4WI.js → p-D3GPRslH.js} +14 -13
  202. package/dist/components/p-D3GPRslH.js.map +1 -0
  203. package/dist/components/{p-BZjQxNFK.js → p-D3p38qOI.js} +5 -5
  204. package/dist/components/{p-BZjQxNFK.js.map → p-D3p38qOI.js.map} +1 -1
  205. package/dist/components/p-D4wPRNKc.js +86 -0
  206. package/dist/components/p-D4wPRNKc.js.map +1 -0
  207. package/dist/components/p-D7KC-w81.js +97 -0
  208. package/dist/components/p-D7KC-w81.js.map +1 -0
  209. package/dist/components/p-DC7lKZUf.js +49 -0
  210. package/dist/components/p-DC7lKZUf.js.map +1 -0
  211. package/dist/components/p-DTWaVEKo.js +149 -0
  212. package/dist/components/p-DTWaVEKo.js.map +1 -0
  213. package/dist/components/{p-B_usMQbd.js → p-DjfDnBZ1.js} +9 -4
  214. package/dist/components/p-DjfDnBZ1.js.map +1 -0
  215. package/dist/components/{p-Q4KMWf4Z.js → p-DtHDNV_x.js} +772 -4762
  216. package/dist/components/p-DtHDNV_x.js.map +1 -0
  217. package/dist/components/p-Dxupmj0q.js +63 -0
  218. package/dist/components/p-Dxupmj0q.js.map +1 -0
  219. package/dist/components/{p-fxlGXrIO.js → p-GHcj9VUq.js} +5 -5
  220. package/dist/components/{p-fxlGXrIO.js.map → p-GHcj9VUq.js.map} +1 -1
  221. package/dist/components/{p-D926VkvV.js → p-IGbuOsUA.js} +5 -5
  222. package/dist/components/{p-D926VkvV.js.map → p-IGbuOsUA.js.map} +1 -1
  223. package/dist/components/p-RFw2Bsri.js +72 -0
  224. package/dist/components/p-RFw2Bsri.js.map +1 -0
  225. package/dist/components/{p-CPHH6V-C.js → p-RoGGAmRf.js} +5 -5
  226. package/dist/components/{p-CPHH6V-C.js.map → p-RoGGAmRf.js.map} +1 -1
  227. package/dist/components/{p-877eEAAY.js → p-pHw5Xziq.js} +6 -6
  228. package/dist/components/p-pHw5Xziq.js.map +1 -0
  229. package/dist/components/p-py-rQZsT.js +72 -0
  230. package/dist/components/p-py-rQZsT.js.map +1 -0
  231. package/dist/esm/{index-4rsrLQk9.js → index-BwkWPcyG.js} +11 -5
  232. package/dist/esm/index-BwkWPcyG.js.map +1 -0
  233. package/dist/esm/loader.js +3 -4
  234. package/dist/esm/loader.js.map +1 -1
  235. package/dist/esm/{ls-document-options_32.entry.js → ls-document-options_35.entry.js} +5528 -5065
  236. package/dist/esm/ls-document-options_35.entry.js.map +1 -0
  237. package/dist/esm/ls-document-viewer.js +3 -4
  238. package/dist/esm/ls-document-viewer.js.map +1 -1
  239. package/dist/ls-document-viewer/clsx-ChV9xqsO.js.map +1 -0
  240. package/dist/ls-document-viewer/defaultPalette-C00GqV9f.js.map +1 -0
  241. package/dist/ls-document-viewer/editorUtils-DbS95k5h.js.map +1 -0
  242. package/dist/ls-document-viewer/index-Db-CNFwu.js.map +1 -0
  243. package/dist/ls-document-viewer/index.esm.js.map +1 -1
  244. package/dist/ls-document-viewer/loader.esm.js.map +1 -1
  245. package/dist/ls-document-viewer/ls-document-viewer.css +1 -0
  246. package/dist/ls-document-viewer/ls-document-viewer.entry.esm.js.map +1 -0
  247. package/dist/ls-document-viewer/ls-document-viewer.entry.js +24928 -0
  248. package/dist/ls-document-viewer/ls-document-viewer.entry.js.map +1 -0
  249. package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
  250. package/dist/ls-document-viewer/ls-document-viewer.esm.js.map +1 -1
  251. package/dist/ls-document-viewer/p-85c0f6fa.entry.js +4907 -0
  252. package/dist/ls-document-viewer/p-85c0f6fa.entry.js.map +1 -0
  253. package/dist/ls-document-viewer/p-BwkWPcyG.js +3 -0
  254. package/dist/ls-document-viewer/p-BwkWPcyG.js.map +1 -0
  255. package/dist/types/components/interfaces/IToolboxField.d.ts +3 -1
  256. package/dist/types/components/ls-document-viewer/adapter/LsDocumentAdapter.d.ts +15 -0
  257. package/dist/types/components/ls-document-viewer/adapter/elementActions.d.ts +4 -0
  258. package/dist/types/components/ls-document-viewer/adapter/parameters.d.ts +11 -0
  259. package/dist/types/components/ls-document-viewer/adapter/roleActions.d.ts +5 -0
  260. package/dist/types/components/ls-document-viewer/adapter/templateActions.d.ts +3 -0
  261. package/dist/types/components/ls-document-viewer/defaultPalette.d.ts +1 -2
  262. package/dist/types/components/ls-document-viewer/editorCalculator.d.ts +1 -1
  263. package/dist/types/components/ls-document-viewer/editorUtils.d.ts +1 -0
  264. package/dist/types/components/ls-document-viewer/ls-document-viewer.d.ts +60 -36
  265. package/dist/types/components/ls-document-viewer/mouseHandlers.d.ts +1 -0
  266. package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +3 -2
  267. package/dist/types/components/ls-feature-column/ls-feature-column.d.ts +3 -3
  268. package/dist/types/components/ls-field-placement/ls-field-placement.d.ts +11 -0
  269. package/dist/types/components/ls-field-properties-signature/ls-field-properties-signature.d.ts +1 -0
  270. package/dist/types/components/ls-participant-manager/ls-participant-manager.d.ts +4 -3
  271. package/dist/types/components/ls-participant-select/ls-participant-select.d.ts +28 -0
  272. package/dist/types/components/ls-statusbar/ls-statusbar.d.ts +6 -6
  273. package/dist/types/components/ls-toggle/ls-toggle.d.ts +3 -0
  274. package/dist/types/components/ls-toolbar/ls-toolbar.d.ts +11 -7
  275. package/dist/types/components/ls-toolbox-field/ls-toolbox-field.d.ts +6 -1
  276. package/dist/types/components.d.ts +158 -24
  277. package/dist/types/types/Icon.d.ts +1 -0
  278. package/dist/types/types/LSApiElement.d.ts +1 -0
  279. package/dist/types/types/LSApiRole.d.ts +1 -0
  280. package/package.json +2 -2
  281. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  282. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  283. package/dist/cjs/index-lXp4IGF1.js.map +0 -1
  284. package/dist/cjs/ls-document-options_32.cjs.entry.js.map +0 -1
  285. package/dist/cjs/ls-participant-select.cjs.entry.js +0 -20
  286. package/dist/cjs/ls-participant-select.cjs.entry.js.map +0 -1
  287. package/dist/cjs/ls-participant-select.entry.cjs.js.map +0 -1
  288. package/dist/components/p-4ItlGgYI.js +0 -77
  289. package/dist/components/p-4ItlGgYI.js.map +0 -1
  290. package/dist/components/p-877eEAAY.js.map +0 -1
  291. package/dist/components/p-B9Al7PJK.js +0 -43
  292. package/dist/components/p-B9Al7PJK.js.map +0 -1
  293. package/dist/components/p-BGGu74UD.js +0 -43
  294. package/dist/components/p-BGGu74UD.js.map +0 -1
  295. package/dist/components/p-BRhkPZU_.js +0 -43
  296. package/dist/components/p-BRhkPZU_.js.map +0 -1
  297. package/dist/components/p-B_usMQbd.js.map +0 -1
  298. package/dist/components/p-BkmVogfc.js +0 -43
  299. package/dist/components/p-BkmVogfc.js.map +0 -1
  300. package/dist/components/p-BpERxyrt.js +0 -50
  301. package/dist/components/p-BpERxyrt.js.map +0 -1
  302. package/dist/components/p-BpHkE0PF.js +0 -84
  303. package/dist/components/p-BpHkE0PF.js.map +0 -1
  304. package/dist/components/p-BxySOpND.js +0 -43
  305. package/dist/components/p-BxySOpND.js.map +0 -1
  306. package/dist/components/p-C5nqzJRc.js +0 -51
  307. package/dist/components/p-C5nqzJRc.js.map +0 -1
  308. package/dist/components/p-CQJMgU9N.js +0 -124
  309. package/dist/components/p-CQJMgU9N.js.map +0 -1
  310. package/dist/components/p-CZAakRFR.js +0 -132
  311. package/dist/components/p-CZAakRFR.js.map +0 -1
  312. package/dist/components/p-Cirh5s12.js +0 -68
  313. package/dist/components/p-Cirh5s12.js.map +0 -1
  314. package/dist/components/p-CsciUEda.js +0 -43
  315. package/dist/components/p-CsciUEda.js.map +0 -1
  316. package/dist/components/p-D-TjfGi1.js +0 -43
  317. package/dist/components/p-D-TjfGi1.js.map +0 -1
  318. package/dist/components/p-D6bLxkkp.js +0 -43
  319. package/dist/components/p-D6bLxkkp.js.map +0 -1
  320. package/dist/components/p-DE69JyVo.js +0 -91
  321. package/dist/components/p-DE69JyVo.js.map +0 -1
  322. package/dist/components/p-DEuU4xtZ.js +0 -59
  323. package/dist/components/p-DEuU4xtZ.js.map +0 -1
  324. package/dist/components/p-DPWHtyrK.js.map +0 -1
  325. package/dist/components/p-DcF8czIE.js.map +0 -1
  326. package/dist/components/p-DublQMyi.js +0 -75
  327. package/dist/components/p-DublQMyi.js.map +0 -1
  328. package/dist/components/p-DwW3voGt.js +0 -86
  329. package/dist/components/p-DwW3voGt.js.map +0 -1
  330. package/dist/components/p-Q4KMWf4Z.js.map +0 -1
  331. package/dist/components/p-SWfxo4WI.js.map +0 -1
  332. package/dist/components/p-vjunGcoe.js +0 -43
  333. package/dist/components/p-vjunGcoe.js.map +0 -1
  334. package/dist/components/p-w2H8PLow.js +0 -43
  335. package/dist/components/p-w2H8PLow.js.map +0 -1
  336. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  337. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  338. package/dist/esm/index-4rsrLQk9.js.map +0 -1
  339. package/dist/esm/ls-document-options_32.entry.js.map +0 -1
  340. package/dist/esm/ls-participant-select.entry.js +0 -18
  341. package/dist/esm/ls-participant-select.entry.js.map +0 -1
  342. package/dist/ls-document-viewer/ls-participant-select.entry.esm.js.map +0 -1
  343. package/dist/ls-document-viewer/p-393d980e.entry.js +0 -8902
  344. package/dist/ls-document-viewer/p-393d980e.entry.js.map +0 -1
  345. package/dist/ls-document-viewer/p-4rsrLQk9.js +0 -3
  346. package/dist/ls-document-viewer/p-4rsrLQk9.js.map +0 -1
  347. package/dist/ls-document-viewer/p-7ddf15ce.entry.js +0 -2
  348. package/dist/ls-document-viewer/p-7ddf15ce.entry.js.map +0 -1
  349. package/dist/ls-document-viewer/p-DQuL1Twl.js +0 -2
  350. package/dist/ls-document-viewer/p-DQuL1Twl.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ls-document-viewer.js","sourceRoot":"","sources":["../../../src/components/ls-document-viewer/ls-document-viewer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Element, Method, State, Listen, Watch } from '@stencil/core';\nimport { Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement } from '../../types/LSApiElement'\nimport {\n PDFDocumentProxy,\n PDFPageProxy,\n PDFPageViewport,\n PDFRenderParams,\n PDFRenderTask,\n GlobalWorkerOptions,\n getDocument\n} from 'pdfjs-dist';\n\nimport 'pdfjs-dist/web/pdf_viewer';\nimport { LSApiTemplate } from '../../types/LSApiTemplate';\nimport { addField, moveField } from './editorCalculator';\nimport { defaultRolePalette } from './defaultPalette';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { keyDown } from './keyHandlers';\nimport { mouseClick, mouseDown, mouseMove, mouseUp } from './mouseHandlers';\nimport { getApiType } from './editorUtils';\nimport { RoleColor } from '../../types/RoleColor';\n\nGlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.5.207/pdf.worker.min.js';\n\n/**\n * The Legalesign page viewer converted to stencil. To use pass the standard\n * Template information from GraphQL (see Readme).\n * \n * Alex Weinle\n */\n\n@Component({\n tag: 'ls-document-viewer',\n styleUrl: 'ls-document-viewer.css',\n shadow: true,\n})\nexport class LsDocumentViewer {\n @Element() component: HTMLElement;\n\n private isPageRendering: boolean;\n private pdfDocument: any;\n private pageNumPending: number = null;\n private canvas: HTMLCanvasElement;\n private ctx: CanvasRenderingContext2D;\n public pageDimensions: { height: number, width: number }[]; // hardcoded to start at the page 1\n // @ts-ignore\n private isMoving: boolean = false;\n // @ts-ignore\n private selectionBox: { x: number, y: number } = null;\n // @ts-ignore\n private hitField: HTMLElement;\n // @ts-ignore\n private edgeSide: string;\n // @ts-ignore\n private startLocations: { left: number, top: number, height: number, width: number }[];\n // @ts-ignore\n private startMouse: { left: number, top: number, height: number, width: number, x: number, y: number };\n\n //\n // --- Properties / Inputs --- //\n //\n\n /**\n * The initial template data, including the link for background PDF. See README and\n * example for correct GraphQL query and data structure.\n * {LSApiTemplate}\n */\n @Prop() template: string;\n @Prop({ mutable: true }) zoom: number = 1.0; // hardcoded to scale the document to full canvas size\n @Prop({ mutable: true }) pageNum: number = 1; // hardcoded to start at the page 1\n\n @State() _template: LSApiTemplate\n @State() selected: HTMLLsEditorFieldElement[];\n\n\n /**\n * An ease of use property that will arrange document-viewer appropraitely.\n * {'preview' | 'editor' | 'custom'}\n */\n @Prop() mode: 'preview' | 'editor' | 'custom' = 'custom';\n\n @Watch('mode')\n modeHandler(_newMode, _oldMode) {\n if (_newMode === 'preview') {\n this.showtoolbar = false;\n this.showtoolbox = false;\n this.showstatusbar = false;\n this.showrightpanel = false;\n this.readonly = true;\n } else if (_newMode === 'editor') {\n this.showtoolbar = true;\n this.showtoolbox = true;\n this.showstatusbar = true;\n this.showrightpanel = true;\n this.readonly = false;\n }\n\n }\n\n @Watch('displayTable')\n tableViewHandler(_newMode, _oldMode) {\n if (_newMode === true) {\n this.showPageFields(-1)\n } else if (_newMode === 'editor') {\n this.showPageFields(this.pageNum)\n }\n this.queueRenderPage(this.pageNum);\n\n\n }\n\n /**\n * Determines / sets which of the far left 'managers' is active.\n * {'document' | 'toolbox' | 'participant' }\n */\n @Prop({ mutable: true }) manager: 'document' | 'toolbox' | 'participant' = 'toolbox';\n\n\n /**\n * Shows the table view of fields rather than the preview.\n * {boolean}\n */\n @Prop({ mutable: true }) displayTable?: boolean = false;\n\n /**\n * Whether the left hand toolbox is displayed.\n * {boolean}\n */\n @Prop() showtoolbox?: boolean = false;\n\n /**\n * Whether the top toolbar is displayed.\n * {boolean}\n */\n @Prop() showtoolbar?: boolean = false;\n\n /**\n * Whether the bottom statusbar is displayed.\n * {boolean}\n */\n @Prop() showstatusbar?: boolean = false;\n\n /**\n * Whether the page previewvertical ribbon will be shown\n * {boolean}\n */\n @Prop() showpagepreview?: boolean = false;\n\n /**\n* Whether the right panel (which can be default field properties or custom panel) is\n* displayed.\n* {boolean}\n*/\n @Prop() showrightpanel?: boolean = false;\n\n /**\n* Whether the right panel (which can be default field properties or custom panel) is\n* displayed.\n* {boolean}\n*/\n @Prop() readonly?: boolean = false;\n\n /**\n* Whether the table view of the fields on this template is available to the user.\n* {boolean}\n*/\n @Prop() showtableview?: boolean = false;\n\n /**\n * If supplied ONLY items in this | (\"or\") delimited list will be shown. i.e. \"signature|intials\"\n * {boolean}\n */\n @Prop() toolboxFilter?: string = null;\n\n /**\n * Allows you to change the colours used for each role in the template.\n * {SignerColor[]}\n */\n @Prop() roleColors?: RoleColor[] = defaultRolePalette;\n\n\n parseTemplate(newValue: string) {\n const newTemplate = newValue as any as LSApiTemplate\n const pages = JSON.parse(JSON.parse(newTemplate.pageDimensions))\n\n // Convert ax,bx,ay etc. into top, left\n this.pageDimensions = pages.map(p => { return { height: p[1], width: p[0] } })\n const fields = newTemplate.elementConnection.templateElements.map(f => {\n return {\n ...f,\n top: f.ay * pages[0].height,\n left: f.ax * pages[0].width,\n height: (f.by - f.ay) * pages[0].height,\n width: (f.bx - f.ax) * pages[0].width\n }\n })\n this._template = { ...newTemplate, elementConnection: { ...newTemplate.elementConnection, templateElements: fields } }\n }\n\n //\n // --- Event Emitters --- //\n //\n @Event() pageRendered: EventEmitter<number>;\n // @Event() error: EventEmitter<any>;\n @Event() pageChange: EventEmitter<number>;\n // Multiple or single select\n @Event() selectFields: EventEmitter<LSApiElement[]>;\n // Send an external event to be processed\n @Event() mutate: EventEmitter<LSMutateEvent[]>;\n // Send an internal event to be processed\n @Event() update: EventEmitter<LSMutateEvent[]>;\n\n // Updates are internal event between LS controls not to be confused with mutate\n @Listen('update')\n updateHandler(event: CustomEvent<LSMutateEvent[]>) {\n if (event.detail) event.detail.forEach(fx => this.syncChange(fx))\n }\n\n // Send selection changes to bars and panels if in use.\n @Listen('selectFields')\n selectFieldsHandler(event: CustomEvent<LSApiElement[]>) {\n var toolbar = this.component.shadowRoot.getElementById('ls-toolbar') as HTMLLsToolbarElement;\n if (toolbar) toolbar.dataItem = event.detail as any as LSApiElement[]\n var propPanel = this.component.shadowRoot.getElementById('my-field-panel') as HTMLLsFieldPropertiesElement;\n if (propPanel) propPanel.dataItem = event.detail as any as LSApiElement[]\n }\n\n\n //\n // --- Methods --- //\n //\n\n /**\n * Page forward\n * {MouseEvent} e\n */\n @Method()\n async pageNext() {\n if (this.pageNum >= this.pdfDocument.numPages) {\n return;\n }\n this.pageNum += 1;\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum)\n }\n\n /**\n * Page backward\n * e\n */\n @Method()\n async pagePrev() {\n if (this.pageNum <= 1) {\n return;\n }\n\n this.pageNum -= 1;\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum)\n }\n\n /**\n * Page and field resize on zoom change\n * \n */\n @Method()\n async setZoom(z: number) {\n this.zoom = z\n this.canvas = this.component.shadowRoot.getElementById('pdf-canvas') as HTMLCanvasElement; \n this.canvas.style.height = this.pageDimensions[this.pageNum - 1].height * z + \"px\"\n this.canvas.style.width = this.pageDimensions[this.pageNum - 1].width * z + \"px\"\n\n // place all fields at new zoom level\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(fx => moveField.bind(this)(fx, fx.dataItem))\n\n this.queueRenderPage(this.pageNum)\n this.showPageFields(this.pageNum)\n }\n\n /**\n * Render the page based on pageNumber\n * {number} pageNumber\n */\n renderPage(pageNumber: number): void {\n this.isPageRendering = true;\n this.pdfDocument\n .getPage(pageNumber)\n .then(\n (page: PDFPageProxy) => {\n const viewport: PDFPageViewport = page.getViewport({ scale: this.zoom });\n this.canvas.height = Math.floor(viewport.height);\n this.canvas.width = Math.floor(viewport.width);\n\n // Render PDF page into canvas context\n const renderContext: PDFRenderParams = {\n viewport,\n canvasContext: this.ctx\n };\n\n // Render page method\n const renderTask: PDFRenderTask = page.render(renderContext);\n\n // Wait for rendering to finish\n renderTask.promise\n .then(\n () => {\n this.isPageRendering = false;\n this.pageRendered.emit(this.pageNum);\n\n if (this.pageNumPending !== null) {\n this.renderPage(this.pageNumPending); // New page rendering is pending\n this.pageChange.emit(this.pageNumPending); // emit\n this.pageNumPending = null;\n\n }\n }\n );\n }\n );\n }\n\n private queueRenderPage(pageNumber: number): void {\n if (this.isPageRendering) {\n this.pageNumPending = pageNumber;\n } else {\n this.renderPage(pageNumber);\n }\n }\n\n\n private loadAndRender(src: string): void {\n getDocument(src).promise\n .then((pdfDocument: PDFDocumentProxy) => {\n this.pdfDocument = pdfDocument;\n this.renderPage(this.pageNum);\n });\n }\n\n // Fills in and converts all utility and placement fields\n prepareElement(newElement: LSApiElement): LSApiElement {\n return {\n ...newElement,\n top: Math.floor(newElement.ay * this.pageDimensions[newElement.page - 1].height),\n left: Math.floor(newElement.ax * this.pageDimensions[newElement.page - 1].width),\n height: Math.floor((newElement.by - newElement.ay) * this.pageDimensions[newElement.page - 1].height),\n width: Math.floor((newElement.bx - newElement.ax) * this.pageDimensions[newElement.page - 1].width),\n pageDimensions: this.pageDimensions[newElement.page - 1]\n }\n }\n\n // internal forced change\n syncChange(update: LSMutateEvent) {\n\n if (getApiType(update.data) === 'element') {\n if (update.action === 'create') {\n const newData = { ...update.data, page: this.pageNum }\n addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), newData)\n const newField = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement\n\n this.selected = [newField]\n this.selectFields.emit([newData as LSApiElement])\n }\n else if (update.action === 'update') {\n const fi = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n if (fi) {\n moveField.bind(this)(fi, update.data)\n const fu = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n\n fu.dataItem = update.data as LSApiElement;\n // Refresh the selected array\n this.selected = this.selected.map(s => s.dataItem.id === update.data.id ? fu : s)\n }\n // Reselect the fields - this updates the dataItem value passed to child controls\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n this.selected = Array.from(fields).filter(fx => fx.selected)\n\n } else if (update.action === 'delete') {\n const fi = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n this.component.shadowRoot.getElementById('ls-document-frame').removeChild(fi)\n this.selected = []\n } else {\n console.warn('Unrecognised action, check Legalesign documentation. `create`, `update` and `delete` allowed.')\n }\n }\n }\n\n componentDidLoad() { \n // Generate a canvas to draw the background PDF on.\n this.canvas = this.component.shadowRoot.getElementById('pdf-canvas') as HTMLCanvasElement;\n this.canvas.style.height = this.pageDimensions[this.pageNum - 1].height * this.zoom + \"px\"\n this.canvas.style.width = this.pageDimensions[this.pageNum - 1].width * this.zoom + \"px\"\n this.ctx = this.canvas.getContext('2d');\n this.loadAndRender(this._template.link)\n\n var dropTarget = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLCanvasElement;\n\n // Used for single field selection\n dropTarget.addEventListener(\"click\", mouseClick.bind(this))\n dropTarget.addEventListener(\"mousedown\", mouseDown.bind(this))\n dropTarget.addEventListener(\"mousemove\", mouseMove.bind(this))\n dropTarget.addEventListener(\"mouseup\", mouseUp.bind(this))\n document.addEventListener(\"keydown\", keyDown.bind(this))\n dropTarget.addEventListener(\"dragenter\", (event) => { event.preventDefault(); })\n dropTarget.addEventListener(\"dragover\", (event) => { event.preventDefault(); })\n dropTarget.addEventListener(\"drop\", (event) => {\n event.preventDefault();\n try {\n const data: IToolboxField = JSON.parse(event.dataTransfer.getData(\"application/json\")) as any as IToolboxField;\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => f.selected = false)\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n // Make a new API compatible id for a template element (prefix 'ele')\n const id = btoa('ele' + crypto.randomUUID())\n // TODO: Put these defaults somewhere sensible\n const newData: LSMutateEvent = {\n action: 'create', data: {\n ...data,\n id,\n value: \"\",\n top: event.offsetY * this.zoom + frame.scrollTop,\n left: event.offsetX * this.zoom + frame.scrollLeft,\n height: data.defaultHeight,\n width: data.defaultWidth,\n pageDimensions: this.pageDimensions[this.pageNum - 1],\n fontName: \"courier\",\n fontSize: 10,\n align: 'left',\n signer: 1,\n elementType: data.type\n } as LSApiElement\n }\n\n this.mutate.emit([newData])\n this.update.emit([newData])\n\n } catch (e) {\n console.error(e)\n }\n })\n\n // Generate all the field HTML elements that are required (for every page)\n this._template.elementConnection.templateElements.forEach(te => {\n addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), this.prepareElement(te))\n })\n\n\n }\n\n showPageFields(page: number) {\n\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n Array.from(fields).forEach(fx => {\n fx.className = fx.dataItem.page === page ? '' : 'hidden'\n })\n\n }\n\n componentWillLoad() {\n if (this.template) this.parseTemplate(this.template);\n }\n\n render() {\n return (\n <Host>\n <form id=\"ls-editor-form\">\n {this.showtoolbox === true ? <div class=\"leftBox\">\n <ls-feature-column onManage={(manager) => {\n if (manager.detail === 'document') {\n var documentManager = this.component.shadowRoot.getElementById('ls-document-options') as HTMLLsDocumentOptionsElement;\n documentManager.template = this._template\n } else if (manager.detail === 'participant') {\n var participantManager = this.component.shadowRoot.getElementById('ls-participant-manager') as HTMLLsParticipantManagerElement;\n participantManager.template = this._template\n }\n this.manager = manager.detail\n }} />\n <div id=\"ls-toolbox\" class={this.manager === 'toolbox' ? 'toolbox' : 'hidden'}>\n <div class=\"ls-editor-infobox\">Drag to Add...</div>\n <ls-toolbox-field elementType=\"signature\" formElementType=\"signature\" label=\"Signature\" defaultHeight={27} defaultWidth={120} validation={0} />\n <ls-toolbox-field elementType=\"text\" formElementType=\"text\" label=\"Text\" defaultHeight={27} defaultWidth={100} validation={0} />\n <ls-toolbox-field elementType=\"email\" formElementType=\"email\" label=\"Email\" defaultHeight={27} defaultWidth={120} validation={1} />\n <ls-toolbox-field elementType=\"number\" formElementType=\"number\" label=\"Number\" defaultHeight={27} defaultWidth={80} validation={50} />\n <ls-toolbox-field elementType=\"date\" formElementType=\"date\" label=\"Date\" defaultHeight={27} defaultWidth={80} validation={2} />\n <ls-toolbox-field elementType=\"checkbox\" formElementType=\"checkbox\" label=\"Checkbox\" defaultHeight={27} defaultWidth={27} validation={25} />\n <ls-toolbox-field elementType=\"auto sign\" formElementType=\"auto sign\" label=\"Auto Sign\" defaultHeight={27} defaultWidth={120} validation={3000} />\n <ls-toolbox-field elementType=\"initials\" formElementType=\"initials\" label=\"Initials\" defaultHeight={27} defaultWidth={120} validation={2000} />\n <ls-toolbox-field elementType=\"regex\" formElementType=\"regex\" label=\"Regex\" defaultHeight={27} defaultWidth={120} validation={93} />\n <ls-toolbox-field elementType=\"image\" formElementType=\"image\" label=\"Image\" defaultHeight={27} defaultWidth={120} validation={90} />\n <ls-toolbox-field elementType=\"signing date\" formElementType=\"signing date\" label=\"Signing Date\" defaultHeight={27} defaultWidth={120} validation={30} />\n <ls-toolbox-field elementType=\"file\" formElementType=\"file\" label=\"File\" defaultHeight={27} defaultWidth={120} validation={74} />\n </div>\n <ls-participant-manager id=\"ls-participant-manager\" class={this.manager === 'participant' ? 'toolbox' : 'hidden'} editor={this} />\n <ls-document-options id=\"ls-document-options\" class={this.manager === 'document' ? 'toolbox' : 'hidden'} />\n </div>\n :\n <></>\n }\n <div id=\"ls-mid-area\">\n <ls-toolbar id=\"ls-toolbar\" dataItem={this.selected ? this.selected.map(s => s.dataItem) : null} template={this._template} />\n <div id=\"ls-document-frame\">\n <canvas id=\"pdf-canvas\" class={this.displayTable ? 'hidden' : ''}></canvas>\n <ls-editor-table editor={this} class={this.displayTable ? '' : 'hidden'} />\n <div id=\"ls-box-selector\"></div>\n </div>\n <ls-statusbar editor={this} />\n </div>\n {this.showrightpanel && !this.displayTable && <div class={this.selected && this.selected.length > 0 ? 'rightBox' : 'hidden'}>\n <ls-field-properties id=\"my-field-panel\"></ls-field-properties>\n <slot></slot>\n </div>}\n </form>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ls-document-viewer.js","sourceRoot":"","sources":["../../../src/components/ls-document-viewer/ls-document-viewer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Element, Method, State, Listen, Watch } from '@stencil/core';\nimport { Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement } from '../../types/LSApiElement';\nimport { PDFDocumentProxy, PDFPageProxy, PDFPageViewport, PDFRenderParams, PDFRenderTask, GlobalWorkerOptions, getDocument } from 'pdfjs-dist';\nimport 'pdfjs-dist/web/pdf_viewer';\nimport { LSApiTemplate } from '../../types/LSApiTemplate';\nimport { addField, moveField } from './editorCalculator';\nimport { defaultRolePalette } from './defaultPalette';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { keyDown } from './keyHandlers';\nimport { mouseClick, mouseDown, mouseDrop, mouseMove, mouseUp } from './mouseHandlers';\nimport { getApiType, matchData } from './editorUtils';\n// import { RoleColor } from '../../types/RoleColor';\nimport { LSApiRole } from '../../types/LSApiRole';\nimport { LsDocumentAdapter } from './adapter/LsDocumentAdapter';\nimport { getTemplate } from './adapter/templateActions';\n\nGlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.5.207/pdf.worker.min.js';\n\n/**\n * The Legalesign page viewer converted to stencil. To use pass the standard\n * Template information from GraphQL (see Readme).\n *\n * Alex Weinle\n */\n\n@Component({\n tag: 'ls-document-viewer',\n styleUrl: 'ls-document-viewer.css',\n shadow: true,\n})\nexport class LsDocumentViewer {\n @Element() component: HTMLElement;\n\n private isPageRendering: boolean;\n private pdfDocument: any;\n private pageNumPending: number = null;\n private canvas: HTMLCanvasElement;\n private adapter: LsDocumentAdapter = new LsDocumentAdapter();\n private ctx: CanvasRenderingContext2D;\n public pageDimensions: { height: number; width: number }[]; // hardcoded to start at the page 1\n // @ts-ignore\n private isMoving: boolean = false;\n // @ts-ignore\n private selectionBox: { x: number; y: number } = null;\n // @ts-ignore\n private hitField: HTMLElement;\n // @ts-ignore\n private edgeSide: string;\n // @ts-ignore\n private startLocations: { left: number; top: number; height: number; width: number }[];\n // @ts-ignore\n private startMouse: { left: number; top: number; height: number; width: number; x: number; y: number };\n\n //\n // --- Properties / Inputs --- //\n //\n\n /**\n * The initial template data, including the link for background PDF. See README and\n * example for correct GraphQL query and data structure.\n * {LSApiTemplate}\n */\n @Prop() template: string;\n\n /**\n * The access token of the account your want the widget to use, you should normally\n * acquire this with a server side call using that accounts login credentials.\n * {string}\n */\n @Prop() token: string;\n\n /**\n * The id of the template you want to load (if using the internal data adapter).\n * {string}\n */\n @Prop() templateid: string;\n\n @Prop({ mutable: true }) zoom: number = 1.0; // hardcoded to scale the document to full canvas size\n @Prop({ mutable: true }) pageNum: number = 1; // hardcoded to start at the page 1\n @Prop({ mutable: true }) signer: number = 0; // hardcoded to start at the page 1\n\n @State() _template: LSApiTemplate;\n @State() selected: HTMLLsEditorFieldElement[];\n\n /**\n * An ease of use property that will arrange document-viewer appropraitely.\n * {'preview' | 'editor' | 'custom'}\n */\n @Prop() mode: 'preview' | 'editor' | 'custom' = 'custom';\n\n @Watch('mode')\n modeHandler(_newMode, _oldMode) {\n if (_newMode === 'preview') {\n this.showtoolbar = false;\n this.showtoolbox = false;\n this.showstatusbar = false;\n this.showrightpanel = false;\n this.readonly = true;\n } else if (_newMode === 'editor') {\n this.showtoolbar = true;\n this.showtoolbox = true;\n this.showstatusbar = true;\n this.showrightpanel = true;\n this.readonly = false;\n }\n }\n\n @Watch('displayTable')\n tableViewHandler(_newMode, _oldMode) {\n if (_newMode === true) {\n this.showPageFields(-1);\n } else if (_newMode === 'editor') {\n this.showPageFields(this.pageNum);\n }\n this.queueRenderPage(this.pageNum);\n }\n\n /**\n * Determines / sets which of the far left 'managers' is active.\n * {'document' | 'toolbox' | 'participant' }\n */\n @Prop({ mutable: true }) manager: 'document' | 'toolbox' | 'participant' = 'toolbox';\n\n /**\n * Shows the table view of fields rather than the preview.\n * {boolean}\n */\n @Prop({ mutable: true }) displayTable?: boolean = false;\n\n /**\n * Whether the left hand toolbox is displayed.\n * {boolean}\n */\n @Prop() showtoolbox?: boolean = false;\n\n /**\n * Whether the top toolbar is displayed.\n * {boolean}\n */\n @Prop() showtoolbar?: boolean = false;\n\n /**\n * Whether the bottom statusbar is displayed.\n * {boolean}\n */\n @Prop() showstatusbar?: boolean = false;\n\n /**\n * Whether the page previewvertical ribbon will be shown\n * {boolean}\n */\n @Prop() showpagepreview?: boolean = false;\n\n /**\n * Whether the right panel (which can be default field properties or custom panel) is\n * displayed.\n * {boolean}\n */\n @Prop() showrightpanel?: boolean = false;\n\n /**\n * Whether or not the fields list is expanded.\n * {boolean}\n */\n @Prop() expandfields?: boolean = false;\n\n /**\n * Whether the right panel (which can be default field properties or custom panel) is\n * displayed.\n * {boolean}\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * Whether the table view of the fields on this template is available to the user.\n * {boolean}\n */\n @Prop() showtableview?: boolean = false;\n\n /**\n * If supplied ONLY items in this | (\"or\") delimited list will be shown. i.e. \"signature|intials\"\n * {boolean}\n */\n @Prop() toolboxFilter?: string = null;\n\n /**\n * Allows you to change the colours used for each role in the template.\n * {SignerColor[]}\n */\n @Prop() roleColors?: string[] = defaultRolePalette;\n\n //\n // --- Event Emitters --- //\n //\n @Event() pageRendered: EventEmitter<number>;\n // @Event() error: EventEmitter<any>;\n @Event() pageChange: EventEmitter<number>;\n // Multiple or single select\n @Event() selectFields: EventEmitter<LSApiElement[]>;\n // Send an external event to be processed\n @Event() mutate: EventEmitter<LSMutateEvent[]>;\n // Send an internal event to be processed\n @Event() update: EventEmitter<LSMutateEvent[]>;\n\n // Updates are internal event between LS controls not to be confused with mutate\n @Listen('mutate')\n mutateHandler(event: CustomEvent<LSMutateEvent[]>) {\n console.log(event)\n if (this.token) event.detail.forEach(me => this.adapter.handleEvent(me, this.token).then(\n result => {if(me.action === \"create\") matchData.bind(this)(result)}\n ));\n }\n\n // Updates are internal event between LS controls not to be confused with mutate\n @Listen('update')\n updateHandler(event: CustomEvent<LSMutateEvent[]>) {\n if (event.detail) event.detail.forEach(fx => this.syncChange(fx));\n }\n\n // Send selection changes to bars and panels if in use.\n @Listen('selectFields')\n selectFieldsHandler(event: CustomEvent<LSApiElement[]>) {\n var toolbar = this.component.shadowRoot.getElementById('ls-toolbar') as HTMLLsToolbarElement;\n if (toolbar) toolbar.dataItem = event.detail as any as LSApiElement[];\n var propPanel = this.component.shadowRoot.getElementById('my-field-panel') as HTMLLsFieldPropertiesElement;\n if (propPanel) propPanel.dataItem = event.detail as any as LSApiElement[];\n }\n\n // Send selection changes to bars and panels if in use.\n @Listen('roleChange')\n roleHandler(event: CustomEvent<number>) {\n console.log(event.detail)\n this.signer = event.detail\n }\n\n //\n // --- Methods --- //\n //\n\n /**\n * Page forward\n * {MouseEvent} e\n */\n @Method()\n async pageNext() {\n if (this.pageNum >= this.pdfDocument.numPages) {\n return;\n }\n this.pageNum += 1;\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum);\n }\n\n /**\n * Page backward\n * e\n */\n @Method()\n async pagePrev() {\n if (this.pageNum <= 1) {\n return;\n }\n\n this.pageNum -= 1;\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum);\n }\n\n /**\n * Page and field resize on zoom change\n *\n */\n @Method()\n async setZoom(z: number) {\n this.zoom = z;\n this.canvas = this.component.shadowRoot.getElementById('pdf-canvas') as HTMLCanvasElement;\n this.canvas.style.height = this.pageDimensions[this.pageNum - 1].height * z + 'px';\n this.canvas.style.width = this.pageDimensions[this.pageNum - 1].width * z + 'px';\n\n // place all fields at new zoom level\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(fx => moveField.bind(this)(fx, fx.dataItem));\n\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum);\n }\n\n /**\n * Decorate the template data object with useful transformations.\n * {string} json of template\n */\n parseTemplate(newValue: string) {\n const newTemplate: LSApiTemplate = JSON.parse(newValue) as any as LSApiTemplate;\n const pages = JSON.parse(JSON.parse(newTemplate.pageDimensions));\n\n // Convert ax,bx,ay etc. into top, left\n // We also add the templateId into every object so that all the information\n // required to mutate is in each object.\n this.pageDimensions = pages.map(p => {\n return { height: p[1], width: p[0] };\n });\n const fields = newTemplate.elementConnection.templateElements.map(f => {\n return {\n ...f,\n top: f.ay * pages[0].height,\n left: f.ax * pages[0].width,\n height: (f.by - f.ay) * pages[0].height,\n width: (f.bx - f.ax) * pages[0].width,\n templateId: newTemplate.id,\n };\n });\n\n const preparedRoles: LSApiRole[] = newTemplate.roles.map((ro: LSApiRole) => {\n return { ...ro, templateId: newTemplate.id };\n });\n\n this._template = {\n ...newTemplate,\n elementConnection: { ...newTemplate.elementConnection, templateElements: fields },\n roles: preparedRoles,\n };\n }\n\n /**\n * Render the page based on pageNumber\n * {number} pageNumber\n */\n renderPage(pageNumber: number): void {\n this.isPageRendering = true;\n this.pdfDocument.getPage(pageNumber).then((page: PDFPageProxy) => {\n const viewport: PDFPageViewport = page.getViewport({ scale: this.zoom });\n this.canvas.height = Math.floor(viewport.height);\n this.canvas.width = Math.floor(viewport.width);\n\n // Render PDF page into canvas context\n const renderContext: PDFRenderParams = {\n viewport,\n canvasContext: this.ctx,\n };\n\n // Render page method\n const renderTask: PDFRenderTask = page.render(renderContext);\n\n // Wait for rendering to finish\n renderTask.promise.then(() => {\n this.isPageRendering = false;\n this.pageRendered.emit(this.pageNum);\n\n if (this.pageNumPending !== null) {\n this.renderPage(this.pageNumPending); // New page rendering is pending\n this.pageChange.emit(this.pageNumPending); // emit\n this.pageNumPending = null;\n }\n });\n });\n }\n\n private queueRenderPage(pageNumber: number): void {\n if (this.isPageRendering) {\n this.pageNumPending = pageNumber;\n } else {\n this.renderPage(pageNumber);\n }\n }\n\n private loadAndRender(src: string): void {\n getDocument(src).promise.then((pdfDocument: PDFDocumentProxy) => {\n this.pdfDocument = pdfDocument;\n this.renderPage(this.pageNum);\n });\n }\n\n // Fills in and converts all utility and placement fields\n prepareElement(newElement: LSApiElement): LSApiElement {\n return {\n ...newElement,\n top: Math.floor(newElement.ay * this.pageDimensions[newElement.page - 1].height),\n left: Math.floor(newElement.ax * this.pageDimensions[newElement.page - 1].width),\n height: Math.floor((newElement.by - newElement.ay) * this.pageDimensions[newElement.page - 1].height),\n width: Math.floor((newElement.bx - newElement.ax) * this.pageDimensions[newElement.page - 1].width),\n pageDimensions: this.pageDimensions[newElement.page - 1],\n templateId: this._template.id,\n };\n }\n\n // internal forced change\n syncChange(update: LSMutateEvent) {\n console.log('sync');\n if (getApiType(update.data) === 'element') {\n if (update.action === 'create') {\n const newData = { ...update.data, page: this.pageNum };\n addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), newData);\n const newField = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n\n this.selected = [newField];\n this.selectFields.emit([newData as LSApiElement]);\n } else if (update.action === 'update') {\n const fi = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n if (fi) {\n moveField.bind(this)(fi, update.data);\n const fu = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n\n fu.dataItem = update.data as LSApiElement;\n // Refresh the selected array\n this.selected = this.selected.map(s => (s.dataItem.id === update.data.id ? fu : s));\n }\n // Reselect the fields - this updates the dataItem value passed to child controls\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n this.selected = Array.from(fields).filter(fx => fx.selected);\n } else if (update.action === 'delete') {\n const fi = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n this.component.shadowRoot.getElementById('ls-document-frame').removeChild(fi);\n this.selected = [];\n } else {\n console.warn('Unrecognised action, check Legalesign documentation. `create`, `update` and `delete` allowed.');\n }\n }\n }\n\n initViewer() {\n console.log('Init Viewer ');\n // Generate a canvas to draw the background PDF on.\n this.canvas = this.component.shadowRoot.getElementById('pdf-canvas') as HTMLCanvasElement;\n this.canvas.style.height = this.pageDimensions[this.pageNum - 1].height * this.zoom + 'px';\n this.canvas.style.width = this.pageDimensions[this.pageNum - 1].width * this.zoom + 'px';\n this.ctx = this.canvas.getContext('2d');\n if (this._template?.link) this.loadAndRender(this._template?.link);\n\n var dropTarget = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLCanvasElement;\n\n // Used for single field selection\n dropTarget.addEventListener('click', mouseClick.bind(this));\n dropTarget.addEventListener('mousedown', mouseDown.bind(this));\n dropTarget.addEventListener('mousemove', mouseMove.bind(this));\n dropTarget.addEventListener('mouseup', mouseUp.bind(this));\n document.addEventListener('keydown', keyDown.bind(this));\n dropTarget.addEventListener('dragenter', event => {\n event.preventDefault();\n });\n dropTarget.addEventListener('dragover', event => {\n event.preventDefault();\n });\n dropTarget.addEventListener('drop', mouseDrop.bind(this));\n\n // Generate all the field HTML elements that are required (for every page)\n this._template.elementConnection.templateElements.forEach(te => {\n addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), this.prepareElement(te));\n });\n }\n\n showPageFields(page: number) {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n Array.from(fields).forEach(fx => {\n fx.className = fx.dataItem.page === page ? '' : 'hidden';\n });\n }\n\n async load() {\n try {\n const result = (await this.adapter.execute(this.token, getTemplate(this.templateid))) as any;\n\n this.parseTemplate(JSON.stringify(result.template));\n console.log(this._template, '_template');\n this.initViewer();\n } catch (e) {\n console.error('Your access token is invalid.', e);\n }\n }\n\n componentWillLoad() {\n if (this.token && !this._template) this.load();\n }\n\n render() {\n return (\n <Host>\n <>\n <div class=\"page-header\">\n <p class=\"header-text-1\">Template Creation</p>\n <p>/</p>\n <p class=\"header-text-2\">Template Name</p>\n </div>\n <form id=\"ls-editor-form\">\n {this.showtoolbox === true ? (\n <div class=\"leftBox\">\n <div class={!this.selected || this.selected.length === 0 ? 'left-box-inner' : 'hidden'}>\n <ls-feature-column\n onManage={manager => {\n if (manager.detail === 'document') {\n var documentManager = this.component.shadowRoot.getElementById('ls-document-options') as HTMLLsDocumentOptionsElement;\n documentManager.template = this._template;\n } else if (manager.detail === 'participant') {\n var participantManager = this.component.shadowRoot.getElementById('ls-participant-manager') as HTMLLsParticipantManagerElement;\n participantManager.template = this._template;\n }\n this.manager = manager.detail;\n }}\n />\n <div id=\"ls-toolbox\" class={this.manager === 'toolbox' ? 'toolbox' : 'hidden'}>\n <div class=\"ls-editor-infobox\">\n <h2 class=\"toolbox-section-title\">Participant Fields</h2>\n <p class=\"toolbox-section-description\">Select and Click to place Signature fields where you’d like on the Document.</p>\n </div>\n <div class=\"fields-box\">\n <ls-toolbox-field\n elementType=\"signature\"\n formElementType=\"signature\"\n label=\"Signature\"\n defaultHeight={27}\n defaultWidth={120}\n validation={0}\n icon=\"signature\"\n />\n <ls-toolbox-field\n elementType=\"initials\"\n formElementType=\"initials\"\n label=\"Initials\"\n defaultHeight={27}\n defaultWidth={120}\n validation={2000}\n icon=\"initials\"\n />\n <ls-toolbox-field elementType=\"date\" formElementType=\"date\" label=\"Date\" defaultHeight={27} defaultWidth={80} validation={2} icon=\"calender\" />\n <ls-toolbox-field\n elementType=\"signing date\"\n formElementType=\"signing date\"\n label=\"Signing Date\"\n defaultHeight={27}\n defaultWidth={120}\n validation={30}\n icon=\"auto-date\"\n />\n <ls-toolbox-field elementType=\"email\" formElementType=\"email\" label=\"Email\" defaultHeight={27} defaultWidth={120} validation={1} icon=\"at-symbol\" />\n <ls-toolbox-field elementType=\"text\" formElementType=\"text\" label=\"Text\" defaultHeight={27} defaultWidth={100} validation={0} icon=\"text\" />\n <div class={'expand-fields-row'}>\n <ls-icon name={this.expandfields ? 'expand' : 'collapse'} size=\"20\" solid onClick={() => (this.expandfields = !this.expandfields)} />\n <p>More Field Types</p>\n </div>\n {this.expandfields && (\n <div class=\"fields-box\">\n <ls-toolbox-field elementType=\"number\" formElementType=\"number\" label=\"Number\" defaultHeight={27} defaultWidth={80} validation={50} icon=\"hashtag\" />\n\n <ls-toolbox-field elementType=\"checkbox\" formElementType=\"checkbox\" label=\"Checkbox\" defaultHeight={27} defaultWidth={27} validation={25} icon=\"check\" />\n <ls-toolbox-field\n elementType=\"auto sign\"\n formElementType=\"auto sign\"\n label=\"Auto Sign\"\n defaultHeight={27}\n defaultWidth={120}\n validation={3000}\n icon=\"signature\"\n />\n\n <ls-toolbox-field elementType=\"regex\" formElementType=\"regex\" label=\"Regex\" defaultHeight={27} defaultWidth={120} validation={93} icon=\"code\" />\n <ls-toolbox-field elementType=\"image\" formElementType=\"image\" label=\"Image\" defaultHeight={27} defaultWidth={120} validation={90} icon=\"photograph\" />\n\n <ls-toolbox-field elementType=\"file\" formElementType=\"file\" label=\"File\" defaultHeight={27} defaultWidth={120} validation={74} icon=\"upload\" />\n </div>\n )}\n </div>\n </div>\n <ls-participant-manager id=\"ls-participant-manager\" class={this.manager === 'participant' ? 'toolbox' : 'hidden'} editor={this} />\n <ls-document-options id=\"ls-document-options\" class={this.manager === 'document' ? 'toolbox' : 'hidden'} />\n </div>\n {this.showrightpanel && !this.displayTable && (\n <div class={this.selected && this.selected.length > 0 ? 'field-properties-outer' : 'hidden'}>\n <div class={'properties-header'}>\n <div class={'properties-header-icon'}>\n <ls-icon name=\"pre-filled-content\" />\n </div>\n <h1 class={'properties-header-title'}>Field Properties</h1>\n <button\n class={'tertiaryGrey'}\n onClick={e => {\n this.selected = [];\n e.preventDefault();\n }}\n >\n <ls-icon name=\"x\" size=\"20\" />\n </button>\n </div>\n <ls-field-properties id=\"my-field-panel\"></ls-field-properties>\n <slot></slot>\n </div>\n )}\n </div>\n ) : (\n <></>\n )}\n <div id=\"ls-mid-area\">\n <ls-toolbar id=\"ls-toolbar\" dataItem={this.selected ? this.selected.map(s => s.dataItem) : null} template={this._template} />\n <div class={'document-frame-wrapper'}>\n <div class={'spacer'}></div>\n <div id=\"ls-document-frame\">\n <canvas id=\"pdf-canvas\" class={this.displayTable ? 'hidden' : ''}></canvas>\n <ls-editor-table editor={this} class={this.displayTable ? '' : 'hidden'} />\n <div id=\"ls-box-selector\"></div>\n </div>\n </div>\n <ls-statusbar editor={this} />\n </div>\n </form>\n </>\n </Host>\n );\n }\n}\n"]}
@@ -139,7 +139,7 @@ export function mouseClick(e) {
139
139
  // Calculate new positions and update the dataItem on the control
140
140
  const delta = {
141
141
  ...fx.dataItem,
142
- ...findDimensions(divFrame, fx, this.pageDimensions[this.pageNum - 1].height, this.pageDimensions[this.pageNum - 1].width),
142
+ ...findDimensions(divFrame, fx, this.pageDimensions[this.pageNum - 1].height, this.pageDimensions[this.pageNum - 1].width, this.zoom),
143
143
  };
144
144
  // TODO:: out of bounds handler (UNDO)
145
145
  // update the data in the html element
@@ -166,4 +166,59 @@ export function mouseClick(e) {
166
166
  this.selectFields.emit(this.selected.map(fx => fx.dataItem));
167
167
  }
168
168
  }
169
+ export function mouseDrop(event) {
170
+ event.preventDefault();
171
+ try {
172
+ const data = JSON.parse(event.dataTransfer.getData("application/json"));
173
+ // Unselect all current selected items
174
+ this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => f.selected = false);
175
+ var frame = this.component.shadowRoot.getElementById('ls-document-frame');
176
+ // Make a new API compatible id for a template element (prefix 'ele')
177
+ const id = btoa('ele' + crypto.randomUUID());
178
+ const top = event.offsetY * this.zoom + frame.scrollTop;
179
+ const left = event.offsetX * this.zoom + frame.scrollLeft;
180
+ // TODO: Put these defaults somewhere sensible
181
+ const newData = {
182
+ action: 'create', data: {
183
+ id,
184
+ value: "",
185
+ formElementType: data.formElementType,
186
+ elementType: data.elementType,
187
+ validation: data.validation,
188
+ substantive: false,
189
+ top,
190
+ left,
191
+ hideBorder: false,
192
+ height: data.defaultHeight,
193
+ width: data.defaultWidth,
194
+ pageDimensions: this.pageDimensions[this.pageNum - 1],
195
+ fontName: "arial",
196
+ fontSize: 10,
197
+ align: 'left',
198
+ signer: this.signer,
199
+ page: this.pageNum,
200
+ mapTo: null,
201
+ label: '',
202
+ helpText: null,
203
+ logicGroup: null,
204
+ optional: false,
205
+ options: null,
206
+ logicAction: null,
207
+ labelExtra: null,
208
+ fieldOrder: null,
209
+ ax: left > 0 ? left / this.pageDimensions[this.pageNum - 1].width : 0,
210
+ ay: top > 0 ? top / this.pageDimensions[this.pageNum - 1].height : 0,
211
+ bx: (left + data.defaultWidth) / this.pageDimensions[this.pageNum - 1].width,
212
+ by: (top + data.defaultHeight) / this.pageDimensions[this.pageNum - 1].height,
213
+ templateId: this._template.id
214
+ }
215
+ };
216
+ console.log(newData);
217
+ this.mutate.emit([newData]);
218
+ this.update.emit([newData]);
219
+ }
220
+ catch (e) {
221
+ console.error(e);
222
+ }
223
+ }
169
224
  //# sourceMappingURL=mouseHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mouseHandlers.js","sourceRoot":"","sources":["../../../src/components/ls-document-viewer/mouseHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { findDimensions, findIn } from './editorCalculator';\n\nexport function mouseDown(e) {\n if (e.offsetX < 0 || e.offsetY < 0) return;\n\n // Find if this was\n // - a hit on a field edge RESIZE\n // - a hit on the middle of a field MOVE\n // - a hit on the background document SELECTMULTIPLE with a box\n this.hitField = null;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n\n fields.forEach(f => {\n const { left, top, height, width, bottom, right } = f.getBoundingClientRect();\n const fdims = { left: f.offsetLeft, top: f.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n // west edge\n if (Math.abs(e.clientX - left) < 5 && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'w';\n this.hitField = f;\n // right / east edge\n } else if (Math.abs(e.clientX - right) < 5 && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'e';\n this.hitField = f;\n // north edge\n } else if (Math.abs(e.clientY - top) < 5 && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 'n';\n this.hitField = f;\n // south edge\n } else if (Math.abs(e.clientY - bottom) < 5 && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 's';\n this.hitField = f;\n } else if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n }\n });\n\n if (this.hitField) {\n const { height, width } = this.hitField.getBoundingClientRect();\n const fdims = { left: this.hitField.offsetLeft, top: this.hitField.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n const target = this.selected ? this.selected : [this.hitField];\n this.startLocations = target.map(f => {\n const { height, width } = f.getBoundingClientRect();\n const beHtml = f as HTMLElement;\n return { top: beHtml.offsetTop, left: beHtml.offsetLeft, height, width };\n });\n this.selectionBox = null;\n } else {\n this.startLocations = null;\n this.startMouse = null;\n this.selectionBox = { x: e.clientX, y: e.clientY };\n this.component.style.cursor = 'crosshair';\n }\n}\n\nexport function mouseMove(event) {\n event.preventDefault();\n\n // We have the mouse held down on a field edge to resize it.\n if (this.hitField && this.edgeSide && this.startMouse && event.buttons === 1) {\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n\n switch (this.edgeSide) {\n case 'n':\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.height = this.startMouse.height - movedY + 'px';\n break;\n case 's':\n this.hitField.style.height = this.startMouse.height + movedY + 'px';\n break;\n case 'e':\n this.hitField.style.width = this.startMouse.width + movedX + 'px';\n break;\n case 'w':\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.width = this.startMouse.width - movedX + 'px';\n break;\n }\n } else if (this.selectionBox && event.buttons === 1) {\n // draw the multiple selection box\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n var leftOffset = frame.getBoundingClientRect().left;\n var topOffset = frame.getBoundingClientRect().top;\n\n const movedX = event.clientX - this.selectionBox.x;\n const movedY = event.clientY - this.selectionBox.y;\n\n // allow for the frame to be scrolled\n box.style.visibility = 'visible';\n box.style.left = (this.selectionBox.x > event.clientX ? event.clientX : this.selectionBox.x) - leftOffset + frame.scrollLeft + 'px';\n box.style.top = (this.selectionBox.y > event.clientY ? event.clientY : this.selectionBox.y) - topOffset + frame.scrollTop + 'px';\n box.style.width = Math.abs(movedX) + 'px';\n box.style.height = Math.abs(movedY) + 'px';\n } else if (this.startLocations && !this.edgeSide && this.startMouse && event.buttons === 1) {\n this.isMoving = true;\n // Move one or more selected items\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n if (this.selected?.length) {\n for (let i = 0; i < this.selected.length; i++) {\n this.selected[i].style.left = this.startLocations[i].left + movedX + 'px';\n this.selected[i].style.top = this.startLocations[i].top + movedY + 'px';\n }\n }\n }\n}\n\nexport function mouseUp(event) {\n this.edgeSide = null;\n this.startMouse = null;\n this.component.style.cursor = 'auto';\n\n // find what was inside the selection box emit the select event and change their style\n if (this.selectionBox) {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n box.style.visibility = 'hidden';\n\n findIn(fields, box, true, event.shiftKey);\n\n var updatedFields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n\n this.selectFields.emit(\n Array.from(updatedFields)\n .filter(fx => fx.selected)\n .map(fx => fx.dataItem),\n );\n this.selectionBox = null;\n this.selected = Array.from(updatedFields).filter(fx => fx.selected);\n }\n}\n\nexport function mouseClick(e) {\n // check we're not moving fields\n if (this.isMoving) {\n // End dragging fields\n this.isMoving = false;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n const divFrame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLDivElement;\n const selected = Array.from(fields).filter(fx => fx.selected);\n\n this.mutate.emit(\n Array.from(fields)\n .filter(fx => fx.selected)\n .map(fx => {\n // Calculate new positions and update the dataItem on the control\n const delta = {\n ...fx.dataItem,\n ...findDimensions(divFrame, fx, this.pageDimensions[this.pageNum - 1].height, this.pageDimensions[this.pageNum - 1].width),\n };\n // TODO:: out of bounds handler (UNDO)\n // update the data in the html element\n fx.dataItem = delta;\n // send an update event to be processed\n return { action: 'update', data: delta };\n }),\n );\n this.selectFields.emit(selected.map(fx => fx.dataItem));\n } else {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n fields.forEach(f => {\n const { left, top, bottom, right } = f.getBoundingClientRect();\n if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n // check if this is a shift click to add to the current selection\n if (!e.shiftKey) fields.forEach(ft => (ft.selected = false));\n f.selected = true;\n }\n });\n\n this.selected = Array.from(fields).filter(fx => fx.selected);\n this.selectFields.emit(this.selected.map(fx => fx.dataItem));\n }\n}\n"]}
1
+ {"version":3,"file":"mouseHandlers.js","sourceRoot":"","sources":["../../../src/components/ls-document-viewer/mouseHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { LSApiElement } from '../../types/LSApiElement';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { findDimensions, findIn } from './editorCalculator';\n\nexport function mouseDown(e) {\n if (e.offsetX < 0 || e.offsetY < 0) return;\n\n // Find if this was\n // - a hit on a field edge RESIZE\n // - a hit on the middle of a field MOVE\n // - a hit on the background document SELECTMULTIPLE with a box\n this.hitField = null;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n\n fields.forEach(f => {\n const { left, top, height, width, bottom, right } = f.getBoundingClientRect();\n const fdims = { left: f.offsetLeft, top: f.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n // west edge\n if (Math.abs(e.clientX - left) < 5 && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'w';\n this.hitField = f;\n // right / east edge\n } else if (Math.abs(e.clientX - right) < 5 && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'e';\n this.hitField = f;\n // north edge\n } else if (Math.abs(e.clientY - top) < 5 && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 'n';\n this.hitField = f;\n // south edge\n } else if (Math.abs(e.clientY - bottom) < 5 && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 's';\n this.hitField = f;\n } else if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n }\n });\n\n if (this.hitField) {\n const { height, width } = this.hitField.getBoundingClientRect();\n const fdims = { left: this.hitField.offsetLeft, top: this.hitField.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n const target = this.selected ? this.selected : [this.hitField];\n this.startLocations = target.map(f => {\n const { height, width } = f.getBoundingClientRect();\n const beHtml = f as HTMLElement;\n return { top: beHtml.offsetTop, left: beHtml.offsetLeft, height, width };\n });\n this.selectionBox = null;\n } else {\n this.startLocations = null;\n this.startMouse = null;\n this.selectionBox = { x: e.clientX, y: e.clientY };\n this.component.style.cursor = 'crosshair';\n }\n}\n\nexport function mouseMove(event) {\n event.preventDefault();\n\n // We have the mouse held down on a field edge to resize it.\n if (this.hitField && this.edgeSide && this.startMouse && event.buttons === 1) {\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n\n switch (this.edgeSide) {\n case 'n':\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.height = this.startMouse.height - movedY + 'px';\n break;\n case 's':\n this.hitField.style.height = this.startMouse.height + movedY + 'px';\n break;\n case 'e':\n this.hitField.style.width = this.startMouse.width + movedX + 'px';\n break;\n case 'w':\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.width = this.startMouse.width - movedX + 'px';\n break;\n }\n } else if (this.selectionBox && event.buttons === 1) {\n // draw the multiple selection box\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n var leftOffset = frame.getBoundingClientRect().left;\n var topOffset = frame.getBoundingClientRect().top;\n\n const movedX = event.clientX - this.selectionBox.x;\n const movedY = event.clientY - this.selectionBox.y;\n\n // allow for the frame to be scrolled\n box.style.visibility = 'visible';\n box.style.left = (this.selectionBox.x > event.clientX ? event.clientX : this.selectionBox.x) - leftOffset + frame.scrollLeft + 'px';\n box.style.top = (this.selectionBox.y > event.clientY ? event.clientY : this.selectionBox.y) - topOffset + frame.scrollTop + 'px';\n box.style.width = Math.abs(movedX) + 'px';\n box.style.height = Math.abs(movedY) + 'px';\n } else if (this.startLocations && !this.edgeSide && this.startMouse && event.buttons === 1) {\n this.isMoving = true;\n // Move one or more selected items\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n if (this.selected?.length) {\n for (let i = 0; i < this.selected.length; i++) {\n this.selected[i].style.left = this.startLocations[i].left + movedX + 'px';\n this.selected[i].style.top = this.startLocations[i].top + movedY + 'px';\n }\n }\n }\n}\n\nexport function mouseUp(event) {\n this.edgeSide = null;\n this.startMouse = null;\n this.component.style.cursor = 'auto';\n\n // find what was inside the selection box emit the select event and change their style\n if (this.selectionBox) {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n box.style.visibility = 'hidden';\n\n findIn(fields, box, true, event.shiftKey);\n\n var updatedFields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n\n this.selectFields.emit(\n Array.from(updatedFields)\n .filter(fx => fx.selected)\n .map(fx => fx.dataItem),\n );\n this.selectionBox = null;\n this.selected = Array.from(updatedFields).filter(fx => fx.selected);\n }\n}\n\nexport function mouseClick(e) {\n // check we're not moving fields\n if (this.isMoving) {\n // End dragging fields\n this.isMoving = false;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n const divFrame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLDivElement;\n const selected = Array.from(fields).filter(fx => fx.selected);\n\n this.mutate.emit(\n Array.from(fields)\n .filter(fx => fx.selected)\n .map(fx => {\n // Calculate new positions and update the dataItem on the control\n const delta = {\n ...fx.dataItem,\n ...findDimensions(divFrame, fx, this.pageDimensions[this.pageNum - 1].height, this.pageDimensions[this.pageNum - 1].width, this.zoom),\n };\n // TODO:: out of bounds handler (UNDO)\n // update the data in the html element\n fx.dataItem = delta;\n // send an update event to be processed\n return { action: 'update', data: delta };\n }),\n );\n this.selectFields.emit(selected.map(fx => fx.dataItem));\n } else {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n fields.forEach(f => {\n const { left, top, bottom, right } = f.getBoundingClientRect();\n if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n // check if this is a shift click to add to the current selection\n if (!e.shiftKey) fields.forEach(ft => (ft.selected = false));\n f.selected = true;\n }\n });\n\n this.selected = Array.from(fields).filter(fx => fx.selected);\n this.selectFields.emit(this.selected.map(fx => fx.dataItem));\n }\n}\n\n\nexport function mouseDrop(event) {\n event.preventDefault();\n try {\n const data: IToolboxField = JSON.parse(event.dataTransfer.getData(\"application/json\")) as any as IToolboxField;\n // Unselect all current selected items\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => f.selected = false)\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n // Make a new API compatible id for a template element (prefix 'ele')\n const id = btoa('ele' + crypto.randomUUID())\n const top = event.offsetY * this.zoom + frame.scrollTop;\n const left = event.offsetX * this.zoom + frame.scrollLeft\n // TODO: Put these defaults somewhere sensible\n const newData: LSMutateEvent = {\n action: 'create', data: {\n id,\n value: \"\",\n formElementType: data.formElementType,\n elementType: data.elementType,\n validation: data.validation,\n substantive: false,\n top,\n left,\n hideBorder: false,\n height: data.defaultHeight,\n width: data.defaultWidth,\n pageDimensions: this.pageDimensions[this.pageNum - 1],\n fontName: \"arial\",\n fontSize: 10,\n align: 'left',\n signer: this.signer,\n page: this.pageNum,\n mapTo: null,\n label: '',\n helpText: null,\n logicGroup: null,\n optional: false,\n options: null,\n logicAction: null,\n labelExtra: null,\n fieldOrder: null,\n ax: left > 0 ? left / this.pageDimensions[this.pageNum - 1].width : 0,\n ay: top > 0 ? top / this.pageDimensions[this.pageNum - 1].height : 0,\n bx: (left + data.defaultWidth) / this.pageDimensions[this.pageNum - 1].width,\n by: (top + data.defaultHeight) / this.pageDimensions[this.pageNum - 1].height,\n templateId: this._template.id\n } as LSApiElement\n }\n console.log(newData)\n this.mutate.emit([newData])\n this.update.emit([newData])\n\n } catch (e) {\n console.error(e)\n }\n }"]}
@@ -1,7 +1,6 @@
1
1
  :host {
2
2
  display: block;
3
3
  position: absolute;
4
- border: 1px solid rgb(49, 49, 49);
5
4
  margin: 0px;
6
5
  padding: 0px 0px 0px 0px;
7
6
  isolation: isolate;
@@ -15,16 +14,18 @@
15
14
 
16
15
  /* no extra spaces */
17
16
  white-space: nowrap;
18
- border: 0px solid #000;
19
17
  margin: 0;
20
18
  padding: 0px 0px 0px 0px;
21
19
  /* default widths */
22
20
  min-width: 2em;
23
- background-color: white;
24
21
  height: 100%;
25
22
  width: 100%;
26
23
  }
27
24
 
25
+ .ls-editor-field {
26
+ opacity: 0.7;
27
+ }
28
+
28
29
  .ls-editor-field-editable:focus {
29
30
  outline: none;
30
31
  }
@@ -33,12 +34,10 @@
33
34
  display: block;
34
35
  font-family: inherit;
35
36
  font-size: inherit;
36
-
37
37
  overflow: hidden;
38
38
 
39
39
  /* no extra spaces */
40
40
  white-space: nowrap;
41
- background-color: white;
42
41
 
43
42
  /* default widths */
44
43
  min-width: 2px;
@@ -46,14 +45,18 @@
46
45
  width: 98%;
47
46
  }
48
47
 
49
- .is-selected {
48
+ /* .is-selected {
50
49
  border: 1px dotted rgb(193, 26, 26);
51
- }
50
+ } */
52
51
 
53
52
  .hidden-field {
54
53
  display: none;
55
54
  }
56
55
 
56
+ input {
57
+ all: unset;
58
+ }
59
+
57
60
  .draggable-input {
58
61
  font-family: inherit;
59
62
  font-size: inherit;
@@ -1,5 +1,6 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { getInputType } from "../ls-document-viewer/editorUtils";
3
+ import { defaultRolePalette } from "../ls-document-viewer/defaultPalette";
3
4
  export class LsEditorField {
4
5
  component;
5
6
  dataItem;
@@ -14,7 +15,7 @@ export class LsEditorField {
14
15
  innerValue;
15
16
  sizeObserver;
16
17
  handleInput(e) {
17
- if (e.code === "Enter") {
18
+ if (e.code === 'Enter') {
18
19
  this.isEditing = false;
19
20
  this.sizeObserver.observe(this.component.shadowRoot.getElementById('field-info'));
20
21
  }
@@ -26,22 +27,21 @@ export class LsEditorField {
26
27
  return;
27
28
  // Determine which edge is being moved over and what cursor to show.
28
29
  if (Math.abs(e.offsetX) < 5) {
29
- this.component.style.cursor = "ew-resize";
30
+ this.component.style.cursor = 'ew-resize';
30
31
  }
31
32
  else if (Math.abs(e.offsetX - this.component.clientWidth) < 5) {
32
- this.component.style.cursor = "ew-resize";
33
+ this.component.style.cursor = 'ew-resize';
33
34
  }
34
35
  else if (Math.abs(e.offsetY) < 5) {
35
- this.component.style.cursor = "ns-resize";
36
+ this.component.style.cursor = 'ns-resize';
36
37
  }
37
38
  else if (Math.abs(e.offsetY - this.component.clientHeight) < 5) {
38
- this.component.style.cursor = "ns-resize";
39
+ this.component.style.cursor = 'ns-resize';
39
40
  }
40
41
  else {
41
- this.component.style.cursor = "move";
42
+ this.component.style.cursor = 'move';
42
43
  }
43
44
  }
44
- ;
45
45
  handleDoubleClick() {
46
46
  if (this.readonly)
47
47
  return;
@@ -58,25 +58,29 @@ export class LsEditorField {
58
58
  }
59
59
  }
60
60
  handleDragStart(event) {
61
- console.log("dragstart ls-editor-field", event, this.type);
61
+ console.log('dragstart ls-editor-field', event, this.type);
62
62
  // Add the target element's id to the data transfer object
63
- event.dataTransfer.setData("application/json", JSON.stringify({
64
- type: this.type
63
+ event.dataTransfer.setData('application/json', JSON.stringify({
64
+ type: this.type,
65
65
  }));
66
- event.dataTransfer.dropEffect = "move";
66
+ event.dataTransfer.dropEffect = 'move';
67
67
  }
68
68
  watchSelectedHandler(_newValue, _oldValue) {
69
- if (_newValue)
70
- this.component.style.border = "1px dotted red";
71
- else
72
- this.component.style.border = "1px solid black";
69
+ if (_newValue) {
70
+ this.component.style.background = `var(--${this.participantColor(this.dataItem?.signer)}-20)`;
71
+ this.component.style.opacity = '0.7';
72
+ this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';
73
+ }
74
+ else {
75
+ this.component.style.background = 'transparent';
76
+ }
73
77
  }
74
78
  onInputChange(e) {
75
79
  // console.log("INPUT CHANGE", e);
76
80
  this.innerValue = e.target.value;
77
81
  }
78
82
  componentDidLoad() {
79
- this.sizeObserver = new ResizeObserver((entries) => {
83
+ this.sizeObserver = new ResizeObserver(entries => {
80
84
  for (const entry of entries) {
81
85
  if (entry.contentRect) {
82
86
  // const editbox = this.component.shadowRoot.getElementById('editing-input') as HTMLElement;
@@ -84,23 +88,30 @@ export class LsEditorField {
84
88
  // console.log(editbox)
85
89
  // editbox.style.height = entry.contentRect.height + "px"
86
90
  // editbox.style.width = entry.contentRect.width + "px"
87
- movebox.style.height = entry.contentRect.height + "px";
88
- movebox.style.width = entry.contentRect.width + "px";
91
+ movebox.style.height = entry.contentRect.height + 'px';
92
+ movebox.style.width = entry.contentRect.width + 'px';
89
93
  }
90
94
  }
91
95
  });
92
96
  this.sizeObserver.observe(this.component);
93
97
  // New dropped components automatically need selecting.
94
- if (this.selected)
95
- this.component.style.border = "1px dotted red";
98
+ if (this.selected) {
99
+ this.component.style.background = `var(--${this.participantColor(this.dataItem?.signer)}-20)`;
100
+ this.component.style.opacity = '0.7';
101
+ this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';
102
+ }
96
103
  else
97
- this.component.style.border = "1px solid black";
104
+ this.component.style.background = `transparent`;
98
105
  }
106
+ participantColor = (index) => {
107
+ return index > 200 ? defaultRolePalette[index - 200] : index > 100 ? defaultRolePalette[index - 100] : defaultRolePalette[index] || defaultRolePalette[0];
108
+ };
99
109
  render() {
100
- return (h(Host, { key: 'f75b043455d8d893cfd695a1861a5fab7bafa1c1', class: {
110
+ console.log('Rendering ls-editor-field', this.dataItem);
111
+ return (h(Host, { key: 'b9e35f54e8852fcdd156c1f092e5c3dc0b099e01', style: { border: `2px solid var(--${this.participantColor(this.dataItem?.signer)}-60)` } }, h("div", { key: '51e3a6f60ea26ba6987bfde2ec290675ab36ff4b', class: {
101
112
  'ls-editor-field': true,
102
- 'is-selected': this.selected
103
- } }, h("input", { key: '60990dd57f8f3a24865653e45d6ace95755a5087', id: "editing-input", class: this.isEditing ? "ls-editor-field-editable" : "hidden-field", type: getInputType(this.dataItem.validation).inputType, value: this.dataItem?.value || this.innerValue, onChange: (e) => this.onInputChange(e) }), h("div", { key: '54c7a0a6fdb3fbb7a5aac80289ae2c510c340b72', id: "field-info", class: this.isEditing ? "hidden-field" : "ls-editor-field-draggable" }, this.innerValue || this.dataItem?.label || this.dataItem?.formElementType)));
113
+ 'is-selected': this.selected,
114
+ } }, h("input", { key: 'eb04f44ee432c774410ef9e977f4783c093fb3ca', id: "editing-input", class: this.isEditing ? 'ls-editor-field-editable' : 'hidden-field', type: getInputType(this.dataItem.validation).inputType, value: this.dataItem?.value || this.innerValue, onChange: e => this.onInputChange(e) }), h("div", { key: '572479a0869f845fc40537c5eadd48fc64d30119', id: "field-info", class: this.isEditing ? 'hidden-field' : 'ls-editor-field-draggable' }, this.innerValue || this.dataItem?.label || this.dataItem?.formElementType))));
104
115
  }
105
116
  static get is() { return "ls-editor-field"; }
106
117
  static get encapsulation() { return "shadow"; }
@@ -122,7 +133,7 @@ export class LsEditorField {
122
133
  "mutable": true,
123
134
  "complexType": {
124
135
  "original": "LSApiElement",
125
- "resolved": "{ id: string; align: string; ax?: number; ay?: number; bx?: number; by?: number; left?: number; top?: number; height?: number; width?: number; elementType: string; fieldOrder?: number; fontName: string; fontSize: number; hideBorder?: boolean; label?: string; labelExtra?: string; helpText?: string; optional?: boolean; options?: string; page?: number; role?: LSApiRole; substantive?: boolean; validation?: number; value?: string; logicGroup?: string; logicAction?: number; mapTo?: string; signer: number; link?: string; formElementType?: \"number\" | \"image\" | \"text\" | \"signature\" | \"date\" | \"regex\" | \"file\" | \"autodate\" | \"autosign\" | \"initials\" | \"email\" | \"checkbox\"; roleObject?: LSApiRole; cstyle?: any; divStyle?: any; objectHeight?: string; pageDimensions?: { height: number; width: number; }; }",
136
+ "resolved": "{ id: string; align: string; ax?: number; ay?: number; bx?: number; by?: number; left?: number; top?: number; height?: number; width?: number; elementType: string; fieldOrder?: number; fontName: string; fontSize: number; hideBorder?: boolean; label?: string; labelExtra?: string; helpText?: string; optional?: boolean; options?: string; page?: number; role?: LSApiRole; substantive?: boolean; validation?: number; value?: string; logicGroup?: string; logicAction?: number; mapTo?: string; signer: number; link?: string; formElementType?: \"number\" | \"image\" | \"text\" | \"signature\" | \"date\" | \"regex\" | \"file\" | \"autodate\" | \"autosign\" | \"initials\" | \"email\" | \"checkbox\"; roleObject?: LSApiRole; cstyle?: any; divStyle?: any; objectHeight?: string; pageDimensions?: { height: number; width: number; }; templateId?: string; }",
126
137
  "references": {
127
138
  "LSApiElement": {
128
139
  "location": "import",
@@ -183,15 +194,9 @@ export class LsEditorField {
183
194
  "attribute": "palette",
184
195
  "mutable": false,
185
196
  "complexType": {
186
- "original": "RoleColor[]",
187
- "resolved": "RoleColor[]",
188
- "references": {
189
- "RoleColor": {
190
- "location": "import",
191
- "path": "../../components",
192
- "id": "src/components.d.ts::RoleColor"
193
- }
194
- }
197
+ "original": "string[]",
198
+ "resolved": "string[]",
199
+ "references": {}
195
200
  },
196
201
  "required": false,
197
202
  "optional": false,
@@ -226,7 +231,7 @@ export class LsEditorField {
226
231
  "attribute": "page",
227
232
  "mutable": false,
228
233
  "complexType": {
229
- "original": "{ height: number, width: number }",
234
+ "original": "{ height: number; width: number }",
230
235
  "resolved": "{ height: number; width: number; }",
231
236
  "references": {}
232
237
  },