@talrace/ngx-noder 0.0.6 → 0.0.8

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 (645) hide show
  1. package/README.md +5 -4
  2. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +61 -0
  3. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +7 -0
  4. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +47 -0
  5. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +32 -0
  6. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +64 -0
  7. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +89 -0
  8. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +22 -0
  9. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +111 -0
  10. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +37 -0
  11. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +49 -0
  12. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +90 -0
  13. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +81 -0
  14. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +28 -0
  15. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +22 -0
  16. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +53 -0
  17. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +18 -0
  18. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +27 -0
  19. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +71 -0
  20. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +94 -0
  21. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +24 -0
  22. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +65 -0
  23. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +84 -0
  24. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +90 -0
  25. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +117 -0
  26. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +8 -0
  27. package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/numbering-templates.const.mjs +6 -6
  28. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +157 -0
  29. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +8 -0
  30. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +11 -0
  31. package/esm2022/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.mjs +1 -1
  32. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +6 -0
  33. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +34 -0
  34. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +26 -0
  35. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +60 -0
  36. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +55 -0
  37. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +54 -0
  38. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +84 -0
  39. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +123 -0
  40. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +9 -0
  41. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +6 -0
  42. package/esm2022/lib/editor/components/edges/edge.component.mjs +99 -0
  43. package/esm2022/lib/editor/components/edges/edges.mjs +108 -0
  44. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +7 -0
  45. package/esm2022/lib/editor/components/editor.component.mjs +112 -0
  46. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +6 -0
  47. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +4 -0
  48. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +2 -0
  49. package/esm2022/lib/editor/components/external-element/external.component.mjs +41 -0
  50. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +9 -0
  51. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +11 -0
  52. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +15 -0
  53. package/esm2022/lib/editor/components/image/components/image.component.mjs +88 -0
  54. package/esm2022/lib/editor/components/image/image-api.service.mjs +36 -0
  55. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +38 -0
  56. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +2 -0
  57. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +19 -0
  58. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +12 -0
  59. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +106 -0
  60. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +2 -0
  61. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +52 -0
  62. package/esm2022/lib/editor/components/image/size.mjs +2 -0
  63. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +59 -0
  64. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +18 -0
  65. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +43 -0
  66. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +2 -0
  67. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +3 -0
  68. package/esm2022/lib/editor/components/shared/custom-content.mjs +2 -0
  69. package/esm2022/lib/editor/components/shared/services/component.service.mjs +64 -0
  70. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +163 -0
  71. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +55 -0
  72. package/esm2022/lib/editor/components/tab/tab.component.mjs +44 -0
  73. package/esm2022/lib/editor/components/tab/tab.helper.mjs +6 -0
  74. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +118 -0
  75. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +97 -0
  76. package/esm2022/lib/editor/components/table/components/table.component.mjs +401 -0
  77. package/esm2022/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.mjs +1 -1
  78. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +8 -0
  79. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +6 -0
  80. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +18 -0
  81. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +9 -0
  82. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +8 -0
  83. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +7 -0
  84. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +74 -0
  85. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +366 -0
  86. package/esm2022/lib/editor/content/constants/display-values.const.mjs +8 -0
  87. package/esm2022/lib/editor/content/constants/document-info.const.mjs +13 -0
  88. package/esm2022/lib/editor/content/constants/editor.const.mjs +62 -0
  89. package/esm2022/lib/editor/content/contents.interface.mjs +2 -0
  90. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +12 -0
  91. package/esm2022/lib/editor/content/display-data/document.mjs +134 -0
  92. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +10 -0
  93. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +11 -0
  94. package/esm2022/lib/editor/content/display-data/indent.model.mjs +9 -0
  95. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +9 -0
  96. package/esm2022/lib/editor/content/display-data/lines.mjs +96 -0
  97. package/esm2022/lib/editor/content/display-data/pages.wrap.mjs +226 -0
  98. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +2 -0
  99. package/esm2022/lib/editor/content/display-data/paragraph.mjs +52 -0
  100. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +34 -0
  101. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +2 -0
  102. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +96 -0
  103. package/esm2022/lib/{+shared/editor → editor/content}/helpers/format.helper.mjs +1 -1
  104. package/esm2022/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.mjs +1 -1
  105. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +9 -0
  106. package/esm2022/lib/editor/content/margin.model.mjs +16 -0
  107. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +9 -0
  108. package/esm2022/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.mjs +1 -1
  109. package/esm2022/lib/editor/core/event-emitting.mjs +56 -0
  110. package/esm2022/lib/editor/display/cell.interface.mjs +2 -0
  111. package/esm2022/lib/editor/display/event.helper.mjs +18 -0
  112. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +101 -0
  113. package/esm2022/lib/editor/display/layers/layer.config.mjs +2 -0
  114. package/esm2022/lib/editor/display/layers/pages.layer.mjs +97 -0
  115. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +7 -0
  116. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +7 -0
  117. package/esm2022/lib/editor/display/layers/selection.layer.mjs +113 -0
  118. package/esm2022/lib/editor/display/layers/text.layer.mjs +203 -0
  119. package/esm2022/lib/editor/display/print/print.helper.mjs +40 -0
  120. package/esm2022/lib/editor/display/print/print.renderer.mjs +67 -0
  121. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +7 -0
  122. package/esm2022/lib/editor/display/render-changes.interface.mjs +2 -0
  123. package/esm2022/lib/editor/display/render-changes.model.mjs +25 -0
  124. package/esm2022/lib/editor/display/renderer.mjs +206 -0
  125. package/esm2022/lib/editor/display/rendering.helper.mjs +187 -0
  126. package/esm2022/lib/editor/display/renderloop.mjs +26 -0
  127. package/esm2022/lib/editor/display/virtual.renderer.mjs +317 -0
  128. package/esm2022/lib/editor/display/visible-range.interface.mjs +2 -0
  129. package/esm2022/lib/editor/editor.module.mjs +67 -0
  130. package/esm2022/lib/editor/execution/distance.model.mjs +10 -0
  131. package/esm2022/lib/editor/execution/edit.session.mjs +1117 -0
  132. package/esm2022/lib/editor/execution/editor.mjs +1346 -0
  133. package/esm2022/lib/editor/execution/helpers/delta.helper.mjs +18 -0
  134. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +42 -0
  135. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +64 -0
  136. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +12 -0
  137. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +41 -0
  138. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +169 -0
  139. package/esm2022/lib/editor/execution/regulator.service.mjs +198 -0
  140. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +19 -0
  141. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +15 -0
  142. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +8 -0
  143. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +3 -0
  144. package/esm2022/lib/editor/execution/targeting/session.model.mjs +10 -0
  145. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +2 -0
  146. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +2 -0
  147. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +88 -0
  148. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +206 -0
  149. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +2 -0
  150. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +7 -0
  151. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +9 -0
  152. package/esm2022/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.mjs +1 -1
  153. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +82 -0
  154. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +7 -0
  155. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +18 -0
  156. package/esm2022/lib/editor/gadgets/scrollbar.mjs +81 -0
  157. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +2 -0
  158. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +2 -0
  159. package/esm2022/lib/editor/gadgets/search/search.mjs +231 -0
  160. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +5 -0
  161. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +20 -0
  162. package/esm2022/lib/editor/interaction/base.handler.mjs +19 -0
  163. package/esm2022/lib/editor/interaction/document.handler.mjs +27 -0
  164. package/esm2022/lib/editor/interaction/editor.service.mjs +325 -0
  165. package/esm2022/lib/editor/interaction/input.handler.mjs +149 -0
  166. package/esm2022/lib/{+shared/enums → editor/interaction}/mode.enum.mjs +1 -1
  167. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +7 -0
  168. package/esm2022/lib/editor/interaction/mouse.handler.mjs +49 -0
  169. package/esm2022/lib/editor/interaction/text-input.mjs +53 -0
  170. package/esm2022/lib/editor/operations/commands.service.mjs +20 -0
  171. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +32 -0
  172. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +7 -0
  173. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +9 -0
  174. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +15 -0
  175. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +55 -0
  176. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +19 -0
  177. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +43 -0
  178. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +28 -0
  179. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +55 -0
  180. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +114 -0
  181. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +16 -0
  182. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +374 -0
  183. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +432 -0
  184. package/esm2022/lib/editor/operations/save-commands.helper.mjs +127 -0
  185. package/esm2022/lib/editor/operations/target-operations.helper.mjs +23 -0
  186. package/esm2022/lib/editor/positioning/alignments.const.mjs +8 -0
  187. package/esm2022/lib/editor/positioning/content.helper.mjs +36 -0
  188. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +13 -0
  189. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +2 -0
  190. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +2 -0
  191. package/esm2022/lib/editor/positioning/line-width.helper.mjs +13 -0
  192. package/esm2022/lib/editor/positioning/position.helper.mjs +194 -0
  193. package/esm2022/lib/editor/positioning/range.mjs +94 -0
  194. package/esm2022/lib/editor/positioning/selection.mjs +307 -0
  195. package/esm2022/lib/editor/revision.helper.mjs +91 -0
  196. package/esm2022/lib/models/generated/command.model.mjs +5 -1
  197. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +20 -0
  198. package/esm2022/lib/models/generated/replace.model.mjs +5 -1
  199. package/esm2022/public-api.mjs +36 -33
  200. package/fesm2022/talrace-ngx-noder.mjs +3583 -3278
  201. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  202. package/lib/{+shared → apart-components}/add-link-dialog/add-link-dialog.component.d.ts +1 -1
  203. package/lib/apart-components/add-link-mobile/add-link-mobile.component.d.ts +19 -0
  204. package/lib/{+shared → apart-components}/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  205. package/lib/{+shared → apart-components}/editor-search/editor-search-dialog.component.d.ts +6 -7
  206. package/lib/{+shared → apart-components}/editor-title/editor-title.component.d.ts +4 -3
  207. package/lib/apart-components/editor-title-mobile/editor-title-mobile.component.d.ts +6 -0
  208. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +49 -0
  209. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/color-picker/color-picker.component.d.ts +1 -1
  210. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font/font.component.d.ts +2 -2
  211. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-size/font-size.component.d.ts +1 -1
  212. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-style/font-style.component.d.ts +1 -1
  213. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/format/format.component.d.ts +2 -2
  214. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/heading/heading.component.d.ts +1 -1
  215. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/numbering/numbering.component.d.ts +3 -3
  216. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/print/print.component.d.ts +1 -1
  217. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/undo-redo/undo-redo.component.d.ts +1 -1
  218. package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/zoom/zoom.component.d.ts +1 -1
  219. package/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.d.ts +36 -0
  220. package/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.d.ts +14 -0
  221. package/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.d.ts +23 -0
  222. package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +26 -0
  223. package/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.d.ts +40 -0
  224. package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +32 -0
  225. package/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.d.ts +2 -0
  226. package/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.d.ts +6 -0
  227. package/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.d.ts +9 -0
  228. package/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.d.ts +14 -0
  229. package/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.d.ts +38 -0
  230. package/lib/{+shared/editor-toolbar/helpers → apart-components/editor-toolbar/shared}/toolbar-styles.helper.d.ts +2 -2
  231. package/lib/{+shared → apart-components}/insert-table/insert-table.component.d.ts +1 -1
  232. package/lib/apart-components/insert-table-mobile/insert-table-mobile.component.d.ts +30 -0
  233. package/lib/apart-components/text-format-mobile/text-format-mobile.component.d.ts +35 -0
  234. package/lib/{+shared/editor/core/models → editor/components/edges}/edge-element.model.d.ts +1 -1
  235. package/lib/editor/components/edges/edge.component.d.ts +44 -0
  236. package/lib/{+shared/editor/core → editor}/components/edges/edges.d.ts +7 -7
  237. package/lib/{+shared/editor → editor/components}/editor.component.d.ts +10 -7
  238. package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-sidenav.interface.d.ts +1 -1
  239. package/lib/{+shared/editor/custom-components → editor/components}/external-element/external.component.d.ts +4 -4
  240. package/lib/{+shared/editor/custom-components → editor/components}/image/components/image.component.d.ts +4 -4
  241. package/lib/editor/components/image/image-api.service.d.ts +17 -0
  242. package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/resizer.component.d.ts +2 -2
  243. package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-wrapper.d.ts +1 -1
  244. package/lib/{+shared/editor/custom-components → editor/components}/shared/abstract/base.component.d.ts +4 -4
  245. package/lib/editor/components/shared/abstract/destroy.component.d.ts +9 -0
  246. package/lib/{+shared/editor/custom-components/shared/helpers → editor/components/shared}/custom-component.hepler.d.ts +3 -3
  247. package/lib/editor/components/shared/custom-components.interface.d.ts +13 -0
  248. package/lib/editor/components/shared/custom-content.d.ts +5 -0
  249. package/lib/{+shared/editor/custom-components/shared/services/component → editor/components/shared/services}/component.service.d.ts +1 -1
  250. package/lib/{+shared/editor/custom-components/shared/services/custom-content → editor/components/shared/services}/custom-content.service.d.ts +14 -12
  251. package/lib/{+shared/editor/custom-components → editor/components}/tab/tab.component.d.ts +2 -2
  252. package/lib/{+shared/editor/custom-components → editor/components}/table/cell-resizer/cell-resizer.d.ts +1 -1
  253. package/lib/{+shared/editor/custom-components → editor/components}/table/components/table-cell.component.d.ts +10 -10
  254. package/lib/{+shared/editor/custom-components → editor/components}/table/components/table.component.d.ts +8 -8
  255. package/lib/{+shared/editor/custom-components → editor/components}/table/overlay-menu/overlay-menu.component.d.ts +2 -2
  256. package/lib/{+shared/editor/custom-components → editor/components}/table/selection/table-selection.d.ts +3 -3
  257. package/lib/{+shared/editor/core → editor/content}/constants/editor.const.d.ts +3 -3
  258. package/lib/editor/content/contents.interface.d.ts +22 -0
  259. package/lib/{+shared/editor/core/models → editor/content/display-data}/display-token.model.d.ts +1 -1
  260. package/lib/{+shared/editor/core → editor/content/display-data}/document.d.ts +9 -9
  261. package/lib/{+shared/editor/core/models → editor/content/display-data}/format-ext.model.d.ts +1 -1
  262. package/lib/{+shared/editor/execution/models → editor/content/display-data}/general-properties.model.d.ts +1 -1
  263. package/lib/{+shared/editor/core/layers → editor/content/display-data}/lines.d.ts +1 -1
  264. package/lib/{+shared/editor/core/paging → editor/content/display-data}/pages.wrap.d.ts +13 -13
  265. package/lib/{+shared/editor/core/paging → editor/content/display-data}/paragraph.d.ts +4 -4
  266. package/lib/{+shared/editor/core/paging → editor/content/display-data}/text-line-info.d.ts +2 -2
  267. package/lib/editor/content/helpers/content-style.helper.d.ts +11 -0
  268. package/lib/{+shared/editor → editor/content}/helpers/indexed-element.helper.d.ts +1 -1
  269. package/lib/{+shared/editor/core/paging → editor/content}/page-vertical-data.model.d.ts +1 -1
  270. package/lib/{+shared/editor/core/base → editor/core}/event-emitting.d.ts +0 -5
  271. package/lib/{+shared/editor/core → editor/display}/layers/cursor.layer.d.ts +7 -8
  272. package/lib/{+shared/editor/core/interfaces → editor/display/layers}/layer.config.d.ts +2 -2
  273. package/lib/{+shared/editor/core → editor/display}/layers/pages.layer.d.ts +5 -6
  274. package/lib/editor/display/layers/print.text.layer.d.ts +4 -0
  275. package/lib/{+shared/editor/core → editor/display}/layers/selection.layer.d.ts +5 -6
  276. package/lib/editor/display/layers/text.layer.d.ts +34 -0
  277. package/lib/{+shared/helpers → editor/display/print}/print.helper.d.ts +3 -3
  278. package/lib/editor/display/print/print.renderer.d.ts +23 -0
  279. package/lib/{+shared/editor/core/helpers → editor/display/print}/print.rendering.helper.d.ts +2 -2
  280. package/lib/{+shared/editor/core/models → editor/display}/render-changes.model.d.ts +1 -1
  281. package/lib/{+shared/editor/core → editor/display}/renderer.d.ts +10 -13
  282. package/lib/{+shared/editor/core/helpers → editor/display}/rendering.helper.d.ts +7 -7
  283. package/lib/{+shared/editor/core/layers → editor/display}/renderloop.d.ts +2 -2
  284. package/lib/{+shared/editor/core → editor/display}/virtual.renderer.d.ts +14 -29
  285. package/lib/{+shared/editor → editor}/editor.module.d.ts +12 -10
  286. package/lib/{+shared/editor/core → editor/execution}/edit.session.d.ts +65 -63
  287. package/lib/{+shared/editor/core → editor/execution}/editor.d.ts +48 -43
  288. package/lib/editor/execution/helpers/delta.helper.d.ts +6 -0
  289. package/lib/{+shared/editor/core → editor/execution}/helpers/format-style.helper.d.ts +3 -5
  290. package/lib/{+shared/editor/core → editor/execution}/helpers/page.helper.d.ts +1 -1
  291. package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph-style.helper.d.ts +1 -1
  292. package/lib/{+shared/editor/core → editor/execution}/helpers/paragraph.helper.d.ts +11 -8
  293. package/lib/{+shared/editor → editor}/execution/regulator.service.d.ts +15 -14
  294. package/lib/{+shared/editor/execution/models → editor/execution/targeting}/cell-session-source.model.d.ts +3 -3
  295. package/lib/{+shared/editor/execution/models → editor/execution/targeting}/edge-session-source.model.d.ts +3 -3
  296. package/lib/{+shared/editor/execution/models → editor/execution/targeting}/main-session-source.model.d.ts +1 -1
  297. package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session-source.model.d.ts +1 -1
  298. package/lib/{+shared/editor/execution/models → editor/execution/targeting}/session.model.d.ts +3 -3
  299. package/lib/{+shared/editor/core/helpers → editor/gadgets/font-metrics}/font-metrics.helper.d.ts +1 -1
  300. package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation-history.d.ts +9 -7
  301. package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operation.type.d.ts +2 -1
  302. package/lib/{+shared/editor/core/models → editor/gadgets/numbering}/numbering-data.model.d.ts +1 -1
  303. package/lib/{+shared/editor/core/helpers → editor/gadgets/numbering}/numbering.helper.d.ts +8 -8
  304. package/lib/{+shared/editor/helpers → editor/gadgets/page-break}/break.helper.d.ts +2 -2
  305. package/lib/{+shared/editor/core/layers → editor/gadgets}/scrollbar.d.ts +9 -18
  306. package/lib/{+shared/editor/core → editor/gadgets/search}/search.d.ts +4 -4
  307. package/lib/editor/interaction/base.handler.d.ts +9 -0
  308. package/lib/editor/interaction/document.handler.d.ts +10 -0
  309. package/lib/{+shared/editor → editor}/interaction/editor.service.d.ts +24 -18
  310. package/lib/{+shared/editor → editor}/interaction/input.handler.d.ts +4 -5
  311. package/lib/{+shared/editor → editor}/interaction/mouse.handler.d.ts +1 -1
  312. package/lib/{+shared/editor → editor}/operations/enums/command-type.enum.d.ts +11 -10
  313. package/lib/{+shared/editor → editor}/operations/helpers/break-operations.helper.d.ts +2 -2
  314. package/lib/{+shared/editor → editor}/operations/helpers/format-operations.helper.d.ts +2 -2
  315. package/lib/editor/operations/helpers/image-operations.helper.d.ts +7 -0
  316. package/lib/{+shared/editor → editor}/operations/helpers/indexed-element-operations.helper.d.ts +1 -1
  317. package/lib/{+shared/editor → editor}/operations/helpers/link-operations.helper.d.ts +1 -1
  318. package/lib/{+shared/editor → editor}/operations/helpers/numbering-operations.helper.d.ts +3 -3
  319. package/lib/{+shared/editor → editor}/operations/helpers/paragraph-operations.helper.d.ts +3 -2
  320. package/lib/{+shared/editor → editor}/operations/helpers/tab-operations.helper.d.ts +1 -1
  321. package/lib/{+shared/editor → editor}/operations/helpers/table-operations.helper.d.ts +6 -6
  322. package/lib/{+shared/editor/operations/helpers → editor/operations}/operations-helper.helper.d.ts +21 -19
  323. package/lib/{+shared/editor/operations/helpers → editor/operations}/save-commands.helper.d.ts +28 -22
  324. package/lib/editor/operations/target-operations.helper.d.ts +6 -0
  325. package/lib/{+shared/editor/helpers → editor/positioning}/content.helper.d.ts +10 -5
  326. package/lib/editor/positioning/cursor-paragraph.d.ts +7 -0
  327. package/lib/{+shared/editor/core/interfaces → editor/positioning}/cursor-position.interface.d.ts +1 -1
  328. package/lib/{+shared/editor/core/helpers → editor/positioning}/line-width.helper.d.ts +2 -2
  329. package/lib/{+shared/editor/core/helpers → editor/positioning}/position.helper.d.ts +9 -9
  330. package/lib/{+shared/editor/core → editor/positioning}/range.d.ts +12 -12
  331. package/lib/{+shared/editor → editor}/positioning/selection.d.ts +10 -10
  332. package/lib/editor/revision.helper.d.ts +15 -0
  333. package/lib/models/generated/command.model.d.ts +2 -0
  334. package/lib/models/generated/insert-paragraph.model.d.ts +10 -0
  335. package/lib/models/generated/replace.model.d.ts +2 -0
  336. package/package.json +1 -1
  337. package/public-api.d.ts +35 -32
  338. package/src/_ngx-noder.theme.scss +14 -9
  339. package/src/assets/fonts/nc-iconfont.css +112 -106
  340. package/src/assets/fonts/nc-iconfont.eot +0 -0
  341. package/src/assets/fonts/nc-iconfont.svg +4 -1
  342. package/src/assets/fonts/nc-iconfont.ttf +0 -0
  343. package/src/assets/fonts/nc-iconfont.woff +0 -0
  344. package/src/lib/{+shared → apart-components}/add-link-dialog/_add-link-dialog.theme.scss +1 -1
  345. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +25 -0
  346. package/src/lib/{+shared → apart-components}/confirm-dialog/_theme.scss +1 -1
  347. package/src/lib/{+shared → apart-components}/editor-title/_editor-title.theme.scss +1 -1
  348. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +42 -0
  349. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +27 -0
  350. package/src/lib/apart-components/editor-toolbar/_theme.scss +25 -0
  351. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +12 -0
  352. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font/_font.theme.scss +1 -1
  353. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-size/_font-size.theme.scss +1 -1
  354. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/font-style/_font-style.theme.scss +1 -1
  355. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/format/_format.theme.scss +1 -1
  356. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/numbering/_numbering.theme.scss +1 -1
  357. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components/buttons}/undo-redo/_undo-redo.theme.scss +1 -1
  358. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components}/menu-dropdowns/_menu-dropdowns.theme.scss +1 -1
  359. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +33 -0
  360. package/src/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/components}/toolbar-actions/_toolbar-actions.theme.scss +2 -1
  361. package/src/lib/{+shared → apart-components}/insert-table/_insert-table.theme.scss +1 -1
  362. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +54 -0
  363. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +86 -0
  364. package/src/lib/{+shared/editor → editor}/_theme.scss +1 -1
  365. package/src/lib/{+shared/editor → editor/components}/_editor.theme.scss +10 -2
  366. package/src/scss/base-editor.scss +329 -0
  367. package/src/styles.scss +3 -58
  368. package/esm2022/lib/+shared/abstract/base-api.service.mjs +0 -99
  369. package/esm2022/lib/+shared/abstract/observer.component.mjs +0 -24
  370. package/esm2022/lib/+shared/add-link-dialog/add-link-dialog.component.mjs +0 -71
  371. package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +0 -32
  372. package/esm2022/lib/+shared/constants/default-file-name.const.mjs +0 -2
  373. package/esm2022/lib/+shared/constants/paginator-sizes.const.mjs +0 -3
  374. package/esm2022/lib/+shared/editor/core/base/event-emitting.mjs +0 -71
  375. package/esm2022/lib/+shared/editor/core/components/edges/edge-type.enum.mjs +0 -6
  376. package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +0 -100
  377. package/esm2022/lib/+shared/editor/core/components/edges/edges.mjs +0 -104
  378. package/esm2022/lib/+shared/editor/core/constants/alignments.const.mjs +0 -8
  379. package/esm2022/lib/+shared/editor/core/constants/clipboardEventTypes.const.mjs +0 -6
  380. package/esm2022/lib/+shared/editor/core/constants/content-style-change.const.mjs +0 -15
  381. package/esm2022/lib/+shared/editor/core/constants/display-values.const.mjs +0 -8
  382. package/esm2022/lib/+shared/editor/core/constants/document-info.const.mjs +0 -13
  383. package/esm2022/lib/+shared/editor/core/constants/editor-version.const.mjs +0 -2
  384. package/esm2022/lib/+shared/editor/core/constants/editor.const.mjs +0 -62
  385. package/esm2022/lib/+shared/editor/core/constants/unicode-chars.const.mjs +0 -5
  386. package/esm2022/lib/+shared/editor/core/document.mjs +0 -134
  387. package/esm2022/lib/+shared/editor/core/edit.session.mjs +0 -1099
  388. package/esm2022/lib/+shared/editor/core/editor.mjs +0 -1274
  389. package/esm2022/lib/+shared/editor/core/enums/break-types.enum.mjs +0 -7
  390. package/esm2022/lib/+shared/editor/core/enums/mouse-button.enum.mjs +0 -7
  391. package/esm2022/lib/+shared/editor/core/enums/page-type.enum.mjs +0 -7
  392. package/esm2022/lib/+shared/editor/core/helpers/content-style.helper.mjs +0 -156
  393. package/esm2022/lib/+shared/editor/core/helpers/delta.helper.mjs +0 -18
  394. package/esm2022/lib/+shared/editor/core/helpers/dom.helper.mjs +0 -42
  395. package/esm2022/lib/+shared/editor/core/helpers/event.helper.mjs +0 -18
  396. package/esm2022/lib/+shared/editor/core/helpers/font-metrics.helper.mjs +0 -88
  397. package/esm2022/lib/+shared/editor/core/helpers/format-style.helper.mjs +0 -72
  398. package/esm2022/lib/+shared/editor/core/helpers/line-width.helper.mjs +0 -13
  399. package/esm2022/lib/+shared/editor/core/helpers/numbering.helper.mjs +0 -83
  400. package/esm2022/lib/+shared/editor/core/helpers/page.helper.mjs +0 -12
  401. package/esm2022/lib/+shared/editor/core/helpers/paragraph-style.helper.mjs +0 -41
  402. package/esm2022/lib/+shared/editor/core/helpers/paragraph.helper.mjs +0 -169
  403. package/esm2022/lib/+shared/editor/core/helpers/position.helper.mjs +0 -194
  404. package/esm2022/lib/+shared/editor/core/helpers/print.rendering.helper.mjs +0 -7
  405. package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +0 -187
  406. package/esm2022/lib/+shared/editor/core/helpers/unicode.helper.mjs +0 -20
  407. package/esm2022/lib/+shared/editor/core/interfaces/cell.interface.mjs +0 -2
  408. package/esm2022/lib/+shared/editor/core/interfaces/cursor-position.interface.mjs +0 -2
  409. package/esm2022/lib/+shared/editor/core/interfaces/font-metric-size.interface.mjs +0 -2
  410. package/esm2022/lib/+shared/editor/core/interfaces/layer.config.mjs +0 -2
  411. package/esm2022/lib/+shared/editor/core/interfaces/paragraph-info.interface.mjs +0 -2
  412. package/esm2022/lib/+shared/editor/core/interfaces/render-changes.interface.mjs +0 -2
  413. package/esm2022/lib/+shared/editor/core/interfaces/replace.interface.mjs +0 -2
  414. package/esm2022/lib/+shared/editor/core/interfaces/search-iteration.interface.mjs +0 -2
  415. package/esm2022/lib/+shared/editor/core/interfaces/toolbar-styles.interface.mjs +0 -2
  416. package/esm2022/lib/+shared/editor/core/interfaces/visible-line-info.interface.mjs +0 -2
  417. package/esm2022/lib/+shared/editor/core/interfaces/visible-range.interface.mjs +0 -2
  418. package/esm2022/lib/+shared/editor/core/keyboard/text-input.mjs +0 -53
  419. package/esm2022/lib/+shared/editor/core/layers/cursor.layer.mjs +0 -103
  420. package/esm2022/lib/+shared/editor/core/layers/edges.layer.mjs +0 -99
  421. package/esm2022/lib/+shared/editor/core/layers/lines.mjs +0 -96
  422. package/esm2022/lib/+shared/editor/core/layers/pages.layer.mjs +0 -106
  423. package/esm2022/lib/+shared/editor/core/layers/print.edges.layer.mjs +0 -7
  424. package/esm2022/lib/+shared/editor/core/layers/print.pages.layer.mjs +0 -7
  425. package/esm2022/lib/+shared/editor/core/layers/print.text.layer.mjs +0 -7
  426. package/esm2022/lib/+shared/editor/core/layers/renderloop.mjs +0 -26
  427. package/esm2022/lib/+shared/editor/core/layers/scrollbar.mjs +0 -100
  428. package/esm2022/lib/+shared/editor/core/layers/selection.layer.mjs +0 -115
  429. package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +0 -124
  430. package/esm2022/lib/+shared/editor/core/models/display-token.model.mjs +0 -12
  431. package/esm2022/lib/+shared/editor/core/models/distance.model.mjs +0 -10
  432. package/esm2022/lib/+shared/editor/core/models/edge-element.model.mjs +0 -9
  433. package/esm2022/lib/+shared/editor/core/models/format-ext.model.mjs +0 -10
  434. package/esm2022/lib/+shared/editor/core/models/indent.model.mjs +0 -9
  435. package/esm2022/lib/+shared/editor/core/models/line-info.model.mjs +0 -9
  436. package/esm2022/lib/+shared/editor/core/models/margin.model.mjs +0 -16
  437. package/esm2022/lib/+shared/editor/core/models/numbering-data.model.mjs +0 -9
  438. package/esm2022/lib/+shared/editor/core/models/render-changes.model.mjs +0 -25
  439. package/esm2022/lib/+shared/editor/core/paging/page-vertical-data.model.mjs +0 -9
  440. package/esm2022/lib/+shared/editor/core/paging/pages.wrap.mjs +0 -226
  441. package/esm2022/lib/+shared/editor/core/paging/paragraph.mjs +0 -52
  442. package/esm2022/lib/+shared/editor/core/paging/text-line-info.mjs +0 -34
  443. package/esm2022/lib/+shared/editor/core/point.mjs +0 -13
  444. package/esm2022/lib/+shared/editor/core/print.renderer.mjs +0 -72
  445. package/esm2022/lib/+shared/editor/core/range.mjs +0 -94
  446. package/esm2022/lib/+shared/editor/core/renderer.mjs +0 -217
  447. package/esm2022/lib/+shared/editor/core/search.mjs +0 -231
  448. package/esm2022/lib/+shared/editor/core/virtual.renderer.mjs +0 -356
  449. package/esm2022/lib/+shared/editor/custom-components/external-element/external-element.service.mjs +0 -6
  450. package/esm2022/lib/+shared/editor/custom-components/external-element/external-elements.const.mjs +0 -4
  451. package/esm2022/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.mjs +0 -2
  452. package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +0 -41
  453. package/esm2022/lib/+shared/editor/custom-components/external-element/models/element-data.model.mjs +0 -9
  454. package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-element.model.mjs +0 -11
  455. package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.mjs +0 -15
  456. package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +0 -88
  457. package/esm2022/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.mjs +0 -38
  458. package/esm2022/lib/+shared/editor/custom-components/image/interfaces/size.mjs +0 -2
  459. package/esm2022/lib/+shared/editor/custom-components/image/resizer/coordinate.mjs +0 -2
  460. package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.mjs +0 -19
  461. package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction.enum.mjs +0 -12
  462. package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +0 -106
  463. package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-delta.mjs +0 -2
  464. package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-wrapper.mjs +0 -52
  465. package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +0 -14
  466. package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +0 -59
  467. package/esm2022/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.mjs +0 -3
  468. package/esm2022/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.mjs +0 -43
  469. package/esm2022/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.mjs +0 -2
  470. package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +0 -64
  471. package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +0 -115
  472. package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +0 -55
  473. package/esm2022/lib/+shared/editor/custom-components/shared/types/custom-content.mjs +0 -2
  474. package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +0 -44
  475. package/esm2022/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.mjs +0 -118
  476. package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +0 -97
  477. package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +0 -401
  478. package/esm2022/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.mjs +0 -8
  479. package/esm2022/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.mjs +0 -6
  480. package/esm2022/lib/+shared/editor/custom-components/table/models/cell-data.model.mjs +0 -18
  481. package/esm2022/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.mjs +0 -9
  482. package/esm2022/lib/+shared/editor/custom-components/table/models/row-data.model.mjs +0 -8
  483. package/esm2022/lib/+shared/editor/custom-components/table/models/selection-range.model.mjs +0 -7
  484. package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +0 -74
  485. package/esm2022/lib/+shared/editor/custom-components/table/selection/table-selection.mjs +0 -364
  486. package/esm2022/lib/+shared/editor/editor.component.mjs +0 -98
  487. package/esm2022/lib/+shared/editor/editor.module.mjs +0 -82
  488. package/esm2022/lib/+shared/editor/execution/models/cell-session-source.model.mjs +0 -19
  489. package/esm2022/lib/+shared/editor/execution/models/edge-session-source.model.mjs +0 -15
  490. package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +0 -11
  491. package/esm2022/lib/+shared/editor/execution/models/main-session-source.model.mjs +0 -8
  492. package/esm2022/lib/+shared/editor/execution/models/session-source.model.mjs +0 -3
  493. package/esm2022/lib/+shared/editor/execution/models/session.model.mjs +0 -10
  494. package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +0 -203
  495. package/esm2022/lib/+shared/editor/helpers/break.helper.mjs +0 -18
  496. package/esm2022/lib/+shared/editor/helpers/content.helper.mjs +0 -30
  497. package/esm2022/lib/+shared/editor/helpers/tab.helper.mjs +0 -6
  498. package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +0 -309
  499. package/esm2022/lib/+shared/editor/interaction/input.handler.mjs +0 -160
  500. package/esm2022/lib/+shared/editor/interaction/mouse.handler.mjs +0 -49
  501. package/esm2022/lib/+shared/editor/interfaces/contents.interface.mjs +0 -2
  502. package/esm2022/lib/+shared/editor/interfaces/insert-index.interface.mjs +0 -2
  503. package/esm2022/lib/+shared/editor/operation-history/operation-history.mjs +0 -184
  504. package/esm2022/lib/+shared/editor/operation-history/operation.type.mjs +0 -2
  505. package/esm2022/lib/+shared/editor/operation-history/operations-history-info.model.mjs +0 -7
  506. package/esm2022/lib/+shared/editor/operations/enums/command-type.enum.mjs +0 -31
  507. package/esm2022/lib/+shared/editor/operations/enums/target-type.enum.mjs +0 -7
  508. package/esm2022/lib/+shared/editor/operations/helpers/break-operations.helper.mjs +0 -9
  509. package/esm2022/lib/+shared/editor/operations/helpers/content-operations.helper.mjs +0 -15
  510. package/esm2022/lib/+shared/editor/operations/helpers/format-operations.helper.mjs +0 -56
  511. package/esm2022/lib/+shared/editor/operations/helpers/image-operations.helper.mjs +0 -19
  512. package/esm2022/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  513. package/esm2022/lib/+shared/editor/operations/helpers/link-operations.helper.mjs +0 -28
  514. package/esm2022/lib/+shared/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  515. package/esm2022/lib/+shared/editor/operations/helpers/operations-helper.helper.mjs +0 -394
  516. package/esm2022/lib/+shared/editor/operations/helpers/paragraph-operations.helper.mjs +0 -83
  517. package/esm2022/lib/+shared/editor/operations/helpers/save-commands.helper.mjs +0 -118
  518. package/esm2022/lib/+shared/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  519. package/esm2022/lib/+shared/editor/operations/helpers/table-operations.helper.mjs +0 -374
  520. package/esm2022/lib/+shared/editor/operations/helpers/target-operations.helper.mjs +0 -23
  521. package/esm2022/lib/+shared/editor/positioning/selection.mjs +0 -307
  522. package/esm2022/lib/+shared/editor/store/editor.actions.mjs +0 -13
  523. package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +0 -71
  524. package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +0 -83
  525. package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +0 -32
  526. package/esm2022/lib/+shared/editor-toolbar/constants/svg-icons.const.mjs +0 -157
  527. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +0 -101
  528. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +0 -117
  529. package/esm2022/lib/+shared/editor-toolbar/enums/alignment.enum.mjs +0 -8
  530. package/esm2022/lib/+shared/editor-toolbar/enums/numbering-type.enum.mjs +0 -6
  531. package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +0 -45
  532. package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +0 -85
  533. package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +0 -80
  534. package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +0 -28
  535. package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +0 -23
  536. package/esm2022/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.mjs +0 -55
  537. package/esm2022/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.mjs +0 -194
  538. package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +0 -53
  539. package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +0 -18
  540. package/esm2022/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.mjs +0 -126
  541. package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +0 -27
  542. package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +0 -74
  543. package/esm2022/lib/+shared/helpers/print.helper.mjs +0 -40
  544. package/esm2022/lib/+shared/helpers/revision.helper.mjs +0 -91
  545. package/esm2022/lib/+shared/helpers/scaling.helper.mjs +0 -9
  546. package/esm2022/lib/+shared/helpers/validation.helper.mjs +0 -7
  547. package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +0 -54
  548. package/esm2022/lib/+shared/services/commands.service.mjs +0 -20
  549. package/esm2022/lib/+shared/services/custom-icon.service.mjs +0 -34
  550. package/lib/+shared/abstract/base-api.service.d.ts +0 -23
  551. package/lib/+shared/abstract/observer.component.d.ts +0 -10
  552. package/lib/+shared/constants/default-file-name.const.d.ts +0 -1
  553. package/lib/+shared/constants/paginator-sizes.const.d.ts +0 -2
  554. package/lib/+shared/editor/core/components/edges/edge.component.d.ts +0 -45
  555. package/lib/+shared/editor/core/constants/clipboardEventTypes.const.d.ts +0 -5
  556. package/lib/+shared/editor/core/constants/content-style-change.const.d.ts +0 -14
  557. package/lib/+shared/editor/core/helpers/content-style.helper.d.ts +0 -16
  558. package/lib/+shared/editor/core/helpers/delta.helper.d.ts +0 -6
  559. package/lib/+shared/editor/core/interfaces/visible-line-info.interface.d.ts +0 -5
  560. package/lib/+shared/editor/core/layers/edges.layer.d.ts +0 -24
  561. package/lib/+shared/editor/core/layers/print.edges.layer.d.ts +0 -4
  562. package/lib/+shared/editor/core/layers/print.text.layer.d.ts +0 -5
  563. package/lib/+shared/editor/core/layers/text.layer.d.ts +0 -22
  564. package/lib/+shared/editor/core/point.d.ts +0 -7
  565. package/lib/+shared/editor/core/print.renderer.d.ts +0 -25
  566. package/lib/+shared/editor/custom-components/image/services/image-api.service.d.ts +0 -8
  567. package/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.d.ts +0 -13
  568. package/lib/+shared/editor/custom-components/shared/types/custom-content.d.ts +0 -5
  569. package/lib/+shared/editor/interfaces/contents.interface.d.ts +0 -22
  570. package/lib/+shared/editor/operations/helpers/image-operations.helper.d.ts +0 -7
  571. package/lib/+shared/editor/operations/helpers/target-operations.helper.d.ts +0 -6
  572. package/lib/+shared/editor/store/editor.actions.d.ts +0 -11
  573. package/lib/+shared/editor-toolbar/constants/numbering-templates.const.d.ts +0 -6
  574. package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +0 -45
  575. package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +0 -31
  576. package/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.d.ts +0 -73
  577. package/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.d.ts +0 -49
  578. package/lib/+shared/helpers/revision.helper.d.ts +0 -15
  579. package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +0 -10
  580. package/src/lib/+shared/editor-toolbar/_theme.scss +0 -21
  581. package/src/scss/_mixins.scss +0 -14
  582. package/src/scss/_variables.scss +0 -1
  583. /package/lib/{+shared/helpers → apart-components/add-link-dialog}/validation.helper.d.ts +0 -0
  584. /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/constants/svg-icons.const.d.ts +0 -0
  585. /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/alignment.enum.d.ts +0 -0
  586. /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-template-type.enum.d.ts +0 -0
  587. /package/lib/{+shared/editor-toolbar → apart-components/editor-toolbar/shared}/enums/numbering-type.enum.d.ts +0 -0
  588. /package/lib/{+shared → apart-components/editor-toolbar/shared}/services/custom-icon.service.d.ts +0 -0
  589. /package/lib/{+shared/editor/core → editor}/components/edges/edge-type.enum.d.ts +0 -0
  590. /package/lib/{+shared/editor/core/enums → editor/components/edges}/page-type.enum.d.ts +0 -0
  591. /package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-element.service.d.ts +0 -0
  592. /package/lib/{+shared/editor/custom-components → editor/components}/external-element/external-elements.const.d.ts +0 -0
  593. /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/element-data.model.d.ts +0 -0
  594. /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-element.model.d.ts +0 -0
  595. /package/lib/{+shared/editor/custom-components → editor/components}/external-element/models/external-sidenav.model.d.ts +0 -0
  596. /package/lib/{+shared/editor/custom-components → editor/components}/image/input-handler/image-input.handler.d.ts +0 -0
  597. /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/coordinate.d.ts +0 -0
  598. /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction-wrapper.d.ts +0 -0
  599. /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/direction.enum.d.ts +0 -0
  600. /package/lib/{+shared/editor/custom-components → editor/components}/image/resizer/size-delta.d.ts +0 -0
  601. /package/lib/{+shared/editor/custom-components/image/interfaces → editor/components/image}/size.d.ts +0 -0
  602. /package/lib/{+shared/editor/custom-components/shared/constants → editor/components/shared}/custom-content-markers.const.d.ts +0 -0
  603. /package/lib/{+shared/editor/custom-components/shared/services/overlay → editor/components/shared/services}/overlay.service.d.ts +0 -0
  604. /package/lib/{+shared/editor/helpers → editor/components/tab}/tab.helper.d.ts +0 -0
  605. /package/lib/{+shared/editor/core → editor/components/table}/enums/hrule.enum.d.ts +0 -0
  606. /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/reisizer-side.enum.d.ts +0 -0
  607. /package/lib/{+shared/editor/custom-components → editor/components}/table/enums/vertical-merge.enum.d.ts +0 -0
  608. /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-data.model.d.ts +0 -0
  609. /package/lib/{+shared/editor/custom-components → editor/components}/table/models/cell-resizer-parameters.model.d.ts +0 -0
  610. /package/lib/{+shared/editor/custom-components → editor/components}/table/models/row-data.model.d.ts +0 -0
  611. /package/lib/{+shared/editor/custom-components → editor/components}/table/models/selection-range.model.d.ts +0 -0
  612. /package/lib/{+shared/editor/core → editor/content}/constants/display-values.const.d.ts +0 -0
  613. /package/lib/{+shared/editor/core → editor/content}/constants/document-info.const.d.ts +0 -0
  614. /package/lib/{+shared/editor/core/models → editor/content/display-data}/indent.model.d.ts +0 -0
  615. /package/lib/{+shared/editor/core/models → editor/content/display-data}/line-info.model.d.ts +0 -0
  616. /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/paragraph-info.interface.d.ts +0 -0
  617. /package/lib/{+shared/editor/core/interfaces → editor/content/display-data}/toolbar-styles.interface.d.ts +0 -0
  618. /package/lib/{+shared/editor → editor/content}/helpers/format.helper.d.ts +0 -0
  619. /package/lib/{+shared → editor/content}/helpers/scaling.helper.d.ts +0 -0
  620. /package/lib/{+shared/editor/core/models → editor/content}/margin.model.d.ts +0 -0
  621. /package/lib/{+shared/editor/core/enums → editor/content}/vertical-alignment.enum.d.ts +0 -0
  622. /package/lib/{+shared/editor/core/interfaces → editor/display}/cell.interface.d.ts +0 -0
  623. /package/lib/{+shared/editor/core/helpers → editor/display}/event.helper.d.ts +0 -0
  624. /package/lib/{+shared/editor/core → editor/display}/layers/print.pages.layer.d.ts +0 -0
  625. /package/lib/{+shared/editor/core/interfaces → editor/display}/render-changes.interface.d.ts +0 -0
  626. /package/lib/{+shared/editor/core/interfaces → editor/display}/visible-range.interface.d.ts +0 -0
  627. /package/lib/{+shared/editor/core/models → editor/execution}/distance.model.d.ts +0 -0
  628. /package/lib/{+shared/editor/core → editor/execution}/helpers/dom.helper.d.ts +0 -0
  629. /package/lib/{+shared/editor/core/constants → editor/gadgets/font-metrics}/editor-version.const.d.ts +0 -0
  630. /package/lib/{+shared/editor/core/interfaces → editor/gadgets/font-metrics}/font-metric-size.interface.d.ts +0 -0
  631. /package/lib/{+shared/editor/operation-history → editor/gadgets/history}/operations-history-info.model.d.ts +0 -0
  632. /package/lib/{+shared/editor/core/enums → editor/gadgets/numbering}/numbering-marker-type.enum.d.ts +0 -0
  633. /package/lib/{+shared/editor/core/enums → editor/gadgets/page-break}/break-types.enum.d.ts +0 -0
  634. /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/replace.interface.d.ts +0 -0
  635. /package/lib/{+shared/editor/core/interfaces → editor/gadgets/search}/search-iteration.interface.d.ts +0 -0
  636. /package/lib/{+shared/editor/core/constants → editor/gadgets/unicode}/unicode-chars.const.d.ts +0 -0
  637. /package/lib/{+shared/editor/core/helpers → editor/gadgets/unicode}/unicode.helper.d.ts +0 -0
  638. /package/lib/{+shared/enums → editor/interaction}/mode.enum.d.ts +0 -0
  639. /package/lib/{+shared/editor/core/enums → editor/interaction}/mouse-button.enum.d.ts +0 -0
  640. /package/lib/{+shared/editor/core/keyboard → editor/interaction}/text-input.d.ts +0 -0
  641. /package/lib/{+shared/services → editor/operations}/commands.service.d.ts +0 -0
  642. /package/lib/{+shared/editor → editor}/operations/enums/target-type.enum.d.ts +0 -0
  643. /package/lib/{+shared/editor → editor}/operations/helpers/content-operations.helper.d.ts +0 -0
  644. /package/lib/{+shared/editor/core/constants → editor/positioning}/alignments.const.d.ts +0 -0
  645. /package/lib/{+shared/editor/interfaces → editor/positioning}/insert-index.interface.d.ts +0 -0
@@ -0,0 +1,226 @@
1
+ import { EdgeType } from '../../components/edges/edge-type.enum';
2
+ import { EventEmitting } from '../../core/event-emitting';
3
+ import { NumberingHelper } from '../../gadgets/numbering/numbering.helper';
4
+ import { PageHelper } from '../../execution/helpers/page.helper';
5
+ import { PageType } from '../../components/edges/page-type.enum';
6
+ import { PageVerticalDataModel } from '../page-vertical-data.model';
7
+ import { Paragraph } from './paragraph';
8
+ import { ParagraphHelper } from '../../execution/helpers/paragraph.helper';
9
+ export class PagesWrap extends EventEmitting {
10
+ get defaultVerticalData() {
11
+ return this.pagesVerticalData.find(x => x.pageType === PageType.Default);
12
+ }
13
+ constructor(pagesSpace, documentMargin, pageWidth, pageHeight = 0, customComponents) {
14
+ super();
15
+ this.pagesSpace = pagesSpace;
16
+ this.documentMargin = documentMargin;
17
+ this.pageWidth = pageWidth;
18
+ this.pageHeight = pageHeight;
19
+ this.customComponents = customComponents;
20
+ this.allPagesHeight = 0;
21
+ this.minHeight = 0;
22
+ this.paragraphs = [];
23
+ this.tabTokens = [];
24
+ this.minHeight = this.pageHeight + 2 * this.pagesSpace;
25
+ this.contentWidth = this.pageWidth - this.documentMargin.left - this.documentMargin.right;
26
+ this.initPagesVerticalData();
27
+ this.processTextLinesProperties = !this.pageHeight
28
+ ? ParagraphHelper.processTextLinesPropertiesForSinglePage
29
+ : ParagraphHelper.processTextLinesProperties;
30
+ }
31
+ getParagraphTop(index) {
32
+ return this.paragraphs[index] ? this.paragraphs[index].distanceFromTop : 0;
33
+ }
34
+ getParagraphTopForPrint(index) {
35
+ if (!this.paragraphs[index]) {
36
+ return 0;
37
+ }
38
+ const paragraph = this.paragraphs[index];
39
+ const pageNumber = paragraph.pageNumbers[0];
40
+ let pageBreakHeight = 0;
41
+ paragraph.textLinesInfo.forEach(linesInfo => {
42
+ if (linesInfo.isAfterPageBreak) {
43
+ pageBreakHeight = linesInfo.height;
44
+ }
45
+ });
46
+ return paragraph.distanceFromTop - pageNumber * this.pagesSpace - pageBreakHeight;
47
+ }
48
+ getParagraphHeight(index) {
49
+ return this.paragraphs[index] ? this.paragraphs[index].height : 0;
50
+ }
51
+ remove(index, length) {
52
+ this.paragraphs.splice(index, length);
53
+ }
54
+ reset(paragraphsLength) {
55
+ this.paragraphs.length = paragraphsLength;
56
+ }
57
+ set(row, lineInfos, numberings, docParagraphs) {
58
+ if (!this.paragraphs[row]) {
59
+ const numberingData = NumberingHelper.createDataModel(numberings, docParagraphs, row);
60
+ this.paragraphs[row] = new Paragraph(numberingData, lineInfos[0].offsetBefore, this.processTextLinesProperties);
61
+ }
62
+ this.paragraphs[row].width = this.contentWidth;
63
+ this.paragraphs[row].setTextLinesInfo(lineInfos);
64
+ }
65
+ getVisibleRange(offsetTop, scrollerHeight) {
66
+ let start = this.paragraphs.findIndex(x => offsetTop <= x.distanceFromTop + x.height);
67
+ if (start < 0) {
68
+ start = 0;
69
+ }
70
+ let startLineInfo = null;
71
+ const startParagraph = this.paragraphs[start];
72
+ if (startParagraph) {
73
+ const startParagraphOffsetTop = offsetTop - startParagraph.distanceFromTop;
74
+ startLineInfo = ParagraphHelper.getVisibleLineInfo(startParagraph?.textLinesInfo, startParagraphOffsetTop, 1);
75
+ }
76
+ if (!startLineInfo) {
77
+ return {
78
+ startParagraph: 0,
79
+ startLine: 0,
80
+ startScreenLine: 0,
81
+ startScreenFullLine: 0,
82
+ endParagraph: 0,
83
+ endLine: 0,
84
+ endScreenLine: 0,
85
+ endScreenFullLine: 0,
86
+ pages: [1]
87
+ };
88
+ }
89
+ let end = this.paragraphs.findIndex(x => offsetTop + scrollerHeight <= x.distanceFromTop + x.height);
90
+ if (end < 0) {
91
+ end = this.paragraphs.length - 1;
92
+ }
93
+ let endLineInfo = null;
94
+ const endParagraph = this.paragraphs[end];
95
+ if (endParagraph) {
96
+ const endParagraphOffsetTop = offsetTop + scrollerHeight - endParagraph.distanceFromTop;
97
+ endLineInfo = ParagraphHelper.getVisibleLineInfo(endParagraph?.textLinesInfo, endParagraphOffsetTop, -1);
98
+ }
99
+ const visiblePages = this.getVisiblePages(offsetTop, scrollerHeight);
100
+ return {
101
+ startParagraph: start,
102
+ startLine: startLineInfo.index,
103
+ startScreenLine: startLineInfo.screenIndex,
104
+ startScreenFullLine: startLineInfo.visibleScreenIndex,
105
+ endParagraph: end,
106
+ endLine: endLineInfo.index,
107
+ endScreenLine: endLineInfo.screenIndex,
108
+ endScreenFullLine: endLineInfo.visibleScreenIndex,
109
+ pages: visiblePages
110
+ };
111
+ }
112
+ processParagraphsProperties(startParagraphIndex, wrapParagraphIndex) {
113
+ this.setParagraphIndexes(wrapParagraphIndex);
114
+ const pagesInfo = { pagesVerticalData: this.pagesVerticalData, pagesSpace: this.pagesSpace };
115
+ let currentPage = startParagraphIndex === 0 ? 1 : this.paragraphs[startParagraphIndex - 1].lastPageNumber;
116
+ let pageVerticalData = PageHelper.getVerticalData(currentPage, this.pagesVerticalData);
117
+ for (let i = startParagraphIndex; i < this.paragraphs.length; i++) {
118
+ const prevParagraphInfo = this.getPreviousParagraphInfo(i);
119
+ const paragraph = this.paragraphs[i];
120
+ paragraph.processParagraphProperties(prevParagraphInfo, pagesInfo, this.customComponents.tables);
121
+ if (paragraph.firstPageNumber !== currentPage) {
122
+ currentPage = paragraph.firstPageNumber;
123
+ pageVerticalData = PageHelper.getVerticalData(paragraph.firstPageNumber, this.pagesVerticalData);
124
+ }
125
+ paragraph.distanceFromTop =
126
+ (paragraph.firstPageNumber - 1) * this.pageHeight +
127
+ this.pagesSpace * paragraph.firstPageNumber +
128
+ pageVerticalData.marginTop +
129
+ paragraph.pagePreviousContentHeight;
130
+ }
131
+ let pageHeight = this.pageHeight;
132
+ if (!pageHeight) {
133
+ pageHeight = this.getAllParagraphsHeight() + this.documentMargin.top + this.documentMargin.bottom;
134
+ this.minHeight = pageHeight + 2 * this.pagesSpace;
135
+ this.defaultVerticalData.contentHeight = pageHeight;
136
+ }
137
+ const lastPageNumber = this.paragraphs[this.paragraphs.length - 1].lastPageNumber;
138
+ this.allPagesHeight = lastPageNumber * (pageHeight + this.pagesSpace) + this.pagesSpace;
139
+ this.emit('pagesCountChanged', { pagesCount: lastPageNumber, pageHeight: pageHeight + 2 * this.pagesSpace });
140
+ }
141
+ getAllParagraphsHeight() {
142
+ return this.paragraphs.reduce((sum, x) => sum + x.height, 0);
143
+ }
144
+ destroy() {
145
+ this.removeAllListeners('pagesCountChanged');
146
+ }
147
+ updatePageVerticalData(edgeType, page, wrapParagraphIndex) {
148
+ const pageVerticalData = PageHelper.getVerticalData(page, this.pagesVerticalData);
149
+ const componentHeight = this.customComponents.edges.getComponentHeight(page, edgeType);
150
+ if (edgeType === EdgeType.Header) {
151
+ pageVerticalData.marginTop = componentHeight > this.documentMargin.top ? componentHeight : this.documentMargin.top;
152
+ }
153
+ else {
154
+ pageVerticalData.marginBottom = componentHeight > this.documentMargin.bottom ? componentHeight : this.documentMargin.bottom;
155
+ }
156
+ const newContentHeight = this.pageHeight - pageVerticalData.marginTop - pageVerticalData.marginBottom;
157
+ if (newContentHeight === pageVerticalData.contentHeight) {
158
+ return;
159
+ }
160
+ pageVerticalData.contentHeight = newContentHeight;
161
+ this.processParagraphsProperties(0, wrapParagraphIndex);
162
+ }
163
+ getPreviousParagraphInfo(row) {
164
+ if (!row || !this.paragraphs.length) {
165
+ return { lastPage: 1, paragraphHeight: 0, paragraphLastLine: -1 };
166
+ }
167
+ const prevParagraph = this.paragraphs[row - 1];
168
+ return prevParagraph.getParagraphData();
169
+ }
170
+ getVisiblePages(offsetTop, containerHeight) {
171
+ const visiblePages = [];
172
+ let firstVisiblePage = offsetTop / (this.pageHeight + this.pagesSpace);
173
+ if (firstVisiblePage % 1 === 0) {
174
+ firstVisiblePage++;
175
+ }
176
+ let visiblePagesCount = containerHeight / (this.pageHeight + this.pagesSpace);
177
+ const partialPageOnScreenPercent = Math.trunc(((visiblePagesCount % 1) + (firstVisiblePage % 1)) * 100);
178
+ const pageSpaceHeightPercent = Math.trunc((this.pagesSpace / containerHeight) * 100);
179
+ if (partialPageOnScreenPercent - pageSpaceHeightPercent > 100) {
180
+ visiblePagesCount++;
181
+ }
182
+ visiblePagesCount = Math.ceil(visiblePagesCount);
183
+ firstVisiblePage = Math.ceil(firstVisiblePage);
184
+ const documentPagesCount = this.paragraphs[this.paragraphs.length - 1].lastPageNumber;
185
+ if (firstVisiblePage + visiblePagesCount - 1 > documentPagesCount) {
186
+ visiblePagesCount = documentPagesCount - firstVisiblePage + 1;
187
+ }
188
+ for (let i = 0; i < visiblePagesCount; i++) {
189
+ visiblePages.push(firstVisiblePage + i);
190
+ }
191
+ return visiblePages;
192
+ }
193
+ initPagesVerticalData() {
194
+ if (!this.customComponents.edges ||
195
+ (!this.customComponents.edges.headersComponents.length && !this.customComponents.edges.footersComponents.length)) {
196
+ this.pagesVerticalData = [
197
+ new PageVerticalDataModel({
198
+ marginTop: this.documentMargin.top,
199
+ marginBottom: this.documentMargin.bottom,
200
+ contentHeight: this.pageHeight - this.documentMargin.top - this.documentMargin.bottom,
201
+ pageType: PageType.Default
202
+ })
203
+ ];
204
+ return;
205
+ }
206
+ const pageTypes = this.customComponents.edges.getUniquePageTypes();
207
+ this.pagesVerticalData = pageTypes.map(pageType => {
208
+ const headerHeight = this.customComponents.edges.getComponentHeightByPageType(pageType, EdgeType.Header);
209
+ const footerHeight = this.customComponents.edges.getComponentHeightByPageType(pageType, EdgeType.Footer);
210
+ const marginTop = Math.max(headerHeight, this.documentMargin.top);
211
+ const marginBottom = Math.max(footerHeight, this.documentMargin.bottom);
212
+ return new PageVerticalDataModel({
213
+ marginTop,
214
+ marginBottom,
215
+ contentHeight: this.pageHeight - marginTop - marginBottom,
216
+ pageType
217
+ });
218
+ });
219
+ }
220
+ setParagraphIndexes(wrapParagraphIndex) {
221
+ for (let i = 0; i < this.paragraphs.length; i++) {
222
+ this.paragraphs[i].startInsertIndex = wrapParagraphIndex[i];
223
+ }
224
+ }
225
+ }
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMud3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb250ZW50L2Rpc3BsYXktZGF0YS9wYWdlcy53cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFJM0UsTUFBTSxPQUFPLFNBQVUsU0FBUSxhQUFhO0lBYXhDLElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFTRCxZQUNXLFVBQWtCLEVBQ2xCLGNBQTJCLEVBQzNCLFNBQWlCLEVBQ2pCLGFBQWEsQ0FBQyxFQUNkLGdCQUFtQztRQUUxQyxLQUFLLEVBQUUsQ0FBQztRQU5ELGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWE7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUFJO1FBQ2QscUJBQWdCLEdBQWhC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QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekcsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV4RSxPQUFPLElBQUkscUJBQXFCLENBQUM7Z0JBQzdCLFNBQVM7Z0JBQ1QsWUFBWTtnQkFDWixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLEdBQUcsWUFBWTtnQkFDekQsUUFBUTthQUNYLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG1CQUFtQixDQUFDLGtCQUE0QjtRQUNwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEaXNwbGF5VG9rZW4gfSBmcm9tICcuL2Rpc3BsYXktdG9rZW4ubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2VkZ2VzL2VkZ2UtdHlwZS5lbnVtJztcbmltcG9ydCB7IEV2ZW50RW1pdHRpbmcgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50LWVtaXR0aW5nJztcbmltcG9ydCB7IElDdXN0b21Db21wb25lbnRzIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvY3VzdG9tLWNvbXBvbmVudHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpbmVJbmZvTW9kZWwgfSBmcm9tICcuL2xpbmUtaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBOb2RlclRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXJnaW5Nb2RlbCB9IGZyb20gJy4uL21hcmdpbi5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdIZWxwZXIgfSBmcm9tICcuLi8uLi9nYWRnZXRzL251bWJlcmluZy9udW1iZXJpbmcuaGVscGVyJztcbmltcG9ydCB7IE51bWJlcmluZ01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmcubW9kZWwnO1xuaW1wb3J0IHsgUGFnZUhlbHBlciB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9oZWxwZXJzL3BhZ2UuaGVscGVyJztcbmltcG9ydCB7IFBhZ2VUeXBlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9lZGdlcy9wYWdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQYWdlVmVydGljYWxEYXRhTW9kZWwgfSBmcm9tICcuLi9wYWdlLXZlcnRpY2FsLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoIH0gZnJvbSAnLi9wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgUGFyYWdyYXBoSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvcGFyYWdyYXBoLmhlbHBlcic7XG5pbXBvcnQgeyBQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLm1vZGVsJztcbmltcG9ydCB7IFZpc2libGVSYW5nZSB9IGZyb20gJy4uLy4uL2Rpc3BsYXkvdmlzaWJsZS1yYW5nZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgUGFnZXNXcmFwIGV4dGVuZHMgRXZlbnRFbWl0dGluZyB7XG4gICAgY29udGVudFdpZHRoOiBudW1iZXI7XG5cbiAgICBhbGxQYWdlc0hlaWdodCA9IDA7XG5cbiAgICBtaW5IZWlnaHQgPSAwO1xuXG4gICAgcGFyYWdyYXBoczogUGFyYWdyYXBoW10gPSBbXTtcblxuICAgIHRhYlRva2VuczogRGlzcGxheVRva2VuW10gPSBbXTtcblxuICAgIHBhZ2VzVmVydGljYWxEYXRhOiBQYWdlVmVydGljYWxEYXRhTW9kZWxbXTtcblxuICAgIGdldCBkZWZhdWx0VmVydGljYWxEYXRhKCk6IFBhZ2VWZXJ0aWNhbERhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VzVmVydGljYWxEYXRhLmZpbmQoeCA9PiB4LnBhZ2VUeXBlID09PSBQYWdlVHlwZS5EZWZhdWx0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NUZXh0TGluZXNQcm9wZXJ0aWVzOiAoXG4gICAgICAgIGN1cnJlbnRQYXJhZ3JhcGg6IFBhcmFncmFwaCxcbiAgICAgICAgcHJldlBhcmFncmFwaEluZm86IHsgbGFzdFBhZ2U6IG51bWJlcjsgcGFyYWdyYXBoSGVpZ2h0OiBudW1iZXI7IHBhcmFncmFwaExhc3RMaW5lOiBudW1iZXIgfSxcbiAgICAgICAgcGFnZXNJbmZvOiB7IHBhZ2VzVmVydGljYWxEYXRhOiBQYWdlVmVydGljYWxEYXRhTW9kZWxbXTsgcGFnZXNTcGFjZTogbnVtYmVyIH0sXG4gICAgICAgIHRhYmxlczogQ29tcG9uZW50UmVmPE5vZGVyVGFibGVDb21wb25lbnQ+W11cbiAgICApID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHBhZ2VzU3BhY2U6IG51bWJlcixcbiAgICAgICAgcHVibGljIGRvY3VtZW50TWFyZ2luOiBNYXJnaW5Nb2RlbCxcbiAgICAgICAgcHVibGljIHBhZ2VXaWR0aDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgcGFnZUhlaWdodCA9IDAsXG4gICAgICAgIHB1YmxpYyBjdXN0b21Db21wb25lbnRzOiBJQ3VzdG9tQ29tcG9uZW50c1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1pbkhlaWdodCA9IHRoaXMucGFnZUhlaWdodCArIDIgKiB0aGlzLnBhZ2VzU3BhY2U7XG4gICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gdGhpcy5wYWdlV2lkdGggLSB0aGlzLmRvY3VtZW50TWFyZ2luLmxlZnQgLSB0aGlzLmRvY3VtZW50TWFyZ2luLnJpZ2h0O1xuICAgICAgICB0aGlzLmluaXRQYWdlc1ZlcnRpY2FsRGF0YSgpO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc1RleHRMaW5lc1Byb3BlcnRpZXMgPSAhdGhpcy5wYWdlSGVpZ2h0XG4gICAgICAgICAgICA/IFBhcmFncmFwaEhlbHBlci5wcm9jZXNzVGV4dExpbmVzUHJvcGVydGllc0ZvclNpbmdsZVBhZ2VcbiAgICAgICAgICAgIDogUGFyYWdyYXBoSGVscGVyLnByb2Nlc3NUZXh0TGluZXNQcm9wZXJ0aWVzO1xuICAgIH1cblxuICAgIGdldFBhcmFncmFwaFRvcChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyYWdyYXBoc1tpbmRleF0gPyB0aGlzLnBhcmFncmFwaHNbaW5kZXhdLmRpc3RhbmNlRnJvbVRvcCA6IDA7XG4gICAgfVxuXG4gICAgZ2V0UGFyYWdyYXBoVG9wRm9yUHJpbnQoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5wYXJhZ3JhcGhzW2luZGV4XSkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYWdyYXBoID0gdGhpcy5wYXJhZ3JhcGhzW2luZGV4XTtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IHBhcmFncmFwaC5wYWdlTnVtYmVyc1swXTtcbiAgICAgICAgbGV0IHBhZ2VCcmVha0hlaWdodCA9IDA7XG4gICAgICAgIHBhcmFncmFwaC50ZXh0TGluZXNJbmZvLmZvckVhY2gobGluZXNJbmZvID0+IHtcbiAgICAgICAgICAgIGlmIChsaW5lc0luZm8uaXNBZnRlclBhZ2VCcmVhaykge1xuICAgICAgICAgICAgICAgIHBhZ2VCcmVha0hlaWdodCA9IGxpbmVzSW5mby5oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFyYWdyYXBoLmRpc3RhbmNlRnJvbVRvcCAtIHBhZ2VOdW1iZXIgKiB0aGlzLnBhZ2VzU3BhY2UgLSBwYWdlQnJlYWtIZWlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0UGFyYWdyYXBoSGVpZ2h0KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJhZ3JhcGhzW2luZGV4XSA/IHRoaXMucGFyYWdyYXBoc1tpbmRleF0uaGVpZ2h0IDogMDtcbiAgICB9XG5cbiAgICByZW1vdmUoaW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJhZ3JhcGhzLnNwbGljZShpbmRleCwgbGVuZ3RoKTtcbiAgICB9XG5cbiAgICByZXNldChwYXJhZ3JhcGhzTGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJhZ3JhcGhzLmxlbmd0aCA9IHBhcmFncmFwaHNMZW5ndGg7XG4gICAgfVxuXG4gICAgc2V0KHJvdzogbnVtYmVyLCBsaW5lSW5mb3M6IExpbmVJbmZvTW9kZWxbXSwgbnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSwgZG9jUGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGFyYWdyYXBoc1tyb3ddKSB7XG4gICAgICAgICAgICBjb25zdCBudW1iZXJpbmdEYXRhID0gTnVtYmVyaW5nSGVscGVyLmNyZWF0ZURhdGFNb2RlbChudW1iZXJpbmdzLCBkb2NQYXJhZ3JhcGhzLCByb3cpO1xuICAgICAgICAgICAgdGhpcy5wYXJhZ3JhcGhzW3Jvd10gPSBuZXcgUGFyYWdyYXBoKG51bWJlcmluZ0RhdGEsIGxpbmVJbmZvc1swXS5vZmZzZXRCZWZvcmUsIHRoaXMucHJvY2Vzc1RleHRMaW5lc1Byb3BlcnRpZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYXJhZ3JhcGhzW3Jvd10ud2lkdGggPSB0aGlzLmNvbnRlbnRXaWR0aDtcbiAgICAgICAgdGhpcy5wYXJhZ3JhcGhzW3Jvd10uc2V0VGV4dExpbmVzSW5mbyhsaW5lSW5mb3MpO1xuICAgIH1cblxuICAgIGdldFZpc2libGVSYW5nZShvZmZzZXRUb3A6IG51bWJlciwgc2Nyb2xsZXJIZWlnaHQ6IG51bWJlcik6IFZpc2libGVSYW5nZSB7XG4gICAgICAgIGxldCBzdGFydCA9IHRoaXMucGFyYWdyYXBocy5maW5kSW5kZXgoeCA9PiBvZmZzZXRUb3AgPD0geC5kaXN0YW5jZUZyb21Ub3AgKyB4LmhlaWdodCk7XG4gICAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdGFydExpbmVJbmZvID0gbnVsbDtcbiAgICAgICAgY29uc3Qgc3RhcnRQYXJhZ3JhcGggPSB0aGlzLnBhcmFncmFwaHNbc3RhcnRdO1xuICAgICAgICBpZiAoc3RhcnRQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0UGFyYWdyYXBoT2Zmc2V0VG9wID0gb2Zmc2V0VG9wIC0gc3RhcnRQYXJhZ3JhcGguZGlzdGFuY2VGcm9tVG9wO1xuICAgICAgICAgICAgc3RhcnRMaW5lSW5mbyA9IFBhcmFncmFwaEhlbHBlci5nZXRWaXNpYmxlTGluZUluZm8oc3RhcnRQYXJhZ3JhcGg/LnRleHRMaW5lc0luZm8sIHN0YXJ0UGFyYWdyYXBoT2Zmc2V0VG9wLCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc3RhcnRMaW5lSW5mbykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdGFydFBhcmFncmFwaDogMCxcbiAgICAgICAgICAgICAgICBzdGFydExpbmU6IDAsXG4gICAgICAgICAgICAgICAgc3RhcnRTY3JlZW5MaW5lOiAwLFxuICAgICAgICAgICAgICAgIHN0YXJ0U2NyZWVuRnVsbExpbmU6IDAsXG4gICAgICAgICAgICAgICAgZW5kUGFyYWdyYXBoOiAwLFxuICAgICAgICAgICAgICAgIGVuZExpbmU6IDAsXG4gICAgICAgICAgICAgICAgZW5kU2NyZWVuTGluZTogMCxcbiAgICAgICAgICAgICAgICBlbmRTY3JlZW5GdWxsTGluZTogMCxcbiAgICAgICAgICAgICAgICBwYWdlczogWzFdXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGVuZCA9IHRoaXMucGFyYWdyYXBocy5maW5kSW5kZXgoeCA9PiBvZmZzZXRUb3AgKyBzY3JvbGxlckhlaWdodCA8PSB4LmRpc3RhbmNlRnJvbVRvcCArIHguaGVpZ2h0KTtcbiAgICAgICAgaWYgKGVuZCA8IDApIHtcbiAgICAgICAgICAgIGVuZCA9IHRoaXMucGFyYWdyYXBocy5sZW5ndGggLSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGVuZExpbmVJbmZvID0gbnVsbDtcbiAgICAgICAgY29uc3QgZW5kUGFyYWdyYXBoID0gdGhpcy5wYXJhZ3JhcGhzW2VuZF07XG4gICAgICAgIGlmIChlbmRQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZFBhcmFncmFwaE9mZnNldFRvcCA9IG9mZnNldFRvcCArIHNjcm9sbGVySGVpZ2h0IC0gZW5kUGFyYWdyYXBoLmRpc3RhbmNlRnJvbVRvcDtcbiAgICAgICAgICAgIGVuZExpbmVJbmZvID0gUGFyYWdyYXBoSGVscGVyLmdldFZpc2libGVMaW5lSW5mbyhlbmRQYXJhZ3JhcGg/LnRleHRMaW5lc0luZm8sIGVuZFBhcmFncmFwaE9mZnNldFRvcCwgLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmlzaWJsZVBhZ2VzID0gdGhpcy5nZXRWaXNpYmxlUGFnZXMob2Zmc2V0VG9wLCBzY3JvbGxlckhlaWdodCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXJ0UGFyYWdyYXBoOiBzdGFydCxcbiAgICAgICAgICAgIHN0YXJ0TGluZTogc3RhcnRMaW5lSW5mby5pbmRleCxcbiAgICAgICAgICAgIHN0YXJ0U2NyZWVuTGluZTogc3RhcnRMaW5lSW5mby5zY3JlZW5JbmRleCxcbiAgICAgICAgICAgIHN0YXJ0U2NyZWVuRnVsbExpbmU6IHN0YXJ0TGluZUluZm8udmlzaWJsZVNjcmVlbkluZGV4LFxuICAgICAgICAgICAgZW5kUGFyYWdyYXBoOiBlbmQsXG4gICAgICAgICAgICBlbmRMaW5lOiBlbmRMaW5lSW5mby5pbmRleCxcbiAgICAgICAgICAgIGVuZFNjcmVlbkxpbmU6IGVuZExpbmVJbmZvLnNjcmVlbkluZGV4LFxuICAgICAgICAgICAgZW5kU2NyZWVuRnVsbExpbmU6IGVuZExpbmVJbmZvLnZpc2libGVTY3JlZW5JbmRleCxcbiAgICAgICAgICAgIHBhZ2VzOiB2aXNpYmxlUGFnZXNcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm9jZXNzUGFyYWdyYXBoc1Byb3BlcnRpZXMoc3RhcnRQYXJhZ3JhcGhJbmRleDogbnVtYmVyLCB3cmFwUGFyYWdyYXBoSW5kZXg6IG51bWJlcltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0UGFyYWdyYXBoSW5kZXhlcyh3cmFwUGFyYWdyYXBoSW5kZXgpO1xuICAgICAgICBjb25zdCBwYWdlc0luZm8gPSB7IHBhZ2VzVmVydGljYWxEYXRhOiB0aGlzLnBhZ2VzVmVydGljYWxEYXRhLCBwYWdlc1NwYWNlOiB0aGlzLnBhZ2VzU3BhY2UgfTtcbiAgICAgICAgbGV0IGN1cnJlbnRQYWdlID0gc3RhcnRQYXJhZ3JhcGhJbmRleCA9PT0gMCA/IDEgOiB0aGlzLnBhcmFncmFwaHNbc3RhcnRQYXJhZ3JhcGhJbmRleCAtIDFdLmxhc3RQYWdlTnVtYmVyO1xuICAgICAgICBsZXQgcGFnZVZlcnRpY2FsRGF0YSA9IFBhZ2VIZWxwZXIuZ2V0VmVydGljYWxEYXRhKGN1cnJlbnRQYWdlLCB0aGlzLnBhZ2VzVmVydGljYWxEYXRhKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0UGFyYWdyYXBoSW5kZXg7IGkgPCB0aGlzLnBhcmFncmFwaHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZQYXJhZ3JhcGhJbmZvID0gdGhpcy5nZXRQcmV2aW91c1BhcmFncmFwaEluZm8oaSk7XG4gICAgICAgICAgICBjb25zdCBwYXJhZ3JhcGggPSB0aGlzLnBhcmFncmFwaHNbaV07XG4gICAgICAgICAgICBwYXJhZ3JhcGgucHJvY2Vzc1BhcmFncmFwaFByb3BlcnRpZXMocHJldlBhcmFncmFwaEluZm8sIHBhZ2VzSW5mbywgdGhpcy5jdXN0b21Db21wb25lbnRzLnRhYmxlcyk7XG4gICAgICAgICAgICBpZiAocGFyYWdyYXBoLmZpcnN0UGFnZU51bWJlciAhPT0gY3VycmVudFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IHBhcmFncmFwaC5maXJzdFBhZ2VOdW1iZXI7XG4gICAgICAgICAgICAgICAgcGFnZVZlcnRpY2FsRGF0YSA9IFBhZ2VIZWxwZXIuZ2V0VmVydGljYWxEYXRhKHBhcmFncmFwaC5maXJzdFBhZ2VOdW1iZXIsIHRoaXMucGFnZXNWZXJ0aWNhbERhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJhZ3JhcGguZGlzdGFuY2VGcm9tVG9wID1cbiAgICAgICAgICAgICAgICAocGFyYWdyYXBoLmZpcnN0UGFnZU51bWJlciAtIDEpICogdGhpcy5wYWdlSGVpZ2h0ICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VzU3BhY2UgKiBwYXJhZ3JhcGguZmlyc3RQYWdlTnVtYmVyICtcbiAgICAgICAgICAgICAgICBwYWdlVmVydGljYWxEYXRhLm1hcmdpblRvcCArXG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLnBhZ2VQcmV2aW91c0NvbnRlbnRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcGFnZUhlaWdodCA9IHRoaXMucGFnZUhlaWdodDtcbiAgICAgICAgaWYgKCFwYWdlSGVpZ2h0KSB7XG4gICAgICAgICAgICBwYWdlSGVpZ2h0ID0gdGhpcy5nZXRBbGxQYXJhZ3JhcGhzSGVpZ2h0KCkgKyB0aGlzLmRvY3VtZW50TWFyZ2luLnRvcCArIHRoaXMuZG9jdW1lbnRNYXJnaW4uYm90dG9tO1xuICAgICAgICAgICAgdGhpcy5taW5IZWlnaHQgPSBwYWdlSGVpZ2h0ICsgMiAqIHRoaXMucGFnZXNTcGFjZTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFZlcnRpY2FsRGF0YS5jb250ZW50SGVpZ2h0ID0gcGFnZUhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RQYWdlTnVtYmVyID0gdGhpcy5wYXJhZ3JhcGhzW3RoaXMucGFyYWdyYXBocy5sZW5ndGggLSAxXS5sYXN0UGFnZU51bWJlcjtcbiAgICAgICAgdGhpcy5hbGxQYWdlc0hlaWdodCA9IGxhc3RQYWdlTnVtYmVyICogKHBhZ2VIZWlnaHQgKyB0aGlzLnBhZ2VzU3BhY2UpICsgdGhpcy5wYWdlc1NwYWNlO1xuICAgICAgICB0aGlzLmVtaXQoJ3BhZ2VzQ291bnRDaGFuZ2VkJywgeyBwYWdlc0NvdW50OiBsYXN0UGFnZU51bWJlciwgcGFnZUhlaWdodDogcGFnZUhlaWdodCArIDIgKiB0aGlzLnBhZ2VzU3BhY2UgfSk7XG4gICAgfVxuXG4gICAgZ2V0QWxsUGFyYWdyYXBoc0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJhZ3JhcGhzLnJlZHVjZSgoc3VtLCB4KSA9PiBzdW0gKyB4LmhlaWdodCwgMCk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ3BhZ2VzQ291bnRDaGFuZ2VkJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlUGFnZVZlcnRpY2FsRGF0YShlZGdlVHlwZTogRWRnZVR5cGUsIHBhZ2U6IG51bWJlciwgd3JhcFBhcmFncmFwaEluZGV4OiBudW1iZXJbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYWdlVmVydGljYWxEYXRhID0gUGFnZUhlbHBlci5nZXRWZXJ0aWNhbERhdGEocGFnZSwgdGhpcy5wYWdlc1ZlcnRpY2FsRGF0YSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEhlaWdodCA9IHRoaXMuY3VzdG9tQ29tcG9uZW50cy5lZGdlcy5nZXRDb21wb25lbnRIZWlnaHQocGFnZSwgZWRnZVR5cGUpO1xuICAgICAgICBpZiAoZWRnZVR5cGUgPT09IEVkZ2VUeXBlLkhlYWRlcikge1xuICAgICAgICAgICAgcGFnZVZlcnRpY2FsRGF0YS5tYXJnaW5Ub3AgPSBjb21wb25lbnRIZWlnaHQgPiB0aGlzLmRvY3VtZW50TWFyZ2luLnRvcCA/IGNvbXBvbmVudEhlaWdodCA6IHRoaXMuZG9jdW1lbnRNYXJnaW4udG9wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFnZVZlcnRpY2FsRGF0YS5tYXJnaW5Cb3R0b20gPSBjb21wb25lbnRIZWlnaHQgPiB0aGlzLmRvY3VtZW50TWFyZ2luLmJvdHRvbSA/IGNvbXBvbmVudEhlaWdodCA6IHRoaXMuZG9jdW1lbnRNYXJnaW4uYm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3Q29udGVudEhlaWdodCA9IHRoaXMucGFnZUhlaWdodCAtIHBhZ2VWZXJ0aWNhbERhdGEubWFyZ2luVG9wIC0gcGFnZVZlcnRpY2FsRGF0YS5tYXJnaW5Cb3R0b207XG4gICAgICAgIGlmIChuZXdDb250ZW50SGVpZ2h0ID09PSBwYWdlVmVydGljYWxEYXRhLmNvbnRlbnRIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZ2VWZXJ0aWNhbERhdGEuY29udGVudEhlaWdodCA9IG5ld0NvbnRlbnRIZWlnaHQ7XG4gICAgICAgIHRoaXMucHJvY2Vzc1BhcmFncmFwaHNQcm9wZXJ0aWVzKDAsIHdyYXBQYXJhZ3JhcGhJbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmV2aW91c1BhcmFncmFwaEluZm8ocm93OiBudW1iZXIpOiB7IGxhc3RQYWdlOiBudW1iZXI7IHBhcmFncmFwaEhlaWdodDogbnVtYmVyOyBwYXJhZ3JhcGhMYXN0TGluZTogbnVtYmVyIH0ge1xuICAgICAgICBpZiAoIXJvdyB8fCAhdGhpcy5wYXJhZ3JhcGhzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgbGFzdFBhZ2U6IDEsIHBhcmFncmFwaEhlaWdodDogMCwgcGFyYWdyYXBoTGFzdExpbmU6IC0xIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2UGFyYWdyYXBoID0gdGhpcy5wYXJhZ3JhcGhzW3JvdyAtIDFdO1xuICAgICAgICByZXR1cm4gcHJldlBhcmFncmFwaC5nZXRQYXJhZ3JhcGhEYXRhKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaXNpYmxlUGFnZXMob2Zmc2V0VG9wOiBudW1iZXIsIGNvbnRhaW5lckhlaWdodDogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgICAgICBjb25zdCB2aXNpYmxlUGFnZXM6IG51bWJlcltdID0gW107XG5cbiAgICAgICAgbGV0IGZpcnN0VmlzaWJsZVBhZ2UgPSBvZmZzZXRUb3AgLyAodGhpcy5wYWdlSGVpZ2h0ICsgdGhpcy5wYWdlc1NwYWNlKTtcbiAgICAgICAgaWYgKGZpcnN0VmlzaWJsZVBhZ2UgJSAxID09PSAwKSB7XG4gICAgICAgICAgICBmaXJzdFZpc2libGVQYWdlKys7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmlzaWJsZVBhZ2VzQ291bnQgPSBjb250YWluZXJIZWlnaHQgLyAodGhpcy5wYWdlSGVpZ2h0ICsgdGhpcy5wYWdlc1NwYWNlKTtcbiAgICAgICAgY29uc3QgcGFydGlhbFBhZ2VPblNjcmVlblBlcmNlbnQgPSBNYXRoLnRydW5jKCgodmlzaWJsZVBhZ2VzQ291bnQgJSAxKSArIChmaXJzdFZpc2libGVQYWdlICUgMSkpICogMTAwKTtcbiAgICAgICAgY29uc3QgcGFnZVNwYWNlSGVpZ2h0UGVyY2VudCA9IE1hdGgudHJ1bmMoKHRoaXMucGFnZXNTcGFjZSAvIGNvbnRhaW5lckhlaWdodCkgKiAxMDApO1xuICAgICAgICBpZiAocGFydGlhbFBhZ2VPblNjcmVlblBlcmNlbnQgLSBwYWdlU3BhY2VIZWlnaHRQZXJjZW50ID4gMTAwKSB7XG4gICAgICAgICAgICB2aXNpYmxlUGFnZXNDb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmlzaWJsZVBhZ2VzQ291bnQgPSBNYXRoLmNlaWwodmlzaWJsZVBhZ2VzQ291bnQpO1xuICAgICAgICBmaXJzdFZpc2libGVQYWdlID0gTWF0aC5jZWlsKGZpcnN0VmlzaWJsZVBhZ2UpO1xuICAgICAgICBjb25zdCBkb2N1bWVudFBhZ2VzQ291bnQgPSB0aGlzLnBhcmFncmFwaHNbdGhpcy5wYXJhZ3JhcGhzLmxlbmd0aCAtIDFdLmxhc3RQYWdlTnVtYmVyO1xuICAgICAgICBpZiAoZmlyc3RWaXNpYmxlUGFnZSArIHZpc2libGVQYWdlc0NvdW50IC0gMSA+IGRvY3VtZW50UGFnZXNDb3VudCkge1xuICAgICAgICAgICAgdmlzaWJsZVBhZ2VzQ291bnQgPSBkb2N1bWVudFBhZ2VzQ291bnQgLSBmaXJzdFZpc2libGVQYWdlICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmlzaWJsZVBhZ2VzQ291bnQ7IGkrKykge1xuICAgICAgICAgICAgdmlzaWJsZVBhZ2VzLnB1c2goZmlyc3RWaXNpYmxlUGFnZSArIGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZpc2libGVQYWdlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRQYWdlc1ZlcnRpY2FsRGF0YSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuY3VzdG9tQ29tcG9uZW50cy5lZGdlcyB8fFxuICAgICAgICAgICAgKCF0aGlzLmN1c3RvbUNvbXBvbmVudHMuZWRnZXMuaGVhZGVyc0NvbXBvbmVudHMubGVuZ3RoICYmICF0aGlzLmN1c3RvbUNvbXBvbmVudHMuZWRnZXMuZm9vdGVyc0NvbXBvbmVudHMubGVuZ3RoKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucGFnZXNWZXJ0aWNhbERhdGEgPSBbXG4gICAgICAgICAgICAgICAgbmV3IFBhZ2VWZXJ0aWNhbERhdGFNb2RlbCh7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogdGhpcy5kb2N1bWVudE1hcmdpbi50b3AsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogdGhpcy5kb2N1bWVudE1hcmdpbi5ib3R0b20sXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWlnaHQ6IHRoaXMucGFnZUhlaWdodCAtIHRoaXMuZG9jdW1lbnRNYXJnaW4udG9wIC0gdGhpcy5kb2N1bWVudE1hcmdpbi5ib3R0b20sXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VUeXBlOiBQYWdlVHlwZS5EZWZhdWx0XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYWdlVHlwZXMgPSB0aGlzLmN1c3RvbUNvbXBvbmVudHMuZWRnZXMuZ2V0VW5pcXVlUGFnZVR5cGVzKCk7XG4gICAgICAgIHRoaXMucGFnZXNWZXJ0aWNhbERhdGEgPSBwYWdlVHlwZXMubWFwKHBhZ2VUeXBlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuY3VzdG9tQ29tcG9uZW50cy5lZGdlcy5nZXRDb21wb25lbnRIZWlnaHRCeVBhZ2VUeXBlKHBhZ2VUeXBlLCBFZGdlVHlwZS5IZWFkZXIpO1xuICAgICAgICAgICAgY29uc3QgZm9vdGVySGVpZ2h0ID0gdGhpcy5jdXN0b21Db21wb25lbnRzLmVkZ2VzLmdldENvbXBvbmVudEhlaWdodEJ5UGFnZVR5cGUocGFnZVR5cGUsIEVkZ2VUeXBlLkZvb3Rlcik7XG4gICAgICAgICAgICBjb25zdCBtYXJnaW5Ub3AgPSBNYXRoLm1heChoZWFkZXJIZWlnaHQsIHRoaXMuZG9jdW1lbnRNYXJnaW4udG9wKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmdpbkJvdHRvbSA9IE1hdGgubWF4KGZvb3RlckhlaWdodCwgdGhpcy5kb2N1bWVudE1hcmdpbi5ib3R0b20pO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3IFBhZ2VWZXJ0aWNhbERhdGFNb2RlbCh7XG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wLFxuICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbSxcbiAgICAgICAgICAgICAgICBjb250ZW50SGVpZ2h0OiB0aGlzLnBhZ2VIZWlnaHQgLSBtYXJnaW5Ub3AgLSBtYXJnaW5Cb3R0b20sXG4gICAgICAgICAgICAgICAgcGFnZVR5cGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhcmFncmFwaEluZGV4ZXMod3JhcFBhcmFncmFwaEluZGV4OiBudW1iZXJbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucGFyYWdyYXBocy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5wYXJhZ3JhcGhzW2ldLnN0YXJ0SW5zZXJ0SW5kZXggPSB3cmFwUGFyYWdyYXBoSW5kZXhbaV07XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLWluZm8uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbnRlbnQvZGlzcGxheS1kYXRhL3BhcmFncmFwaC1pbmZvLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQYXJhZ3JhcGhJbmZvIHtcbiAgICBwYXJhZ3JhcGhJbmRleDogbnVtYmVyO1xuICAgIGxpbmVJbmRleDogbnVtYmVyO1xuICAgIGxpbmVUb3BPZmZzZXQ6IG51bWJlcjtcbiAgICBpbmRlbnRCZWZvcmU6IG51bWJlcjtcbiAgICBsaW5lSGVpZ2h0OiBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { ParagraphHelper } from '../../execution/helpers/paragraph.helper';
2
+ import { TextLineInfo } from './text-line-info';
3
+ export class Paragraph {
4
+ get firstPageNumber() {
5
+ return this.pageNumbers[0] || 1;
6
+ }
7
+ get lastPageNumber() {
8
+ return this.pageNumbers[this.pageNumbers.length - 1] || 1;
9
+ }
10
+ get firstScreenLine() {
11
+ return this.textLinesInfo[0].screenLine;
12
+ }
13
+ get lastScreenLine() {
14
+ return this.textLinesInfo[this.textLinesInfo.length - 1].screenLine;
15
+ }
16
+ get isEndedByPageBreak() {
17
+ return this.textLinesInfo[this.textLinesInfo.length - 1].isEndedByPageBreak;
18
+ }
19
+ get backgroundColor() {
20
+ return this.textLinesInfo[0].backgroundColor;
21
+ }
22
+ constructor(numberingData, offsetBefore, processTextLinesProperties) {
23
+ this.numberingData = numberingData;
24
+ this.offsetBefore = offsetBefore;
25
+ this.processTextLinesProperties = processTextLinesProperties;
26
+ this.textLinesInfo = [];
27
+ this.pagePreviousContentHeight = 0;
28
+ this.width = 0;
29
+ this.height = 0;
30
+ this.pageNumbers = [];
31
+ }
32
+ setTextLinesInfo(linesInfos) {
33
+ this.textLinesInfo = linesInfos.map(lineInfo => new TextLineInfo(this.width, lineInfo.align, lineInfo.indent, lineInfo));
34
+ }
35
+ setIsAfterPageBreak(value) {
36
+ this.textLinesInfo[0].isAfterPageBreak = value;
37
+ }
38
+ getParagraphData() {
39
+ const pageContentHeight = this.pageNumbers.length === 1
40
+ ? this.height + this.pagePreviousContentHeight
41
+ : ParagraphHelper.getPageLinesHeight(this.textLinesInfo, this.lastPageNumber);
42
+ return { lastPage: this.lastPageNumber, paragraphHeight: pageContentHeight, paragraphLastLine: this.lastScreenLine };
43
+ }
44
+ processParagraphProperties(prevParagraphInfo, pagesInfo, tables) {
45
+ this.pagePreviousContentHeight = prevParagraphInfo.paragraphHeight;
46
+ this.processTextLinesProperties(this, prevParagraphInfo, pagesInfo, tables);
47
+ ParagraphHelper.processOffsetLineWithNumberingMarker(this.textLinesInfo[0], this.numberingData.height, this.offsetBefore);
48
+ this.pageNumbers = ParagraphHelper.getParagraphPages(this.textLinesInfo);
49
+ this.height = ParagraphHelper.getParagraphHeight(this.textLinesInfo);
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbnRlbnQvZGlzcGxheS1kYXRhL3BhcmFncmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE1BQU0sT0FBTyxTQUFTO0lBZWxCLElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFDVyxhQUFpQyxFQUNoQyxZQUFvQixFQUNwQiwwQkFLQztRQVBGLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBS3pCO1FBNUNiLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUVuQyw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFFOUIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVWLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFJWCxnQkFBVyxHQUFhLEVBQUUsQ0FBQztJQW1DeEIsQ0FBQztJQUVKLGdCQUFnQixDQUFDLFVBQTJCO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDN0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE1BQU0saUJBQWlCLEdBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHlCQUF5QjtZQUM5QyxDQUFDLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pILENBQUM7SUFFRCwwQkFBMEIsQ0FDdEIsaUJBQTJGLEVBQzNGLFNBQTZFLEVBQzdFLE1BQTJDO1FBRTNDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7UUFDbkUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUUsZUFBZSxDQUFDLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExpbmVJbmZvTW9kZWwgfSBmcm9tICcuL2xpbmUtaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBOb2RlclRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9nYWRnZXRzL251bWJlcmluZy9udW1iZXJpbmctZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBQYWdlVmVydGljYWxEYXRhTW9kZWwgfSBmcm9tICcuLi9wYWdlLXZlcnRpY2FsLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvcGFyYWdyYXBoLmhlbHBlcic7XG5pbXBvcnQgeyBUZXh0TGluZUluZm8gfSBmcm9tICcuL3RleHQtbGluZS1pbmZvJztcblxuZXhwb3J0IGNsYXNzIFBhcmFncmFwaCB7XG4gICAgc3RhcnRJbnNlcnRJbmRleDogbnVtYmVyO1xuXG4gICAgdGV4dExpbmVzSW5mbzogVGV4dExpbmVJbmZvW10gPSBbXTtcblxuICAgIHBhZ2VQcmV2aW91c0NvbnRlbnRIZWlnaHQgPSAwO1xuXG4gICAgd2lkdGggPSAwO1xuXG4gICAgaGVpZ2h0ID0gMDtcblxuICAgIGRpc3RhbmNlRnJvbVRvcDogbnVtYmVyO1xuXG4gICAgcGFnZU51bWJlcnM6IG51bWJlcltdID0gW107XG5cbiAgICBnZXQgZmlyc3RQYWdlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VOdW1iZXJzWzBdIHx8IDE7XG4gICAgfVxuXG4gICAgZ2V0IGxhc3RQYWdlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VOdW1iZXJzW3RoaXMucGFnZU51bWJlcnMubGVuZ3RoIC0gMV0gfHwgMTtcbiAgICB9XG5cbiAgICBnZXQgZmlyc3RTY3JlZW5MaW5lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRMaW5lc0luZm9bMF0uc2NyZWVuTGluZTtcbiAgICB9XG5cbiAgICBnZXQgbGFzdFNjcmVlbkxpbmUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dExpbmVzSW5mb1t0aGlzLnRleHRMaW5lc0luZm8ubGVuZ3RoIC0gMV0uc2NyZWVuTGluZTtcbiAgICB9XG5cbiAgICBnZXQgaXNFbmRlZEJ5UGFnZUJyZWFrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0TGluZXNJbmZvW3RoaXMudGV4dExpbmVzSW5mby5sZW5ndGggLSAxXS5pc0VuZGVkQnlQYWdlQnJlYWs7XG4gICAgfVxuXG4gICAgZ2V0IGJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0TGluZXNJbmZvWzBdLmJhY2tncm91bmRDb2xvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBudW1iZXJpbmdEYXRhOiBOdW1iZXJpbmdEYXRhTW9kZWwsXG4gICAgICAgIHByaXZhdGUgb2Zmc2V0QmVmb3JlOiBudW1iZXIsXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc1RleHRMaW5lc1Byb3BlcnRpZXM6IChcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGg6IFBhcmFncmFwaCxcbiAgICAgICAgICAgIHByZXZQYXJhZ3JhcGhJbmZvOiB7IGxhc3RQYWdlOiBudW1iZXI7IHBhcmFncmFwaEhlaWdodDogbnVtYmVyOyBwYXJhZ3JhcGhMYXN0TGluZTogbnVtYmVyIH0sXG4gICAgICAgICAgICBwYWdlc0luZm86IHsgcGFnZXNWZXJ0aWNhbERhdGE6IFBhZ2VWZXJ0aWNhbERhdGFNb2RlbFtdOyBwYWdlc1NwYWNlOiBudW1iZXIgfSxcbiAgICAgICAgICAgIHRhYmxlczogQ29tcG9uZW50UmVmPE5vZGVyVGFibGVDb21wb25lbnQ+W11cbiAgICAgICAgKSA9PiB2b2lkXG4gICAgKSB7fVxuXG4gICAgc2V0VGV4dExpbmVzSW5mbyhsaW5lc0luZm9zOiBMaW5lSW5mb01vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0TGluZXNJbmZvID0gbGluZXNJbmZvcy5tYXAobGluZUluZm8gPT4gbmV3IFRleHRMaW5lSW5mbyh0aGlzLndpZHRoLCBsaW5lSW5mby5hbGlnbiwgbGluZUluZm8uaW5kZW50LCBsaW5lSW5mbykpO1xuICAgIH1cblxuICAgIHNldElzQWZ0ZXJQYWdlQnJlYWsodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0TGluZXNJbmZvWzBdLmlzQWZ0ZXJQYWdlQnJlYWsgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXRQYXJhZ3JhcGhEYXRhKCk6IHsgbGFzdFBhZ2U6IG51bWJlcjsgcGFyYWdyYXBoSGVpZ2h0OiBudW1iZXI7IHBhcmFncmFwaExhc3RMaW5lOiBudW1iZXIgfSB7XG4gICAgICAgIGNvbnN0IHBhZ2VDb250ZW50SGVpZ2h0ID1cbiAgICAgICAgICAgIHRoaXMucGFnZU51bWJlcnMubGVuZ3RoID09PSAxXG4gICAgICAgICAgICAgICAgPyB0aGlzLmhlaWdodCArIHRoaXMucGFnZVByZXZpb3VzQ29udGVudEhlaWdodFxuICAgICAgICAgICAgICAgIDogUGFyYWdyYXBoSGVscGVyLmdldFBhZ2VMaW5lc0hlaWdodCh0aGlzLnRleHRMaW5lc0luZm8sIHRoaXMubGFzdFBhZ2VOdW1iZXIpO1xuICAgICAgICByZXR1cm4geyBsYXN0UGFnZTogdGhpcy5sYXN0UGFnZU51bWJlciwgcGFyYWdyYXBoSGVpZ2h0OiBwYWdlQ29udGVudEhlaWdodCwgcGFyYWdyYXBoTGFzdExpbmU6IHRoaXMubGFzdFNjcmVlbkxpbmUgfTtcbiAgICB9XG5cbiAgICBwcm9jZXNzUGFyYWdyYXBoUHJvcGVydGllcyhcbiAgICAgICAgcHJldlBhcmFncmFwaEluZm86IHsgbGFzdFBhZ2U6IG51bWJlcjsgcGFyYWdyYXBoSGVpZ2h0OiBudW1iZXI7IHBhcmFncmFwaExhc3RMaW5lOiBudW1iZXIgfSxcbiAgICAgICAgcGFnZXNJbmZvOiB7IHBhZ2VzVmVydGljYWxEYXRhOiBQYWdlVmVydGljYWxEYXRhTW9kZWxbXTsgcGFnZXNTcGFjZTogbnVtYmVyIH0sXG4gICAgICAgIHRhYmxlczogQ29tcG9uZW50UmVmPE5vZGVyVGFibGVDb21wb25lbnQ+W11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlUHJldmlvdXNDb250ZW50SGVpZ2h0ID0gcHJldlBhcmFncmFwaEluZm8ucGFyYWdyYXBoSGVpZ2h0O1xuICAgICAgICB0aGlzLnByb2Nlc3NUZXh0TGluZXNQcm9wZXJ0aWVzKHRoaXMsIHByZXZQYXJhZ3JhcGhJbmZvLCBwYWdlc0luZm8sIHRhYmxlcyk7XG4gICAgICAgIFBhcmFncmFwaEhlbHBlci5wcm9jZXNzT2Zmc2V0TGluZVdpdGhOdW1iZXJpbmdNYXJrZXIodGhpcy50ZXh0TGluZXNJbmZvWzBdLCB0aGlzLm51bWJlcmluZ0RhdGEuaGVpZ2h0LCB0aGlzLm9mZnNldEJlZm9yZSk7XG4gICAgICAgIHRoaXMucGFnZU51bWJlcnMgPSBQYXJhZ3JhcGhIZWxwZXIuZ2V0UGFyYWdyYXBoUGFnZXModGhpcy50ZXh0TGluZXNJbmZvKTtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSBQYXJhZ3JhcGhIZWxwZXIuZ2V0UGFyYWdyYXBoSGVpZ2h0KHRoaXMudGV4dExpbmVzSW5mbyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { Alignment } from '../../positioning/alignments.const';
2
+ export class TextLineInfo {
3
+ constructor(contentWidth, align, indent, fields) {
4
+ this.paddingLeft = 0;
5
+ this.offsetBefore = 0;
6
+ this.offsetAfter = 0;
7
+ this.firstLinePageOffset = 0; // for selection
8
+ this.endPageOffset = 0; // for selection
9
+ this.screenLine = 0;
10
+ this.isAfterPageBreak = false;
11
+ this.isEndedByPageBreak = false;
12
+ if (fields) {
13
+ Object.assign(this, fields);
14
+ }
15
+ const diff = contentWidth - this.width;
16
+ if (this.width === undefined || diff === 0) {
17
+ return;
18
+ }
19
+ switch (align) {
20
+ case Alignment.center:
21
+ this.paddingLeft = indent.left + (diff - indent.left - indent.right) / 2;
22
+ break;
23
+ case Alignment.right:
24
+ this.paddingLeft = diff - indent.right;
25
+ break;
26
+ default:
27
+ this.paddingLeft = indent.left;
28
+ break;
29
+ }
30
+ this.paddingLeft += indent.firstLine;
31
+ this.paddingLeft -= indent.hanging;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1saW5lLWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29udGVudC9kaXNwbGF5LWRhdGEvdGV4dC1saW5lLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSS9ELE1BQU0sT0FBTyxZQUFZO0lBNkJyQixZQUFZLFlBQW9CLEVBQUUsS0FBYSxFQUFFLE1BQW1CLEVBQUUsTUFBK0I7UUF0QnJHLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLHdCQUFtQixHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtRQUV6QyxrQkFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtRQUVuQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRWYscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQVN2QixJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO1FBRUQsTUFBTSxJQUFJLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU87U0FDVjtRQUVELFFBQVEsS0FBSyxFQUFFO1lBQ1gsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekUsTUFBTTtZQUNWLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZDLE1BQU07WUFDVjtnQkFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLE1BQU07U0FDYjtRQUVELElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvYWxpZ25tZW50cy5jb25zdCc7XG5pbXBvcnQgeyBJbmRlbnRNb2RlbCB9IGZyb20gJy4vaW5kZW50Lm1vZGVsJztcbmltcG9ydCB7IExpbmVJbmZvTW9kZWwgfSBmcm9tICcuL2xpbmUtaW5mby5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBUZXh0TGluZUluZm8ge1xuICAgIHdpZHRoOiBudW1iZXI7XG5cbiAgICBoZWlnaHQ6IG51bWJlcjtcblxuICAgIHBhZ2U/OiBudW1iZXI7XG5cbiAgICBwYWRkaW5nTGVmdCA9IDA7XG5cbiAgICBvZmZzZXRCZWZvcmUgPSAwO1xuXG4gICAgb2Zmc2V0QWZ0ZXIgPSAwO1xuXG4gICAgZmlyc3RMaW5lUGFnZU9mZnNldCA9IDA7IC8vIGZvciBzZWxlY3Rpb25cblxuICAgIGVuZFBhZ2VPZmZzZXQgPSAwOyAvLyBmb3Igc2VsZWN0aW9uXG5cbiAgICBzY3JlZW5MaW5lID0gMDtcblxuICAgIGlzQWZ0ZXJQYWdlQnJlYWsgPSBmYWxzZTtcblxuICAgIGlzRW5kZWRCeVBhZ2VCcmVhayA9IGZhbHNlO1xuXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG5cbiAgICBoYXNUYWJsZTogYm9vbGVhbjtcblxuICAgIHNwbGl0T2Zmc2V0OiBudW1iZXI7IC8vIG9mZnNldCBvZiB0aGUgZmlyc3QgbGluZSBhZnRlciB0YWJsZSBzcGxpdFxuXG4gICAgY29uc3RydWN0b3IoY29udGVudFdpZHRoOiBudW1iZXIsIGFsaWduOiBudW1iZXIsIGluZGVudDogSW5kZW50TW9kZWwsIGZpZWxkcz86IFBhcnRpYWw8TGluZUluZm9Nb2RlbD4pIHtcbiAgICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlmZiA9IGNvbnRlbnRXaWR0aCAtIHRoaXMud2lkdGg7XG4gICAgICAgIGlmICh0aGlzLndpZHRoID09PSB1bmRlZmluZWQgfHwgZGlmZiA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChhbGlnbikge1xuICAgICAgICAgICAgY2FzZSBBbGlnbm1lbnQuY2VudGVyOlxuICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ0xlZnQgPSBpbmRlbnQubGVmdCArIChkaWZmIC0gaW5kZW50LmxlZnQgLSBpbmRlbnQucmlnaHQpIC8gMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQWxpZ25tZW50LnJpZ2h0OlxuICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ0xlZnQgPSBkaWZmIC0gaW5kZW50LnJpZ2h0O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdMZWZ0ID0gaW5kZW50LmxlZnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBhZGRpbmdMZWZ0ICs9IGluZGVudC5maXJzdExpbmU7XG4gICAgICAgIHRoaXMucGFkZGluZ0xlZnQgLT0gaW5kZW50Lmhhbmdpbmc7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdHlsZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbnRlbnQvZGlzcGxheS1kYXRhL3Rvb2xiYXItc3R5bGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJVG9vbGJhclN0eWxlcyB7XG4gICAgYWxpZ25tZW50PzogYW55O1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBoaWdobGlnaHRDb2xvcj86IHN0cmluZztcbiAgICBmb250Q29sb3I/OiBzdHJpbmc7XG4gICAgZm9udEZhbWlseT86IHN0cmluZztcbiAgICBmb250U2l6ZT86IG51bWJlcjtcbiAgICBpdGFsaWM/OiBib29sZWFuO1xuICAgIGJvbGQ/OiBib29sZWFuO1xuICAgIHN0cmlrZXRocm91Z2g/OiBib29sZWFuO1xuICAgIHVuZGVybGluZT86IGJvb2xlYW47XG4gICAgc3BhY2VBZnRlcj86IG51bWJlcjtcbiAgICBzcGFjZUJlZm9yZT86IG51bWJlcjtcbiAgICBpbmRlbnRMZWZ0PzogbnVtYmVyO1xuICAgIGluZGVudFJpZ2h0PzogbnVtYmVyO1xuICAgIGlzQnVsbGV0TWFya2VyPzogYm9vbGVhbjtcbiAgICBudW1iZXJpbmdMZXZlbHNTdHlsZXM/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,96 @@
1
+ import { Alignment } from '../../positioning/alignments.const';
2
+ import { DEFAULT_BACKGROUND_COLOR, DEFAULT_FONT_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE } from '../constants/editor.const';
3
+ import { TextStyleModel } from '../../../models/generated/text-style.model';
4
+ export class ContentStyleHelper {
5
+ static getDefaultStyleValueByKey(key) {
6
+ switch (key) {
7
+ case 'fontFamily':
8
+ return DEFAULT_FONT_FAMILY;
9
+ case 'fontSize':
10
+ return DEFAULT_FONT_SIZE;
11
+ case 'fontColor':
12
+ return DEFAULT_FONT_COLOR;
13
+ case 'highlightColor':
14
+ return DEFAULT_BACKGROUND_COLOR;
15
+ case 'alignment':
16
+ return Alignment.left;
17
+ default:
18
+ return;
19
+ }
20
+ }
21
+ static getTextStylesString(textStyle) {
22
+ let result = '';
23
+ if (textStyle.fontSize) {
24
+ result += `font-size:${textStyle.fontSize}pt;`;
25
+ }
26
+ if (textStyle.fontFamily) {
27
+ result += `font-family:${textStyle.fontFamily};`;
28
+ }
29
+ if (textStyle.fontColor) {
30
+ result += `color:${textStyle.fontColor};`;
31
+ }
32
+ if (textStyle.highlightColor) {
33
+ result += `background-color:${textStyle.highlightColor};`;
34
+ }
35
+ if (textStyle.bold) {
36
+ result += 'font-weight:bold;';
37
+ }
38
+ if (textStyle.italic) {
39
+ result += 'font-style:italic;';
40
+ }
41
+ if (textStyle.underline) {
42
+ result += 'text-decoration:underline;';
43
+ }
44
+ return result;
45
+ }
46
+ /**
47
+ * Returns font styles string from modifier used for canvas calculation
48
+ */
49
+ static getFontStylesString(textStyle) {
50
+ let fontString = '';
51
+ if (!textStyle) {
52
+ return fontString;
53
+ }
54
+ if (textStyle.italic) {
55
+ fontString += 'italic ';
56
+ }
57
+ if (textStyle.bold) {
58
+ fontString += 'bold ';
59
+ }
60
+ if (textStyle.fontSize) {
61
+ fontString += `${textStyle.fontSize}pt `;
62
+ }
63
+ if (textStyle.fontFamily) {
64
+ fontString += textStyle.fontFamily;
65
+ }
66
+ return fontString;
67
+ }
68
+ static areSameTextStyles(first, second) {
69
+ return (first.highlightColor === second.highlightColor &&
70
+ first.bold === second.bold &&
71
+ first.fontColor === second.fontColor &&
72
+ first.fontFamily === second.fontFamily &&
73
+ first.fontSize === second.fontSize &&
74
+ first.isSmallCaps === second.isSmallCaps &&
75
+ first.italic === second.italic &&
76
+ first.strikethrough === second.strikethrough &&
77
+ first.underline === second.underline &&
78
+ first.verticalAlignment === second.verticalAlignment);
79
+ }
80
+ static combineTextStyles(current, parent) {
81
+ return new TextStyleModel({
82
+ highlightColor: current.highlightColor ?? parent.highlightColor,
83
+ bold: current.bold ?? parent.bold,
84
+ fontColor: current.fontColor ?? parent.fontColor,
85
+ fontFamily: current.fontFamily ?? parent.fontFamily,
86
+ fontSize: current.fontSize ?? parent.fontSize,
87
+ headingStyleId: current.headingStyleId ?? parent.headingStyleId,
88
+ isSmallCaps: current.isSmallCaps ?? parent.isSmallCaps,
89
+ italic: current.italic ?? parent.italic,
90
+ strikethrough: current.strikethrough ?? parent.strikethrough,
91
+ underline: current.underline ?? parent.underline,
92
+ verticalAlignment: current.verticalAlignment ?? parent.verticalAlignment
93
+ });
94
+ }
95
+ }
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29udGVudC9oZWxwZXJzL2NvbnRlbnQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFNUUsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBVztRQUN4QyxRQUFRLEdBQUcsRUFBRTtZQUNULEtBQUssWUFBWTtnQkFDYixPQUFPLG1CQUFtQixDQUFDO1lBQy9CLEtBQUssVUFBVTtnQkFDWCxPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssV0FBVztnQkFDWixPQUFPLGtCQUFrQixDQUFDO1lBQzlCLEtBQUssZ0JBQWdCO2dCQUNqQixPQUFPLHdCQUF3QixDQUFDO1lBQ3BDLEtBQUssV0FBVztnQkFDWixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDMUI7Z0JBQ0ksT0FBTztTQUNkO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUF5QjtRQUNoRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxhQUFhLFNBQVMsQ0FBQyxRQUFRLEtBQUssQ0FBQztTQUNsRDtRQUVELElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRTtZQUN0QixNQUFNLElBQUksZUFBZSxTQUFTLENBQUMsVUFBVSxHQUFHLENBQUM7U0FD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LGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLE1BQU0sQ0FBQyxhQUFhO1lBQzVELFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTO1lBQ2hELGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxNQUFNLENBQUMsaUJBQWlCO1NBQzNFLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL2FsaWdubWVudHMuY29uc3QnO1xuaW1wb3J0IHsgREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SLCBERUZBVUxUX0ZPTlRfQ09MT1IsIERFRkFVTFRfRk9OVF9GQU1JTFksIERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb250ZW50U3R5bGVIZWxwZXIge1xuICAgIHN0YXRpYyBnZXREZWZhdWx0U3R5bGVWYWx1ZUJ5S2V5KGtleTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2ZvbnRGYW1pbHknOlxuICAgICAgICAgICAgICAgIHJldHVybiBERUZBVUxUX0ZPTlRfRkFNSUxZO1xuICAgICAgICAgICAgY2FzZSAnZm9udFNpemUnOlxuICAgICAgICAgICAgICAgIHJldHVybiBERUZBVUxUX0ZPTlRfU0laRTtcbiAgICAgICAgICAgIGNhc2UgJ2ZvbnRDb2xvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIERFRkFVTFRfRk9OVF9DT0xPUjtcbiAgICAgICAgICAgIGNhc2UgJ2hpZ2hsaWdodENvbG9yJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SO1xuICAgICAgICAgICAgY2FzZSAnYWxpZ25tZW50JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQWxpZ25tZW50LmxlZnQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRUZXh0U3R5bGVzU3RyaW5nKHRleHRTdHlsZTogVGV4dFN0eWxlTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgICAgIGlmICh0ZXh0U3R5bGUuZm9udFNpemUpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBgZm9udC1zaXplOiR7dGV4dFN0eWxlLmZvbnRTaXplfXB0O2A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGV4dFN0eWxlLmZvbnRGYW1pbHkpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBgZm9udC1mYW1pbHk6JHt0ZXh0U3R5bGUuZm9udEZhbWlseX07YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0ZXh0U3R5bGUuZm9udENvbG9yKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gYGNvbG9yOiR7dGV4dFN0eWxlLmZvbnRDb2xvcn07YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0ZXh0U3R5bGUuaGlnaGxpZ2h0Q29sb3IpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBgYmFja2dyb3VuZC1jb2xvcjoke3RleHRTdHlsZS5oaWdobGlnaHRDb2xvcn07YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0ZXh0U3R5bGUuYm9sZCkge1xuICAgICAgICAgICAgcmVzdWx0ICs9ICdmb250LXdlaWdodDpib2xkOyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGV4dFN0eWxlLml0YWxpYykge1xuICAgICAgICAgICAgcmVzdWx0ICs9ICdmb250LXN0eWxlOml0YWxpYzsnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRleHRTdHlsZS51bmRlcmxpbmUpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSAndGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGZvbnQgc3R5bGVzIHN0cmluZyBmcm9tIG1vZGlmaWVyIHVzZWQgZm9yIGNhbnZhcyBjYWxjdWxhdGlvblxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGb250U3R5bGVzU3RyaW5nKHRleHRTdHlsZTogVGV4dFN0eWxlTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZm9udFN0cmluZyA9ICcnO1xuICAgICAgICBpZiAoIXRleHRTdHlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZvbnRTdHJpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGV4dFN0eWxlLml0YWxpYykge1xuICAgICAgICAgICAgZm9udFN0cmluZyArPSAnaXRhbGljICc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGV4dFN0eWxlLmJvbGQpIHtcbiAgICAgICAgICAgIGZvbnRTdHJpbmcgKz0gJ2JvbGQgJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0ZXh0U3R5bGUuZm9udFNpemUpIHtcbiAgICAgICAgICAgIGZvbnRTdHJpbmcgKz0gYCR7dGV4dFN0eWxlLmZvbnRTaXplfXB0IGA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGV4dFN0eWxlLmZvbnRGYW1pbHkpIHtcbiAgICAgICAgICAgIGZvbnRTdHJpbmcgKz0gdGV4dFN0eWxlLmZvbnRGYW1pbHk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9udFN0cmluZztcbiAgICB9XG5cbiAgICBzdGF0aWMgYXJlU2FtZVRleHRTdHlsZXMoZmlyc3Q6IFRleHRTdHlsZU1vZGVsLCBzZWNvbmQ6IFRleHRTdHlsZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmaXJzdC5oaWdobGlnaHRDb2xvciA9PT0gc2Vjb25kLmhpZ2hsaWdodENvbG9yICYmXG4gICAgICAgICAgICBmaXJzdC5ib2xkID09PSBzZWNvbmQuYm9sZCAmJlxuICAgICAgICAgICAgZmlyc3QuZm9udENvbG9yID09PSBzZWNvbmQuZm9udENvbG9yICYmXG4gICAgICAgICAgICBmaXJzdC5mb250RmFtaWx5ID09PSBzZWNvbmQuZm9udEZhbWlseSAmJlxuICAgICAgICAgICAgZmlyc3QuZm9udFNpemUgPT09IHNlY29uZC5mb250U2l6ZSAmJlxuICAgICAgICAgICAgZmlyc3QuaXNTbWFsbENhcHMgPT09IHNlY29uZC5pc1NtYWxsQ2FwcyAmJlxuICAgICAgICAgICAgZmlyc3QuaXRhbGljID09PSBzZWNvbmQuaXRhbGljICYmXG4gICAgICAgICAgICBmaXJzdC5zdHJpa2V0aHJvdWdoID09PSBzZWNvbmQuc3RyaWtldGhyb3VnaCAmJlxuICAgICAgICAgICAgZmlyc3QudW5kZXJsaW5lID09PSBzZWNvbmQudW5kZXJsaW5lICYmXG4gICAgICAgICAgICBmaXJzdC52ZXJ0aWNhbEFsaWdubWVudCA9PT0gc2Vjb25kLnZlcnRpY2FsQWxpZ25tZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbWJpbmVUZXh0U3R5bGVzKGN1cnJlbnQ6IFRleHRTdHlsZU1vZGVsLCBwYXJlbnQ6IFRleHRTdHlsZU1vZGVsKTogVGV4dFN0eWxlTW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IFRleHRTdHlsZU1vZGVsKHtcbiAgICAgICAgICAgIGhpZ2hsaWdodENvbG9yOiBjdXJyZW50LmhpZ2hsaWdodENvbG9yID8/IHBhcmVudC5oaWdobGlnaHRDb2xvcixcbiAgICAgICAgICAgIGJvbGQ6IGN1cnJlbnQuYm9sZCA/PyBwYXJlbnQuYm9sZCxcbiAgICAgICAgICAgIGZvbnRDb2xvcjogY3VycmVudC5mb250Q29sb3IgPz8gcGFyZW50LmZvbnRDb2xvcixcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IGN1cnJlbnQuZm9udEZhbWlseSA/PyBwYXJlbnQuZm9udEZhbWlseSxcbiAgICAgICAgICAgIGZvbnRTaXplOiBjdXJyZW50LmZvbnRTaXplID8/IHBhcmVudC5mb250U2l6ZSxcbiAgICAgICAgICAgIGhlYWRpbmdTdHlsZUlkOiBjdXJyZW50LmhlYWRpbmdTdHlsZUlkID8/IHBhcmVudC5oZWFkaW5nU3R5bGVJZCxcbiAgICAgICAgICAgIGlzU21hbGxDYXBzOiBjdXJyZW50LmlzU21hbGxDYXBzID8/IHBhcmVudC5pc1NtYWxsQ2FwcyxcbiAgICAgICAgICAgIGl0YWxpYzogY3VycmVudC5pdGFsaWMgPz8gcGFyZW50Lml0YWxpYyxcbiAgICAgICAgICAgIHN0cmlrZXRocm91Z2g6IGN1cnJlbnQuc3RyaWtldGhyb3VnaCA/PyBwYXJlbnQuc3RyaWtldGhyb3VnaCxcbiAgICAgICAgICAgIHVuZGVybGluZTogY3VycmVudC51bmRlcmxpbmUgPz8gcGFyZW50LnVuZGVybGluZSxcbiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ25tZW50OiBjdXJyZW50LnZlcnRpY2FsQWxpZ25tZW50ID8/IHBhcmVudC52ZXJ0aWNhbEFsaWdubWVudFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -20,4 +20,4 @@ export class FormatHelper {
20
20
  return result;
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2hlbHBlcnMvZm9ybWF0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTVFLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBc0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQzVFLElBQUksTUFBTSxHQUFrQixFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLFVBQVUsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLFFBQVEsRUFBRTtnQkFDaEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQy9DO2lCQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQUU7Z0JBQ3JFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0c7aUJBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLFVBQVUsRUFBRTtnQkFDeEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVIO2lCQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQUU7Z0JBQ3BFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM5SDtTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtYXRIZWxwZXIge1xuICAgIHN0YXRpYyBzbGljZVNlY3Rpb24oZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogRm9ybWF0TW9kZWxbXSB7XG4gICAgICAgIGxldCByZXN1bHQ6IEZvcm1hdE1vZGVsW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgICAgICAgICAgaWYgKGZvcm1hdC5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgZm9ybWF0LmVuZEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEZvcm1hdE1vZGVsKHsgLi4uZm9ybWF0IH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0LnN0YXJ0SW5kZXggPCBzdGFydEluZGV4ICYmIGZvcm1hdC5lbmRJbmRleCA+IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEZvcm1hdE1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIHRleHRTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKGZvcm1hdC50ZXh0U3R5bGUpIH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0LnN0YXJ0SW5kZXggPCBzdGFydEluZGV4ICYmIGZvcm1hdC5lbmRJbmRleCA+PSBzdGFydEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEZvcm1hdE1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXg6IGZvcm1hdC5lbmRJbmRleCwgdGV4dFN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoZm9ybWF0LnRleHRTdHlsZSkgfSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQuc3RhcnRJbmRleCA8PSBlbmRJbmRleCAmJiBmb3JtYXQuZW5kSW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBGb3JtYXRNb2RlbCh7IHN0YXJ0SW5kZXg6IGZvcm1hdC5zdGFydEluZGV4LCBlbmRJbmRleCwgdGV4dFN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoZm9ybWF0LnRleHRTdHlsZSkgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb250ZW50L2hlbHBlcnMvZm9ybWF0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTVFLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBc0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQzVFLElBQUksTUFBTSxHQUFrQixFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLFVBQVUsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLFFBQVEsRUFBRTtnQkFDaEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQy9DO2lCQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQUU7Z0JBQ3JFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0c7aUJBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLFVBQVUsRUFBRTtnQkFDeEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVIO2lCQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQUU7Z0JBQ3BFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM5SDtTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtYXRIZWxwZXIge1xuICAgIHN0YXRpYyBzbGljZVNlY3Rpb24oZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogRm9ybWF0TW9kZWxbXSB7XG4gICAgICAgIGxldCByZXN1bHQ6IEZvcm1hdE1vZGVsW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgICAgICAgICAgaWYgKGZvcm1hdC5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgZm9ybWF0LmVuZEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEZvcm1hdE1vZGVsKHsgLi4uZm9ybWF0IH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0LnN0YXJ0SW5kZXggPCBzdGFydEluZGV4ICYmIGZvcm1hdC5lbmRJbmRleCA+IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEZvcm1hdE1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIHRleHRTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKGZvcm1hdC50ZXh0U3R5bGUpIH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0LnN0YXJ0SW5kZXggPCBzdGFydEluZGV4ICYmIGZvcm1hdC5lbmRJbmRleCA+PSBzdGFydEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEZvcm1hdE1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXg6IGZvcm1hdC5lbmRJbmRleCwgdGV4dFN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoZm9ybWF0LnRleHRTdHlsZSkgfSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQuc3RhcnRJbmRleCA8PSBlbmRJbmRleCAmJiBmb3JtYXQuZW5kSW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBGb3JtYXRNb2RlbCh7IHN0YXJ0SW5kZXg6IGZvcm1hdC5zdGFydEluZGV4LCBlbmRJbmRleCwgdGV4dFN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoZm9ybWF0LnRleHRTdHlsZSkgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
@@ -3,4 +3,4 @@ export class IndexedElementHelper {
3
3
  return elements.filter(x => x.insertIndex >= startIndex && x.insertIndex <= endIndex);
4
4
  }
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbGVtZW50LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2hlbHBlcnMvaW5kZXhlZC1lbGVtZW50LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLE1BQU0sQ0FBQyxZQUFZLENBQWlDLFFBQWEsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQ25HLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zZXJ0SW5kZXhJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luc2VydC1pbmRleC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgSW5kZXhlZEVsZW1lbnRIZWxwZXIge1xuICAgIHN0YXRpYyBzbGljZVNlY3Rpb248VCBleHRlbmRzIEluc2VydEluZGV4SW50ZXJmYWNlPihlbGVtZW50czogVFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIpOiBUW10ge1xuICAgICAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKHggPT4geC5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguaW5zZXJ0SW5kZXggPD0gZW5kSW5kZXgpO1xuICAgIH1cbn1cbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbGVtZW50LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb250ZW50L2hlbHBlcnMvaW5kZXhlZC1lbGVtZW50LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLE1BQU0sQ0FBQyxZQUFZLENBQWlDLFFBQWEsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQ25HLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zZXJ0SW5kZXhJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvcG9zaXRpb25pbmcvaW5zZXJ0LWluZGV4LmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBJbmRleGVkRWxlbWVudEhlbHBlciB7XG4gICAgc3RhdGljIHNsaWNlU2VjdGlvbjxUIGV4dGVuZHMgSW5zZXJ0SW5kZXhJbnRlcmZhY2U+KGVsZW1lbnRzOiBUW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcik6IFRbXSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoeCA9PiB4Lmluc2VydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgeC5pbnNlcnRJbmRleCA8PSBlbmRJbmRleCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class ScalingHelper {
2
+ static getRatio(current, original) {
3
+ return parseFloat((current / original).toFixed(1));
4
+ }
5
+ static scale(initial, scale) {
6
+ return Math.round(initial * scale);
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGluZy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29udGVudC9oZWxwZXJzL3NjYWxpbmcuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQzdDLE9BQU8sVUFBVSxDQUFDLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQWUsRUFBRSxLQUFhO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNjYWxpbmdIZWxwZXIge1xuICAgIHN0YXRpYyBnZXRSYXRpbyhjdXJyZW50OiBudW1iZXIsIG9yaWdpbmFsOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCgoY3VycmVudCAvIG9yaWdpbmFsKS50b0ZpeGVkKDEpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc2NhbGUoaW5pdGlhbDogbnVtYmVyLCBzY2FsZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQoaW5pdGlhbCAqIHNjYWxlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { DocumentInfo } from './constants/document-info.const';
2
+ export class MarginModel {
3
+ constructor(fields) {
4
+ this.left = DocumentInfo.paddingLeft;
5
+ this.right = DocumentInfo.paddingRight;
6
+ this.top = DocumentInfo.paddingTop;
7
+ this.bottom = DocumentInfo.paddingBottom;
8
+ this.header = DocumentInfo.paddingHeader;
9
+ this.footer = DocumentInfo.paddingFooter;
10
+ if (!fields) {
11
+ return;
12
+ }
13
+ Object.assign(this, fields);
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyZ2luLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbnRlbnQvbWFyZ2luLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxNQUFNLE9BQU8sV0FBVztJQVFwQixZQUFZLE1BQTZCO1FBUHpDLFNBQUksR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQ2hDLFVBQUssR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQ2xDLFFBQUcsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBR2hDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb2N1bWVudEluZm8gfSBmcm9tICcuL2NvbnN0YW50cy9kb2N1bWVudC1pbmZvLmNvbnN0JztcblxuZXhwb3J0IGNsYXNzIE1hcmdpbk1vZGVsIHtcbiAgICBsZWZ0ID0gRG9jdW1lbnRJbmZvLnBhZGRpbmdMZWZ0O1xuICAgIHJpZ2h0ID0gRG9jdW1lbnRJbmZvLnBhZGRpbmdSaWdodDtcbiAgICB0b3AgPSBEb2N1bWVudEluZm8ucGFkZGluZ1RvcDtcbiAgICBib3R0b20gPSBEb2N1bWVudEluZm8ucGFkZGluZ0JvdHRvbTtcbiAgICBoZWFkZXIgPSBEb2N1bWVudEluZm8ucGFkZGluZ0hlYWRlcjtcbiAgICBmb290ZXIgPSBEb2N1bWVudEluZm8ucGFkZGluZ0Zvb3RlcjtcblxuICAgIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8TWFyZ2luTW9kZWw+KSB7XG4gICAgICAgIGlmICghZmllbGRzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class PageVerticalDataModel {
2
+ constructor(fields) {
3
+ if (!fields) {
4
+ return;
5
+ }
6
+ Object.assign(this, fields);
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12ZXJ0aWNhbC1kYXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbnRlbnQvcGFnZS12ZXJ0aWNhbC1kYXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFNOUIsWUFBWSxNQUF1QztRQUMvQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZVR5cGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2VkZ2VzL3BhZ2UtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFBhZ2VWZXJ0aWNhbERhdGFNb2RlbCB7XG4gICAgbWFyZ2luQm90dG9tOiBudW1iZXI7XG4gICAgbWFyZ2luVG9wOiBudW1iZXI7XG4gICAgY29udGVudEhlaWdodDogbnVtYmVyO1xuICAgIHBhZ2VUeXBlOiBQYWdlVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8UGFnZVZlcnRpY2FsRGF0YU1vZGVsPikge1xuICAgICAgICBpZiAoIWZpZWxkcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export var VerticalAlignment;
8
8
  VerticalAlignment[VerticalAlignment["Center"] = 5] = "Center";
9
9
  VerticalAlignment[VerticalAlignment["Bottom"] = 6] = "Bottom";
10
10
  })(VerticalAlignment || (VerticalAlignment = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtYWxpZ25tZW50LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9jb3JlL2VudW1zL3ZlcnRpY2FsLWFsaWdubWVudC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQVFYO0FBUkQsV0FBWSxpQkFBaUI7SUFDekIseURBQUksQ0FBQTtJQUNKLHVFQUFXLENBQUE7SUFDWCxtRUFBUyxDQUFBO0lBQ1QsaUVBQVEsQ0FBQTtJQUNSLHVEQUFHLENBQUE7SUFDSCw2REFBTSxDQUFBO0lBQ04sNkRBQU0sQ0FBQTtBQUNWLENBQUMsRUFSVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVmVydGljYWxBbGlnbm1lbnQge1xuICAgIE5vbmUsXG4gICAgU3VwZXJTY3JpcHQsXG4gICAgU3ViU2NyaXB0LFxuICAgIEJhc2VsaW5lLFxuICAgIFRvcCxcbiAgICBDZW50ZXIsXG4gICAgQm90dG9tXG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtYWxpZ25tZW50LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29udGVudC92ZXJ0aWNhbC1hbGlnbm1lbnQuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFRWDtBQVJELFdBQVksaUJBQWlCO0lBQ3pCLHlEQUFJLENBQUE7SUFDSix1RUFBVyxDQUFBO0lBQ1gsbUVBQVMsQ0FBQTtJQUNULGlFQUFRLENBQUE7SUFDUix1REFBRyxDQUFBO0lBQ0gsNkRBQU0sQ0FBQTtJQUNOLDZEQUFNLENBQUE7QUFDVixDQUFDLEVBUlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVE1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFZlcnRpY2FsQWxpZ25tZW50IHtcbiAgICBOb25lLFxuICAgIFN1cGVyU2NyaXB0LFxuICAgIFN1YlNjcmlwdCxcbiAgICBCYXNlbGluZSxcbiAgICBUb3AsXG4gICAgQ2VudGVyLFxuICAgIEJvdHRvbVxufVxuIl19