@talrace/ngx-noder 0.0.17 → 0.0.19

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 (305) hide show
  1. package/README.md +72 -9
  2. package/assets/i18n/noder.en.json +93 -0
  3. package/assets/i18n/noder.es.json +93 -0
  4. package/assets/i18n/noder.ru.json +93 -0
  5. package/fesm2022/talrace-ngx-noder.mjs +371 -298
  6. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  7. package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +1 -10
  8. package/lib/apart-components/editor-title/editor-title.component.d.ts +5 -3
  9. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
  10. package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +3 -1
  11. package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +23 -23
  12. package/lib/editor/components/edges/edge.component.d.ts +10 -3
  13. package/lib/editor/components/edges/edges.d.ts +0 -2
  14. package/lib/editor/components/external-element/external.component.d.ts +1 -1
  15. package/lib/editor/components/external-element/models/external-element.model.d.ts +3 -3
  16. package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
  17. package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
  18. package/lib/editor/components/table/overlay-menu/overlay-menu.component.d.ts +3 -1
  19. package/lib/editor/editor.module.d.ts +2 -1
  20. package/lib/editor/gadgets/scrollbar.d.ts +1 -0
  21. package/lib/translate/noder-translate.loader.d.ts +11 -0
  22. package/package.json +3 -3
  23. package/public-api.d.ts +1 -0
  24. package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
  25. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
  26. package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
  27. package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
  28. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
  29. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
  30. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
  31. package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
  32. package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
  33. package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
  34. package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
  35. package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
  36. package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
  37. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
  38. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
  39. package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
  40. package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
  41. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
  42. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
  43. package/src/lib/editor/components/_editor.theme.scss +25 -28
  44. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
  45. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
  46. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -47
  47. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -32
  48. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -64
  49. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -92
  50. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -22
  51. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
  52. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
  53. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
  54. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
  55. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
  56. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
  57. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +0 -22
  58. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
  59. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
  60. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
  61. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
  62. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -106
  63. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -24
  64. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
  65. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -84
  66. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
  67. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -127
  68. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
  69. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
  70. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
  71. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
  72. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
  73. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
  74. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
  75. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
  76. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
  77. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
  78. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
  79. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
  80. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -84
  81. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -123
  82. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
  83. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
  84. package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -99
  85. package/esm2022/lib/editor/components/edges/edges.mjs +0 -142
  86. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
  87. package/esm2022/lib/editor/components/editor.component.mjs +0 -112
  88. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
  89. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
  90. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
  91. package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
  92. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
  93. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
  94. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
  95. package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
  96. package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
  97. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
  98. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
  99. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
  100. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
  101. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
  102. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
  103. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
  104. package/esm2022/lib/editor/components/image/size.mjs +0 -2
  105. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
  106. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
  107. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
  108. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
  109. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
  110. package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
  111. package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
  112. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
  113. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
  114. package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
  115. package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
  116. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
  117. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
  118. package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
  119. package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
  120. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
  121. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
  122. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
  123. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
  124. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
  125. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
  126. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -74
  127. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
  128. package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
  129. package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
  130. package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
  131. package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
  132. package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
  133. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
  134. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
  135. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
  136. package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
  137. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
  138. package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
  139. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
  140. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
  141. package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
  142. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
  143. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
  144. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
  145. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
  146. package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
  147. package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
  148. package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
  149. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
  150. package/esm2022/lib/editor/content/margin.model.mjs +0 -16
  151. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
  152. package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
  153. package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
  154. package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
  155. package/esm2022/lib/editor/display/event.helper.mjs +0 -18
  156. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
  157. package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
  158. package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
  159. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
  160. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
  161. package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
  162. package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
  163. package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
  164. package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
  165. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
  166. package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
  167. package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
  168. package/esm2022/lib/editor/display/renderer.mjs +0 -204
  169. package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
  170. package/esm2022/lib/editor/display/renderloop.mjs +0 -26
  171. package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
  172. package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
  173. package/esm2022/lib/editor/editor.module.mjs +0 -67
  174. package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
  175. package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
  176. package/esm2022/lib/editor/execution/editor.mjs +0 -1367
  177. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
  178. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
  179. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
  180. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
  181. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
  182. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
  183. package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
  184. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
  185. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
  186. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
  187. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
  188. package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
  189. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
  190. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
  191. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
  192. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
  193. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
  194. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
  195. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
  196. package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
  197. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
  198. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
  199. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
  200. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
  201. package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -81
  202. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
  203. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
  204. package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
  205. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
  206. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
  207. package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
  208. package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
  209. package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
  210. package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
  211. package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
  212. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
  213. package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
  214. package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
  215. package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
  216. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
  217. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
  218. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
  219. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
  220. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
  221. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
  222. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  223. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
  224. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  225. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
  226. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  227. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
  228. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
  229. package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
  230. package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
  231. package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
  232. package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
  233. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
  234. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
  235. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
  236. package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
  237. package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
  238. package/esm2022/lib/editor/positioning/range.mjs +0 -94
  239. package/esm2022/lib/editor/positioning/selection.mjs +0 -351
  240. package/esm2022/lib/editor/revision.helper.mjs +0 -94
  241. package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
  242. package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
  243. package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
  244. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
  245. package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
  246. package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
  247. package/esm2022/lib/models/generated/break.model.mjs +0 -8
  248. package/esm2022/lib/models/generated/cell.model.mjs +0 -12
  249. package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
  250. package/esm2022/lib/models/generated/column.model.mjs +0 -8
  251. package/esm2022/lib/models/generated/command.model.mjs +0 -120
  252. package/esm2022/lib/models/generated/delete.model.mjs +0 -8
  253. package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
  254. package/esm2022/lib/models/generated/document.model.mjs +0 -8
  255. package/esm2022/lib/models/generated/docx.model.mjs +0 -12
  256. package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
  257. package/esm2022/lib/models/generated/edge.model.mjs +0 -8
  258. package/esm2022/lib/models/generated/element.model.mjs +0 -8
  259. package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
  260. package/esm2022/lib/models/generated/format.model.mjs +0 -12
  261. package/esm2022/lib/models/generated/heading.model.mjs +0 -16
  262. package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
  263. package/esm2022/lib/models/generated/image.model.mjs +0 -12
  264. package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
  265. package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
  266. package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
  267. package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
  268. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
  269. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
  270. package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
  271. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
  272. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
  273. package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
  274. package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
  275. package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
  276. package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
  277. package/esm2022/lib/models/generated/link.model.mjs +0 -8
  278. package/esm2022/lib/models/generated/margins.model.mjs +0 -8
  279. package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
  280. package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
  281. package/esm2022/lib/models/generated/operation.model.mjs +0 -12
  282. package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
  283. package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
  284. package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
  285. package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
  286. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
  287. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
  288. package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
  289. package/esm2022/lib/models/generated/replace.model.mjs +0 -44
  290. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
  291. package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
  292. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
  293. package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
  294. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
  295. package/esm2022/lib/models/generated/restore.model.mjs +0 -8
  296. package/esm2022/lib/models/generated/revision.model.mjs +0 -12
  297. package/esm2022/lib/models/generated/row.model.mjs +0 -8
  298. package/esm2022/lib/models/generated/tab.model.mjs +0 -8
  299. package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
  300. package/esm2022/lib/models/generated/table.model.mjs +0 -12
  301. package/esm2022/lib/models/generated/target.model.mjs +0 -16
  302. package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
  303. package/esm2022/public-api.mjs +0 -53
  304. package/esm2022/talrace-ngx-noder.mjs +0 -5
  305. package/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.d.ts +0 -8
@@ -1,11 +0,0 @@
1
- export var VerticalAlignment;
2
- (function (VerticalAlignment) {
3
- VerticalAlignment[VerticalAlignment["None"] = 0] = "None";
4
- VerticalAlignment[VerticalAlignment["SuperScript"] = 1] = "SuperScript";
5
- VerticalAlignment[VerticalAlignment["SubScript"] = 2] = "SubScript";
6
- VerticalAlignment[VerticalAlignment["Baseline"] = 3] = "Baseline";
7
- VerticalAlignment[VerticalAlignment["Top"] = 4] = "Top";
8
- VerticalAlignment[VerticalAlignment["Center"] = 5] = "Center";
9
- VerticalAlignment[VerticalAlignment["Bottom"] = 6] = "Bottom";
10
- })(VerticalAlignment || (VerticalAlignment = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtYWxpZ25tZW50LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29udGVudC92ZXJ0aWNhbC1hbGlnbm1lbnQuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFRWDtBQVJELFdBQVksaUJBQWlCO0lBQ3pCLHlEQUFJLENBQUE7SUFDSix1RUFBVyxDQUFBO0lBQ1gsbUVBQVMsQ0FBQTtJQUNULGlFQUFRLENBQUE7SUFDUix1REFBRyxDQUFBO0lBQ0gsNkRBQU0sQ0FBQTtJQUNOLDZEQUFNLENBQUE7QUFDVixDQUFDLEVBUlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVE1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFZlcnRpY2FsQWxpZ25tZW50IHtcbiAgICBOb25lLFxuICAgIFN1cGVyU2NyaXB0LFxuICAgIFN1YlNjcmlwdCxcbiAgICBCYXNlbGluZSxcbiAgICBUb3AsXG4gICAgQ2VudGVyLFxuICAgIEJvdHRvbVxufVxuIl19
@@ -1,56 +0,0 @@
1
- export class EventEmitting {
2
- constructor() {
3
- this.eventRegistry = {};
4
- }
5
- addEventListener(eventName, callback, toStart = false) {
6
- this.eventRegistry[eventName] ??= [];
7
- const listeners = this.eventRegistry[eventName];
8
- if (listeners.includes(callback)) {
9
- return callback;
10
- }
11
- if (toStart) {
12
- listeners.unshift(callback);
13
- }
14
- else {
15
- listeners.push(callback);
16
- }
17
- return callback;
18
- }
19
- removeEventListener(eventName, callback) {
20
- if (!this.eventRegistry[eventName]) {
21
- return;
22
- }
23
- const index = this.eventRegistry[eventName].indexOf(callback);
24
- if (index < 0) {
25
- return;
26
- }
27
- this.eventRegistry[eventName].splice(index, 1);
28
- }
29
- emit(eventName, data) {
30
- const listeners = this.eventRegistry[eventName]?.slice() || [];
31
- if (!listeners.length) {
32
- return;
33
- }
34
- data ??= {};
35
- data['type'] ??= eventName;
36
- for (const listener of listeners) {
37
- listener(data, this);
38
- }
39
- }
40
- signal(eventName, data) {
41
- const listeners = this.eventRegistry[eventName]?.slice() || [];
42
- if (!listeners.length) {
43
- return;
44
- }
45
- for (const listener of listeners) {
46
- listener(data, this);
47
- }
48
- }
49
- removeAllListeners(eventName) {
50
- if (!this.eventRegistry[eventName] || !this.eventRegistry[eventName].length) {
51
- return;
52
- }
53
- this.eventRegistry[eventName] = [];
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29yZS9ldmVudC1lbWl0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLGFBQWE7SUFBbkM7UUFDSSxrQkFBYSxHQUE2QixFQUFFLENBQUM7SUErRGpELENBQUM7SUE3REcsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxRQUFhLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFFRCxJQUFJLE9BQU8sRUFBRTtZQUNULFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBaUIsRUFBRSxRQUFhO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU87U0FDVjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNYLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQWlCLEVBQUUsSUFBNkI7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTLENBQUM7UUFFM0IsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7WUFDOUIsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBaUIsRUFBRSxJQUFVO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUVELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1lBQzlCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBaUI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUN6RSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYWJzdHJhY3QgY2xhc3MgRXZlbnRFbWl0dGluZyB7XG4gICAgZXZlbnRSZWdpc3RyeTogeyBba2V5OiBzdHJpbmddOiBhbnlbXSB9ID0ge307XG5cbiAgICBhZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogYW55LCB0b1N0YXJ0ID0gZmFsc2UpOiBhbnkge1xuICAgICAgICB0aGlzLmV2ZW50UmVnaXN0cnlbZXZlbnROYW1lXSA/Pz0gW107XG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuZXZlbnRSZWdpc3RyeVtldmVudE5hbWVdO1xuICAgICAgICBpZiAobGlzdGVuZXJzLmluY2x1ZGVzKGNhbGxiYWNrKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRvU3RhcnQpIHtcbiAgICAgICAgICAgIGxpc3RlbmVycy51bnNoaWZ0KGNhbGxiYWNrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3RlbmVycy5wdXNoKGNhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWxsYmFjaztcbiAgICB9XG5cbiAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV0uaW5kZXhPZihjYWxsYmFjayk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXZlbnRSZWdpc3RyeVtldmVudE5hbWVdLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuXG4gICAgZW1pdChldmVudE5hbWU6IHN0cmluZywgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV0/LnNsaWNlKCkgfHwgW107XG4gICAgICAgIGlmICghbGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YSA/Pz0ge307XG4gICAgICAgIGRhdGFbJ3R5cGUnXSA/Pz0gZXZlbnROYW1lO1xuXG4gICAgICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgbGlzdGVuZXJzKSB7XG4gICAgICAgICAgICBsaXN0ZW5lcihkYXRhLCB0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNpZ25hbChldmVudE5hbWU6IHN0cmluZywgZGF0YT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLmV2ZW50UmVnaXN0cnlbZXZlbnROYW1lXT8uc2xpY2UoKSB8fCBbXTtcbiAgICAgICAgaWYgKCFsaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mIGxpc3RlbmVycykge1xuICAgICAgICAgICAgbGlzdGVuZXIoZGF0YSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVBbGxMaXN0ZW5lcnMoZXZlbnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmV2ZW50UmVnaXN0cnlbZXZlbnROYW1lXSB8fCAhdGhpcy5ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV0ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV2ZW50UmVnaXN0cnlbZXZlbnROYW1lXSA9IFtdO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZGlzcGxheS9jZWxsLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDZWxsIHtcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICByb3c6IG51bWJlcjtcbiAgICBwYWdlOiBudW1iZXI7XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- export class EventHelper {
2
- static get nextFrame() {
3
- if (!this._nextFrame) {
4
- const nextFrame = (callback) => {
5
- setTimeout(callback, 17);
6
- };
7
- this._nextFrame =
8
- window.requestAnimationFrame ||
9
- window['webkitRequestAnimationFrame'] ||
10
- window['mozRequestAnimationFrame'] ||
11
- window['msRequestAnimationFrame'] ||
12
- window['oRequestAnimationFrame'] ||
13
- nextFrame;
14
- }
15
- return this._nextFrame;
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2Rpc3BsYXkvZXZlbnQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sS0FBSyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBb0IsRUFBRSxFQUFFO2dCQUN2QyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVO2dCQUNYLE1BQU0sQ0FBQyxxQkFBcUI7b0JBQzVCLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQztvQkFDckMsTUFBTSxDQUFDLDBCQUEwQixDQUFDO29CQUNsQyxNQUFNLENBQUMseUJBQXlCLENBQUM7b0JBQ2pDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDaEMsU0FBUyxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFdmVudEhlbHBlciB7XG4gICAgc3RhdGljIGdldCBuZXh0RnJhbWUoKTogKGNhbGxiYWNrOiBUaW1lckhhbmRsZXIpID0+IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5fbmV4dEZyYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0RnJhbWUgPSAoY2FsbGJhY2s6ICgpID0+IHZvaWQpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNhbGxiYWNrLCAxNyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5fbmV4dEZyYW1lID1cbiAgICAgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8XG4gICAgICAgICAgICAgICAgd2luZG93Wyd3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXSB8fFxuICAgICAgICAgICAgICAgIHdpbmRvd1snbW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lJ10gfHxcbiAgICAgICAgICAgICAgICB3aW5kb3dbJ21zUmVxdWVzdEFuaW1hdGlvbkZyYW1lJ10gfHxcbiAgICAgICAgICAgICAgICB3aW5kb3dbJ29SZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXSB8fFxuICAgICAgICAgICAgICAgIG5leHRGcmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9uZXh0RnJhbWU7XG4gICAgfVxuICAgIHByaXZhdGUgc3RhdGljIF9uZXh0RnJhbWU6IChjYWxsYmFjazogVGltZXJIYW5kbGVyKSA9PiBudW1iZXI7XG59XG4iXX0=
@@ -1,102 +0,0 @@
1
- import { ContentStyleHelper } from '../../content/helpers/content-style.helper';
2
- import { DomHelper } from '../../execution/helpers/dom.helper';
3
- import { FontMetrics } from '../../gadgets/font-metrics/font-metrics.helper';
4
- import { PositionHelper } from '../../positioning/position.helper';
5
- import { TextStyleModel } from '../../../models/generated/text-style.model';
6
- export class CursorLayer {
7
- constructor(parentElement, session) {
8
- this.session = session;
9
- this.blinkInterval = 1000;
10
- this.layer = document.createElement('div');
11
- this.layer.className = 'noder-layer noder-cursor-layer';
12
- parentElement.appendChild(this.layer);
13
- this.cursor = document.createElement('div');
14
- this.cursor.className = 'noder-cursor';
15
- this.layer.appendChild(this.cursor);
16
- this.hideCursor();
17
- }
18
- hideCursor() {
19
- this.isVisible = false;
20
- DomHelper.addCssClass(this.layer, 'noder-hidden-cursors');
21
- this.removeAnimationClass();
22
- }
23
- showCursor() {
24
- this.isVisible = true;
25
- DomHelper.removeCssClass(this.layer, 'noder-hidden-cursors');
26
- this.addAnimationClass();
27
- }
28
- detectVisibility() {
29
- const selectionRange = this.session.selection.selectedRange;
30
- if (selectionRange.isEmpty) {
31
- DomHelper.removeCssClass(this.layer, 'selecting');
32
- return;
33
- }
34
- DomHelper.addCssClass(this.layer, 'selecting');
35
- }
36
- update(config) {
37
- this.cursorPosition = this.getPixelPosition();
38
- this.drawCursor(config.maxHeight);
39
- this.detectVisibility();
40
- this.restartAnimation();
41
- }
42
- getPixelPosition(position) {
43
- if (!position) {
44
- position = this.session.selection.cursor;
45
- }
46
- return PositionHelper.documentToPixel(this.session, position);
47
- }
48
- addTextStylesToCursor() {
49
- const textStyle = this.session.editorService.styles;
50
- DomHelper.setStyle(this.cursor.style, 'border-color', textStyle.fontColor);
51
- DomHelper.setStyle(this.cursor.style, 'fontSize', `${textStyle.fontSize}px`);
52
- if (textStyle.italic) {
53
- DomHelper.setStyle(this.cursor.style, '-webkit-transform', 'skewX(-13deg)');
54
- }
55
- else {
56
- DomHelper.setStyle(this.cursor.style, '-webkit-transform', 'skewX(0)');
57
- }
58
- const metricSize = FontMetrics.measureCharSize('EMPTY_LINE', ContentStyleHelper.getFontStylesString(new TextStyleModel({
59
- italic: textStyle.italic,
60
- bold: textStyle.bold,
61
- fontSize: textStyle.fontSize,
62
- fontFamily: textStyle.fontFamily
63
- })));
64
- const fontMetricHeight = metricSize.ascent + metricSize.descent;
65
- const maxHeight = this.cursorPosition.sizeMax.ascent + this.cursorPosition.sizeMax.descent;
66
- const fontShoulders = fontMetricHeight - metricSize.font;
67
- const offset = metricSize.descent - fontShoulders;
68
- let top = this.cursorPosition.pageY + this.cursorPosition.sizeMax.ascent - metricSize.font + offset;
69
- if (fontMetricHeight !== maxHeight && maxHeight >= this.cursorPosition.lineHeight) {
70
- top -= maxHeight - this.cursorPosition.lineHeight;
71
- }
72
- DomHelper.setStyle(this.cursor.style, 'top', `${top < 0 ? 0 : top}px`);
73
- DomHelper.setStyle(this.cursor.style, 'height', `${fontMetricHeight}px`);
74
- }
75
- restartAnimation() {
76
- this.removeAnimationClass();
77
- if (!this.isVisible) {
78
- return;
79
- }
80
- this.addAnimationClass();
81
- }
82
- drawCursor(maxLayerHeight) {
83
- const isCursorInView = this.cursorPosition.pageY >= 0 && this.cursorPosition.pageY < maxLayerHeight;
84
- if (!isCursorInView) {
85
- DomHelper.setStyle(this.cursor.style, 'display', 'none');
86
- return;
87
- }
88
- DomHelper.setStyle(this.cursor.style, 'display', 'block');
89
- const currentSize = this.cursorPosition.sizeCurrent;
90
- DomHelper.setStyle(this.cursor.style, 'left', `${this.cursorPosition.pageX}px`);
91
- DomHelper.setStyle(this.cursor.style, 'width', `${currentSize.width}px`);
92
- this.addTextStylesToCursor();
93
- }
94
- removeAnimationClass() {
95
- DomHelper.removeCssClass(this.layer, 'noder-animate-blinking');
96
- }
97
- addAnimationClass() {
98
- this.cursor.style.animationDuration = `${this.blinkInterval}ms`;
99
- DomHelper.addCssClass(this.layer, 'noder-animate-blinking');
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vyc29yLmxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2Rpc3BsYXkvbGF5ZXJzL2N1cnNvci5sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUdoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFNUUsTUFBTSxPQUFPLFdBQVc7SUFXcEIsWUFBWSxhQUEwQixFQUFVLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFKbkQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFLbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGdDQUFnQyxDQUFDO1FBQ3hELGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcs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USxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxPQUFPO1NBQ1Y7UUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoRixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQztRQUNoRSxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50U3R5bGVIZWxwZXIgfSBmcm9tICcuLi8uLi9jb250ZW50L2hlbHBlcnMvY29udGVudC1zdHlsZS5oZWxwZXInO1xuaW1wb3J0IHsgQ3Vyc29yUGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvY3Vyc29yLXBhcmFncmFwaCc7XG5pbXBvcnQgeyBDdXJzb3JQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL2N1cnNvci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgRm9udE1ldHJpY3MgfSBmcm9tICcuLi8uLi9nYWRnZXRzL2ZvbnQtbWV0cmljcy9mb250LW1ldHJpY3MuaGVscGVyJztcbmltcG9ydCB7IElMYXllckNvbmZpZyB9IGZyb20gJy4vbGF5ZXIuY29uZmlnJztcbmltcG9ydCB7IFBvc2l0aW9uSGVscGVyIH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvcG9zaXRpb24uaGVscGVyJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEN1cnNvckxheWVyIHtcbiAgICBjdXJzb3JQb3NpdGlvbjogQ3Vyc29yUG9zaXRpb247XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cnNvcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheWVyOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmxpbmtJbnRlcnZhbCA9IDEwMDA7XG5cbiAgICBpc1Zpc2libGU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCwgcHJpdmF0ZSBzZXNzaW9uOiBFZGl0U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmxheWVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMubGF5ZXIuY2xhc3NOYW1lID0gJ25vZGVyLWxheWVyIG5vZGVyLWN1cnNvci1sYXllcic7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5sYXllcik7XG5cbiAgICAgICAgdGhpcy5jdXJzb3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5jdXJzb3IuY2xhc3NOYW1lID0gJ25vZGVyLWN1cnNvcic7XG4gICAgICAgIHRoaXMubGF5ZXIuYXBwZW5kQ2hpbGQodGhpcy5jdXJzb3IpO1xuXG4gICAgICAgIHRoaXMuaGlkZUN1cnNvcigpO1xuICAgIH1cblxuICAgIGhpZGVDdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIERvbUhlbHBlci5hZGRDc3NDbGFzcyh0aGlzLmxheWVyLCAnbm9kZXItaGlkZGVuLWN1cnNvcnMnKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbmltYXRpb25DbGFzcygpO1xuICAgIH1cblxuICAgIHNob3dDdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMubGF5ZXIsICdub2Rlci1oaWRkZW4tY3Vyc29ycycpO1xuICAgICAgICB0aGlzLmFkZEFuaW1hdGlvbkNsYXNzKCk7XG4gICAgfVxuXG4gICAgZGV0ZWN0VmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmFuZ2UgPSB0aGlzLnNlc3Npb24uc2VsZWN0aW9uLnNlbGVjdGVkUmFuZ2U7XG4gICAgICAgIGlmIChzZWxlY3Rpb25SYW5nZS5pc0VtcHR5KSB7XG4gICAgICAgICAgICBEb21IZWxwZXIucmVtb3ZlQ3NzQ2xhc3ModGhpcy5sYXllciwgJ3NlbGVjdGluZycpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBEb21IZWxwZXIuYWRkQ3NzQ2xhc3ModGhpcy5sYXllciwgJ3NlbGVjdGluZycpO1xuICAgIH1cblxuICAgIHVwZGF0ZShjb25maWc6IElMYXllckNvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnNvclBvc2l0aW9uID0gdGhpcy5nZXRQaXhlbFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuZHJhd0N1cnNvcihjb25maWcubWF4SGVpZ2h0KTtcbiAgICAgICAgdGhpcy5kZXRlY3RWaXNpYmlsaXR5KCk7XG4gICAgICAgIHRoaXMucmVzdGFydEFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIGdldFBpeGVsUG9zaXRpb24ocG9zaXRpb24/OiBDdXJzb3JQYXJhZ3JhcGgpOiBDdXJzb3JQb3NpdGlvbiB7XG4gICAgICAgIGlmICghcG9zaXRpb24pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gdGhpcy5zZXNzaW9uLnNlbGVjdGlvbi5jdXJzb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUG9zaXRpb25IZWxwZXIuZG9jdW1lbnRUb1BpeGVsKHRoaXMuc2Vzc2lvbiwgcG9zaXRpb24pO1xuICAgIH1cblxuICAgIGFkZFRleHRTdHlsZXNUb0N1cnNvcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGhpcy5zZXNzaW9uLmVkaXRvclNlcnZpY2Uuc3R5bGVzO1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jdXJzb3Iuc3R5bGUsICdib3JkZXItY29sb3InLCB0ZXh0U3R5bGUuZm9udENvbG9yKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnZm9udFNpemUnLCBgJHt0ZXh0U3R5bGUuZm9udFNpemV9cHhgKTtcblxuICAgICAgICBpZiAodGV4dFN0eWxlLml0YWxpYykge1xuICAgICAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnLXdlYmtpdC10cmFuc2Zvcm0nLCAnc2tld1goLTEzZGVnKScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnLXdlYmtpdC10cmFuc2Zvcm0nLCAnc2tld1goMCknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1ldHJpY1NpemUgPSBGb250TWV0cmljcy5tZWFzdXJlQ2hhclNpemUoXG4gICAgICAgICAgICAnRU1QVFlfTElORScsXG4gICAgICAgICAgICBDb250ZW50U3R5bGVIZWxwZXIuZ2V0Rm9udFN0eWxlc1N0cmluZyhcbiAgICAgICAgICAgICAgICBuZXcgVGV4dFN0eWxlTW9kZWwoe1xuICAgICAgICAgICAgICAgICAgICBpdGFsaWM6IHRleHRTdHlsZS5pdGFsaWMsXG4gICAgICAgICAgICAgICAgICAgIGJvbGQ6IHRleHRTdHlsZS5ib2xkLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogdGV4dFN0eWxlLmZvbnRTaXplLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiB0ZXh0U3R5bGUuZm9udEZhbWlseVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZvbnRNZXRyaWNIZWlnaHQgPSBtZXRyaWNTaXplLmFzY2VudCArIG1ldHJpY1NpemUuZGVzY2VudDtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5zaXplTWF4LmFzY2VudCArIHRoaXMuY3Vyc29yUG9zaXRpb24uc2l6ZU1heC5kZXNjZW50O1xuICAgICAgICBjb25zdCBmb250U2hvdWxkZXJzID0gZm9udE1ldHJpY0hlaWdodCAtIG1ldHJpY1NpemUuZm9udDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbWV0cmljU2l6ZS5kZXNjZW50IC0gZm9udFNob3VsZGVycztcblxuICAgICAgICBsZXQgdG9wID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5wYWdlWSArIHRoaXMuY3Vyc29yUG9zaXRpb24uc2l6ZU1heC5hc2NlbnQgLSBtZXRyaWNTaXplLmZvbnQgKyBvZmZzZXQ7XG4gICAgICAgIGlmIChmb250TWV0cmljSGVpZ2h0ICE9PSBtYXhIZWlnaHQgJiYgbWF4SGVpZ2h0ID49IHRoaXMuY3Vyc29yUG9zaXRpb24ubGluZUhlaWdodCkge1xuICAgICAgICAgICAgdG9wIC09IG1heEhlaWdodCAtIHRoaXMuY3Vyc29yUG9zaXRpb24ubGluZUhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ3RvcCcsIGAke3RvcCA8IDAgPyAwIDogdG9wfXB4YCk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ2hlaWdodCcsIGAke2ZvbnRNZXRyaWNIZWlnaHR9cHhgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RhcnRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQW5pbWF0aW9uQ2xhc3MoKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGRBbmltYXRpb25DbGFzcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhd0N1cnNvcihtYXhMYXllckhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ3Vyc29ySW5WaWV3ID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5wYWdlWSA+PSAwICYmIHRoaXMuY3Vyc29yUG9zaXRpb24ucGFnZVkgPCBtYXhMYXllckhlaWdodDtcbiAgICAgICAgaWYgKCFpc0N1cnNvckluVmlldykge1xuICAgICAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jdXJzb3Iuc3R5bGUsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTaXplID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5zaXplQ3VycmVudDtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnbGVmdCcsIGAke3RoaXMuY3Vyc29yUG9zaXRpb24ucGFnZVh9cHhgKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnd2lkdGgnLCBgJHtjdXJyZW50U2l6ZS53aWR0aH1weGApO1xuICAgICAgICB0aGlzLmFkZFRleHRTdHlsZXNUb0N1cnNvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQW5pbWF0aW9uQ2xhc3MoKTogdm9pZCB7XG4gICAgICAgIERvbUhlbHBlci5yZW1vdmVDc3NDbGFzcyh0aGlzLmxheWVyLCAnbm9kZXItYW5pbWF0ZS1ibGlua2luZycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQW5pbWF0aW9uQ2xhc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3Vyc29yLnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0gYCR7dGhpcy5ibGlua0ludGVydmFsfW1zYDtcbiAgICAgICAgRG9tSGVscGVyLmFkZENzc0NsYXNzKHRoaXMubGF5ZXIsICdub2Rlci1hbmltYXRlLWJsaW5raW5nJyk7XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2Rpc3BsYXkvbGF5ZXJzL2xheWVyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlzdGFuY2VNb2RlbCB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9kaXN0YW5jZS5tb2RlbCc7XG5pbXBvcnQgeyBWaXNpYmxlUmFuZ2UgfSBmcm9tICcuLi92aXNpYmxlLXJhbmdlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxheWVyQ29uZmlnIHtcbiAgICBjb250ZW50UmFuZ2U6IERpc3RhbmNlTW9kZWw7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICBtaW5IZWlnaHQ6IG51bWJlcjtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBvZmZzZXQ6IG51bWJlcjtcbiAgICBzY3JvbGxUb3A6IG51bWJlcjtcbiAgICBwYWdlcz86IG51bWJlcltdO1xuICAgIHZpc2libGVSYW5nZT86IFZpc2libGVSYW5nZTtcbn1cbiJdfQ==
@@ -1,109 +0,0 @@
1
- import { DocumentInfo } from '../../content/constants/document-info.const';
2
- import { DomHelper } from '../../execution/helpers/dom.helper';
3
- import { EventEmitting } from '../../core/event-emitting';
4
- export class PagesLayer extends EventEmitting {
5
- get pageSize() {
6
- return this._pageSize || DocumentInfo.height;
7
- }
8
- get pagesCount() {
9
- return this._pagesCount || 1;
10
- }
11
- constructor(parentElement, mainSession) {
12
- super();
13
- this.parentElement = parentElement;
14
- this.mainSession = mainSession;
15
- this.pageBreakElements = [];
16
- this.pagesCountChangedHandler = (event) => {
17
- if (this._pageSize === event.pageHeight && this._pagesCount === event.pagesCount) {
18
- return;
19
- }
20
- this._pageSize = event.pageHeight || DocumentInfo.height;
21
- this._pagesCount = event.pagesCount;
22
- this.setContainerSize();
23
- };
24
- this.element = document.createElement('div');
25
- this.element.className = 'noder-layer ace_pages-layer';
26
- parentElement.insertAdjacentElement('afterbegin', this.element);
27
- this.setContainerSize();
28
- this.rulerLeft = document.createElement('div');
29
- this.rulerLeft.className = 'ruler-line';
30
- this.rulerRight = document.createElement('div');
31
- this.rulerRight.className = 'ruler-line';
32
- this.element.appendChild(this.rulerLeft);
33
- this.element.appendChild(this.rulerRight);
34
- this.mainSession.displayData.addEventListener('pagesCountChanged', this.pagesCountChangedHandler);
35
- }
36
- update(config) {
37
- DomHelper.translate(this.element, 0, -config.scrollTop);
38
- const pageSpace = this.getPageSpace();
39
- const pageHeight = this.mainSession.displayData.pageHeight;
40
- const pages = config.pages || [];
41
- let minPage = pages[0] || 1;
42
- const maxPage = pages[pages.length - 1] || 1;
43
- if (minPage > 1 && config.scrollTop <= (minPage - 1) * (pageHeight + pageSpace) + pageSpace) {
44
- minPage--;
45
- }
46
- const lastPageNumber = (config.maxHeight - pageSpace) / (config.minHeight - pageSpace);
47
- // to convert to an integer with errors in calculations for floating-point numbers, for example 4.001 => 4 or 3.999 => 4
48
- this.mainSession.editorService.setLastPageNumber(Math.round(lastPageNumber));
49
- if (pages.length > 1) {
50
- const pagesHeight = config.height - pageSpace + config.scrollTop;
51
- const minPageHeight = config.minHeight - pageSpace;
52
- const currentPage = Math.round(pagesHeight / minPageHeight);
53
- this.mainSession.editorService.setCurrentPage(currentPage);
54
- }
55
- else {
56
- this.mainSession.editorService.setCurrentPage(pages[0]);
57
- }
58
- if (this.minPageNumber !== minPage || this.maxPageNumber !== maxPage || minPage === 1) {
59
- this.minPageNumber = minPage;
60
- this.maxPageNumber = maxPage;
61
- this.removePages();
62
- this.addPages(pageSpace, pageHeight);
63
- }
64
- }
65
- showRullerLines(positions) {
66
- if (!positions || positions.length !== 2) {
67
- DomHelper.removeCssClass(this.rulerLeft, 'visible');
68
- DomHelper.removeCssClass(this.rulerRight, 'visible');
69
- return;
70
- }
71
- DomHelper.setStyle(this.rulerLeft.style, 'left', `${positions[0]}px`);
72
- DomHelper.addCssClass(this.rulerLeft, 'visible');
73
- DomHelper.setStyle(this.rulerRight.style, 'left', `${positions[1]}px`);
74
- DomHelper.addCssClass(this.rulerRight, 'visible');
75
- }
76
- destroy() {
77
- this.mainSession.displayData.removeEventListener('pagesCountChanged', this.pagesCountChangedHandler);
78
- }
79
- // Used to be overridden by the print page layer for printing
80
- getPageSpace() {
81
- return this.mainSession.displayData.pagesSpace;
82
- }
83
- removePages() {
84
- while (this.pageBreakElements?.length) {
85
- const element = this.pageBreakElements.pop();
86
- element.parentNode.removeChild(element);
87
- }
88
- }
89
- addPages(pageSpace, pageHeight) {
90
- for (let page = this.minPageNumber; page <= this.maxPageNumber; page++) {
91
- const element = document.createElement('div');
92
- element.className = 'page';
93
- element.style.height = `${pageHeight}px`;
94
- element.style.top = `${(page - 1) * (pageHeight + pageSpace) + pageSpace}px`;
95
- if (page > 1) {
96
- let pageLabel = document.createElement('span');
97
- pageLabel.className = 'page-label';
98
- pageLabel.innerText = `${page}.`;
99
- element.appendChild(pageLabel);
100
- }
101
- this.element.appendChild(element);
102
- this.pageBreakElements.push(element);
103
- }
104
- }
105
- setContainerSize() {
106
- this.element.style.height = `${(this.pagesCount + 1) * this.pageSize}px`;
107
- }
108
- }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMubGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZGlzcGxheS9sYXllcnMvcGFnZXMubGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHMUQsTUFBTSxPQUFPLFVBQVcsU0FBUSxhQUFhO0lBYXpDLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ2pELENBQUM7SUFHRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHRCxZQUFtQixhQUEwQixFQUFVLFdBQXdCO1FBQzNFLEtBQUssRUFBRSxDQUFDO1FBRE8sa0JBQWEsR0FBYixhQUFhLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCL0Usc0JBQWlCLEdBQWtCLEVBQUUsQ0FBQztRQTBIOUIsNkJBQXdCLEdBQUcsQ0FBQyxLQUFpRCxFQUFRLEVBQUU7WUFDM0YsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsVUFBVSxFQUFFO2dCQUM5RSxPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7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LFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDO0lBQzdFLENBQUM7Q0FXSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50SW5mbyB9IGZyb20gJy4uLy4uL2NvbnRlbnQvY29uc3RhbnRzL2RvY3VtZW50LWluZm8uY29uc3QnO1xuaW1wb3J0IHsgRG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGluZyB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnQtZW1pdHRpbmcnO1xuaW1wb3J0IHsgSUxheWVyQ29uZmlnIH0gZnJvbSAnLi9sYXllci5jb25maWcnO1xuXG5leHBvcnQgY2xhc3MgUGFnZXNMYXllciBleHRlbmRzIEV2ZW50RW1pdHRpbmcge1xuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgcGFnZUJyZWFrRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAgIG1pblBhZ2VOdW1iZXI6IG51bWJlcjtcblxuICAgIG1heFBhZ2VOdW1iZXI6IG51bWJlcjtcblxuICAgIHJ1bGVyTGVmdDogSFRNTEVsZW1lbnQ7XG5cbiAgICBydWxlclJpZ2h0OiBIVE1MRWxlbWVudDtcblxuICAgIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFnZVNpemUgfHwgRG9jdW1lbnRJbmZvLmhlaWdodDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcGFnZVNpemU6IG51bWJlcjtcblxuICAgIGdldCBwYWdlc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYWdlc0NvdW50IHx8IDE7XG4gICAgfVxuICAgIHByaXZhdGUgX3BhZ2VzQ291bnQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCwgcHJpdmF0ZSBtYWluU2Vzc2lvbjogRWRpdFNlc3Npb24pIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTmFtZSA9ICdub2Rlci1sYXllciBhY2VfcGFnZXMtbGF5ZXInO1xuICAgICAgICBwYXJlbnRFbGVtZW50Lmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJiZWdpbicsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyU2l6ZSgpO1xuXG4gICAgICAgIHRoaXMucnVsZXJMZWZ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucnVsZXJMZWZ0LmNsYXNzTmFtZSA9ICdydWxlci1saW5lJztcbiAgICAgICAgdGhpcy5ydWxlclJpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucnVsZXJSaWdodC5jbGFzc05hbWUgPSAncnVsZXItbGluZSc7XG4gICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnJ1bGVyTGVmdCk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnJ1bGVyUmlnaHQpO1xuICAgICAgICB0aGlzLm1haW5TZXNzaW9uLmRpc3BsYXlEYXRhLmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VzQ291bnRDaGFuZ2VkJywgdGhpcy5wYWdlc0NvdW50Q2hhbmdlZEhhbmRsZXIpO1xuICAgIH1cblxuICAgIHVwZGF0ZShjb25maWc6IElMYXllckNvbmZpZyk6IHZvaWQge1xuICAgICAgICBEb21IZWxwZXIudHJhbnNsYXRlKHRoaXMuZWxlbWVudCwgMCwgLWNvbmZpZy5zY3JvbGxUb3ApO1xuXG4gICAgICAgIGNvbnN0IHBhZ2VTcGFjZSA9IHRoaXMuZ2V0UGFnZVNwYWNlKCk7XG4gICAgICAgIGNvbnN0IHBhZ2VIZWlnaHQgPSB0aGlzLm1haW5TZXNzaW9uLmRpc3BsYXlEYXRhLnBhZ2VIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHBhZ2VzID0gY29uZmlnLnBhZ2VzIHx8IFtdO1xuICAgICAgICBsZXQgbWluUGFnZSA9IHBhZ2VzWzBdIHx8IDE7XG4gICAgICAgIGNvbnN0IG1heFBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXSB8fCAxO1xuICAgICAgICBpZiAobWluUGFnZSA+IDEgJiYgY29uZmlnLnNjcm9sbFRvcCA8PSAobWluUGFnZSAtIDEpICogKHBhZ2VIZWlnaHQgKyBwYWdlU3BhY2UpICsgcGFnZVNwYWNlKSB7XG4gICAgICAgICAgICBtaW5QYWdlLS07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXN0UGFnZU51bWJlciA9IChjb25maWcubWF4SGVpZ2h0IC0gcGFnZVNwYWNlKSAvIChjb25maWcubWluSGVpZ2h0IC0gcGFnZVNwYWNlKTtcbiAgICAgICAgLy8gdG8gY29udmVydCB0byBhbiBpbnRlZ2VyIHdpdGggZXJyb3JzIGluIGNhbGN1bGF0aW9ucyBmb3IgZmxvYXRpbmctcG9pbnQgbnVtYmVycywgZm9yIGV4YW1wbGUgNC4wMDEgPT4gNCBvciAzLjk5OSA9PiA0XG4gICAgICAgIHRoaXMubWFpblNlc3Npb24uZWRpdG9yU2VydmljZS5zZXRMYXN0UGFnZU51bWJlcihNYXRoLnJvdW5kKGxhc3RQYWdlTnVtYmVyKSk7XG4gICAgICAgIGlmIChwYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBjb25zdCBwYWdlc0hlaWdodCA9IGNvbmZpZy5oZWlnaHQgLSBwYWdlU3BhY2UgKyBjb25maWcuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgY29uc3QgbWluUGFnZUhlaWdodCA9IGNvbmZpZy5taW5IZWlnaHQgLSBwYWdlU3BhY2U7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9IE1hdGgucm91bmQocGFnZXNIZWlnaHQgLyBtaW5QYWdlSGVpZ2h0KTtcbiAgICAgICAgICAgIHRoaXMubWFpblNlc3Npb24uZWRpdG9yU2VydmljZS5zZXRDdXJyZW50UGFnZShjdXJyZW50UGFnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1haW5TZXNzaW9uLmVkaXRvclNlcnZpY2Uuc2V0Q3VycmVudFBhZ2UocGFnZXNbMF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWluUGFnZU51bWJlciAhPT0gbWluUGFnZSB8fCB0aGlzLm1heFBhZ2VOdW1iZXIgIT09IG1heFBhZ2UgfHwgbWluUGFnZSA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5taW5QYWdlTnVtYmVyID0gbWluUGFnZTtcbiAgICAgICAgICAgIHRoaXMubWF4UGFnZU51bWJlciA9IG1heFBhZ2U7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVBhZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmFkZFBhZ2VzKHBhZ2VTcGFjZSwgcGFnZUhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93UnVsbGVyTGluZXMocG9zaXRpb25zOiBudW1iZXJbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXBvc2l0aW9ucyB8fCBwb3NpdGlvbnMubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgICAgICBEb21IZWxwZXIucmVtb3ZlQ3NzQ2xhc3ModGhpcy5ydWxlckxlZnQsICd2aXNpYmxlJyk7XG4gICAgICAgICAgICBEb21IZWxwZXIucmVtb3ZlQ3NzQ2xhc3ModGhpcy5ydWxlclJpZ2h0LCAndmlzaWJsZScpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5ydWxlckxlZnQuc3R5bGUsICdsZWZ0JywgYCR7cG9zaXRpb25zWzBdfXB4YCk7XG4gICAgICAgIERvbUhlbHBlci5hZGRDc3NDbGFzcyh0aGlzLnJ1bGVyTGVmdCwgJ3Zpc2libGUnKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMucnVsZXJSaWdodC5zdHlsZSwgJ2xlZnQnLCBgJHtwb3NpdGlvbnNbMV19cHhgKTtcbiAgICAgICAgRG9tSGVscGVyLmFkZENzc0NsYXNzKHRoaXMucnVsZXJSaWdodCwgJ3Zpc2libGUnKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1haW5TZXNzaW9uLmRpc3BsYXlEYXRhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BhZ2VzQ291bnRDaGFuZ2VkJywgdGhpcy5wYWdlc0NvdW50Q2hhbmdlZEhhbmRsZXIpO1xuICAgIH1cblxuICAgIC8vIFVzZWQgdG8gYmUgb3ZlcnJpZGRlbiBieSB0aGUgcHJpbnQgcGFnZSBsYXllciBmb3IgcHJpbnRpbmdcbiAgICBwcm90ZWN0ZWQgZ2V0UGFnZVNwYWNlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1haW5TZXNzaW9uLmRpc3BsYXlEYXRhLnBhZ2VzU3BhY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVQYWdlcygpOiB2b2lkIHtcbiAgICAgICAgd2hpbGUgKHRoaXMucGFnZUJyZWFrRWxlbWVudHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMucGFnZUJyZWFrRWxlbWVudHMucG9wKCk7XG4gICAgICAgICAgICBlbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFBhZ2VzKHBhZ2VTcGFjZTogbnVtYmVyLCBwYWdlSGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgcGFnZSA9IHRoaXMubWluUGFnZU51bWJlcjsgcGFnZSA8PSB0aGlzLm1heFBhZ2VOdW1iZXI7IHBhZ2UrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSAncGFnZSc7XG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3BhZ2VIZWlnaHR9cHhgO1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS50b3AgPSBgJHsocGFnZSAtIDEpICogKHBhZ2VIZWlnaHQgKyBwYWdlU3BhY2UpICsgcGFnZVNwYWNlfXB4YDtcblxuICAgICAgICAgICAgaWYgKHBhZ2UgPiAxKSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhZ2VMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgICAgICBwYWdlTGFiZWwuY2xhc3NOYW1lID0gJ3BhZ2UtbGFiZWwnO1xuICAgICAgICAgICAgICAgIHBhZ2VMYWJlbC5pbm5lclRleHQgPSBgJHtwYWdlfS5gO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQocGFnZUxhYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5wYWdlQnJlYWtFbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb250YWluZXJTaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7KHRoaXMucGFnZXNDb3VudCArIDEpICogdGhpcy5wYWdlU2l6ZX1weGA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdlc0NvdW50Q2hhbmdlZEhhbmRsZXIgPSAoZXZlbnQ6IHsgcGFnZXNDb3VudDogbnVtYmVyOyBwYWdlSGVpZ2h0OiBudW1iZXIgfSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcGFnZVNpemUgPT09IGV2ZW50LnBhZ2VIZWlnaHQgJiYgdGhpcy5fcGFnZXNDb3VudCA9PT0gZXZlbnQucGFnZXNDb3VudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcGFnZVNpemUgPSBldmVudC5wYWdlSGVpZ2h0IHx8IERvY3VtZW50SW5mby5oZWlnaHQ7XG4gICAgICAgIHRoaXMuX3BhZ2VzQ291bnQgPSBldmVudC5wYWdlc0NvdW50O1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lclNpemUoKTtcbiAgICB9O1xufVxuIl19
@@ -1,7 +0,0 @@
1
- import { PagesLayer } from './pages.layer';
2
- export class PrintPagesLayer extends PagesLayer {
3
- getPageSpace() {
4
- return 0;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQucGFnZXMubGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZGlzcGxheS9sYXllcnMvcHJpbnQucGFnZXMubGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxVQUFVO0lBQ2xDLFlBQVk7UUFDakIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlc0xheWVyIH0gZnJvbSAnLi9wYWdlcy5sYXllcic7XG5cbmV4cG9ydCBjbGFzcyBQcmludFBhZ2VzTGF5ZXIgZXh0ZW5kcyBQYWdlc0xheWVyIHtcbiAgICBvdmVycmlkZSBnZXRQYWdlU3BhY2UoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- import { TextLayer } from './text.layer';
2
- export class PrintTextLayer extends TextLayer {
3
- getParagraphTop(row) {
4
- return this.session.displayData.getDistanceFromTopForPrint(row);
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQudGV4dC5sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9kaXNwbGF5L2xheWVycy9wcmludC50ZXh0LmxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBQ2hDLGVBQWUsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dExheWVyIH0gZnJvbSAnLi90ZXh0LmxheWVyJztcblxuZXhwb3J0IGNsYXNzIFByaW50VGV4dExheWVyIGV4dGVuZHMgVGV4dExheWVyIHtcbiAgICBvdmVycmlkZSBnZXRQYXJhZ3JhcGhUb3Aocm93OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmRpc3BsYXlEYXRhLmdldERpc3RhbmNlRnJvbVRvcEZvclByaW50KHJvdyk7XG4gICAgfVxufVxuIl19
@@ -1,119 +0,0 @@
1
- import { CursorParagraph } from '../../positioning/cursor-paragraph';
2
- import { PositionHelper } from '../../positioning/position.helper';
3
- import { Range } from '../../positioning/range';
4
- export class SelectionLayer {
5
- constructor(parentEl, cssClass, session) {
6
- this.session = session;
7
- this.marker = null;
8
- this.element = document.createElement('div');
9
- this.element.className = `noder-layer noder-selection-layer ${cssClass}`;
10
- parentEl.appendChild(this.element);
11
- }
12
- renderSelection(css) {
13
- let selectionElement = this.selectionIndex !== -1 ? this.element.childNodes[this.selectionIndex] : null;
14
- if (!selectionElement) {
15
- selectionElement = document.createElement('div');
16
- this.element.appendChild(selectionElement);
17
- this.selectionIndex = -1;
18
- }
19
- else {
20
- this.selectionIndex++;
21
- }
22
- selectionElement.style.cssText = css;
23
- selectionElement.className = 'noder-selection';
24
- }
25
- update(config) {
26
- if (!config) {
27
- return;
28
- }
29
- this.config = config;
30
- this.selectionIndex = 0;
31
- if (this.marker) {
32
- let range = this.marker.clipRows(config.contentRange.start, config.contentRange.end);
33
- if (!range.isEmpty) {
34
- range = range.toScreenRange(this.session);
35
- if (range.isSingleLine) {
36
- this.drawSingleLineMarker(range);
37
- }
38
- else {
39
- this.drawMultiLineMarker(range);
40
- }
41
- }
42
- }
43
- if (this.selectionIndex !== -1) {
44
- while (this.selectionIndex < this.element.childElementCount) {
45
- this.element.removeChild(this.element.lastChild);
46
- }
47
- }
48
- }
49
- getTop(row) {
50
- const paragraphs = this.session.displayData.paragraphs;
51
- const paragraphInfo = PositionHelper.getParagraphInfoByRow(paragraphs, row);
52
- return (paragraphs[paragraphInfo.paragraphIndex].paragraphSettings.distanceFromTop +
53
- paragraphInfo.lineTopOffset -
54
- this.session.scrollTop);
55
- }
56
- // Draws a multi line marker, where lines span the full width
57
- drawMultiLineMarker(range) {
58
- // from selection start to the end of the line
59
- const start = range.start.row;
60
- const end = range.end.row;
61
- const paragraphs = this.session.displayData.paragraphs;
62
- const visibleParagraphs = paragraphs.filter(x => x.paragraphSettings.lastScreenLine >= start && x.paragraphSettings.firstScreenLine <= end);
63
- const textLinesInfo = visibleParagraphs
64
- .map(x => x.paragraphSettings.textLinesInfo.filter(l => start <= l.screenLine && l.screenLine <= end))
65
- .flat();
66
- const paragraphInfo = PositionHelper.getParagraphInfoByRow(paragraphs, start);
67
- let top = paragraphs[paragraphInfo.paragraphIndex].paragraphSettings.distanceFromTop +
68
- paragraphInfo.lineTopOffset -
69
- this.session.scrollTop;
70
- const padding = this.session.displayData.pageMargin.left;
71
- for (let i = 0; i < textLinesInfo.length; i++) {
72
- const lineInfo = textLinesInfo[i];
73
- if (i !== 0) {
74
- top += lineInfo.firstLinePageOffset;
75
- top += lineInfo.offsetBefore;
76
- }
77
- let style;
78
- if (i === 0) {
79
- const rangeInfo = this.getRangeInfo(this.session, range);
80
- style = this.getMarkerStyle(lineInfo.height, lineInfo.width - rangeInfo.leftPos + lineInfo.paddingLeft + padding, top, rangeInfo.leftPos);
81
- }
82
- else if (i === textLinesInfo.length - 1) {
83
- const lastRowRange = new Range(new CursorParagraph(range.end.row, 0), range.end);
84
- const rangeInfo = this.getRangeInfo(this.session, lastRowRange);
85
- style = this.getMarkerStyle(lineInfo.height, rangeInfo.screenWidth, top, padding + lineInfo.paddingLeft);
86
- }
87
- else {
88
- style = this.getMarkerStyle(lineInfo.height, lineInfo.width, top, padding + lineInfo.paddingLeft);
89
- }
90
- this.renderSelection(style);
91
- top += lineInfo.height + lineInfo.offsetAfter + lineInfo.endPageOffset;
92
- }
93
- }
94
- // Draws a marker which covers part or whole width of a single screen line
95
- drawSingleLineMarker(range) {
96
- const rangeInfo = this.getRangeInfo(this.session, range);
97
- const paragraphInfo = PositionHelper.getParagraphInfoByRow(this.session.displayData.paragraphs, range.start.row);
98
- const height = rangeInfo.screenHeight || paragraphInfo.lineHeight;
99
- const width = rangeInfo.screenWidth;
100
- const top = this.getTop(range.start.row);
101
- const left = rangeInfo.leftPos;
102
- this.renderSelection(this.getMarkerStyle(height, width, top, left));
103
- }
104
- getRangeInfo(session, range) {
105
- const start = range.start;
106
- const end = range.end;
107
- const startPos = PositionHelper.screenToPixel(session, start.row, start.column);
108
- const endPos = PositionHelper.screenToPixel(session, end.row, end.column);
109
- return {
110
- screenWidth: Math.abs(endPos.pageX - startPos.pageX),
111
- screenHeight: Math.abs(endPos.pageY - startPos.pageY),
112
- leftPos: startPos.pageX
113
- };
114
- }
115
- getMarkerStyle(height, width, top, left) {
116
- return `height:${height}px;width:${width}px;top:${top}px;left:${left}px`;
117
- }
118
- }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2Rpc3BsYXkvbGF5ZXJzL3NlbGVjdGlvbi5sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRCxNQUFNLE9BQU8sY0FBYztJQVN2QixZQUFZLFFBQXFCLEVBQUUsUUFBZ0IsRUFBVSxPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBTmpGLFdBQU0sR0FBaUIsSUFBSSxDQUFDO1FBT3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxxQ0FBcUMsUUFBUSxFQUFFLENBQUM7UUFDekUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckgsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ25CLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FB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QUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFvQixFQUFFLEtBQVk7UUFDbkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE9BQU87WUFDSCxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDcEQsWUFBWSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3JELE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSztTQUMxQixDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFjLEVBQUUsS0FBYSxFQUFFLEdBQVcsRUFBRSxJQUFZO1FBQzNFLE9BQU8sVUFBVSxNQUFNLFlBQVksS0FBSyxVQUFVLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQztJQUM3RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJzb3JQYXJhZ3JhcGggfSBmcm9tICcuLi8uLi9wb3NpdGlvbmluZy9jdXJzb3ItcGFyYWdyYXBoJztcbmltcG9ydCB7IEVkaXRTZXNzaW9uIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2VkaXQuc2Vzc2lvbic7XG5pbXBvcnQgeyBJTGF5ZXJDb25maWcgfSBmcm9tICcuL2xheWVyLmNvbmZpZyc7XG5pbXBvcnQgeyBQb3NpdGlvbkhlbHBlciB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL3Bvc2l0aW9uLmhlbHBlcic7XG5pbXBvcnQgeyBSYW5nZSB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL3JhbmdlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkxheWVyIHtcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIG1hcmtlcjogUmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIHNlbGVjdGlvbkluZGV4OiBudW1iZXI7XG5cbiAgICBjb25maWc6IElMYXllckNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKHBhcmVudEVsOiBIVE1MRWxlbWVudCwgY3NzQ2xhc3M6IHN0cmluZywgcHJpdmF0ZSBzZXNzaW9uOiBFZGl0U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTmFtZSA9IGBub2Rlci1sYXllciBub2Rlci1zZWxlY3Rpb24tbGF5ZXIgJHtjc3NDbGFzc31gO1xuICAgICAgICBwYXJlbnRFbC5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJlbmRlclNlbGVjdGlvbihjc3M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBsZXQgc2VsZWN0aW9uRWxlbWVudCA9IHRoaXMuc2VsZWN0aW9uSW5kZXggIT09IC0xID8gPEhUTUxFbGVtZW50PnRoaXMuZWxlbWVudC5jaGlsZE5vZGVzW3RoaXMuc2VsZWN0aW9uSW5kZXhdIDogbnVsbDtcbiAgICAgICAgaWYgKCFzZWxlY3Rpb25FbGVtZW50KSB7XG4gICAgICAgICAgICBzZWxlY3Rpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoc2VsZWN0aW9uRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkluZGV4ID0gLTE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Rpb25FbGVtZW50LnN0eWxlLmNzc1RleHQgPSBjc3M7XG4gICAgICAgIHNlbGVjdGlvbkVsZW1lbnQuY2xhc3NOYW1lID0gJ25vZGVyLXNlbGVjdGlvbic7XG4gICAgfVxuXG4gICAgdXBkYXRlKGNvbmZpZzogSUxheWVyQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25JbmRleCA9IDA7XG5cbiAgICAgICAgaWYgKHRoaXMubWFya2VyKSB7XG4gICAgICAgICAgICBsZXQgcmFuZ2UgPSB0aGlzLm1hcmtlci5jbGlwUm93cyhjb25maWcuY29udGVudFJhbmdlLnN0YXJ0LCBjb25maWcuY29udGVudFJhbmdlLmVuZCk7XG4gICAgICAgICAgICBpZiAoIXJhbmdlLmlzRW1wdHkpIHtcbiAgICAgICAgICAgICAgICByYW5nZSA9IHJhbmdlLnRvU2NyZWVuUmFuZ2UodGhpcy5zZXNzaW9uKTtcbiAgICAgICAgICAgICAgICBpZiAocmFuZ2UuaXNTaW5nbGVMaW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhd1NpbmdsZUxpbmVNYXJrZXIocmFuZ2UpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhd011bHRpTGluZU1hcmtlcihyYW5nZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5zZWxlY3Rpb25JbmRleCA8IHRoaXMuZWxlbWVudC5jaGlsZEVsZW1lbnRDb3VudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQubGFzdENoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRvcChyb3c6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaHMgPSB0aGlzLnNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBocztcbiAgICAgICAgY29uc3QgcGFyYWdyYXBoSW5mbyA9IFBvc2l0aW9uSGVscGVyLmdldFBhcmFncmFwaEluZm9CeVJvdyhwYXJhZ3JhcGhzLCByb3cpO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZm8ucGFyYWdyYXBoSW5kZXhdLnBhcmFncmFwaFNldHRpbmdzLmRpc3RhbmNlRnJvbVRvcCArXG4gICAgICAgICAgICBwYXJhZ3JhcGhJbmZvLmxpbmVUb3BPZmZzZXQgLVxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uLnNjcm9sbFRvcFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIERyYXdzIGEgbXVsdGkgbGluZSBtYXJrZXIsIHdoZXJlIGxpbmVzIHNwYW4gdGhlIGZ1bGwgd2lkdGhcbiAgICBkcmF3TXVsdGlMaW5lTWFya2VyKHJhbmdlOiBSYW5nZSk6IHZvaWQge1xuICAgICAgICAvLyBmcm9tIHNlbGVjdGlvbiBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gcmFuZ2Uuc3RhcnQucm93O1xuICAgICAgICBjb25zdCBlbmQgPSByYW5nZS5lbmQucm93O1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhzID0gdGhpcy5zZXNzaW9uLmRpc3BsYXlEYXRhLnBhcmFncmFwaHM7XG4gICAgICAgIGNvbnN0IHZpc2libGVQYXJhZ3JhcGhzID0gcGFyYWdyYXBocy5maWx0ZXIoXG4gICAgICAgICAgICB4ID0+IHgucGFyYWdyYXBoU2V0dGluZ3MubGFzdFNjcmVlbkxpbmUgPj0gc3RhcnQgJiYgeC5wYXJhZ3JhcGhTZXR0aW5ncy5maXJzdFNjcmVlbkxpbmUgPD0gZW5kXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRleHRMaW5lc0luZm8gPSB2aXNpYmxlUGFyYWdyYXBoc1xuICAgICAgICAgICAgLm1hcCh4ID0+IHgucGFyYWdyYXBoU2V0dGluZ3MudGV4dExpbmVzSW5mby5maWx0ZXIobCA9PiBzdGFydCA8PSBsLnNjcmVlbkxpbmUgJiYgbC5zY3JlZW5MaW5lIDw9IGVuZCkpXG4gICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhJbmZvID0gUG9zaXRpb25IZWxwZXIuZ2V0UGFyYWdyYXBoSW5mb0J5Um93KHBhcmFncmFwaHMsIHN0YXJ0KTtcbiAgICAgICAgbGV0IHRvcCA9XG4gICAgICAgICAgICBwYXJhZ3JhcGhzW3BhcmFncmFwaEluZm8ucGFyYWdyYXBoSW5kZXhdLnBhcmFncmFwaFNldHRpbmdzLmRpc3RhbmNlRnJvbVRvcCArXG4gICAgICAgICAgICBwYXJhZ3JhcGhJbmZvLmxpbmVUb3BPZmZzZXQgLVxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uLnNjcm9sbFRvcDtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IHRoaXMuc2Vzc2lvbi5kaXNwbGF5RGF0YS5wYWdlTWFyZ2luLmxlZnQ7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGV4dExpbmVzSW5mby5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbGluZUluZm8gPSB0ZXh0TGluZXNJbmZvW2ldO1xuICAgICAgICAgICAgaWYgKGkgIT09IDApIHtcbiAgICAgICAgICAgICAgICB0b3AgKz0gbGluZUluZm8uZmlyc3RMaW5lUGFnZU9mZnNldDtcbiAgICAgICAgICAgICAgICB0b3AgKz0gbGluZUluZm8ub2Zmc2V0QmVmb3JlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgc3R5bGU6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2VJbmZvID0gdGhpcy5nZXRSYW5nZUluZm8odGhpcy5zZXNzaW9uLCByYW5nZSk7XG4gICAgICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmdldE1hcmtlclN0eWxlKFxuICAgICAgICAgICAgICAgICAgICBsaW5lSW5mby5oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxpbmVJbmZvLndpZHRoIC0gcmFuZ2VJbmZvLmxlZnRQb3MgKyBsaW5lSW5mby5wYWRkaW5nTGVmdCArIHBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgIHRvcCxcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2VJbmZvLmxlZnRQb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpID09PSB0ZXh0TGluZXNJbmZvLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0Um93UmFuZ2UgPSBuZXcgUmFuZ2UobmV3IEN1cnNvclBhcmFncmFwaChyYW5nZS5lbmQucm93LCAwKSwgcmFuZ2UuZW5kKTtcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZUluZm8gPSB0aGlzLmdldFJhbmdlSW5mbyh0aGlzLnNlc3Npb24sIGxhc3RSb3dSYW5nZSk7XG4gICAgICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmdldE1hcmtlclN0eWxlKGxpbmVJbmZvLmhlaWdodCwgcmFuZ2VJbmZvLnNjcmVlbldpZHRoLCB0b3AsIHBhZGRpbmcgKyBsaW5lSW5mby5wYWRkaW5nTGVmdCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0eWxlID0gdGhpcy5nZXRNYXJrZXJTdHlsZShsaW5lSW5mby5oZWlnaHQsIGxpbmVJbmZvLndpZHRoLCB0b3AsIHBhZGRpbmcgKyBsaW5lSW5mby5wYWRkaW5nTGVmdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyU2VsZWN0aW9uKHN0eWxlKTtcbiAgICAgICAgICAgIHRvcCArPSBsaW5lSW5mby5oZWlnaHQgKyBsaW5lSW5mby5vZmZzZXRBZnRlciArIGxpbmVJbmZvLmVuZFBhZ2VPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcmF3cyBhIG1hcmtlciB3aGljaCBjb3ZlcnMgcGFydCBvciB3aG9sZSB3aWR0aCBvZiBhIHNpbmdsZSBzY3JlZW4gbGluZVxuICAgIGRyYXdTaW5nbGVMaW5lTWFya2VyKHJhbmdlOiBSYW5nZSk6IHZvaWQge1xuICAgICAgICBjb25zdCByYW5nZUluZm8gPSB0aGlzLmdldFJhbmdlSW5mbyh0aGlzLnNlc3Npb24sIHJhbmdlKTtcbiAgICAgICAgY29uc3QgcGFyYWdyYXBoSW5mbyA9IFBvc2l0aW9uSGVscGVyLmdldFBhcmFncmFwaEluZm9CeVJvdyh0aGlzLnNlc3Npb24uZGlzcGxheURhdGEucGFyYWdyYXBocywgcmFuZ2Uuc3RhcnQucm93KTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gcmFuZ2VJbmZvLnNjcmVlbkhlaWdodCB8fCBwYXJhZ3JhcGhJbmZvLmxpbmVIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gcmFuZ2VJbmZvLnNjcmVlbldpZHRoO1xuICAgICAgICBjb25zdCB0b3AgPSB0aGlzLmdldFRvcChyYW5nZS5zdGFydC5yb3cpO1xuICAgICAgICBjb25zdCBsZWZ0ID0gcmFuZ2VJbmZvLmxlZnRQb3M7XG4gICAgICAgIHRoaXMucmVuZGVyU2VsZWN0aW9uKHRoaXMuZ2V0TWFya2VyU3R5bGUoaGVpZ2h0LCB3aWR0aCwgdG9wLCBsZWZ0KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSYW5nZUluZm8oc2Vzc2lvbjogRWRpdFNlc3Npb24sIHJhbmdlOiBSYW5nZSk6IHsgc2NyZWVuV2lkdGg6IG51bWJlcjsgc2NyZWVuSGVpZ2h0OiBudW1iZXI7IGxlZnRQb3M6IG51bWJlciB9IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSByYW5nZS5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kID0gcmFuZ2UuZW5kO1xuICAgICAgICBjb25zdCBzdGFydFBvcyA9IFBvc2l0aW9uSGVscGVyLnNjcmVlblRvUGl4ZWwoc2Vzc2lvbiwgc3RhcnQucm93LCBzdGFydC5jb2x1bW4pO1xuICAgICAgICBjb25zdCBlbmRQb3MgPSBQb3NpdGlvbkhlbHBlci5zY3JlZW5Ub1BpeGVsKHNlc3Npb24sIGVuZC5yb3csIGVuZC5jb2x1bW4pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY3JlZW5XaWR0aDogTWF0aC5hYnMoZW5kUG9zLnBhZ2VYIC0gc3RhcnRQb3MucGFnZVgpLFxuICAgICAgICAgICAgc2NyZWVuSGVpZ2h0OiBNYXRoLmFicyhlbmRQb3MucGFnZVkgLSBzdGFydFBvcy5wYWdlWSksXG4gICAgICAgICAgICBsZWZ0UG9zOiBzdGFydFBvcy5wYWdlWFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWFya2VyU3R5bGUoaGVpZ2h0OiBudW1iZXIsIHdpZHRoOiBudW1iZXIsIHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGhlaWdodDoke2hlaWdodH1weDt3aWR0aDoke3dpZHRofXB4O3RvcDoke3RvcH1weDtsZWZ0OiR7bGVmdH1weGA7XG4gICAgfVxufVxuIl19