legalesign-document-viewer 0.4.9 → 0.5.0

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 (432) hide show
  1. package/dist/cjs/{index-C4ibYtjE.js → index-Czv4Oowx.js} +83 -47
  2. package/dist/cjs/index-Czv4Oowx.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/loader.cjs.js.map +1 -1
  5. package/dist/cjs/ls-compose-manager.cjs.entry.js +3 -5
  6. package/dist/cjs/ls-document-options_46.cjs.entry.js +35222 -19916
  7. package/dist/cjs/ls-document-viewer.cjs.js +3 -3
  8. package/dist/cjs/ls-document-viewer.cjs.js.map +1 -1
  9. package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +3 -5
  10. package/dist/cjs/ls-formfield.cjs.entry.js +101 -5
  11. package/dist/cjs/ls-number-input_5.cjs.entry.js +938 -13
  12. package/dist/collection/collection-manifest.json +2 -2
  13. package/dist/collection/components/ls-compose-manager/ls-compose-manager.js +0 -1
  14. package/dist/collection/components/ls-compose-manager/ls-compose-manager.js.map +1 -1
  15. package/dist/collection/components/ls-document-options/ls-document-options.js +0 -2
  16. package/dist/collection/components/ls-document-options/ls-document-options.js.map +1 -1
  17. package/dist/collection/components/ls-document-viewer/editorCalculator.js +4 -6
  18. package/dist/collection/components/ls-document-viewer/editorCalculator.js.map +1 -1
  19. package/dist/collection/components/ls-document-viewer/editorUtils.js +1 -2
  20. package/dist/collection/components/ls-document-viewer/editorUtils.js.map +1 -1
  21. package/dist/collection/components/ls-document-viewer/keyHandlers.js +0 -5
  22. package/dist/collection/components/ls-document-viewer/keyHandlers.js.map +1 -1
  23. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +62 -77
  24. package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
  25. package/dist/collection/components/ls-document-viewer/mouseHandlers.js +27 -6
  26. package/dist/collection/components/ls-document-viewer/mouseHandlers.js.map +1 -1
  27. package/dist/collection/components/ls-editor-field/ls-editor-field.js +21 -22
  28. package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
  29. package/dist/collection/components/ls-editor-table/ls-editor-table.js +0 -1
  30. package/dist/collection/components/ls-editor-table/ls-editor-table.js.map +1 -1
  31. package/dist/collection/components/ls-feature-column/ls-feature-column.js +2 -2
  32. package/dist/collection/components/ls-field-alignment/ls-field-alignment.js +2 -8
  33. package/dist/collection/components/ls-field-alignment/ls-field-alignment.js.map +1 -1
  34. package/dist/collection/components/ls-field-content/ls-field-content.js +3 -5
  35. package/dist/collection/components/ls-field-content/ls-field-content.js.map +1 -1
  36. package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js +19 -4
  37. package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js.map +1 -1
  38. package/dist/collection/components/ls-field-distribute/ls-field-distribute.js +42 -68
  39. package/dist/collection/components/ls-field-distribute/ls-field-distribute.js.map +1 -1
  40. package/dist/collection/components/ls-field-footer/ls-field-footer.js +24 -14
  41. package/dist/collection/components/ls-field-footer/ls-field-footer.js.map +1 -1
  42. package/dist/collection/components/ls-field-format/ls-field-format.js +11 -35
  43. package/dist/collection/components/ls-field-format/ls-field-format.js.map +1 -1
  44. package/dist/collection/components/ls-field-placement/ls-field-placement.js +1 -26
  45. package/dist/collection/components/ls-field-placement/ls-field-placement.js.map +1 -1
  46. package/dist/collection/components/ls-field-properties/ls-field-properties.js +0 -1
  47. package/dist/collection/components/ls-field-properties/ls-field-properties.js.map +1 -1
  48. package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +3 -28
  49. package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js.map +1 -1
  50. package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js +0 -1
  51. package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js.map +1 -1
  52. package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js +2 -4
  53. package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js.map +1 -1
  54. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +0 -1
  55. package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js.map +1 -1
  56. package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +0 -1
  57. package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js.map +1 -1
  58. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +0 -1
  59. package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js.map +1 -1
  60. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +0 -1
  61. package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js.map +1 -1
  62. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +0 -1
  63. package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js.map +1 -1
  64. package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js +0 -1
  65. package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js.map +1 -1
  66. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +1 -2
  67. package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js.map +1 -1
  68. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +0 -1
  69. package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js.map +1 -1
  70. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +0 -1
  71. package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js.map +1 -1
  72. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +0 -1
  73. package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js.map +1 -1
  74. package/dist/collection/components/ls-field-size/ls-field-size.js +1 -25
  75. package/dist/collection/components/ls-field-size/ls-field-size.js.map +1 -1
  76. package/dist/collection/components/ls-field-type-display/ls-field-type-display.js +3 -3
  77. package/dist/collection/components/ls-formfield/inputs/ls-number-input/ls-number-input.js +26 -26
  78. package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js +9 -10
  79. package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js.map +1 -1
  80. package/dist/collection/components/ls-formfield/inputs/ls-select-input/ls-select-input.js +24 -24
  81. package/dist/collection/components/ls-formfield/inputs/ls-text-input/ls-text-input.js +27 -27
  82. package/dist/collection/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.js +28 -28
  83. package/dist/collection/components/ls-formfield/ls-formfield.js +42 -43
  84. package/dist/collection/components/ls-formfield/ls-formfield.js.map +1 -1
  85. package/dist/collection/components/ls-helper-bar/ls-helper-bar.js +1 -1
  86. package/dist/collection/components/ls-icon/ls-icon.js +5 -6
  87. package/dist/collection/components/ls-icon/ls-icon.js.map +1 -1
  88. package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.js +3 -3
  89. package/dist/collection/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.js +0 -1
  90. package/dist/collection/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.js.map +1 -1
  91. package/dist/collection/components/ls-participant-card/ls-participant-card.js +11 -38
  92. package/dist/collection/components/ls-participant-card/ls-participant-card.js.map +1 -1
  93. package/dist/collection/components/ls-participant-manager/ls-participant-manager.js +0 -2
  94. package/dist/collection/components/ls-participant-manager/ls-participant-manager.js.map +1 -1
  95. package/dist/collection/components/ls-participant-select/ls-participant-select.js +2 -3
  96. package/dist/collection/components/ls-participant-select/ls-participant-select.js.map +1 -1
  97. package/dist/collection/components/ls-props-section/ls-props-section.js +5 -5
  98. package/dist/collection/components/ls-recipient-card/ls-recipient-card.js +3 -7
  99. package/dist/collection/components/ls-recipient-card/ls-recipient-card.js.map +1 -1
  100. package/dist/collection/components/ls-statusbar/ls-statusbar.js +11 -12
  101. package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
  102. package/dist/collection/components/ls-title-input/ls-title-input.js +1 -25
  103. package/dist/collection/components/ls-title-input/ls-title-input.js.map +1 -1
  104. package/dist/collection/components/ls-toggle/ls-toggle.js +4 -4
  105. package/dist/collection/components/ls-toolbar/ls-toolbar.js +1 -6
  106. package/dist/collection/components/ls-toolbar/ls-toolbar.js.map +1 -1
  107. package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js +19 -19
  108. package/dist/collection/components/ls-tooltip/ls-tooltip.js +6 -7
  109. package/dist/collection/components/ls-tooltip/ls-tooltip.js.map +1 -1
  110. package/dist/collection/components/ls-validation-manager/ls-validation-manager.js +0 -1
  111. package/dist/collection/components/ls-validation-manager/ls-validation-manager.js.map +1 -1
  112. package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +4 -5
  113. package/dist/collection/components/ls-validation-tag/ls-validation-tag.js.map +1 -1
  114. package/dist/components/index.js +1 -1
  115. package/dist/components/ls-compose-manager.js +10 -8
  116. package/dist/components/ls-compose-manager.js.map +1 -1
  117. package/dist/components/ls-document-options.js +1 -1
  118. package/dist/components/ls-document-viewer.js +34998 -20051
  119. package/dist/components/ls-document-viewer.js.map +1 -1
  120. package/dist/components/ls-editor-field.js +1 -1
  121. package/dist/components/ls-editor-table.js +1 -1
  122. package/dist/components/ls-feature-column.js +1 -1
  123. package/dist/components/ls-field-alignment.js +1 -1
  124. package/dist/components/ls-field-content.js +1 -1
  125. package/dist/components/ls-field-dimensions.js +1 -1
  126. package/dist/components/ls-field-distribute.js +1 -1
  127. package/dist/components/ls-field-footer.js +1 -1
  128. package/dist/components/ls-field-format.js +1 -1
  129. package/dist/components/ls-field-placement.js +1 -1
  130. package/dist/components/ls-field-properties-advanced.js +1 -1
  131. package/dist/components/ls-field-properties-autosign.js +1 -1
  132. package/dist/components/ls-field-properties-container.js +1 -1
  133. package/dist/components/ls-field-properties-date.js +1 -1
  134. package/dist/components/ls-field-properties-dropdown.js +37 -35
  135. package/dist/components/ls-field-properties-dropdown.js.map +1 -1
  136. package/dist/components/ls-field-properties-email.js +1 -1
  137. package/dist/components/ls-field-properties-file.js +1 -1
  138. package/dist/components/ls-field-properties-general.js +1 -1
  139. package/dist/components/ls-field-properties-image.js +1 -1
  140. package/dist/components/ls-field-properties-multiple.js +1 -1
  141. package/dist/components/ls-field-properties-number.js +1 -1
  142. package/dist/components/ls-field-properties-signature.js +1 -1
  143. package/dist/components/ls-field-properties-text.js +1 -1
  144. package/dist/components/ls-field-properties.js +1 -1
  145. package/dist/components/ls-field-size.js +1 -1
  146. package/dist/components/ls-field-type-display.js +1 -1
  147. package/dist/components/ls-formfield.js +121 -21
  148. package/dist/components/ls-formfield.js.map +1 -1
  149. package/dist/components/ls-helper-bar.js +1 -1
  150. package/dist/components/ls-icon.js +1 -1
  151. package/dist/components/ls-input-wrapper.js +1 -1
  152. package/dist/components/ls-keyboard-shortcuts.js +1 -1
  153. package/dist/components/ls-number-input.js +1 -1
  154. package/dist/components/ls-page-loader.js +1 -1
  155. package/dist/components/ls-participant-card.js +1 -1
  156. package/dist/components/ls-participant-manager.js +1 -1
  157. package/dist/components/ls-participant-select.js +1 -1
  158. package/dist/components/ls-props-section.js +1 -1
  159. package/dist/components/ls-radio-input.js +1 -1
  160. package/dist/components/ls-recipient-card.js +1 -1
  161. package/dist/components/ls-recipient-manager.js +1 -1
  162. package/dist/components/ls-select-input.js +1 -1
  163. package/dist/components/ls-statusbar.js +1 -1
  164. package/dist/components/ls-text-input.js +1 -1
  165. package/dist/components/ls-textarea-input.js +1 -1
  166. package/dist/components/ls-title-input.js +1 -1
  167. package/dist/components/ls-toggle.js +1 -1
  168. package/dist/components/ls-toolbar.js +1 -1
  169. package/dist/components/ls-toolbox-field.js +1 -1
  170. package/dist/components/ls-tooltip.js +1 -1
  171. package/dist/components/ls-validation-manager.js +1 -1
  172. package/dist/components/ls-validation-tag.js +1 -1
  173. package/dist/components/{p-CEARE5Dy.js → p-BCPpSevg.js} +16 -14
  174. package/dist/components/p-BCPpSevg.js.map +1 -0
  175. package/dist/components/{p-CwCWCxsI.js → p-BKrsDBDB.js} +2 -3
  176. package/dist/components/{p-CwCWCxsI.js.map → p-BKrsDBDB.js.map} +1 -1
  177. package/dist/components/p-BQZBAjo_.js +48 -0
  178. package/dist/components/p-BQZBAjo_.js.map +1 -0
  179. package/dist/components/p-BbRzNkJ-.js +363 -0
  180. package/dist/components/p-BbRzNkJ-.js.map +1 -0
  181. package/dist/components/{p-8ubyIwnl.js → p-BcSJFRsU.js} +15 -13
  182. package/dist/components/p-BcSJFRsU.js.map +1 -0
  183. package/dist/components/{p-BnGihP6t.js → p-BhZ5Udbm.js} +64 -43
  184. package/dist/components/p-BhZ5Udbm.js.map +1 -0
  185. package/dist/components/{p-DpEeDtkU.js → p-Bi1Fu2dm.js} +15 -13
  186. package/dist/components/p-Bi1Fu2dm.js.map +1 -0
  187. package/dist/components/{p-DYw5-WDF.js → p-BjENvp2j.js} +15 -13
  188. package/dist/components/p-BjENvp2j.js.map +1 -0
  189. package/dist/components/{p-CpKruuk0.js → p-BucYpLs3.js} +21 -19
  190. package/dist/components/p-BucYpLs3.js.map +1 -0
  191. package/dist/components/p-BxPfWmRj.js +572 -0
  192. package/dist/components/p-BxPfWmRj.js.map +1 -0
  193. package/dist/components/p-C6TaBByt.js +117 -0
  194. package/dist/components/p-C6TaBByt.js.map +1 -0
  195. package/dist/components/p-C9CUft6J.js +106 -0
  196. package/dist/components/p-C9CUft6J.js.map +1 -0
  197. package/dist/components/p-CDGosSW8.js +117 -0
  198. package/dist/components/{p-BdTy5xDV.js.map → p-CDGosSW8.js.map} +1 -1
  199. package/dist/components/p-CDgBo5Zz.js +117 -0
  200. package/dist/components/p-CDgBo5Zz.js.map +1 -0
  201. package/dist/components/{p-DNojPpNK.js → p-CEB07hOR.js} +11 -9
  202. package/dist/components/p-CEB07hOR.js.map +1 -0
  203. package/dist/components/p-CGQK3l8F.js +80 -0
  204. package/dist/components/p-CGQK3l8F.js.map +1 -0
  205. package/dist/components/{p-C3Qs4SL0.js → p-CJSY3-Q3.js} +12 -10
  206. package/dist/components/p-CJSY3-Q3.js.map +1 -0
  207. package/dist/components/p-CPZtW_1V.js +124 -0
  208. package/dist/components/p-CPZtW_1V.js.map +1 -0
  209. package/dist/components/p-C_uR3x8J.js +117 -0
  210. package/dist/components/p-C_uR3x8J.js.map +1 -0
  211. package/dist/components/{p-DuLbniAl.js → p-CazTGpgq.js} +11 -9
  212. package/dist/components/p-CazTGpgq.js.map +1 -0
  213. package/dist/components/p-CgKvhxXq.js +120 -0
  214. package/dist/components/p-CgKvhxXq.js.map +1 -0
  215. package/dist/components/p-Cie27m-1.js +73 -0
  216. package/dist/components/p-Cie27m-1.js.map +1 -0
  217. package/dist/components/p-Co-Giqfy.js +124 -0
  218. package/dist/components/p-Co-Giqfy.js.map +1 -0
  219. package/dist/components/{p-DMtkP3At.js → p-CvKjrahQ.js} +13 -11
  220. package/dist/components/p-CvKjrahQ.js.map +1 -0
  221. package/dist/components/p-Czz58vGf.js +117 -0
  222. package/dist/components/p-Czz58vGf.js.map +1 -0
  223. package/dist/components/{p-C0vy7fEN.js → p-D0cZaxkO.js} +16 -14
  224. package/dist/components/p-D0cZaxkO.js.map +1 -0
  225. package/dist/components/p-D836X_cy.js +317 -0
  226. package/dist/components/p-D836X_cy.js.map +1 -0
  227. package/dist/components/{p-95nSEls8.js → p-D95fiMAP.js} +11 -9
  228. package/dist/components/p-D95fiMAP.js.map +1 -0
  229. package/dist/components/{p-6l08SdGl.js → p-DFVuN2lH.js} +18 -16
  230. package/dist/components/p-DFVuN2lH.js.map +1 -0
  231. package/dist/components/p-DGiUKXDO.js +231 -0
  232. package/dist/components/p-DGiUKXDO.js.map +1 -0
  233. package/dist/components/p-DKaEsQyk.js +47 -0
  234. package/dist/components/p-DKaEsQyk.js.map +1 -0
  235. package/dist/components/p-DMZN9Rei.js +117 -0
  236. package/dist/components/p-DMZN9Rei.js.map +1 -0
  237. package/dist/components/p-DYQekJvr.js +101 -0
  238. package/dist/components/p-DYQekJvr.js.map +1 -0
  239. package/dist/components/p-D_mOmvQA.js +114 -0
  240. package/dist/components/p-D_mOmvQA.js.map +1 -0
  241. package/dist/components/p-DoAxt8ZN.js +67 -0
  242. package/dist/components/p-DoAxt8ZN.js.map +1 -0
  243. package/dist/components/{p-CwVY532N.js → p-DoQc-O0l.js} +13 -11
  244. package/dist/components/p-DoQc-O0l.js.map +1 -0
  245. package/dist/components/p-DpHCeHja.js +100 -0
  246. package/dist/components/p-DpHCeHja.js.map +1 -0
  247. package/dist/components/{p-CB6w78IO.js → p-DsR1ud4V.js} +33 -33
  248. package/dist/components/p-DsR1ud4V.js.map +1 -0
  249. package/dist/components/p-DskHTNiF.js +163 -0
  250. package/dist/components/p-DskHTNiF.js.map +1 -0
  251. package/dist/components/{p-Myru1I0U.js → p-Du60SSaA.js} +14 -12
  252. package/dist/components/p-Du60SSaA.js.map +1 -0
  253. package/dist/components/{p-CB2IouRT.js → p-Dz_jxFKX.js} +12 -10
  254. package/dist/components/p-Dz_jxFKX.js.map +1 -0
  255. package/dist/components/p-HpepQ3-E.js +117 -0
  256. package/dist/components/p-HpepQ3-E.js.map +1 -0
  257. package/dist/components/p-JIZHOmMy.js +76 -0
  258. package/dist/components/p-JIZHOmMy.js.map +1 -0
  259. package/dist/components/p-KMRQyALr.js +101 -0
  260. package/dist/components/p-KMRQyALr.js.map +1 -0
  261. package/dist/components/p-YcP4tU0u.js +168 -0
  262. package/dist/components/p-YcP4tU0u.js.map +1 -0
  263. package/dist/components/p-aA8RuwY_.js +104 -0
  264. package/dist/components/p-aA8RuwY_.js.map +1 -0
  265. package/dist/components/p-aDB_kHQ9.js +290 -0
  266. package/dist/components/p-aDB_kHQ9.js.map +1 -0
  267. package/dist/components/p-hah4tKwY.js +147 -0
  268. package/dist/components/p-hah4tKwY.js.map +1 -0
  269. package/dist/components/p-iIvOyhST.js +75 -0
  270. package/dist/components/p-iIvOyhST.js.map +1 -0
  271. package/dist/components/p-mRzg677Y.js +308 -0
  272. package/dist/components/p-mRzg677Y.js.map +1 -0
  273. package/dist/components/p-w39shV-b.js +117 -0
  274. package/dist/components/{p-B8NAATla.js.map → p-w39shV-b.js.map} +1 -1
  275. package/dist/components/p-w7mOEBr4.js +162 -0
  276. package/dist/components/p-w7mOEBr4.js.map +1 -0
  277. package/dist/esm/{index-o0lmYfXA.js → index-BwdJ-HOC.js} +83 -47
  278. package/dist/esm/index-BwdJ-HOC.js.map +1 -0
  279. package/dist/esm/loader.js +3 -3
  280. package/dist/esm/ls-compose-manager.entry.js +3 -5
  281. package/dist/esm/ls-compose-manager.entry.js.map +1 -1
  282. package/dist/esm/ls-document-options_46.entry.js +35221 -19916
  283. package/dist/esm/ls-document-viewer.js +4 -4
  284. package/dist/esm/ls-document-viewer.js.map +1 -1
  285. package/dist/esm/ls-field-properties-dropdown.entry.js +3 -5
  286. package/dist/esm/ls-field-properties-dropdown.entry.js.map +1 -1
  287. package/dist/esm/ls-formfield.entry.js +101 -5
  288. package/dist/esm/ls-formfield.entry.js.map +1 -1
  289. package/dist/esm/ls-number-input_5.entry.js +938 -13
  290. package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
  291. package/dist/ls-document-viewer/ls-document-viewer.esm.js.map +1 -1
  292. package/dist/ls-document-viewer/p-1442f973.entry.js +2 -0
  293. package/dist/ls-document-viewer/p-1442f973.entry.js.map +1 -0
  294. package/dist/ls-document-viewer/p-20b9c119.entry.js +4922 -0
  295. package/dist/ls-document-viewer/p-20b9c119.entry.js.map +1 -0
  296. package/dist/ls-document-viewer/p-31f8c44a.entry.js +2 -0
  297. package/dist/ls-document-viewer/p-31f8c44a.entry.js.map +1 -0
  298. package/dist/ls-document-viewer/p-BwdJ-HOC.js +3 -0
  299. package/dist/ls-document-viewer/p-BwdJ-HOC.js.map +1 -0
  300. package/dist/ls-document-viewer/p-caa89c6c.entry.js +2 -0
  301. package/dist/ls-document-viewer/p-caa89c6c.entry.js.map +1 -0
  302. package/dist/ls-document-viewer/p-d223d66a.entry.js +2 -0
  303. package/dist/ls-document-viewer/p-d223d66a.entry.js.map +1 -0
  304. package/dist/types/components/ls-document-viewer/ls-document-viewer.d.ts +8 -3
  305. package/dist/types/components/ls-document-viewer/mouseHandlers.d.ts +1 -0
  306. package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +1 -1
  307. package/dist/types/components/ls-field-dimensions/ls-field-dimensions.d.ts +1 -0
  308. package/dist/types/components/ls-field-distribute/ls-field-distribute.d.ts +0 -1
  309. package/dist/types/components/ls-field-footer/ls-field-footer.d.ts +4 -1
  310. package/dist/types/components/ls-field-format/ls-field-format.d.ts +0 -1
  311. package/dist/types/components/ls-field-placement/ls-field-placement.d.ts +0 -1
  312. package/dist/types/components/ls-field-properties-advanced/ls-field-properties-advanced.d.ts +0 -1
  313. package/dist/types/components/ls-field-size/ls-field-size.d.ts +0 -1
  314. package/dist/types/components/ls-participant-card/ls-participant-card.d.ts +0 -1
  315. package/dist/types/components/ls-title-input/ls-title-input.d.ts +0 -1
  316. package/dist/types/components.d.ts +2 -18
  317. package/dist/types/stencil-public-runtime.d.ts +92 -2
  318. package/package.json +1 -1
  319. package/readme.md +9 -9
  320. package/dist/cjs/index-C4ibYtjE.js.map +0 -1
  321. package/dist/cjs/ls-compose-manager.cjs.entry.js.map +0 -1
  322. package/dist/cjs/ls-compose-manager.entry.cjs.js.map +0 -1
  323. package/dist/cjs/ls-document-options_46.cjs.entry.js.map +0 -1
  324. package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js.map +0 -1
  325. package/dist/cjs/ls-field-properties-dropdown.entry.cjs.js.map +0 -1
  326. package/dist/cjs/ls-formfield.cjs.entry.js.map +0 -1
  327. package/dist/cjs/ls-formfield.entry.cjs.js.map +0 -1
  328. package/dist/cjs/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.cjs.js.map +0 -1
  329. package/dist/cjs/ls-number-input_5.cjs.entry.js.map +0 -1
  330. package/dist/components/p-2R-Lmtr0.js +0 -145
  331. package/dist/components/p-2R-Lmtr0.js.map +0 -1
  332. package/dist/components/p-4zazHXkZ.js +0 -108
  333. package/dist/components/p-4zazHXkZ.js.map +0 -1
  334. package/dist/components/p-6l08SdGl.js.map +0 -1
  335. package/dist/components/p-8ubyIwnl.js.map +0 -1
  336. package/dist/components/p-95nSEls8.js.map +0 -1
  337. package/dist/components/p-B28ZaK_Y.js +0 -112
  338. package/dist/components/p-B28ZaK_Y.js.map +0 -1
  339. package/dist/components/p-B8NAATla.js +0 -115
  340. package/dist/components/p-BArB45ep.js +0 -115
  341. package/dist/components/p-BArB45ep.js.map +0 -1
  342. package/dist/components/p-BHTy08Q0.js +0 -83
  343. package/dist/components/p-BHTy08Q0.js.map +0 -1
  344. package/dist/components/p-BSoZFh0I.js +0 -46
  345. package/dist/components/p-BSoZFh0I.js.map +0 -1
  346. package/dist/components/p-BXjDp97T.js +0 -229
  347. package/dist/components/p-BXjDp97T.js.map +0 -1
  348. package/dist/components/p-BdTy5xDV.js +0 -115
  349. package/dist/components/p-BnGihP6t.js.map +0 -1
  350. package/dist/components/p-BzEEnXM3.js +0 -99
  351. package/dist/components/p-BzEEnXM3.js.map +0 -1
  352. package/dist/components/p-C0vy7fEN.js.map +0 -1
  353. package/dist/components/p-C3Qs4SL0.js.map +0 -1
  354. package/dist/components/p-CB2IouRT.js.map +0 -1
  355. package/dist/components/p-CB6w78IO.js.map +0 -1
  356. package/dist/components/p-CEARE5Dy.js.map +0 -1
  357. package/dist/components/p-CMrBTV-g.js +0 -45
  358. package/dist/components/p-CMrBTV-g.js.map +0 -1
  359. package/dist/components/p-COuOscFT.js +0 -68
  360. package/dist/components/p-COuOscFT.js.map +0 -1
  361. package/dist/components/p-CRf3zadK.js +0 -71
  362. package/dist/components/p-CRf3zadK.js.map +0 -1
  363. package/dist/components/p-CYeSt5Fo.js +0 -67
  364. package/dist/components/p-CYeSt5Fo.js.map +0 -1
  365. package/dist/components/p-Ca9OGLvH.js +0 -115
  366. package/dist/components/p-Ca9OGLvH.js.map +0 -1
  367. package/dist/components/p-CcmgTlbG.js +0 -78
  368. package/dist/components/p-CcmgTlbG.js.map +0 -1
  369. package/dist/components/p-Ce_FwQKY.js +0 -125
  370. package/dist/components/p-Ce_FwQKY.js.map +0 -1
  371. package/dist/components/p-CnLhdSVD.js +0 -115
  372. package/dist/components/p-CnLhdSVD.js.map +0 -1
  373. package/dist/components/p-CpKruuk0.js.map +0 -1
  374. package/dist/components/p-CqvHgqQi.js +0 -201
  375. package/dist/components/p-CqvHgqQi.js.map +0 -1
  376. package/dist/components/p-CwVY532N.js.map +0 -1
  377. package/dist/components/p-D0oqtZ7v.js +0 -161
  378. package/dist/components/p-D0oqtZ7v.js.map +0 -1
  379. package/dist/components/p-D5Lt75HV.js +0 -103
  380. package/dist/components/p-D5Lt75HV.js.map +0 -1
  381. package/dist/components/p-DMtkP3At.js.map +0 -1
  382. package/dist/components/p-DNojPpNK.js.map +0 -1
  383. package/dist/components/p-DVcM3j89.js +0 -97
  384. package/dist/components/p-DVcM3j89.js.map +0 -1
  385. package/dist/components/p-DXAEPHmo.js +0 -115
  386. package/dist/components/p-DXAEPHmo.js.map +0 -1
  387. package/dist/components/p-DYw5-WDF.js.map +0 -1
  388. package/dist/components/p-DhQKM6mo.js +0 -115
  389. package/dist/components/p-DhQKM6mo.js.map +0 -1
  390. package/dist/components/p-DjunXuAM.js +0 -115
  391. package/dist/components/p-DjunXuAM.js.map +0 -1
  392. package/dist/components/p-DpEeDtkU.js.map +0 -1
  393. package/dist/components/p-Dp_6qCVD.js +0 -165
  394. package/dist/components/p-Dp_6qCVD.js.map +0 -1
  395. package/dist/components/p-Dt8uznTD.js +0 -118
  396. package/dist/components/p-Dt8uznTD.js.map +0 -1
  397. package/dist/components/p-DtfgidTY.js +0 -123
  398. package/dist/components/p-DtfgidTY.js.map +0 -1
  399. package/dist/components/p-DuLbniAl.js.map +0 -1
  400. package/dist/components/p-Myru1I0U.js.map +0 -1
  401. package/dist/components/p-SymuFFwR.js +0 -171
  402. package/dist/components/p-SymuFFwR.js.map +0 -1
  403. package/dist/components/p-bm-gsw1C.js +0 -77
  404. package/dist/components/p-bm-gsw1C.js.map +0 -1
  405. package/dist/components/p-hgs41zT_.js +0 -103
  406. package/dist/components/p-hgs41zT_.js.map +0 -1
  407. package/dist/components/p-lCZRXn_O.js +0 -88
  408. package/dist/components/p-lCZRXn_O.js.map +0 -1
  409. package/dist/components/p-mtgdqmoW.js +0 -73
  410. package/dist/components/p-mtgdqmoW.js.map +0 -1
  411. package/dist/components/p-zhtYmA1Q.js +0 -80
  412. package/dist/components/p-zhtYmA1Q.js.map +0 -1
  413. package/dist/esm/index-o0lmYfXA.js.map +0 -1
  414. package/dist/esm/ls-document-options_46.entry.js.map +0 -1
  415. package/dist/esm/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.js.map +0 -1
  416. package/dist/esm/ls-number-input_5.entry.js.map +0 -1
  417. package/dist/ls-document-viewer/ls-compose-manager.entry.esm.js.map +0 -1
  418. package/dist/ls-document-viewer/ls-field-properties-dropdown.entry.esm.js.map +0 -1
  419. package/dist/ls-document-viewer/ls-formfield.entry.esm.js.map +0 -1
  420. package/dist/ls-document-viewer/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.esm.js.map +0 -1
  421. package/dist/ls-document-viewer/p-0f4af1a9.entry.js +0 -2
  422. package/dist/ls-document-viewer/p-0f4af1a9.entry.js.map +0 -1
  423. package/dist/ls-document-viewer/p-3ed8b266.entry.js +0 -2
  424. package/dist/ls-document-viewer/p-3ed8b266.entry.js.map +0 -1
  425. package/dist/ls-document-viewer/p-b1237a47.entry.js +0 -2
  426. package/dist/ls-document-viewer/p-b1237a47.entry.js.map +0 -1
  427. package/dist/ls-document-viewer/p-c59111e1.entry.js +0 -4922
  428. package/dist/ls-document-viewer/p-c59111e1.entry.js.map +0 -1
  429. package/dist/ls-document-viewer/p-f8d4e7a2.entry.js +0 -2
  430. package/dist/ls-document-viewer/p-f8d4e7a2.entry.js.map +0 -1
  431. package/dist/ls-document-viewer/p-o0lmYfXA.js +0 -3
  432. package/dist/ls-document-viewer/p-o0lmYfXA.js.map +0 -1
@@ -11,6 +11,12 @@ export class LsFieldDimensions {
11
11
  isMultiple(dt) {
12
12
  return typeof dt.length === 'number';
13
13
  }
14
+ getDataItem() {
15
+ if (this.isSingle(this.dataItem)) {
16
+ return this.dataItem;
17
+ }
18
+ return this.dataItem[0];
19
+ }
14
20
  // Send one or more mutations up the chain
15
21
  // The source of the chain fires the mutation
16
22
  alter(diff) {
@@ -21,20 +27,30 @@ export class LsFieldDimensions {
21
27
  });
22
28
  this.dataItem = diffs.map(d => d.data);
23
29
  this.mutate.emit(diffs);
24
- this.update.emit(diffs);
25
30
  }
26
31
  else {
27
32
  const singleDiff = { action: 'update', data: { ...this.dataItem, ...diff } };
28
33
  this.dataItem = singleDiff.data;
29
34
  this.mutate.emit([singleDiff]);
30
- this.update.emit([singleDiff]);
31
35
  }
32
36
  }
33
37
  componentDidLoad() {
34
38
  attachAllTooltips(this.component.shadowRoot);
35
39
  }
36
40
  render() {
37
- return (h(Host, { key: '703a903db877ebc294ac3e2b957a29e031ef1a89' }, this.isMultiple(this.dataItem) && (h("div", { key: '5003976f90bd1abf305e7fdf49f5bdb2c8ac1175', class: 'ls-field-properties-section' }, h("div", { key: 'c701aeff233fd6909fe092180bf4e178ef836596', class: 'ls-field-properties-section-text' }, h("p", { key: '24bed1a118880004098274aa6fe322e50ba6bcb4', class: 'ls-field-properties-section-title' }, "Height and Width"), h("p", { key: '0004e228fccc0e8862de68b8a20c325c51783755', class: 'ls-field-properties-section-description' }, "Define the height and width of one or multiple fields")), h("div", { key: '54b5c2c34e71c2d89792563bb8a91ce91979425b', class: 'input-row' }, h("div", { key: '4ec93aba8780d313a231c3e373b72070d3cc8538', class: 'input-wrapper', "data-tooltip": "Set field width in pixels" }, h("ls-icon", { key: 'd1dc6e887a70faa598c69f49b79f82bd171c9e7b', id: "selectLeadingIcon", name: "field-match-width" }), h("input", { key: 'f30017f0d1c416c0fb2dc7dd12637da92b25f299', class: 'has-leading-icon', aria: "field-width", id: "field-width", onChange: e => this.alter({ width: e.target.value }) })), h("div", { key: '45c33926a667cd78d421d74f9a352614f8d853cc', class: 'input-wrapper', "data-tooltip": "Set field height in pixels" }, h("ls-icon", { key: 'dc4ad448b52fd19ef42bd9f81edd597fba232914', id: "selectLeadingIcon", name: "field-match-height" }), h("input", { key: 'b257839bf8395a4a7e4c46b4e8bda31f8a688088', class: 'has-leading-icon', aria: "field-height", id: "field-height", onChange: e => this.alter({ height: e.target.value }) }))))), this.isSingle(this.dataItem) && (h("div", { key: '880ee0a38cfa375a4bd8a0d8e6bd8651918be68e', class: 'field-set' }, h("div", { key: '661e3eadf9c75bc174a00fe463efaad733f19c17', class: 'ls-field-properties-section' }, h("div", { key: '69fa81433bf7d90d74b6d99afa6f96b6b4bb3b87', class: 'ls-field-properties-section-text' }, h("p", { key: '43aa0a76668e227c65e4ea36f7e9b5d04f68a46b', class: 'ls-field-properties-section-title' }, "Height and Width"), h("p", { key: 'aae729ee5421bf2b487c98b36adbae66eb9df344', class: 'ls-field-properties-section-description' }, "Define the height and width of one or multiple fields")), h("div", { key: '65da437f5b256a12487ba35bcb9c39376139287b', class: 'input-row' }, h("div", { key: '780b5587d9d066b816540d3e5d494b0100068c07', class: 'input-wrapper', "data-tooltip": "Set field width in pixels" }, h("ls-icon", { key: '94a6fcfd4df9ec9f45bd0aaad7854061eb6362c1', id: "selectLeadingIcon", name: "field-match-width" }), h("input", { key: '245e8b5c172c9e81996518cdb80ccc86461c485a', type: "number", class: 'has-leading-icon', aria: "field-width", id: "field-width", value: this.dataItem?.width, onChange: e => this.alter({ width: e.target.value }) })), h("div", { key: 'cb4e9a06b6eae5992c4a3d5ca69fa23d405c1c1b', class: 'input-wrapper', "data-tooltip": "Set field height in pixels" }, h("ls-icon", { key: '6122800c5cf670479ea0befb9a07454595ac5912', id: "selectLeadingIcon", name: "field-match-height" }), h("input", { key: 'fa15e1f81dc05f2234bac95a25cb609160aa5403', type: "number", class: 'has-leading-icon', aria: "field-height", id: "field-height", value: this.dataItem?.height, onChange: e => this.alter({ height: e.target.value }) })))), h("div", { key: '49a7ffea99dea746084b94414d9b3251de398a9e', class: 'ls-field-properties-section' }, h("div", { key: 'c78c62f08d282a3a529ba8338a42bbb444917783', class: 'ls-field-properties-section-text' }, h("p", { key: 'd18f1fe5a21bdd20a5e892cbe588eb297231b649', class: 'ls-field-properties-section-title' }, "Scale and Resize"), h("p", { key: 'af6e63b9235f1e59ade06038f09db0390893673d', class: 'ls-field-properties-section-description' }, "Multi-select fields and match their dimensions")), h("div", { key: '87123ee7df1fa48be4c2674baa40373f603cf634', class: 'button-group' }, h("button", { key: '5d03b2ad33e65d8fc51a18db6f25d90d907a0b00', disabled: true, "data-tooltip": "Select multiple Fields to to access scale controls" }, h("ls-icon", { key: '400caf2fc05248f2cde1a2175352ffc7a8d7c7b6', name: "field-scale" })), h("button", { key: 'ea84ecc2b43b2ebd1fbd1191ac785c5e8b3692a6', disabled: true, "data-tooltip": "Select multiple Fields to to access match width controls" }, h("ls-icon", { key: 'bf78211f51a4319e441cf956bf58344ecdaa66c6', name: "field-match-width" })), h("button", { key: 'a29160eb0320e88fdfd02f3a8502f82ee59ffd26', disabled: true, "data-tooltip": "Select multiple Fields to to access match height controls" }, h("ls-icon", { key: '8a1001f7d8a2f44d111447e222ba25c8cbe0085c', name: "field-match-height" })))))), h("ls-tooltip", { key: '2ff0d8ba9ce5ef8f6932a5062a88cd243485b71c', id: "ls-tooltip-master" })));
41
+ return (h(Host, { key: 'd003ec4d22c43fdc9ff1b7d5c42847cb5d21fa58' }, this.isMultiple(this.dataItem) && (h("div", { key: 'c97175dfa0099066e8fd997fb7c732916a45dcad', class: 'ls-field-properties-section' }, h("div", { key: 'ff4bbd9b97f2035521472682e323bd6539453138', class: 'ls-field-properties-section-text' }, h("p", { key: 'a6ce84a435637f5844483a6199c3a7d1f0ffe5fa', class: 'ls-field-properties-section-title' }, "Height and Width"), h("p", { key: 'f7b6c29969724037862c0ce90bc4c19b5d8a0b8d', class: 'ls-field-properties-section-description' }, "Define the height and width of one or multiple fields")), h("div", { key: '81cbc0cbe5a8d35cb1313b39fde5c42d268fabdc', class: 'input-row' }, h("div", { key: 'eaa01d8a7992511edd9f4cf45048069e37ab1701', class: 'input-wrapper', "data-tooltip": "Set field width in pixels" }, h("ls-icon", { key: 'd8993e0e168487aa14bebb340961940249961367', id: "selectLeadingIcon", name: "field-match-width" }), h("input", { key: '7b769e44b527c088c4f62bae3259e755da0c7d88', class: 'has-leading-icon', aria: "field-width", id: "field-width", onChange: e => this.alter({ width: e.target.value }) })), h("div", { key: '17e100d57b703c0fbc401006e021df4049f55049', class: 'input-wrapper', "data-tooltip": "Set field height in pixels" }, h("ls-icon", { key: '0cfc394ae203d751300160247e31d6e27ea943f7', id: "selectLeadingIcon", name: "field-match-height" }), h("input", { key: '619218eb16ea31fa460c31cc717edc1d74b94c19', class: 'has-leading-icon', aria: "field-height", id: "field-height", onChange: e => this.alter({ height: e.target.value }) }))))), this.isSingle(this.dataItem) && (h("div", { key: '9b7fd1db9c1ee0cd5e501190dab54c076e4d7bf0', class: 'field-set' }, h("div", { key: 'bdfea8edc67c3ccd17d9a59d6f9a8cf0a06fccba', class: 'ls-field-properties-section' }, h("div", { key: '3aa013fdf3dbdbd3631042a9159ab337054e9062', class: 'ls-field-properties-section-text' }, h("p", { key: '83d1f77ddecc1b06aa1a3e6e320babde8d64fb0f', class: 'ls-field-properties-section-title' }, "Height and Width"), h("p", { key: '702d3ea7ab57828852e701d21fa45d07506a9ddb', class: 'ls-field-properties-section-description' }, "Define the height and width of one or multiple fields")), h("div", { key: '836c4e59244430a6e3f914a912b1fe699a79e1f1', class: 'input-row' }, h("div", { key: 'a893194799297e84bddd5726c5e86d61824532a5', class: 'input-wrapper', "data-tooltip": "Set field width in pixels" }, h("ls-icon", { key: '3dcbee06779a17a700d515973698b7041e7592f9', id: "selectLeadingIcon", name: "field-match-width" }), h("input", { key: 'd7f64794d2880e9f0f444d8a98d5d7bd21c122cb', type: "number", class: 'has-leading-icon', aria: "field-width", id: "field-width", min: 5, max: this.dataItem.pageDimensions.width - this.dataItem.width, value: this.dataItem?.width, onChange: e => {
42
+ const di = this.getDataItem();
43
+ if (parseInt(e.target.value) > di.pageDimensions.width - di.left) {
44
+ return;
45
+ }
46
+ this.alter({ width: e.target.value });
47
+ } })), h("div", { key: '1956af6a1d388ca243b9f2b18d687d067a856513', class: 'input-wrapper', "data-tooltip": "Set field height in pixels" }, h("ls-icon", { key: '9971388d6ac1441ed86730a8448c5b1187a7cbcd', id: "selectLeadingIcon", name: "field-match-height" }), h("input", { key: '9162dadc492c6fc63e26ee85ab218bf7f6a4e0b2', type: "number", class: 'has-leading-icon', aria: "field-height", id: "field-height", value: this.dataItem?.height, onChange: e => {
48
+ const di = this.getDataItem();
49
+ if (parseInt(e.target.value) > di.pageDimensions.height - di.top) {
50
+ return;
51
+ }
52
+ this.alter({ height: e.target.value });
53
+ } })))), h("div", { key: '9e75e3ef36f663c4a2fdddcb3e2c208ddf6e656f', class: 'ls-field-properties-section' }, h("div", { key: 'a8c072b8487a51da788c06357ba3dc9e1303166c', class: 'ls-field-properties-section-text' }, h("p", { key: 'c0dfd34d92f34c4477987a4d2e038dc8110cff31', class: 'ls-field-properties-section-title' }, "Scale and Resize"), h("p", { key: 'ff3b7ed6b10c183adb2a71a4d52c78054ed226f0', class: 'ls-field-properties-section-description' }, "Multi-select fields and match their dimensions")), h("div", { key: 'c165300dbd7e39554d7cbdf0df050b91dd0696c1', class: 'button-group' }, h("button", { key: '37c07a694dc7bf78a944746f6cdcae8a9f0ad310', disabled: true, "data-tooltip": "Select multiple Fields to to access scale controls" }, h("ls-icon", { key: '0c1732003117b1ba1baa92dc940e1975ad44a857', name: "field-scale" })), h("button", { key: 'de2248e7f9ed41276fe394bec2e55a114861ccd8', disabled: true, "data-tooltip": "Select multiple Fields to to access match width controls" }, h("ls-icon", { key: '08748b6107dbd25162dc15c45ff0686bf90e8d13', name: "field-match-width" })), h("button", { key: 'ffabf838749929cdc4795aed33618ecaf00f34f5', disabled: true, "data-tooltip": "Select multiple Fields to to access match height controls" }, h("ls-icon", { key: '595cafe4a70003633c037b8da411d151df287fd6', name: "field-match-height" })))))), h("ls-tooltip", { key: '1729af7c643432890b18d5f68fc7561494100c14', id: "ls-tooltip-master" })));
38
54
  }
39
55
  static get is() { return "ls-field-dimensions"; }
40
56
  static get encapsulation() { return "shadow"; }
@@ -52,7 +68,6 @@ export class LsFieldDimensions {
52
68
  return {
53
69
  "dataItem": {
54
70
  "type": "unknown",
55
- "attribute": "data-item",
56
71
  "mutable": true,
57
72
  "complexType": {
58
73
  "original": "LSApiElement | LSApiElement[]",
@@ -1 +1 @@
1
- {"version":3,"file":"ls-field-dimensions.js","sourceRoot":"","sources":["../../../src/components/ls-field-dimensions/ls-field-dimensions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { Element } from '@stencil/core';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\n@Component({\n tag: 'ls-field-dimensions',\n styleUrl: 'ls-field-dimensions.css',\n shadow: true,\n})\nexport class LsFieldDimensions {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) dataItem: LSApiElement | LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n isSingle(dt: LSApiElement | LSApiElement[]): dt is LSApiElement {\n return (dt as LSApiElement[]).length === undefined;\n }\n\n isMultiple(dt: LSApiElement | LSApiElement[]): dt is LSApiElement[] {\n return typeof (dt as LSApiElement[]).length === 'number';\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n if (this.isMultiple(this.dataItem)) {\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n } else {\n const singleDiff = { action: 'update', data: { ...this.dataItem, ...diff } as LSApiElement } as LSMutateEvent;\n this.dataItem = singleDiff.data as LSApiElement;\n this.mutate.emit([singleDiff]);\n this.update.emit([singleDiff]);\n }\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n {this.isMultiple(this.dataItem) && (\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-width\" id=\"field-width\" onChange={e => this.alter({ width: (e.target as HTMLInputElement).value })} />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-height\" id=\"field-height\" onChange={e => this.alter({ height: (e.target as HTMLInputElement).value })} />\n </div>\n </div>\n\n {/* <div>\n Top: <input value={''} onChange={e => this.alter({ top: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div>\n <div>\n Left: <input value={''} onChange={e => this.alter({ left: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div> */}\n </div>\n )}\n {this.isSingle(this.dataItem) && (\n <div class={'field-set'}>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-width\"\n id=\"field-width\"\n value={this.dataItem?.width}\n onChange={e => this.alter({ width: (e.target as HTMLInputElement).value })}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-height\"\n id=\"field-height\"\n value={this.dataItem?.height}\n onChange={e => this.alter({ height: (e.target as HTMLInputElement).value })}\n />\n </div>\n </div>\n </div>\n\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Scale and Resize</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and match their dimensions</p>\n </div>\n <div class={'button-group'}>\n <button disabled data-tooltip=\"Select multiple Fields to to access scale controls\">\n <ls-icon name=\"field-scale\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match width controls\">\n <ls-icon name=\"field-match-width\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match height controls\">\n <ls-icon name=\"field-match-height\"></ls-icon>\n </button>\n </div>\n </div>\n </div>\n )}\n <ls-tooltip id=\"ls-tooltip-master\" />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ls-field-dimensions.js","sourceRoot":"","sources":["../../../src/components/ls-field-dimensions/ls-field-dimensions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { Element } from '@stencil/core';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\n@Component({\n tag: 'ls-field-dimensions',\n styleUrl: 'ls-field-dimensions.css',\n shadow: true,\n})\nexport class LsFieldDimensions {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) dataItem: LSApiElement | LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n isSingle(dt: LSApiElement | LSApiElement[]): dt is LSApiElement {\n return (dt as LSApiElement[]).length === undefined;\n }\n\n isMultiple(dt: LSApiElement | LSApiElement[]): dt is LSApiElement[] {\n return typeof (dt as LSApiElement[]).length === 'number';\n }\n\n getDataItem(): LSApiElement {\n if (this.isSingle(this.dataItem)) {\n return this.dataItem;\n }\n return this.dataItem[0];\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n if (this.isMultiple(this.dataItem)) {\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n } else {\n const singleDiff = { action: 'update', data: { ...this.dataItem, ...diff } as LSApiElement } as LSMutateEvent;\n this.dataItem = singleDiff.data as LSApiElement;\n this.mutate.emit([singleDiff]);\n }\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n {this.isMultiple(this.dataItem) && (\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-width\" id=\"field-width\" onChange={e => this.alter({ width: (e.target as HTMLInputElement).value })} />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-height\" id=\"field-height\" onChange={e => this.alter({ height: (e.target as HTMLInputElement).value })} />\n </div>\n </div>\n\n {/* <div>\n Top: <input value={''} onChange={e => this.alter({ top: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div>\n <div>\n Left: <input value={''} onChange={e => this.alter({ left: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div> */}\n </div>\n )}\n {this.isSingle(this.dataItem) && (\n <div class={'field-set'}>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-width\"\n id=\"field-width\"\n min={5}\n max={this.dataItem.pageDimensions.width - this.dataItem.width}\n value={this.dataItem?.width}\n onChange={e => {\n const di = this.getDataItem();\n if (parseInt((e.target as HTMLInputElement).value) > di.pageDimensions.width - di.left) {\n return;\n }\n this.alter({ width: (e.target as HTMLInputElement).value })\n }}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-height\"\n id=\"field-height\"\n value={this.dataItem?.height}\n onChange={e => {\n const di = this.getDataItem();\n if (parseInt((e.target as HTMLInputElement).value) > di.pageDimensions.height - di.top) {\n return;\n }\n\n this.alter({ height: (e.target as HTMLInputElement).value })\n }}\n />\n </div>\n </div>\n </div>\n\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Scale and Resize</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and match their dimensions</p>\n </div>\n <div class={'button-group'}>\n <button disabled data-tooltip=\"Select multiple Fields to to access scale controls\">\n <ls-icon name=\"field-scale\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match width controls\">\n <ls-icon name=\"field-match-width\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match height controls\">\n <ls-icon name=\"field-match-height\"></ls-icon>\n </button>\n </div>\n </div>\n </div>\n )}\n <ls-tooltip id=\"ls-tooltip-master\" />\n </Host>\n );\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { oob } from "../ls-document-viewer/editorUtils";
3
3
  import { attachAllTooltips } from "../../utils/tooltip";
4
+ import { outOfBounds } from "../ls-document-viewer/mouseHandlers";
4
5
  export class LsFieldDistribute {
5
6
  dataItem;
6
7
  mutate;
7
- update;
8
8
  component;
9
9
  // Send one or more mutations up the chain
10
10
  // The source of the chain fires the mutation
@@ -15,39 +15,41 @@ export class LsFieldDistribute {
15
15
  });
16
16
  this.dataItem = diffs.map(d => d.data);
17
17
  this.mutate.emit(diffs);
18
- this.update.emit(diffs);
19
18
  }
20
19
  distributeHorizontal() {
21
20
  var spacing = this.component.shadowRoot.getElementById('ls-fix-horizontal-space');
22
- var avgspace = 0;
23
21
  const sorted = this.dataItem.sort((a, b) => a.left - b.left);
22
+ if (sorted.length < 3)
23
+ return;
24
+ var avgspace = 0;
25
+ const leftmost = sorted[0].left + sorted[0].width / 2;
26
+ const rightmost = sorted.reduce((acc, cur) => {
27
+ return cur.left + (cur.width / 2) > acc ? cur.left + (cur.width / 2) : acc;
28
+ }, leftmost);
29
+ // find total width between centre first and centre last
30
+ const totalWidth = rightmost - leftmost;
24
31
  if (spacing.value !== '') {
25
32
  avgspace = parseInt(spacing.value);
26
33
  }
27
34
  else {
28
- var space = 0;
29
- for (var i = 1; i < sorted.length; i++) {
30
- const c1 = sorted[i - 1];
31
- const c2 = sorted[i];
32
- space = space + (c2.left - c1.left - c1.width <= 0 ? 0 : c2.left - c1.left - c1.width);
33
- }
34
- avgspace = Math.floor(space / sorted.length);
35
+ avgspace = Math.floor(totalWidth / (sorted.length - 1));
35
36
  }
36
- var nextleft = sorted[0].left;
37
- const diffs = sorted.map(c => {
38
- const newLeft = nextleft;
39
- nextleft = nextleft + c.width + avgspace;
37
+ const filtered = sorted.filter((c, index) => {
38
+ return outOfBounds({ ...c, left: (Math.floor(leftmost - (c.width / 2) + avgspace * index)) }) === false
39
+ && index !== 0
40
+ && index !== sorted.length - 1;
41
+ });
42
+ const diffs = filtered.map((c, index) => {
40
43
  return {
41
44
  action: 'update',
42
45
  data: {
43
46
  ...c,
44
- left: newLeft,
47
+ left: Math.floor(leftmost - (c.width / 2) + (avgspace * (index + 1))),
45
48
  },
46
49
  };
47
50
  });
48
51
  this.dataItem = diffs.map(d => d.data);
49
52
  this.mutate.emit(diffs);
50
- this.update.emit(diffs);
51
53
  }
52
54
  gapVertical(spacing) {
53
55
  const sorted = this.dataItem.sort((a, b) => a.top - b.top);
@@ -71,7 +73,6 @@ export class LsFieldDistribute {
71
73
  });
72
74
  this.dataItem = diffs.map(d => d.data);
73
75
  this.mutate.emit(diffs);
74
- this.update.emit(diffs);
75
76
  }
76
77
  gapHorizontal(spacing) {
77
78
  const sorted = this.dataItem.sort((a, b) => a.top - b.top);
@@ -96,58 +97,53 @@ export class LsFieldDistribute {
96
97
  });
97
98
  this.dataItem = diffs.map(d => d.data);
98
99
  this.mutate.emit(diffs);
99
- this.update.emit(diffs);
100
100
  }
101
101
  distributeVertical() {
102
102
  var spacing = this.component.shadowRoot.getElementById('ls-fix-vertical-space');
103
103
  var avgspace = 0;
104
104
  const sorted = this.dataItem.sort((a, b) => a.top - b.top);
105
- if (spacing.value !== '')
105
+ const topmost = sorted[0].top + sorted[0].height / 2;
106
+ const bottommost = sorted.reduce((acc, cur) => {
107
+ return cur.top + (cur.height / 2) > acc ? cur.top + (cur.height / 2) : acc;
108
+ }, topmost);
109
+ // find total width between centre first and centre last
110
+ const totalHeight = bottommost - topmost;
111
+ if (spacing.value !== '') {
106
112
  avgspace = parseInt(spacing.value);
113
+ }
107
114
  else {
108
- var space = 0;
109
- for (var i = 1; i < sorted.length; i++) {
110
- const c1 = sorted[i - 1];
111
- const c2 = sorted[i];
112
- space = space + (c2.top - c1.top - c1.height <= 0 ? 0 : c2.top - c1.top - c1.height);
113
- }
114
- avgspace = Math.floor(space / sorted.length);
115
+ avgspace = Math.floor(totalHeight / (sorted.length - 1));
115
116
  }
116
- var buffer = sorted[0].top;
117
- const diffs = sorted.map(c => {
118
- const newTop = buffer;
119
- buffer = buffer + c.height + avgspace;
120
- const target = {
121
- ...c,
122
- top: newTop,
123
- };
117
+ const filtered = sorted.filter((c, index) => {
118
+ return outOfBounds({ ...c, left: Math.floor(topmost - (c.height / 2) + avgspace * index) }) === false
119
+ && index !== 0
120
+ && index !== sorted.length - 1;
121
+ });
122
+ const diffs = filtered.map((c, index) => {
124
123
  return {
125
124
  action: 'update',
126
- data: oob(target)
127
- ? {
128
- ...c,
129
- top: c.pageDimensions.height - c.height,
130
- }
131
- : target,
125
+ data: {
126
+ ...c,
127
+ top: Math.floor(topmost - (c.height / 2) + (avgspace * (index + 1))),
128
+ },
132
129
  };
133
130
  });
134
131
  this.dataItem = diffs.map(d => d.data);
135
132
  this.mutate.emit(diffs);
136
- this.update.emit(diffs);
137
133
  }
138
134
  componentDidLoad() {
139
135
  attachAllTooltips(this.component.shadowRoot);
140
136
  }
141
137
  render() {
142
- return (h(Host, { key: 'e609fa9e40889179615dd0994c6b60633a650e08' }, h("div", { key: '9bd095b900e305b7622f0973fdbfce980343970b', class: 'ls-field-properties-section' }, h("div", { key: '216b665c83f42a879b8dd2d0533080811e7feee2', class: 'ls-field-properties-section-text' }, h("p", { key: 'bf614585ce212feea625cfe2afe271e3dfb3dd61', class: 'ls-field-properties-section-title' }, "Distribution"), h("p", { key: 'a96e61b2016feb32ee68720bdd4da5e2b6b44c94', class: 'ls-field-properties-section-description' }, "Multi-select fields and evenly space them out")), h("div", { key: 'b717e2acebf9794fdf294bbaab1d47bff20523ee', class: 'button-group' }, h("button", { key: 'c51308c1daf5793770cead8f2f9997406b3d5a43', onClick: () => {
138
+ return (h(Host, { key: '9183c6d98eba74df69f024a583940a25c0f7547c' }, h("div", { key: 'efe9718b9b662956d0cf829d687df3d558cdad31', class: 'ls-field-properties-section' }, h("div", { key: '24e5a2d203432ee0b0894a517870a19e6081b9dc', class: 'ls-field-properties-section-text' }, h("p", { key: 'ced15352bbbdd00133d20de812fede32e1c281d6', class: 'ls-field-properties-section-title' }, "Distribution"), h("p", { key: 'a08ae1961bfbc738b1359b7c938ff80ece5ef4fe', class: 'ls-field-properties-section-description' }, "Multi-select fields and evenly space them out")), h("div", { key: 'a720baf91f2917458c47a0c8a2cc91bda6d9d92d', class: 'button-group' }, h("button", { key: 'e2303f2c8324e126ae5d8c5e3db65c6c04498ccc', onClick: () => {
143
139
  this.distributeVertical();
144
- }, "aria-label": "Distribute selected fields vertically.", "data-tooltip": "Distribute selected fields vertically" }, h("ls-icon", { key: '0a6852f37bdacd568ff4b9595d55fa8ce6a0f820', name: "field-distribute-vertically" })), h("button", { key: '2587d0c9e87765c4aef7a1d94f4003729eac7d9c', onClick: () => {
140
+ }, "aria-label": "Distribute selected fields vertically.", "data-tooltip": "Distribute selected fields vertically" }, h("ls-icon", { key: 'b3def31389be531f8d93b7a4aba31da1972573e1', name: "field-distribute-vertically" })), h("button", { key: 'fcfd3704ac035ee406b1b5579e9b6dfbf8f7eec0', onClick: () => {
145
141
  this.distributeHorizontal();
146
- }, "aria-label": "Distribute selected fields horizontally.", "data-tooltip": "Distribute selected fields horizontally" }, h("ls-icon", { key: '97fdb980861622cdde04e34b632c69e7b6d701d1', name: "field-distribute-horizontally" })))), h("div", { key: '9242167e2f2770f72d931aa9bd1befdba1154d0a', class: 'ls-field-properties-section' }, h("div", { key: 'c19451338fdbc1691f8999462bcb68494d282f0b', class: 'ls-field-properties-section-text' }, h("p", { key: 'c3c492e747cb79ce80abc29edca0b2d9f6416870', class: 'ls-field-properties-section-title' }, "Gap"), h("p", { key: '4c36b3a346d322d52713b2bd576cd653f5eb535a', class: 'ls-field-properties-section-description' }, "Define the exact gap between multi-select fields.")), h("div", { key: '8c161810aaf366e8e34080a8214d0851edf4e042', class: 'input-row' }, h("div", { key: '199f11fa50657c258b62e285f59a861381f0140c', class: 'input-wrapper', "data-tooltip": "Set vertical gap between selected fields" }, h("ls-icon", { key: '684ff4ae3e551819f1e0fbbd38dcff5c4ada7bf9', id: "selectLeadingIcon", name: "field-distribute-vertically" }), h("input", { key: 'a8e007de6b1d39aab12ed5d00e3547914b276e6e', type: "number", class: 'has-leading-icon', id: "ls-fix-vertical-space", onChange: e => {
142
+ }, "aria-label": "Distribute selected fields horizontally.", "data-tooltip": "Distribute selected fields horizontally" }, h("ls-icon", { key: 'a8fe7f099ef6002e6459d6e0e85c3abb301f4d58', name: "field-distribute-horizontally" })))), h("div", { key: '2371a9653b583f97ad1df8a45a4145291b20ac21', class: 'ls-field-properties-section' }, h("div", { key: 'a6b4714f995ba5017e0cfb894a40c828676a764d', class: 'ls-field-properties-section-text' }, h("p", { key: 'efa830b42e36555694cd413c7faf85e9c81e4ff2', class: 'ls-field-properties-section-title' }, "Gap"), h("p", { key: 'dfd54671699a6b8840b867a9a9635639a9b801aa', class: 'ls-field-properties-section-description' }, "Define the exact gap between multi-select fields.")), h("div", { key: '7a970651367e27007aaa57af06a1918efbc06889', class: 'input-row' }, h("div", { key: '4494e7585a4f4a41cccd5db632f917946e53a5f7', class: 'input-wrapper', "data-tooltip": "Set vertical gap between selected fields" }, h("ls-icon", { key: 'c4cf75483efe34297a283693413ea91a70dc3965', id: "selectLeadingIcon", name: "field-distribute-vertically" }), h("input", { key: '0480f8f9b0227599fc31658e8799ee999712d37f', type: "number", class: 'has-leading-icon', id: "ls-fix-vertical-space", onChange: e => {
147
143
  this.gapVertical(parseInt(e.target.value));
148
- }, value: '', size: 4, min: 0, max: 9999 })), h("div", { key: '4c1a5f93be77a515548a7b188754fa8d7fce6c7b', class: 'input-wrapper', "data-tooltip": "Set horizontal gap between selected fields" }, h("ls-icon", { key: 'd5f9b3f19a80310ded792b9298e556dfc126d526', id: "selectLeadingIcon", name: "field-distribute-horizontally" }), h("input", { key: 'd38b4475ef2252ee154afdbffdb7cfdc21b98bd5', type: "number", class: 'has-leading-icon', id: "ls-fix-horizontal-space", onChange: e => {
144
+ }, value: '', size: 4, min: 0, max: 9999 })), h("div", { key: 'c793ffb33e2892914bb546b8643628dce38f209a', class: 'input-wrapper', "data-tooltip": "Set horizontal gap between selected fields" }, h("ls-icon", { key: '726eda22cf535a5d760df8d5c2443e2a8d20c7f7', id: "selectLeadingIcon", name: "field-distribute-horizontally" }), h("input", { key: 'd064bf24692fb0a6cdb4de546f9166115565b5d5', type: "number", class: 'has-leading-icon', id: "ls-fix-horizontal-space", onChange: e => {
149
145
  this.gapHorizontal(parseInt(e.target.value));
150
- }, value: '', size: 4, min: 0, max: 9999 })))), h("ls-tooltip", { key: '517251c8fe81db16a4b65aa9129e6f7b9715e6e6', id: "ls-tooltip-master" }), h("slot", { key: '377fb518aba986f087af436e64fb4c9eb76cb4fe' })));
146
+ }, value: '', size: 4, min: 0, max: 9999 })))), h("ls-tooltip", { key: 'c699c7d28bc03981a8fdcd9960ce2b81bc7ed2f7', id: "ls-tooltip-master" }), h("slot", { key: 'e2bdf922af96349adfc40efba97dccb434a850eb' })));
151
147
  }
152
148
  static get is() { return "ls-field-distribute"; }
153
149
  static get encapsulation() { return "shadow"; }
@@ -165,7 +161,6 @@ export class LsFieldDistribute {
165
161
  return {
166
162
  "dataItem": {
167
163
  "type": "unknown",
168
- "attribute": "data-item",
169
164
  "mutable": true,
170
165
  "complexType": {
171
166
  "original": "LSApiElement[]",
@@ -211,27 +206,6 @@ export class LsFieldDistribute {
211
206
  }
212
207
  }
213
208
  }
214
- }, {
215
- "method": "update",
216
- "name": "update",
217
- "bubbles": true,
218
- "cancelable": true,
219
- "composed": true,
220
- "docs": {
221
- "tags": [],
222
- "text": ""
223
- },
224
- "complexType": {
225
- "original": "LSMutateEvent[]",
226
- "resolved": "LSMutateEvent[]",
227
- "references": {
228
- "LSMutateEvent": {
229
- "location": "import",
230
- "path": "../../components",
231
- "id": "src/components.d.ts::LSMutateEvent"
232
- }
233
- }
234
- }
235
209
  }];
236
210
  }
237
211
  static get elementRef() { return "component"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ls-field-distribute.js","sourceRoot":"","sources":["../../../src/components/ls-field-distribute/ls-field-distribute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,OAAO,EAAE,MAAM,eAAe,CAAC;AAEvF,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,OAAO,iBAAiB;IAI5B,QAAQ,CAAiB;IAOzB,MAAM,CAAgC;IAOtC,MAAM,CAAgC;IAC3B,SAAS,CAAc;IAElC,0CAA0C;IAC1C,6CAA6C;IAC7C,KAAK,CAAC,IAAY;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,MAAM,KAAK,GAAoB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,EAAkB,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,oBAAoB;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAqB,CAAC;QACtG,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACzF,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9B,MAAM,KAAK,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC;YACzB,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;YAEzC,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE;oBACJ,GAAG,CAAC;oBACJ,IAAI,EAAE,OAAO;iBACE;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE3B,MAAM,KAAK,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;YACrC,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC;gBACJ,GAAG,EAAE,MAAM;aACI,CAAC;YAElB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;oBACf,CAAC,CAAE;wBACC,GAAG,CAAC;wBACJ,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;qBAC5B;oBACpB,CAAC,CAAC,MAAM;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5B,MAAM,KAAK,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;YACpC,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC;gBACJ,IAAI,EAAE,OAAO;aACE,CAAC;YAElB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAEjC,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;oBACf,CAAC,CAAE;wBACC,GAAG,CAAC;wBACJ,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;qBAC1B;oBACpB,CAAC,CAAC,MAAM;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,kBAAkB;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,uBAAuB,CAAqB,CAAC;QACpG,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;YAAE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACxD,CAAC;YACJ,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YACvF,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE3B,MAAM,KAAK,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtC,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC;gBACJ,GAAG,EAAE,MAAM;aACI,CAAC;YAElB,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;oBACf,CAAC,CAAE;wBACC,GAAG,CAAC;wBACJ,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;qBACvB;oBACpB,CAAC,CAAC,MAAM;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,6BAA6B;gBACvC,4DAAK,KAAK,EAAE,kCAAkC;oBAC5C,0DAAG,KAAK,EAAE,mCAAmC,mBAAkB;oBAC/D,0DAAG,KAAK,EAAE,yCAAyC,oDAAmD,CAClG;gBACN,4DAAK,KAAK,EAAE,cAAc;oBACxB,+DACE,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5B,CAAC,gBACU,wCAAwC,kBACtC,uCAAuC;wBAEpD,gEAAS,IAAI,EAAC,6BAA6B,GAAW,CAC/C;oBACT,+DACE,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC9B,CAAC,gBACU,0CAA0C,kBACxC,yCAAyC;wBAEtD,gEAAS,IAAI,EAAC,+BAA+B,GAAW,CACjD,CACL,CACF;YACN,4DAAK,KAAK,EAAE,6BAA6B;gBACvC,4DAAK,KAAK,EAAE,kCAAkC;oBAC5C,0DAAG,KAAK,EAAE,mCAAmC,UAAS;oBACtD,0DAAG,KAAK,EAAE,yCAAyC,wDAAuD,CACtG;gBACN,4DAAK,KAAK,EAAE,WAAW;oBACrB,4DAAK,KAAK,EAAE,eAAe,kBAAe,0CAA0C;wBAClF,gEAAS,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,6BAA6B,GAAW;wBAC7E,8DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,kBAAkB,EACzB,EAAE,EAAC,uBAAuB,EAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE;gCACZ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;4BACnE,CAAC,EACD,KAAK,EAAE,EAAE,EACT,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,IAAI,GACT,CACE;oBACN,4DAAK,KAAK,EAAE,eAAe,kBAAe,4CAA4C;wBACpF,gEAAS,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,+BAA+B,GAAW;wBAC/E,8DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,kBAAkB,EACzB,EAAE,EAAC,yBAAyB,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE;gCACZ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;4BACrE,CAAC,EACD,KAAK,EAAE,EAAE,EACT,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,IAAI,GACT,CACE,CACF,CACF;YACN,mEAAY,EAAE,EAAC,mBAAmB,GAAG;YACrC,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { oob } from '../ls-document-viewer/editorUtils';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\n@Component({\n tag: 'ls-field-distribute',\n styleUrl: 'ls-field-distribute.css',\n shadow: true,\n})\nexport class LsFieldDistribute {\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n @Element() component: HTMLElement;\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n distributeHorizontal() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-horizontal-space') as HTMLInputElement;\n var avgspace = 0;\n const sorted = this.dataItem.sort((a, b) => a.left - b.left);\n\n if (spacing.value !== '') {\n avgspace = parseInt(spacing.value);\n } else {\n var space = 0;\n for (var i = 1; i < sorted.length; i++) {\n const c1 = sorted[i - 1];\n const c2 = sorted[i];\n space = space + (c2.left - c1.left - c1.width <= 0 ? 0 : c2.left - c1.left - c1.width);\n }\n avgspace = Math.floor(space / sorted.length);\n }\n\n var nextleft = sorted[0].left;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newLeft = nextleft;\n nextleft = nextleft + c.width + avgspace;\n\n return {\n action: 'update',\n data: {\n ...c,\n left: newLeft,\n } as LSApiElement,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n gapVertical(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].top;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newTop = buffer;\n buffer = buffer + c.height + spacing;\n const target = {\n ...c,\n top: newTop,\n } as LSApiElement;\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.height - c.height - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n gapHorizontal(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].left;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newLeft = buffer;\n buffer = buffer + c.width + spacing;\n const target = {\n ...c,\n left: newLeft,\n } as LSApiElement;\n\n console.log(target, oob(target));\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.width - c.width - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n distributeVertical() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-vertical-space') as HTMLInputElement;\n var avgspace = 0;\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n if (spacing.value !== '') avgspace = parseInt(spacing.value);\n else {\n var space = 0;\n for (var i = 1; i < sorted.length; i++) {\n const c1 = sorted[i - 1];\n const c2 = sorted[i];\n space = space + (c2.top - c1.top - c1.height <= 0 ? 0 : c2.top - c1.top - c1.height);\n }\n avgspace = Math.floor(space / sorted.length);\n }\n\n var buffer = sorted[0].top;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newTop = buffer;\n buffer = buffer + c.height + avgspace;\n const target = {\n ...c,\n top: newTop,\n } as LSApiElement;\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n top: c.pageDimensions.height - c.height,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Distribution</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and evenly space them out</p>\n </div>\n <div class={'button-group'}>\n <button\n onClick={() => {\n this.distributeVertical();\n }}\n aria-label=\"Distribute selected fields vertically.\"\n data-tooltip=\"Distribute selected fields vertically\"\n >\n <ls-icon name=\"field-distribute-vertically\"></ls-icon>\n </button>\n <button\n onClick={() => {\n this.distributeHorizontal();\n }}\n aria-label=\"Distribute selected fields horizontally.\"\n data-tooltip=\"Distribute selected fields horizontally\"\n >\n <ls-icon name=\"field-distribute-horizontally\"></ls-icon>\n </button>\n </div>\n </div>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Gap</p>\n <p class={'ls-field-properties-section-description'}>Define the exact gap between multi-select fields.</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set vertical gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-vertically\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-vertical-space\"\n onChange={e => {\n this.gapVertical(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set horizontal gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-horizontally\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-horizontal-space\"\n onChange={e => {\n this.gapHorizontal(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n </div>\n </div>\n <ls-tooltip id=\"ls-tooltip-master\" />\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ls-field-distribute.js","sourceRoot":"","sources":["../../../src/components/ls-field-distribute/ls-field-distribute.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { oob } from '../ls-document-viewer/editorUtils';\nimport { attachAllTooltips } from '../../utils/tooltip';\nimport { outOfBounds } from '../ls-document-viewer/mouseHandlers';\n\n@Component({\n tag: 'ls-field-distribute',\n styleUrl: 'ls-field-distribute.css',\n shadow: true,\n})\nexport class LsFieldDistribute {\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Element() component: HTMLElement;\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n distributeHorizontal() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-horizontal-space') as HTMLInputElement;\n const sorted = this.dataItem.sort((a, b) => a.left - b.left);\n if (sorted.length < 3) return;\n\n\n var avgspace = 0;\n const leftmost = sorted[0].left + sorted[0].width / 2;\n const rightmost = sorted.reduce((acc, cur) => {\n return cur.left + (cur.width / 2) > acc ? cur.left + (cur.width / 2) : acc;\n }, leftmost);\n // find total width between centre first and centre last\n const totalWidth: number = rightmost - leftmost;\n\n if (spacing.value !== '') {\n avgspace = parseInt(spacing.value);\n } else {\n avgspace = Math.floor(totalWidth / (sorted.length - 1));\n }\n\n const filtered = sorted.filter((c, index) => {\n return outOfBounds({ ...c, left: (Math.floor(leftmost - (c.width / 2) + avgspace * index)) }) === false\n && index !== 0\n && index !== sorted.length - 1\n });\n\n const diffs: LSMutateEvent[] = filtered.map((c, index) => {\n\n return {\n action: 'update',\n data: {\n ...c,\n left: Math.floor(leftmost - (c.width / 2) + (avgspace * (index + 1))),\n } as LSApiElement,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n gapVertical(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].top;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newTop = buffer;\n buffer = buffer + c.height + spacing;\n const target = {\n ...c,\n top: newTop,\n } as LSApiElement;\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.height - c.height - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n gapHorizontal(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].left;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newLeft = buffer;\n buffer = buffer + c.width + spacing;\n const target = {\n ...c,\n left: newLeft,\n } as LSApiElement;\n\n console.log(target, oob(target));\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.width - c.width - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n distributeVertical() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-vertical-space') as HTMLInputElement;\n var avgspace = 0;\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n const topmost = sorted[0].top + sorted[0].height / 2;\n const bottommost = sorted.reduce((acc, cur) => {\n return cur.top + (cur.height / 2) > acc ? cur.top + (cur.height / 2) : acc;\n }, topmost);\n // find total width between centre first and centre last\n const totalHeight: number = bottommost - topmost;\n\n if (spacing.value !== '') {\n avgspace = parseInt(spacing.value);\n } else {\n avgspace = Math.floor(totalHeight / (sorted.length - 1));\n }\n\n const filtered = sorted.filter((c, index) => {\n return outOfBounds({ ...c, left: Math.floor(topmost - (c.height / 2) + avgspace * index) }) === false\n && index !== 0\n && index !== sorted.length - 1\n });\n\n const diffs: LSMutateEvent[] = filtered.map((c, index) => {\n\n return {\n action: 'update',\n data: {\n ...c,\n top: Math.floor(topmost - (c.height / 2) + (avgspace * (index + 1))),\n } as LSApiElement,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Distribution</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and evenly space them out</p>\n </div>\n <div class={'button-group'}>\n <button\n onClick={() => {\n this.distributeVertical();\n }}\n aria-label=\"Distribute selected fields vertically.\"\n data-tooltip=\"Distribute selected fields vertically\"\n >\n <ls-icon name=\"field-distribute-vertically\"></ls-icon>\n </button>\n <button\n onClick={() => {\n this.distributeHorizontal();\n }}\n aria-label=\"Distribute selected fields horizontally.\"\n data-tooltip=\"Distribute selected fields horizontally\"\n >\n <ls-icon name=\"field-distribute-horizontally\"></ls-icon>\n </button>\n </div>\n </div>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Gap</p>\n <p class={'ls-field-properties-section-description'}>Define the exact gap between multi-select fields.</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set vertical gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-vertically\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-vertical-space\"\n onChange={e => {\n this.gapVertical(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set horizontal gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-horizontally\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-horizontal-space\"\n onChange={e => {\n this.gapHorizontal(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n </div>\n </div>\n <ls-tooltip id=\"ls-tooltip-master\" />\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -8,22 +8,33 @@ export class LsFieldFooter {
8
8
  mutate;
9
9
  update;
10
10
  selectFields;
11
+ isSingle(dt) {
12
+ return dt.length === undefined;
13
+ }
14
+ isMultiple(dt) {
15
+ return typeof dt.length === 'number';
16
+ }
17
+ getItems() {
18
+ if (this.isSingle(this.dataItem)) {
19
+ return [this.dataItem];
20
+ }
21
+ return this.dataItem;
22
+ }
11
23
  deleteField = () => {
12
- this.update.emit([{ action: 'delete', data: this.dataItem }]);
13
- this.mutate.emit([{ action: 'delete', data: this.dataItem }]);
24
+ this.mutate.emit(this.getItems().map(di => { return { action: 'delete', data: di }; }));
14
25
  };
15
26
  duplicateField = () => {
16
- const newItem = { ...this.dataItem, id: btoa('ele' + crypto.randomUUID()) };
17
- const newTop = this.dataItem.top + this.dataItem.height;
18
- if (newTop + this.dataItem.height < this.dataItem.pageDimensions.height) {
19
- newItem.top = newTop;
20
- }
21
- this.update.emit([{ action: 'create', data: newItem, select: 'clear' }]);
22
- this.mutate.emit([{ action: 'create', data: newItem }]);
23
- // this.selectFields.emit([newItem]);
27
+ this.getItems().forEach(current => {
28
+ const newItem = { ...current, id: btoa('ele' + crypto.randomUUID()) };
29
+ const newTop = current.top + current.height;
30
+ if (newTop + current.height < current.pageDimensions.height) {
31
+ newItem.top = newTop;
32
+ }
33
+ this.mutate.emit([{ action: 'create', data: newItem, select: 'clear' }]);
34
+ });
24
35
  };
25
36
  render() {
26
- return (h(Host, { key: 'ad5bcbff8ba0e0e8c485029195401793a3d44947' }, h("div", { key: '5122544f2c7bcd02af2acbff8da7dd466e74d813', class: 'button-footer' }, h("button", { key: '7f82dfccee2e4d673305f5863534b80a1ad4e358', class: 'secondary', onClick: () => this.duplicateField() }, h("ls-icon", { key: 'b30334400042a8fc7881d2a05ced2f397cd61a4e', name: "field-duplicate", size: "1.25rem" }), "Duplicate"), h("button", { key: '43be4c1016e2f7e50ceb40546e92933099be5400', class: 'destructive', onClick: () => this.deleteField() }, h("ls-icon", { key: 'dbbc47115c04eb8f29dcb10a60178d55c256242c', name: "trash", size: "1.25rem", color: 'var(--red-60)' }), "Delete")), h("slot", { key: 'da837305b7587c89e70abbb31563b1a5c161086e' })));
37
+ return (h(Host, { key: 'b304511650fb8ab792ee4112ce4eb6ecabfad7b1' }, h("div", { key: 'ffb272b2be2e33164600f4751d91df4aabe6a37d', class: 'button-footer' }, h("button", { key: '4186e5559318e08134f5d3d3eef95be7dd277583', class: 'secondary', onClick: () => this.duplicateField() }, h("ls-icon", { key: '421a920a74da3f785236ca4051df988bada70e2d', name: "field-duplicate", size: "1.25rem" }), "Duplicate"), h("button", { key: 'd7f34ff31f29b11d3d1801bdf4d88fe23e8d5c9d', class: 'destructive', onClick: () => this.deleteField() }, h("ls-icon", { key: '91abcc24bf4bea621252a5982442d38a7a36644d', name: "trash", size: "1.25rem", color: 'var(--red-60)' }), "Delete")), h("slot", { key: 'df560039d19466975b12468042f2bfd0a3b81b6f' })));
27
38
  }
28
39
  static get is() { return "ls-field-footer"; }
29
40
  static get encapsulation() { return "shadow"; }
@@ -41,11 +52,10 @@ export class LsFieldFooter {
41
52
  return {
42
53
  "dataItem": {
43
54
  "type": "unknown",
44
- "attribute": "data-item",
45
55
  "mutable": true,
46
56
  "complexType": {
47
- "original": "LSApiElement",
48
- "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\" | \"text\" | \"signature\" | \"date\" | \"regex\" | \"file\" | \"autodate\" | \"autosign\" | \"initials\" | \"email\" | \"checkbox\" | \"image\" | \"dropdown\"; roleObject?: LSApiRole; cstyle?: any; divStyle?: any; objectHeight?: string; pageDimensions?: { height: number; width: number; }; templateId?: string; }",
57
+ "original": "LSApiElement | LSApiElement[]",
58
+ "resolved": "LSApiElement[] | { 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\" | \"text\" | \"signature\" | \"date\" | \"regex\" | \"file\" | \"autodate\" | \"autosign\" | \"initials\" | \"email\" | \"checkbox\" | \"image\" | \"dropdown\"; roleObject?: LSApiRole; cstyle?: any; divStyle?: any; objectHeight?: string; pageDimensions?: { height: number; width: number; }; templateId?: string; }",
49
59
  "references": {
50
60
  "LSApiElement": {
51
61
  "location": "import",
@@ -1 +1 @@
1
- {"version":3,"file":"ls-field-footer.js","sourceRoot":"","sources":["../../../src/components/ls-field-footer/ls-field-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAQ9E,MAAM,OAAO,aAAa;IACxB;;;OAGG;IAIH,QAAQ,CAAe;IAMvB,MAAM,CAAgC;IAOtC,MAAM,CAAgC;IAOtC,YAAY,CAA+B;IAE3C,WAAW,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC,CAAA;IAED,cAAc,GAAG,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxD,IAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxD,qCAAqC;IACvC,CAAC,CAAA;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,eAAe;gBACzB,+DAAQ,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC9D,gEAAS,IAAI,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,GAAG;gCAE1C;gBACT,+DAAQ,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC7D,gEAAS,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,eAAe,GAAG;6BAEtD,CACL;YACN,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\n\n@Component({\n tag: 'ls-field-footer',\n styleUrl: 'ls-field-footer.css',\n shadow: true,\n})\nexport class LsFieldFooter {\n /**\n * The selected items information (as JSON).\n * {LSApiElement[]}\n */\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement;\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n selectFields: EventEmitter<LSApiElement[]>;\n\n deleteField = () => {\n this.update.emit([{ action: 'delete', data: this.dataItem }]);\n this.mutate.emit([{ action: 'delete', data: this.dataItem }]);\n }\n\n duplicateField = () => {\n const newItem = { ...this.dataItem, id: btoa('ele' + crypto.randomUUID()) };\n const newTop = this.dataItem.top + this.dataItem.height;\n if(newTop + this.dataItem.height < this.dataItem.pageDimensions.height) {\n newItem.top = newTop;\n }\n this.update.emit([{ action: 'create', data: newItem, select: 'clear' }]);\n this.mutate.emit([{ action: 'create', data: newItem }]);\n // this.selectFields.emit([newItem]);\n }\n\n render() {\n return (\n <Host>\n <div class={'button-footer'}>\n <button class={'secondary'} onClick={() => this.duplicateField()}>\n <ls-icon name=\"field-duplicate\" size=\"1.25rem\" />\n Duplicate\n </button>\n <button class={'destructive'} onClick={() => this.deleteField()}>\n <ls-icon name=\"trash\" size=\"1.25rem\" color='var(--red-60)' />\n Delete\n </button>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ls-field-footer.js","sourceRoot":"","sources":["../../../src/components/ls-field-footer/ls-field-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAQ9E,MAAM,OAAO,aAAa;IACxB;;;OAGG;IAIH,QAAQ,CAAgC;IAMxC,MAAM,CAAgC;IAOtC,MAAM,CAAgC;IAOtC,YAAY,CAA+B;IAE3C,QAAQ,CAAC,EAAiC;QACxC,OAAQ,EAAqB,CAAC,MAAM,KAAK,SAAS,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,EAAiC;QAC1C,OAAO,OAAQ,EAAqB,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC3D,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,WAAW,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAA;IAED,cAAc,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAA;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,eAAe;gBACzB,+DAAQ,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC9D,gEAAS,IAAI,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,GAAG;gCAE1C;gBACT,+DAAQ,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC7D,gEAAS,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,eAAe,GAAG;6BAEtD,CACL;YACN,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\n\n@Component({\n tag: 'ls-field-footer',\n styleUrl: 'ls-field-footer.css',\n shadow: true,\n})\nexport class LsFieldFooter {\n /**\n * The selected items information (as JSON).\n * {LSApiElement[]}\n */\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement | LSApiElement[];\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n selectFields: EventEmitter<LSApiElement[]>;\n\n isSingle(dt: LSApiElement | LSApiElement[]): dt is LSApiElement {\n return (dt as LSApiElement[]).length === undefined;\n }\n\n isMultiple(dt: LSApiElement | LSApiElement[]): dt is LSApiElement[] {\n return typeof (dt as LSApiElement[]).length === 'number';\n }\n\n getItems(): LSApiElement[] {\n if (this.isSingle(this.dataItem)) {\n return [this.dataItem];\n }\n return this.dataItem;\n }\n\n deleteField = () => {\n this.mutate.emit(this.getItems().map(di => { return { action: 'delete', data: di } }));\n }\n\n duplicateField = () => {\n this.getItems().forEach(current => {\n const newItem = { ...current, id: btoa('ele' + crypto.randomUUID()) };\n const newTop = current.top + current.height;\n if (newTop + current.height < current.pageDimensions.height) {\n newItem.top = newTop;\n }\n this.mutate.emit([{ action: 'create', data: newItem, select: 'clear' }]);\n });\n }\n\n render() {\n return (\n <Host>\n <div class={'button-footer'}>\n <button class={'secondary'} onClick={() => this.duplicateField()}>\n <ls-icon name=\"field-duplicate\" size=\"1.25rem\" />\n Duplicate\n </button>\n <button class={'destructive'} onClick={() => this.deleteField()}>\n <ls-icon name=\"trash\" size=\"1.25rem\" color='var(--red-60)' />\n Delete\n </button>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}