@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,88 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { BaseNoderComponent } from '../../shared/abstract/base.component';
3
+ import { ImageInputHandler } from '../../../components/image/input-handler/image-input.handler';
4
+ import { ScalingHelper } from '../../../content/helpers/scaling.helper';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../components/image/image-api.service";
7
+ import * as i2 from "../../../interaction/editor.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "../resizer/resizer.component";
10
+ export class NoderImageComponent extends BaseNoderComponent {
11
+ get isViewOnly$() {
12
+ return this.editorService.isViewOnly$;
13
+ }
14
+ get image() {
15
+ return this.content;
16
+ }
17
+ set image(val) {
18
+ this.content = val;
19
+ }
20
+ get size() {
21
+ return { width: this._width, height: this._height };
22
+ }
23
+ constructor(elementRef, apiService, editorService) {
24
+ super();
25
+ this.elementRef = elementRef;
26
+ this.apiService = apiService;
27
+ this.editorService = editorService;
28
+ this.isCanvas = false;
29
+ }
30
+ initialize() {
31
+ const url = this.image.content?.replace('/api/', '') ?? '';
32
+ this._height = ScalingHelper.scale(this.image.height, this.generalProperties.scalingRatio);
33
+ this._width = ScalingHelper.scale(this.image.width, this.generalProperties.scalingRatio);
34
+ this.apiService.getFile(url).subscribe(x => {
35
+ const fileSource = URL.createObjectURL(x);
36
+ const image = this.createImage(fileSource);
37
+ this.elementRef.nativeElement.appendChild(image);
38
+ this.editorService.rendererUpdated(this.sessionId);
39
+ });
40
+ }
41
+ onResizeEnd(size) {
42
+ this.resize(size);
43
+ const resizedImage = { ...this.image, width: size.width, height: size.height };
44
+ this.editorService.changeImageStyle(resizedImage);
45
+ }
46
+ resize(size) {
47
+ this._width = size.width;
48
+ this._height = size.height;
49
+ this.isCanvas ? this.resizeCanvas(size) : this.resizeImage(size);
50
+ this.cdr.markForCheck();
51
+ }
52
+ focus() {
53
+ this.inputHandler = new ImageInputHandler(this.editorService, this);
54
+ super.focus();
55
+ }
56
+ blur() {
57
+ this.inputHandler?.destroy();
58
+ super.blur();
59
+ }
60
+ ngOnDestroy() {
61
+ this.inputHandler?.destroy();
62
+ super.ngOnDestroy();
63
+ }
64
+ createImage(fileSource) {
65
+ const imageEl = document.createElement('img');
66
+ imageEl.width = this._width;
67
+ imageEl.height = this._height;
68
+ imageEl.src = fileSource;
69
+ return imageEl;
70
+ }
71
+ resizeImage(size) {
72
+ const image = this.elementRef.nativeElement.querySelector('img');
73
+ image.width = size.width;
74
+ image.height = size.height;
75
+ }
76
+ resizeCanvas(size) {
77
+ const image = this.elementRef.nativeElement.querySelector('canvas');
78
+ image.style.width = `${size.width}px`;
79
+ image.style.height = `${size.height}px`;
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoderImageComponent, deps: [{ token: i0.ElementRef }, { token: i1.ImageApiService }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NoderImageComponent, selector: "app-nod-image", usesInheritance: true, ngImport: i0, template: "<app-nod-resizer\n *ngIf=\"isFocused\"\n class=\"resizer\"\n [isDisabled]=\"isViewOnly$ | async\"\n [size]=\"size\"\n (resizeEnd)=\"onResizeEnd($event)\" />\n", styles: [":host{position:relative;outline:none}.resizer{position:absolute;z-index:1}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ResizerComponent, selector: "app-nod-resizer", inputs: ["isDisabled", "size"], outputs: ["resizeEnd"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoderImageComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'app-nod-image', changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-nod-resizer\n *ngIf=\"isFocused\"\n class=\"resizer\"\n [isDisabled]=\"isViewOnly$ | async\"\n [size]=\"size\"\n (resizeEnd)=\"onResizeEnd($event)\" />\n", styles: [":host{position:relative;outline:none}.resizer{position:absolute;z-index:1}\n"] }]
87
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ImageApiService }, { type: i2.EditorService }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9jb21wb25lbnRzL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFTeEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUN2RCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBTUQsWUFBc0IsVUFBbUMsRUFBVSxVQUEyQixFQUFVLGFBQTRCO1FBQ2hJLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSjVILGFBQVEsR0FBRyxLQUFLLENBQUM7SUFNekIsQ0FBQztJQUVELFVBQVU7UUFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFUSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFUSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFrQjtRQUNsQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDOUIsT0FBTyxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDekIsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFVO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBVTtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDdEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7SUFDNUMsQ0FBQzsrR0FsRlEsbUJBQW1CO21HQUFuQixtQkFBbUIsNEVDakJoQywrS0FNQTs7NEZEV2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZU5vZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Fic3RyYWN0L2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBJbWFnZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ltYWdlL2ltYWdlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEltYWdlSW5wdXRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbWFnZS9pbnB1dC1oYW5kbGVyL2ltYWdlLWlucHV0LmhhbmRsZXInO1xuaW1wb3J0IHsgSW1hZ2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgU2NhbGluZ0hlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRlbnQvaGVscGVycy9zY2FsaW5nLmhlbHBlcic7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbWFnZS9zaXplJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWltYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ltYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTm9kZXJJbWFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VOb2RlckNvbXBvbmVudCB7XG4gICAgZ2V0IGlzVmlld09ubHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3JTZXJ2aWNlLmlzVmlld09ubHkkO1xuICAgIH1cblxuICAgIGdldCBpbWFnZSgpOiBJbWFnZU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudCBhcyBJbWFnZU1vZGVsO1xuICAgIH1cbiAgICBzZXQgaW1hZ2UodmFsOiBJbWFnZU1vZGVsKSB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHZhbDtcbiAgICB9XG5cbiAgICBnZXQgc2l6ZSgpOiBTaXplIHtcbiAgICAgICAgcmV0dXJuIHsgd2lkdGg6IHRoaXMuX3dpZHRoLCBoZWlnaHQ6IHRoaXMuX2hlaWdodCB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDYW52YXMgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW5wdXRIYW5kbGVyOiBJbWFnZUlucHV0SGFuZGxlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBJbWFnZUFwaVNlcnZpY2UsIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuaW1hZ2UuY29udGVudD8ucmVwbGFjZSgnL2FwaS8nLCAnJykgPz8gJyc7XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IFNjYWxpbmdIZWxwZXIuc2NhbGUodGhpcy5pbWFnZS5oZWlnaHQsIHRoaXMuZ2VuZXJhbFByb3BlcnRpZXMuc2NhbGluZ1JhdGlvKTtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBTY2FsaW5nSGVscGVyLnNjYWxlKHRoaXMuaW1hZ2Uud2lkdGgsIHRoaXMuZ2VuZXJhbFByb3BlcnRpZXMuc2NhbGluZ1JhdGlvKTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZpbGUodXJsKS5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlU291cmNlID0gVVJMLmNyZWF0ZU9iamVjdFVSTCh4KTtcbiAgICAgICAgICAgIGNvbnN0IGltYWdlID0gdGhpcy5jcmVhdGVJbWFnZShmaWxlU291cmNlKTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGltYWdlKTtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW5kZXJlclVwZGF0ZWQodGhpcy5zZXNzaW9uSWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblJlc2l6ZUVuZChzaXplOiBTaXplKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplKHNpemUpO1xuICAgICAgICBjb25zdCByZXNpemVkSW1hZ2UgPSB7IC4uLnRoaXMuaW1hZ2UsIHdpZHRoOiBzaXplLndpZHRoLCBoZWlnaHQ6IHNpemUuaGVpZ2h0IH07XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jaGFuZ2VJbWFnZVN0eWxlKHJlc2l6ZWRJbWFnZSk7XG4gICAgfVxuXG4gICAgcmVzaXplKHNpemU6IFNpemUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBzaXplLndpZHRoO1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSBzaXplLmhlaWdodDtcbiAgICAgICAgdGhpcy5pc0NhbnZhcyA/IHRoaXMucmVzaXplQ2FudmFzKHNpemUpIDogdGhpcy5yZXNpemVJbWFnZShzaXplKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRIYW5kbGVyID0gbmV3IEltYWdlSW5wdXRIYW5kbGVyKHRoaXMuZWRpdG9yU2VydmljZSwgdGhpcyk7XG4gICAgICAgIHN1cGVyLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEhhbmRsZXI/LmRlc3Ryb3koKTtcbiAgICAgICAgc3VwZXIuYmx1cigpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0SGFuZGxlcj8uZGVzdHJveSgpO1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSW1hZ2UoZmlsZVNvdXJjZTogc3RyaW5nKTogSFRNTEltYWdlRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGltYWdlRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICAgICAgaW1hZ2VFbC53aWR0aCA9IHRoaXMuX3dpZHRoO1xuICAgICAgICBpbWFnZUVsLmhlaWdodCA9IHRoaXMuX2hlaWdodDtcbiAgICAgICAgaW1hZ2VFbC5zcmMgPSBmaWxlU291cmNlO1xuICAgICAgICByZXR1cm4gaW1hZ2VFbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUltYWdlKHNpemU6IFNpemUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbWcnKTtcbiAgICAgICAgaW1hZ2Uud2lkdGggPSBzaXplLndpZHRoO1xuICAgICAgICBpbWFnZS5oZWlnaHQgPSBzaXplLmhlaWdodDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUNhbnZhcyhzaXplOiBTaXplKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJyk7XG4gICAgICAgIGltYWdlLnN0eWxlLndpZHRoID0gYCR7c2l6ZS53aWR0aH1weGA7XG4gICAgICAgIGltYWdlLnN0eWxlLmhlaWdodCA9IGAke3NpemUuaGVpZ2h0fXB4YDtcbiAgICB9XG59XG4iLCI8YXBwLW5vZC1yZXNpemVyXG4gICAgKm5nSWY9XCJpc0ZvY3VzZWRcIlxuICAgIGNsYXNzPVwicmVzaXplclwiXG4gICAgW2lzRGlzYWJsZWRdPVwiaXNWaWV3T25seSQgfCBhc3luY1wiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgKHJlc2l6ZUVuZCk9XCJvblJlc2l6ZUVuZCgkZXZlbnQpXCIgLz5cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { HttpHeaders } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class ImageApiService {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageApiService }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageApiService, decorators: [{
9
+ type: Injectable
10
+ }] });
11
+ export class DefaultImageApiService {
12
+ constructor(http) {
13
+ this.http = http;
14
+ this.apiRelativePath = '/api/';
15
+ this._inFlight = {};
16
+ }
17
+ getFile(source) {
18
+ return this.httpGetBlob(source);
19
+ }
20
+ httpGetBlob(url) {
21
+ if (this._inFlight[url.toLowerCase()]) {
22
+ return this._inFlight[url.toLowerCase()];
23
+ }
24
+ return this.http.get(`${this.apiRelativePath}${url}`, {
25
+ responseType: 'blob',
26
+ headers: this.getHeaders()
27
+ });
28
+ }
29
+ getHeaders(headers = null) {
30
+ if (!headers) {
31
+ headers = new HttpHeaders();
32
+ }
33
+ return headers.set('require-user', 'true');
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9pbWFnZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFnQixlQUFlOytHQUFmLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEcEMsVUFBVTs7QUFLWCxNQUFNLE9BQU8sc0JBQXNCO0lBSy9CLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFFMUIsY0FBUyxHQUFRLEVBQUUsQ0FBQztJQUVXLENBQUM7SUFFeEMsT0FBTyxDQUFDLE1BQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVztRQUMzQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLEVBQUU7WUFDbEQsWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUF1QixJQUFJO1FBQzFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztTQUMvQjtRQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbWFnZUFwaVNlcnZpY2Uge1xuICAgIGFic3RyYWN0IGdldEZpbGUoc291cmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+O1xufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdEltYWdlQXBpU2VydmljZSBpbXBsZW1lbnRzIEltYWdlQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhcGlSZWxhdGl2ZVBhdGggPSAnL2FwaS8nO1xuXG4gICAgcHJpdmF0ZSBfaW5GbGlnaHQ6IGFueSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gICAgZ2V0RmlsZShzb3VyY2U6IHN0cmluZyk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwR2V0QmxvYihzb3VyY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaHR0cEdldEJsb2IodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgaWYgKHRoaXMuX2luRmxpZ2h0W3VybC50b0xvd2VyQ2FzZSgpXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2luRmxpZ2h0W3VybC50b0xvd2VyQ2FzZSgpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwaVJlbGF0aXZlUGF0aH0ke3VybH1gLCB7XG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG51bGwpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIGlmICghaGVhZGVycykge1xuICAgICAgICAgICAgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoZWFkZXJzLnNldCgncmVxdWlyZS11c2VyJywgJ3RydWUnKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { fromEvent } from 'rxjs';
2
+ export class ImageInputHandler {
3
+ constructor(editorService, image) {
4
+ this.editorService = editorService;
5
+ this.image = image;
6
+ this.undoRedoActions = {};
7
+ this.imageKeyDownSubscription = fromEvent(document, 'keydown').subscribe(event => this.onKeyDown(event));
8
+ this.fillUndoRedoActions();
9
+ }
10
+ destroy() {
11
+ this.imageKeyDownSubscription?.unsubscribe();
12
+ }
13
+ onKeyDown(event) {
14
+ if (this.editorService.isViewOnly) {
15
+ return;
16
+ }
17
+ if (['Backspace', 'Delete'].includes(event.code)) {
18
+ this.editorService.removeImage(this.image.insertIndex);
19
+ return;
20
+ }
21
+ const keyCombination = this.getKeyCombination(event);
22
+ if (this.undoRedoActions[keyCombination] && !this.editorService.isViewOnly) {
23
+ this.undoRedoActions[keyCombination]();
24
+ event.preventDefault();
25
+ }
26
+ }
27
+ getKeyCombination(event) {
28
+ let result = event.metaKey ? 'Command-' : '';
29
+ return event.ctrlKey ? `${result}Ctrl-${event.code}` : '';
30
+ }
31
+ fillUndoRedoActions() {
32
+ this.undoRedoActions['Ctrl-KeyZ'] = () => this.editorService.undo();
33
+ this.undoRedoActions['Command-KeyZ'] = () => this.editorService.undo();
34
+ this.undoRedoActions['Ctrl-KeyY'] = () => this.editorService.redo();
35
+ this.undoRedoActions['Command-KeyY'] = () => this.editorService.redo();
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL2lucHV0LWhhbmRsZXIvaW1hZ2UtaW5wdXQuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO0lBSzFCLFlBQTZCLGFBQTRCLEVBQW1CLEtBQTBCO1FBQXpFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQW1CLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBSnJGLG9CQUFlLEdBQWtDLEVBQUUsQ0FBQztRQUtqRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFnQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFTyxTQUFTLENBQUMsS0FBb0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUMvQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFvQjtRQUMxQyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlckltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VJbnB1dEhhbmRsZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5kb1JlZG9BY3Rpb25zOiB7IFtrZXk6IHN0cmluZ106ICgpID0+IHZvaWQgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbWFnZUtleURvd25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBpbWFnZTogTm9kZXJJbWFnZUNvbXBvbmVudCkge1xuICAgICAgICB0aGlzLmltYWdlS2V5RG93blN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKS5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbktleURvd24oZXZlbnQpKTtcbiAgICAgICAgdGhpcy5maWxsVW5kb1JlZG9BY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZUtleURvd25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5pc1ZpZXdPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoWydCYWNrc3BhY2UnLCAnRGVsZXRlJ10uaW5jbHVkZXMoZXZlbnQuY29kZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW1vdmVJbWFnZSh0aGlzLmltYWdlLmluc2VydEluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleUNvbWJpbmF0aW9uID0gdGhpcy5nZXRLZXlDb21iaW5hdGlvbihldmVudCk7XG4gICAgICAgIGlmICh0aGlzLnVuZG9SZWRvQWN0aW9uc1trZXlDb21iaW5hdGlvbl0gJiYgIXRoaXMuZWRpdG9yU2VydmljZS5pc1ZpZXdPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1trZXlDb21iaW5hdGlvbl0oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEtleUNvbWJpbmF0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGV2ZW50Lm1ldGFLZXkgPyAnQ29tbWFuZC0nIDogJyc7XG4gICAgICAgIHJldHVybiBldmVudC5jdHJsS2V5ID8gYCR7cmVzdWx0fUN0cmwtJHtldmVudC5jb2RlfWAgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbGxVbmRvUmVkb0FjdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5kb1JlZG9BY3Rpb25zWydDdHJsLUtleVonXSA9ICgpID0+IHRoaXMuZWRpdG9yU2VydmljZS51bmRvKCk7XG4gICAgICAgIHRoaXMudW5kb1JlZG9BY3Rpb25zWydDb21tYW5kLUtleVonXSA9ICgpID0+IHRoaXMuZWRpdG9yU2VydmljZS51bmRvKCk7XG4gICAgICAgIHRoaXMudW5kb1JlZG9BY3Rpb25zWydDdHJsLUtleVknXSA9ICgpID0+IHRoaXMuZWRpdG9yU2VydmljZS5yZWRvKCk7XG4gICAgICAgIHRoaXMudW5kb1JlZG9BY3Rpb25zWydDb21tYW5kLUtleVknXSA9ICgpID0+IHRoaXMuZWRpdG9yU2VydmljZS5yZWRvKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL3Jlc2l6ZXIvY29vcmRpbmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb29yZGluYXRlIHtcbiAgICByZWFkb25seSB4OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgeTogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { Direction } from './direction.enum';
2
+ export class DirectionWrapper {
3
+ constructor(direction) {
4
+ this.direction = direction;
5
+ }
6
+ isHorizontal() {
7
+ return [Direction.East, Direction.West].includes(this.direction);
8
+ }
9
+ isOrdinal() {
10
+ return [Direction.NorthWest, Direction.NorthEast, Direction.SouthEast, Direction.SouthWest].includes(this.direction);
11
+ }
12
+ includesWest() {
13
+ return [Direction.West, Direction.NorthWest, Direction.SouthWest].includes(this.direction);
14
+ }
15
+ includesNorth() {
16
+ return [Direction.North, Direction.NorthWest, Direction.NorthEast].includes(this.direction);
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9yZXNpemVyL2RpcmVjdGlvbi13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQTZCLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRXJELFlBQVk7UUFDUixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJy4vZGlyZWN0aW9uLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uV3JhcHBlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rpb246IERpcmVjdGlvbikge31cblxuICAgIGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFtEaXJlY3Rpb24uRWFzdCwgRGlyZWN0aW9uLldlc3RdLmluY2x1ZGVzKHRoaXMuZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBpc09yZGluYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbRGlyZWN0aW9uLk5vcnRoV2VzdCwgRGlyZWN0aW9uLk5vcnRoRWFzdCwgRGlyZWN0aW9uLlNvdXRoRWFzdCwgRGlyZWN0aW9uLlNvdXRoV2VzdF0uaW5jbHVkZXModGhpcy5kaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIGluY2x1ZGVzV2VzdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFtEaXJlY3Rpb24uV2VzdCwgRGlyZWN0aW9uLk5vcnRoV2VzdCwgRGlyZWN0aW9uLlNvdXRoV2VzdF0uaW5jbHVkZXModGhpcy5kaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIGluY2x1ZGVzTm9ydGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbRGlyZWN0aW9uLk5vcnRoLCBEaXJlY3Rpb24uTm9ydGhXZXN0LCBEaXJlY3Rpb24uTm9ydGhFYXN0XS5pbmNsdWRlcyh0aGlzLmRpcmVjdGlvbik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,12 @@
1
+ export var Direction;
2
+ (function (Direction) {
3
+ Direction[Direction["NorthWest"] = 0] = "NorthWest";
4
+ Direction[Direction["North"] = 1] = "North";
5
+ Direction[Direction["NorthEast"] = 2] = "NorthEast";
6
+ Direction[Direction["East"] = 3] = "East";
7
+ Direction[Direction["SouthEast"] = 4] = "SouthEast";
8
+ Direction[Direction["South"] = 5] = "South";
9
+ Direction[Direction["SouthWest"] = 6] = "SouthWest";
10
+ Direction[Direction["West"] = 7] = "West";
11
+ })(Direction || (Direction = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9yZXNpemVyL2RpcmVjdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBU1g7QUFURCxXQUFZLFNBQVM7SUFDakIsbURBQVMsQ0FBQTtJQUNULDJDQUFLLENBQUE7SUFDTCxtREFBUyxDQUFBO0lBQ1QseUNBQUksQ0FBQTtJQUNKLG1EQUFTLENBQUE7SUFDVCwyQ0FBSyxDQUFBO0lBQ0wsbURBQVMsQ0FBQTtJQUNULHlDQUFJLENBQUE7QUFDUixDQUFDLEVBVFcsU0FBUyxLQUFULFNBQVMsUUFTcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuICAgIE5vcnRoV2VzdCxcbiAgICBOb3J0aCxcbiAgICBOb3J0aEVhc3QsXG4gICAgRWFzdCxcbiAgICBTb3V0aEVhc3QsXG4gICAgU291dGgsXG4gICAgU291dGhXZXN0LFxuICAgIFdlc3Rcbn1cbiJdfQ==
@@ -0,0 +1,106 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
2
+ import { Direction } from './direction.enum';
3
+ import { DirectionWrapper } from './direction-wrapper';
4
+ import { SizeWrapper } from './size-wrapper';
5
+ import * as i0 from "@angular/core";
6
+ export class ResizerComponent {
7
+ constructor() {
8
+ this.isDisabled = false;
9
+ this.resizeEnd = new EventEmitter();
10
+ this.Direction = Direction;
11
+ }
12
+ get width() {
13
+ return this._size.width;
14
+ }
15
+ get height() {
16
+ return this._size.height;
17
+ }
18
+ get right() {
19
+ return this.direction?.includesWest() ? 0 : null;
20
+ }
21
+ get bottom() {
22
+ const halfPointHeight = 4;
23
+ return this.direction?.includesNorth() ? halfPointHeight : null;
24
+ }
25
+ set size(value) {
26
+ if (!this.direction) {
27
+ this._size = new SizeWrapper(value, { width: 1, height: 1 });
28
+ }
29
+ }
30
+ ngOnInit() {
31
+ if (!this._size) {
32
+ throw new Error('Initial size is not set');
33
+ }
34
+ }
35
+ onMousemove(event) {
36
+ if (!this.direction || this.isDisabled) {
37
+ return;
38
+ }
39
+ const delta = this.getDelta(event);
40
+ this.setPreviousCoordinate(event);
41
+ if (this.direction.isOrdinal()) {
42
+ this.virtualRectSize.applyDelta(delta);
43
+ this._size.fitProportionallyTo(this.virtualRectSize);
44
+ return;
45
+ }
46
+ this.direction.isHorizontal() ? this.virtualRectSize.applyDeltaX(delta) : this.virtualRectSize.applyDeltaY(delta);
47
+ this._size.fitTo(this.virtualRectSize);
48
+ }
49
+ onMouseup() {
50
+ if (!this.direction || this.isDisabled) {
51
+ return;
52
+ }
53
+ this.direction = null;
54
+ this.resizeEnd.emit(this._size.toSize());
55
+ }
56
+ onStartResizing(event, direction) {
57
+ event.preventDefault();
58
+ if (event.button !== 0) {
59
+ return;
60
+ }
61
+ this.virtualRectSize = new SizeWrapper(this._size.toSize());
62
+ this.direction = new DirectionWrapper(direction);
63
+ this.setPreviousCoordinate(event);
64
+ }
65
+ getDelta(event) {
66
+ const rawDeltaX = event.screenX - this.prevCoordinate.x;
67
+ const deltaX = this.direction.includesWest() ? -rawDeltaX : rawDeltaX;
68
+ const rawDeltaY = event.screenY - this.prevCoordinate.y;
69
+ const deltaY = this.direction.includesNorth() ? -rawDeltaY : rawDeltaY;
70
+ return { deltaX, deltaY };
71
+ }
72
+ setPreviousCoordinate(event) {
73
+ this.prevCoordinate = { x: event.screenX, y: event.screenY };
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ResizerComponent, selector: "app-nod-resizer", inputs: { isDisabled: "isDisabled", size: "size" }, outputs: { resizeEnd: "resizeEnd" }, host: { listeners: { "document:mousemove": "onMousemove($event)", "window:mouseup": "onMouseup()" }, properties: { "style.width.px": "this.width", "style.height.px": "this.height", "style.right.px": "this.right", "style.bottom.px": "this.bottom" } }, ngImport: i0, template: "<span\n class=\"point north-west\"\n (mousedown)=\"onStartResizing($event, Direction.NorthWest)\"></span>\n<span\n class=\"point north\"\n (mousedown)=\"onStartResizing($event, Direction.North)\"></span>\n<span\n class=\"point north-east\"\n (mousedown)=\"onStartResizing($event, Direction.NorthEast)\"></span>\n<span\n class=\"point east\"\n (mousedown)=\"onStartResizing($event, Direction.East)\"></span>\n<span\n class=\"point south-east\"\n (mousedown)=\"onStartResizing($event, Direction.SouthEast)\"></span>\n<span\n class=\"point south\"\n (mousedown)=\"onStartResizing($event, Direction.South)\"></span>\n<span\n class=\"point south-west\"\n (mousedown)=\"onStartResizing($event, Direction.SouthWest)\"></span>\n<span\n class=\"point west\"\n (mousedown)=\"onStartResizing($event, Direction.West)\"></span>\n", styles: [":host{display:block;border:1px solid #616161}.point{position:absolute;width:12px;height:12px;border:1px solid #616161;border-radius:50%;background-color:#fff}.point.north-west{top:-6px;left:-6px;cursor:nw-resize}.point.north{top:-6px;left:0;right:0;margin:auto;cursor:n-resize}.point.north-east{top:-6px;right:-6px;cursor:ne-resize}.point.east{top:0;bottom:0;right:-6px;margin:auto;cursor:e-resize}.point.south-east{bottom:-6px;right:-6px;cursor:se-resize}.point.south{bottom:-6px;left:0;right:0;margin:auto;cursor:s-resize}.point.south-west{bottom:-6px;left:-6px;cursor:sw-resize}.point.west{top:0;bottom:0;left:-6px;margin:auto;cursor:w-resize}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizerComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'app-nod-resizer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"point north-west\"\n (mousedown)=\"onStartResizing($event, Direction.NorthWest)\"></span>\n<span\n class=\"point north\"\n (mousedown)=\"onStartResizing($event, Direction.North)\"></span>\n<span\n class=\"point north-east\"\n (mousedown)=\"onStartResizing($event, Direction.NorthEast)\"></span>\n<span\n class=\"point east\"\n (mousedown)=\"onStartResizing($event, Direction.East)\"></span>\n<span\n class=\"point south-east\"\n (mousedown)=\"onStartResizing($event, Direction.SouthEast)\"></span>\n<span\n class=\"point south\"\n (mousedown)=\"onStartResizing($event, Direction.South)\"></span>\n<span\n class=\"point south-west\"\n (mousedown)=\"onStartResizing($event, Direction.SouthWest)\"></span>\n<span\n class=\"point west\"\n (mousedown)=\"onStartResizing($event, Direction.West)\"></span>\n", styles: [":host{display:block;border:1px solid #616161}.point{position:absolute;width:12px;height:12px;border:1px solid #616161;border-radius:50%;background-color:#fff}.point.north-west{top:-6px;left:-6px;cursor:nw-resize}.point.north{top:-6px;left:0;right:0;margin:auto;cursor:n-resize}.point.north-east{top:-6px;right:-6px;cursor:ne-resize}.point.east{top:0;bottom:0;right:-6px;margin:auto;cursor:e-resize}.point.south-east{bottom:-6px;right:-6px;cursor:se-resize}.point.south{bottom:-6px;left:0;right:0;margin:auto;cursor:s-resize}.point.south-west{bottom:-6px;left:-6px;cursor:sw-resize}.point.west{top:0;bottom:0;left:-6px;margin:auto;cursor:w-resize}\n"] }]
81
+ }], propDecorators: { width: [{
82
+ type: HostBinding,
83
+ args: ['style.width.px']
84
+ }], height: [{
85
+ type: HostBinding,
86
+ args: ['style.height.px']
87
+ }], right: [{
88
+ type: HostBinding,
89
+ args: ['style.right.px']
90
+ }], bottom: [{
91
+ type: HostBinding,
92
+ args: ['style.bottom.px']
93
+ }], isDisabled: [{
94
+ type: Input
95
+ }], size: [{
96
+ type: Input
97
+ }], resizeEnd: [{
98
+ type: Output
99
+ }], onMousemove: [{
100
+ type: HostListener,
101
+ args: ['document:mousemove', ['$event']]
102
+ }], onMouseup: [{
103
+ type: HostListener,
104
+ args: ['window:mouseup']
105
+ }] } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9yZXNpemVyL3Jlc2l6ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvcmVzaXplci9yZXNpemVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVE3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBNEJhLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdEMsY0FBUyxHQUFHLFNBQVMsQ0FBQztLQWtFbEM7SUFuR0csSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ04sTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEUsQ0FBQztJQUlELElBQ0ksSUFBSSxDQUFDLEtBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0wsQ0FBQztJQWFELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFHRCxXQUFXLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQyxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckQsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBaUIsRUFBRSxTQUFvQjtRQUNuRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBaUI7UUFDOUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXRFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRSxDQUFDOytHQW5HUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwyWUNmN0IsazJCQXdCQTs7NEZEVGEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkzQyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixLQUFLO3NCQURSLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU1yQixVQUFVO3NCQUFsQixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSztnQkFRSSxTQUFTO3NCQUFsQixNQUFNO2dCQWlCUCxXQUFXO3NCQURWLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUI5QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJy4vY29vcmRpbmF0ZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICcuL2RpcmVjdGlvbi5lbnVtJztcbmltcG9ydCB7IERpcmVjdGlvbldyYXBwZXIgfSBmcm9tICcuL2RpcmVjdGlvbi13cmFwcGVyJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi9zaXplJztcbmltcG9ydCB7IFNpemVEZWx0YSB9IGZyb20gJy4vc2l6ZS1kZWx0YSc7XG5pbXBvcnQgeyBTaXplV3JhcHBlciB9IGZyb20gJy4vc2l6ZS13cmFwcGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLXJlc2l6ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXNpemVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZXNpemVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXplckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpXG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplLndpZHRoO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplLmhlaWdodDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnJpZ2h0LnB4JylcbiAgICBnZXQgcmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uPy5pbmNsdWRlc1dlc3QoKSA/IDAgOiBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYm90dG9tLnB4JylcbiAgICBnZXQgYm90dG9tKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGhhbGZQb2ludEhlaWdodCA9IDQ7XG4gICAgICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbj8uaW5jbHVkZXNOb3J0aCgpID8gaGFsZlBvaW50SGVpZ2h0IDogbnVsbDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplKHZhbHVlOiBTaXplKSB7XG4gICAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSBuZXcgU2l6ZVdyYXBwZXIodmFsdWUsIHsgd2lkdGg6IDEsIGhlaWdodDogMSB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9zaXplOiBTaXplV3JhcHBlcjtcblxuICAgIEBPdXRwdXQoKSByZXNpemVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFNpemU+KCk7XG5cbiAgICByZWFkb25seSBEaXJlY3Rpb24gPSBEaXJlY3Rpb247XG5cbiAgICBwcml2YXRlIHZpcnR1YWxSZWN0U2l6ZTogU2l6ZVdyYXBwZXI7XG5cbiAgICBwcml2YXRlIHByZXZDb29yZGluYXRlOiBDb29yZGluYXRlO1xuXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb246IERpcmVjdGlvbldyYXBwZXI7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zaXplKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luaXRpYWwgc2l6ZSBpcyBub3Qgc2V0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICAgIG9uTW91c2Vtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24gfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWx0YSA9IHRoaXMuZ2V0RGVsdGEoZXZlbnQpO1xuICAgICAgICB0aGlzLnNldFByZXZpb3VzQ29vcmRpbmF0ZShldmVudCk7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdGlvbi5pc09yZGluYWwoKSkge1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsUmVjdFNpemUuYXBwbHlEZWx0YShkZWx0YSk7XG4gICAgICAgICAgICB0aGlzLl9zaXplLmZpdFByb3BvcnRpb25hbGx5VG8odGhpcy52aXJ0dWFsUmVjdFNpemUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaXJlY3Rpb24uaXNIb3Jpem9udGFsKCkgPyB0aGlzLnZpcnR1YWxSZWN0U2l6ZS5hcHBseURlbHRhWChkZWx0YSkgOiB0aGlzLnZpcnR1YWxSZWN0U2l6ZS5hcHBseURlbHRhWShkZWx0YSk7XG4gICAgICAgIHRoaXMuX3NpemUuZml0VG8odGhpcy52aXJ0dWFsUmVjdFNpemUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXVwJylcbiAgICBvbk1vdXNldXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24gfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplRW5kLmVtaXQodGhpcy5fc2l6ZS50b1NpemUoKSk7XG4gICAgfVxuXG4gICAgb25TdGFydFJlc2l6aW5nKGV2ZW50OiBNb3VzZUV2ZW50LCBkaXJlY3Rpb246IERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZpcnR1YWxSZWN0U2l6ZSA9IG5ldyBTaXplV3JhcHBlcih0aGlzLl9zaXplLnRvU2l6ZSgpKTtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBuZXcgRGlyZWN0aW9uV3JhcHBlcihkaXJlY3Rpb24pO1xuICAgICAgICB0aGlzLnNldFByZXZpb3VzQ29vcmRpbmF0ZShldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWx0YShldmVudDogTW91c2VFdmVudCk6IFNpemVEZWx0YSB7XG4gICAgICAgIGNvbnN0IHJhd0RlbHRhWCA9IGV2ZW50LnNjcmVlblggLSB0aGlzLnByZXZDb29yZGluYXRlLng7XG4gICAgICAgIGNvbnN0IGRlbHRhWCA9IHRoaXMuZGlyZWN0aW9uLmluY2x1ZGVzV2VzdCgpID8gLXJhd0RlbHRhWCA6IHJhd0RlbHRhWDtcblxuICAgICAgICBjb25zdCByYXdEZWx0YVkgPSBldmVudC5zY3JlZW5ZIC0gdGhpcy5wcmV2Q29vcmRpbmF0ZS55O1xuICAgICAgICBjb25zdCBkZWx0YVkgPSB0aGlzLmRpcmVjdGlvbi5pbmNsdWRlc05vcnRoKCkgPyAtcmF3RGVsdGFZIDogcmF3RGVsdGFZO1xuXG4gICAgICAgIHJldHVybiB7IGRlbHRhWCwgZGVsdGFZIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcmV2aW91c0Nvb3JkaW5hdGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmV2Q29vcmRpbmF0ZSA9IHsgeDogZXZlbnQuc2NyZWVuWCwgeTogZXZlbnQuc2NyZWVuWSB9O1xuICAgIH1cbn1cbiIsIjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCBub3J0aC13ZXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Ob3J0aFdlc3QpXCI+PC9zcGFuPlxuPHNwYW5cbiAgICBjbGFzcz1cInBvaW50IG5vcnRoXCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Ob3J0aClcIj48L3NwYW4+XG48c3BhblxuICAgIGNsYXNzPVwicG9pbnQgbm9ydGgtZWFzdFwiXG4gICAgKG1vdXNlZG93bik9XCJvblN0YXJ0UmVzaXppbmcoJGV2ZW50LCBEaXJlY3Rpb24uTm9ydGhFYXN0KVwiPjwvc3Bhbj5cbjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCBlYXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5FYXN0KVwiPjwvc3Bhbj5cbjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCBzb3V0aC1lYXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Tb3V0aEVhc3QpXCI+PC9zcGFuPlxuPHNwYW5cbiAgICBjbGFzcz1cInBvaW50IHNvdXRoXCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5Tb3V0aClcIj48L3NwYW4+XG48c3BhblxuICAgIGNsYXNzPVwicG9pbnQgc291dGgtd2VzdFwiXG4gICAgKG1vdXNlZG93bik9XCJvblN0YXJ0UmVzaXppbmcoJGV2ZW50LCBEaXJlY3Rpb24uU291dGhXZXN0KVwiPjwvc3Bhbj5cbjxzcGFuXG4gICAgY2xhc3M9XCJwb2ludCB3ZXN0XCJcbiAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRSZXNpemluZygkZXZlbnQsIERpcmVjdGlvbi5XZXN0KVwiPjwvc3Bhbj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1kZWx0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL3Jlc2l6ZXIvc2l6ZS1kZWx0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTaXplRGVsdGEge1xuICAgIHJlYWRvbmx5IGRlbHRhWDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGRlbHRhWTogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,52 @@
1
+ export class SizeWrapper {
2
+ get width() {
3
+ return this._width;
4
+ }
5
+ get height() {
6
+ return this._height;
7
+ }
8
+ constructor(size, minSize) {
9
+ this.minSize = minSize;
10
+ if (minSize && (size.width < minSize.width || size.height < minSize.height)) {
11
+ throw new Error('Passed size is smaller than minimum size');
12
+ }
13
+ this._height = size.height;
14
+ this._width = size.width;
15
+ this.aspectRatio = this._width / this._height;
16
+ }
17
+ applyDelta(delta) {
18
+ this.applyDeltaX(delta);
19
+ this.applyDeltaY(delta);
20
+ }
21
+ applyDeltaX(delta) {
22
+ this._width = this.getAllowedWidth(this._width + delta.deltaX);
23
+ }
24
+ applyDeltaY(delta) {
25
+ this._height = this.getAllowedHeight(this._height + delta.deltaY);
26
+ }
27
+ fitProportionallyTo(size) {
28
+ const widthDiff = size._width - this._width;
29
+ const heightDiff = size._height - this._height;
30
+ if (widthDiff > heightDiff) {
31
+ this._width = this.getAllowedWidth(size.width);
32
+ this._height = Math.floor(this._width / this.aspectRatio);
33
+ return;
34
+ }
35
+ this._height = this.getAllowedHeight(size.height);
36
+ this._width = Math.floor(this._height * this.aspectRatio);
37
+ }
38
+ fitTo(size) {
39
+ this._width = this.getAllowedWidth(size.width);
40
+ this._height = this.getAllowedHeight(size.height);
41
+ }
42
+ toSize() {
43
+ return { width: this._width, height: this._height };
44
+ }
45
+ getAllowedWidth(value) {
46
+ return !this.minSize ? value : Math.max(value, this.minSize.width);
47
+ }
48
+ getAllowedHeight(value) {
49
+ return !this.minSize ? value : Math.max(value, this.minSize.height);
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvcmVzaXplci9zaXplLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFdBQVc7SUFJcEIsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksSUFBVSxFQUFtQixPQUFjO1FBQWQsWUFBTyxHQUFQLE9BQU8sQ0FBTztRQUNuRCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQWlCO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDL0MsSUFBSSxTQUFTLEdBQUcsVUFBVSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFpQjtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2l6ZSB9IGZyb20gJy4uL3NpemUnO1xuaW1wb3J0IHsgU2l6ZURlbHRhIH0gZnJvbSAnLi9zaXplLWRlbHRhJztcblxuZXhwb3J0IGNsYXNzIFNpemVXcmFwcGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFzcGVjdFJhdGlvOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xuICAgIGdldCB3aWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXI7XG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNpemU6IFNpemUsIHByaXZhdGUgcmVhZG9ubHkgbWluU2l6ZT86IFNpemUpIHtcbiAgICAgICAgaWYgKG1pblNpemUgJiYgKHNpemUud2lkdGggPCBtaW5TaXplLndpZHRoIHx8IHNpemUuaGVpZ2h0IDwgbWluU2l6ZS5oZWlnaHQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bhc3NlZCBzaXplIGlzIHNtYWxsZXIgdGhhbiBtaW5pbXVtIHNpemUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hlaWdodCA9IHNpemUuaGVpZ2h0O1xuICAgICAgICB0aGlzLl93aWR0aCA9IHNpemUud2lkdGg7XG4gICAgICAgIHRoaXMuYXNwZWN0UmF0aW8gPSB0aGlzLl93aWR0aCAvIHRoaXMuX2hlaWdodDtcbiAgICB9XG5cbiAgICBhcHBseURlbHRhKGRlbHRhOiBTaXplRGVsdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBseURlbHRhWChkZWx0YSk7XG4gICAgICAgIHRoaXMuYXBwbHlEZWx0YVkoZGVsdGEpO1xuICAgIH1cblxuICAgIGFwcGx5RGVsdGFYKGRlbHRhOiBTaXplRGVsdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLmdldEFsbG93ZWRXaWR0aCh0aGlzLl93aWR0aCArIGRlbHRhLmRlbHRhWCk7XG4gICAgfVxuXG4gICAgYXBwbHlEZWx0YVkoZGVsdGE6IFNpemVEZWx0YSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oZWlnaHQgPSB0aGlzLmdldEFsbG93ZWRIZWlnaHQodGhpcy5faGVpZ2h0ICsgZGVsdGEuZGVsdGFZKTtcbiAgICB9XG5cbiAgICBmaXRQcm9wb3J0aW9uYWxseVRvKHNpemU6IFNpemVXcmFwcGVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpZHRoRGlmZiA9IHNpemUuX3dpZHRoIC0gdGhpcy5fd2lkdGg7XG4gICAgICAgIGNvbnN0IGhlaWdodERpZmYgPSBzaXplLl9oZWlnaHQgLSB0aGlzLl9oZWlnaHQ7XG4gICAgICAgIGlmICh3aWR0aERpZmYgPiBoZWlnaHREaWZmKSB7XG4gICAgICAgICAgICB0aGlzLl93aWR0aCA9IHRoaXMuZ2V0QWxsb3dlZFdpZHRoKHNpemUud2lkdGgpO1xuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gTWF0aC5mbG9vcih0aGlzLl93aWR0aCAvIHRoaXMuYXNwZWN0UmF0aW8pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gdGhpcy5nZXRBbGxvd2VkSGVpZ2h0KHNpemUuaGVpZ2h0KTtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBNYXRoLmZsb29yKHRoaXMuX2hlaWdodCAqIHRoaXMuYXNwZWN0UmF0aW8pO1xuICAgIH1cblxuICAgIGZpdFRvKHNpemU6IFNpemVXcmFwcGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gdGhpcy5nZXRBbGxvd2VkV2lkdGgoc2l6ZS53aWR0aCk7XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IHRoaXMuZ2V0QWxsb3dlZEhlaWdodChzaXplLmhlaWdodCk7XG4gICAgfVxuXG4gICAgdG9TaXplKCk6IFNpemUge1xuICAgICAgICByZXR1cm4geyB3aWR0aDogdGhpcy5fd2lkdGgsIGhlaWdodDogdGhpcy5faGVpZ2h0IH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxvd2VkV2lkdGgodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhdGhpcy5taW5TaXplID8gdmFsdWUgOiBNYXRoLm1heCh2YWx1ZSwgdGhpcy5taW5TaXplLndpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbG93ZWRIZWlnaHQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhdGhpcy5taW5TaXplID8gdmFsdWUgOiBNYXRoLm1heCh2YWx1ZSwgdGhpcy5taW5TaXplLmhlaWdodCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL3NpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2l6ZSB7XG4gICAgcmVhZG9ubHkgd2lkdGg6IG51bWJlcjtcbiAgICByZWFkb25seSBoZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { ChangeDetectorRef, Directive, HostBinding, inject, Input } from '@angular/core';
2
+ import { DestroyComponent } from './destroy.component';
3
+ import * as i0 from "@angular/core";
4
+ export class BaseNoderComponent extends DestroyComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this._isFocused = false;
8
+ this.cdr = inject(ChangeDetectorRef);
9
+ }
10
+ get focused() {
11
+ return this._isFocused;
12
+ }
13
+ get insertIndex() {
14
+ return this.content.insertIndex;
15
+ }
16
+ set insertIndex(val) {
17
+ this.content.insertIndex = val;
18
+ }
19
+ get height() {
20
+ return this._height;
21
+ }
22
+ get width() {
23
+ return this._width;
24
+ }
25
+ get isFocused() {
26
+ return this._isFocused;
27
+ }
28
+ focus() {
29
+ this._isFocused = true;
30
+ this.cdr.markForCheck();
31
+ }
32
+ blur() {
33
+ this._isFocused = false;
34
+ this.cdr.markForCheck();
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNoderComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaseNoderComponent, inputs: { content: "content", sessionId: "sessionId", contentWidth: "contentWidth", generalProperties: "generalProperties" }, host: { properties: { "class.focused": "this.focused", "attr.data-session-id": "this.sessionId", "attr.data-insert-index": "this.insertIndex" } }, usesInheritance: true, ngImport: i0 }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNoderComponent, decorators: [{
40
+ type: Directive
41
+ }], propDecorators: { focused: [{
42
+ type: HostBinding,
43
+ args: ['class.focused']
44
+ }], content: [{
45
+ type: Input
46
+ }], sessionId: [{
47
+ type: Input
48
+ }, {
49
+ type: HostBinding,
50
+ args: ['attr.data-session-id']
51
+ }], insertIndex: [{
52
+ type: HostBinding,
53
+ args: ['attr.data-insert-index']
54
+ }], contentWidth: [{
55
+ type: Input
56
+ }], generalProperties: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFJdkQsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxnQkFBZ0I7SUFEakU7O1FBc0NjLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFLVixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FhdEQ7SUF0REcsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFTRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBU0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFHRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBTUQsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBdERpQixrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUzs4QkFHRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZUFBZTtnQkFNNUIsT0FBTztzQkFETixLQUFLO2dCQUtOLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSS9CLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBU3JDLFlBQVk7c0JBRFgsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDdXN0b21Db250ZW50IH0gZnJvbSAnLi4vY3VzdG9tLWNvbnRlbnQnO1xuaW1wb3J0IHsgRGVzdHJveUNvbXBvbmVudCB9IGZyb20gJy4vZGVzdHJveS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2NvbnRlbnQvZGlzcGxheS1kYXRhL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOb2RlckNvbXBvbmVudCBleHRlbmRzIERlc3Ryb3lDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXNlZCcpXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb250ZW50OiBDdXN0b21Db250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zZXNzaW9uLWlkJylcbiAgICBzZXNzaW9uSWQ6IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWluc2VydC1pbmRleCcpXG4gICAgZ2V0IGluc2VydEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQuaW5zZXJ0SW5kZXg7XG4gICAgfVxuICAgIHNldCBpbnNlcnRJbmRleCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNvbnRlbnQuaW5zZXJ0SW5kZXggPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb250ZW50V2lkdGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2VuZXJhbFByb3BlcnRpZXM6IEdlbmVyYWxQcm9wZXJ0aWVzTW9kZWw7XG5cbiAgICBwcm90ZWN0ZWQgX2hlaWdodDogbnVtYmVyO1xuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3dpZHRoOiBudW1iZXI7XG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2lzRm9jdXNlZCA9IGZhbHNlO1xuICAgIGdldCBpc0ZvY3VzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBhYnN0cmFjdCBpbml0aWFsaXplKCk6IHZvaWQ7XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Directive } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class DestroyComponent {
5
+ constructor() {
6
+ this.destroy$ = new Subject();
7
+ }
8
+ ngOnDestroy() {
9
+ this.destroy$.next(true);
10
+ this.destroy$.complete();
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DestroyComponent, ngImport: i0 }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyComponent, decorators: [{
16
+ type: Directive
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvZGVzdHJveS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQWdCLGdCQUFnQjtJQUR0QztRQUVJLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0tBTXJDO0lBSkcsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0FOaUIsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXN0cm95Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,43 @@
1
+ export class CustomComponentHelper {
2
+ static applyRemovingComponents(components, startIndex, endIndex) {
3
+ let firstRemovingIndex = null;
4
+ let deleteCount = 0;
5
+ components.forEach((x, index) => {
6
+ if (x.instance.insertIndex >= startIndex && x.instance.insertIndex <= endIndex) {
7
+ if (firstRemovingIndex === null) {
8
+ firstRemovingIndex = index;
9
+ }
10
+ deleteCount++;
11
+ x.destroy();
12
+ }
13
+ });
14
+ components.splice(firstRemovingIndex, deleteCount);
15
+ }
16
+ static applyRemovingOrReplacingToComponents(components, distance, symbolDifference, contents) {
17
+ if (!components.length) {
18
+ return;
19
+ }
20
+ const firstRemovingContentIndex = components.findIndex(x => x.instance.insertIndex >= distance.start);
21
+ if (firstRemovingContentIndex < 0) {
22
+ return;
23
+ }
24
+ let lastRemovingContentIndex = components.length - 1;
25
+ while (lastRemovingContentIndex >= 0) {
26
+ if (components[lastRemovingContentIndex].instance.insertIndex <= distance.selectionEnd) {
27
+ break;
28
+ }
29
+ components[lastRemovingContentIndex].instance.insertIndex += symbolDifference;
30
+ lastRemovingContentIndex--;
31
+ }
32
+ const deleteCount = lastRemovingContentIndex - firstRemovingContentIndex + 1;
33
+ const removedComponents = components.splice(firstRemovingContentIndex, deleteCount);
34
+ removedComponents.forEach(x => {
35
+ const index = contents.findIndex(y => y.insertIndex === x.instance.insertIndex);
36
+ if (index > -1) {
37
+ contents.splice(index, 1);
38
+ }
39
+ x.destroy();
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbXBvbmVudC5oZXBsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvY3VzdG9tLWNvbXBvbmVudC5oZXBsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBOEMsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQy9HLElBQUksa0JBQWtCLEdBQWtCLElBQUksQ0FBQztRQUM3QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLEVBQUU7Z0JBQzVFLElBQUksa0JBQWtCLEtBQUssSUFBSSxFQUFFO29CQUM3QixrQkFBa0IsR0FBRyxLQUFLLENBQUM7aUJBQzlCO2dCQUVELFdBQVcsRUFBRSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsb0NBQW9DLENBQ3ZDLFVBQThDLEVBQzlDLFFBQXVCLEVBQ3ZCLGdCQUF3QixFQUN4QixRQUF5QjtRQUV6QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxNQUFNLHlCQUF5QixHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEcsSUFBSSx5QkFBeUIsR0FBRyxDQUFDLEVBQUU7WUFDL0IsT0FBTztTQUNWO1FBRUQsSUFBSSx3QkFBd0IsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVyRCxPQUFPLHdCQUF3QixJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDcEYsTUFBTTthQUNUO1lBRUQsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQztZQUM5RSx3QkFBd0IsRUFBRSxDQUFDO1NBQzlCO1FBRUQsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLEdBQUcseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO1FBQzdFLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDWixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QjtZQUVELENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlTm9kZXJDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0L2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUNvbnRlbnQgfSBmcm9tICcuL2N1c3RvbS1jb250ZW50JztcbmltcG9ydCB7IERpc3RhbmNlTW9kZWwgfSBmcm9tICcuLi8uLi9leGVjdXRpb24vZGlzdGFuY2UubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50SGVscGVyIHtcbiAgICBzdGF0aWMgYXBwbHlSZW1vdmluZ0NvbXBvbmVudHMoY29tcG9uZW50czogQ29tcG9uZW50UmVmPEJhc2VOb2RlckNvbXBvbmVudD5bXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGxldCBmaXJzdFJlbW92aW5nSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgZGVsZXRlQ291bnQgPSAwO1xuICAgICAgICBjb21wb25lbnRzLmZvckVhY2goKHgsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoeC5pbnN0YW5jZS5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguaW5zdGFuY2UuaW5zZXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmlyc3RSZW1vdmluZ0luZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpcnN0UmVtb3ZpbmdJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRlbGV0ZUNvdW50Kys7XG4gICAgICAgICAgICAgICAgeC5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudHMuc3BsaWNlKGZpcnN0UmVtb3ZpbmdJbmRleCwgZGVsZXRlQ291bnQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBseVJlbW92aW5nT3JSZXBsYWNpbmdUb0NvbXBvbmVudHMoXG4gICAgICAgIGNvbXBvbmVudHM6IENvbXBvbmVudFJlZjxCYXNlTm9kZXJDb21wb25lbnQ+W10sXG4gICAgICAgIGRpc3RhbmNlOiBEaXN0YW5jZU1vZGVsLFxuICAgICAgICBzeW1ib2xEaWZmZXJlbmNlOiBudW1iZXIsXG4gICAgICAgIGNvbnRlbnRzOiBDdXN0b21Db250ZW50W11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb21wb25lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlyc3RSZW1vdmluZ0NvbnRlbnRJbmRleCA9IGNvbXBvbmVudHMuZmluZEluZGV4KHggPT4geC5pbnN0YW5jZS5pbnNlcnRJbmRleCA+PSBkaXN0YW5jZS5zdGFydCk7XG5cbiAgICAgICAgaWYgKGZpcnN0UmVtb3ZpbmdDb250ZW50SW5kZXggPCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGFzdFJlbW92aW5nQ29udGVudEluZGV4ID0gY29tcG9uZW50cy5sZW5ndGggLSAxO1xuXG4gICAgICAgIHdoaWxlIChsYXN0UmVtb3ZpbmdDb250ZW50SW5kZXggPj0gMCkge1xuICAgICAgICAgICAgaWYgKGNvbXBvbmVudHNbbGFzdFJlbW92aW5nQ29udGVudEluZGV4XS5pbnN0YW5jZS5pbnNlcnRJbmRleCA8PSBkaXN0YW5jZS5zZWxlY3Rpb25FbmQpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tcG9uZW50c1tsYXN0UmVtb3ZpbmdDb250ZW50SW5kZXhdLmluc3RhbmNlLmluc2VydEluZGV4ICs9IHN5bWJvbERpZmZlcmVuY2U7XG4gICAgICAgICAgICBsYXN0UmVtb3ZpbmdDb250ZW50SW5kZXgtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlbGV0ZUNvdW50ID0gbGFzdFJlbW92aW5nQ29udGVudEluZGV4IC0gZmlyc3RSZW1vdmluZ0NvbnRlbnRJbmRleCArIDE7XG4gICAgICAgIGNvbnN0IHJlbW92ZWRDb21wb25lbnRzID0gY29tcG9uZW50cy5zcGxpY2UoZmlyc3RSZW1vdmluZ0NvbnRlbnRJbmRleCwgZGVsZXRlQ291bnQpO1xuICAgICAgICByZW1vdmVkQ29tcG9uZW50cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBjb250ZW50cy5maW5kSW5kZXgoeSA9PiB5Lmluc2VydEluZGV4ID09PSB4Lmluc3RhbmNlLmluc2VydEluZGV4KTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29udGVudHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgeC5kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbXBvbmVudHMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvc2hhcmVkL2N1c3RvbS1jb21wb25lbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VOb2RlckNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRnZXMgfSBmcm9tICcuLi9lZGdlcy9lZGdlcyc7XG5pbXBvcnQgeyBOb2RlckltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJUYWJDb21wb25lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlclRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUvY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDdXN0b21Db21wb25lbnRzIHtcbiAgICBpbWFnZXM6IENvbXBvbmVudFJlZjxOb2RlckltYWdlQ29tcG9uZW50PltdO1xuICAgIHRhYmxlczogQ29tcG9uZW50UmVmPE5vZGVyVGFibGVDb21wb25lbnQ+W107XG4gICAgdGFiczogQ29tcG9uZW50UmVmPE5vZGVyVGFiQ29tcG9uZW50PltdO1xuICAgIGN1c3RvbUVsZW1lbnRzOiBDb21wb25lbnRSZWY8QmFzZU5vZGVyQ29tcG9uZW50PltdO1xuICAgIGVkZ2VzPzogRWRnZXM7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export const CUSTOM_ELEMENT_MARKER = '*';
2
+ export const TABLE_MARKER = '#';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbnRlbnQtbWFya2Vycy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL3NoYXJlZC9jdXN0b20tY29udGVudC1tYXJrZXJzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENVU1RPTV9FTEVNRU5UX01BUktFUiA9ICcqJztcbmV4cG9ydCBjb25zdCBUQUJMRV9NQVJLRVIgPSAnIyc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvY3VzdG9tLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGFiLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgQ3VzdG9tQ29udGVudCA9IEltYWdlTW9kZWwgfCBUYWJsZU1vZGVsIHwgRWxlbWVudE1vZGVsIHwgVGFiTW9kZWw7XG4iXX0=